online.php (4548B)
1 <?php 2 class ControllerReportOnline extends Controller { 3 public function index() { 4 $this->load->language('report/online'); 5 6 $this->document->setTitle($this->language->get('heading_title')); 7 8 if (isset($this->request->get['filter_ip'])) { 9 $filter_ip = $this->request->get['filter_ip']; 10 } else { 11 $filter_ip = ''; 12 } 13 14 if (isset($this->request->get['filter_customer'])) { 15 $filter_customer = $this->request->get['filter_customer']; 16 } else { 17 $filter_customer = ''; 18 } 19 20 if (isset($this->request->get['page'])) { 21 $page = $this->request->get['page']; 22 } else { 23 $page = 1; 24 } 25 26 $url = ''; 27 28 if (isset($this->request->get['filter_customer'])) { 29 $url .= '&filter_customer=' . urlencode(html_entity_decode($this->request->get['filter_customer'], ENT_QUOTES, 'UTF-8')); 30 } 31 32 if (isset($this->request->get['filter_ip'])) { 33 $url .= '&filter_ip=' . $this->request->get['filter_ip']; 34 } 35 36 if (isset($this->request->get['page'])) { 37 $url .= '&page=' . $this->request->get['page']; 38 } 39 40 $data['breadcrumbs'] = array(); 41 42 $data['breadcrumbs'][] = array( 43 'text' => $this->language->get('text_home'), 44 'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) 45 ); 46 47 $data['breadcrumbs'][] = array( 48 'text' => $this->language->get('heading_title'), 49 'href' => $this->url->link('report/online', 'user_token=' . $this->session->data['user_token'], true) 50 ); 51 52 $data['refresh'] = $this->url->link('report/online', 'user_token=' . $this->session->data['user_token'] . $url, true); 53 54 $this->load->model('report/online'); 55 $this->load->model('customer/customer'); 56 57 $data['customers'] = array(); 58 59 $filter_data = array( 60 'filter_ip' => $filter_ip, 61 'filter_customer' => $filter_customer, 62 'start' => ($page - 1) * $this->config->get('config_limit_admin'), 63 'limit' => $this->config->get('config_limit_admin') 64 ); 65 66 $customer_total = $this->model_report_online->getTotalOnline($filter_data); 67 68 $results = $this->model_report_online->getOnline($filter_data); 69 70 foreach ($results as $result) { 71 $customer_info = $this->model_customer_customer->getCustomer($result['customer_id']); 72 73 if ($customer_info) { 74 $customer = $customer_info['firstname'] . ' ' . $customer_info['lastname']; 75 } else { 76 $customer = $this->language->get('text_guest'); 77 } 78 79 $data['customers'][] = array( 80 'customer_id' => $result['customer_id'], 81 'ip' => $result['ip'], 82 'customer' => $customer, 83 'url' => $result['url'], 84 'referer' => $result['referer'], 85 'date_added' => date($this->language->get('datetime_format'), strtotime($result['date_added'])), 86 'edit' => $this->url->link('customer/customer/edit', 'user_token=' . $this->session->data['user_token'] . '&customer_id=' . $result['customer_id'], true) 87 ); 88 } 89 90 $data['user_token'] = $this->session->data['user_token']; 91 92 $url = ''; 93 94 if (isset($this->request->get['filter_customer'])) { 95 $url .= '&filter_customer=' . urlencode($this->request->get['filter_customer']); 96 } 97 98 if (isset($this->request->get['filter_ip'])) { 99 $url .= '&filter_ip=' . $this->request->get['filter_ip']; 100 } 101 102 $pagination = new Pagination(); 103 $pagination->total = $customer_total; 104 $pagination->page = $page; 105 $pagination->limit = $this->config->get('config_limit_admin'); 106 $pagination->url = $this->url->link('report/online', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}', true); 107 108 $data['pagination'] = $pagination->render(); 109 110 $data['results'] = sprintf($this->language->get('text_pagination'), ($customer_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($customer_total - $this->config->get('config_limit_admin'))) ? $customer_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $customer_total, ceil($customer_total / $this->config->get('config_limit_admin'))); 111 112 $data['filter_customer'] = $filter_customer; 113 $data['filter_ip'] = $filter_ip; 114 115 $data['header'] = $this->load->controller('common/header'); 116 $data['column_left'] = $this->load->controller('common/column_left'); 117 $data['footer'] = $this->load->controller('common/footer'); 118 119 $this->response->setOutput($this->load->view('report/online', $data)); 120 } 121 }