source: spip-zone/_plugins_branche_stable_/_spip_1_9_0_/recherche_etendue/exec/admin_index.php @ 4969

Last change on this file since 4969 was 4969, checked in by cedric@…, 15 years ago

scorie du commit precedent, on appelait une fonction avant le bon include

File size: 6.0 KB
Line 
1<?php
2
3/*
4 * Recherche entendue
5 * plug-in d'outils pour la recherche et l'indexation
6 * Panneaux de controle admin_index et index_tous
7 * Boucle INDEX
8 * filtre google_like
9 *
10 *
11 * Auteur :
12 * cedric.morin@yterium.com
13 * pdepaepe et Nicolas Steinmetz pour google_like
14 * fil pour le panneau admin_index d'origine
15 * © 2005 - Distribue sous licence GNU/GPL
16 *
17 */
18
19if (!defined("_ECRIRE_INC_VERSION")) return;
20
21//include_spip('inc/indexation'); inclus dans le corps de la fonction pour resetter les meta si besoin
22//include_spip('inc/indexation_etendue');
23include_spip('inc/presentation');
24
25function jauge($couleur,$pixels) {
26        if ($pixels)
27          echo http_img_pack("jauge-$couleur.gif", $couleur, "height='10' width='$pixels'");
28}
29
30function exec_admin_index_dist()
31{
32        global $connect_statut, $connect_toutes_rubriques, $couleur_claire, $forcer_indexation, $forcer_reindexation, $mise_a_jour, $purger;
33
34        $INDEX_elements_objet = array();
35        if (isset($GLOBALS['meta']['INDEX_elements_objet']))
36                $INDEX_elements_objet = unserialize($GLOBALS['meta']['INDEX_elements_objet']);
37       
38        debut_page(_L('Moteur de recherche'), "administration", "cache");
39       
40        debut_gauche();
41       
42        debut_boite_info();
43        echo propre(_L('Cette page r&eacute;capitule l\'avancement de l\'indexation du site.'));
44        fin_boite_info();
45       
46        debut_raccourcis();
47        echo "<p>";
48        icone_horizontale (_L('Voir le vocabulaire indexe'),  generer_url_ecrire("index_tous"), "../"._DIR_PLUGIN_ADVANCED_SEARCH."/img_pack/stock_book-alt.gif");
49        echo "</p>";
50       
51        icone_horizontale (_L('Mettre &agrave; jour les infos d\'indexation du site'), generer_url_ecrire("admin_index", "mise_a_jour=oui"), "cache-24.gif");
52        icone_horizontale (_L('Forcer l\'indexation du site'), generer_url_ecrire("admin_index", "forcer_indexation=20"), "../"._DIR_PLUGIN_ADVANCED_SEARCH."/img_pack/stock_exec.gif");
53        icone_horizontale (_L('Relancer l\'indexation du site sans purger les donn&eacute;es.'), generer_url_ecrire("admin_index", "forcer_indexation=oui"), "../"._DIR_PLUGIN_ADVANCED_SEARCH."/img_pack/stock_exec.gif");
54        echo "<div style='width: 100%; border-top: solid 1px white;background: url(".http_wrapper('rayures-danger.png').");'>";
55        icone_horizontale (_L('Cliquez ici pour purger les tables d\'indexation.'), generer_url_ecrire("admin_index", "purger=oui"), "effacer-cache-24.gif");
56        icone_horizontale (_L('Cliquez ici pour resetter les param&egrave;tres d\'indexation.'), generer_url_ecrire("admin_index", "resetmeta=oui"), "effacer-cache-24.gif");
57        echo "</div>";
58       
59        fin_raccourcis();
60
61
62        debut_droite();
63        gros_titre(_L('Moteur de recherche'));
64       
65        if ($connect_statut != '0minirezo' OR !$connect_toutes_rubriques) {
66                echo _T('avis_non_acces_page');
67                fin_page();
68                exit;
69        }
70
71        if (_request('resetmeta')=='oui'){
72                include_spip('inc/meta');
73                effacer_meta('INDEX_elements_objet');
74                effacer_meta('INDEX_objet_associes');
75                effacer_meta('INDEX_elements_associes');
76                effacer_meta('INDEX_critere_indexation');
77                effacer_meta('INDEX_iteration_nb_maxi');
78                ecrire_metas();
79        }
80        include_spip('inc/indexation');
81        include_spip('inc/indexation_etendue');
82        Recherche_etendue_verifier_base();
83       
84       
85        if ($forcer_indexation = intval($forcer_indexation))
86                effectuer_une_indexation ($forcer_indexation);
87       
88        if ($forcer_reindexation == 'oui')
89                creer_liste_indexation();
90       
91        if ($purger == 'oui') {
92                purger_index();
93                creer_liste_indexation();
94        }
95       
96        $liste_tables = array();
97        $icone_type = array();
98        update_index_tables();
99        update_index_tables_sql_from_meta();
100        $liste_tables = liste_index_tables();
101        asort($liste_tables);
102       
103        $icone_spec=array('spip_forum'=>'forum-public-24.gif','spip_syndic'=>'site-24.gif','spip_documents'=>'doc-24.gif','spip_mots'=>'mot-cle-24.gif','spip_signatures'=>'suivi-petition-24.gif');
104       
105        foreach($liste_tables as $table){
106                $typ = preg_replace("{^spip_}","",$table);
107                if (substr($typ,-1,1)=='s')
108                  $typ = substr($typ,0,strlen($typ)-1);
109                $icone = "$typ-24.gif";
110                if (isset($icone_spec[$table]))
111                        $icone = $icone_spec[$table];
112                $icone_table[$table] = $icone;
113        }
114
115        // graphe des objets indexes
116        foreach($liste_tables as $table){
117                $table_index = 'spip_index';
118                $critere = critere_indexation($table);
119                $id_table = id_index_table($table);
120                $col_id = primary_index_table($table);
121       
122                // mise a jour des idx='' en fonction du contenu de la table d'indexation
123                if ($mise_a_jour) {
124                        $vus='';
125                        $s = spip_query("SELECT DISTINCT(id_objet) FROM $table_index WHERE id_table=$id_table");
126                        while ($t = spip_fetch_array($s))
127                                $vus.=','.$t[0];
128                        if ($vus)
129                                spip_query("UPDATE $table SET idx='oui' WHERE $col_id IN (0$vus) AND $critere AND idx=''");
130                }
131       
132                //
133                $s = spip_query("SELECT idx,COUNT(*) FROM $table WHERE $critere GROUP BY idx");
134                while ($t = spip_fetch_array($s)) {
135                        $indexes[$table][$t[0]] = $t[1];
136                        $index_total[$table] += $t[1];
137                }
138        }
139       
140        debut_cadre_relief();
141
142        echo "<table>";
143        foreach($liste_tables as $table){
144                if ($ifond==0){
145                        $ifond=1;
146                        $couleur="$couleur_claire";
147                }else{
148                        $ifond=0;
149                        $couleur="#FFFFFF";
150                }
151                echo "<tr style='background-color:$couleur;'>";
152                echo "<td style='width:100;'>";
153                echo "<span style='font:arial,helvetica,sans-serif;font-size:small;'>";
154                echo $table;
155                echo "</span><td>";
156                if (isset($INDEX_elements_objet[$table])){
157                        if ($index_total[$table]>0) {
158                                if ($index_total[$table]>0) {
159                                        jauge('rouge', $a = floor(300*$indexes[$table]['non']/$index_total[$table]));
160                                        jauge('vert', $b = ceil(300*$indexes[$table]['oui']/$index_total[$table]));
161                                        jauge('fond', 300-$a-$b);
162                                }
163                        }
164                        else{
165                                echo _L("Aucun &eacute;l&eacute;ment &agrave; indexer");
166                        }
167                }
168                else{
169                        echo _L("Indexation de la table non configur&eacute;e");
170                }
171                echo "</td><td>";
172                if ($index_total[$table]>0) {
173                        echo "<span style='font:arial,helvetica,sans-serif;font-size:small;'>";
174                        if (($n = $indexes[$table]['oui'])!='')
175                          echo $n;
176                        else
177                          echo '0';
178                        echo "/" . $index_total[$table];
179                        if (($n = $indexes[$table]['non'])!='')
180                                echo "[-" . $indexes[$table]['non'] . "]";
181                        echo "</span>";
182                }
183                echo "</td></tr>\n";
184        }
185        echo "</table>";
186       
187        fin_cadre_relief();
188       
189       
190        echo "<br/>";
191       
192        fin_page();
193}
194?>
Note: See TracBrowser for help on using the repository browser.