static function delete($demande) { global $dbh, $delnoti; if ($demande->id_demande) { $demande->fetch_data($demande->id_demande, false); if ($delnoti) { //Si on supprime la notice associée $query = "SELECT num_notice FROM demandes WHERE id_demande = " . $demande->id_demande . " AND num_notice!=0"; $result = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($result)) { notice::del_notice(pmb_mysql_result($result, 0, 0)); } } // suppression des actions et des notes if (sizeof($demande->actions)) { foreach ($demande->actions as $action) { demandes_actions::delete($action); } } // suppression des liens user - demande $req = "delete from demandes_users where num_demande='" . $demande->id_demande . "'"; pmb_mysql_query($req, $dbh); //suppression des doc num $req = "delete ed,eda from explnum_doc ed \n\t\t\tjoin explnum_doc_actions eda on ed.id_explnum_doc=eda.num_explnum_doc \n\t\t\tjoin demandes_actions da on eda.num_action=da.id_action\n\t\t\twhere da.num_demande=" . $demande->id_demande; pmb_mysql_query($req, $dbh); // suppression des valeurs de CP $p_perso = new parametres_perso("demandes"); $p_perso->delete_values($demande->id_demande); // suppression de la demande $req = "delete from demandes where id_demande='" . $demande->id_demande . "'"; pmb_mysql_query($req, $dbh); //suppression de l'audit audit::delete_audit(AUDIT_DEMANDE, $demande->id_demande); } }
function analysis_delete() { global $dbh; global $pmb_synchro_rdf, $pmb_notice_img_folder_id; //Suppression de la vignette de la notice si il y en a une d'uploadée if ($pmb_notice_img_folder_id) { $req = "select repertoire_path from upload_repertoire where repertoire_id ='" . $pmb_notice_img_folder_id . "'"; $res = pmb_mysql_query($req, $dbh); if (pmb_mysql_num_rows($res)) { $rep = pmb_mysql_fetch_object($res); $img = $rep->repertoire_path . "img_" . $this->analysis_id; @unlink($img); } } //synchro rdf if ($pmb_synchro_rdf) { $synchro_rdf = new synchro_rdf(); $synchro_rdf->delRdf($this->analysis_id, 0); } //elimination des docs numeriques $req_explNum = "select explnum_id from explnum where explnum_notice=" . $this->analysis_id . " "; $result_explNum = @pmb_mysql_query($req_explNum, $dbh); while ($explNum = pmb_mysql_fetch_object($result_explNum)) { $myExplNum = new explnum($explNum->explnum_id); $myExplNum->delete(); } // suppression des entrees dans les caddies $query_caddie = "select caddie_id from caddie_content, caddie where type='NOTI' and object_id in ({$this->analysis_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 in ({$this->analysis_id}) "; @pmb_mysql_query($req_suppr_caddie, $dbh); } //elimination des champs persos $p_perso = new parametres_perso("notices"); $p_perso->delete_values($this->analysis_id); // on supprime l'entree dans la table 'analysis' $requete = "DELETE FROM analysis WHERE analysis_notice=" . $this->analysis_id; pmb_mysql_query($requete, $dbh); $result = pmb_mysql_affected_rows($dbh); // on supprime la notice du dépouillement $requete = "DELETE FROM notices WHERE notice_id='" . $this->analysis_id . "' "; pmb_mysql_query($requete, $dbh); $result += pmb_mysql_affected_rows($dbh); //suppression des droits d'acces user_notice $requete = "delete from acces_res_1 where res_num=" . $this->analysis_id; @pmb_mysql_query($requete, $dbh); //suppression des droits d'acces empr_notice $requete = "delete from acces_res_2 where res_num=" . $this->analysis_id; @pmb_mysql_query($requete, $dbh); // suppression des audits audit::delete_audit(AUDIT_NOTICE, $this->analysis_id); // suppression des categories $rqt_del = "delete from notices_categories where notcateg_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($rqt_del, $dbh); // suppression des responsabilités $rqt_del = "delete from responsability where responsability_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($rqt_del, $dbh); // suppression des liens $rqt_del = "delete from notices_relations where num_notice='" . $this->analysis_id . "' OR linked_notice='" . $this->analysis_id . "'"; @pmb_mysql_query($rqt_del, $dbh); // suppression des bannettes $rqt_del = "delete from bannette_contenu where num_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($rqt_del, $dbh); // suppression des tags $rqt_del = "delete from tags where num_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($rqt_del, $dbh); // suppression des avis $rqt_del = "delete from avis where num_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($rqt_del, $dbh); //suppression des langues $query = "delete from notices_langues where num_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($query, $dbh); // suppression index global $query = "delete from notices_global_index where num_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($query, $dbh); // suppression notices_mots_global_index $query = "delete from notices_mots_global_index where id_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($query, $dbh); // suppression notices_fields_global_index $query = "delete from notices_fields_global_index where id_notice='" . $this->analysis_id . "' "; @pmb_mysql_query($query, $dbh); //Suppression de la reference a la notice dans la table suggestions $query = "UPDATE suggestions set num_notice = 0 where num_notice=" . $this->analysis_id; @pmb_mysql_query($query, $dbh); //Suppression de la reference a la notice dans la table lignes_actes $requete = "UPDATE lignes_actes set num_produit=0, type_ligne=0 where num_produit='" . $this->analysis_id . "' and type_ligne in ('1','5') "; @pmb_mysql_query($requete, $dbh); //Suppression de la référence de la source si exitante.. $query = "delete from notices_externes where num_notice=" . $this->analysis_id; @pmb_mysql_query($query, $dbh); //Suppression dans les listes de lecture partagées $requete = "SELECT id_liste, notices_associees from opac_liste_lecture"; $res = pmb_mysql_query($requete, $dbh); $id_tab = array(); while ($notices = pmb_mysql_fetch_object($res)) { $id_tab = explode(',', $notices->notices_associees); for ($i = 0; $i < sizeof($id_tab); $i++) { if ($id_tab[$i] == $this->analysis_id) { unset($id_tab[$i]); } } $requete = "UPDATE opac_liste_lecture set notices_associees='" . addslashes(implode(',', $id_tab)) . "' where id_liste='" . $notices->id_liste . "'"; pmb_mysql_query($requete, $dbh); } $req = "delete from notices_authperso where notice_authperso_notice_num=" . $id; pmb_mysql_query($req, $dbh); return $result; }
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; }
// 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 if ($expl_id) { $index_concept = new index_concept($expl_id, TYPE_EXPL); $index_concept->delete(); } print "<div class='row'><div class='msg-perio'>" . $msg[maj_encours] . "</div></div>"; $id_form = md5(microtime()); $retour = "./catalog.php?categ=isbd&id={$id}"; print "<form class='form-{$current_module}' name=\"dummy\" method=\"post\" action=\"{$retour}\" style=\"display:none\">\n\t\t<input type=\"hidden\" name=\"id_form\" value=\"{$id_form}\">\n\t\t</form>\n\t\t<script type=\"text/javascript\">document.dummy.submit();</script>\n\t\t</div>"; } ?>
function delete() { global $dbh; if ($this->id) { //On nettoye l'index if (!$this->serial_id) { $req = "SELECT id_serial FROM collections_state WHERE collstate_id='" . $this->id . "'"; $res = pmb_mysql_query($req, $dbh); if ($res && pmb_mysql_num_rows($res)) { $this->serial_id = pmb_mysql_result($res, 0, 0); } } //elimination des champs persos $p_perso = new parametres_perso("collstate"); $p_perso->delete_values($this->id); pmb_mysql_query("DELETE from collections_state WHERE collstate_id='" . $this->id . "' ", $dbh); } else { if ($this->serial_id) { $myQuery = pmb_mysql_query("SELECT collstate_id FROM collections_state WHERE id_serial='" . $this->serial_id . "' ", $dbh); if (pmb_mysql_num_rows($myQuery)) { while ($coll = pmb_mysql_fetch_object($myQuery)) { $my_collstate = new collstate($coll->collstate_id); $my_collstate->delete(); } } } } //On nettoye l'index notice::majNoticesMotsGlobalIndex($this->serial_id, 'collstate'); }
static function del_notice($id) { global $dbh, $class_path, $pmb_synchro_rdf, $pmb_notice_img_folder_id; //Suppression de la vignette de la notice si il y en a une d'uploadée if ($pmb_notice_img_folder_id) { $req = "select repertoire_path from upload_repertoire where repertoire_id ='" . $pmb_notice_img_folder_id . "'"; $res = pmb_mysql_query($req, $dbh); if (pmb_mysql_num_rows($res)) { $rep = pmb_mysql_fetch_object($res); $img = $rep->repertoire_path . "img_" . $id; @unlink($img); } } //synchro_rdf (à laisser en premier : a besoin des éléments de la notice pour retirer du graphe rdf) if ($pmb_synchro_rdf) { $synchro_rdf = new synchro_rdf(); $synchro_rdf->delRdf($id, 0); } $p_perso = new parametres_perso("notices"); $p_perso->delete_values($id); $requete = "DELETE FROM notices_categories WHERE notcateg_notice='{$id}'"; @pmb_mysql_query($requete, $dbh); $requete = "DELETE FROM notices_langues WHERE num_notice='{$id}'"; @pmb_mysql_query($requete, $dbh); $requete = "DELETE FROM notices WHERE notice_id='{$id}'"; @pmb_mysql_query($requete, $dbh); audit::delete_audit(AUDIT_NOTICE, $id); // Effacement de l'occurence de la notice ds la table notices_global_index : $requete = "DELETE FROM notices_global_index WHERE num_notice=" . $id; @pmb_mysql_query($requete, $dbh); // Effacement des occurences de la notice ds la table notices_mots_global_index : $requete = "DELETE FROM notices_mots_global_index WHERE id_notice=" . $id; @pmb_mysql_query($requete, $dbh); // Effacement des occurences de la notice ds la table notices_fields_global_index : $requete = "DELETE FROM notices_fields_global_index WHERE id_notice=" . $id; @pmb_mysql_query($requete, $dbh); $requete = "delete from notices_relations where num_notice='{$id}' OR linked_notice='{$id}' "; @pmb_mysql_query($requete, $dbh); // elimination des docs numeriques $req_explNum = "select explnum_id from explnum where explnum_notice=" . $id . " "; $result_explNum = @pmb_mysql_query($req_explNum, $dbh); while ($explNum = pmb_mysql_fetch_object($result_explNum)) { $myExplNum = new explnum($explNum->explnum_id); $myExplNum->delete(); } // Clean des vedettes notice::delete_vedette_links($id); $requete = "DELETE FROM responsability WHERE responsability_notice='{$id}'"; @pmb_mysql_query($requete, $dbh); $requete = "DELETE FROM bannette_contenu WHERE num_notice='{$id}'"; @pmb_mysql_query($requete, $dbh); $requete = "delete from caddie_content using caddie, caddie_content where caddie_id=idcaddie and type='NOTI' and object_id='" . $id . "' "; @pmb_mysql_query($requete, $dbh); $requete = "delete from analysis where analysis_notice='" . $id . "' "; @pmb_mysql_query($requete, $dbh); $requete = "update bulletins set num_notice=0 where num_notice='" . $id . "' "; @pmb_mysql_query($requete, $dbh); //Suppression de la reference a la notice dans la table suggestions $requete = "UPDATE suggestions set num_notice = 0 where num_notice=" . $id; @pmb_mysql_query($requete, $dbh); //Suppression de la reference a la notice dans la table lignes_actes $requete = "UPDATE lignes_actes set num_produit=0, type_ligne=0 where num_produit='" . $id . "' and type_ligne in ('1','5') "; @pmb_mysql_query($requete, $dbh); //suppression des droits d'acces user_notice $requete = "delete from acces_res_1 where res_num=" . $id; @pmb_mysql_query($requete, $dbh); // suppression des tags $rqt_del = "delete from tags where num_notice=" . $id; @pmb_mysql_query($rqt_del, $dbh); //suppression des avis $requete = "delete from avis where num_notice=" . $id; @pmb_mysql_query($requete, $dbh); //suppression des droits d'acces empr_notice $requete = "delete from acces_res_2 where res_num=" . $id; @pmb_mysql_query($requete, $dbh); // Supression des liens avec les titres uniformes $requete = "DELETE FROM notices_titres_uniformes WHERE ntu_num_notice='{$id}'"; @pmb_mysql_query($requete, $dbh); //Suppression dans les listes de lecture partagées $requete = "SELECT id_liste, notices_associees from opac_liste_lecture"; $res = pmb_mysql_query($requete, $dbh); $id_tab = array(); while ($notices = pmb_mysql_fetch_object($res)) { $id_tab = explode(',', $notices->notices_associees); for ($i = 0; $i < sizeof($id_tab); $i++) { if ($id_tab[$i] == $id) { unset($id_tab[$i]); } } $requete = "UPDATE opac_liste_lecture set notices_associees='" . addslashes(implode(',', $id_tab)) . "' where id_liste='" . $notices->id_liste . "'"; pmb_mysql_query($requete, $dbh); } // Suppression des résas $requete = "DELETE FROM resa WHERE resa_idnotice=" . $id; pmb_mysql_query($requete, $dbh); // Suppression des transferts_demande $requete = "DELETE FROM transferts_demande using transferts_demande, transferts WHERE num_transfert=id_transfert and num_notice=" . $id; pmb_mysql_query($requete, $dbh); // Suppression des transferts $requete = "DELETE FROM transferts WHERE num_notice=" . $id; pmb_mysql_query($requete, $dbh); //si intégré depuis une source externe, on supprime aussi la référence $query = "delete from notices_externes where num_notice=" . $id; @pmb_mysql_query($query, $dbh); $req = "delete from notices_authperso where notice_authperso_notice_num=" . $id; pmb_mysql_query($req, $dbh); //Suppression des emprises liées à la notice $req = "select map_emprise_id from map_emprises where map_emprise_type=11 and map_emprise_obj_num=" . $id; $result = pmb_mysql_query($req, $dbh); if (pmb_mysql_num_rows($result)) { $row = pmb_mysql_fetch_object($result); $query = "delete from map_emprises where map_emprise_obj_num=" . $id . " and map_emprise_type=11"; pmb_mysql_query($query, $dbh); $req_areas = "delete from map_hold_areas where type_obj=11 and id_obj=" . $row->map_emprise_id; pmb_mysql_query($req_areas, $dbh); } $query = "update docwatch_items set item_num_notice=0 where item_num_notice = " . $id; pmb_mysql_query($query, $dbh); // Nettoyage indexation concepts $index_concept = new index_concept($id, TYPE_NOTICE); $index_concept->delete(); }
static function del_empr($id = 0) { global $dbh; if (!$id) { return false; } $rqt_prets = "select 1 from pret where pret_idempr={$id} "; $resultat_prets = mysql_query($rqt_prets, $dbh); $resprets = mysql_num_rows($resultat_prets); if (mysql_num_rows($resultat_prets)) { return false; } else { $rqt_del = "delete from empr_caddie_content where object_id={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from empr where id_empr={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $p_perso = new parametres_perso("empr"); $p_perso->delete_values($id); $rqt_del = "delete from empr_groupe where empr_id={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "update groupe set resp_groupe=0 where resp_groupe={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from recouvrements where empr_id={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from resa where resa_idempr={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from resa_planning where resa_idempr={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from opac_sessions where empr_id={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "update suggestions_origine set origine='', type_origine=2 where origine={$id} and type_origine=1 "; $resultat_del = mysql_query($rqt_del); $rqt_del = "delete from bannette_abon where num_empr={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from bannette where proprio_bannette={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from equations where proprio_equation={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from compte where proprio_id={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete from opac_views_empr where emprview_empr_num={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "update avis set num_empr=0 where num_empr={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $query = mysql_query("DELETE bannettes FROM bannettes LEFT JOIN empr ON proprio_bannette = id_empr WHERE id_empr IS NULL AND proprio_bannette !=0", $dbh); $query = mysql_query("DELETE equations FROM equations LEFT JOIN empr ON proprio_equation = id_empr WHERE id_empr IS NULL AND proprio_equation !=0 ", $dbh); $query = mysql_query("DELETE bannette_equation FROM bannette_equation LEFT JOIN bannettes ON num_bannette = id_bannette WHERE id_bannette IS NULL ", $dbh); $query = mysql_query("DELETE bannette_equation FROM bannette_equation LEFT JOIN equations on num_equation=id_equation WHERE id_equation is null", $dbh); $query = mysql_query("DELETE bannette_abon FROM bannette_abon LEFT JOIN empr on num_empr=id_empr WHERE id_empr is null", $dbh); $query = mysql_query("DELETE bannette_abon FROM bannette_abon LEFT JOIN bannettes ON num_bannette=id_bannette WHERE id_bannette IS NULL ", $dbh); //listes de lecture partagées $rqt_del = "delete opac_liste_lecture where num_empr={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $rqt_del = "delete abo_liste_lecture where num_empr={$id} "; $resultat_del = mysql_query($rqt_del, $dbh); $query = mysql_query("delete abo_liste_lecture from abo_liste_lecture left join empr on num_empr=id_empr where id_empr is null", $dbh); $query = mysql_query("delete abo_liste_lecture from abo_liste_lecture left join opac_liste_lecture on num_liste=id_liste where id_liste is null", $dbh); $query = mysql_query("delete opac_liste_lecture from opac_liste_lecture left join empr on num_empr=id_empr where id_empr is null", $dbh); //Historique des relances $del_histo = "delete lr, ler from log_retard lr join log_expl_retard ler on lr.id_log=ler.num_log_retard where lr.idempr={$id}"; mysql_query($del_histo, $dbh); // clean de circulation de périodique $req = " DELETE from serialcirc_group WHERE num_serialcirc_group_empr={$id} "; mysql_query($req, $dbh); $req = " DELETE from serialcirc_diff WHERE num_serialcirc_diff_empr={$id} and serialcirc_diff_empr_type=0"; mysql_query($req, $dbh); $req = " DELETE from serialcirc_copy WHERE num_serialcirc_copy_empr={$id} "; mysql_query($req, $dbh); $req = " DELETE from serialcirc_ask WHERE num_serialcirc_ask_empr={$id} "; mysql_query($req, $dbh); $req = " DELETE from serialcirc_circ WHERE num_serialcirc_circ_empr={$id} "; mysql_query($req, $dbh); //Suppression des droits d'acces emprunteurs - notices $q = "delete from acces_usr_2 where usr_num={$id} "; @mysql_query($q, $dbh); return true; } }