shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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 }