source: pmb4.2/trunk/fuentes/pmb/admin/netbase/reindex.inc.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 29.6 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: reindex.inc.php,v 1.32 2015-04-03 11:16:18 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once($class_path."/notice.class.php");
10require_once("$class_path/stemming.class.php");
11require_once("$class_path/double_metaphone.class.php");
12
13// la taille d'un paquet de notices
14$lot = REINDEX_PAQUET_SIZE; // defini dans ./params.inc.php
15
16// taille de la jauge pour affichage
17$jauge_size = GAUGE_SIZE;
18$jauge_size .= "px";
19
20// initialisation de la borne de départ
21if (!isset($start)) $start=0;
22
23$v_state=urldecode($v_state);
24
25// on commence par :
26if (!isset($index_quoi)) $index_quoi='NOTICES';
27
28switch ($index_quoi) {
29        case 'NOTICES':
30       
31                if (!$count) {
32                        $notices = pmb_mysql_query("SELECT count(1) FROM notices", $dbh);
33                        $count = pmb_mysql_result($notices, 0, 0);
34                }
35               
36                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_notices"], ENT_QUOTES, $charset)."</h2>";
37               
38                $query = pmb_mysql_query("SELECT notice_id FROM notices LIMIT $start, $lot");
39                if(pmb_mysql_num_rows($query)) {
40               
41                        // définition de l'état de la jauge
42                        $state = floor($start / ($count / $jauge_size));
43                        $state .= "px";
44                        // mise à jour de l'affichage de la jauge
45                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge' width='100%'>";
46                        print "<img src='../../images/jauge.png' width='$state' height='16px'></td></tr></table>";
47                       
48                        // calcul pourcentage avancement
49                        $percent = floor(($start/$count)*100);
50                       
51                        // affichage du % d'avancement et de l'état
52                        print "<div align='center'>$percent%</div>";
53                       
54                        while(($row = pmb_mysql_fetch_object($query))) {
55                                // constitution des pseudo-indexes
56                                notice::majNotices($row->notice_id);
57                        }
58                        pmb_mysql_free_result($query);
59                        $next = $start + $lot;
60                        print "
61                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
62                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
63                                <input type='hidden' name='spec' value=\"$spec\">
64                                <input type='hidden' name='start' value=\"$next\">
65                                <input type='hidden' name='count' value=\"$count\">
66                                <input type='hidden' name='index_quoi' value=\"NOTICES\">
67                                </form>
68                                <script type=\"text/javascript\"><!--
69                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
70                                        -->
71                                </script>";
72                } else {
73                                // mise à jour de l'affichage de la jauge
74                                print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
75                                print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
76                                print "<div align='center'>100%</div>";
77                                $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_notices"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_notices"], ENT_QUOTES, $charset);
78                                print "
79                                        <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
80                                        <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
81                                        <input type='hidden' name='spec' value=\"$spec\">
82                                        <input type='hidden' name='start' value='0'>
83                                        <input type='hidden' name='count' value='0'>
84                                        <input type='hidden' name='index_quoi' value=\"AUTEURS\">
85                                        </form>
86                                        <script type=\"text/javascript\"><!--
87                                                setTimeout(\"document.forms['current_state'].submit()\",1000);
88                                                -->
89                                        </script>";     
90                }
91       
92                break ;
93       
94        case 'AUTEURS':
95                if (!$count) {
96                        $elts = pmb_mysql_query("SELECT count(1) FROM authors", $dbh);
97                        $count = pmb_mysql_result($elts, 0, 0);
98                }
99               
100                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_authors"], ENT_QUOTES, $charset)."</h2>";
101               
102                $query = pmb_mysql_query("SELECT author_id as id,concat(author_name,' ',author_rejete,' ', author_lieu, ' ',author_ville,' ',author_pays,' ',author_numero,' ',author_subdivision) as auteur from authors LIMIT $start, $lot", $dbh);
103                if (pmb_mysql_num_rows($query)) {
104               
105                        // définition de l'état de la jauge
106                        $state = floor($start / ($count / $jauge_size));
107                       
108                        // mise à jour de l'affichage de la jauge
109                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
110                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
111                       
112                        // calcul pourcentage avancement
113                        $percent = floor(($start/$count)*100);
114                       
115                        // affichage du % d'avancement et de l'état
116                        print "<div align='center'>$percent%</div>";
117                       
118                        while(($row = pmb_mysql_fetch_object($query))) {
119                                // constitution des pseudo-indexes
120                                $ind_elt = strip_empty_chars($row->auteur); 
121                                $req_update = "UPDATE authors ";
122                                $req_update .= " SET index_author=' ${ind_elt} '";
123                                $req_update .= " WHERE author_id=$row->id ";
124                                $update = pmb_mysql_query($req_update, $dbh);
125                                }
126                        pmb_mysql_free_result($query);
127                        $next = $start + $lot;
128                        print "
129                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
130                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
131                                <input type='hidden' name='spec' value=\"$spec\">
132                                <input type='hidden' name='start' value=\"$next\">
133                                <input type='hidden' name='count' value=\"$count\">
134                                <input type='hidden' name='index_quoi' value=\"AUTEURS\">
135                                </form>
136                                <script type=\"text/javascript\"><!--
137                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
138                                        -->
139                                </script>";
140                } else {
141                        // mise à jour de l'affichage de la jauge
142                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
143                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
144                        print "<div align='center'>100%</div>";
145                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_authors"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_authors"], ENT_QUOTES, $charset);
146                        print "
147                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
148                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
149                                <input type='hidden' name='spec' value=\"$spec\">
150                                <input type='hidden' name='start' value='0'>
151                                <input type='hidden' name='count' value='0'>
152                                <input type='hidden' name='index_quoi' value=\"EDITEURS\">
153                                </form>
154                                <script type=\"text/javascript\"><!--
155                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
156                                        -->
157                                </script>";     
158                }
159                break ;
160       
161        case 'EDITEURS':
162                if (!$count) {
163                        $elts = pmb_mysql_query("SELECT count(1) FROM publishers", $dbh);
164                        $count = pmb_mysql_result($elts, 0, 0);
165                }
166               
167                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_publishers"], ENT_QUOTES, $charset)."</h2>";
168               
169                $query = pmb_mysql_query("SELECT ed_id as id, ed_name as publisher, ed_ville, ed_pays from publishers LIMIT $start, $lot");
170                if (pmb_mysql_num_rows($query)) {
171               
172                        // définition de l'état de la jauge
173                        $state = floor($start / ($count / $jauge_size));
174                       
175                        // mise à jour de l'affichage de la jauge
176                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
177                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
178                       
179                        // calcul pourcentage avancement
180                        $percent = floor(($start/$count)*100);
181                       
182                        // affichage du % d'avancement et de l'état
183                        print "<div align='center'>$percent%</div>";
184                       
185                        while(($row = pmb_mysql_fetch_object($query))) {
186                                // constitution des pseudo-indexes
187                                $ind_elt = strip_empty_chars($row->publisher." ".$row->ed_ville." ".$row->ed_pays); 
188                                $req_update = "UPDATE publishers ";
189                                $req_update .= " SET index_publisher=' ${ind_elt} '";
190                                $req_update .= " WHERE ed_id=$row->id ";
191                                $update = pmb_mysql_query($req_update);
192                                }
193                        pmb_mysql_free_result($query);
194                        $next = $start + $lot;
195                        print "
196                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
197                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
198                                <input type='hidden' name='spec' value=\"$spec\">
199                                <input type='hidden' name='start' value=\"$next\">
200                                <input type='hidden' name='count' value=\"$count\">
201                                <input type='hidden' name='index_quoi' value=\"EDITEURS\">
202                                </form>
203                                <script type=\"text/javascript\"><!--
204                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
205                                        -->
206                                </script>";
207                } else {
208                        // mise à jour de l'affichage de la jauge
209                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
210                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
211                        print "<div align='center'>100%</div>";
212                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_publishers"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_publishers"], ENT_QUOTES, $charset);
213                        print "
214                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
215                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
216                                <input type='hidden' name='spec' value=\"$spec\">
217                                <input type='hidden' name='start' value='0'>
218                                <input type='hidden' name='count' value='0'>
219                                <input type='hidden' name='index_quoi' value=\"CATEGORIES\">
220                                </form>
221                                <script type=\"text/javascript\"><!--
222                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
223                                        -->
224                                </script>";     
225                }
226                break ;
227       
228        case 'CATEGORIES':
229                if (!$count) {
230                        $elts = pmb_mysql_query("SELECT count(1) FROM categories", $dbh);
231                        $count = pmb_mysql_result($elts, 0, 0);
232                }
233               
234                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_categories"], ENT_QUOTES, $charset)."</h2>";
235               
236                $req = "select num_noeud, langue, libelle_categorie from categories limit $start, $lot ";
237                $query = pmb_mysql_query($req, $dbh);
238                 
239                if (pmb_mysql_num_rows($query)) {
240               
241                        // définition de l'état de la jauge
242                        $state = floor($start / ($count / $jauge_size));
243                       
244                        // mise à jour de l'affichage de la jauge
245                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
246                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
247                       
248                        // calcul pourcentage avancement
249                        $percent = floor(($start/$count)*100);
250                       
251                        // affichage du % d'avancement et de l'état
252                        print "<div align='center'>$percent%</div>";
253                       
254                        while($row = pmb_mysql_fetch_object($query)) {
255                                // constitution des pseudo-indexes
256                                $ind_elt = strip_empty_words($row->libelle_categorie, $row->langue); 
257                               
258                                $req_update = "UPDATE categories ";
259                                $req_update.= "SET index_categorie=' ${ind_elt} '";
260                                $req_update.= "WHERE num_noeud='".$row->num_noeud."' and langue='".$row->langue."' ";
261                                $update = pmb_mysql_query($req_update);
262                               
263                               
264                                //ajout des mots des termes dans la table words pour l autoindexation
265                                $t_words = array();
266                                $i = 0;
267                                $t_row = explode(' ',$ind_elt);
268                                if( is_array($t_row) && count($t_row) ) {
269                                        $t_row = array_unique($t_row);
270                                        foreach($t_row as $w) {
271                                                if($w) {
272                                                        $t_words[$i]['word'] = $w;
273                                                        $t_words[$i]['lang'] = $row->langue;
274                                                        $i++;
275                                                }
276                                        }
277                                }
278                                if(count($t_words)) {
279                                        //calcul de stem et double_metaphone
280                                        foreach ($t_words as $i=>$w) {
281                                                $q1 = "select id_word from words where word='".addslashes($w['word'])."' and lang='".addslashes($w['lang'])."' limit 1";
282                                                $r1 = pmb_mysql_query($q1, $dbh);
283                                                if(pmb_mysql_num_rows($r1)) {
284                                                        //le mot existe
285                                                        $t_words[$i]['allready_exists']=1;
286                                                } else {
287                                                        //le mot n'existe pas
288                                                        $dmeta = new DoubleMetaPhone($w['word']);
289                                                        if($dmeta->primary || $dmeta->secondary){
290                                                                $t_words[$i]['double_metaphone'] = $dmeta->primary." ".$dmeta->secondary;
291                                                        }
292                                                        if($w['lang']=='fr_FR') {
293                                                                $stemming = new stemming($w['word']);
294                                                                $t_words[$i]['stem']=$stemming->stem;
295                                                        } else {
296                                                                $t_words[$i]['stem']='';
297                                                        }
298                                                }
299                                        }
300                                        foreach($t_words as $i=>$w) {
301                                                if (!$w['allready_exists']) {
302                                                        $q2 = "insert ignore into words (word, lang, double_metaphone, stem) values ('".$w['word']."', '".$w['lang']."', '".$w['double_metaphone']."', '".$w['stem']."') ";
303                                                        pmb_mysql_query($q2,$dbh);
304                                                }
305                                        }
306                                }
307                               
308                               
309                        }
310                        pmb_mysql_free_result($query);
311                        $next = $start + $lot;
312                        print "
313                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
314                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
315                                <input type='hidden' name='spec' value=\"$spec\">
316                                <input type='hidden' name='start' value=\"$next\">
317                                <input type='hidden' name='count' value=\"$count\">
318                                <input type='hidden' name='index_quoi' value=\"CATEGORIES\">
319                                </form>
320                                <script type=\"text/javascript\"><!--
321                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
322                                        -->
323                                </script>";
324                } else {
325                        // mise à jour de l'affichage de la jauge
326                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
327                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
328                        print "<div align='center'>100%</div>";
329                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_categories"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_categories"], ENT_QUOTES, $charset);
330                        print "
331                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
332                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
333                                <input type='hidden' name='spec' value=\"$spec\">
334                                <input type='hidden' name='start' value='0'>
335                                <input type='hidden' name='count' value='0'>
336                                <input type='hidden' name='index_quoi' value=\"COLLECTIONS\">
337                                </form>
338                                <script type=\"text/javascript\"><!--
339                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
340                                        -->
341                                </script>";     
342                }
343                break ;
344       
345        case 'COLLECTIONS':
346                if (!$count) {
347                        $elts = pmb_mysql_query("SELECT count(1) FROM collections", $dbh);
348                        $count = pmb_mysql_result($elts, 0, 0);
349                }
350               
351                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_collections"], ENT_QUOTES, $charset)."</h2>";
352               
353                $query = pmb_mysql_query("SELECT collection_id as id, collection_name as collection, collection_issn from collections LIMIT $start, $lot");
354                if (pmb_mysql_num_rows($query)) {
355               
356                        // définition de l'état de la jauge
357                        $state = floor($start / ($count / $jauge_size));
358                       
359                        // mise à jour de l'affichage de la jauge
360                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
361                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
362                       
363                        // calcul pourcentage avancement
364                        $percent = floor(($start/$count)*100);
365                       
366                        // affichage du % d'avancement et de l'état
367                        print "<div align='center'>$percent%</div>";
368                       
369                        while(($row = pmb_mysql_fetch_object($query))) {
370                                // constitution des pseudo-indexes
371                                $ind_elt = strip_empty_words($row->collection); 
372                                if($tmp = $row->collection_issn){
373                                        $ind_elt .= " ".strip_empty_words($tmp); 
374                                }
375                               
376                                $req_update = "UPDATE collections ";
377                                $req_update .= " SET index_coll=' ${ind_elt} '";
378                                $req_update .= " WHERE collection_id=$row->id ";
379                                $update = pmb_mysql_query($req_update);
380                        }
381                        pmb_mysql_free_result($query);
382                        $next = $start + $lot;
383                        print "
384                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
385                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
386                                <input type='hidden' name='spec' value=\"$spec\">
387                                <input type='hidden' name='start' value=\"$next\">
388                                <input type='hidden' name='count' value=\"$count\">
389                                <input type='hidden' name='index_quoi' value=\"COLLECTIONS\">
390                                </form>
391                                <script type=\"text/javascript\"><!--
392                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
393                                        -->
394                                </script>";
395                } else {
396                        // mise à jour de l'affichage de la jauge
397                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
398                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
399                        print "<div align='center'>100%</div>";
400                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_collections"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_collections"], ENT_QUOTES, $charset);
401                        print "
402                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
403                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
404                                <input type='hidden' name='spec' value=\"$spec\">
405                                <input type='hidden' name='start' value='0'>
406                                <input type='hidden' name='count' value='0'>
407                                <input type='hidden' name='index_quoi' value=\"SOUSCOLLECTIONS\">
408                                </form>
409                                <script type=\"text/javascript\"><!--
410                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
411                                        -->
412                                </script>";     
413                }
414                break ;
415       
416        case 'SOUSCOLLECTIONS':
417                if (!$count) {
418                        $elts = pmb_mysql_query("SELECT count(1) FROM sub_collections", $dbh);
419                        $count = pmb_mysql_result($elts, 0, 0);
420                }
421               
422                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_sub_collections"], ENT_QUOTES, $charset)."</h2>";
423               
424                $query = pmb_mysql_query("SELECT sub_coll_id as id, sub_coll_name as sub_collection, sub_coll_issn from sub_collections LIMIT $start, $lot");
425                if (pmb_mysql_num_rows($query)) {
426               
427                        // définition de l'état de la jauge
428                        $state = floor($start / ($count / $jauge_size));
429                       
430                        // mise à jour de l'affichage de la jauge
431                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
432                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
433                       
434                        // calcul pourcentage avancement
435                        $percent = floor(($start/$count)*100);
436                       
437                        // affichage du % d'avancement et de l'état
438                        print "<div align='center'>$percent%</div>";
439                       
440                        while(($row = pmb_mysql_fetch_object($query))) {
441                                // constitution des pseudo-indexes
442                                $ind_elt = strip_empty_words($row->sub_collection); 
443                                if($tmp = $row->sub_coll_issn){
444                                        $ind_elt .= " ".strip_empty_words($tmp); 
445                                }
446                                $req_update = "UPDATE sub_collections ";
447                                $req_update .= " SET index_sub_coll=' ${ind_elt} '";
448                                $req_update .= " WHERE sub_coll_id=$row->id ";
449                                $update = pmb_mysql_query($req_update);
450                        }
451                        pmb_mysql_free_result($query);
452                        $next = $start + $lot;
453                        print "
454                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
455                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
456                                <input type='hidden' name='spec' value=\"$spec\">
457                                <input type='hidden' name='start' value=\"$next\">
458                                <input type='hidden' name='count' value=\"$count\">
459                                <input type='hidden' name='index_quoi' value=\"SOUSCOLLECTIONS\">
460                                </form>
461                                <script type=\"text/javascript\"><!--
462                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
463                                        -->
464                                </script>";
465                } else {
466                        // mise à jour de l'affichage de la jauge
467                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
468                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
469                        print "<div align='center'>100%</div>";
470                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_sub_collections"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_sub_collections"], ENT_QUOTES, $charset);
471                        print "
472                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
473                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
474                                <input type='hidden' name='spec' value=\"$spec\">
475                                <input type='hidden' name='start' value='0'>
476                                <input type='hidden' name='count' value='0'>
477                                <input type='hidden' name='index_quoi' value=\"SERIES\">
478                                </form>
479                                <script type=\"text/javascript\"><!--
480                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
481                                        -->
482                                </script>";     
483                }
484                break ;
485       
486        case 'SERIES':
487                if (!$count) {
488                        $elts = pmb_mysql_query("SELECT count(1) FROM series", $dbh);
489                        $count = pmb_mysql_result($elts, 0, 0);
490                }
491               
492                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_series"], ENT_QUOTES, $charset)."</h2>";
493               
494                $query = pmb_mysql_query("SELECT serie_id as id, serie_name from series LIMIT $start, $lot");
495                if (pmb_mysql_num_rows($query)) {
496               
497                        // définition de l'état de la jauge
498                        $state = floor($start / ($count / $jauge_size));
499                       
500                        // mise à jour de l'affichage de la jauge
501                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
502                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
503                       
504                        // calcul pourcentage avancement
505                        $percent = floor(($start/$count)*100);
506                       
507                        // affichage du % d'avancement et de l'état
508                        print "<div align='center'>$percent%</div>";
509                       
510                        while(($row = pmb_mysql_fetch_object($query))) {
511                                // constitution des pseudo-indexes
512                                $ind_elt = strip_empty_words($row->serie_name); 
513                               
514                                $req_update = "UPDATE series ";
515                                $req_update .= " SET serie_index=' ${ind_elt} '";
516                                $req_update .= " WHERE serie_id=$row->id ";
517                                $update = pmb_mysql_query($req_update);
518                        }
519                        pmb_mysql_free_result($query);
520                        $next = $start + $lot;
521                        print "
522                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
523                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
524                                <input type='hidden' name='spec' value=\"$spec\">
525                                <input type='hidden' name='start' value=\"$next\">
526                                <input type='hidden' name='count' value=\"$count\">
527                                <input type='hidden' name='index_quoi' value=\"SERIES\">
528                                </form>
529                                <script type=\"text/javascript\"><!--
530                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
531                                        -->
532                                </script>";
533                } else {
534                        // mise à jour de l'affichage de la jauge
535                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
536                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
537                        print "<div align='center'>100%</div>";
538                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_series"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_series"], ENT_QUOTES, $charset);
539                        print "
540                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
541                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
542                                <input type='hidden' name='spec' value=\"$spec\">
543                                <input type='hidden' name='start' value='0'>
544                                <input type='hidden' name='count' value='0'>
545                                <input type='hidden' name='index_quoi' value=\"DEWEY\">
546                                </form>
547                                <script type=\"text/javascript\"><!--
548                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
549                                        -->
550                                </script>";     
551                }
552                break ;
553       
554        case 'DEWEY':
555                if (!$count) {
556                        $elts = pmb_mysql_query("SELECT count(1) FROM indexint", $dbh);
557                        $count = pmb_mysql_result($elts, 0, 0);
558                }
559               
560                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_indexint"], ENT_QUOTES, $charset)."</h2>";
561               
562                $query = pmb_mysql_query("SELECT indexint_id as id, concat(indexint_name,' ',indexint_comment) as index_indexint from indexint LIMIT $start, $lot");
563                if (pmb_mysql_num_rows($query)) {
564               
565                        // définition de l'état de la jauge
566                        $state = floor($start / ($count / $jauge_size));
567                       
568                        // mise à jour de l'affichage de la jauge
569                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
570                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
571                       
572                        // calcul pourcentage avancement
573                        $percent = floor(($start/$count)*100);
574                       
575                        // affichage du % d'avancement et de l'état
576                        print "<div align='center'>$percent%</div>";
577                       
578                        while(($row = pmb_mysql_fetch_object($query))) {
579                                // constitution des pseudo-indexes
580                                $ind_elt = strip_empty_words($row->index_indexint); 
581                               
582                                $req_update = "UPDATE indexint ";
583                                $req_update .= " SET index_indexint=' ${ind_elt} '";
584                                $req_update .= " WHERE indexint_id=$row->id ";
585                                $update = pmb_mysql_query($req_update);
586                        }
587                        pmb_mysql_free_result($query);
588                        $next = $start + $lot;
589                        print "
590                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
591                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
592                                <input type='hidden' name='spec' value=\"$spec\">
593                                <input type='hidden' name='start' value=\"$next\">
594                                <input type='hidden' name='count' value=\"$count\">
595                                <input type='hidden' name='index_quoi' value=\"DEWEY\">
596                                </form>
597                                <script type=\"text/javascript\"><!--
598                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
599                                        -->
600                                </script>";
601                } else {
602                        // mise à jour de l'affichage de la jauge
603                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
604                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
605                        print "<div align='center'>100%</div>";
606                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_indexint"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_indexint"], ENT_QUOTES, $charset);
607                        print "
608                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
609                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
610                                <input type='hidden' name='spec' value=\"$spec\">
611                                <input type='hidden' name='start' value='0'>
612                                <input type='hidden' name='count' value='0'>
613                                <input type='hidden' name='index_quoi' value=\"FRAIS_ANNEXES\">
614                                </form>
615                                <script type=\"text/javascript\"><!--
616                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
617                                        -->
618                                </script>";     
619                }
620                break ;
621       
622        case 'FRAIS_ANNEXES':
623                if (!$count) {
624                        $elts = pmb_mysql_query("SELECT count(1) FROM frais", $dbh);
625                        $count = pmb_mysql_result($elts, 0, 0);
626                }
627               
628                print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_frais_annexes"], ENT_QUOTES, $charset)."</h2>";
629               
630                $query = pmb_mysql_query("SELECT id_frais as id, libelle from frais LIMIT $start, $lot");
631                if (pmb_mysql_num_rows($query)) {
632               
633                        // définition de l'état de la jauge
634                        $state = floor($start / ($count / $jauge_size));
635                       
636                        // mise à jour de l'affichage de la jauge
637                        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge'>";
638                        print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
639                       
640                        // calcul pourcentage avancement
641                        $percent = floor(($start/$count)*100);
642                       
643                        // affichage du % d'avancement et de l'état
644                        print "<div align='center'>$percent%</div>";
645                       
646                        while(($row = pmb_mysql_fetch_object($query))) {
647                                // constitution des pseudo-indexes
648                                $ind_elt = strip_empty_words($row->libelle); 
649                               
650                                $req_update = "UPDATE frais ";
651                                $req_update .= " SET index_libelle=' ${ind_elt} '";
652                                $req_update .= " WHERE id_frais=$row->id ";
653                                $update = pmb_mysql_query($req_update);
654                        }
655                        pmb_mysql_free_result($query);
656                        $next = $start + $lot;
657                        print "
658                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
659                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
660                                <input type='hidden' name='spec' value=\"$spec\">
661                                <input type='hidden' name='start' value=\"$next\">
662                                <input type='hidden' name='count' value=\"$count\">
663                                <input type='hidden' name='index_quoi' value=\"FRAIS_ANNEXES\">
664                                </form>
665                                <script type=\"text/javascript\"><!--
666                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
667                                        -->
668                                </script>";
669                } else {
670                        // mise à jour de l'affichage de la jauge
671                        print "<table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>";
672                        print "<img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>";
673                        print "<div align='center'>100%</div>";
674                        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_frais_annexes"], ENT_QUOTES, $charset)." $count ".htmlentities($msg["nettoyage_res_reindex_frais_annexes"], ENT_QUOTES, $charset);
675                        print "
676                                <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
677                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
678                                <input type='hidden' name='spec' value=\"$spec\">
679                                <input type='hidden' name='start' value='0'>
680                                <input type='hidden' name='count' value='0'>
681                                <input type='hidden' name='index_quoi' value=\"FINI\">
682                                </form>
683                                <script type=\"text/javascript\"><!--
684                                        setTimeout(\"document.forms['current_state'].submit()\",1000);
685                                        -->
686                                </script>";     
687                }
688                break ;
689
690        case 'FINI':
691                $spec = $spec - INDEX_NOTICES;
692                $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_fini"], ENT_QUOTES, $charset);
693                print "
694                        <form class='form-$current_module' name='process_state' action='./clean.php?spec=$spec&start=0' method='post'>
695                                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
696                        </form>
697                        <script type=\"text/javascript\"><!--
698                                setTimeout(\"document.forms['process_state'].submit()\",1000);
699                                -->
700                        </script>";
701                break ;
702}
Note: See TracBrowser for help on using the repository browser.