value, ...] sono gli attributi aggiuntivi */ var $add_attributes = []; /** * Funziona solo se la classe viene estesa * Quando viene renderizzata la tabella prima vengono cercate eventuali funzioni all'interno della classe * che personalizzino la visualizzazione della colonna stessa. * @param Array $items * @return void; */ private function set_items($items) { if (!is_array($items)) return; $first_row = (array)reset($items); foreach ($first_row as $key=>$item) { if (!array_key_exists($key, $this->filter_columns) && method_exists($this, "tr_".$key)) { $this->filter_columns[$key] = [$this, "tr_".$key]; } if (!array_key_exists($key, $this->filter_title) && method_exists($this, "th_".$key)) { $this->filter_title[$key] = [$this, "th_".$key]; } } } /** * Ritorna l'html Un div con un messaggio se c'è stato un errore o se il totale dei risultati è 0 oppure la tabella * @param \admin_form\ADFO_model $table_model * @return String */ public function template_render($table_model) { ob_start(); if ($table_model->last_error !== false) { ?>

Query error:

last_error; ?>
items != false && is_countable($table_model->items) && count($table_model->items) > 0) { $this->render($table_model->items, $table_model->sort, $table_model->filter); } else { ?>
effected_row, $table_model->time_of_query ); ?>
add_attributes) > 0) { ?> 'String','order'=>'ASC|DESC'] | false * @param Array $searching [[op:'',column:'',value:''],...] | false * @return void */ public function render($items, $sorting = false, $searching = false) { if (!is_array($items) || count ($items) == 0) return; $this->set_items($items); // array_thead è compilata su af-functions-item-setting.php > execute_list_settings $array_thead = array_shift($items); $max_input_vars = ADFO_fn::get_max_input_vars(); ?> $value) { $row_sorting = $this->check_sorting($sorting, $value->sorting, $value->original_field_name); if ($value->type == "CHECKBOX" ) { if ($max_input_vars - 50 > count($items)) { ?> $setting) { $align = ""; if (isset($setting->align) && $setting->align != "") { $align = " dbp-td-".$setting->align; } //$css_name = strtolower($setting->type); $original_value = "____af__".$key; if (isset($item->$original_value)) { $formatting_class = ADFO_fn::column_formatting_convert($setting->format_styles, $item->$original_value, ''); } else { $formatting_class = ""; } if ($key == "") { $key = uniqid().$count_row; } if (!isset($item->$key)) { $item->$key = ''; } $css_name = (strlen(html_entity_decode($item->$key)) < 30 || in_array(strtolower($setting->type), ["number","checkbox", "wp_html"])) ? strtolower($setting->type) : 'text'; if ($setting->type == "CHECKBOX" && $max_input_vars - 50 <= count($items) ) continue; ?>
dropdown) { $lite = ($value->is_multiple); ob_start(); $this->dropdown($value->field_key, $value->original_field_name, $value->name_column, $value->type, $value->original_table, $row_sorting, $curr_searching, $lite); $dropdwon_html = ob_get_clean(); } ?>
" data-fieldkey="name_column; ?>">name; ?>
icons($value->field_key, $value->original_field_name, $row_sorting, $searching, $value->name_column); ?>
name; ?>
$key; ?>
'String','order'=>'ASC|DESC'] | false */ private function check_sorting($global_sort, $column_sort, $field_key) { if (is_array($global_sort) && $global_sort['field'] == $field_key ) { return $global_sort; } else { return ($global_sort == true) ? $column_sort : $global_sort; } } /** * Imposta una funzione per una colonna. Questa funzione verrà chiamata per renderizzare la colonna * @param String $class * @return void */ public function add_table_class($class) { $this->table_class = $class; } /** * Aggiunge parametri da passare nella paginazione, ordinamento o nei filtri in generale * @param array $attributes [key=>value, ...] * @return void */ public function add_extra_params($attributes) { if (is_countable($attributes)) { $this->add_attributes = array_merge($this->add_attributes, $attributes); } } /** * Imposta una funzione per una colonna. Questa funzione verrà chiamata per renderizzare la colonna */ public function add_filter_column($column_name, $function) { $this->filter_columns[$column_name] = $function; } /** * Imposta una funzione per renderizzare il titolo di una colonna. */ public function add_filter_title($column_name, $function) { $this->filter_title[$column_name] = $function; } /** * Disegna le icone accanto al titolo delle colonne della tabella * è statica perché può essere richiamata anche dall'esterno per disegnare una singola colonna se ad esempio viene chiamato un add_filter * * @param String $alias_column il nome o l'alias della colonna * @param String $original_field_name Il nome originale della colonna * @return String l'html dell'ordinamento delle colonne */ static function icons($alias_column, $original_field_name, $sort, $filter, $name_column) { if ($alias_column == "") return ; if ($sort != false && is_array($sort)) { if (strtolower(@$sort['field']) == strtolower($alias_column) || strtolower(@$sort['field']) == strtolower($original_field_name)) { if (strtolower(@$sort['order']) == "asc") { ?>