if (!$start) { $requete = "CREATE TABLE if not exists empr_passwords (\n\t\t\tid_empr INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,\n\t\t\tempr_password VARCHAR( 255 ) NOT NULL default '')"; pmb_mysql_query($requete, $dbh); $requete = "INSERT IGNORE INTO empr_passwords SELECT id_empr, empr_password FROM empr where empr_password_is_encrypted=0"; pmb_mysql_query($requete, $dbh); } // définition de l'état de la jauge $state = floor($start / ($count / $jauge_size)); // mise à jour de l'affichage de la jauge print "<table border='0' align='center' width='{$jauge_size}' cellpadding='0' border='0'><tr><td class='jauge'>"; print "<img src='../../images/jauge.png' width='{$state}' height='16'></td></tr></table>"; // calcul pourcentage avancement $percent = floor($start / $count * 100); // affichage du % d'avancement et de l'état print "<div align='center'>{$percent}%</div>"; while ($row = pmb_mysql_fetch_object($query)) { emprunteur::update_digest($row->empr_login, $row->empr_password); emprunteur::hash_password($row->empr_login, $row->empr_password); } pmb_mysql_free_result($query); $next = $start + $lot; print "\n\t<form class='form-{$current_module}' name='current_state' action='./clean.php' method='post'>\n\t\t<input type='hidden' name='v_state' value=\"" . urlencode($v_state) . "\">\n\t\t<input type='hidden' name='spec' value=\"{$spec}\">\n\t\t<input type='hidden' name='start' value=\"{$next}\">\n\t\t<input type='hidden' name='count' value=\"{$count}\">\n\t</form>\n\t<script type=\"text/javascript\">\n\t<!--\n\t\tdocument.forms['current_state'].submit();\n\t-->\n\t</script>"; } else { $spec = $spec - HASH_EMPR_PASSWORD; $v_state .= "<br /><img src=../../images/d.gif hspace=3>" . htmlentities($msg["hash_empr_password_status"], ENT_QUOTES, $charset); $v_state .= $count . " " . htmlentities($msg["hash_empr_password_status_end"], ENT_QUOTES, $charset); $opt = pmb_mysql_query('OPTIMIZE TABLE empr'); // mise à jour de l'affichage de la jauge print "\n\t<table border='0' align='center' width='{$table_size}' cellpadding='0'><tr><td class='jauge'>\n\t<img src='../../images/jauge.png' width='{$jauge_size}' height='16'></td></tr></table>\n\t<div align='center'>100%</div>"; print "\n\t<form class='form-{$current_module}' name='process_state' action='./clean.php' method='post'>\n\t\t<input type='hidden' name='v_state' value=\"" . urlencode($v_state) . "\">\n\t\t<input type='hidden' name='spec' value=\"{$spec}\">\n\t</form>\n\t<script type=\"text/javascript\">\n\t<!--\n\t\tdocument.forms['process_state'].submit();\n\t-->\n\t</script>"; }
<?php // +-------------------------------------------------+ // © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net) // +-------------------------------------------------+ // $Id: valid_change_password.inc.php,v 1.14 2015-06-02 13:24:51 dgoron Exp $ if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) { die("no access"); } require_once "{$class_path}/emprunteur.class.php"; if (!$allow_pwd) { die; } print "<h3>" . $msg["empr_modify_password"] . "</h3>\n"; // contrôle de l'ancien mot de passe ok if ($new_password == $confirm_new_password) { emprunteur::hash_password($empr_login, $new_password); // contrôle du nouveau mot de passe par double ok // donc tout baigne, on lance la màj print $msg["empr_password_changed"] . "<br /><br />"; } else { // contrôle du nouveau mot de passe par double non validé print $msg["empr_password_does_not_match"] . "<br /><br />"; }
function import_profs($separateur, $dbh, $type_import) { //La structure du fichier texte doit être la suivante : //nom, prénom (le cb est généré automatiquement) $prof = array("Numéro auto", "Nom", "Prénom"); $date_auj = date("Y-m-d", time()); $date_an_proch = date("Y-m-d", time() + 3600 * 24 * 30.42 * 12); //Upload du fichier if (!$_FILES['import_lec']['tmp_name']) { print "Cliquez sur Précédent et choisissez un fichier"; } elseif (!move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/" . basename($_FILES['import_lec']['tmp_name']))) { print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :<br />"; print_r($_FILES) . "<p>"; } $fichier = @fopen("./temp/" . basename($_FILES['import_lec']['tmp_name']), "r"); if ($fichier) { if ($type_import == 'maj_complete') { //Vide la table empr_groupe pmb_mysql_query("DELETE FROM empr_groupe", $dbh); echo $type_import; //Supprime les profs qui n'ont pas de prêts en cours $req_select_verif_pret = "SELECT id_empr FROM empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_cb NOT LIKE 'P%'"; $select_verif_pret = pmb_mysql_query($req_select_verif_pret, $dbh); while ($verif_pret = pmb_mysql_fetch_array($select_verif_pret)) { //pour tous les emprunteurs qui n'ont pas de pret en cours emprunteur::del_empr($verif_pret["id_empr"]); } } //Récupération dans la table 'empr' du 'empr_cb' maximum $req = pmb_mysql_query("SELECT MAX(empr_cb) AS cbmax FROM empr WHERE empr_categ=2 and empr_codestat=1", $dbh); $cb = pmb_mysql_result($req, 0, "cbmax"); if (!$cb) { $numeroP = "000"; } else { $numeroP = substr($cb, 1, 3); } while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $buffer = pmb_mysql_escape_string($buffer); $tab = explode($separateur, $buffer); $buf_prenom = explode("\\", $tab[1]); $prenom = $buf_prenom[0]; // Traitement du prof $select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_nom = '" . $tab[0] . "' AND empr_prenom = '" . $prenom . "'", $dbh); $nb_enreg = pmb_mysql_num_rows($select); if (!$tab[0] || $tab[0] == "") { print "<b> Professeur non pris en compte car \"Nom\" non renseigné : </b><br />"; for ($i = 1; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i - 1] . ", "; } print "<br />"; $nb_enreg = 2; } //Gestion du sexe switch ($tab[8][0]) { case M: $sexe = 1; break; case F: $sexe = 2; break; default: $sexe = 0; break; } //Génération du code-barre $numeroP = $numeroP + 1; if ($numeroP < 10) { $prof_cb = "P00" . $numeroP; } elseif ($numeroP < 100) { $prof_cb = "P0" . $numeroP; } elseif ($numeroP < 1000) { $prof_cb = "P" . $numeroP; } //Génération du login $login = cre_login($tab[0], $prenom, $dbh); //Pour l'instant login = mdp car lors de l'import des profs, aucune date de naissance n'est fournie switch ($nb_enreg) { case 0: //Ce prof n'est pas enregistré $req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, "; $req_insert .= "empr_mail, empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe, "; $req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration) "; $req_insert .= "VALUES ('{$prof_cb}','{$tab['0']}','{$prenom}', '{$tab['2']}', '{$tab['3']}', '{$tab['4']}', '{$tab['5']}', '{$tab['9']}', '{$tab['6']}', '{$tab['7']}', "; $req_insert .= "2, 1, '{$date_auj}', {$sexe}, '{$login}', replace(replace('" . $tab[7] . "','\n',''),'\r',''), '{$date_auj}', '{$date_an_proch}' )"; $insert = pmb_mysql_query($req_insert, $dbh); if (!$insert) { print "<b>Echec de la création du professeur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 1; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i - 1] . ", "; } print "<br />"; } else { emprunteur::update_digest($login, str_replace(array("\n", "\r"), "", $tab[7])); emprunteur::hash_password($login, str_replace(array("\n", "\r"), "", $tab[7])); $cpt_insert++; } $j++; break; case 1: //Ce prof est déja enregistré $req_update = "UPDATE empr SET empr_nom = '{$tab['0']}', empr_prenom = '{$tab['1']}', empr_adr1 = '{$tab['2']}', "; $req_update .= "empr_adr2 = '{$tab['3']}', empr_cp = '{$tab['4']}', empr_ville = '{$tab['5']}', empr_mail = '{$tab['9']}', "; $req_update .= "empr_tel1 = '{$tab['6']}', empr_year = '{$tab['7']}', empr_categ = '2', empr_codestat = '1', empr_modif = '{$date_auj}', empr_sexe = '{$sexe}', "; $req_update .= "empr_login = '******', empr_password= replace(replace('" . $tab[7] . "','\n',''),'\r',''), "; $req_update .= "empr_date_adhesion = '{$date_auj}', empr_date_expiration = '{$date_an_proch}' "; $req_update .= "WHERE empr_nom = '{$tb['0']}' AND empr_prenom = '{$prenom}'"; $update = pmb_mysql_query($req_update, $dbh); if (!$update) { print "<b>Echec de la modification du professeur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 1; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i - 1] . ", "; } print "<br />"; } else { emprunteur::update_digest($login, str_replace(array("\n", "\r"), "", $tab[7])); emprunteur::hash_password($login, str_replace(array("\n", "\r"), "", $tab[7])); $cpt_maj++; } $j++; break; case 2: break; default: print "<b>Echec pour le professeur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i] . ", "; } print "<br />"; break; } } //Affichage des insert et update print "<br />_____________________<br />"; if ($cpt_insert) { print $cpt_insert . " Professeurs créés. <br />"; } if ($cpt_maj) { print $cpt_maj . " Professeurs modifiés. <br />"; } fclose($fichier); } }
function import_profs($separateur, $dbh, $type_import, $mdp_auto, $num_auto, $adr_mail) { //La structure du fichier texte doit être la suivante : //[numéro],nom, prénom, adr1, adr2, code postal, commune, tel, année de naissance, sexe, e-mail,[login,mdp] $prof = array("Numéro auto", "Nom", "Prénom"); $date_auj = date("Y-m-d", time()); $date_an_proch = date("Y-m-d", time() + 3600 * 24 * 30.42 * 12); //Upload du fichier if (!$_FILES['import_lec']['tmp_name']) { print "Cliquez sur Précédent et choisissez un fichier"; } elseif (!move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/" . basename($_FILES['import_lec']['tmp_name']))) { print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :<br />"; print_r($_FILES) . "<p>"; } $fichier = @fopen("./temp/" . basename($_FILES['import_lec']['tmp_name']), "r"); if ($fichier) { if ($type_import == 'maj_complete') { //Vide la table empr_groupe //$delete_empr_groupe = pmb_mysql_query("DELETE FROM empr_groupe",$dbh); //echo $type_import; //Supprime les profs qui n'ont pas de prêts en cours $req_select_verif_pret = "SELECT id_empr, empr_cb FROM groupe, empr_groupe, empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_groupe.empr_id = empr.id_empr and empr_groupe.groupe_id = id_groupe and libelle_groupe like 'Professeurs'"; $select_verif_pret = pmb_mysql_query($req_select_verif_pret, $dbh); while ($verif_pret = pmb_mysql_fetch_array($select_verif_pret)) { //pour tous les emprunteurs qui n'ont pas de pret en cours emprunteur::del_empr($verif_pret["id_empr"]); } } //Récupération dans la table 'empr' du 'empr_cb' maximum $req = pmb_mysql_query("SELECT MAX(empr_cb) AS cbmax FROM empr WHERE empr_categ=2 and empr_codestat=1", $dbh); $cb = pmb_mysql_result($req, 0, "cbmax"); if (!$cb) { $numeroP = "0000"; } else { $numeroP = substr($cb, 1, 4); } while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $buffer = pmb_mysql_escape_string($buffer); $tab = explode($separateur, $buffer); if ($num_auto != 'num_auto') { $buf_prenom = explode("\\", $tab[1]); $prenom = $buf_prenom[0]; } else { $buf_prenom = explode("\\", $tab[2]); $prenom = $buf_prenom[1]; } // Traitement du prof $select = pmb_mysql_query("SELECT id_empr, empr_cb FROM empr WHERE empr_nom = '" . $tab[0] . "' AND empr_prenom = '" . $prenom . "'", $dbh); $nb_enreg = pmb_mysql_num_rows($select); if (!$tab[0] || $tab[0] == "") { if ($tab[1] != "") { print "<b> Professeur non pris en compte car \"Nom\" non renseigné : </b><br />"; for ($i = 1; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i - 1] . ", "; } print "<br />"; } $nb_enreg = 2; } if ($num_auto == 'num_auto') { // Si il y a un numéro en debut de fichier, // on decale les indices du tab à la baisse : $prof_cb = $tab[0]; $tab[0] = $tab[1]; $tab[1] = $tab[2]; $tab[2] = $tab[3]; $tab[3] = $tab[4]; $tab[4] = $tab[5]; $tab[5] = $tab[6]; $tab[6] = $tab[7]; $tab[7] = $tab[8]; $tab[8] = $tab[9]; if ($adr_mail == 'adr_mail') { $tab[9] = $tab[10]; $tab[10] = $tab[11]; $tab[11] = $tab[12]; } else { $tab[9] = ""; } } else { //Génération du code-barre $numeroP = $numeroP + 1; if ($numeroP < 10) { $prof_cb = "P000" . $numeroP; } elseif ($numeroP < 100) { $prof_cb = "P00" . $numeroP; } elseif ($numeroP < 1000) { $prof_cb = "P0" . $numeroP; } elseif ($numeroP < 10000) { $prof_cb = "P" . $numeroP; } } // On verifie que le mail est bien de la forme chaine@chaine : if ($adr_mail == 'adr_mail') { if (preg_match("#.*@.*#", $tab[9]) == false) { $tab[9] = ""; } } //Gestion du sexe switch ($tab[8][0]) { case M: $sexe = 1; break; case F: $sexe = 2; break; default: $sexe = 0; break; } //Génération du login if ($mdp_auto != 'mdp_auto') { $login = cre_login($tab[0], $prenom, $dbh); $mdp = $tab[7]; } else { $login = $tab[10]; $mdp = $tab[11]; } if (!$mdp || $mdp == "") { $mdp = $login; } switch ($nb_enreg) { case 0: //Ce prof n'est pas enregistré $req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, "; $req_insert .= "empr_mail, empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe, "; $req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration) "; $req_insert .= "VALUES ('{$prof_cb}','{$tab['0']}','{$tab['1']}', '{$tab['2']}', '{$tab['3']}', '{$tab['4']}', '{$tab['5']}', '{$tab['9']}', '{$tab['6']}', '{$tab['7']}', "; $req_insert .= "2, 1, '{$date_auj}', {$sexe}, '{$login}', replace(replace('" . $mdp . "','\n',''),'\r',''), '{$date_auj}', '{$date_an_proch}' )"; $insert = pmb_mysql_query($req_insert, $dbh); if (!$insert) { print "<b>Échec de la création du professeur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 1; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i - 1] . ", "; } print "<br />"; } else { emprunteur::update_digest($login, str_replace(array("\n", "\r"), "", $mdp)); emprunteur::hash_password($login, str_replace(array("\n", "\r"), "", $mdp)); $cpt_insert++; } $j++; gestion_groupe("Professeurs", $prof_cb, $dbh); break; case 1: //Ce prof est déja enregistré $empr_cbs = pmb_mysql_fetch_array($select); $prof_cb = $empr_cbs['empr_cb']; $req_update = "UPDATE empr SET empr_nom = '{$tab['0']}', empr_prenom = '{$tab['1']}', empr_adr1 = '{$tab['2']}', "; $req_update .= "empr_adr2 = '{$tab['3']}', empr_cp = '{$tab['4']}', empr_ville = '{$tab['5']}', empr_mail = '{$tab['9']}', "; $req_update .= "empr_tel1 = '{$tab['6']}', empr_year = '{$tab['7']}', empr_categ = '2', empr_codestat = '1', empr_modif = '{$date_auj}', empr_sexe = '{$sexe}', "; $req_update .= "empr_login = '******', empr_password=replace(replace('" . $mdp . "','\n',''),'\r',''), "; $req_update .= "empr_date_adhesion = '{$date_auj}', empr_date_expiration = '{$date_an_proch}' "; $req_update .= "WHERE empr_nom = '{$tb['0']}' AND empr_prenom = '{$prenom}'"; $update = pmb_mysql_query($req_update, $dbh); if (!$update) { print "<b>Échec de la modification du professeur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 1; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i - 1] . ", "; } print "<br />"; } else { emprunteur::update_digest($login, str_replace(array("\n", "\r"), "", $mdp)); emprunteur::hash_password($login, str_replace(array("\n", "\r"), "", $mdp)); $cpt_maj++; } $j++; break; case 2: break; default: print "<b>Échec pour le professeur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $prof[$i] . " : " . $tab[$i] . ", "; } print "<br />"; break; } //gestion_groupe("Professeurs", $prof_cb, $dbh); } //Affichage des insert et update print "<br />_____________________<br />"; if ($cpt_insert) { print $cpt_insert . " Professeurs créés. <br />"; } if ($cpt_maj) { print $cpt_maj . " Professeurs modifiés. <br />"; } fclose($fichier); } }
function update_empr($empr_cb = '', $empr_id = 0, $fields) { global $dbh, $lang; global $msg; global $charset; global $pmb_num_carte_auto, $deflt2docs_location, $pmb_gestion_abonnement, $pmb_gestion_financiere; object_to_array($fields); $empr_cb = $this->clean_field((string) $empr_cb); $empr_id += 0; if (!$empr_id && $empr_cb == '') { return $this->build_error("idempr et empr_cb vide."); } if ($empr_id) { $where = " id_empr = {$empr_id} "; } else { $where = " empr_cb = '" . addslashes($empr_cb) . "' "; } $sql = "SELECT id_empr, empr_cb FROM empr WHERE {$where}"; $res = pmb_mysql_query($sql); if (!$res || !pmb_mysql_num_rows($res)) { return $this->build_error("Lecteur inconnu: 'empr_cb' = {$empr_cb} ou id_empr = {$empr_id} ."); } $empr_res = pmb_mysql_fetch_object($res); $empr_id = $empr_res->id_empr; // clean des entrées $fields = $this->clean_fields($fields); /* $fields['nom']=$this->clean_field($fields['nom']); $fields['prenom']=$this->clean_field($fields['prenom']); $fields['adr1']=$this->clean_field($fields['adr1']); $fields['adr2']=$this->clean_field($fields['adr2']); $fields['cp']=$this->clean_field($fields['cp']); $fields['ville']=$this->clean_field($fields['ville']); $fields['pays']=$this->clean_field($fields['pays']); $fields['mail']=$this->clean_field($fields['mail']); $fields['tel1']=$this->clean_field($fields['tel1']); $fields['sms']=$this->clean_field($fields['sms'])+0; $fields['tel2']=$this->clean_field($fields['tel2']); $fields['prof']=$this->clean_field($fields['prof']); $fields['birth']=$this->clean_field($fields['birth']); $fields['sexe']=$this->clean_field($fields['sexe'])+0; $fields['login']=$this->clean_field($fields['login']); $fields['pwd']=$this->clean_field($fields['pwd']); $fields['msg']=$this->clean_field($fields['msg']); $fields['lang']=$this->clean_field($fields['lang']); $fields['location']=$this->clean_field($fields['location']+0); $fields['date_adhesion']=$this->clean_field($fields['date_adhesion']); $fields['date_expiration']=$this->clean_field($fields['date_expiration']); $fields['categ']=$this->clean_field($fields['categ'])+0; $fields['statut']=$this->clean_field($fields['statut']+0); $fields['lang']=$this->clean_field($fields['lang']); $fields['cstat']=$this->clean_field($fields['cstat'])+0; $fields['type_abt']=$this->clean_field($fields['type_abt']+0); $fields['ldap']=$this->clean_field($fields['ldap'])+0;*/ $fields['sexe'] += 0; $fields['location'] += 0; $fields['categ'] += 0; $fields['statut'] += 0; $fields['lang'] += 0; $fields['cstat'] += 0; $fields['type_abt'] += 0; $fields['ldap'] += 0; // vérification des champs obligatoires if (!$fields['nom']) { return $this->build_error("Le champ 'nom' n'est pas renseigne."); } if (!$fields['categ']) { return $this->build_error("Le champ 'categ' n'est pas renseigne."); } if (!$fields['statut']) { return $this->build_error("Le champ 'statut' n'est pas renseigne."); } if (!$fields['cstat']) { return $this->build_error("Le champ 'cstat' n'est pas renseigne."); } // vérification des relations $q = "select idstatut from empr_statut where idstatut='" . $fields['statut'] . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (!pmb_mysql_num_rows($r)) { return $this->build_error("Le champ 'statut' = " . $fields['statut'] . " n'est pas un Id present dans la base de donnee."); } $q = "select idcode from empr_codestat where idcode='" . $fields['cstat'] . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (!pmb_mysql_num_rows($r)) { return $this->build_error("Le champ 'cstat' = " . $fields['cstat'] . " n'est pas un Id present dans la base de donnee."); } $q = "select id_categ_empr from empr_categ where id_categ_empr='" . $fields['categ'] . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (!pmb_mysql_num_rows($r)) { return $this->build_error("Le champ 'categ' = " . $fields['categ'] . " n'est pas un Id present dans la base de donnee."); } if ($fields['location']) { $q = "select idlocation from docs_location where idlocation='" . $fields['location'] . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (!pmb_mysql_num_rows($r)) { $fields['location'] = 0; } } if (!$fields['location']) { $loca = pmb_mysql_query("select min(idlocation) as idlocation from docs_location", $dbh); $locaid = pmb_mysql_fetch_object($loca); $fields['location'] = $locaid->idlocation; } if ($fields['mail']) { if (!filter_var($fields['mail'], FILTER_VALIDATE_EMAIL)) { return $this->build_error("Le champ 'mail' = " . $fields['mail'] . " n'est pas un mail valide."); } } if (!$fields['sexe']) { $fields['sexe'] = 0; } if (!$fields['lang']) { $fields['lang'] = $lang; } $requete = "UPDATE empr SET "; $requete .= "empr_nom='" . addslashes($fields['nom']) . "', "; $requete .= "empr_prenom='" . addslashes($fields['prenom']) . "', "; $requete .= "empr_adr1='" . addslashes($fields['adr1']) . "', "; $requete .= "empr_adr2='" . addslashes($fields['adr2']) . "', "; $requete .= "empr_cp='" . addslashes($fields['cp']) . "', "; $requete .= "empr_ville='" . addslashes($fields['ville']) . "', "; $requete .= "empr_pays='" . addslashes($fields['pays']) . "', "; $requete .= "empr_mail='" . addslashes($fields['mail']) . "', "; $requete .= "empr_tel1='" . addslashes($fields['tel1']) . "', "; $requete .= "empr_sms='" . addslashes($fields['sms']) . "', "; $requete .= "empr_tel2='" . addslashes($fields['tel2']) . "', "; $requete .= "empr_prof='" . addslashes($fields['prof']) . "', "; $requete .= "empr_year='" . addslashes($fields['birth']) . "', "; $requete .= "empr_categ='" . $fields['categ'] . "', "; $requete .= "empr_statut='" . $fields['statut'] . "', "; $requete .= "empr_lang='" . addslashes($fields['lang']) . "', "; if ($fields['date_adhesion'] == "") { $requete .= "empr_date_adhesion=CURRENT_DATE(), "; } else { $requete .= "empr_date_adhesion='" . addslashes($fields['date_adhesion']) . "', "; } if ($fields['date_expiration'] == "" or $fields['date_expiration'] == $fields['date_adhesion']) { /* AJOUTER ICI LE CALCUL EN FONCTION DE LA CATEGORIE */ $rqt_empr_categ = "select duree_adhesion from empr_categ where id_categ_empr = " . $fields['categ'] . " "; $res_empr_categ = pmb_mysql_query($rqt_empr_categ, $dbh); $empr_categ = pmb_mysql_fetch_object($res_empr_categ); if ($fields['date_adhesion']) { $rqt_date = "select date_add('" . addslashes($fields['date_adhesion']) . "', INTERVAL " . $empr_categ->duree_adhesion . " DAY) as date_expiration "; } else { $rqt_date = "select date_add(CURRENT_DATE(), INTERVAL " . $empr_categ->duree_adhesion . " DAY) as date_expiration "; } $resultatdate = pmb_mysql_query($rqt_date); $resdate = pmb_mysql_fetch_object($resultatdate); $requete .= "empr_date_expiration='" . $resdate->date_expiration . "', "; } else { $requete .= "empr_date_expiration='" . $fields['date_expiration'] . "', "; } $requete .= "empr_codestat=" . $fields['cstat'] . ", "; $requete .= "empr_modif=CURRENT_DATE(), "; $requete .= "empr_sexe='" . $fields['sexe'] . "', "; $requete .= "empr_msg='" . addslashes($fields['msg']) . "', "; $requete .= "empr_login='******'login']) . "', "; $requete .= "empr_location='" . $fields['location'] . "', "; // ldap - MaxMan if ($fields['ldap']) { $requete .= "empr_ldap='1', "; $fields['pwd'] = ""; } else { $requete .= "empr_ldap='0', "; } //Gestion financière if ($pmb_gestion_abonnement == 2 && $pmb_gestion_financiere) { $requete .= "type_abt='" . $fields['type_abt'] . "', "; } else { $requete .= "type_abt=0, "; } if ($fields['pwd'] != "") { $requete .= "empr_password='******'pwd']) . "' "; } else { $requete .= "empr_password='******'birth']) . "' "; } $requete .= " WHERE id_empr=" . $empr_id . " limit 1"; $res = pmb_mysql_query($requete, $dbh); if (!$res) { return $this->build_error("Impossible de modifier le lecteur: {$requete}"); } if ($fields['pwd'] != "") { emprunteur::update_digest($fields['login'], $fields['pwd']); emprunteur::hash_password($fields['login'], $fields['pwd']); } else { emprunteur::update_digest($fields['login'], $fields['birth']); emprunteur::hash_password($fields['login'], $fields['birth']); } if (is_array($fields['pperso_list'])) { $p_perso = new parametres_perso("empr"); foreach ($fields['pperso_list'] as $pp) { $name = $pp["name"]; global ${$name}; ${$name} = $pp["value_list"]; } $p_perso->rec_fields_perso($empr_id); } if (is_array($fields['groupe_list'])) { emprunteur::rec_groupe_empr($empr_id, $fields['groupe_list']); } emprunteur::ins_lect_categ_dsi($empr_id, $fields['categ'], 0); if ($pmb_gestion_financiere && $pmb_gestion_abonnement) { emprunteur::rec_abonnement($empr_id, $type_abt, $fields['categ']); } return $this->build_ok(); }
if ($pmb_gestion_abonnement == 2 && $pmb_gestion_financiere) { $requete .= "type_abt='" . $type_abt . "', "; } else { $requete .= "type_abt=0, "; } if ($form_empr_password != "") { $requete .= "empr_password='******', "; } $requete .= "empr_msg='{$form_empr_msg}', "; $requete .= "empr_login='******' "; $requete .= " WHERE id_empr='{$id}' "; $res = pmb_mysql_query($requete, $dbh); if (!pmb_mysql_errno($dbh)) { if ($form_empr_password != "") { emprunteur::update_digest($form_empr_login, $form_empr_password); emprunteur::hash_password($form_empr_login, $form_empr_password); } $p_perso->rec_fields_perso($id); rec_groupe_empr($id, $id_grp); // DSI : sur modification de lecteur, pas de mofification de ses inscriptions aux bannettes. // ins_lect_categ_dsi($id, $form_categ, $anc_categ) ; if ($debit) { if ($debit == 2) { $rec_caution = true; } else { $rec_caution = false; } rec_abonnement($id, $type_abt, $form_categ, $rec_caution); } if ($pmb_opac_view_activate) { $opac_view = new opac_view(0, $id);
function verif_validite_compte() { global $dbh, $msg, $opac_default_lang; global $f_nom, $f_prenom, $f_email, $f_login, $f_password; global $f_msg, $f_adr1, $f_adr2, $f_cp, $f_ville, $f_pays, $f_tel1; global $base_path, $opac_websubscribe_num_carte_auto; global $opac_websubscribe_show, $lvl; $ret = array(); $rqt = "select id_empr from empr where empr_mail like '%" . $f_email . "%' "; $res = pmb_mysql_query($rqt, $dbh); if (pmb_mysql_num_rows($res) > 0) { $ret[0] = PBINSC_MAIL; $ret[1] = str_replace("!!email!!", urlencode($f_email), $msg[subs_pb_email]); return $ret; } $rqt = "select id_empr from empr where empr_login ='******' "; $res = pmb_mysql_query($rqt, $dbh); if (pmb_mysql_num_rows($res) > 0) { $ret[0] = PBINSC_LOGIN; $ret[1] = str_replace("!!f_login!!", $f_login, $msg[subs_pb_login]) . generate_form_inscription(); return $ret; } // préparation des données: // langue: if ($_COOKIE['PhpMyBibli-LANG']) { $lang = $_COOKIE['PhpMyBibli-LANG']; } if (!$lang) { if ($opac_default_lang) { $lang = $opac_default_lang; } else { $lang = "fr_FR"; } } // paramétrage : global $opac_websubscribe_empr_status, $opac_websubscribe_empr_categ, $opac_websubscribe_empr_stat, $opac_websubscribe_valid_limit; $opac_websubscribe_empr_status_array = explode(",", $opac_websubscribe_empr_status); if (!$opac_websubscribe_empr_categ) { $ret[0] = PBINSC_PARAM; $ret[1] = $msg[subs_pb_empr_categ]; return $ret; } if (!$opac_websubscribe_empr_stat) { $ret[0] = PBINSC_PARAM; $ret[1] = $msg[subs_pb_empr_codestat]; return $ret; } // codes-barres emprunteur bidon : $pe_emprcb = 'wwwtmp' . rand(0, 100000); // durée d'adhésion de la categ web $rqt = "select duree_adhesion from empr_categ where id_categ_empr='" . $opac_websubscribe_empr_categ . "' "; $res = pmb_mysql_query($rqt, $dbh); $obj = pmb_mysql_fetch_object($res); $duree_adhesion = $obj->duree_adhesion; global $pmb_lecteurs_localises, $opac_websubscribe_show_location; if ($pmb_lecteurs_localises && $opac_websubscribe_show_location) { global $empr_location_id; $websubscribe_empr_location = $empr_location_id ? $empr_location_id : 0; } else { global $opac_websubscribe_empr_location; $websubscribe_empr_location = $opac_websubscribe_empr_location; } // clé de validation : $alphanum = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; $cle_validation = substr(str_shuffle($alphanum), 0, 20); $subscription_action = get_others_informations_from_globals(); $rqt = "insert into empr set "; $rqt .= "id_empr=0, "; $rqt .= "empr_cb ='" . $pe_emprcb . "', "; $rqt .= "empr_login ='******', "; $rqt .= "empr_mail='" . $f_email . "', "; $rqt .= "empr_nom='" . $f_nom . "', "; $rqt .= "empr_prenom='" . $f_prenom . "', "; $rqt .= "empr_password='******', "; $rqt .= "empr_creation=sysdate(), "; $rqt .= "empr_modif=sysdate(), "; $rqt .= "empr_date_adhesion=sysdate(), "; $rqt .= "empr_date_expiration=date_add(sysdate(), INTERVAL {$duree_adhesion} DAY), "; $rqt .= "empr_lang='" . $lang . "', "; $rqt .= "empr_statut='" . $opac_websubscribe_empr_status_array[0] . "', "; $rqt .= "empr_location='" . $websubscribe_empr_location . "', "; $rqt .= "empr_categ='" . $opac_websubscribe_empr_categ . "', "; $rqt .= "empr_codestat='" . $opac_websubscribe_empr_stat . "', "; $rqt .= "empr_msg='" . $f_msg . "', "; $rqt .= "empr_adr1='" . $f_adr1 . "', "; $rqt .= "empr_adr2='" . $f_adr2 . "', "; $rqt .= "empr_cp='" . $f_cp . "', "; $rqt .= "empr_ville='" . $f_ville . "', "; $rqt .= "empr_pays='" . $f_pays . "', "; $rqt .= "empr_tel1='" . $f_tel1 . "', "; $rqt .= "cle_validation='" . $cle_validation . "' "; if (count($subscription_action)) { $rqt .= ",empr_subscription_action = '" . addslashes(serialize($subscription_action)) . "'"; } else { $rqt .= ",empr_subscription_action = '" . addslashes(serialize(array())) . "'"; } $res = pmb_mysql_query($rqt, $dbh) or die(pmb_mysql_error() . "<br /><br />{$rqt}"); $id_empr = pmb_mysql_insert_id(); emprunteur::update_digest($f_login, $f_password); emprunteur::hash_password($f_login, $f_password); if ($id_empr) { //redefine empr.empr_cb $pe_emprcb = 'www' . $id_empr; $opac_websubscribe_num_carte_auto_array = array(); $opac_websubscribe_num_carte_auto_array = explode(",", $opac_websubscribe_num_carte_auto); if ($opac_websubscribe_num_carte_auto_array[0] == "2") { $long_prefixe = $opac_websubscribe_num_carte_auto_array[1]; $nb_chiffres = $opac_websubscribe_num_carte_auto_array[2]; $prefix = $opac_websubscribe_num_carte_auto_array[3]; $rqt = "SELECT CAST(SUBSTRING(empr_cb," . ($long_prefixe + 1) . ") AS UNSIGNED) AS max_cb, SUBSTRING(empr_cb,1," . $long_prefixe * 1 . ") AS prefixdb FROM empr ORDER BY max_cb DESC limit 0,1"; // modif f cerovetti pour sortir dernier code barre tri par ASCII $res = pmb_mysql_query($rqt, $dbh); $cb_initial = pmb_mysql_fetch_object($res); $pe_emprcb = $cb_initial->max_cb * 1 + 1; if (!$nb_chiffres) { $nb_chiffres = strlen($pe_emprcb); } if (!$prefix) { $prefix = $cb_initial->prefixdb; } $pe_emprcb = $prefix . substr((string) str_pad($pe_emprcb, $nb_chiffres, "0", STR_PAD_LEFT), -$nb_chiffres); } elseif ($opac_websubscribe_num_carte_auto_array[0] == '3') { $num_carte_auto_filename = $base_path . '/circ/empr/' . trim($opac_websubscribe_num_carte_auto_array[1]) . '.inc.php'; $num_carte_auto_fctname = trim($opac_websubscribe_num_carte_auto_array[1]); if (file_exists($num_carte_auto_filename)) { require_once $num_carte_auto_filename; if (function_exists($num_carte_auto_fctname)) { $pe_emprcb = $num_carte_auto_fctname(); } } } $rqt = "UPDATE empr SET empr_cb='{$pe_emprcb}' WHERE id_empr='{$id_empr}'"; $res = pmb_mysql_query($rqt, $dbh) or die(pmb_mysql_error() . "<br /><br />{$rqt}"); // envoyer le mail de demande de confirmation global $opac_biblio_name, $opac_biblio_email, $opac_url_base; $obj = str_replace("!!biblio_name!!", $opac_biblio_name, $msg[subs_mail_obj]); $corps = str_replace("!!biblio_name!!", $opac_biblio_name, $msg[subs_mail_corps]); $lien_validation = "<a href='" . $opac_url_base . "subscribe.php?subsact=validation&login={$f_login}&cle_validation={$cle_validation}'>" . $opac_url_base . "subscribe.php?subsact=validation&login={$f_login}&cle_validation={$cle_validation}</a>"; $corps = str_replace("!!lien_validation!!", $lien_validation, $corps); $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $res_envoi = @mailpmb(trim(stripslashes($f_prenom . " " . $f_nom)), stripslashes($f_email), $obj, $corps, $opac_biblio_name, $opac_biblio_email, $headers); if (!$res_envoi) { $ret[0] = PBINSC_MAIL; $ret[1] = str_replace("!!f_email!!", $f_email, $msg[subs_pb_mail]); return $ret; } $ret[0] = PBINSC_OK; $ret[1] = str_replace("!!f_email!!", $f_email, $msg[subs_ok_inscrit]); $ret[1] = str_replace("!!nb_h_valid!!", $opac_websubscribe_valid_limit, $ret[1]); //alerte pour les utilisateurs $query_users = "select nom, prenom, user_email from users where user_email like('%@%') and user_alert_subscribemail=1"; $result_users = @pmb_mysql_query($query_users, $dbh); if ($result_users) { if (pmb_mysql_num_rows($result_users) > 0) { global $pmb_url_base; $obj = str_replace("!!biblio_name!!", $opac_biblio_name, $msg[subs_alert_user_mail_obj]); $obj = str_replace("!!empr_name!!", stripslashes($f_nom), $obj); $obj = str_replace("!!empr_first_name!!", stripslashes($f_prenom), $obj); $corps = str_replace("!!biblio_name!!", $opac_biblio_name, $msg[subs_alert_user_mail_corps]); $corps = str_replace("!!empr_name!!", stripslashes($f_nom), $corps); $corps = str_replace("!!empr_first_name!!", stripslashes($f_prenom), $corps); $empr_link = str_replace("!!pmb_url_base!!", $pmb_url_base, $msg[subs_alert_user_mail_empr_link]); $empr_link = str_replace("!!empr_cb!!", $pe_emprcb, $empr_link); $corps = str_replace("!!empr_link!!", $empr_link, $corps); while ($user = @pmb_mysql_fetch_object($result_users)) { @mailpmb(trim($user->prenom . " " . $user->nom), $user->user_email, $obj, $corps, $opac_biblio_name, $opac_biblio_email, $headers); } } } return $ret; } else { $ret[0] = PBINSC_BDD; $ret[1] = $msg[subs_pb_bdd]; return $ret; } }
function import($data) { //champs de data : nom, prenom, cb, adr1, adr2,cp, ville, pays, mail, tel1, sms, tel2, year, sexe, login, password, date_adhesion, date_fin_blocage, date_expiration, date_creation //date_modif, prof, total_loans,last_loan_date, lang, msg, type_abt, //Pour la localisation : location, location_libelle, location_libelle_create, locdoc_owner //Pour la categorie : categ, categ_libelle, categ_libelle_create; //Pour le codestat: codestat, codestat_libelle, codestat_libelle_create; //Pour le statut: statut, statut_libelle, statut_libelle_create; global $dbh, $lang; // check sur le type de la variable passée en paramètre if (!sizeof($data) || !is_array($data)) { // si ce n'est pas un tableau ou un tableau vide, on retourne 0 return 0; } //Check si le lecteur a au moin un nom ou un prenom if (!$data['nom']) { return 0; } //Check si le code barre n'est pas déja utilisé $this->cb = addslashes($data['cb']); $query = "SELECT id_empr FROM empr WHERE empr_cb='" . $this->cb . "' LIMIT 1 "; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't SELECT in database"); } //On prepare les paramètres $this->empr_location = 0; if (!$data['location'] and !$data['location_libelle'] and $data['location_libelle_create'] != '') { //Dans la cas ou l'on veut creer la location $data2 = array(); $data2['location_libelle'] = $data['location_libelle_create']; $data2['locdoc_codage_import'] = $data['location_libelle_create']; $data2['locdoc_owner'] = $data['locdoc_owner']; $this->empr_location = docs_location::import($data2); } elseif ($data['location_libelle'] != '') { $q = "select idlocation from docs_location where location_libelle='" . addslashes($data['location_libelle']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->empr_location = pmb_mysql_result($r, 0, 0); } } else { $q = "select idlocation from docs_location where idlocation='" . addslashes($data['location']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->empr_location = pmb_mysql_result($r, 0, 0); } } if (!$this->empr_location) { return 0; } $this->categ = 0; if (!$data['categ'] and !$data['categ_libelle'] and $data['categ_libelle_create'] != '') { //Dans la cas ou l'on veut creer la location $q = "select id_categ_empr from empr_categ where libelle='" . addslashes($data['categ_libelle_create']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->categ = pmb_mysql_result($r, 0, 0); } else { $q = "insert into empr_categ (libelle) values ('" . addslashes($data['categ_libelle_create']) . "') "; $r = pmb_mysql_query($q, $dbh); $this->categ = pmb_mysql_insert_id($dbh); } } elseif ($data['categ_libelle'] != '') { $q = "select id_categ_empr from empr_categ where libelle='" . addslashes($data['categ_libelle']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->categ = pmb_mysql_result($r, 0, 0); } } else { $q = "select id_categ_empr from empr_categ where id_categ_empr='" . addslashes($data['categ']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->categ = pmb_mysql_result($r, 0, 0); } } if (!$this->categ) { return 0; } $this->cstat = 0; if (!$data['codestat'] and !$data['codestat_libelle'] and $data['codestat_libelle_create'] != '') { //Dans la cas ou l'on veut creer la location $q = "select idcode from empr_codestat where libelle='" . addslashes($data['codestat_libelle_create']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->cstat = pmb_mysql_result($r, 0, 0); } else { $q = "insert into empr_codestat (libelle) values ('" . addslashes($data['codestat_libelle_create']) . "') "; $r = pmb_mysql_query($q, $dbh); $this->cstat = pmb_mysql_insert_id($dbh); } } elseif ($data['codestat_libelle'] != '') { $q = "select idcode from empr_codestat where libelle='" . addslashes($data['codestat_libelle']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->cstat = pmb_mysql_result($r, 0, 0); } } else { $q = "select idcode from empr_codestat where idcode='" . addslashes($data['codestat']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->cstat = pmb_mysql_result($r, 0, 0); } } if (!$this->cstat) { return 0; } $this->empr_statut = 0; if (!$data['statut'] and !$data['statut_libelle'] and $data['statut_libelle_create'] != '') { //Dans la cas ou l'on veut creer la location $q = "select idstatut from empr_statut where statut_libelle='" . addslashes($data['statut_libelle_create']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->empr_statut = pmb_mysql_result($r, 0, 0); } else { $q = "insert into empr_statut (statut_libelle) values ('" . addslashes($data['statut_libelle_create']) . "') "; $r = pmb_mysql_query($q, $dbh); $this->empr_statut = pmb_mysql_insert_id($dbh); } } elseif ($data['statut_libelle'] != '') { $q = "select idstatut from empr_statut where statut_libelle='" . addslashes($data['statut_libelle']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->empr_statut = pmb_mysql_result($r, 0, 0); } } else { $q = "select idstatut from empr_statut where idstatut='" . addslashes($data['statut']) . "' limit 1"; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $this->empr_statut = pmb_mysql_result($r, 0, 0); } } if (!$this->empr_statut) { return 0; } $this->nom = addslashes($data['nom']); $this->prenom = addslashes($data['prenom']); $this->adr1 = addslashes($data['adr1']); $this->adr2 = addslashes($data['adr2']); $this->cp = addslashes($data['cp']); $this->ville = addslashes($data['ville']); $this->pays = addslashes($data['pays']); $this->mail = addslashes($data['mail']); $this->tel1 = addslashes($data['tel1']); $this->sms = addslashes($data['sms']); $this->tel2 = addslashes($data['tel2']); if ($data['sexe'] === 0 or $data['sexe'] == 1 or $data['sexe'] == 2) { $this->sexe = $data['sexe']; } else { $this->sexe = 0; } $this->birth = addslashes($data['year']); $this->date_adhesion = addslashes($data['date_adhesion']); $this->date_blocage = addslashes($data['date_fin_blocage']); $this->date_expiration = addslashes($data['date_expiration']); if (!$data['date_creation']) { $this->cdate = today(); } else { $this->cdate = addslashes($data['date_creation']); } if (!$data['date_modif']) { $this->mdate = today(); } else { $this->mdate = addslashes($data['date_modif']); } $this->pwd = addslashes($data['password']); $this->prof = addslashes($data['prof']); $this->total_loans = addslashes($data['total_loans']); $this->last_loan_date = addslashes($data['last_loan_date']); if (!$data['lang']) { $this->empr_lang = $lang; } else { $this->empr_lang = addslashes($data['lang']); } $this->empr_msg = addslashes($data['msg']); $this->type_abt = addslashes($data['type_abt']); $this->login = addslashes($data['login']); $q = "insert into empr (empr_cb, empr_nom, empr_prenom, empr_adr1, empr_cp, empr_ville, empr_pays, "; $q .= "empr_mail, empr_tel1, empr_sms, empr_categ, empr_codestat, empr_sexe, empr_login, empr_date_adhesion, "; $q .= "empr_date_expiration, empr_lang, empr_location,empr_msg,empr_year,empr_creation,empr_adr2,empr_tel2, empr_modif,empr_password,empr_prof,type_abt,empr_statut,total_loans,last_loan_date,date_fin_blocage) "; $q .= "values ('" . $this->cb . "', '" . $this->nom . "', '" . $this->prenom . "', '" . $this->adr1 . "', '" . $this->cp . "', '" . $this->ville . "', '" . $this->pays . "', "; $q .= "'" . $this->mail . "', '" . $this->tel1 . "', '" . $this->sms . "', '" . $this->categ . "', '" . $this->cstat . "', '" . $this->sexe . "', '" . $this->login . "', '" . $this->date_adhesion . "', "; $q .= "'" . $this->date_expiration . "', '" . $this->empr_lang . "', '" . $this->empr_location . "', '" . $this->empr_msg . "', '" . $this->birth . "', '" . $this->cdate . "', '" . $this->adr2 . "', '" . $this->tel2 . "', '" . $this->mdate . "', '" . $this->pwd . "', '" . $this->prof . "','" . $this->type_abt . "','" . $this->empr_statut . "','" . $this->total_loans . "', '" . $this->last_loan_date . "', '" . $this->date_blocage . "') "; $r = pmb_mysql_query($q, $dbh); $id_empr = pmb_mysql_insert_id($dbh); emprunteur::update_digest($this->login, $this->pwd); emprunteur::hash_password($this->login, $this->pwd); return $id_empr; }
function import_eleves_ensai($separateur, $dbh, $type_import) { global $idchamp, $id_grp, $empr_location_lib, $id_categ_empr, $idemprcaddie; if (!isset($id_grp)) { $id_grp = array(); } //La structure du fichier texte doit être la suivante : //empr_nom empr_prenom empr_mail categ Groupe1 Groupe2 statut_libelle location_libelle Pays empr_date_adhesion //empr_date_expiration Numéro Identifiant OPAC $eleve_abrege = array("Numéro identifiant", "Nom", "Prénom"); $date_auj = date("Y-m-d", time()); $date_an_proch = date("Y-m-d", time() + 3600 * 24 * 30.42 * 12); $empr_codestat_local = gestion_empr_idcode_codestat(8, $dbh); $empr_codestat_etranger = gestion_empr_idcode_codestat(9, $dbh); //Upload du fichier if (!$_FILES['import_lec']['tmp_name']) { print "Cliquez sur Précédent et choisissez un fichier"; } elseif (!move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/" . basename($_FILES['import_lec']['tmp_name']))) { print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :<br />"; print_r($_FILES) . "<p>"; } $fichier = @fopen("./temp/" . basename($_FILES['import_lec']['tmp_name']), "r"); if ($fichier) { $totallignes = 0; while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $tab = explode($separateur, $buffer); $cb = trim(str_replace(" ", "", $tab[13])); if ($cb != "Numéro" && $cb != "") { // ce n'est pas la première ligne d'entête de colonne $nom = trim($tab[0]); $prenom = trim($tab[1]); $emails = trim($tab[2]); $mail_perso = $tab[3]; if (trim($mail_perso)) { //Si valorisé, alors on concatène. if (trim($emails)) { $emails .= ";" . trim($mail_perso); } else { $emails = trim($mail_perso); } } $categ = trim($tab[4]); $groupe1 = trim($tab[5]); $groupe2 = trim($tab[6]); $groupe3 = trim($tab[7]); $statut_libelle = trim($tab[8]); $location_libelle = trim($tab[9]); $pays = trim($tab[10]); $empr_date_adhesion = trim($tab[11]); $empr_date_expiration = trim($tab[12]); // cb en 13 $identifiant_opac = trim($tab[14]); $tel1 = trim($tab[15]); $tel2 = trim($tab[16]); $liste_date = explode('/', $empr_date_adhesion); if ($liste_date[2] < 100) { $liste_date[2] += 2000; } $date_adhesion = $liste_date[2] . "-" . $liste_date[1] . "-" . $liste_date[0]; $liste_date = explode('/', $empr_date_expiration); if ($liste_date[2] < 100) { $liste_date[2] += 2000; } $date_fin_adhesion = $liste_date[2] . "-" . $liste_date[1] . "-" . $liste_date[0]; if ($pays) { $empr_codestat = $empr_codestat_etranger; } else { $empr_codestat = $empr_codestat_local; } // recherche de id catégorie $id_categ_empr = gestion_empr_categ($categ, $dbh); // recherche des groupes $id_groupe1 = quel_groupe($groupe1); $id_groupe2 = quel_groupe($groupe2); $id_groupe3 = quel_groupe($groupe3); // recherche de id statut $id_statut_empr = gestion_empr_statut($statut_libelle, $dbh); if (!$id_statut_empr) { $id_statut_empr = "4"; } // Traitement de l'élève $rqt = "select * from empr where empr_cb='" . addslashes($cb) . "' "; $nb = pmb_mysql_query($rqt, $dbh); $nb_enreg = pmb_mysql_num_rows($nb); switch ($nb_enreg) { case 0: //Cet élève n'est pas enregistré if (!$identifiant_opac) { $login = cre_login($nom, $prenom, $dbh); } else { $login = $identifiant_opac; } $req_insert = "insert into empr SET empr_nom='" . addslashes($nom) . "', empr_prenom='" . addslashes($prenom) . "', empr_cb='" . addslashes($cb) . "', empr_pays='" . addslashes($pays) . "', "; $req_insert .= "empr_tel1='" . addslashes($tel1) . "', empr_tel2='" . addslashes($tel2) . "', empr_categ ={$id_categ_empr}, empr_codestat={$empr_codestat}, "; $req_insert .= "empr_login='******', empr_password='******', empr_mail='" . addslashes($emails) . "', "; $req_insert .= "empr_prof='', empr_lang='fr_FR', empr_statut='" . $id_statut_empr . "', "; //4=Inactif $req_insert .= "empr_location='17', "; //17=ENSAI $req_insert .= "empr_creation='{$date_auj}', empr_modif='{$date_auj}', empr_date_adhesion = '{$date_adhesion}', empr_date_expiration = '{$date_fin_adhesion}' "; $insert = pmb_mysql_query($req_insert, $dbh) or die("<br />" . pmb_mysql_error() . "<br />" . $req_insert); if (!$insert) { print "<b>Echec de la création de l'élève suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; print "<br />"; } else { $id_cree = pmb_mysql_insert_id(); emprunteur::update_digest($login, $login); emprunteur::hash_password($login, $login); gestion_groupe_add($id_groupe1, $id_cree, $dbh); gestion_groupe_add($id_groupe2, $id_cree, $dbh); gestion_groupe_add($id_groupe3, $id_cree, $dbh); $cpt_insert++; } $j++; break; default: print "<ul><li><font color=red><b>Echec pour l'élève suivant déjà présent: </b></font></li>\n\t\t\t\t\t\t\t\t<li><font color=red>{$nom}</font></li>\n\t\t\t\t\t\t\t\t<li><font color=red>{$prenom}</font></li>\n\t\t\t\t\t\t\t\t<li><font color=red>{$cb}</font></li>\n\t\t\t\t\t\t\t\t</ul>"; print "<br />"; break; } $totallignes++; } // fin if pas première ligne ni vide } // while //Affichage des insert et update if ($cpt_insert) { print $cpt_insert . " élèves créés. <br />"; } print "<br />_____________________<br />"; print $totallignes . " lignes ont été traitées dans ce fichier.<br />"; fclose($fichier); } }
function change_password($session_id, $old_password, $new_password) { global $dbh; global $charset; if ($this->proxy_parent->input_charset != 'utf-8' && $charset == 'utf-8') { $old_password = utf8_encode($old_password); $new_password = utf8_encode($new_password); } else { if ($this->proxy_parent->input_charset == 'utf-8' && $charset != 'utf-8') { $old_password = utf8_decode($old_password); $new_password = utf8_decode($new_password); } } if (!$session_id || !$old_password || !$new_password) { return 0; } $session_info = $this->retrieve_session_information($session_id); $empr_id = $session_info["empr_id"]; if (!$empr_id) { return 0; } $empr = new emprunteur($empr_id); //Vérifions que le mot de passe fourni est le bon if ($empr->pwd != $old_password) { return 0; } //Pas de changement? On ne fait rien if ($old_password == $new_password) { return true; } //Changement emprunteur::hash_password(addslashes($empr->login), $new_password); /* $sql = "UPDATE empr SET empr_password = '******' WHERE id_empr = ".$empr_id; pmb_mysql_query($sql, $dbh); return pmb_mysql_error($dbh) == ''; */ return true; }
function import($separateur, $dbh, $type_import) { global $categorie, $codestat, $localisation; global $pmb_lecteurs_localises; //La structure du fichier texte doit être la suivante : //Code-barres ; Nom ; Prénom ; Rue ; Complément de rue ; Code postal ; Commune ; Téléphone ; Année de date de naissance ; Classe ; Sexe ; Téléphone 2 ; Mail ; Profession ; Message $requete = "SELECT duree_adhesion FROM empr_categ WHERE id_categ_empr='" . $categorie . "'"; $resultat = pmb_mysql_query($requete, $dbh); if (pmb_mysql_num_rows($resultat)) { $duree = pmb_mysql_result($resultat, 0, 0); } else { $duree = 365; } $eleve_abrege = array("Numéro identifiant", "Nom", "Prénom"); $date_auj = date("Y-m-d", time()); $date_an_proch = date("Y-m-d", time() + 3600 * 24 * $duree); //Upload du fichier if (!$_FILES['import_lec']['tmp_name']) { print "Cliquez sur Précédent et choisissez un fichier"; } elseif (!move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/" . basename($_FILES['import_lec']['tmp_name']))) { print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :<br />"; print_r($_FILES) . "<p>"; } $fichier = @fopen("./temp/" . basename($_FILES['import_lec']['tmp_name']), "r"); if ($fichier) { while (!feof($fichier)) { //initialise la variable tableau, au cas où on ait pas toutes les colonnes dans le fichier csv $buffer = fgets($fichier, 4096); $buffer = pmb_mysql_escape_string($buffer); $tab = explode($separateur, $buffer); //Gestion du sexe switch ($tab[10][0]) { case M: $sexe = 1; break; case F: $sexe = 2; break; default: $sexe = 0; break; } if ($tab[8] != "0") { $password = $tab[8]; } else { $password = ""; } //pour éviter un saut de ligne dans les trois dernières colonnes qui sont facultatives $tab[12] = str_replace("\\r\\n", "", $tab[12]); $tab[13] = str_replace("\\r\\n", "", $tab[13]); $tab[14] = str_replace("\\r\\n", "", $tab[14]); // Traitement du lecteur $select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = '" . $tab[0] . "'", $dbh); $nb_enreg = pmb_mysql_num_rows($select); //Test si un numéro id est fourni, rejet si pas d'id avec message si au moins nom ou au moins prénom contient qqch //si pas d'id, pas de nom, pas de prénom, erreur muette : dernière ligne if ((!$tab[0] || $tab[0] == "") && !($tab[1] == "" && $tab[2] == "" && $tab[3] == "" && $tab[4] == "")) { print "<b> Lecteur non pris en compte car \"Numéro identifiant\" non renseigné : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; $nb_enreg = 2; } $login = cre_login($tab[1], $tab[2], $dbh); switch ($nb_enreg) { case 0: //Ce lecteur n'est pas enregistré $req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, "; $req_insert .= "empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe, "; $req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration, empr_tel2, empr_mail, empr_prof, empr_msg, empr_location) "; $req_insert .= "VALUES ('{$tab['0']}','{$tab['1']}','{$tab['2']}','{$tab['3']}', '{$tab['4']}', '{$tab['5']}', "; $req_insert .= "'{$tab['6']}', '{$tab['7']}', '{$tab['8']}', {$categorie}, {$codestat}, '{$date_auj}', '{$sexe}', "; $req_insert .= "'{$login}', '{$password}', '{$date_auj}', '{$date_an_proch}','{$tab['11']}','{$tab['12']}','{$tab['13']}','{$tab['14']}','{$localisation}')"; $insert = pmb_mysql_query($req_insert, $dbh); if (!$insert) { print "<b>Echec de la création du lecteur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; } else { emprunteur::update_digest($login, $password); emprunteur::hash_password($login, $password); $cpt_insert++; } gestion_groupe($tab[9], $tab[0], $dbh); $j++; break; case 1: //Ce lecteur est déjà enregistré $req_update = "UPDATE empr SET empr_nom = '{$tab['1']}', empr_prenom = '{$tab['2']}', empr_adr1 = '{$tab['3']}', "; $req_update .= "empr_adr2 = '{$tab['4']}', empr_cp = '{$tab['5']}', empr_ville = '{$tab['6']}', "; $req_update .= "empr_tel1 = '{$tab['7']}', empr_year = '{$tab['8']}', empr_categ = '" . $categorie . "', empr_codestat = '{$codestat}', empr_modif = '{$date_auj}', empr_sexe = '{$sexe}', "; // on ne modifie ni login ni mot de passe pour éviter d'écraser un mot de passe changé par le lecteur // $req_update .= "empr_login = $login, empr_password= $tab[8], "; $req_update .= "empr_date_adhesion = '{$date_auj}', empr_date_expiration = '{$date_an_proch}', empr_tel2 = '{$tab['11']}', empr_location='{$localisation}' "; $req_update .= "WHERE empr_cb = '{$tab['0']}'"; $update = pmb_mysql_query($req_update, $dbh); if (!$update) { print "<b>Echec de la modification du lecteur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; } else { if ($tab[12] != "") { $req_update_mail = "UPDATE empr SET empr_mail='{$tab['12']}' WHERE empr_cb = '{$tab['0']}'"; $update_mail = pmb_mysql_query($req_update_mail, $dbh); if (!$update_mail) { print "<b>Echec de la modification du mail du lecteur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; } $tab[12] = ""; } if ($tab[13] != "") { $req_update_prof = "UPDATE empr SET empr_prof='{$tab['13']}' WHERE empr_cb = '{$tab['0']}'"; $update_prof = pmb_mysql_query($req_update_prof, $dbh); if (!$update_prof) { print "<b>Echec de la modification de la profession lecteur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; } $tab[13] = ""; } if ($tab[14] != "") { $req_update_msg = "UPDATE empr SET empr_msg='{$tab['14']}' WHERE empr_cb = '{$tab['0']}'"; $update_msg = pmb_mysql_query($req_update_msg, $dbh); if (!$update_msg) { print "<b>Echec de la modification du message sur le lecteur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; } $tab[14] = ""; } $cpt_maj++; } gestion_groupe($tab[9], $tab[0], $dbh); $j++; break; case 2: break; default: print "<b>Echec pour le lecteur suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; break; } } if ($type_import == 'maj_complete') { $requete_empr_groupe_delete = "DELETE FROM empr_groupe LEFT JOIN empr ON empr_id=id_empr LEFT JOIN pret ON pret_idempr=id_empr WHERE pret_idempr IS NULL and empr_modif != '{$date_auj}' and empr_categ={$categorie} and empr_codestat= {$codestat}"; if ($pmb_lecteurs_localises == "1") { $requete_empr_where .= " and empr_location={$localisation}"; } pmb_mysql_query($requete_empr_groupe_delete . $requete_empr_where, $dbh); $requete_list_empr_delete = "SELECT id_empr FROM empr LEFT JOIN pret ON pret_idempr=id_empr \n \t\tWHERE pret_idempr IS NULL and empr_modif != '{$date_auj}' and empr_categ={$categorie} and empr_codestat= {$codestat} {$requete_empr_where} "; $list_empr_delete = pmb_mysql_query($requete_list_empr_delete, $dbh); while ($empr_delete = pmb_mysql_fetch_array($list_empr_delete)) { emprunteur::del_empr($empr_delete["id_empr"]); } } //Affichage des insert et update print "<br />"; if ($cpt_delete) { print $cpt_delete . " lecteurs supprimés. <br />"; } if ($cpt_insert) { print $cpt_insert . " lecteurs créés. <br />"; } if ($cpt_maj) { print $cpt_maj . " lecteurs modifiés. <br />"; } fclose($fichier); } }
function pmb_init_hash_passwords() { global $dbh, $msg; //Encodage des mots de passe lecteurs $result = pmb_mysql_query("SELECT id_empr, empr_password, empr_login FROM empr where empr_password_is_encrypted=0", $dbh); if ($result) { $count = pmb_mysql_num_rows($result); if ($count) { while ($row = pmb_mysql_fetch_object($result)) { emprunteur::update_digest($row->empr_login, $row->empr_password); emprunteur::hash_password($row->empr_login, $row->empr_password); } pmb_indexation_display($msg["hash_empr_password_status"], $count . " " . $msg["hash_empr_password_status_end"]); } } }
function hashEmprPassword() { global $msg, $dbh, $charset, $PMBusername; if (SESSrights & ADMINISTRATION_AUTH) { $result .= "<h3>" . htmlentities($msg["hash_empr_password"], ENT_QUOTES, $charset) . "</h3>"; $rqt = "SHOW COLUMNS FROM empr LIKE 'empr_password_is_encrypted'"; $res = pmb_mysql_query($rqt, $dbh); if (pmb_mysql_num_rows($res)) { $empr = pmb_mysql_query("SELECT count(1) FROM empr where empr_password_is_encrypted=0", $dbh); $count = pmb_mysql_result($empr, 0, 0); $query = pmb_mysql_query("SELECT id_empr, empr_password, empr_login FROM empr where empr_password_is_encrypted=0"); if (pmb_mysql_num_rows($query)) { $requete = "CREATE TABLE if not exists empr_passwords (\n\t\t\t\t\tid_empr INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,\n\t\t\t\t\tempr_password VARCHAR( 255 ) NOT NULL default '')"; pmb_mysql_query($requete, $dbh); $requete = "INSERT INTO empr_passwords SELECT id_empr, empr_password FROM empr where empr_password_is_encrypted=0"; pmb_mysql_query($requete, $dbh); while ($row = pmb_mysql_fetch_object($query)) { emprunteur::update_digest($row->empr_login, $row->empr_password); emprunteur::hash_password($row->empr_login, $row->empr_password); } } $result .= $count . " " . htmlentities($msg['hash_empr_password_status_end'], ENT_QUOTES, $charset); } else { $result .= htmlentities($msg['pmb_v_db_pas_a_jour'], ENT_QUOTES, $charset); } } else { $result .= sprintf($msg["planificateur_rights_bad_user_rights"], $PMBusername); } return $result; }
function import_eleves($separateur, $dbh, $type_import, $commune) { global $code_categorie; global $code_statistique; $code_categorie = 12; $code_statistique = 3; $eleve_abrege = array("Numéro identifiant", "Nom", "Prénom"); $date_auj = date("Y-m-d", time()); $date_an_proch = date("Y-m-d", time() + 3600 * 24 * 30.42 * 12); //Upload du fichier if (!$_FILES['import_lec']['tmp_name']) { print "Cliquez sur Précédent et choisissez un fichier"; } elseif (!move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/" . basename($_FILES['import_lec']['tmp_name']))) { print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :<br />"; print_r($_FILES) . "<p>"; } $fichier = @fopen("./temp/" . basename($_FILES['import_lec']['tmp_name']), "r"); if ($fichier) { if ($type_import == 'maj_complete') { //Vide la table empr_groupe des élèves qui n'ont pas de prêts en cours et qui sont localisé à la commune sélectionnée et de categorie collectivité eleves $req_select_verif_pret = "SELECT id_empr FROM empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_location= '{$commune}' and empr_categ = '{$code_categorie}' "; $select_verif_pret = pmb_mysql_query($req_select_verif_pret, $dbh); while ($verif_pret = pmb_mysql_fetch_array($select_verif_pret)) { //pour tous les emprunteurs qui n'ont pas de pret en cours $req_delete = "DELETE FROM empr_groupe WHERE empr_id = '" . $verif_pret["id_empr"] . "'"; pmb_mysql_query($req_delete); } //$delete_empr_groupe = pmb_mysql_query("DELETE FROM empr_groupe",$dbh); //Supprime les élèves qui n'ont pas de prêts en cours et qui sont localisé à la commune sélectionnée et de categorie collectivité eleves $req_select_verif_pret = "SELECT id_empr FROM empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_location= '{$commune}' and empr_categ = '{$code_categorie}' "; $select_verif_pret = pmb_mysql_query($req_select_verif_pret, $dbh); while ($verif_pret = pmb_mysql_fetch_array($select_verif_pret)) { //pour tous les emprunteurs qui n'ont pas de pret en cours emprunteur::del_empr($verif_pret["id_empr"]); } } while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $buffer = pmb_mysql_escape_string($buffer); $tab = explode($separateur, $buffer); //Gestion du sexe switch ($tab[10][0]) { case M: $sexe = 1; break; case F: $sexe = 2; break; default: $sexe = 0; break; } // Traitement de l'élève $select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = '" . $tab[0] . "'", $dbh); $nb_enreg = pmb_mysql_num_rows($select); //Test si un numéro id est fourni if (!$tab[0] || $tab[0] == "") { print "<b> Elève non pris en compte car \"Numéro identifiant\" non renseigné : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; $nb_enreg = 2; } $login = cre_login($tab[1], $tab[2], $dbh); switch ($nb_enreg) { case 0: //Ce élève n'est pas enregistré $req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, "; $req_insert .= "empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe, "; $req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration, empr_location) "; $req_insert .= "VALUES ('{$tab['0']}','{$tab['1']}','{$tab['2']}','{$tab['3']}', '{$tab['4']}', '{$tab['5']}', "; //Vérifier dans la table empr_categ si id_categ_empr 1 = élèves //Vérifier dans la table empr_codestat si idcode 2 = école Sinon, changer les valeurs $req_insert .= "'{$tab['6']}', '{$tab['7']}', '{$tab['8']}', {$code_categorie} , '3', '{$date_auj}', '{$sexe}', "; $req_insert .= "'{$login}', '{$tab['8']}', '{$date_auj}', '{$date_an_proch}' , '{$commune}' )"; $insert = pmb_mysql_query($req_insert, $dbh); if (!$insert) { print "<b>Echec de la création de l'élève suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; print $code_categorie; print "3"; print "{$location}"; print "{$user}"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; } else { emprunteur::update_digest($login, $tab[8]); emprunteur::hash_password($login, $tab[8]); $cpt_insert++; } gestion_groupe($tab[9], $tab[0], $dbh); $j++; break; case 1: //Ce élève est déjà enregistré $req_update = "UPDATE empr SET empr_nom = '{$tab['1']}', empr_prenom = '{$tab['2']}', empr_adr1 = '{$tab['3']}', "; $req_update .= "empr_adr2 = '{$tab['4']}', empr_cp = '{$tab['5']}', empr_ville = '{$tab['6']}', "; //Vérifier dans la table empr_categ si id_categ_empr 1 = élèves Vérifier dans la table empr_codestat si idcode 2 = école Sinon, changer les valeurs $req_update .= "empr_tel1 = '{$tab['7']}', empr_year = '{$tab['8']}', empr_categ = '{$code_categorie} ', empr_codestat = '3', empr_modif = '{$date_auj}', empr_sexe = '{$sexe}', "; $req_update .= "empr_login = '******', empr_password= '******'8']}', "; $req_update .= "empr_date_adhesion = '{$date_auj}', empr_date_expiration = '{$date_an_proch}', empr_location = '{$commune}'"; $req_update .= "WHERE empr_cb = '{$tab['0']}'"; $update = pmb_mysql_query($req_update, $dbh); if (!$update) { print "<b>Echec de la modification de l'élève suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; print $path; print '$code_categorie'; print "3"; print "{$location}"; print "{$user}"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; } else { emprunteur::update_digest($login, $tab[8]); emprunteur::hash_password($login, $tab[8]); $cpt_maj++; } gestion_groupe($tab[9], $tab[0], $dbh); $j++; break; case 2: break; default: print $path; print $code_categorie; print 3; print $location; echo $user; print "<b>Echec pour l'élève suivant (Erreur : " . pmb_mysql_error() . ") : </b><br />"; for ($i = 0; $i < 3; $i++) { print $eleve_abrege[$i] . " : " . $tab[$i] . ", "; } print "<br />"; break; } } //Affichage des insert et update print "<br />_____________________<br />"; if ($cpt_insert) { print $cpt_insert . " Elèves créés. <br />"; } if ($cpt_maj) { print $cpt_maj . " Elèves modifiés. <br />"; } fclose($fichier); } }