e2c8d1b8aebd97090e729391dad793d5d4c0e669
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2016 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
14 * Utilisations de pipelines
16 * @package SPIP\Mots\Pipelines
18 if (!defined('_ECRIRE_INC_VERSION')) {
23 * Définir les meta de configuration liées aux mots
25 * @pipeline configurer_liste_metas
27 * Couples nom de la méta => valeur par défaut
29 * Couples nom de la méta => valeur par défaut
31 function mots_configurer_liste_metas($metas) {
32 $metas['articles_mots'] = 'non';
33 $metas['config_precise_groupes'] = 'non';
35 #$metas['mots_cles_forums'] = 'non';
40 * Utilisation du pipeline affiche milieu
42 * - Ajoute le formulaire de configuration des mots sur la configuration des contenus
43 * - Ajoute le formulaire d'édition de mots sur les objets qui le peuvent
45 * @pipeline affiche_milieu
52 function mots_affiche_milieu($flux) {
53 if ($flux['args']['exec'] == 'configurer_contenu') {
54 $flux['data'] .= recuperer_fond('prive/squelettes/inclure/configurer', array('configurer' => 'configurer_mots'));
57 // si on est sur une page ou il faut inserer les mots cles...
58 if ($en_cours = trouver_objet_exec($flux['args']['exec'])
59 and $en_cours['edition'] !== true // page visu
60 and $type = $en_cours['type']
61 and $id_table_objet = $en_cours['id_table_objet']
62 and isset($flux['args'][$id_table_objet])
63 and ($id = intval($flux['args'][$id_table_objet]))
65 $texte = recuperer_fond(
66 'prive/objets/editer/liens',
68 'table_source' => 'mots',
73 if ($p = strpos($flux['data'], '<!--affiche_milieu-->')) {
74 $flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
76 $flux['data'] .= $texte;
84 * Optimise la base de données en supprimant les liens orphelins
86 * @pipeline optimiser_base_disparus
93 function mots_optimiser_base_disparus($flux) {
95 $mydate = $flux['args']['date'];
97 $result = sql_delete('spip_mots', 'length(titre)=0 AND maj < ' . sql_quote($mydate));
99 include_spip('action/editer_liens');
100 // optimiser les liens morts :
101 // entre mots vers des objets effaces
102 // depuis des mots effaces
103 $n +
= objet_optimiser_liens(array('mot' => '*'), '*');
111 * Copier le type des groupes sur la table spip_mots
112 * à chaque changement d'un groupe.
114 * @pipeline post_edition
117 * Données du pipeline
119 * Données du pipeline
121 function mots_post_edition($flux) {
122 if (isset($flux['args']['table'])
123 and ($flux['args']['table'] == 'spip_groupes_mots')
124 and isset($flux['data']['titre'])
126 sql_updateq('spip_mots', array('type' => $flux['data']['titre']), 'id_groupe=' . $flux['args']['id_objet']);