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