예제 #1
0
 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();
 }
 function replace($by, $link_save)
 {
     global $msg;
     global $dbh;
     global $pmb_synchro_rdf;
     if ($this->id == $by || !$this->id) {
         return $msg[223];
     }
     $aut_link = new aut_link(AUT_TABLE_TITRES_UNIFORMES, $this->id);
     // "Conserver les liens entre autorités" est demandé
     if ($link_save) {
         // liens entre autorités
         $aut_link->add_link_to(AUT_TABLE_TITRES_UNIFORMES, $by);
     }
     $aut_link->delete();
     // remplacement dans les responsabilités
     $requete = "UPDATE notices_titres_uniformes SET ntu_num_tu='{$by}' WHERE ntu_num_tu='{$this->id}' ";
     @pmb_mysql_query($requete, $dbh);
     $requete = "UPDATE responsability_tu set responsability_tu_num ='{$by}' where responsability_tu_num='" . $this->id . "' ";
     @pmb_mysql_query($requete);
     // effacement dans la table des titres_uniformes
     $requete = "DELETE FROM titres_uniformes WHERE tu_id='{$this->id}' ";
     pmb_mysql_query($requete, $dbh);
     // delete les champs répétables
     $requete = "DELETE FROM tu_distrib WHERE distrib_num_tu='{$this->id}' ";
     pmb_mysql_query($requete, $dbh);
     $requete = "DELETE FROM tu_ref WHERE ref_num_tu='{$this->id}' ";
     pmb_mysql_query($requete, $dbh);
     $requete = "DELETE FROM tu_subdiv WHERE subdiv_num_tu='{$this->id}' ";
     pmb_mysql_query($requete, $dbh);
     //nettoyage d'autorities_sources
     $query = "select * from authorities_sources where num_authority = " . $this->id . " and authority_type = 'uniform_title'";
     $result = pmb_mysql_query($query);
     if (pmb_mysql_num_rows($result)) {
         while ($row = pmb_mysql_fetch_object($result)) {
             if ($row->authority_favorite == 1) {
                 //on suprime les références si l'autorité a été importée...
                 $query = "delete from notices_authorities_sources where num_authority_source = " . $row->id_authority_source;
                 pmb_mysql_result($query);
                 $query = "delete from authorities_sources where id_authority_source = " . $row->id_authority_source;
                 pmb_mysql_result($query);
             } else {
                 //on fait suivre le reste
                 $query = "update authorities_sources set num_authority = " . $by . " where num_authority_source = " . $row->id_authority_source;
                 pmb_mysql_query($query);
             }
         }
     }
     audit::delete_audit(AUDIT_TITRE_UNIFORME, $this->id);
     // nettoyage indexation
     indexation_authority::delete_all_index($this->id, "authorities", "id_authority", AUT_TABLE_TITRES_UNIFORMES);
     // effacement de l'identifiant unique d'autorité
     $authority = new authority(0, $this->id, AUT_TABLE_TITRES_UNIFORMES);
     $authority->delete();
     titre_uniforme::update_index($by);
     //mise à jour de l'oeuvre rdf
     if ($pmb_synchro_rdf) {
         $synchro_rdf = new synchro_rdf();
         $synchro_rdf->replaceAuthority($this->id, $by, 'oeuvre');
     }
     return FALSE;
 }
예제 #3
0
 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();
 }
예제 #4
0
 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 = pmb_mysql_query($query, $dbh);
     $stat_id = pmb_mysql_fetch_object($result);
     if ($stat_id->pret_temp) {
         $result = pmb_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 les valeurs de champs personnalisés
         $p_perso = new pret_parametres_perso("pret");
         $p_perso->delete_values($stat_id->pret_arc_id);
         // supprimer le prêt annulé
         $query = "delete from pret where pret_idexpl = '" . $id_expl . "' ";
         $result = pmb_mysql_query($query, $dbh);
     }
     $array[0] = $this;
     $buf_xml = array2xml($array);
     return $buf_xml;
 }
예제 #5
0
 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);
     }
 }
예제 #6
0
 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);
     }
 }
예제 #7
0
 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);
 }
예제 #8
0
 function replace($by, $link_save = 0)
 {
     // à compléter
     global $msg;
     global $dbh;
     if (!$by) {
         // pas de valeur de remplacement !!!
         return "serious error occured, please contact admin...";
     }
     if ($this->s_id == $by || !$this->s_id) {
         // impossible de remplacer une autorité par elle-même
         return $msg[411];
     }
     $aut_link = new aut_link(AUT_TABLE_SERIES, $this->s_id);
     // "Conserver les liens entre autorités" est demandé
     if ($link_save) {
         // liens entre autorités
         $aut_link->add_link_to(AUT_TABLE_SERIES, $by);
     }
     $aut_link->delete();
     // a) remplacement dans les notices
     $requete = "UPDATE notices SET tparent_id={$by} WHERE tparent_id=" . $this->s_id;
     $res = pmb_mysql_query($requete, $dbh);
     $rqt_notice = "select notice_id,tit1,tit2,tit3,tit4 from notices where tparent_id=" . $by;
     $r_notice = pmb_mysql_query($rqt_notice);
     while ($r = pmb_mysql_fetch_object($r_notice)) {
         $rq_serie = "update notices, series set notices.index_serie=serie_index, notices.index_wew=concat(serie_name,' ',tit1,' ',tit2,' ',tit3,' ',tit4),notices.index_sew=concat(' ',serie_index,' ','" . addslashes(strip_empty_words($r->tit1 . " " . $r->tit2 . " " . $r->tit3 . " " . $r->tit4)) . "',' ') where notice_id=" . $r->notice_id . " and serie_id=tparent_id";
         pmb_mysql_query($rq_serie);
     }
     // b) suppression du titre de série à remplacer
     $requete = "DELETE FROM series WHERE serie_id=" . $this->s_id;
     $res = pmb_mysql_query($requete, $dbh);
     audit::delete_audit(AUDIT_SERIE, $this->s_id);
     // nettoyage indexation
     indexation_authority::delete_all_index($this->s_id, "authorities", "id_authority", AUT_TABLE_SERIES);
     // effacement de l'identifiant unique d'autorité
     $authority = new authority(0, $this->s_id, AUT_TABLE_SERIES);
     $authority->delete();
     serie::update_index($by);
     return FALSE;
 }
예제 #9
0
파일: expl.class.php 프로젝트: hogsim/PMB
 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;
 }
예제 #10
0
 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;
 }
예제 #11
0
$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
예제 #12
0
파일: editor.class.php 프로젝트: hogsim/PMB
 function replace($by, $link_save = 0)
 {
     global $msg;
     global $dbh;
     global $pmb_synchro_rdf;
     if (!$by || !$this->id) {
         // pas de valeur de remplacement !!!
         return "L'identifiant editeur est vide ou l'editeur de remplacement est meme que celui d'origine !";
     }
     if ($this->id == $by) {
         // impossible de remplacer un editeur par lui-meme
         return $msg[228];
     }
     $aut_link = new aut_link(AUT_TABLE_PUBLISHERS, $this->id);
     // "Conserver les liens entre autorités" est demandé
     if ($link_save) {
         // liens entre autorités
         $aut_link->add_link_to(AUT_TABLE_PUBLISHERS, $by);
     }
     $aut_link->delete();
     // a) remplacement dans les notices
     $requete = "UPDATE notices SET ed1_id={$by} WHERE ed1_id=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     $requete = "UPDATE notices SET ed2_id={$by} WHERE ed2_id=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     // b) remplacement dans la table des collections
     $requete = "UPDATE collections SET collection_parent={$by} WHERE collection_parent=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     // c) suppression de l'editeur a remplacer
     $requete = "DELETE FROM publishers WHERE ed_id=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     audit::delete_audit(AUDIT_PUBLISHER, $this->id);
     editeur::update_index($by);
     //mise à jour de l'oeuvre rdf
     if ($pmb_synchro_rdf) {
         $synchro_rdf = new synchro_rdf();
         $synchro_rdf->replaceAuthority($this->id, $by, 'editeur');
     }
     return FALSE;
 }
예제 #13
0
 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();
 }
예제 #14
0
파일: author.class.php 프로젝트: hogsim/PMB
 function replace($by, $link_save = 0)
 {
     global $msg;
     global $dbh;
     global $pmb_synchro_rdf;
     if ($this->id == $by || !$this->id) {
         return $msg[223];
     }
     $aut_link = new aut_link(AUT_TABLE_AUTHORS, $this->id);
     // "Conserver les liens entre autorités" est demandé
     if ($link_save) {
         // liens entre autorités
         $aut_link->add_link_to(AUT_TABLE_AUTHORS, $by);
         // Voir aussi
         if ($this->see) {
             $requete = "UPDATE authors SET author_see='" . $this->see . "'  WHERE author_id='{$by}' ";
             @pmb_mysql_query($requete, $dbh);
         }
     }
     $aut_link->delete();
     // remplacement dans les responsabilités
     $requete = "UPDATE responsability SET responsability_author='{$by}' WHERE responsability_author='{$this->id}' ";
     @pmb_mysql_query($requete, $dbh);
     // effacement dans les responsabilités
     $requete = "DELETE FROM responsability WHERE responsability_author='{$this->id}' ";
     @pmb_mysql_query($requete, $dbh);
     // remplacement dans les titres uniformes
     $requete = "UPDATE responsability_tu SET responsability_tu_author_num='{$by}' WHERE responsability_tu_author_num='{$this->id}' ";
     @pmb_mysql_query($requete, $dbh);
     $requete = "DELETE FROM responsability_tu WHERE responsability_tu_author_num='{$this->id}' ";
     @pmb_mysql_query($requete, $dbh);
     // effacement dans la table des auteurs
     $requete = "DELETE FROM authors WHERE author_id='{$this->id}' ";
     pmb_mysql_query($requete, $dbh);
     // nettoyage d'autorities_sources
     $query = "select * from authorities_sources where num_authority = " . $this->id . " and authority_type = 'author'";
     $result = pmb_mysql_query($query);
     if (pmb_mysql_num_rows($result)) {
         while ($row = pmb_mysql_fetch_object($result)) {
             if ($row->authority_favorite == 1) {
                 // on suprime les références si l'autorité a été importée...
                 $query = "delete from notices_authorities_sources where num_authority_source = " . $row->id_authority_source;
                 pmb_mysql_result($query);
                 $query = "delete from authorities_sources where id_authority_source = " . $row->id_authority_source;
                 pmb_mysql_result($query);
             } else {
                 // on fait suivre le reste
                 $query = "update authorities_sources set num_authority = " . $by . " where num_authority_source = " . $row->id_authority_source;
                 pmb_mysql_query($query);
             }
         }
     }
     audit::delete_audit(AUDIT_AUTHOR, $this->id);
     auteur::update_index($by);
     // mise à jour de l'oeuvre rdf
     if ($pmb_synchro_rdf) {
         $synchro_rdf = new synchro_rdf();
         $synchro_rdf->replaceAuthority($this->id, $by, 'auteur');
     }
     return FALSE;
 }
예제 #15
0
 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);
     }
 }
예제 #16
0
 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);
 }
예제 #17
0
 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;
 }
예제 #18
0
 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;
     }
 }
예제 #19
0
 function replace($by, $link_save = 0)
 {
     global $msg;
     global $dbh;
     if (!$by) {
         // pas de valeur de remplacement !!!
         return "serious error occured, please contact admin...";
     }
     if ($this->id == $by || !$this->id) {
         // impossible de remplacer une collection par elle-même
         return $msg[226];
     }
     // a) remplacement dans les notices
     // on obtient les infos de la nouvelle collection
     $n_collection = new collection($by);
     if (!$n_collection->parent) {
         // la nouvelle collection est foireuse
         return $msg[406];
     }
     $aut_link = new aut_link(AUT_TABLE_COLLECTIONS, $this->id);
     // "Conserver les liens entre autorités" est demandé
     if ($link_save) {
         // liens entre autorités
         $aut_link->add_link_to(AUT_TABLE_COLLECTIONS, $by);
     }
     $aut_link->delete();
     $requete = "UPDATE notices SET ed1_id=" . $n_collection->parent . ", coll_id={$by} WHERE coll_id=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     // b) remplacement dans la table des sous-collections
     $requete = "UPDATE sub_collections SET sub_coll_parent={$by} WHERE sub_coll_parent=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     // c) suppression de la collection
     $requete = "DELETE FROM collections WHERE collection_id=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     //nettoyage d'autorities_sources
     $query = "select * from authorities_sources where num_authority = " . $this->id . " and authority_type = 'collection'";
     $result = pmb_mysql_query($query);
     if (pmb_mysql_num_rows($result)) {
         while ($row = pmb_mysql_fetch_object($result)) {
             if ($row->authority_favorite == 1) {
                 //on suprime les références si l'autorité a été importée...
                 $query = "delete from notices_authorities_sources where num_authority_source = " . $row->id_authority_source;
                 pmb_mysql_result($query);
                 $query = "delete from authorities_sources where id_authority_source = " . $row->id_authority_source;
                 pmb_mysql_result($query);
             } else {
                 //on fait suivre le reste
                 $query = "update authorities_sources set num_authority = " . $by . " where num_authority_source = " . $row->id_authority_source;
                 pmb_mysql_query($query);
             }
         }
     }
     audit::delete_audit(AUDIT_COLLECTION, $this->id);
     // nettoyage indexation
     indexation_authority::delete_all_index($this->id, "authorities", "id_authority", AUT_TABLE_COLLECTIONS);
     // effacement de l'identifiant unique d'autorité
     $authority = new authority(0, $this->id, AUT_TABLE_COLLECTIONS);
     $authority->delete();
     collection::update_index($by);
     return TRUE;
 }
예제 #20
0
파일: pret.inc.php 프로젝트: hogsim/PMB
    $erreur_affichage = "<hr />\n\t\t<div class='row'>\n\t\t<div class='colonne10'><img src='./images/info.png' /></div>\n\t\t<div class='colonne-suite'><span class='erreur'>" . $msg[384] . "</span><br />\n\t\t";
    $erreur_affichage .= get_display_custom_fields($id_empr, $id_expl);
    if ($pmb_play_pret_sound) {
        $alert_sound_list[] = "information";
    }
    $empr = new emprunteur($id_empr, $erreur_affichage, FALSE, 1);
    $affichage = $empr->fiche;
} else {
    if ($sub == "pret_annulation" && $id_expl) {
        // récupérer la stat insérée pour la supprimer !
        $query = "select pret_arc_id from pret ";
        $query .= "where pret_idexpl = '" . $id_expl . "' ";
        $result = pmb_mysql_query($query, $dbh);
        $stat_id = pmb_mysql_fetch_object($result);
        $result = pmb_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 les valeurs de champs personnalisés
        $p_perso = new pret_parametres_perso("pret");
        $p_perso->delete_values($stat_id->pret_arc_id);
        // supprimer le prêt annulé
        $query = "delete from pret ";
        $query .= "where pret_idexpl = '" . $id_expl . "' ";
        $result = pmb_mysql_query($query, $dbh);
        $erreur_affichage = "<hr />\n\t\t\t\t\t<div class='row'>\n\t\t\t\t\t<div class='colonne10'><img src='./images/info.png' /></div>\n\t\t\t\t\t<div class='colonne-suite'><span class='erreur'>" . str_replace('!!cb_expl!!', $cb_doc, $msg[607]) . "</span></div>\n\t\t\t\t\t</div><br />";
        $alert_sound_list[] = "information";
        $empr = new emprunteur($id_empr, $erreur_affichage, FALSE, 1);
        $affichage = $empr->fiche;
    } else {
        $script_magnetique = "\n<script language='javascript' type='text/javascript'>\nvar requete = null;\n\nfunction creerRequette(){\n\tif(window.XMLHttpRequest) // Firefox\n\t\trequete = new XMLHttpRequest();\n\telse if(window.ActiveXObject) // Internet Explorer\n  \t\trequete = new ActiveXObject('Microsoft.XMLHTTP');\n\telse { // XMLHttpRequest non supporté par le navigateur\n   \t\talert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');\n    \treturn;\n\t}\n}\n\nfunction magnetise(commande){\n\tcreerRequette();\n\tif(netscape.security.PrivilegeManager)netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');\n\trequete.open('GET', 'http://localhost:30000/?send_value='+commande+'&command=Send', false);\n\trequete.send(null);\n\tif(requete.readyState != 4) alert('Requête antivol non effectuée !');\n}\n\n";
        //Si il y a un emprunteur
        if ($id_empr) {
예제 #21
0
 function replace($by, $link_save)
 {
     global $msg;
     global $dbh;
     if (!$by) {
         // pas de valeur de remplacement !!!
         return "serious error occured, please contact admin...";
     }
     if ($this->indexint_id == $by || !$this->indexint_id) {
         // impossible de remplacer une autorité par elle-même
         return $msg[indexint_self];
     }
     $aut_link = new aut_link(AUT_TABLE_INDEXINT, $this->indexint_id);
     // "Conserver les liens entre autorités" est demandé
     if ($link_save) {
         // liens entre autorités
         $aut_link->add_link_to(AUT_TABLE_INDEXINT, $by);
     }
     $aut_link->delete();
     // a) remplacement dans les notices
     $requete = "UPDATE notices SET indexint={$by} WHERE indexint='" . $this->indexint_id . "' ";
     $res = pmb_mysql_query($requete, $dbh);
     // b) suppression de l'indexation à remplacer
     $requete = "DELETE FROM indexint WHERE indexint_id=" . $this->indexint_id;
     $res = pmb_mysql_query($requete, $dbh);
     audit::delete_audit(AUDIT_INDEXINT, $this->indexint_id);
     indexint::update_index($by);
     return FALSE;
 }
예제 #22
0
 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();
     $req = "DELETE FROM authperso_authorities where id_authperso_authority=" . $id;
     $resultat = pmb_mysql_query($req);
     audit::delete_audit($this->id + 1000, $id);
 }