示例#1
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);
 }
示例#2
0
 function delete()
 {
     global $dbh;
     global $msg;
     if (!$this->indexint_id) {
         // impossible d'accéder à cette indexation
         return $msg[indexint_unable];
     }
     // récupération du nombre de notices affectées
     $requete = "SELECT COUNT(1) FROM notices WHERE ";
     $requete .= "indexint=" . $this->indexint_id;
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if (!$nbr_lignes) {
         // On regarde si l'autorité est utilisée dans des vedettes composées
         $attached_vedettes = vedette_composee::get_vedettes_built_with_element($this->indexint_id, "indexint");
         if (count($attached_vedettes)) {
             // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer
             return '<strong>' . $this->name . "</strong><br />" . $msg["vedette_dont_del_autority"];
         }
         // indexation non-utilisé dans les notices : Suppression OK
         // effacement dans la table des indexations internes
         $requete = "DELETE FROM indexint WHERE indexint_id=" . $this->indexint_id;
         $result = pmb_mysql_query($requete, $dbh);
         // liens entre autorités
         $aut_link = new aut_link(AUT_TABLE_INDEXINT, $this->indexint_id);
         $aut_link->delete();
         $aut_pperso = new aut_pperso("indexint", $this->indexint_id);
         $aut_pperso->delete();
         // nettoyage indexation concepts
         $index_concept = new index_concept($this->indexint_id, TYPE_INDEXINT);
         $index_concept->delete();
         audit::delete_audit(AUDIT_INDEXINT, $this->indexint_id);
         return false;
     } else {
         // Cette indexation est utilisée dans des notices, impossible de la supprimer
         return '<strong>' . $this->name . "</strong><br />{$msg[indexint_used]}";
     }
 }
                $arrayIdImpactes[] = $noeud->num_parent;
            }
            //renvoi_voir
            if ($noeud->num_renvoi_voir) {
                $arrayIdImpactes[] = $noeud->num_renvoi_voir;
            }
            //on supprime le rdf
            if (count($arrayIdImpactes)) {
                foreach ($arrayIdImpactes as $idNoeud) {
                    $synchro_rdf->delConcept($idNoeud);
                }
            }
            $synchro_rdf->delConcept($id_to_delete);
        }
        // nettoyage indexation concepts
        $index_concept = new index_concept($id_to_delete, TYPE_CATEGORY);
        $index_concept->delete();
        noeuds::delete($id_to_delete);
        //On remet à jour les noeuds impactes
        if ($pmb_synchro_rdf) {
            if (count($arrayIdImpactes)) {
                foreach ($arrayIdImpactes as $idNoeud) {
                    $synchro_rdf->storeConcept($idNoeud);
                }
            }
            //On met à jour le thésaurus pour les topConcepts
            $synchro_rdf->updateAuthority($noeud->num_thesaurus, 'thesaurus');
        }
    }
}
include './autorites/subjects/default.inc.php';
 function delete()
 {
     global $dbh;
     global $msg;
     if (!$this->id) {
         // impossible d'accéder à cette notice de collection
         return $msg[406];
     }
     // récupération du nombre de notices affectées
     $requete = "SELECT COUNT(1) FROM notices WHERE ";
     $requete .= "coll_id={$this->id}";
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if (!$nbr_lignes) {
         // on regarde si la collection a des collections enfants
         $requete = "SELECT COUNT(1) FROM sub_collections WHERE ";
         $requete .= "sub_coll_parent=" . $this->id;
         $res = pmb_mysql_query($requete, $dbh);
         $nbr_lignes = pmb_mysql_result($res, 0, 0);
         if (!$nbr_lignes) {
             // On regarde si l'autorité est utilisée dans des vedettes composées
             $attached_vedettes = vedette_composee::get_vedettes_built_with_element($this->id, "collection");
             if (count($attached_vedettes)) {
                 // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer
                 return '<strong>' . $this->display . "</strong><br />" . $msg["vedette_dont_del_autority"];
             }
             // effacement dans la table des collections
             $requete = "DELETE FROM collections WHERE collection_id=" . $this->id;
             $result = pmb_mysql_query($requete, $dbh);
             //Import d'autorité
             collection::delete_autority_sources($this->id);
             // liens entre autorités
             $aut_link = new aut_link(AUT_TABLE_COLLECTIONS, $this->id);
             $aut_link->delete();
             $aut_pperso = new aut_pperso("collection", $this->id);
             $aut_pperso->delete();
             // nettoyage indexation concepts
             $index_concept = new index_concept($this->id, TYPE_COLLECTION);
             $index_concept->delete();
             // 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();
             audit::delete_audit(AUDIT_COLLECTION, $this->id);
             return false;
         } else {
             // Cet collection a des sous-collections, impossible de la supprimer
             return '<strong>' . $this->display . "</strong><br />{$msg[408]}";
         }
     } else {
         // Cette collection est utilisé dans des notices, impossible de la supprimer
         return '<strong>' . $this->display . "</strong><br />{$msg[407]}";
     }
 }
示例#5
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;
 }
 function delete()
 {
     global $dbh;
     global $msg;
     if (!$this->id) {
         // impossible d'accéder à cette notice titre uniforme
         return $msg[403];
     }
     // effacement dans les notices
     // récupération du nombre de notices affectées
     $requete = "SELECT count(1) FROM notices_titres_uniformes WHERE ntu_num_tu='{$this->id}' ";
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if ($nbr_lignes) {
         // Ce titre uniforme est utilisé dans des notices, impossible de le supprimer
         return '<strong>' . $this->display . "</strong><br />{$msg['titre_uniforme_delete']}";
     }
     // On regarde si l'autorité est utilisée dans des vedettes composées
     $attached_vedettes = vedette_composee::get_vedettes_built_with_element($this->id, "titre_uniforme");
     if (count($attached_vedettes)) {
         // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer
         return '<strong>' . $this->display . "</strong><br />" . $msg["vedette_dont_del_autority"];
     }
     // 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);
     //suppression dans la table de stockage des numéros d'autorités...
     titre_uniforme::delete_autority_sources($this->id);
     // Clean des vedettes
     titre_uniforme::delete_vedette_links($this->id);
     // suppression des auteurs
     $rqt_del = "delete from responsability_tu where responsability_tu_num='" . $this->id . "' ";
     pmb_mysql_query($rqt_del);
     // liens entre autorités
     $aut_link = new aut_link(AUT_TABLE_TITRES_UNIFORMES, $this->id);
     $aut_link->delete();
     $aut_pperso = new aut_pperso("tu", $this->id);
     $aut_pperso->delete();
     // nettoyage indexation concepts
     $index_concept = new index_concept($this->id, TYPE_TITRE_UNIFORME);
     $index_concept->delete();
     // 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();
     audit::delete_audit(AUDIT_TITRE_UNIFORME, $this->id);
     return false;
 }
示例#7
0
 function delete()
 {
     global $dbh;
     global $msg;
     if (!$this->id) {
         // impossible d'acceder a cette notice auteur
         return $msg[403];
     }
     // effacement dans les notices
     // recuperation du nombre de notices affectees
     $requete = "SELECT COUNT(1) FROM notices WHERE ";
     $requete .= "ed1_id={$this->id} OR ";
     $requete .= "ed2_id={$this->id}";
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if (!$nbr_lignes) {
         // on regarde si l'editeur a des collections enfants
         $requete = "SELECT COUNT(1) FROM collections WHERE ";
         $requete .= "collection_parent=" . $this->id;
         $res = pmb_mysql_query($requete, $dbh);
         $nbr_lignes = pmb_mysql_result($res, 0, 0);
         if (!$nbr_lignes) {
             // On regarde si l'autorité est utilisée dans des vedettes composées
             $attached_vedettes = vedette_composee::get_vedettes_built_with_element($this->id, "publisher");
             if (count($attached_vedettes)) {
                 // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer
                 return '<strong>' . $this->name . "</strong><br />" . $msg["vedette_dont_del_autority"];
             }
             // effacement dans la table des editeurs
             $requete = "DELETE FROM publishers WHERE ed_id=" . $this->id;
             $result = pmb_mysql_query($requete, $dbh);
             // liens entre autorités
             $aut_link = new aut_link(AUT_TABLE_PUBLISHERS, $this->id);
             $aut_link->delete();
             $aut_pperso = new aut_pperso("publisher", $this->id);
             $aut_pperso->delete();
             // nettoyage indexation concepts
             $index_concept = new index_concept($this->id, TYPE_PUBLISHER);
             $index_concept->delete();
             audit::delete_audit(AUDIT_PUBLISHER, $this->id);
             return false;
         } else {
             // Cet editeur a des collections, impossible de le supprimer
             return '<strong>' . $this->name . "</strong><br />{$msg[405]}";
         }
     } else {
         // Cet editeur est utilise dans des notices, impossible de le supprimer
         return '<strong>' . $this->name . "</strong><br />{$msg[404]}";
     }
 }
示例#8
0
 function delete()
 {
     global $dbh;
     global $msg;
     if (!$this->s_id) {
         // impossible d'accéder à cette notice de titre de série
         return $msg[409];
     }
     // récupération du nombre de notices affectées
     $requete = "SELECT COUNT(1) AS qte FROM notices WHERE tparent_id=" . $this->s_id;
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if (!$nbr_lignes) {
         // On regarde si l'autorité est utilisée dans des vedettes composées
         $attached_vedettes = vedette_composee::get_vedettes_built_with_element($this->s_id, "serie");
         if (count($attached_vedettes)) {
             // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer
             return '<strong>' . $this->name . "</strong><br />" . $msg["vedette_dont_del_autority"];
         }
         // titre de série non-utilisé dans des notices : Suppression OK
         // effacement dans la table des titres de série
         $requete = "DELETE FROM series WHERE serie_id=" . $this->s_id;
         $result = pmb_mysql_query($requete, $dbh);
         // liens entre autorités
         $aut_link = new aut_link(AUT_TABLE_SERIES, $this->s_id);
         $aut_link->delete();
         $aut_pperso = new aut_pperso("serie", $this->s_id);
         $aut_pperso->delete();
         // nettoyage indexation concepts
         $index_concept = new index_concept($this->s_id, TYPE_SERIE);
         $index_concept->delete();
         // 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();
         audit::delete_audit(AUDIT_SERIE, $this->s_id);
         return false;
     } else {
         // Ce titre de série est utilisé dans des notices, impossible de le supprimer
         return '<strong>' . $this->name . "</strong><br />{$msg[410]}";
     }
 }
示例#9
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();
 }
示例#10
0
 function delete()
 {
     global $dbh;
     global $msg;
     if (!$this->id) {
         // impossible d'accéder à cette notice auteur
         return $msg[403];
     }
     // effacement dans les notices
     // récupération du nombre de notices affectées
     $requete = "SELECT count(1) FROM responsability WHERE ";
     $requete .= "responsability_author='{$this->id}' ";
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if ($nbr_lignes) {
         // Cet auteur est utilisé dans des notices, impossible de le supprimer
         return '<strong>' . $this->display . "</strong><br />{$msg[402]}";
     }
     // effacement dans les titres uniformes
     // récupération du nombre de titres affectées
     $requete = "SELECT count(1) FROM responsability_tu WHERE ";
     $requete .= "responsability_tu_author_num='{$this->id}' ";
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if ($nbr_lignes) {
         // Cet auteur est utilisé dans des tirres uniformes, impossible de le supprimer
         return '<strong>' . $this->display . "</strong><br />{$msg[tu_dont_del_author]}";
     }
     $attached_vedettes = vedette_composee::get_vedettes_built_with_element($this->id, "author");
     if (count($attached_vedettes)) {
         // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer
         return '<strong>' . $this->display . "</strong><br />" . $msg["vedette_dont_del_autority"];
     }
     // liens entre autorités
     $aut_link = new aut_link(AUT_TABLE_AUTHORS, $this->id);
     $aut_link->delete();
     $aut_pperso = new aut_pperso("author", $this->id);
     $aut_pperso->delete();
     // nettoyage indexation concepts
     $index_concept = new index_concept($this->id, TYPE_AUTHOR);
     $index_concept->delete();
     // suppression dans la table de stockage des numéros d'autorités...
     auteur::delete_autority_sources($this->id);
     // on supprime automatiquement les formes rejetes
     $query = "select author_id from authors where author_see = " . $this->id;
     $result = pmb_mysql_query($query);
     if (pmb_mysql_num_rows($result)) {
         while ($row = pmb_mysql_fetch_object($result)) {
             // on regarde si cette forme est utilisée...
             $query2 = "select count(responsability_author) from responsability where responsability_author =" . $row->author_id;
             $result2 = pmb_mysql_query($query2);
             $query3 = "select count(responsability_tu_author_num) from responsability_tu where responsability_tu_author_num =" . $row->author_id;
             $result3 = pmb_mysql_query($query3);
             $rejete = new auteur($row->author_id);
             // elle est utilisée donc on nettoie juste la référence
             if (pmb_mysql_num_rows($result2) || pmb_mysql_num_rows($result3)) {
                 pmb_mysql_query("update authors set author_see= 0  where author_id = " . $row->author_id);
             } else {
                 // sinon, on supprime...
                 $rejete->delete();
             }
         }
     }
     audit::delete_audit(AUDIT_AUTHOR, $this->id);
     // effacement dans l'entrepot rdf
     auteur::delete_enrichment($id);
     // effacement dans la table des auteurs
     $requete = "DELETE FROM authors WHERE author_id='{$this->id}' ";
     pmb_mysql_query($requete, $dbh);
     return false;
 }
示例#11
0
 function delete()
 {
     global $dbh;
     if ($this->isEnUpload()) {
         $up = new upload_folder($this->explnum_repertoire);
         $chemin = str_replace("//", "/", $this->explnum_rep_path . $this->explnum_path . $this->explnum_nomfichier);
         $chemin = $up->encoder_chaine($chemin);
         if (file_exists($chemin)) {
             unlink($chemin);
         }
     }
     $requete = "DELETE FROM explnum WHERE explnum_id=" . $this->explnum_id;
     pmb_mysql_query($requete, $dbh);
     //on oublie pas la localisation associé
     $requete = "delete from explnum_location where num_explnum = " . $this->explnum_id;
     pmb_mysql_query($requete, $dbh);
     // Suppression des segments et locuteurs
     $requete = "delete from explnum_speakers where explnum_speaker_explnum_num = " . $this->explnum_id;
     pmb_mysql_query($requete, $dbh);
     $requete = "delete from explnum_segments where explnum_segment_explnum_num = " . $this->explnum_id;
     pmb_mysql_query($requete, $dbh);
     // Nettoyage indexation concepts
     $index_concept = new index_concept($this->explnum_id, TYPE_EXPLNUM);
     $index_concept->delete();
     //On recalcule l'index global pour la notice
     if ($this->explnum_notice) {
         // Mise a jour de la table notices_mots_global_index
         notice::majNoticesMotsGlobalIndex($this->explnum_notice, "explnum");
     } elseif ($this->explnum_bulletin) {
         // Mise a jour de la table notices_mots_global_index pour toutes les notices en relation avec l'exemplaire
         $req_maj = "SELECT bulletin_notice,num_notice FROM bulletins WHERE bulletin_id='" . $this->explnum_bulletin . "'";
         $res_maj = pmb_mysql_query($req_maj);
         if ($res_maj && pmb_mysql_num_rows($res_maj)) {
             if ($tmp = pmb_mysql_result($res_maj, 0, 0)) {
                 //Périodique
                 notice::majNoticesMotsGlobalIndex($tmp, "explnum");
             }
             if ($tmp = pmb_mysql_result($res_maj, 0, 1)) {
                 //Notice de bulletin
                 notice::majNoticesMotsGlobalIndex($tmp, "explnum");
             }
         }
     }
 }
示例#12
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);
 }
示例#13
0
 function delete()
 {
     global $dbh;
     global $msg;
     if (!$this->id) {
         // impossible d'accéder à cette notice de sous-collection
         return $msg[406];
     }
     // récupération du nombre de notices affectées
     $requete = "SELECT COUNT(1) FROM notices WHERE ";
     $requete .= "subcoll_id=" . $this->id;
     $res = pmb_mysql_query($requete, $dbh);
     $nbr_lignes = pmb_mysql_result($res, 0, 0);
     if (!$nbr_lignes) {
         // On regarde si l'autorité est utilisée dans des vedettes composées
         $attached_vedettes = vedette_composee::get_vedettes_built_with_element($this->id, "subcollection");
         if (count($attached_vedettes)) {
             // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer
             return '<strong>' . $this->display . "</strong><br />" . $msg["vedette_dont_del_autority"];
         }
         // sous collection non-utilisée dans des notices : Suppression OK
         // effacement dans la table des collections
         $requete = "DELETE FROM sub_collections WHERE sub_coll_id=" . $this->id;
         $result = pmb_mysql_query($requete, $dbh);
         //suppression dans la table de stockage des numéros d'autorités...
         //Import d'autorité
         subcollection::delete_autority_sources($this->id);
         // liens entre autorités
         $aut_link = new aut_link(AUT_TABLE_SUB_COLLECTIONS, $this->id);
         $aut_link->delete();
         $aut_pperso = new aut_pperso("subcollection", $this->id);
         $aut_pperso->delete();
         // nettoyage indexation concepts
         $index_concept = new index_concept($this->id, TYPE_SUBCOLLECTION);
         $index_concept->delete();
         audit::delete_audit(AUDIT_SUB_COLLECTION, $this->id);
         return false;
     } else {
         // Cette collection est utilisé dans des notices, impossible de la supprimer
         return '<strong>' . $this->display . "</strong><br />{$msg[407]}";
     }
 }