id_cadre); } protected function init_default_applied_sort() { $this->add_applied_sort('id_cadre', 'desc'); } /** * Construction dynamique de la fonction JS de tri */ protected function get_js_sort_script_sort() { $display = parent::get_js_sort_script_sort(); $display = str_replace('!!categ!!', 'frbr_pages', $display); $display = str_replace('!!sub!!', '', $display); $display = str_replace('!!action!!', 'list', $display); return $display; } /** * Affichage d'une colonne avec du HTML non calculé * @param string $value */ protected function get_display_cell_html_value($object, $value) { $search = [ "!!id_cadre!!", ]; $replace = [ $object->get_id(), ]; $value = str_replace($search, $replace, $value); $display = "".$value.""; return $display; } /** * Initialisation des colonnes disponibles */ protected function init_available_columns() { $this->available_columns = array('main_fields' => array( 'id_cadre' => '1601', 'name' => '67', 'class_name' => 'class_name', 'num_page' => 'list_ui_frbr_page_id', 'page_name' => 'frbr_page_name', ) ); } /** * Initialisation des colonnes par défaut */ protected function init_default_columns() { $this->add_column('id_cadre'); $this->add_column('name'); $this->add_column('class_name'); $this->add_column('num_page'); $this->add_column('page_name'); $this->add_column_sel_button(); } protected function init_no_sortable_columns() { $this->no_sortable_columns = array( 'class_name', 'num_page', 'page_name', ); } protected function add_column_sel_button() { global $msg; $this->columns[] = array( 'property' => '', 'label' => "
", 'html' => " ".$msg["cms_build_page_add_bt"]." ", 'exportable' => false ); } public static function get_controller_url_base() { global $base_path, $action; return $base_path.'/cms.php?categ=frbr_pages&sub=cadres&action=' . $action; } /** * Initialisation des filtres de recherche */ public function init_filters($filters=array()) { $this->filters = array( 'id_cadre' => '', 'num_page' => '', 'template_content' => '', ); parent::init_filters($filters); } /** * Initialisation des filtres disponibles */ protected function init_available_filters() { $this->available_filters = array('main_fields' => array( 'id_cadre' => '1601', 'num_page' => 'list_ui_frbr_page_id', 'template_content' => 'template_content', ) ); $this->available_filters['custom_fields'] = array(); } protected function init_default_selected_filters() { $this->add_selected_filter('id_cadre'); } protected function get_search_filter_id_cadre() { global $charset; return ""; } protected function get_search_filter_num_page() { global $charset; return ""; } protected function get_search_filter_template_content() { global $charset; return ""; } /** * Filtres provenant du formulaire */ public function set_filters_from_form() { global $id_cadre, $num_page, $template_content; if(isset($id_cadre)) { $this->filters['id_cadre'] = intval($id_cadre); } if(isset($num_page)) { $this->filters['num_page'] = intval($num_page); } if(isset($template_content)) { $this->filters['template_content'] = stripslashes($template_content); } parent::set_filters_from_form(); } /** * Filtre SQL */ protected function _get_query_filters() { $filter_query = ''; $this->set_filters_from_form(); $filters = array(); if($this->filters['id_cadre']) { $filters[] = 'id_cadre = "'.$this->filters['id_cadre'].'"'; } if($this->filters['num_page']) { $filters[] = 'cadre_num_page = "'.$this->filters['num_page'].'"'; } if($this->filters['template_content']) { $filters[] = 'cadre_content_data LIKE "%'.$this->filters['template_content'].'%"'; } if(count($filters)) { $filter_query .= $this->_get_query_join_filters(); $filter_query .= ' where '.implode(' and ', $filters); } return $filter_query; } /** * Jointure externes SQL pour les besoins des filtres */ protected function _get_query_join_filters() { $filter_join_query = ''; if($this->filters['template_content']) { $filter_join_query .= " LEFT JOIN frbr_cadres_content ON (id_cadre = cadre_content_num_cadre) "; } return $filter_join_query; } protected function get_cell_content($object, $property) { $content = ''; switch($property) { case 'id_cadre': $content .= $object->get_id(); break; case 'num_page': $content .= $object->get_page()->get_id(); break; case 'page_name': $content .= $object->get_page()->get_name(); break; default : $content .= parent::get_cell_content($object, $property); break; } return $content; } protected function get_display_others_actions() { global $msg; return ""; } }