From baba250ba6ea5ee99bf5d1ede2dc5e924d272a8c Mon Sep 17 00:00:00 2001 From: lLefevre Date: Wed, 9 Nov 2011 15:50:00 +0000 Subject: [PATCH] [*] BO #PSFV-94 : Added AdminStatsController && AdminStatsTabController && norm of statistic modules git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@10005 b9a71923-0436-4b27-9f14-aed3839534dd --- admin-dev/themes/template/stats/calendar.tpl | 53 +++++++++++++++++ admin-dev/themes/template/stats/engines.tpl | 60 ++++++++++++++++++++ admin-dev/themes/template/stats/menu.tpl | 47 +++++++++++++++ admin-dev/themes/template/stats/stats.tpl | 39 +++++++++++++ modules/statsvisits/statsvisits.php | 56 +++++++++--------- 5 files changed, 227 insertions(+), 28 deletions(-) create mode 100644 admin-dev/themes/template/stats/calendar.tpl create mode 100644 admin-dev/themes/template/stats/engines.tpl create mode 100644 admin-dev/themes/template/stats/menu.tpl create mode 100644 admin-dev/themes/template/stats/stats.tpl diff --git a/admin-dev/themes/template/stats/calendar.tpl b/admin-dev/themes/template/stats/calendar.tpl new file mode 100644 index 000000000..f3060b9ef --- /dev/null +++ b/admin-dev/themes/template/stats/calendar.tpl @@ -0,0 +1,53 @@ +{* +* 2007-2011 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2011 PrestaShop SA +* @version Release: $Revision: 8971 $ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +
+
+
+ + + {$translations.Calendar} + +
+
+ + +
+ + + +

{if isset($translations.From)}{$translations.From}{else}{l s='From:'}{/if} + +

+

{if isset($translations.To)}{$translations.To}{else}{l s='From:'}{/if} + +

+ +
+
+
+
 
+
\ No newline at end of file diff --git a/admin-dev/themes/template/stats/engines.tpl b/admin-dev/themes/template/stats/engines.tpl new file mode 100644 index 000000000..2b4e6b195 --- /dev/null +++ b/admin-dev/themes/template/stats/engines.tpl @@ -0,0 +1,60 @@ +{* +* 2007-2011 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2011 PrestaShop SA +* @version Release: $Revision: 8971 $ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +
+
+ + {l s='Settings'} + +

+ {l s='Graph engine'}
+ {if count($array_graph_engines)} + + {else} + {l s='No graph engine module installed'} + {/if} +

+ +

+ {l s='Grid engine'}
+ {if count($array_grid_engines)} + + {else} + {l s='No grid engine module installed'} + {/if} +

+

+
+
+
 
\ No newline at end of file diff --git a/admin-dev/themes/template/stats/menu.tpl b/admin-dev/themes/template/stats/menu.tpl new file mode 100644 index 000000000..a62d61fe4 --- /dev/null +++ b/admin-dev/themes/template/stats/menu.tpl @@ -0,0 +1,47 @@ +{* +* 2007-2011 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2011 PrestaShop SA +* @version Release: $Revision: 8971 $ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +
+ + {l s='Navigation'} + + {if count($modules)} + {foreach $modules as $module} + {if $module_instance[$module.name]} +

+ + {$module_instance[$module.name]->displayName} +

+ {/if} + {/foreach} + {else} + {l s='No module installed'} + {/if} +
+
 
+
+ + diff --git a/admin-dev/themes/template/stats/stats.tpl b/admin-dev/themes/template/stats/stats.tpl new file mode 100644 index 000000000..67bb11ef2 --- /dev/null +++ b/admin-dev/themes/template/stats/stats.tpl @@ -0,0 +1,39 @@ +{* +* 2007-2011 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2011 PrestaShop SA +* @version Release: $Revision: 8897 $ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +
+ {if $module_name} + {if $module_instance && $module_instance->active} + {$hook} + {else} + {l s='Module not found'} + {/if} + {else} +

{l s='Please select a module in the left column.'}

+ {/if} +
+
+ diff --git a/modules/statsvisits/statsvisits.php b/modules/statsvisits/statsvisits.php index cbff0608a..20afabda4 100644 --- a/modules/statsvisits/statsvisits.php +++ b/modules/statsvisits/statsvisits.php @@ -30,28 +30,28 @@ if (!defined('_PS_VERSION_')) class StatsVisits extends ModuleGraph { - private $_html = ''; - private $_query = ''; - private $_query2 = ''; - private $_option; + private $html = ''; + private $_query = ''; + private $_query2 = ''; + private $_option; - function __construct() - { - $this->name = 'statsvisits'; - $this->tab = 'analytics_stats'; - $this->version = 1.0; + public function __construct() + { + $this->name = 'statsvisits'; + $this->tab = 'analytics_stats'; + $this->version = 1.0; $this->author = 'PrestaShop'; $this->need_instance = 0; parent::__construct(); - $this->displayName = $this->l('Visits and Visitors'); - $this->description = $this->l('Display statistics about your visits and visitors.'); - } + $this->displayName = $this->l('Visits and Visitors'); + $this->description = $this->l('Display statistics about your visits and visitors.'); + } public function install() { - return (parent::install() AND $this->registerHook('AdminStatsModules')); + return parent::install() && $this->registerHook('AdminStatsModules'); } public function getTotalVisits() @@ -84,19 +84,19 @@ class StatsVisits extends ModuleGraph $totalGuests = $this->getTotalGuests(); if (Tools::getValue('export')) $this->csvExport(array('layers' => 2, 'type' => 'line', 'option' => 3)); - $this->_html = ' -
'.$this->displayName.' -

+ $this->html = ' +
'.$this->displayName.' +

'.$this->l('A visit corresponds to an internet user coming to your shop. Until the end of their session, only one visit is counted.').' '.$this->l('A visitor is an unknown person, who has not registered or logged on, surfing on your shop. A visitor can come and visit your shop many times.').' -

+

'.$this->l('Total visits:').' '.$totalVisits.'

'.$this->l('Total visitors:').' '.$totalGuests.'

'.($totalVisits ? $this->engine($graphParams).'

'.$this->l('CSV Export').'

' : '').'
-
-
'.$this->l('Guide').' +
+
'.$this->l('Guide').'

'.$this->l('Determine the interest of a visit').'

'.$this->l('The visitors\' evolution graph strongly resembles the visits\' graph, but provides additional information:').'
    @@ -106,7 +106,7 @@ class StatsVisits extends ModuleGraph '.$this->l('This information is mostly qualitative: you have to determine the interest of a disjointed visit.').'
'; - return $this->_html; + return $this->html; } public function setOption($option, $layers = 1) @@ -141,8 +141,8 @@ class StatsVisits extends ModuleGraph for ($i = 0; $i < $layers; $i++) { $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->_query[$i].$this->getDate().' GROUP BY LEFT(date_add, 4)'); - foreach ($result AS $row) - $this->_values[$i][(int)(substr($row['date_add'], 0, 4))] = (int)($row['total']); + foreach ($result as $row) + $this->_values[$i][(int)substr($row['date_add'], 0, 4)] = (int)$row['total']; } } @@ -151,8 +151,8 @@ class StatsVisits extends ModuleGraph for ($i = 0; $i < $layers; $i++) { $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->_query[$i].$this->getDate().' GROUP BY LEFT(date_add, 7)'); - foreach ($result AS $row) - $this->_values[$i][(int)(substr($row['date_add'], 5, 2))] = (int)($row['total']); + foreach ($result as $row) + $this->_values[$i][(int)substr($row['date_add'], 5, 2)] = (int)$row['total']; } } @@ -161,8 +161,8 @@ class StatsVisits extends ModuleGraph for ($i = 0; $i < $layers; $i++) { $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->_query[$i].$this->getDate().' GROUP BY LEFT(date_add, 10)'); - foreach ($result AS $row) - $this->_values[$i][(int)(substr($row['date_add'], 8, 2))] = (int)($row['total']); + foreach ($result as $row) + $this->_values[$i][(int)substr($row['date_add'], 8, 2)] = (int)$row['total']; } } @@ -171,8 +171,8 @@ class StatsVisits extends ModuleGraph for ($i = 0; $i < $layers; $i++) { $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->_query[$i].$this->getDate().' GROUP BY LEFT(date_add, 13)'); - foreach ($result AS $row) - $this->_values[$i][(int)(substr($row['date_add'], 11, 2))] = (int)($row['total']); + foreach ($result as $row) + $this->_values[$i][(int)substr($row['date_add'], 11, 2)] = (int)$row['total']; } } }