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.

142 lines
3.7 KiB

  1. <?php
  2. /**
  3. * Gestion de l'action compagnon
  4. *
  5. * @package SPIP\Compagnon\Pipelines
  6. **/
  7. if (!defined('_ECRIRE_INC_VERSION')) {
  8. return;
  9. }
  10. /**
  11. * Définition des messages de compagnon par défaut en fonction
  12. *
  13. * Retourne une liste de messages d'aides en fonction du pipeline
  14. * demandé
  15. *
  16. * @pipeline compagnon_messages
  17. *
  18. * @param array $flux
  19. * Données du pipeline
  20. * @return array $flux
  21. * Données du pipeline
  22. **/
  23. function compagnon_compagnon_messages($flux) {
  24. $exec = $flux['args']['exec'];
  25. $pipeline = $flux['args']['pipeline'];
  26. $vus = $flux['args']['deja_vus'];
  27. $aides = &$flux['data'];
  28. switch ($pipeline) {
  29. case 'affiche_milieu':
  30. switch ($exec) {
  31. case 'accueil':
  32. $aides[] = [
  33. 'id' => 'accueil',
  34. 'inclure' => 'compagnon/accueil',
  35. 'statuts' => ['1comite', '0minirezo', 'webmestre']
  36. ];
  37. $aides[] = [
  38. 'id' => 'accueil_configurer',
  39. 'titre' => _T('compagnon:c_accueil_configurer_site'),
  40. 'texte' => _T('compagnon:c_accueil_configurer_site_texte', ['nom' => $GLOBALS['meta']['nom_site']]),
  41. 'statuts' => ['webmestre'],
  42. 'target' => '#bando_identite .nom_site_spip .nom',
  43. ];
  44. $aides[] = [
  45. 'id' => 'accueil_publication',
  46. 'titre' => _T('compagnon:c_accueil_publication'),
  47. 'texte' => _T('compagnon:c_accueil_publication_texte'),
  48. 'statuts' => ['webmestre'],
  49. 'target' => '#bando1_menu_edition',
  50. ];
  51. break;
  52. case 'rubriques':
  53. // eviter si possible une requete sql.
  54. if (!isset($vus['rubriques']) and !sql_countsel('spip_rubriques')) {
  55. $aides[] = [
  56. 'id' => 'rubriques',
  57. 'titre' => _T('compagnon:c_rubriques_creer'),
  58. 'texte' => _T('compagnon:c_rubriques_creer_texte'),
  59. 'statuts' => ['webmestre'],
  60. 'target' => '#contenu .icone:first-of-type',
  61. ];
  62. }
  63. break;
  64. case 'rubrique':
  65. // eviter si possible une requete sql.
  66. if (!isset($vus['rubrique'])) {
  67. $statut = sql_getfetsel('statut', 'spip_rubriques', 'id_rubrique=' . $flux['args']['id_rubrique']);
  68. if ($statut != 'publie') {
  69. $aides[] = [
  70. 'id' => 'rubrique',
  71. 'titre' => _T('compagnon:c_rubrique_publier'),
  72. 'texte' => _T('compagnon:c_rubrique_publier_texte'),
  73. 'statuts' => ['webmestre'],
  74. 'target' => '#contenu .icone.article-new-24'
  75. ];
  76. }
  77. }
  78. break;
  79. case 'articles':
  80. // eviter si possible une requete sql.
  81. if (!isset($vus['articles']) and !sql_countsel('spip_rubriques')) {
  82. $aides[] = [
  83. 'id' => 'articles',
  84. 'titre' => _T('compagnon:c_articles_creer'),
  85. 'texte' => _T('compagnon:c_articles_creer_texte'),
  86. 'statuts' => ['webmestre']
  87. ];
  88. }
  89. break;
  90. case 'sites':
  91. // eviter si possible une requete sql.
  92. if (!isset($vus['sites']) and !sql_countsel('spip_rubriques')) {
  93. $aides[] = [
  94. 'id' => 'sites',
  95. 'titre' => _T('compagnon:c_sites_creer'),
  96. 'texte' => _T('compagnon:c_sites_creer_texte'),
  97. 'statuts' => ['webmestre']
  98. ];
  99. }
  100. break;
  101. case 'article':
  102. $aides[] = [
  103. 'id' => 'article_redaction',
  104. 'inclure' => 'compagnon/article_redaction',
  105. 'statuts' => ['0minirezo', 'webmestre']
  106. ];
  107. $aides[] = [
  108. 'id' => 'article_redaction_redacteur',
  109. 'inclure' => 'compagnon/article_redaction_redacteur',
  110. 'statuts' => ['1comite']
  111. ];
  112. break;
  113. }
  114. break;
  115. case 'affiche_gauche':
  116. switch ($exec) {
  117. case 'job_queue':
  118. $aides[] = [
  119. 'id' => 'job_queue',
  120. 'titre' => _T('compagnon:c_job'),
  121. 'texte' => _T('compagnon:c_job_texte'),
  122. 'statuts' => ['webmestre']
  123. ];
  124. break;
  125. }
  126. break;
  127. }
  128. return $flux;
  129. }