[*] 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
This commit is contained in:
lLefevre
2011-11-09 15:50:00 +00:00
parent dc716baa05
commit baba250ba6
5 changed files with 227 additions and 28 deletions
@@ -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 <contact@prestashop.com>
* @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
*}
<div style="float:left">
<div id="calendar">
<fieldset style="width:230px; font-size:13px;">
<legend>
<img src="../img/admin/date.png" />
{$translations.Calendar}
</legend>
<div>
<form action="{$current}&token={$token}" method="post">
<input type="submit" name="submitDateDay" class="button" value="{$translations.Day}">
<input type="submit" name="submitDateMonth" class="button" value="{$translations.Month}">
<input type="submit" name="submitDateYear" class="button" value="{$translations.Year}"><br />
<input type="submit" name="submitDateDayPrev" class="button" value="{$translations.Day}-1" style="margin-top:2px">
<input type="submit" name="submitDateMonthPrev" class="button" value="{$translations.Month}-1" style="margin-top:2px">
<input type="submit" name="submitDateYearPrev" class="button" value="{$translations.Year}-1" style="margin-top:2px">
<p>{if isset($translations.From)}{$translations.From}{else}{l s='From:'}{/if}
<input type="text" name="datepickerFrom" id="datepickerFrom" value="{$datepickerFrom}">
</p>
<p>{if isset($translations.To)}{$translations.To}{else}{l s='From:'}{/if}
<input type="text" name="datepickerTo" id="datepickerTo" value="{$datepickerTo}">
</p>
<input type="submit" name="submitDatePicker" class="button" value="{if isset($translations.Save)}{$translations.Save}{else}{l s=' Save '}{/if}" />
</form>
</div>
</fieldset>
<div class="clear space">&nbsp;</div>
</div>
@@ -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 <contact@prestashop.com>
* @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
*}
<form action="{$current}&token={$token}" method="post">
<fieldset style="width:230px;">
<legend>
<img src="../img/admin/tab-preferences.gif" />{l s='Settings'}
</legend>
<p>
<strong>{l s='Graph engine'} </strong><br />
{if count($array_graph_engines)}
<select name="PS_STATS_RENDER">';
{foreach $array_graph_engines as $k => $value}
<option value="{$k}" {if $k == $graph_engine}selected="selected"{/if}>{$value[0]}</option>
{/foreach}
</select>
{else}
{l s='No graph engine module installed'}
{/if}
<p>
<p>
<strong>{l s='Grid engine'} </strong><br />
{if count($array_grid_engines)}
<select name="PS_STATS_GRID_RENDER">
{foreach $array_grid_engines as $k => $value}
<option value="{$k}" {if $k == $grid_engine}selected="selected"{/if}>{$value[0]}</option>
{/foreach}
</select>
{else}
{l s='No grid engine module installed'}
{/if}
</p>
<p><input type="submit" value="{l s=' Save '}" name="submitSettings" class="button" /></p>
</fieldset>
</form>
<div class="clear space">&nbsp;</div>
+47
View File
@@ -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 <contact@prestashop.com>
* @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
*}
<fieldset style="width:230px">
<legend>
<img src="../img/admin/navigation.png" /> {l s='Navigation'}
</legend>
{if count($modules)}
{foreach $modules as $module}
{if $module_instance[$module.name]}
<h4>
<img src="../modules/{$module.name}/logo.gif" />
<a href="{$current}&token={$token}&module={$module.name}">{$module_instance[$module.name]->displayName}</a>
</h4>
{/if}
{/foreach}
{else}
{l s='No module installed'}
{/if}
</fieldset>
<div class="clear space">&nbsp;</div>
</div>
+39
View File
@@ -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 <contact@prestashop.com>
* @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
*}
<div style="margin-left:280px;">
{if $module_name}
{if $module_instance && $module_instance->active}
{$hook}
{else}
{l s='Module not found'}
{/if}
{else}
<h3 class="space">{l s='Please select a module in the left column.'}</h3>
{/if}
</div>
<div class="clear"></div>
+28 -28
View File
@@ -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 = '
<fieldset class="width3"><legend><img src="../modules/'.$this->name.'/logo.gif" /> '.$this->displayName.'</legend>
<p><center>
$this->html = '
<fieldset><legend><img src="../modules/'.$this->name.'/logo.gif" /> '.$this->displayName.'</legend>
<p>
<img src="../img/admin/down.gif" />'.$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.').'
</center></p>
</p>
<div style="margin-top:20px"></div>
<p>'.$this->l('Total visits:').' '.$totalVisits.'</p>
<p>'.$this->l('Total visitors:').' '.$totalGuests.'</p>
'.($totalVisits ? $this->engine($graphParams).'<p><a href="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'&export=1"><img src="../img/admin/asterisk.gif" />'.$this->l('CSV Export').'</a></p>' : '').'
</fieldset>
<br class="clear" />
<fieldset class="width3"><legend><img src="../img/admin/comment.gif" /> '.$this->l('Guide').'</legend>
<br />
<fieldset><legend><img src="../img/admin/comment.gif" /> '.$this->l('Guide').'</legend>
<h2>'.$this->l('Determine the interest of a visit').'</h2>
'.$this->l('The visitors\' evolution graph strongly resembles the visits\' graph, but provides additional information:').'<br />
<ul>
@@ -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.').'<br />
</fieldset>';
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'];
}
}
}