public function index()
{
$url = '?';
$filter = array();
if ($this->input->get('page')) {
$filter['page'] = (int) $this->input->get('page');
} else {
$filter['page'] = '';
}
if ($this->config->item('page_limit')) {
$filter['limit'] = $this->config->item('page_limit');
}
if ($this->input->get('filter_search')) {
$filter['filter_search'] = $data['filter_search'] = $this->input->get('filter_search');
$url .= 'filter_search=' . $filter['filter_search'] . '&';
} else {
$data['filter_search'] = '';
}
if ($this->input->get('filter_type')) {
$filter['filter_type'] = $data['filter_type'] = $this->input->get('filter_type');
$url .= 'filter_type=' . $filter['filter_type'] . '&';
} else {
$filter['filter_type'] = $data['filter_type'] = '';
}
if (is_numeric($this->input->get('filter_status'))) {
$filter['filter_status'] = $data['filter_status'] = $this->input->get('filter_status');
$url .= 'filter_status=' . $filter['filter_status'] . '&';
} else {
$filter['filter_status'] = $data['filter_status'] = '';
}
if ($this->input->get('sort_by')) {
$filter['sort_by'] = $data['sort_by'] = $this->input->get('sort_by');
} else {
$filter['sort_by'] = $data['sort_by'] = 'coupon_id';
}
if ($this->input->get('order_by')) {
$filter['order_by'] = $data['order_by'] = $this->input->get('order_by');
$data['order_by_active'] = $this->input->get('order_by') . ' active';
} else {
$filter['order_by'] = $data['order_by'] = 'DESC';
$data['order_by_active'] = 'DESC';
}
$this->template->setTitle($this->lang->line('text_title'));
$this->template->setHeading($this->lang->line('text_heading'));
$this->template->setButton($this->lang->line('button_new'), array('class' => 'btn btn-primary', 'href' => page_url() . '/edit'));
$this->template->setButton($this->lang->line('button_delete'), array('class' => 'btn btn-danger', 'onclick' => 'confirmDelete();'));
if ($this->input->post('delete') and $this->_deleteCoupon() === TRUE) {
redirect('coupons');
}
$order_by = (isset($filter['order_by']) and $filter['order_by'] == 'ASC') ? 'DESC' : 'ASC';
$data['sort_name'] = site_url('coupons' . $url . 'sort_by=name&order_by=' . $order_by);
$data['sort_code'] = site_url('coupons' . $url . 'sort_by=code&order_by=' . $order_by);
$data['sort_type'] = site_url('coupons' . $url . 'sort_by=type&order_by=' . $order_by);
$data['sort_discount'] = site_url('coupons' . $url . 'sort_by=discount&order_by=' . $order_by);
$data['sort_validity'] = site_url('coupons' . $url . 'sort_by=validity&order_by=' . $order_by);
$data['coupons'] = array();
$results = $this->Coupons_model->getList($filter);
foreach ($results as $result) {
$data['coupons'][] = array('coupon_id' => $result['coupon_id'], 'name' => $result['name'], 'code' => $result['code'], 'type' => $result['type'] === 'P' ? $this->lang->line('text_percentage') : $this->lang->line('text_fixed_amount'), 'discount' => $result['type'] === 'P' ? round($result['discount']) . '%' : $result['discount'], 'min_total' => $result['min_total'], 'validity' => ucwords($result['validity']), 'description' => $result['description'], 'status' => $result['status'] === '1' ? $this->lang->line('text_enabled') : $this->lang->line('text_disabled'), 'edit' => site_url('coupons/edit?id=' . $result['coupon_id']));
}
if ($this->input->get('sort_by') and $this->input->get('order_by')) {
$url .= 'sort_by=' . $filter['sort_by'] . '&';
$url .= 'order_by=' . $filter['order_by'] . '&';
}
$config['base_url'] = site_url('coupons' . $url);
$config['total_rows'] = $this->Coupons_model->getCount($filter);
$config['per_page'] = $filter['limit'];
$this->pagination->initialize($config);
$data['pagination'] = array('info' => $this->pagination->create_infos(), 'links' => $this->pagination->create_links());
$this->template->render('coupons', $data);
}