function traite_rqt($requete = "", $message = "") { global $dbh, $charset; $retour = ""; /*if($charset == "utf-8"){ //Contrairement au addon ce n'est pas à faire car dans les fichiers alter_vX.inc.php on fait un set names latin1 $requete=utf8_encode($requete); }*/ $res = pmb_mysql_query($requete, $dbh); $erreur_no = pmb_mysql_errno(); if (!$erreur_no) { $retour = "Successful"; } else { switch ($erreur_no) { case "1060": $retour = "Field already exists, no problem."; break; case "1061": $retour = "Key already exists, no problem."; break; case "1091": $retour = "Object already deleted, no problem."; break; default: $retour = "<font color=\"#FF0000\">Error may be fatal : <i>" . pmb_mysql_error() . "<i></font>"; break; } } return "<tr><td><font size='1'>" . ($charset == "utf-8" ? utf8_encode($message) : $message) . "</font></td><td><font size='1'>" . $retour . "</font></td></tr>"; }
function traite_rqt($requete = "", $message = "") { global $dbh, $charset; $retour = ""; if ($charset == "utf-8") { $requete = utf8_encode($requete); } $res = pmb_mysql_query($requete, $dbh); $erreur_no = pmb_mysql_errno(); if (!$erreur_no) { $retour = "Successful"; } else { switch ($erreur_no) { case "1060": $retour = "Field already exists, no problem."; break; case "1061": $retour = "Key already exists, no problem."; break; case "1091": $retour = "Object already deleted, no problem."; break; default: $retour = "<font color=\"#FF0000\">Error may be fatal : <i>" . pmb_mysql_error() . "<i></font>"; break; } } return "<tr><td><font size='1'>" . ($charset == "utf-8" ? utf8_encode($message) : $message) . "</font></td><td><font size='1'>" . $retour . "</font></td></tr>"; }
function my_error($echo = 1) { if (!pmb_mysql_errno()) { return ""; } $erreur = 'erreur ' . pmb_mysql_errno() . ' : ' . pmb_mysql_error() . '<br />'; if ($echo) { echo $erreur; } else { trigger_error($erreur, E_USER_ERROR); return $erreur; } }
//modification structure table de stockage des droits ressources/utilisateurs $rqt = "describe acces_rights dom_rights "; $res = pmb_mysql_query($rqt, $dbh); $typ = pmb_mysql_result($res, 0, 1); if ($typ && substr($typ, 0, 3) != 'int') { $rqt = "create temporary table acces_rights_tmp as select * from acces_rights "; echo traite_rqt($rqt, "create temporary table acces_rights_tmp"); $rqt = "alter table acces_rights modify dom_rights int(2) unsigned not null default 0 "; echo traite_rqt($rqt, "alter table acces_rights modify dom_rights to integer"); $rqt = "update acces_rights set dom_rights = (select conv(reverse(lpad(conv(ord(dom_rights),10,2),8,'0')),2,10) from acces_rights_tmp where \n\t\t\tacces_rights_tmp.dom_num=acces_rights.dom_num and \n\t\t\tacces_rights_tmp.usr_prf_num=acces_rights.usr_prf_num and acces_rights_tmp.res_prf_num=acces_rights.res_prf_num) "; echo traite_rqt($rqt, "update acces_rights"); } //modification structure table de stockage des droits ressources/utilisateurs (domaine user_notice) $rqt = "describe acces_res_1 res_rights "; $res = pmb_mysql_query($rqt, $dbh); if (!pmb_mysql_errno()) { $typ = pmb_mysql_result($res, 0, 1); if ($typ && substr($typ, 0, 3) != 'int') { $rqt = "create temporary table acces_res_1_tmp as select * from acces_res_1 "; echo traite_rqt($rqt, "create temporary table acces_res_1_tmp"); $rqt = "update acces_res_1_tmp set res_mask=res_rights where res_mask='' "; echo traite_rqt($rqt, "update res_mask in table acces_res_1_tmp"); flush(); $rqt = "truncate table acces_res_1 "; echo traite_rqt($rqt, "truncate table acces_res_1"); $rqt = "alter table acces_res_1 change prf_num res_prf_num int(2) unsigned not null default 0 "; echo traite_rqt($rqt, "alter table acces_res_1 modify prf_num res_prf_num"); $rqt = "alter table acces_res_1 add usr_prf_num int(2) unsigned not null default 0 after res_prf_num"; echo traite_rqt($rqt, "alter table acces_res_1 add usr_prf_num"); $rqt = "alter table acces_res_1 modify res_rights int(2) unsigned not null default 0, modify res_mask int(2) unsigned not null default 0 "; echo traite_rqt($rqt, "alter table acces_res_1 modify res_rights, res_mask to integer");
function update_members() { global $dbh; global $msg; if ($this->id) { if ($this->nb_members) { while (list($cle, $membre) = each($this->members)) { $date_prolong = "form_expiration_" . $membre['id']; global ${$date_prolong}; if (${$date_prolong} != "") { //Ne pas débiter l'abonnement deux fois.. $requete = "SELECT empr_date_expiration FROM empr WHERE id_empr=" . $membre['id']; $resultat = pmb_mysql_query($requete, $dbh); if ($resultat) { if (str_replace("-", "", pmb_mysql_result($resultat, 0, 0)) != str_replace("-", "", ${$date_prolong})) { // mise à jour $requete = "UPDATE empr"; $requete .= " SET empr_date_expiration='" . ${$date_prolong} . "'"; $requete .= " WHERE id_empr=" . $membre['id'] . " LIMIT 1"; @pmb_mysql_query($requete, $dbh); if (!pmb_mysql_errno($dbh)) { global $debit; if ($debit) { if ($debit == 2) { $rec_caution = true; } else { $rec_caution = false; } emprunteur::rec_abonnement($membre['id'], $membre['id_abt'], $membre['id_categ'], $rec_caution); } } else { error_message($msg[540], "erreur modification emprunteur", 1, './circ.php?categ=groups&action=showgroup&groupID=".$this->id."'); } } } } } } } }
$requete .= "empr_ldap='0', "; } //Gestion financière 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);