コード例 #1
0
 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;
 }
コード例 #2
0
ファイル: pmbesClean.class.php プロジェクト: bouchra012/PMB
 function cleanTitresUniformes()
 {
     global $msg, $dbh, $charset, $PMBusername;
     if (SESSrights & ADMINISTRATION_AUTH) {
         $result .= "<h3>" . htmlentities($msg["nettoyage_suppr_titres_uniformes"], ENT_QUOTES, $charset) . "</h3>";
         $query = mysql_query("SELECT tu_id from titres_uniformes left join notices_titres_uniformes on ntu_num_tu=tu_id where ntu_num_tu is null", $dbh);
         $affected = 0;
         if ($affected = mysql_num_rows($query)) {
             while ($ligne = mysql_fetch_object($query)) {
                 $tu = new titre_uniforme($ligne->tu_id);
                 $tu->delete();
             }
         }
         //Nettoyage des informations d'autorités pour les sous collections
         titre_uniforme::delete_autority_sources();
         $query = mysql_query("delete notices_titres_uniformes from notices_titres_uniformes left join titres_uniformes on ntu_num_tu=tu_id where tu_id is null", $dbh);
         $affected = mysql_affected_rows();
         $result .= $affected . " " . htmlentities($msg["nettoyage_res_suppr_titres_uniformes"], ENT_QUOTES, $charset);
         $opt = mysql_query('OPTIMIZE TABLE titres_uniformes');
     } else {
         $result .= sprintf($msg["planificateur_rights_bad_user_rights"], $PMBusername);
     }
     return $result;
 }
コード例 #3
0
}
require_once "{$class_path}/titre_uniforme.class.php";
// la taille d'un paquet de notices
$lot = SERIE_PAQUET_SIZE;
// defini dans ./params.inc.php
// taille de la jauge pour affichage
$jauge_size = GAUGE_SIZE;
// initialisation de la borne de départ
if (!isset($start)) {
    $start = 0;
}
$v_state = urldecode($v_state);
print "<br /><br /><h2 align='center'>" . htmlentities($msg["nettoyage_suppr_titres_uniformes"], ENT_QUOTES, $charset) . "</h2>";
$query = mysql_query("SELECT tu_id from titres_uniformes left join notices_titres_uniformes on ntu_num_tu=tu_id where ntu_num_tu is null");
$affected = 0;
if ($affected = mysql_num_rows($query)) {
    while ($ligne = mysql_fetch_object($query)) {
        $tu = new titre_uniforme($ligne->tu_id);
        $tu->delete();
    }
}
//Nettoyage des informations d'autorités pour les sous collections
titre_uniforme::delete_autority_sources();
$query = mysql_query("delete notices_titres_uniformes from notices_titres_uniformes left join titres_uniformes on ntu_num_tu=tu_id where tu_id is null");
$spec = $spec - CLEAN_TITRES_UNIFORMES;
$v_state .= "<br /><img src=../../images/d.gif hspace=3>" . htmlentities($msg["nettoyage_suppr_titres_uniformes"], ENT_QUOTES, $charset) . " : ";
$v_state .= $affected . " " . htmlentities($msg["nettoyage_res_suppr_titres_uniformes"], ENT_QUOTES, $charset);
$opt = mysql_query('OPTIMIZE TABLE titres_uniformes');
// mise à jour de l'affichage de la jauge
print "<table border='0' align='center' width='{$table_size}' cellpadding='0'><tr><td class='jauge'>\n  \t\t\t<img src='../../images/jauge.png' width='{$jauge_size}' height='16'></td></tr></table>\n \t\t\t<div align='center'>100%</div>";
print "\n\t<form class='form-{$current_module}' name='process_state' action='./clean.php' method='post'>\n\t\t<input type='hidden' name='v_state' value=\"{$v_state}\">\n\t\t<input type='hidden' name='spec' value=\"{$spec}\">\n\t</form>\n\t<script type=\"text/javascript\"><!--\n\t\tdocument.forms['process_state'].submit();\n\t\t-->\n\t</script>";