source: spip-zone/_plugins_/couteau_suisse/outils/glossaire_action_rapide.php @ 75250

Last change on this file since 75250 was 75250, checked in by patfr@…, 6 years ago

Glossaire Interne : suite des vérifications...
+ notice PHP

File size: 2.2 KB
Line 
1<?php
2
3// module inclu dans la description de l'outil en page de configuration
4
5//include_spip('inc/actions');
6//include_spip('inc/actions_compat');
7
8// verifie les entrees mortes
9function glossaire_verifie(&$c) {
10        include_spip('public/parametrer'); // pour mes_fonctions
11        $res = $res2 = array();
12        $c = count($gloss = glossaire_query_tab());
13        for($i=0; $i<$c; $i++) {
14                $gi = &$gloss[$i]; glossaire_verifie_init($gi, $res);
15                for($j=$i+1; $j<$c; $j++) {
16                        $gj = &$gloss[$j]; glossaire_verifie_init($gj, $res);
17                        $u = false;
18                        $titre = $gi['mots']?glossaire_gogogo($gj['titre2'], $gi['mots'], -1, $u):'';
19                        if(count($gi['regs']))
20                                $titre .= preg_replace_callback($gi['regs'], "glossaire_echappe_mot_callback", $gj['titre'], -1);
21                        if(strpos($titre,'@@GLOSS')!==false) { 
22                                $a = '['.$gi['titre'].'->mot'.$gi['id_mot'].']';
23                                $b = '['.$gj['titre'].'->mot'.$gj['id_mot'].']';
24                                $res2[] = "&bull; ".couteauprive_T('glossaire_erreur', array('mot1'=>$a, 'mot2'=>$b));
25                        }
26                }
27        }
28        if(count($res)) $res[] = couteauprive_T('glossaire_verifier');
29        if(count($res2)) $res2[] = couteauprive_T('glossaire_inverser');
30        return propre(join("\n_ ", array_merge($res, $res2)));
31}
32
33// function d'initialisation utilisee par la precedente
34function glossaire_verifie_init(&$g, &$res) {
35        static $gu;
36        if(!isset($g['mots'])) {
37                if(!isset($gu)) $gu = function_exists('glossaire_generer_url')?'glossaire_generer_url':'glossaire_generer_url_dist';
38                list($g['mots'], $g['regs'], $g['titre2'], $ok_regexp) = glossaire_parse(extraire_multi($g['titre']));
39                if(!$ok_regexp) $res[] = "&bull; <html>"._L('Erreur : ') . cs_lien(glossaire_generer_url_dist($g['id_mot']), htmlentities(extraire_multi($g['titre'])))."</html>";
40        }
41}
42
43function glossaire_action_rapide($actif) {
44        if(_request('test_bd')) {
45                $info = glossaire_verifie($count);
46                $info = $info
47                        ?('<div style="color:red">'.$info.'</div>')
48                        :('<div style="color:green">'._T('couteauprive:glossaire_ok', array('nb'=>$count)).'</div>');
49        } else $info = '';
50        return ajax_action_rapide_simple('test', $info, 'couteau:lancer_test', 'couteau:test_base');
51}
52
53// fonction {$outil}_{$arg}_action() appelee par action/action_rapide.php
54function glossaire_test_action() {
55        // lancer la verification des mots du glossaire
56        redirige_vers_exec(array('test_bd' => 1));
57}
58
59?>
Note: See TracBrowser for help on using the repository browser.