public static function get_list($_FORM) { /* * * Get a list of task history items with sophisticated filtering and somewhat sophisticated output * * (n.b., the output from this generally needs to be post-processed to handle the semantic meaning of changes in various fields) * */ $filter = audit::get_list_filter($_FORM); if (is_array($filter) && count($filter)) { $where_clause = " WHERE " . implode(" AND ", $filter); } if ($_FORM["projectID"]) { $entity = new project(); $entity->set_id($_FORM["projectID"]); $entity->select(); } else { if ($_FORM["taskID"]) { $entity = new task(); $entity->set_id($_FORM["taskID"]); $entity->select(); } } $q = "SELECT *\n FROM audit\n {$where_clause}\n ORDER BY dateChanged"; $db = new db_alloc(); $db->query($q); $items = array(); while ($row = $db->next_record()) { $audit = new audit(); $audit->read_db_record($db); $rows[] = $row; } return $rows; }
function update_notice_categories_from_form($id_notice = 0, $id_bulletin = 0) { global $dbh; global $f_nb_categ; if (!$id_notice && $id_bulletin) { $query = "select * from bulletins where bulletin_id=" . $id_bulletin; $result = pmb_mysql_query($query, $dbh); if ($result) { $row = mysql_fetch_object($result); if ($row->num_notice) { $id_notice = $row->num_notice; } else { //on crée la notice de bulletin global $xmlta_doctype_bulletin, $deflt_notice_statut; pmb_mysql_query("INSERT INTO notices SET \n\t\t\t\t\ttit1 = '" . $row->bulletin_numero . ($row->mention_date ? " - " . $row->mention_date : "") . ($row->bulletin_titre ? " - " . $row->bulletin_titre : "") . "',\n\t\t\t\t\tstatut = '" . $deflt_notice_statut . "',\t\t\n\t\t\t\t\ttypdoc = '" . $xmlta_doctype_bulletin . "',\n\t\t\t\t\tcreate_date=sysdate(), update_date=sysdate() ", $dbh); $id_notice = pmb_mysql_insert_id($dbh); // Mise à jour des index de la notice notice::majNoticesTotal($id_notice); audit::insert_creation(AUDIT_NOTICE, $id_notice); //Mise à jour du bulletin $requete = "update bulletins set num_notice=" . $id_notice . " where bulletin_id=" . $id_bulletin; pmb_mysql_query($requete); //Mise à jour des liens bulletin -> notice mère $requete = "insert into notices_relations (num_notice,linked_notice,relation_type,rank) values(" . $id_notice . "," . $row->bulletin_notice . ",'b',1)"; pmb_mysql_query($requete); } } } if (!$id_notice) { return; } $query = "SELECT max(ordre_categorie) as ordre FROM notices_categories WHERE notcateg_notice='" . $id_notice . "' "; $result = pmb_mysql_query($query); $ordre_categ = 0; if ($result) { $row = mysql_fetch_object($result); if (isset($row->ordre)) { $ordre_categ = $row->ordre; } } if ($f_nb_categ) { $rqt_ins = "INSERT INTO notices_categories (notcateg_notice, num_noeud, ordre_categorie) VALUES "; for ($i = 0; $i < $f_nb_categ; $i++) { $var_categ = "f_categ{$i}"; global ${$var_categ}; if (${$var_categ}) { $var_categid = "f_categ_id{$i}"; global ${$var_categid}; $rqt_sel = "SELECT notcateg_notice FROM notices_categories WHERE notcateg_notice='" . $id_notice . "' and num_noeud='" . ${$var_categid} . "' "; $res_sel = pmb_mysql_query($rqt_sel, $dbh); if ($res_sel && !pmb_mysql_num_rows($res_sel)) { $ordre_categ++; $rqt = $rqt_ins . " ('" . $id_notice . "','" . ${$var_categid} . "',{$ordre_categ}) "; $res_ins = @pmb_mysql_query($rqt, $dbh); } } } } }
function create_expl($f_ex_cb, $id, $f_ex_typdoc, $f_ex_cote, $f_ex_section, $f_ex_statut, $f_ex_location, $f_ex_cstat, $f_ex_note, $f_ex_prix, $f_ex_owner, $f_ex_comment = '') { global $dbh; $new_expl = 0; $expl_retour = 0; $requete = "SELECT expl_id FROM exemplaires WHERE expl_cb='{$f_ex_cb}' "; $res = pmb_mysql_query($requete, $dbh); $nbr_lignes = @pmb_mysql_num_rows($res); if ($nbr_lignes) { $valid_requete = 0; $lu = pmb_mysql_fetch_array($res); $expl_retour = $lu['expl_id']; } else { $valid_requete = 1; } if ($valid_requete) { $requete = 'INSERT INTO exemplaires SET create_date=sysdate(), '; $requete .= "expl_cb='{$f_ex_cb}'"; $requete .= ", expl_notice={$id}"; $requete .= ", expl_typdoc={$f_ex_typdoc}"; $requete .= ", expl_cote='{$f_ex_cote}'"; $requete .= ", expl_section={$f_ex_section}"; $requete .= ", expl_statut={$f_ex_statut}"; $requete .= ", expl_location={$f_ex_location}"; $requete .= ", expl_codestat={$f_ex_cstat}"; $requete .= ", expl_note='" . ${f_ex_note} . "'"; $requete .= ", expl_comment='" . ${f_ex_comment} . "'"; $requete .= ", expl_prix='{$f_ex_prix}'"; $requete .= ", expl_owner='{$f_ex_owner}'"; $result = pmb_mysql_query($requete, $dbh); $expl_retour = pmb_mysql_insert_id(); audit::insert_creation(AUDIT_EXPL, $expl_retour); $new_expl = 1; } $retour = array($new_expl, $expl_retour); return $retour; }
static function import($data) { // cette méthode prend en entrée un tableau constitué des informations éditeurs suivantes : // $data['name'] Nom de la collection // $data['parent'] id de l'éditeur parent de la collection // $data['issn'] numéro ISSN de la collection global $dbh; // 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 sur les éléments du tableau (data['name'] est requis). $long_maxi_name = pmb_mysql_field_len(pmb_mysql_query("SELECT collection_name FROM collections limit 1"), 0); $data['name'] = rtrim(substr(preg_replace('/\\[|\\]/', '', rtrim(ltrim($data['name']))), 0, $long_maxi_name)); //si on a pas d'id, on peut avoir les infos de l'éditeur if (!$data['parent']) { if ($data['publisher']) { //on les a, on crée l'éditeur $data['parent'] = editeur::import($data['publisher']); } } if ($data['name'] == "" || $data['parent'] == 0) { /* il nous faut impérativement un éditeur */ return 0; } // préparation de la requête $key0 = addslashes($data['name']); $key1 = $data['parent']; $key2 = addslashes($data['issn']); /* vérification que l'éditeur existe bien ! */ $query = "SELECT ed_id FROM publishers WHERE ed_id='{$key1}' LIMIT 1 "; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't SELECT publishers " . $query); } if (pmb_mysql_num_rows($result) == 0) { return 0; } /* vérification que la collection existe */ $query = "SELECT collection_id FROM collections WHERE collection_name='{$key0}' AND collection_parent='{$key1}' LIMIT 1 "; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't SELECT collections " . $query); } $collection = pmb_mysql_fetch_object($result); /* la collection existe, on retourne l'ID */ if ($collection->collection_id) { return $collection->collection_id; } // id non-récupérée, il faut créer la forme. $query = 'INSERT INTO collections SET collection_name="' . $key0 . '", '; $query .= 'collection_parent="' . $key1 . '", '; $query .= 'collection_issn="' . $key2 . '", '; $query .= 'index_coll=" ' . strip_empty_words($key0) . ' ' . strip_empty_words($key2) . ' ", '; $query .= 'collection_comment = "' . addslashes($data['comment']) . '" '; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't INSERT into database"); } $id = pmb_mysql_insert_id($dbh); if ($data['subcollections']) { for ($i = 0; $i < count($data['subcollections']); $i++) { $subcoll = $data['subcollections'][$i]; $subcoll['coll_parent'] = $id; subcollection::import($subcoll); } } audit::insert_creation(AUDIT_COLLECTION, $id); //update authority informations $authority = new authority(0, $id, AUT_TABLE_COLLECTIONS); $authority->set_num_statut($data['statut']); $authority->update(); collection::update_index($id); return $id; }
} $transfert_origine = ""; if ($expl_id) { $rqt = "SELECT id_transfert FROM transferts, transferts_demande WHERE num_transfert=id_transfert and etat_transfert=0 AND num_expl='" . $expl_id . "' "; $res = pmb_mysql_query($rqt); if (!pmb_mysql_num_rows($res)) { // pas de transfert en cours, on met à jour transfert_location_origine $transfert_origine = ", transfert_location_origine='{$expl_location}', transfert_statut_origine='{$expl_statut}', transfert_section_origine='{$expl_section}' "; } } else { // en création $transfert_origine = ", transfert_location_origine='{$expl_location}', transfert_statut_origine='{$expl_statut}', transfert_section_origine='{$expl_section}' "; } // preparation de la requete if ($expl_id) { $audit = new audit(); $audit->get_old_infos("SELECT expl_statut, expl_location, transfert_location_origine, transfert_statut_origine, transfert_section_origine, expl_owner FROM exemplaires WHERE expl_cb='{$expl_cb}' "); // update de l'exemplaire // on prepare la requete $values = "expl_cb='{$expl_cb}'"; $values .= ", expl_typdoc='{$expl_typdoc}'"; $values .= ", expl_cote='{$expl_cote}'"; $values .= ", expl_section='{$expl_section}'"; $values .= ", expl_statut='{$expl_statut}'"; $values .= ", expl_location='{$expl_location}' {$transfert_origine} "; $values .= ", expl_codestat='{$expl_codestat}'"; $values .= ", expl_note='{$expl_note}'"; $values .= ", expl_comment='{$expl_comment}'"; $values .= ", expl_prix='{$expl_prix}'"; $values .= ", expl_owner='{$expl_owner}'"; $values .= ", type_antivol='{$type_antivol}'";
function move($to_bul) { global $msg; global $dbh; global $pmb_synchro_rdf; // rattachement du dépouillement $requete = 'UPDATE analysis SET analysis_bulletin=' . $to_bul . ' WHERE analysis_notice=' . $this->analysis_id; @pmb_mysql_query($requete, $dbh); //dates $myBul = new bulletinage($to_bul); $year = substr($myBul->date_date, 0, 4); $date_parution = $myBul->date_date; $requete = 'UPDATE notices SET year="' . $year . '", date_parution="' . $date_parution . '", update_date=sysdate() WHERE notice_id=' . $this->analysis_id . ' LIMIT 1'; @pmb_mysql_query($requete, $dbh); //Indexation du dépouillement notice::majNoticesTotal($this->analysis_id); audit::insert_modif(AUDIT_NOTICE, $this->analysis_id); if ($pmb_synchro_rdf) { $synchro_rdf = new synchro_rdf(); $synchro_rdf->delRdf($this->analysis_id, 0); $synchro_rdf->addRdf($this->analysis_id, 0); } return false; }
function save() { global $dbh, $sujet, $idetat, $titre, $id_theme, $id_type; global $date_debut, $date_fin, $date_prevue, $idempr; global $iduser, $progression, $demandes_statut_notice, $pmb_type_audit; global $gestion_acces_active, $gestion_acces_user_notice, $gestion_acces_empr_notice; if ($this->id_demande) { //MODIFICATION $req = "update demandes set sujet_demande='" . $sujet . "', \n\t\t\t\tnum_demandeur='" . $idempr . "', \n\t\t\t\tdate_demande='" . $date_debut . "', \n\t\t\t\tdeadline_demande='" . $date_fin . "',\n\t\t\t\tdate_prevue='" . $date_prevue . "', \n\t\t\t\tprogression='" . $progression . "',\n\t\t\t\ttitre_demande='" . $titre . "',\n\t\t\t\ttype_demande='" . $id_type . "',\n\t\t\t\ttheme_demande='" . $id_theme . "'"; if ($idetat == 4 || $idetat == 5) { $req .= " ,num_user_cloture='" . SESSuserid . "'"; } $req .= " where id_demande='" . $this->id_demande . "'"; mysql_query($req, $dbh); $this->titre_demande = stripslashes($titre); $this->sujet_demande = stripslashes($sujet); $this->date_demande = $date_debut; $this->date_prevue = $date_prevue; $this->deadline_demande = $date_fin; $this->num_user = $iduser; $this->progression = $progression; $this->num_demandeur = $idempr; $this->type_demande = $id_type; $this->theme_demande = $id_theme; } else { //CREATION de la notice associée $req = "insert into notices set \n\t\t\t\ttit1='" . $titre . "',\n\t\t\t\tn_contenu='" . $sujet . "',\n\t\t\t\tstatut ='" . $demandes_statut_notice . "'\n\t\t\t\t"; mysql_query($req, $dbh); $id_notice = mysql_insert_id(); notice::majNotices($id_notice); if ($pmb_type_audit) { audit::insert_creation(AUDIT_NOTICE, $id_notice); } //droits d'acces if ($gestion_acces_active == 1) { $ac = new acces(); //traitement des droits acces user_notice if ($gestion_acces_user_notice == 1) { $dom_1 = $ac->setDomain(1); $dom_1->storeUserRights(0, $id_notice); } //traitement des droits acces empr_notice if ($gestion_acces_empr_notice == 1) { $dom_2 = $ac->setDomain(2); $dom_2->storeUserRights(0, $id_notice); } } //CREATION de la demande $req = "insert into demandes set sujet_demande='" . $sujet . "', \n\t\t\t\tetat_demande='" . $idetat . "', \n\t\t\t\tnum_demandeur='" . $idempr . "', \n\t\t\t\tdate_demande='" . $date_debut . "', \n\t\t\t\tdate_prevue='" . $date_prevue . "', \n\t\t\t\tdeadline_demande='" . $date_fin . "', \n\t\t\t\tprogression='" . $progression . "',\n\t\t\t\ttitre_demande='" . $titre . "',\n\t\t\t\ttype_demande='" . $id_type . "',\n\t\t\t\ttheme_demande='" . $id_theme . "',\n\t\t\t\tnum_notice='" . $id_notice . "'"; mysql_query($req, $dbh); } //Affectation du libellé du thème et du type $this->id_demande ? $id = $this->id_demande : ($id = mysql_insert_id()); $req = "select libelle_theme, libelle_type from demandes d, demandes_type dy , demandes_theme dt where dt.id_theme=d.theme_demande and dy.id_type=d.type_demande and id_demande='" . $id . "'"; $res = mysql_query($req, $dbh); $row = mysql_fetch_object($res); $this->type_libelle = $row->libelle_type; $this->theme_libelle = $row->libelle_theme; //Enregistrement dans demandes_users $date_creation = date("Y-m-d", time()); if ($this->id_demande && $iduser) { $req = "update demandes_users set users_statut=0 where num_user not in (" . implode(',', $iduser) . ") and num_demande='" . $this->id_demande . "'"; mysql_query($req, $dbh); $req = "update demandes_users set users_statut=1 where num_user in (" . implode(',', $iduser) . ") and num_demande='" . $this->id_demande . "'"; mysql_query($req, $dbh); for ($i = 0; $i < sizeof($iduser); $i++) { $req = "insert into demandes_users set num_user='******', num_demande='" . $this->id_demande . "', date_creation='" . $date_creation . "', users_statut=1"; mysql_query($req, $dbh); } } else { if ($iduser) { for ($i = 0; $i < sizeof($iduser); $i++) { $req = "insert into demandes_users set num_user='******', num_demande='" . $id . "', date_creation='" . $date_creation . "', users_statut=1"; mysql_query($req, $dbh); } } } $req = "select num_user, concat(prenom,' ',nom) as nom, username from demandes_users, users where num_user=userid and num_demande='" . $id . "' and users_statut=1"; $res = mysql_query($req, $dbh); $i = 0; if (mysql_num_rows($res)) { $this->users = array(); while ($user = mysql_fetch_object($res)) { $this->users[$i]['nom'] = trim($user->nom) ? $user->nom : $user->username; $this->users[$i]['id'] = $user->num_user; $i++; } } }
static function delete($note) { global $dbh; if ($note->id_note) { $req = "delete from demandes_notes where id_note='" . $note->id_note . "'"; pmb_mysql_query($req, $dbh); $req = "delete from demandes_notes where num_note_parent='" . $note->id_note . "'"; pmb_mysql_query($req, $dbh); audit::delete_audit(AUDIT_NOTE, $note->id_note); } }
function delete($id_acte = 0) { global $dbh; if (!$id_acte) { $id_acte = $this->id_acte; } actes::deleteLignes($id_acte); liens_actes::delete($id_acte); $q = "delete from actes where id_acte = '" . $id_acte . "' "; mysql_query($q, $dbh); audit::delete_audit(AUDIT_ACQUIS, $id_acte); }
static function del_expl($id = 0) { global $dbh; global $explr_invisible, $explr_visible_unmod, $explr_visible_mod, $pmb_droits_explr_localises; $sql_pret = pmb_mysql_query("select 1 from pret where pret_idexpl ='{$id}' "); if (pmb_mysql_num_rows($sql_pret)) { return 0; } // visibilite de l'exemplaire if ($pmb_droits_explr_localises) { $query = "select expl_location from exemplaires where expl_id='" . $id . "'"; $result = pmb_mysql_query($query, $dbh); $location_id = pmb_mysql_result($result, 0, 0); $tab_mod = explode(",", $explr_visible_mod); $as_modif = array_search($location_id, $tab_mod); if ($as_modif === false) { return 0; } } $requete = "select idcaddie FROM caddie where type='EXPL' "; $result = pmb_mysql_query($requete, $dbh); for ($i = 0; $i < pmb_mysql_num_rows($result); $i++) { $temp = pmb_mysql_fetch_object($result); $requete_suppr = "delete from caddie_content where caddie_id='" . $temp->idcaddie . "' and object_id='" . $id . "' "; $result_suppr = pmb_mysql_query($requete_suppr, $dbh); } audit::delete_audit(AUDIT_EXPL, $id); $p_perso = new parametres_perso("expl"); $p_perso->delete_values($id); // nettoyage transfert $requete_suppr = "delete from transferts_demande where num_expl='{$id}'"; $result_suppr = pmb_mysql_query($requete_suppr); // nettoyage circulation des périodiques serialcirc::delete_expl($id); // nettoyage doc. à ranger $requete_suppr = "delete from resa_ranger where resa_cb in (select expl_cb from exemplaires where expl_id='" . $id . "') "; $result_suppr = pmb_mysql_query($requete_suppr, $dbh); // nettoyage indexation concepts $index_concept = new index_concept($id, TYPE_EXPL); $index_concept->delete(); $sql_del = pmb_mysql_query("delete from exemplaires where expl_id='{$id}' "); return 1; }
$requete .= ", thumbnail_url='{$t_notice['thumbnail_url']}'"; $requete .= ", signature='{$t_notice['signature']}'"; $requete .= ", date_parution='{$date_parution_notice}'"; $requete .= ", indexation_lang='{$t_notice['indexation_lang']}'"; $requete .= ", notice_is_new='{$t_notice['notice_is_new']}'"; $requete .= $req_notice_date_is_new; $requete .= $postrequete; $result = pmb_mysql_query($requete, $dbh); //traitement audit if (!$id) { $sav_id = 0; $id = pmb_mysql_insert_id($dbh); audit::insert_creation(AUDIT_NOTICE, $id); } else { $sav_id = $id; audit::insert_modif(AUDIT_NOTICE, $id); } // autorité personnalisées $authperso = new authperso_notice($id); $authperso->save_form(); // map global $pmb_map_activate; if ($pmb_map_activate) { $map = new map_edition_controler(TYPE_RECORD, $id); $map->save_form(); $map_info = new map_info($id); $map_info->save_form(); } // vignette de la notice uploadé dans un répertoire if ($_FILES['f_img_load']['name'] && $pmb_notice_img_folder_id) { $poids_fichier_max = 1024 * 1024;
static function import($title, $statut = 1) { global $dbh; // check sur la variable passée en paramètre if (!$title) { return 0; } // tentative de récupérer l'id associée dans la base (implique que l'autorité existe) // préparation de la requête $key = addslashes($title); $query = "SELECT serie_id FROM series WHERE serie_name='" . rtrim(substr($key, 0, 255)) . "' LIMIT 1 "; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't SELECT series " . $query); } // résultat // récupération du résultat de la recherche $tserie = pmb_mysql_fetch_object($result); // du résultat et récupération éventuelle de l'id if ($tserie->serie_id) { return $tserie->serie_id; } // id non-récupérée, il faut créer la forme. $index = addslashes(strip_empty_words($title)); $query = 'INSERT INTO series SET serie_name="' . $key . '", serie_index=" ' . $index . ' "'; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't INSERT into series" . $query); } $id = pmb_mysql_insert_id($dbh); audit::insert_creation(AUDIT_SERIE, $id); //update authority informations $authority = new authority(0, $id, AUT_TABLE_SERIES); $authority->set_num_statut($statut); $authority->update(); serie::update_index($id); return $id; }
$values .= ", expl_typdoc='{$expl_typdoc}'"; $values .= ", expl_cote='{$expl_cote}'"; $values .= ", expl_section='{$expl_section}'"; $values .= ", expl_statut='{$expl_statut}'"; $values .= ", expl_location='{$expl_location}' {$transfert_origine} "; $values .= ", expl_codestat='{$expl_codestat}'"; $values .= ", expl_note='{$expl_note}'"; $values .= ", expl_comment='{$expl_comment}'"; $values .= ", expl_prix='{$expl_prix}'"; $values .= ", expl_owner='{$expl_owner}'"; $values .= ", type_antivol='{$type_antivol}'"; $values .= ", expl_abt_num='{$abt_id}'"; $requete = "INSERT INTO exemplaires set {$values} , create_date=sysdate() "; $myQuery = pmb_mysql_query($requete, $dbh); $expl_id = pmb_mysql_insert_id(); audit::insert_creation(AUDIT_EXPL, $expl_id); //parametres_perso de l'exemplaire $p_perso = new parametres_perso("expl"); $nberrors = $p_perso->check_submited_fields(); if (!$nberrors) { $p_perso->rec_fields_perso($expl_id); } $serialcirc_diff = new serialcirc_diff(0, $abt_id); if (count($serialcirc_diff->diffusion)) { //est-ce qu'il y a des destinataires ? // Si c'est à faire circuler if ($serialcirc_diff->id) { $serialcirc_diff->add_circ_expl($expl_id); $serialcir_print = "<br/><input class='bouton' type='button' onclick='serialcirc_print_list_circ({$expl_id},0);return false;' value='" . $msg['serialcirc_circ_list_bull_circulation_imprimer_bt'] . "'>"; } elseif ($pmb_serialcirc_subst) { $print_cote = "<img src='./images/print.gif' alt='Imprimer...' title='Imprimer...' align='middle' border='0'\tstyle='padding-left:7px' onclick='imprime_cote({$expl_id});return false;'\t>";
$requete = "select 1 from pret where pret_idexpl='{$expl_id}' "; $result = @pmb_mysql_query($requete); if (pmb_mysql_num_rows($result)) { // gestion erreur prêt en cours error_message($msg[416], $msg[impossible_expl_del_pret], 1, "./catalog.php?categ=isbd&id={$id}"); } else { //archivage if ($pmb_archive_warehouse) { exemplaire::save_to_agnostic_warehouse(array(0 => $expl_id), $pmb_archive_warehouse); } // nettoyage doc. à ranger $requete_suppr = "delete from resa_ranger where resa_cb in (select expl_cb from exemplaires where expl_id='" . $expl_id . "') "; $result_suppr = pmb_mysql_query($requete_suppr, $dbh); $requete = "DELETE FROM exemplaires WHERE expl_cb='{$cb}' or expl_id='{$expl_id}'"; $result = @pmb_mysql_query($requete, $dbh); audit::delete_audit(AUDIT_EXPL, $expl_id); $query_caddie = "select caddie_id from caddie_content, caddie where type='EXPL' and object_id ='{$expl_id}' and caddie_id=idcaddie "; $result_caddie = @pmb_mysql_query($query_caddie, $dbh); while ($cad = pmb_mysql_fetch_object($result_caddie)) { $req_suppr_caddie = "delete from caddie_content where caddie_id = '{$cad->caddie_id}' and object_id ='{$expl_id}' "; @pmb_mysql_query($req_suppr_caddie, $dbh); } //Supression des champs perso if ($expl_id) { $p_perso = new parametres_perso("expl"); $p_perso->delete_values($expl_id); } // nettoyage transfert $requete_suppr = "delete from transferts_demande where num_expl='{$expl_id}'"; $result_suppr = pmb_mysql_query($requete_suppr); // nettoyage indexation concepts
function del_pret($id_expl) { // le lien MySQL global $dbh; global $msg; // récupérer la stat insérée pour la supprimer ! $query = "select pret_arc_id ,pret_temp from pret where pret_idexpl = '" . $id_expl . "' "; $result = mysql_query($query, $dbh); $stat_id = mysql_fetch_object($result); if ($stat_id->pret_temp) { $result = mysql_query("delete from pret_archive where arc_id='" . $stat_id->pret_arc_id . "' ", $dbh); audit::delete_audit(AUDIT_PRET, $stat_id->pret_arc_id); // supprimer le prêt annulé $query = "delete from pret where pret_idexpl = '" . $id_expl . "' "; $result = mysql_query($query, $dbh); } $array[0] = $this; $buf_xml = array2xml($array); return $buf_xml; }
function delete($id_noeud = 0) { global $dbh; if (!$id_noeud && is_object($this)) { $id_noeud = $this->id_noeud; } // Supprime les categories. $q = "delete from categories where num_noeud = '" . $id_noeud . "' "; mysql_query($q, $dbh); //Import d'autorité noeuds::delete_autority_sources($id_noeud); // Supprime les renvois voir_aussi vers ce noeud. $q = "delete from voir_aussi where num_noeud_dest = '" . $id_noeud . "' "; mysql_query($q, $dbh); // Supprime les renvois voir_aussi depuis ce noeud. $q = "delete from voir_aussi where num_noeud_orig = '" . $id_noeud . "' "; mysql_query($q, $dbh); // Supprime les associations avec des notices. $q = "delete from notices_categories where num_noeud = '" . $id_noeud . "' "; mysql_query($q, $dbh); // Supprime le noeud. $q = "delete from noeuds where id_noeud = '" . $id_noeud . "' "; mysql_query($q, $dbh); audit::delete_audit(AUDIT_CATEG, $id_noeud); // liens entre autorités $aut_link = new aut_link(AUT_TABLE_CATEG, $id_noeud); $aut_link->delete(); $aut_pperso = new aut_pperso("categ", $id_noeud); $aut_pperso->delete(); }
function delete($id_noeud = 0) { global $dbh; if (!$id_noeud && is_object($this)) { $id_noeud = $this->id_noeud; } // Supprime les categories. $q = "delete from categories where num_noeud = '" . $id_noeud . "' "; pmb_mysql_query($q, $dbh); //Import d'autorité noeuds::delete_autority_sources($id_noeud); // Supprime les renvois voir_aussi vers ce noeud. $q = "delete from voir_aussi where num_noeud_dest = '" . $id_noeud . "' "; pmb_mysql_query($q, $dbh); // Supprime les renvois voir_aussi depuis ce noeud. $q = "delete from voir_aussi where num_noeud_orig = '" . $id_noeud . "' "; pmb_mysql_query($q, $dbh); // Supprime les associations avec des notices. $q = "delete from notices_categories where num_noeud = '" . $id_noeud . "' "; pmb_mysql_query($q, $dbh); //Supprime les emprises du noeud $req = "select map_emprise_id from map_emprises where map_emprise_type=2 and map_emprise_obj_num=" . $id_noeud; $result = pmb_mysql_query($req, $dbh); if (pmb_mysql_num_rows($result)) { $row = pmb_mysql_fetch_object($result); $q = "delete from map_emprises where map_emprise_obj_num ='" . $id_noeud . "' and map_emprise_type = 2"; pmb_mysql_query($q, $dbh); $req_areas = "delete from map_hold_areas where type_obj=2 and id_obj=" . $row->map_emprise_id; pmb_mysql_query($req_areas, $dbh); } //suppression des renvois voir restants $q = "update noeuds set num_renvoi_voir = '0' where num_renvoi_voir = '" . $id_noeud . "' "; pmb_mysql_query($q, $dbh); // Supprime le noeud. $q = "delete from noeuds where id_noeud = '" . $id_noeud . "' "; pmb_mysql_query($q, $dbh); audit::delete_audit(AUDIT_CATEG, $id_noeud); // liens entre autorités $aut_link = new aut_link(AUT_TABLE_CATEG, $id_noeud); $aut_link->delete(); $aut_pperso = new aut_pperso("categ", $id_noeud); $aut_pperso->delete(); // nettoyage indexation indexation_authority::delete_all_index($id_noeud, "authorities", "id_authority", AUT_TABLE_CATEG); // effacement de l'identifiant unique d'autorité $authority = new authority(0, $id_noeud, AUT_TABLE_CATEG); $authority->delete(); }
public function delete() { $result = $this->is_deletable(); if ($result === true) { //documents du portfolio $query = "delete from cms_documents_links where document_link_type_object = '" . $this->type . "' and document_link_num_object = " . $this->id; pmb_mysql_query($query); //l'elément $del = "delete from cms_" . $this->type . "s where id_" . $this->type . "='" . $this->id . "'"; pmb_mysql_query($del); //ses descripteurs $del_desc = "delete from cms_" . $this->type . "s_descriptors where num_" . $this->type . " = '" . $this->id . "'"; pmb_mysql_query($del_desc); //ses champs persos $fields_type = new cms_editorial_parametres_perso($this->num_type); $fields_type->delete_values($this->id, $this->type); //indexation $query = "delete from cms_editorial_fields_global_index where num_obj = " . $this->id . " and type='" . $this->type . "'"; pmb_mysql_query($query); $query = "delete from cms_editorial_words_global_index where num_obj = " . $this->id . " and type='" . $this->type . "'"; pmb_mysql_query($query); //ses extensions $query = "delete from cms_modules_extensions_datas where extension_datas_type_element ='" . $this->type . "' and extension_datas_num_element = '" . $this->id . "'"; pmb_mysql_query($query); //audit if ($this->type == 'article') { audit::delete_audit(AUDIT_EDITORIAL_ARTICLE, $this->id); } else { audit::delete_audit(AUDIT_EDITORIAL_SECTION, $this->id); } return true; } else { return $result; } }
} if (!$id_notice) { die('ERROR PE: aucun id_notice pour exemplaire...'); } // exemplaire express if ($pe_excb == "") { $pe_excb = 'PE' . rand(0, 100000); } $requete = "INSERT INTO exemplaires\n\t\t\t\t\t\t\t\tSET expl_cb='{$pe_excb}',\n\t\t\t\t\t\t\t\t\texpl_notice='{$id_notice}',\n\t\t\t\t\t\t\t\t\texpl_typdoc='{$pe_tdoc}',\n\t\t\t\t\t\t\t\t\texpl_location='{$deflt_docs_location}',\n\t\t\t\t\t\t\t\t\texpl_section='{$deflt_docs_section}',\n\t\t\t\t\t\t\t\t\texpl_statut='{$deflt_docs_statut}',\n\t\t\t\t\t\t\t\t\texpl_codestat='{$deflt_docs_codestat}',\n\t\t\t\t\t\t\t\t\texpl_owner='{$deflt_lenders}',\n\t\t\t\t\t\t\t\t\tcreate_date=CURRENT_TIMESTAMP()\n\t\t\t\t\t\t\t\t\t"; $result = pmb_mysql_query($requete, $dbh); if (!$result) { error_message($msg[350], $msg['pecb_already_exist'], 1, ''); exit; } $id_expl = pmb_mysql_insert_id(); audit::insert_creation(AUDIT_EXPL, $id_expl); if (preg_match('/^PE/', $pe_excb)) { //redefine exemplaires.expl_cb if $pe_excb is random $pe_excb = 'PE' . $id_expl; $requete = "UPDATE exemplaires SET expl_cb='{$pe_excb}' WHERE expl_id='{$id_expl}'"; $result = pmb_mysql_query($requete, $dbh); if (!$result) { die('ERROR PE: update exemplaires'); } } $cb_doc = $pe_excb; $rqtstatut = "select gestion_libelle from notice_statut where id_notice_statut='{$pmb_pret_express_statut}' "; $resstatut = pmb_mysql_fetch_object(pmb_mysql_query($rqtstatut, $dbh)); $noteexpress = addslashes($resstatut->gestion_libelle); $requete = "UPDATE exemplaires SET expl_note='{$noteexpress}' WHERE expl_id='{$id_expl}'"; $result = pmb_mysql_query($requete, $dbh);
function add_pret($id_empr, $id_expl, $cb_doc, $resarc_id = 0, $short_loan = 0) { // le lien MySQL global $dbh, $msg; global $pmb_quotas_avances, $pmb_utiliser_calendrier; global $pmb_gestion_financiere, $pmb_gestion_tarif_prets; global $include_path, $lang; global $deflt2docs_location; global $pmb_pret_date_retour_adhesion_depassee; global $pmb_short_loan_management; global $pmb_transferts_actif; global $pmb_resa_planning; $resarc_id += 0; /* on prépare la date de début*/ $pret_date = today(); $duree_pret = 0; // calcul de la duree du pret si la date de fin est definie par les previsions if ($resarc_id && $pmb_resa_planning == 1) { $q = 'select datediff(resarc_fin,"' . $pret_date . '") from resa_archive where resarc_id =' . $resarc_id . ' and resarc_resa_planning_id_resa!=0 limit 1'; $r = pmb_mysql_query($q, $dbh); if (pmb_mysql_num_rows($r)) { $duree_pret = pmb_mysql_result($r, 0, 0); } } if (!$duree_pret) { /* on cherche la durée du prêt */ if ($pmb_short_loan_management && $short_loan) { if ($pmb_quotas_avances) { //Initialisation de la classe $qt = new quota("SHORT_LOAN_TIME_QUOTA"); $struct["READER"] = $id_empr; $struct["EXPL"] = $id_expl; $duree_pret = $qt->get_quota_value($struct); if ($duree_pret == -1) { $duree_pret = 0; } } else { $query = "SELECT short_loan_duration as duree_pret"; $query .= " FROM exemplaires, docs_type"; $query .= " WHERE expl_id='" . $id_expl; $query .= "' and idtyp_doc=expl_typdoc LIMIT 1"; $result = @pmb_mysql_query($query, $dbh) or die("can't SELECT exemplaires " . $query); $expl_properties = pmb_mysql_fetch_object($result); $duree_pret = $expl_properties->duree_pret; } } else { if ($pmb_quotas_avances) { //Initialisation de la classe $qt = new quota("LEND_TIME_QUOTA"); $struct["READER"] = $id_empr; $struct["EXPL"] = $id_expl; $duree_pret = $qt->get_quota_value($struct); if ($duree_pret == -1) { $duree_pret = 0; } } else { $query = "SELECT duree_pret"; $query .= " FROM exemplaires, docs_type"; $query .= " WHERE expl_id='" . $id_expl; $query .= "' and idtyp_doc=expl_typdoc LIMIT 1"; $result = @pmb_mysql_query($query, $dbh) or die("can't SELECT exemplaires " . $query); $expl_properties = pmb_mysql_fetch_object($result); $duree_pret = $expl_properties->duree_pret; } } } // calculer la date de retour prévue, tenir compte de la date de fin d'adhésion if (!$duree_pret) { $duree_pret = '0'; } if ($pmb_pret_date_retour_adhesion_depassee) { $rqt_date = "select empr_date_expiration,if(empr_date_expiration>date_add('" . $pret_date . "', INTERVAL '{$duree_pret}' DAY),0,1) as pret_depasse_adhes, date_add('" . $pret_date . "', INTERVAL '{$duree_pret}' DAY) as date_retour from empr where id_empr='" . $id_empr . "'"; } else { $rqt_date = "select empr_date_expiration,if(empr_date_expiration>date_add('" . $pret_date . "', INTERVAL '{$duree_pret}' DAY),0,1) as pret_depasse_adhes, if(empr_date_expiration>date_add('" . $pret_date . "', INTERVAL '{$duree_pret}' DAY),date_add('" . $pret_date . "', INTERVAL '{$duree_pret}' DAY),empr_date_expiration) as date_retour from empr where id_empr='" . $id_empr . "'"; } $resultatdate = pmb_mysql_query($rqt_date) or die(pmb_mysql_error() . "<br /><br />{$rqt_date}<br /><br />"); $res = pmb_mysql_fetch_object($resultatdate); $date_retour = $res->date_retour; $pret_depasse_adhes = $res->pret_depasse_adhes; $empr_date_expiration = $res->empr_date_expiration; if ($pmb_utiliser_calendrier) { if ($pret_depasse_adhes == 0 || $pmb_pret_date_retour_adhesion_depassee) { $rqt_date = "select date_ouverture from ouvertures where ouvert=1 and to_days(date_ouverture)>=to_days('{$date_retour}') and num_location={$deflt2docs_location} order by date_ouverture "; $resultatdate = pmb_mysql_query($rqt_date); $res = @pmb_mysql_fetch_object($resultatdate); if ($res->date_ouverture) { $date_retour = $res->date_ouverture; } } else { $rqt_date = "select date_ouverture from ouvertures where date_ouverture>=sysdate() and ouvert=1 and to_days(date_ouverture)<=to_days('{$date_retour}') and num_location={$deflt2docs_location} order by date_ouverture DESC"; $resultatdate = pmb_mysql_query($rqt_date); $res = @pmb_mysql_fetch_object($resultatdate); if ($res->date_ouverture) { $date_retour = $res->date_ouverture; } } // Si la date_retour, calculée ci-dessus d'après le calendrier, dépasse l'adhésion, alors que c'est interdit, // la date de retour doit etre le dernier jour ouvert if (!$pmb_pret_date_retour_adhesion_depassee) { $rqt_date = "SELECT DATEDIFF('{$empr_date_expiration}','{$date_retour}')as diff"; $resultatdate = pmb_mysql_query($rqt_date); $res = @pmb_mysql_fetch_object($resultatdate); if ($res->diff < 0) { $rqt_date = "select date_ouverture from ouvertures where date_ouverture>=sysdate() and ouvert=1 and to_days(date_ouverture)<=to_days('{$empr_date_expiration}') and num_location={$deflt2docs_location} order by date_ouverture DESC"; $resultatdate = pmb_mysql_query($rqt_date); $res = @pmb_mysql_fetch_object($resultatdate); if ($res->date_ouverture) { $date_retour = $res->date_ouverture; } } } } // insérer le prêt $query = "INSERT INTO pret SET "; $query .= "pret_idempr = '" . $id_empr . "', "; $query .= "pret_idexpl = '" . $id_expl . "', "; $query .= "pret_date = sysdate(), "; $query .= "pret_retour = '{$date_retour}', "; $query .= "retour_initial = '{$date_retour}', "; $query .= "short_loan_flag = " . ($pmb_short_loan_management && $short_loan ? "'1'" : "'0'"); $result = @pmb_mysql_query($query, $dbh) or die(pmb_mysql_error() . "<br />can't INSERT into pret" . $query); // insérer la trace en stat, récupérer l'id et le mettre dans la table des prêts pour la maj ultérieure $stat_avant_pret = pret_construit_infos_stat($id_expl); $stat_id = stat_stuff($stat_avant_pret); $query = "update pret SET pret_arc_id='{$stat_id}' where "; $query .= "pret_idempr = '" . $id_empr . "' and "; $query .= "pret_idexpl = '" . $id_expl . "' "; $result = @pmb_mysql_query($query, $dbh) or die("can't update pret for stats " . $query); audit::insert_creation(AUDIT_PRET, $stat_id); //enregistrer les champs perso pret $p_perso = new pret_parametres_perso("pret"); $p_perso->rec_fields_perso($stat_id); if ($resarc_id) { $rqt_arch = "UPDATE resa_archive SET resarc_arcpretid = {$stat_id} WHERE resarc_id = '" . $resarc_id . "' "; @pmb_mysql_query($rqt_arch, $dbh); } $query = "update exemplaires SET "; $query .= "last_loan_date = sysdate() "; $query .= "where expl_id= '" . $id_expl . "' "; $result = @pmb_mysql_query($query, $dbh) or die("can't update last_loan_date in exemplaires : " . $query); $query = "update exemplaires SET "; $query .= "expl_retloc=0 "; $query .= "where expl_id= '" . $id_expl . "' "; $result = @pmb_mysql_query($query, $dbh) or die("can't update expl_retloc in exemplaires : " . $query); $query = "update empr SET "; $query .= "last_loan_date = sysdate() "; $query .= "where id_empr= '" . $id_empr . "' "; $result = @pmb_mysql_query($query, $dbh) or die("can't update last_loan_date in empr : " . $query); $query = "delete from resa_ranger "; $query .= "where resa_cb='" . $cb_doc . "'"; $result = @pmb_mysql_query($query, $dbh) or die("can't delete cb_doc in resa_ranger : " . $query); //Débit du compte lecteur si nécessaire if ($pmb_gestion_financiere && $pmb_gestion_tarif_prets) { $tarif_pret = 0; switch ($pmb_gestion_tarif_prets) { case 1: //Gestion simple $query = "SELECT tarif_pret"; $query .= " FROM exemplaires, docs_type"; $query .= " WHERE expl_id='" . $id_expl; $query .= "' and idtyp_doc=expl_typdoc LIMIT 1"; $result = @pmb_mysql_query($query, $dbh) or die("can't SELECT exemplaires " . $query); $expl_tarif = pmb_mysql_fetch_object($result); $tarif_pret = $expl_tarif->tarif_pret; break; case 2: //Gestion avancée //Initialisation Quotas global $_parsed_quotas_; $_parsed_quotas_ = false; $qt_tarif = new quota("COST_LEND_QUOTA", "{$include_path}/quotas/own/{$lang}/finances.xml"); $struct["READER"] = $id_empr; $struct["EXPL"] = $id_expl; $tarif_pret = $qt_tarif->get_quota_value($struct); break; } $tarif_pret = $tarif_pret * 1; if ($tarif_pret) { $compte_id = comptes::get_compte_id_from_empr($id_empr, 3); if ($compte_id) { $cpte = new comptes($compte_id); $explaire = new exemplaire('', $id_expl); if ($explaire->id_notice == 0 && $explaire->id_bulletin) { //C'est un exemplaire de bulletin $bulletin = new bulletinage_display($explaire->id_bulletin); $titre = strip_tags($bulletin->display); } elseif ($explaire->id_notice) { $notice = new mono_display($explaire->id_notice); $titre = strip_tags($notice->header); } $libelle_expl = strlen($titre) > 15 ? $explaire->cb . " " . $titre : $explaire->cb . " " . $titre; $cpte->record_transaction("", abs($tarif_pret), -1, sprintf($msg["finance_pret_expl"], $libelle_expl), 0); } } } if ($pmb_transferts_actif) { // si transferts validé (en attente d'envoi), il faut restaurer le statut global $PMBuserid; $rqt = "SELECT id_transfert FROM transferts,transferts_demande\r\n\t\twhere\r\n\t\tnum_transfert=id_transfert and\r\n\t\tetat_demande=1 and num_expl ={$id_expl} and etat_transfert=0 and sens_transfert=0"; $res = pmb_mysql_query($rqt); if (pmb_mysql_num_rows($res)) { $obj = pmb_mysql_fetch_object($res); $idTrans = $obj->id_transfert; //Récupération des informations d'origine $rqt = "SELECT statut_origine, num_expl FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert\r\n\t\t\tWHERE id_transfert=" . $idTrans . " AND sens_transfert=0"; $res = pmb_mysql_query($rqt); $obj_data = pmb_mysql_fetch_object($res); //on met à jour $rqt = "UPDATE exemplaires SET expl_statut=" . $obj_data->statut_origine . " WHERE expl_id=" . $obj_data->num_expl; pmb_mysql_query($rqt); } // cloture les demandes de transfert pour résa, refusée ou pas // afin de générer les transfert en automatique dans le circuit classique des résa $req = " update transferts,transferts_demande\n\t\tset etat_transfert=1 ,\n\t\tmotif=CONCAT(motif,'. Cloture, car parti en pret (gestion {$PMBuserid}, {$id_empr})')\n\t\twhere\n\t\tnum_transfert=id_transfert and\n\t\t(etat_demande=4 or etat_demande=0 or etat_demande=1)and\n\t\tetat_demande != 3 and etat_demande!=2 and etat_demande!=5 and\n\t\tnum_expl ={$id_expl} and etat_transfert=0 and sens_transfert=0\n\t\t"; pmb_mysql_query($req, $dbh); } // invalidation des résas avec ce code-barre, au cas où // $query = "update resa SET resa_cb='' where resa_cb='".$cb_doc."' "; // $result = @ pmb_mysql_query($query, $dbh) or die("can't update resa ".$query); }
function add_pret($id_empr, $id_expl, $cb_doc) { // le lien MySQL global $dbh; global $msg; global $pmb_quotas_avances; /* on prépare la date de début*/ $pret_date = time(); /* on cherche la durée du prêt */ if ($pmb_quotas_avances) { //Initialisation de la classe $qt = new quota("LEND_TIME_QUOTA"); $struct["READER"] = $id_empr; $struct["EXPL"] = $id_expl; $duree_pret = $qt->get_quota_value($struct); if ($duree_pret == -1) { $duree_pret = 0; } } else { $query = "SELECT duree_pret"; $query .= " FROM exemplaires, docs_type"; $query .= " WHERE expl_id='" . $id_expl; $query .= "' and idtyp_doc=expl_typdoc LIMIT 1"; $result = @pmb_mysql_query($query, $dbh) or die("can't SELECT exemplaires " . $query); $expl_properties = pmb_mysql_fetch_object($result); $duree_pret = $expl_properties->duree_pret; } // calculer la date de retour prévue $pret_retour = $pret_date + 3600 * 24 * $duree_pret; // insérer le prêt $query = "INSERT INTO pret SET "; $query .= "pret_idempr = '" . $id_empr . "', "; $query .= "pret_idexpl = '" . $id_expl . "', "; $query .= "pret_date = sysdate(), "; $query .= "pret_retour = '" . date("Y-m-d", $pret_retour) . "', "; $query .= "retour_initial = '" . date("Y-m-d", $pret_retour) . "' "; $result = @pmb_mysql_query($query, $dbh) or die(pmb_mysql_error() . "<br />can't INSERT into pret" . $query); // insérer la trace en stat, récupérer l'id et le mettre dans la table des prêts pour la maj ultérieure $stat_avant_pret = pret_construit_infos_stat($id_expl); $stat_id = stat_stuff($stat_avant_pret); $query = "update pret SET pret_arc_id='{$stat_id}' where "; $query .= "pret_idempr = '" . $id_empr . "' and "; $query .= "pret_idexpl = '" . $id_expl . "' "; $result = @pmb_mysql_query($query, $dbh) or die("can't update pret for stats " . $query); audit::insert_creation(AUDIT_PRET, $stat_id); //enregistrer les champs perso pret $p_perso = new pret_parametres_perso("pret"); $p_perso->rec_fields_perso($stat_id); $query = "update exemplaires SET "; $query .= "last_loan_date = sysdate() "; $query .= "where expl_id= '" . $id_expl . "' "; $result = @pmb_mysql_query($query, $dbh) or die("can't update last_loan_date in exemplaires : " . $query); $query = "update empr SET "; $query .= "last_loan_date = sysdate() "; $query .= "where id_empr= '" . $id_empr . "' "; $result = @pmb_mysql_query($query, $dbh) or die("can't update last_loan_date in empr : " . $query); }
public function duplicate($recursive, $num_parent = 0) { global $dbh; if (!$num_parent) { $num_parent = $this->num_parent; } //on place la nouvelle rubrique à la fin par défaut $query = "SELECT id_section FROM cms_sections WHERE section_num_parent=" . addslashes($num_parent); $result = pmb_mysql_query($query, $dbh); if ($result) { $order = ",section_order = '" . (pmb_mysql_num_rows($result) + 1) . "' "; } else { $order = ",section_order = 1"; } $insert = "insert into cms_sections set\r\n\t\tsection_title = '" . addslashes($this->title) . "',\r\n\t\tsection_resume = '" . addslashes($this->resume) . "',\n\t\tsection_logo = '" . addslashes($this->logo->data) . "',\r\n\t\tsection_publication_state ='" . addslashes($this->publication_state) . "',\r\n\t\tsection_start_date = '" . addslashes($this->start_date) . "',\r\n\t\tsection_end_date = '" . addslashes($this->end_date) . "',\r\n\t\tsection_num_parent = '" . addslashes($num_parent) . "' ,\r\n\t\tsection_num_type = '" . $this->num_type . "' ,\r\n\t\tsection_creation_date=sysdate() " . $order; pmb_mysql_query($insert, $dbh); $id = pmb_mysql_insert_id(); //au tour des descripteurs... for ($i = 0; $i < count($this->descriptors); $i++) { $rqt = "insert into cms_sections_descriptors set num_section = '" . $id . "', num_noeud = '" . $this->descriptors[$i] . "',section_descriptor_order='" . $i . "'"; pmb_mysql_query($rqt, $dbh); } //on crée la nouvelle instance $new_section = new cms_section($id); //enfin les éléments du type de contenu $types = new cms_editorial_types("section"); $types->duplicate_type_form($this->num_type, $id, $this->id); $new_section->maj_indexation(); $new_section->documents_linked = $this->documents_linked; $new_section->save_documents(); //audit audit::insert_creation(AUDIT_EDITORIAL_SECTION, $id); if ($recursive) { //on duplique les rubriques enfants $query = "select id_section from cms_sections where section_num_parent = " . $this->id . " order by section_order"; $result = pmb_mysql_query($query, $dbh); if ($result && pmb_mysql_num_rows($result)) { while ($row = pmb_mysql_fetch_object($result)) { $child = new cms_section($row->id_section); $child->duplicate($recursive, $id); } } //on duplique les articles enfants $query = "select id_article from cms_articles where num_section = " . $this->id . " order by article_order"; $result = pmb_mysql_query($query, $dbh); if ($result && pmb_mysql_num_rows($result)) { while ($row = pmb_mysql_fetch_object($result)) { $article = new cms_article($row->id_article); $article->duplicate($id); } } } }
function maj_stat_pret($stuff) { global $dbh, $empr_archivage_prets, $empr_archivage_prets_purge; if (!is_object($stuff)) { die("Pb in ./circ/pret_func.inc.php [maj_stat_pret()]."); } $query = "update pret_archive set "; $query .= "arc_debut='" . $stuff->pret_date . "', "; $query .= "arc_fin=now(), "; if ($empr_archivage_prets) { $query .= "arc_id_empr='" . addslashes($stuff->id_empr) . "', "; } $query .= "arc_empr_cp='" . addslashes($stuff->empr_cp) . "', "; $query .= "arc_empr_ville='" . addslashes($stuff->empr_ville) . "', "; $query .= "arc_empr_prof='" . addslashes($stuff->empr_prof) . "', "; $query .= "arc_empr_year='" . addslashes($stuff->empr_year) . "', "; $query .= "arc_empr_categ='" . $stuff->empr_categ . "', "; $query .= "arc_empr_codestat='" . $stuff->empr_codestat . "', "; $query .= "arc_empr_sexe='" . $stuff->empr_sexe . "', "; $query .= "arc_empr_statut='" . $stuff->empr_statut . "', "; $query .= "arc_empr_location='" . $stuff->empr_location . "', "; $query .= "arc_type_abt='" . $stuff->type_abt . "', "; $query .= "arc_expl_typdoc='" . $stuff->expl_typdoc . "', "; $query .= "arc_expl_id='" . $stuff->expl_id . "', "; $query .= "arc_expl_notice='" . $stuff->expl_notice . "', "; $query .= "arc_expl_bulletin='" . $stuff->expl_bulletin . "', "; $query .= "arc_expl_cote='" . addslashes($stuff->expl_cote) . "', "; $query .= "arc_expl_statut='" . $stuff->expl_statut . "', "; $query .= "arc_expl_location='" . $stuff->expl_location . "', "; $query .= "arc_expl_section='" . $stuff->expl_section . "', "; $query .= "arc_expl_codestat='" . $stuff->expl_codestat . "', "; $query .= "arc_expl_owner='" . $stuff->expl_owner . "', "; $query .= "arc_niveau_relance='" . $stuff->niveau_relance . "', "; $query .= "arc_date_relance='" . $stuff->date_relance . "', "; $query .= "arc_printed='" . $stuff->printed . "', "; $query .= "arc_cpt_prolongation='" . $stuff->cpt_prolongation . "', "; $query .= "arc_short_loan_flag='" . $stuff->short_loan_flag . "' "; $query .= " where arc_id='" . $stuff->pret_arc_id . "' "; $res = mysql_query($query, $dbh); audit::insert_modif(AUDIT_PRET, $stuff->pret_arc_id); // purge des vieux trucs if ($empr_archivage_prets_purge) { //on ne purge qu'une fois par session et par jour if (!isset($_SESSION["last_empr_archivage_prets_purge_day"]) || $_SESSION["last_empr_archivage_prets_purge_day"] != date("m.d.y")) { mysql_query("update pret_archive set arc_id_empr=0 where arc_id_empr!=0 and date_add(arc_fin, interval {$empr_archivage_prets_purge} day) < sysdate()") or die(mysql_error() . "<br />" . "update pret_archive set arc_id_empr=0 where arc_id_empr!=0 and date_add(arc_fin, interval {$empr_archivage_prets_purge} day) < sysdate()"); $_SESSION["last_empr_archivage_prets_purge_day"] = date("m.d.y"); } } return $res; }
function update_in_database($id_notice = 0) { global $dbh; global $pmb_synchro_rdf; $new_notice = 2; $notice_retour = $id_notice; if (!$id_notice) { $retour = array(2, 0); return $retour; } //synchro_rdf if ($pmb_synchro_rdf) { $synchro_rdf = new synchro_rdf(); $synchro_rdf->delRdf($notice_retour, 0); } // traitement des titres uniformes global $pmb_use_uniform_title; if ($pmb_use_uniform_title) { if (count($this->titres_uniformes)) { $ntu = new tu_notice($id_notice); $ntu->update($this->titres_uniformes); } } for ($i = 0; $i < 2; $i++) { if ($this->editors[$i]['id']) { $editor_ids[$i] = $this->editors[$i]['id']; } else { $editor_ids[$i] = editeur::import($this->editors[$i]); } } if ($this->collection["id"]) { $collection_id = $this->collection["id"]; } else { $this->collection['parent'] = $editor_ids[0]; $collection_id = collection::import($this->collection); } if ($this->subcollection["id"]) { $subcollection_id = $this->subcollection["id"]; } else { $this->subcollection['coll_parent'] = $collection_id; $subcollection_id = subcollection::import($this->subcollection); $serie_id = serie::import(stripslashes($this->serie)); } /* traitement de Dewey */ if (!$this->internal_index) { if (!$this->dewey["new_comment"]) { $this->dewey["new_comment"] = ""; } if (!$this->dewey["new_pclass"]) { $this->dewey["new_pclass"] = ""; } $this->internal_index = indexint::import(clean_string($this->dewey[0]), clean_string($this->dewey["new_comment"]), clean_string($this->dewey["new_pclass"])); } $date_parution_z3950 = notice::get_date_parution($this->year); /* Origine de la notice */ $this->orinot_id = origine_notice::import($this->origine_notice); if ($this->orinot_id == 0) { $this->orinot_id = 1; } $sql_ins = "update notices set\n\t\t\ttypdoc \t='" . $this->document_type . "',\n\t\t\tcode \t ='" . $this->isbn . "',\t \n\t\t\ttit1 ='" . $this->titles[0] . "', \n\t\t\ttit2 ='" . $this->titles[1] . "', \n\t\t\ttit3 ='" . $this->titles[2] . "', \n\t\t\ttit4 ='" . $this->titles[3] . "', \n\t\t\ttparent_id ='" . $serie_id . "', \n\t\t\ttnvol ='" . $this->nbr_in_serie . "', \n\t\t\ted1_id =" . $editor_ids[0] . " , \n\t\t\ted2_id =" . $editor_ids[1] . " , \n\t\t\tyear ='" . $this->year . "', \n\t\t\tnpages ='" . $this->page_nbr . "', \n\t\t\till ='" . $this->illustration . "', \n\t\t\tsize ='" . $this->size . "', \n\t\t\taccomp ='" . $this->accompagnement . "', \n\t\t\tcoll_id =" . $collection_id . " , \n\t\t\tsubcoll_id =" . $subcollection_id . " , \n\t\t\tnocoll ='" . $this->nbr_in_collection . "', \n\t\t\tmention_edition ='" . $this->mention_edition . "', \n\t\t\tn_gen ='" . $this->general_note . "', \n\t\t\tn_contenu ='" . $this->content_note . "', \n\t\t\tn_resume ='" . $this->abstract_note . "', \n\t\t\tindexint ='" . $this->internal_index . "', \n\t\t\tstatut\t\t\t\t\t='" . $this->statut . "',\n\t\t\tcommentaire_gestion\t\t='" . $this->commentaire_gestion . "',\n\t\t\tindexation_lang\t\t\t='" . $this->indexation_lang . "',\n\t\t\tthumbnail_url\t\t\t='" . $this->thumbnail_url . "',\n\t\t\tindex_l ='" . clean_tags($this->free_index) . "', \n\t\t\tniveau_biblio ='" . $this->bibliographic_level . "', \n\t\t\tniveau_hierar ='" . $this->hierarchic_level . "', \n\t\t\tlien ='" . $this->link_url . "', \n\t\t\teformat ='" . $this->link_format . "', \n\t\t\torigine_catalogage ='" . $this->orinot_id . "', \n\t\t\tprix ='" . $this->prix . "',\n\t\t\tdate_parution \t\t\t='" . $date_parution_z3950 . "' \n\t\t\twhere notice_id='{$id_notice}' "; //echo "<pre>"; //print_r($this->aut_array); //echo "</pre>"; //echo $sql_ins."<br />"; //echo "<pre>"; //print_r($this->categories); //echo "</pre>"; //exit; $sql_result_ins = pmb_mysql_query($sql_ins) or die("Couldn't update notices : " . $sql_ins); $notice_retour = $id_notice; audit::insert_modif(AUDIT_NOTICE, $id_notice); // purge de la base des responsabilités de la notice intégrée... if ($notice_retour) { $rqt_del = "delete from responsability where responsability_notice='{$notice_retour}'"; $sql_result_del = pmb_mysql_query($rqt_del) or die("Couldn't purge table responsability : " . $rqt_del); } $rqt_ins = "insert into responsability (responsability_author, responsability_notice, responsability_fonction, responsability_type, responsability_ordre) VALUES "; for ($i = 0; $i < sizeof($this->aut_array); $i++) { $aut['id'] = clean_string($this->aut_array[$i]['id']); $aut['name'] = clean_string($this->aut_array[$i]['entree']); $aut['rejete'] = clean_string($this->aut_array[$i]['rejete']); $aut['date'] = clean_string($this->aut_array[$i]['date']); $aut['type'] = $this->aut_array[$i]['type_auteur']; $aut['subdivision'] = clean_string($this->aut_array[$i]['subdivision']); $aut['numero'] = clean_string($this->aut_array[$i]['numero']); $aut['lieu'] = clean_string($this->aut_array[$i]['lieu']); $aut['ville'] = clean_string($this->aut_array[$i]['ville']); $aut['pays'] = clean_string($this->aut_array[$i]['pays']); $aut['web'] = clean_string($this->aut_array[$i]['web']); $aut['author_comment'] = clean_string($this->aut_array[$i]['author_comment']); $aut['authority_number'] = clean_string($this->aut_array[$i]['authority_number']); /* Origine de l'autorité : on reprend les infos d'origine de la notice pour les attribuées aux origines des autorités */ $id_origine_auth = 0; $id_origine_auth = origin_authorities::import($this->origine_notice); if ($id_origine_auth == 0) { $id_origine_auth = 1; } // import de l'autorité auteur si elle n'existe pas et conservation des infos sur l'origine de l'autorité if ($aut['authority_number'] != '' && $id_origine_auth) { $this->aut_array[$i]["id"] = $this->insert_authority_infos($aut['authority_number'], "author", $id_origine_auth, $aut); } if (!$this->aut_array[$i]["id"]) { $this->aut_array[$i]["id"] = auteur::import($aut); } if ($this->aut_array[$i]["id"]) { $rqt = $rqt_ins . " (" . $this->aut_array[$i]["id"] . "," . $notice_retour . ",'" . $this->aut_array[$i]['fonction'] . "'," . $this->aut_array[$i]['responsabilite'] . "," . $i . ") "; $res_ins = pmb_mysql_query($rqt, $dbh); } } // traitement des categories if ($this->categorisation_type == "categorisation_auto") { traite_categories_enreg($notice_retour, $this->categories); } else { $rqt_del = "delete from notices_categories where notcateg_notice='{$notice_retour}' "; $res_del = @pmb_mysql_query($rqt_del, $dbh); $rqt_ins = "insert into notices_categories (notcateg_notice, num_noeud, ordre_categorie) VALUES "; $rqt_ins_values = array(); foreach ($this->categories as $i => $category) { $id_categ = $category['categ_id']; if ($id_categ) { $rqt_ins_values[] = " ('{$notice_retour}','{$id_categ}', {$i}) "; } } $rqt_ins .= implode(",", $rqt_ins_values); $res_ins = @pmb_mysql_query($rqt_ins, $dbh); } // traitement des langues // langues de la publication $rqt_del = "delete from notices_langues where num_notice='{$notice_retour}' "; $res_del = pmb_mysql_query($rqt_del, $dbh); if (is_array($this->language_code) && count($this->language_code)) { $rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES "; foreach ($this->language_code as $ordre_lang => $code_lang) { if ($code_lang) { $rqt = $rqt_ins . " ('{$notice_retour}',0, '{$code_lang}', {$ordre_lang}) "; $res_ins = @pmb_mysql_query($rqt, $dbh); } } } // langues originales if (is_array($this->original_language_code) && count($this->original_language_code)) { $rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES "; foreach ($this->original_language_code as $ordre_lang => $code_lang) { if ($code_lang) { $rqt = $rqt_ins . " ('{$notice_retour}',1, '{$code_lang}', {$ordre_lang}) "; $res_ins = @pmb_mysql_query($rqt, $dbh); } } } //Traitement des champs personnalisés (du formulaire !!!) $p_perso = new parametres_perso("notices"); $nberrors = $p_perso->check_submited_fields(); $p_perso->rec_fields_perso($notice_retour); //Traitement import perso global $notice_id, $notice_org, $notice_type_org; if (function_exists('z_recup_noticeunimarc_suite') && function_exists('recup_noticeunimarc_suite')) { //Suppression des champs persos $requete = "delete from notices_custom_values where notices_custom_origine=" . $notice_retour; @pmb_mysql_query($requete); $notice_id = $notice_retour; z_recup_noticeunimarc_suite($notice_org); z_import_new_notice_suite(); } // Mise à jour des index de la notice notice::majNotices($notice_retour); // Mise à jour de la table notices_global_index notice::majNoticesGlobalIndex($notice_retour); // Mise à jour de la table notices_mots_global_index notice::majNoticesMotsGlobalIndex($notice_retour); //Documents numériques foreach ($this->doc_nums as $doc_num) { if (!$doc_num["a"]) { continue; } explnum_add_from_url($notice_retour, $this->bull_id, $doc_num["b"], $doc_num["a"], false, $this->source_id, $doc_num["f"], '', $doc_num["s"]); } //synchro_rdf if ($pmb_synchro_rdf) { $synchro_rdf->addRdf($notice_retour, 0); } $retour = array($new_notice, $notice_retour); return $retour; }
static function delete(demandes_actions $action) { global $dbh, $chk; if ($action->id_action) { $action->fetch_data($action->id_action, false); if (sizeof($action->notes)) { foreach ($action->notes as $note) { demandes_notes::delete($note); } } $req = "delete from demandes_actions where id_action='" . $action->id_action . "'"; pmb_mysql_query($req, $dbh); $q = "delete ed,eda from explnum_doc ed join explnum_doc_actions eda on ed.id_explnum_doc=eda.num_explnum_doc where eda.num_action={$action->id_action}"; pmb_mysql_query($q, $dbh); audit::delete_audit(AUDIT_ACTION, $action->id_action); } }
function create_notice() { global $dbh, $iddemande; global $demandes_statut_notice, $pmb_type_audit; // creation notice à partir de la demande $req = "insert into notices set\n\t\t\t\ttit1='" . $this->titre_demande . "',\n\t\t\t\tn_contenu='" . $this->sujet_demande . "',\n\t\t\t\tstatut ='" . $demandes_statut_notice . "'\n\t\t\t\t"; pmb_mysql_query($req, $dbh); $id_notice = pmb_mysql_insert_id(); notice::majNotices($id_notice); if ($pmb_type_audit) { audit::insert_creation(AUDIT_NOTICE, $id_notice); } // mise à jour de la demande $req = "UPDATE demandes SET num_notice=" . $id_notice . " WHERE id_demande=" . $this->id_demande; pmb_mysql_query($req, $dbh); $this->num_notice = $id_notice; }
function delete($id) { global $dbh; $p_perso = new custom_parametres_perso("authperso", "authperso", $this->id); $p_perso->delete_values($id); // nettoyage indexation concepts $index_concept = new index_concept($id, TYPE_AUTHPERSO); $index_concept->delete(); indexation_authperso::delete_all_index($id, "authorities", "id_authority", AUT_TABLE_AUTHPERSO); // effacement de l'identifiant unique d'autorité $authority = new authority(0, $id, AUT_TABLE_AUTHPERSO); $authority->delete(); $req = "DELETE FROM authperso_authorities where id_authperso_authority=" . $id; $resultat = pmb_mysql_query($req); audit::delete_audit($this->id + 1000, $id); }
static function import($value, $from_form = 0) { global $dbh; // Si vide on sort if (trim($value['name']) == '') { return FALSE; } if (!$from_form) { $value['name'] = addslashes($value['name']); $value['num_author'] = addslashes($value['num_author']); $value['form'] = addslashes($value['form']); $value['date'] = addslashes($value['date']); $value['subject'] = addslashes($value['subject']); $value['place'] = addslashes($value['place']); $value['history'] = addslashes($value['history']); $value['characteristic'] = addslashes($value['characteristic']); $value['intended_termination'] = addslashes($value['intended_termination']); $value['intended_audience'] = addslashes($value['intended_audience']); $value['context'] = addslashes($value['context']); $value['equinox'] = addslashes($value['equinox']); $value['coordinates'] = addslashes($value['coordinates']); $value['tonalite'] = addslashes($value['tonalite']); $value['comment'] = addslashes($value['comment']); $value['databnf_uri'] = addslashes($value['databnf_uri']); for ($i = 0; $i < count($value['distrib']); $i++) { $value['distrib'][$i] = addslashes($value['distrib'][$i]); } for ($i = 0; $i < count($value['ref']); $i++) { $value['ref'][$i] = addslashes($value['ref'][$i]); } for ($i = 0; $i < count($value['subdiv']); $i++) { $value['subdiv'][$i] = addslashes($value['subdiv'][$i]); } for ($i = 0; $i < count($value['authors']); $i++) { // les champs auteurs sont addslashes dans import auteur $value['authors'][$i]['type'] = addslashes($value['authors'][$i]['type']); $value['authors'][$i]['fonction'] = addslashes($value['authors'][$i]['fonction']); } } $marc_key = new marc_list("music_key"); $marc_form = new marc_list("music_form"); $flag_form = false; $flag_key = false; foreach ($marc_form->table as $value_form => $libelle_form) { if ($value_form == $value['form']) { $flag_form = true; } } foreach ($marc_key->table as $value_key => $libelle_key) { if ($value_key == $value['tonalite']) { $flag_key = true; } } if (count($value['authors'])) { for ($i = 0; $i < count($value['authors']); $i++) { if ($value['authors'][$i]['id']) { $tu_auteur = new auteur($value['authors'][$i]['id']); if (!$tu_auteur->id) { // id non valide $value['authors'][$i]['id'] = 0; } } if (!$value['authors'][$i]['id']) { // création ou déjà existant. auteur::import addslashes les champs $value['authors'][$i]['id'] = auteur::import($value['authors'][$i]); } } } // $value déjà addslashes plus haut -> 1 $titre = titre_uniforme::import_tu_exist($value, 1); if ($titre) { return $titre; } $requete = "INSERT INTO titres_uniformes SET "; $requete .= "tu_name='" . $value["name"] . "', "; $requete .= "tu_num_author='" . $value["num_author"] . "', "; $requete .= (!$flag_form ? "tu_forme='" : "tu_forme_marclist='") . $value['form'] . "', "; $requete .= "tu_date='" . $value["date"] . "', "; $requete .= "tu_sujet='" . $value["subject"] . "', "; $requete .= "tu_lieu='" . $value["place"] . "', "; $requete .= "tu_histoire='" . $value["history"] . "', "; $requete .= "tu_caracteristique='" . $value["characteristic"] . "', "; $requete .= "tu_completude='" . $value["intended_termination"] . "', "; $requete .= "tu_public='" . $value["intended_audience"] . "', "; $requete .= "tu_contexte='" . $value["context"] . "', "; $requete .= "tu_equinoxe='" . $value["equinox"] . "', "; $requete .= "tu_coordonnees='" . $value["coordinates"] . "', "; $requete .= (!$flag_key ? "tu_tonalite='" : "tu_tonalite_marclist='") . $value['tonalite'] . "', "; $requete .= "tu_comment='" . $value["comment"] . "', "; $requete .= "tu_databnf_uri='" . $value["databnf_uri"] . "' "; // insertion du titre uniforme et mise à jour de l'index tu if (pmb_mysql_query($requete, $dbh)) { $tu_id = pmb_mysql_insert_id(); } else { return FALSE; } if (count($value['authors'])) { $ordre = 0; $rqt_ins = "INSERT INTO responsability_tu (responsability_tu_author_num, responsability_tu_num, responsability_tu_fonction, responsability_tu_type, responsability_tu_ordre) VALUES "; foreach ($value['authors'] as $author) { if ($author['id']) { $rqt = $rqt_ins . " ('" . $author['id'] . "','" . $tu_id . "','" . $author['fonction'] . "','" . $author['type'] . "', {$ordre}) "; $res_ins = @pmb_mysql_query($rqt); $ordre++; } } } // Distribution instrumentale et vocale (pour la musique) for ($i = 0; $i < count($value['distrib']); $i++) { $requete = "INSERT INTO tu_distrib SET\n\t\t\tdistrib_num_tu='{$tu_id}',\n\t\t\tdistrib_name='" . $value['distrib'][$i] . "',\n\t\t\tdistrib_ordre='{$i}' "; pmb_mysql_query($requete, $dbh); } // Référence numérique (pour la musique) for ($i = 0; $i < count($value['ref']); $i++) { $requete = "INSERT INTO tu_ref SET\n\t\t\tref_num_tu='{$tu_id}',\n\t\t\tref_name='" . $value['ref'][$i] . "',\n\t\t\tref_ordre='{$i}' "; pmb_mysql_query($requete, $dbh); } // Subdivision de forme for ($i = 0; $i < count($value['subdiv']); $i++) { $requete = "INSERT INTO tu_subdiv SET\n\t\t\tsubdiv_num_tu='{$tu_id}',\n\t\t\tsubdiv_name='" . $value['subdiv'][$i] . "',\n\t\t\tsubdiv_ordre='{$i}' "; pmb_mysql_query($requete, $dbh); } audit::insert_creation(AUDIT_TITRE_UNIFORME, $tu_id); //update authority informations $authority = new authority(0, $tu_id, AUT_TABLE_TITRES_UNIFORMES); $authority->set_num_statut($value["statut"]); $authority->update(); // mise à jour du champ index du titre uniforme if ($tu_id) { titre_uniforme::update_index_tu($tu_id); titre_uniforme::tu_enrichment($tu_id); } return $tu_id; }
function import($name, $comment = "", $id_pclassement = "") { global $dbh; global $pmb_limitation_dewey; global $thesaurus_classement_defaut; // check sur la variable passée en paramètre if (!$name) { return 0; } if ($pmb_limitation_dewey < 0) { return 0; } if ($pmb_limitation_dewey) { $name = substr($name, 0, $pmb_limitation_dewey); } // tentative de récupérer l'id associée dans la base (implique que l'autorité existe) // préparation de la requête $key = addslashes($name); $comment = addslashes($comment); if (!$id_pclassement) { $num_pclass = $thesaurus_classement_defaut; } else { $num_pclass = $id_pclassement; } //On regarde si le plan de classement existe $query = "SELECT name_pclass FROM pclassement WHERE id_pclass='" . addslashes($num_pclass) . "' LIMIT 1 "; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't SELECT pclassement " . $query); } if (!pmb_mysql_num_rows($result)) { //Le plan de classement demandé n'existe pas return 0; // -> pas d'import } $query = "SELECT indexint_id FROM indexint WHERE indexint_name='" . rtrim(substr($key, 0, 255)) . "' and num_pclass='{$num_pclass}' LIMIT 1 "; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't SELECT indexint " . $query); } // résultat // récupération du résultat de la recherche $tindexint = pmb_mysql_fetch_object($result); // du résultat et récupération éventuelle de l'id if ($tindexint->indexint_id) { return $tindexint->indexint_id; } // id non-récupérée >> création if (!$id_pclassement) { $num_pclass = $thesaurus_classement_defaut; } else { $num_pclass = $id_pclassement; } $query = "INSERT INTO indexint SET indexint_name='{$key}', indexint_comment='{$comment}', index_indexint=' " . strip_empty_words($key . " " . $comment) . " ', num_pclass={$num_pclass} "; $result = @pmb_mysql_query($query, $dbh); if (!$result) { die("can't INSERT into indexint " . $query); } $id = pmb_mysql_insert_id($dbh); audit::insert_creation(AUDIT_INDEXINT, $id); return $id; }
$base_auth = "CATALOGAGE_AUTH"; $base_title = "\$msg[audit_titre]"; require_once "{$base_path}/includes/init.inc.php"; switch ($pmb_type_audit) { case '1': $audit = new audit($type_obj, $object_id); $audit->get_all(); if (count($audit->all_audit) == 1) { $all[0] = $audit->get_creation(); } else { $all[0] = $audit->get_creation(); $all[1] = $audit->get_last(); } break; case '2': $audit = new audit($type_obj, $object_id); $audit->get_all(); $all = $audit->all_audit; break; default: case '0': echo "<script> self.close(); </script>"; break; } $audit_list = "<script type='text/javascript' src='./javascript/sorttable.js'></script>\n<table class='sortable' ><tr><th>" . $msg['audit_col_userid'] . "</th><th>" . $msg['audit_col_username'] . "</th><th>" . $msg['audit_col_type_action'] . "</th><th>" . $msg['audit_col_date_heure'] . "</th><th>" . $msg['audit_col_nom'] . "</th><th>" . $msg['audit_comment'] . "</th></tr>"; while (list($cle, $valeur) = each($all)) { //user_id, user_name, type_modif, quand, concat(prenom, ' ', nom) as prenom_nom $info = json_decode($valeur->info); $info_display = ""; if (is_object($info)) { if ($info->comment) {