source: pmb4.2/trunk/fuentes/pmb/admin/netbase/reindex_global.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: 4.0 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_global.inc.php,v 1.12 2015-04-03 11:16:18 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once($base_path.'/classes/notice.class.php');
10require_once($base_path.'/classes/noeuds.class.php');
11
12// la taille d'un paquet de notices
13$lot = REINDEX_PAQUET_SIZE; // defini dans ./params.inc.php
14
15// taille de la jauge pour affichage
16$jauge_size = GAUGE_SIZE;
17$jauge_size .= "px";
18
19// initialisation de la borne de départ
20if (!isset($start)) {
21        $start=0;
22        //remise a zero de la table au début
23        pmb_mysql_query("TRUNCATE notices_global_index",$dbh);
24        pmb_mysql_query("ALTER TABLE notices_global_index DISABLE KEYS",$dbh);
25       
26        pmb_mysql_query("TRUNCATE notices_mots_global_index",$dbh);
27        pmb_mysql_query("ALTER TABLE notices_mots_global_index DISABLE KEYS",$dbh);
28       
29        pmb_mysql_query("TRUNCATE notices_fields_global_index",$dbh);
30        pmb_mysql_query("ALTER TABLE notices_fields_global_index DISABLE KEYS",$dbh);
31}
32
33$v_state=urldecode($v_state);
34
35if (!$count) {
36        $notices = pmb_mysql_query("SELECT count(1) FROM notices", $dbh);
37        $count = pmb_mysql_result($notices, 0, 0);
38}
39       
40print "<br /><br /><h2 align='center'>".htmlentities($msg["nettoyage_reindex_global"], ENT_QUOTES, $charset)."</h2>";
41
42$NoIndex = 1;
43
44$query = pmb_mysql_query("select notice_id from notices order by notice_id LIMIT $start, $lot");
45if(pmb_mysql_num_rows($query)) {
46               
47        // définition de l'état de la jauge
48        $state = floor($start / ($count / $jauge_size));
49        $state .= "px";
50        // mise à jour de l'affichage de la jauge
51        print "<table border='0' align='center' width='$jauge_size' cellpadding='0'><tr><td class='jauge' width='100%'>";
52        print "<img src='../../images/jauge.png' width='$state' height='16px'></td></tr></table>";
53               
54        // calcul pourcentage avancement
55        $percent = floor(($start/$count)*100);
56       
57        // affichage du % d'avancement et de l'état
58        print "<div align='center'>$percent%</div>";
59        while($mesNotices = pmb_mysql_fetch_assoc($query)) {           
60                // permet de charger la bonne langue, mot vide...
61                $info=notice::indexation_prepare($mesNotices['notice_id']);
62                // Mise à jour de la table "notices_global_index"
63        notice::majNoticesGlobalIndex($mesNotices['notice_id']);
64        // Mise à jour de la table "notices_mots_global_index"
65        notice::majNoticesMotsGlobalIndex($mesNotices['notice_id']);         
66                // restaure l'environnement de langue
67                notice::indexation_restaure($info);                     
68                }
69pmb_mysql_free_result($query);
70
71$next = $start + $lot;
72print "
73        <form class='form-$current_module' name='current_state' action='./clean.php' method='post'>
74        <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
75        <input type='hidden' name='spec' value=\"$spec\">
76        <input type='hidden' name='start' value=\"$next\">
77        <input type='hidden' name='count' value=\"$count\">
78        </form>
79        <script type=\"text/javascript\"><!--
80        setTimeout(\"document.forms['current_state'].submit()\",1000);
81        -->
82        </script>";
83} else {
84        $spec = $spec - INDEX_GLOBAL;
85        $not = pmb_mysql_query("SELECT count(1) FROM notices_global_index", $dbh);
86        $compte = pmb_mysql_result($not, 0, 0);
87        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["nettoyage_reindex_global"], ENT_QUOTES, $charset)." :";
88        $v_state .= $compte." ".htmlentities($msg["nettoyage_res_reindex_global"], ENT_QUOTES, $charset);
89        print "
90                <form class='form-$current_module' name='process_state' action='./clean.php' method='post'>
91                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
92                <input type='hidden' name='spec' value=\"$spec\">
93                </form>
94                <script type=\"text/javascript\"><!--
95                        document.forms['process_state'].submit();
96                        -->
97                </script>";
98        pmb_mysql_query("ALTER TABLE notices_global_index ENABLE KEYS",$dbh);
99        pmb_mysql_query("ALTER TABLE notices_mots_global_index ENABLE KEYS",$dbh);
100        pmb_mysql_query("ALTER TABLE notices_fields_global_index ENABLE KEYS",$dbh);
101}
Note: See TracBrowser for help on using the repository browser.