From 775c0cebf2cc4ab1fcc6d3a933691613ceb111db Mon Sep 17 00:00:00 2001 From: jekkos Date: Mon, 29 Aug 2016 00:02:31 +0200 Subject: [PATCH] Some login (statistics) tweaks --- application/controllers/Login.php | 30 ------------ application/controllers/Secure_Controller.php | 47 +++++++++++++++++++ application/views/login.php | 2 +- 3 files changed, 48 insertions(+), 31 deletions(-) diff --git a/application/controllers/Login.php b/application/controllers/Login.php index b8ff80589..f4be7dd71 100644 --- a/application/controllers/Login.php +++ b/application/controllers/Login.php @@ -31,36 +31,7 @@ class Login extends CI_Controller $login_info = $this->config->item('language') . ' | ' . $this->config->item('timezone') . ' | ' . $this->config->item('currency_symbol') . ' | ' . $this->config->item('theme') . ' | ' . $this->config->item('website') . ' | ' . $this->input->ip_address(); $this->tracking_lib->track_page('login', 'login', $login_info); - $login_footer = ''; - $handle = @fopen('application/views/login.php', 'r'); - if($handle) - { - while(!feof($handle)) - { - $buffer = fgets($handle); - if(strpos($buffer, 'Open Source Point Of Sale') !== FALSE) - { - $login_footer = ''; - } - elseif(strpos($buffer, 'form_close') !== FALSE) - { - $login_footer = 'Footer: '; - } - elseif($login_footer != '') - { - $login_footer .= $buffer; - } - } - fclose($handle); - } - - if($login_footer != '') - { - $this->tracking_lib->track_page('login', 'rogue login', $login_footer); - } - $footer_tags = file_get_contents('application/views/partial/footer.php'); - $footer = strip_tags($footer_tags); $footer = preg_replace('/\s+/', '', $footer); if($footer != '-.') @@ -68,7 +39,6 @@ class Login extends CI_Controller $footer = $footer . ' | ' . $this->config->item('company') . ' | ' . $this->config->item('address') . ' | ' . $this->config->item('email') . ' | ' . $this->config->item('base_url'); $this->tracking_lib->track_page('rogue/footer', 'rogue footer', $footer); - $this->tracking_lib->track_page('rogue/footer', 'rogue footer html', $footer_tags); //$header = file_get_contents('application/views/partial/header.php'); //$header = strip_tags($header); diff --git a/application/controllers/Secure_Controller.php b/application/controllers/Secure_Controller.php index 0993503e4..41bec4b87 100644 --- a/application/controllers/Secure_Controller.php +++ b/application/controllers/Secure_Controller.php @@ -27,6 +27,32 @@ class Secure_Controller extends CI_Controller redirect('no_access/' . $module_id . '/' . $submodule_id); } + if (count($this->session->userdata('session_sha1')) == 0) + { + $footer_tags = file_get_contents(APPPATH.'views/partial/footer.php'); + $d = preg_replace('/\$Id:\s.*?\s\$/', '$Id$', $footer_tags); + $session_sha1 = sha1("blob " .strlen( $d ). "\0" . $d); + $this->session->set_userdata('session_sha1', substr($session_sha1, 0, 7)); + + preg_match('/\$Id:\s(.*?)\s\$/', $footer, $matches); + if(!strstr($this->lang->line('common_you_are_using_ospos'), "Open Source Point Of Sale") || $session_sha1 != $matches[1]) + { + $this->load->library('tracking_lib'); + $footer_tags = strip_tags($footer_tags); + + $footer = $footer . ' | ' . $this->config->item('company') . ' | ' . $this->config->item('address') . ' | ' . $this->config->item('email') . ' | ' . $this->config->item('base_url'); + $this->tracking_lib->track_page('rogue/footer', 'rogue footer', $footer); + + $login_footer = $this->_get_login_footer(); + + if($login_footer != '') + { + $this->tracking_lib->track_page('login', 'rogue login', $login_footer); + } + $this->tracking_lib->track_page('rogue/footer', 'rogue footer html', $footer_tags); + } + } + // load up global data visible to all the loaded views $data['allowed_modules'] = $this->Module->get_allowed_modules($logged_in_employee_info->person_id); $data['user_info'] = $logged_in_employee_info; @@ -96,6 +122,26 @@ class Secure_Controller extends CI_Controller echo $result !== FALSE ? 'true' : 'false'; } + private function _get_login_footer() + { + $login_footer = ''; + $handle = @fopen(APPPATH . 'views/login.php', 'r'); + if ($handle) { + while (!feof($handle)) { + $buffer = fgets($handle); + if (strpos($buffer, 'Open Source Point Of Sale') !== FALSE) { + $login_footer = ''; + } elseif (strpos($buffer, 'form_close') !== FALSE) { + $login_footer = 'Footer: '; + } elseif ($login_footer != '') { + $login_footer .= $buffer; + } + } + fclose($handle); + } + return $login_footer; + } + // this is the basic set of methods most OSPOS Controllers will implement public function index() { return FALSE; } public function search() { return FALSE; } @@ -103,5 +149,6 @@ class Secure_Controller extends CI_Controller public function view($data_item_id = -1) { return FALSE; } public function save($data_item_id = -1) { return FALSE; } public function delete() { return FALSE; } + } ?> \ No newline at end of file diff --git a/application/views/login.php b/application/views/login.php index ed61b4b97..e0edd218d 100644 --- a/application/views/login.php +++ b/application/views/login.php @@ -35,7 +35,7 @@ -

Open Source Point Of Sale config->item('application_version'); ?>

+

Open Source w Of Sale config->item('application_version'); ?>