/** * Renvoie l'affichage html de la liste pour le selecteur d'autorité * * @param onto_common_controler $controler * @param onto_param $params * * @return string $form */ public static function get_list_selector($controler, $params) { global $msg, $charset, $element_form, $ontology_tpl, $list_form, $lang; if ($params->objs) { $property = $controler->get_onto_property_from_pmb_name($params->objs); $element = $property->range[$params->range]; } else { $element = $controler->get_class_uri($params->element); } $elements = $controler->get_list_elements($params); $elements_form = ""; $list = $list_form; if ($elements["nb_total_elements"]) { foreach ($elements['elements'] as $uri => $item) { switch ($element) { case "http://www.w3.org/2004/02/skos/core#Concept": if ($controler->has_narrower($uri, $params)) { $current_element_form = $ontology_tpl['skos_concept_list_selector_line_folder']; $current_element_form = str_replace("!!folder_href!!", $params->base_url . "&parent_id=" . onto_common_uri::get_id($uri), $current_element_form); } else { $current_element_form = $ontology_tpl['skos_concept_list_selector_line_doc']; } break; default: $current_element_form = $element_form; break; } $current_element_form = str_replace("!!caller!!", $params->caller, $current_element_form); $current_element_form = str_replace("!!element!!", $params->element, $current_element_form); $current_element_form = str_replace("!!order!!", $params->order, $current_element_form); $current_element_form = str_replace("!!uri!!", $uri, $current_element_form); $current_element_form = str_replace("!!item!!", addslashes(isset($item[substr($lang, 0, 2)]) ? $item[substr($lang, 0, 2)] : $item['default']), $current_element_form); $current_element_form = str_replace("!!range!!", rawurlencode($element ? $element : $controler->get_class_uri($params->sub)), $current_element_form); $current_element_form = str_replace("!!callback!!", $params->callback, $current_element_form); $current_element_form = str_replace("!!item_libelle!!", htmlentities(isset($item[substr($lang, 0, 2)]) ? $item[substr($lang, 0, 2)] : $item['default'], ENT_QUOTES, $charset), $current_element_form); $infobulle_libelle = ""; if ($controler->has_broader($uri, $params)) { $parents = $controler->get_broaders($uri, $params); if ($parents[0]["id"]) { $infobulle_libelle .= $msg["onto_skos_concept_broader"] . " " . $parents[0]["label"] . ". "; } } $infos = $controler->get_informations_concept($uri); if ($infos[0]["scopeNote"]) { $infobulle_libelle .= $msg["onto_skos_concept_scopenote"] . " " . $infos[0]["scopeNote"]; } $current_element_form = str_replace("!!infobulle_libelle!!", htmlentities($infobulle_libelle, ENT_QUOTES, $charset), $current_element_form); $elements_form .= $current_element_form; } $list = str_replace("!!elements_form!!", $elements_form, $list); $list = str_replace("!!aff_pagination!!", aff_pagination($params->base_url . "&concept_scheme=" . $params->concept_scheme . "&parent_id=" . $params->parent_id, $elements['nb_total_elements'], $elements['nb_onto_element_per_page'], $params->page, 10, true, true), $list); } else { $list = $msg["1915"]; } return $list; }
/** * Retourne la liste des assertions contenant l'item susceptible d'être supprimé * @param onto_common_controler $controler * @param onto_param $params * @param onto_assertion $assertions * @return string */ public static function get_list_assertions($controler, $params, $assertions) { global $ontology_tpl; $list = $ontology_tpl["list_assertions"]; $list_content = ""; foreach ($assertions as $assertion) { /* @var $assertion onto_assertion */ $current_assertion = $ontology_tpl["list_assertions_line"]; $current_assertion = str_replace("!!assertion_subject!!", $controler->get_data_label($assertion->get_subject()), $current_assertion); $current_assertion = str_replace("!!assertion_predicate!!", $controler->get_label($assertion->get_predicate()), $current_assertion); $current_assertion = str_replace("!!assertion_object!!", $controler->get_data_label($assertion->get_object()), $current_assertion); $list_content .= $current_assertion; } $list = str_replace("!!list_content!!", $list_content, $list); $list = str_replace("!!href_cancel!!", "./" . $controler->get_base_resource() . "categ=" . $params->categ . "&sub=" . $params->sub . "&id=" . $params->id . "&action=edit", $list); $list = str_replace("!!href_continue!!", "./" . $controler->get_base_resource() . "categ=" . $params->categ . "&sub=" . $params->sub . "&id=" . $params->id . "&action=delete", $list); return $list; }
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())); } }