/** * Construit et retourne le selecteur de schema * * @param onto_common_controler $controler * @param onto_param $params * @param bool $empty * @param string $onchange * @param string $name * @param string $id * * @return string $selector */ public static function get_scheme_list_selector($controler, $params, $empty = false, $onchange = '', $name = '', $id = '') { global $msg, $charset, $lang, $base_path, $ontology_tpl; $selector = $ontology_tpl['scheme_list_selector']; $selector = str_replace("!!scheme_list_selector_onchange!!", $onchange, $selector); $selector = str_replace("!!scheme_list_selector_name!!", $name, $selector); $selector = str_replace("!!scheme_list_selector_id!!", $id, $selector); $list = $controler->get_scheme_list(); $selector_options = ''; $option = ''; // Ajout de l'option "Tous les concepts" $option = $ontology_tpl['scheme_list_selector_option']; $option = str_replace("!!scheme_list_selector_options_value!!", '-1', $option); $option = str_replace("!!scheme_list_selector_options_label!!", $msg["onto_skos_concept_all_concepts"], $option); $selected = ''; if ($params->concept_scheme == -1) { $selected = 'selected="selected"'; } $option = str_replace("!!scheme_list_selector_options_selected!!", $selected, $option); $selector_options .= $option; // Ajout de l'option "Sans schéma" $option = $ontology_tpl['scheme_list_selector_option']; $option = str_replace("!!scheme_list_selector_options_value!!", '0', $option); $option = str_replace("!!scheme_list_selector_options_label!!", $msg["onto_skos_concept_no_scheme"], $option); $selected = ''; if ($params->concept_scheme == 0) { $selected = 'selected="selected"'; } $option = str_replace("!!scheme_list_selector_options_selected!!", $selected, $option); $selector_options .= $option; foreach ($list['elements'] as $uri => $scheme) { $option = $ontology_tpl['scheme_list_selector_option']; $scheme_id = onto_common_uri::get_id($uri); $selected = ''; if ($scheme_id == $params->concept_scheme) { $selected = 'selected="selected"'; } if ($scheme[$lang] != '') { $display_label = $scheme[$lang]; } else { $display_label = $scheme['default']; } $option = str_replace("!!scheme_list_selector_options_selected!!", $selected, $option); $option = str_replace("!!scheme_list_selector_options_value!!", $scheme_id, $option); $option = str_replace("!!scheme_list_selector_options_label!!", htmlentities($display_label, ENT_QUOTES, $charset), $option); $selector_options .= $option; } $selector = str_replace("!!scheme_list_selector_options!!", $selector_options, $selector); return $selector; }