Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 3
0
 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()));
     }
 }