class listing { public $order; public $method; public $avail_status; public $avail_edit; public $columns; public $sortable; public $link_view; public $link_edit; public function set_data($context) { if(isset($context['list_config'])) { $this->avail_status = $context['list_config']['avail_status']; $this->avail_edit = $context['list_config']['avail_edit']; $this->link_view = $context['list_config']['link_view']; $this->link_edit = $context['list_config']['link_edit']; $this->show_pagination = $context['list_config']['show_pagination']; $this->show_search = $context['list_config']['show_search']; $this->sortable = $context['list_config']['sortable']; $this->order = (empty($context['list_config']['order'])) ? "" : $context['list_config']['order']; // $this->method = (empty($context['list_config']['method'])) ? "" : $context['list_config']['method']; } else { $this->avail_status = $context['avail_status']; $this->avail_edit = $context['avail_edit']; $this->link_view = $context['link_view']; $this->link_edit = $context['link_edit']; $this->show_pagination = $context['show_pagination']; $this->show_search = $context['show_search']; $this->sortable = $context['sortable']; $this->order = (empty($context['order'])) ? "ASC" : $context['order']; $this->method = (empty($context['method'])) ? "" : $context['method']; } $this->columns = $context['columns']; } public function prepare() { global $database; $order = $this->order; $method = $this->method; $results = $this->final_results; $normalised_results = filter::sort_results($method,$order,$results); $normalise_get = filter::normalise_get($order); $pagination_results = filter::pagination($normalised_results,$normalise_get); $pagination_results['show_pagination'] = $this->show_pagination; $pagination_results['show_search'] = $this->show_search; //filter::pagination_html($pagination_results); $this->pagination = $pagination_results['pagination']; $this->start = $pagination_results['start']; $this->size = $pagination_results['size']; $this->total_results = $pagination_results['total_results']; $this->max_size = $pagination_results['max_size']; $order = ($order == "ASC") ? "DESC" : "ASC"; $this->normalise_get = filter::normalise_get($order); $new_normalised_results = array(); foreach($normalised_results AS $key => $value) $new_normalised_results[] = $key; $this->normalised_results = $new_normalised_results; return $this; } public function build_table_list() { $this->list_header()->list_body()->list_end(); return $this; } public function list_header() { $avail_status = $this->avail_status; $avail_edit = $this->avail_edit; $normalise_get = $this->normalise_get; $sortable = $this->sortable; $columns = $this->columns; ?>