You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

prix_objets_pipelines.php 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. /**
  3. * Utilisations de pipelines par Prix Objets
  4. *
  5. * @plugin Prix Objets
  6. * @copyright 2012 - 2019
  7. * @author Rainer Müller
  8. * @licence GNU/GPL
  9. * @package SPIP\Prix_objets\Pipelines
  10. */
  11. if (!defined("_ECRIRE_INC_VERSION"))
  12. return;
  13. /**
  14. * Ajouter du contenu sur les pages exec/ de SPIP, après le contenu prévu au centre de la page.
  15. *
  16. * @pipeline affiche_milieu
  17. *
  18. * @param array $flux
  19. * @return array
  20. */
  21. function prix_objets_affiche_milieu($flux) {
  22. // affichage du formulaire d'activation désactivation projets
  23. include_spip('inc/config');
  24. $objets = lire_config('prix_objets/objets_prix', array());
  25. $e = trouver_objet_exec($flux['args']['exec']);
  26. $type = $e['type'];
  27. $id_table_objet = $e['id_table_objet'];
  28. $id = intval($flux['args'][$id_table_objet]);
  29. if (in_array($type, $objets)) {
  30. if ($type == 'article') {
  31. $id_article = $flux['args']['id_article'];
  32. $rubriques_produits = rubrique_prix($id_article);
  33. if (($rubriques_produits and $id_article) or (!$rubriques_produits)) {
  34. $contexte = array(
  35. 'id_objet' => $id_article,
  36. 'objet' => 'article'
  37. );
  38. $contenu = recuperer_fond('prive/objets/editer/prix', $contexte, array(
  39. 'ajax' => true
  40. ));
  41. if ($p = strpos($flux['data'], "<!--affiche_milieu-->"))
  42. $flux['data'] = substr_replace($flux['data'], $contenu, $p, 0);
  43. else
  44. $flux['data'] .= $contenu;
  45. }
  46. }
  47. elseif ($id) {
  48. $contexte = array(
  49. 'id_objet' => $id,
  50. 'objet' => $type
  51. );
  52. $contenu = recuperer_fond('prive/objets/editer/prix', $contexte, array(
  53. 'ajax' => true
  54. ));
  55. if ($p = strpos($flux['data'], "<!--affiche_milieu-->"))
  56. $flux['data'] = substr_replace($flux['data'], $contenu, $p, 0);
  57. else
  58. $flux['data'] .= $contenu;
  59. }
  60. }
  61. return $flux;
  62. }
  63. /**
  64. * Declare l'object pour le Plugin shop https://github.com/abelass/shop.
  65. *
  66. * @pipeline shop_objets
  67. *
  68. * @param array $flux
  69. * @return array
  70. */
  71. function prix_objets_shop_objets($flux) {
  72. $flux['data']['prix_objets'] = array(
  73. 'action' => 'prix_objets',
  74. 'nom_action' => _T('prix_objets:prix_objets_titre'),
  75. 'icone' => 'prix_objets-16.png',
  76. 'configurer' => array(
  77. 'titre' => _T('prix_objets:titre_prix_objets'),
  78. 'chemin' => 'prive/squelettes/contenu/configurer_prix_objets'
  79. )
  80. );
  81. return $flux;
  82. }
  83. /**
  84. * Ajouter les configurations dans celle de réservation événements.
  85. *
  86. * @pipeline reservation_evenement_objets_configuration
  87. *
  88. * @param array $flux
  89. * Données du pipeline
  90. * @return array Données du pipeline
  91. */
  92. function prix_objets_reservation_evenement_objets_configuration($flux) {
  93. $flux['data']['prix_objets'] = array(
  94. 'label' => _T('paquet-prix_objets:prix_objets_nom'),
  95. );
  96. return $flux;
  97. }
  98. /**
  99. * Ajouter des contenus dans la partie <head> des pages de l’espace privé.
  100. *
  101. * @pipeline header_prive
  102. *
  103. * @param array $flux
  104. * @return array
  105. */
  106. function prix_objets_header_prive($flux){
  107. $flux .= '<link rel="stylesheet" href="' . _DIR_PLUGIN_PRIX_OBJETS .'css/prix_objets_admin.css" type="text/css" media="all" />';
  108. return $flux;
  109. }
  110. /**
  111. * Active des modules de jquery ui
  112. *
  113. * @pipeline jqueryui_plugins
  114. *
  115. * @param array $scripts
  116. * Données du pipeline
  117. * @return array
  118. */
  119. function prix_objets_jqueryui_plugins($scripts) {
  120. $scripts[] = "jquery.ui.sortable";
  121. return $scripts;
  122. }