protected function proceed_delete($force_delete = false) { global $dbh, $msg; // On déclare un flag pour savoir si on peut continuer la suppression $deletion_allowed = true; $message = $this->item->get_label($this->handler->get_display_label($this->handler->get_class_uri($this->params->categ))); // on déjà vérifier l'utilisation dans les notices d'un concept $query = "select num_object from index_concept where type_object =1 and num_concept = " . onto_common_uri::get_id($this->item->get_uri()); $result = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($result)) { $deletion_allowed = false; $message .= "<br/>" . $msg['concept_use_in_notices_cant_delete']; } // On regarde si l'autorité est utilisée dans des vedettes composées $attached_vedettes = vedette_composee::get_vedettes_built_with_element(onto_common_uri::get_id($this->item->get_uri()), "concept"); if (count($attached_vedettes)) { // Cette autorité est utilisée dans des vedettes composées, impossible de la supprimer $deletion_allowed = false; $message .= "<br/>" . $msg['vedette_dont_del_autority']; } if ($deletion_allowed) { // On peut continuer la suppression $id_vedette = vedette_link::get_vedette_id_from_object(onto_common_uri::get_id($this->item->get_uri()), TYPE_CONCEPT_PREFLABEL); $vedette = new vedette_composee($id_vedette); $vedette->delete(); //suppression des autorités liées... // liens entre autorités if (get_class($this->item) == "onto_skos_concept_item") { $aut_link = new aut_link(AUT_TABLE_CONCEPT, onto_common_uri::get_id($this->item->get_uri())); $aut_link->delete(); } parent::proceed_delete($force_delete); } else { error_message($msg[132], $message, 1, "./autorites.php?categ=concepts&sub=concept&action=edit&id=" . onto_common_uri::get_id($this->item->get_uri())); } }