mots_pipelines.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. /***************************************************************************\
  3. * SPIP, Systeme de publication pour l'internet *
  4. * *
  5. * Copyright (c) 2001-2014 *
  6. * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
  7. * *
  8. * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
  9. * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
  10. \***************************************************************************/
  11. if (!defined('_ECRIRE_INC_VERSION')) return;
  12. /**
  13. * Definir les meta de configuration liee aux mots
  14. *
  15. * @param array $metas
  16. * @return array
  17. */
  18. function mots_configurer_liste_metas($metas){
  19. $metas['articles_mots'] = 'non';
  20. $metas['config_precise_groupes'] = 'non';
  21. #$metas['mots_cles_forums'] = 'non';
  22. return $metas;
  23. }
  24. /**
  25. * Configuration des mots
  26. *
  27. * @param array $flux
  28. * @return array
  29. */
  30. function mots_affiche_milieu($flux){
  31. if ($flux["args"]["exec"] == "configurer_contenu") {
  32. $flux["data"] .= recuperer_fond('prive/squelettes/inclure/configurer',array('configurer'=>'configurer_mots'));
  33. }
  34. // si on est sur une page ou il faut inserer les mots cles...
  35. if ($en_cours = trouver_objet_exec($flux['args']['exec'])
  36. AND $en_cours['edition']!==true // page visu
  37. AND $type = $en_cours['type']
  38. AND $id_table_objet = $en_cours['id_table_objet']
  39. AND ($id = intval($flux['args'][$id_table_objet]))){
  40. $texte = recuperer_fond(
  41. 'prive/objets/editer/liens',
  42. array(
  43. 'table_source'=>'mots',
  44. 'objet'=>$type,
  45. 'id_objet'=>$id,
  46. )
  47. );
  48. if ($p=strpos($flux['data'],"<!--affiche_milieu-->"))
  49. $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
  50. else
  51. $flux['data'] .= $texte;
  52. }
  53. return $flux;
  54. }
  55. /**
  56. * Optimiser la base de donnee en supprimant les liens orphelins
  57. *
  58. * @param int $n
  59. * @return int
  60. */
  61. function mots_optimiser_base_disparus($flux){
  62. $n = &$flux['data'];
  63. $mydate = $flux['args']['date'];
  64. $result = sql_delete("spip_mots", "length(titre)=0 AND maj < $mydate");
  65. include_spip('action/editer_liens');
  66. // optimiser les liens morts :
  67. // entre mots vers des objets effaces
  68. // depuis des mots effaces
  69. $n+= objet_optimiser_liens(array('mot'=>'*'),'*');
  70. return $flux;
  71. }
  72. /**
  73. * Copier le type des groupes sur la table spip_mots
  74. * a chaque changement d'un groupe.
  75. *
  76. * @param array $flux
  77. * @return array
  78. */
  79. function mots_post_edition($flux){
  80. if (($flux['args']['table'] == 'spip_groupes_mots')
  81. and isset($flux['data']['titre']))
  82. {
  83. sql_updateq('spip_mots', array('type' => $flux['data']['titre']),
  84. 'id_groupe=' . $flux['args']['id_objet']);
  85. }
  86. return $flux;
  87. }
  88. ?>