source: pmb4.2/trunk/fuentes/pmb/admin/netbase/hash_empr_password.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: 3.8 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: hash_empr_password.inc.php,v 1.1.2.2 2015-09-25 14:32:11 dgoron Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once($class_path."/emprunteur.class.php");
10
11// la taille d'un paquet de lecteurs
12$lot = EMPR_PAQUET_SIZE*10; // defini dans ./params.inc.php
13// taille de la jauge pour affichage
14$jauge_size = GAUGE_SIZE;
15
16// initialisation de la borne de départ
17if(!isset($start)) $start=0;
18
19$v_state=urldecode($v_state);
20
21if(!$count) {
22        $empr = pmb_mysql_query("SELECT count(1) FROM empr where empr_password_is_encrypted=0", $dbh);
23        $count = pmb_mysql_result($empr, 0, 0);
24}
25
26print "<br /><br /><h2 align='center'>".htmlentities($msg["hash_empr_password"], ENT_QUOTES, $charset)."</h2>";
27
28$query = pmb_mysql_query("SELECT id_empr, empr_password, empr_login FROM empr where empr_password_is_encrypted=0 LIMIT $lot");
29// start <= count : test supplémentaire pour s'assurer de ne pas boucler à l'infini
30// problème rencontré : login vide et 2 login identiques (en théorie impossible)
31if(pmb_mysql_num_rows($query) && ($start <= $count)) {
32
33        if (!$start) {
34                $requete = "CREATE TABLE if not exists empr_passwords (
35                        id_empr INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
36                        empr_password VARCHAR( 255 ) NOT NULL default '')";
37                pmb_mysql_query($requete, $dbh);
38                $requete = "INSERT IGNORE INTO empr_passwords SELECT id_empr, empr_password FROM empr where empr_password_is_encrypted=0";
39                pmb_mysql_query($requete, $dbh);
40        }
41       
42    // définition de l'état de la jauge
43    $state = floor($start / ($count / $jauge_size));
44
45    // mise à jour de l'affichage de la jauge
46    print "<table border='0' align='center' width='$jauge_size' cellpadding='0' border='0'><tr><td class='jauge'>";
47    print "<img src='../../images/jauge.png' width='$state' height='16'></td></tr></table>";
48
49    // calcul pourcentage avancement
50    $percent = floor(($start/$count)*100);
51
52    // affichage du % d'avancement et de l'état
53    print "<div align='center'>$percent%</div>";
54        while ($row = pmb_mysql_fetch_object($query) )  {
55                emprunteur::update_digest($row->empr_login,$row->empr_password);
56                emprunteur::hash_password($row->empr_login,$row->empr_password);
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        </form>
67        <script type=\"text/javascript\">
68        <!--
69                document.forms['current_state'].submit();
70        -->
71        </script>";
72} else {
73        $spec = $spec - HASH_EMPR_PASSWORD;
74        $v_state .= "<br /><img src=../../images/d.gif hspace=3>".htmlentities($msg["hash_empr_password_status"], ENT_QUOTES, $charset);
75        $v_state .= $count." ".htmlentities($msg["hash_empr_password_status_end"], ENT_QUOTES, $charset);
76        $opt = pmb_mysql_query('OPTIMIZE TABLE empr');
77        // mise à jour de l'affichage de la jauge
78        print "
79        <table border='0' align='center' width='$table_size' cellpadding='0'><tr><td class='jauge'>
80        <img src='../../images/jauge.png' width='$jauge_size' height='16'></td></tr></table>
81        <div align='center'>100%</div>";
82
83        print "
84        <form class='form-$current_module' name='process_state' action='./clean.php' method='post'>
85                <input type='hidden' name='v_state' value=\"".urlencode($v_state)."\">
86                <input type='hidden' name='spec' value=\"$spec\">
87        </form>
88        <script type=\"text/javascript\">
89        <!--
90                document.forms['process_state'].submit();
91        -->
92        </script>";     
93}       
Note: See TracBrowser for help on using the repository browser.