添加 Piwik 到代码库中。
+YUCHENG HU+ git-svn-id: https://svn.code.sf.net/p/hawebs/svn@484 a2543c7e-f6e9-4f8a-8bff-1ffc34733512
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
|
||||
* @version $Id: Controller.php 2067 2010-04-09 09:18:01Z matt $
|
||||
*
|
||||
* @category Piwik_Plugins
|
||||
* @package Piwik_CoreHome
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Piwik_CoreHome
|
||||
*/
|
||||
class Piwik_CoreHome_Controller extends Piwik_Controller
|
||||
{
|
||||
function getDefaultAction()
|
||||
{
|
||||
return 'redirectToCoreHomeIndex';
|
||||
}
|
||||
|
||||
function redirectToCoreHomeIndex()
|
||||
{
|
||||
$defaultReport = Piwik_UsersManager_API::getInstance()->getUserPreference(Piwik::getCurrentUserLogin(), Piwik_UsersManager_API::PREFERENCE_DEFAULT_REPORT);
|
||||
$module = 'CoreHome';
|
||||
$action = 'index';
|
||||
|
||||
// User preference: default report to load is the All Websites dashboard
|
||||
if($defaultReport == 'MultiSites'
|
||||
&& Piwik_PluginsManager::getInstance()->isPluginActivated('MultiSites'))
|
||||
{
|
||||
$module = 'MultiSites';
|
||||
}
|
||||
if($defaultReport == Piwik::getLoginPluginName())
|
||||
{
|
||||
$module = Piwik::getLoginPluginName();
|
||||
}
|
||||
|
||||
parent::redirectToIndex($module, $action);
|
||||
}
|
||||
|
||||
public function showInContext()
|
||||
{
|
||||
$controllerName = Piwik_Common::getRequestVar('moduleToLoad');
|
||||
$actionName = Piwik_Common::getRequestVar('actionToLoad', 'index');
|
||||
$view = $this->getDefaultIndexView();
|
||||
$view->content = Piwik_FrontController::getInstance()->fetchDispatch( $controllerName, $actionName );
|
||||
echo $view->render();
|
||||
}
|
||||
|
||||
protected function getDefaultIndexView()
|
||||
{
|
||||
$view = Piwik_View::factory('index');
|
||||
$this->setGeneralVariablesView($view);
|
||||
$view->menu = Piwik_GetMenu();
|
||||
$view->content = '';
|
||||
return $view;
|
||||
}
|
||||
|
||||
protected function setDateTodayIfWebsiteCreatedToday()
|
||||
{
|
||||
$date = Piwik_Common::getRequestVar('date', false);
|
||||
if($date == 'today')
|
||||
{
|
||||
return;
|
||||
}
|
||||
$websiteId = Piwik_Common::getRequestVar('idSite', false);
|
||||
if ($websiteId) {
|
||||
$website = new Piwik_Site($websiteId);
|
||||
$datetimeCreationDate = $this->site->getCreationDate()->getDatetime();
|
||||
$creationDateLocalTimezone = Piwik_Date::factory($datetimeCreationDate, $website->getTimezone())->toString('Y-m-d');
|
||||
$todayLocalTimezone = Piwik_Date::factory('now', $website->getTimezone())->toString('Y-m-d');
|
||||
if( $creationDateLocalTimezone == $todayLocalTimezone )
|
||||
{
|
||||
Piwik::redirectToModule( 'CoreHome', 'index',
|
||||
array( 'date' => 'today',
|
||||
'idSite' => $websiteId,
|
||||
'period' => Piwik_Common::getRequestVar('period'))
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->setDateTodayIfWebsiteCreatedToday();
|
||||
$view = $this->getDefaultIndexView();
|
||||
echo $view->render();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
|
||||
* @version $Id: CoreHome.php 2264 2010-06-03 16:53:43Z vipsoft $
|
||||
*
|
||||
* @category Piwik_Plugins
|
||||
* @package Piwik_CoreHome
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Piwik_CoreHome
|
||||
*/
|
||||
class Piwik_CoreHome extends Piwik_Plugin
|
||||
{
|
||||
public function getInformation()
|
||||
{
|
||||
return array(
|
||||
'description' => Piwik_Translate('CoreHome_PluginDescription'),
|
||||
'author' => 'Piwik',
|
||||
'author_homepage' => 'http://piwik.org/',
|
||||
'version' => Piwik_Version::VERSION,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<dwsync>
|
||||
<file name="index.tpl" server="hawebs.net//www/hawebs.net/piwik/" local="129230032218750000" remote="129229996200000000" />
|
||||
<file name="piwik_tag.tpl" server="hawebs.net//www/hawebs.net/piwik/" local="129230031367031250" remote="129229995000000000" />
|
||||
</dwsync>
|
||||
@@ -0,0 +1,164 @@
|
||||
Date.prototype.getWeek = function() {
|
||||
var onejan = new Date(this.getFullYear(),0,1);
|
||||
return Math.ceil((((this - onejan) / 86400000) + onejan.getDay())/7);
|
||||
}
|
||||
|
||||
var splitDate = piwik.currentDateString.split("-");
|
||||
var currentYear = splitDate[0];
|
||||
var currentMonth = splitDate[1] - 1;
|
||||
var currentDay = splitDate[2];
|
||||
var currentDate = new Date(currentYear, currentMonth, currentDay);
|
||||
|
||||
var todayDate = new Date;
|
||||
var todayMonth = todayDate.getMonth();
|
||||
var todayYear = todayDate.getFullYear();
|
||||
var todayDay = todayDate.getDate();
|
||||
|
||||
function highlightCurrentPeriod( date )
|
||||
{
|
||||
var valid = false;
|
||||
|
||||
var dateMonth = date.getMonth();
|
||||
var dateYear = date.getFullYear();
|
||||
var dateDay = date.getDate();
|
||||
var style = '';
|
||||
|
||||
// we don't color dates in the future
|
||||
if( dateMonth == todayMonth
|
||||
&& dateYear == todayYear
|
||||
&& dateDay >= todayDay
|
||||
)
|
||||
{
|
||||
return [true, ''];
|
||||
}
|
||||
|
||||
// we don't color dates before the minimum date
|
||||
if( dateYear < piwik.minDateYear
|
||||
|| ( dateYear == piwik.minDateYear
|
||||
&&
|
||||
(
|
||||
(dateMonth == piwik.minDateMonth - 1
|
||||
&& dateDay < piwik.minDateDay)
|
||||
|| (dateMonth < piwik.minDateMonth - 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
{
|
||||
return [true, ''];
|
||||
}
|
||||
|
||||
// we color all day of the month for the same year for the month period
|
||||
if(piwik.period == "month"
|
||||
&& dateMonth == currentMonth
|
||||
&& dateYear == currentYear
|
||||
)
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
// we color all day of the year for the year period
|
||||
else if(piwik.period == "year"
|
||||
&& dateYear == currentYear
|
||||
)
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
else if(piwik.period == "week"
|
||||
&& date.getWeek() == currentDate.getWeek()
|
||||
&& dateYear == currentYear
|
||||
)
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
else if( piwik.period == "day"
|
||||
&& dateDay == currentDay
|
||||
&& dateMonth == currentMonth
|
||||
&& dateYear == currentYear
|
||||
)
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
|
||||
if(valid)
|
||||
{
|
||||
return [true, 'ui-datepicker-current-period'];
|
||||
}
|
||||
|
||||
return [true, ''];
|
||||
}
|
||||
|
||||
function updateDate(dateText, inst)
|
||||
{
|
||||
var date = dateText;
|
||||
// Let broadcast do its job:
|
||||
// It will replace date value to both search query and hash and load the new page.
|
||||
broadcast.propagateNewPage('date=' + date);
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
$('#datepicker').datepicker({
|
||||
onSelect: updateDate,
|
||||
showOtherMonths: false,
|
||||
dateFormat: 'yy-mm-dd',
|
||||
firstDay: 1,
|
||||
minDate: new Date(piwik.minDateYear, piwik.minDateMonth - 1, piwik.minDateDay),
|
||||
maxDate: new Date(piwik.maxDateYear, piwik.maxDateMonth - 1, piwik.maxDateDay),
|
||||
prevText: "",
|
||||
nextText: "",
|
||||
currentText: "",
|
||||
beforeShowDay: highlightCurrentPeriod,
|
||||
defaultDate: currentDate,
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
// jquery-ui-i18n 1.7.2 lacks some translations, so we use our own
|
||||
dayNamesMin: [
|
||||
_pk_translate('CoreHome_DaySu_js'),
|
||||
_pk_translate('CoreHome_DayMo_js'),
|
||||
_pk_translate('CoreHome_DayTu_js'),
|
||||
_pk_translate('CoreHome_DayWe_js'),
|
||||
_pk_translate('CoreHome_DayTh_js'),
|
||||
_pk_translate('CoreHome_DayFr_js'),
|
||||
_pk_translate('CoreHome_DaySa_js')],
|
||||
dayNamesShort: [
|
||||
_pk_translate('CoreHome_ShortDay_1_js'),
|
||||
_pk_translate('CoreHome_ShortDay_2_js'),
|
||||
_pk_translate('CoreHome_ShortDay_3_js'),
|
||||
_pk_translate('CoreHome_ShortDay_4_js'),
|
||||
_pk_translate('CoreHome_ShortDay_5_js'),
|
||||
_pk_translate('CoreHome_ShortDay_6_js'),
|
||||
_pk_translate('CoreHome_ShortDay_7_js')],
|
||||
dayNames: [
|
||||
_pk_translate('CoreHome_LongDay_1_js'),
|
||||
_pk_translate('CoreHome_LongDay_2_js'),
|
||||
_pk_translate('CoreHome_LongDay_3_js'),
|
||||
_pk_translate('CoreHome_LongDay_4_js'),
|
||||
_pk_translate('CoreHome_LongDay_5_js'),
|
||||
_pk_translate('CoreHome_LongDay_6_js'),
|
||||
_pk_translate('CoreHome_LongDay_7_js')],
|
||||
monthNamesShort: [
|
||||
_pk_translate('CoreHome_ShortMonth_1_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_2_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_3_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_4_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_5_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_6_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_7_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_8_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_9_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_10_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_11_js'),
|
||||
_pk_translate('CoreHome_ShortMonth_12_js')],
|
||||
monthNames: [
|
||||
_pk_translate('CoreHome_MonthJanuary_js'),
|
||||
_pk_translate('CoreHome_MonthFebruary_js'),
|
||||
_pk_translate('CoreHome_MonthMarch_js'),
|
||||
_pk_translate('CoreHome_MonthApril_js'),
|
||||
_pk_translate('CoreHome_MonthMay_js'),
|
||||
_pk_translate('CoreHome_MonthJune_js'),
|
||||
_pk_translate('CoreHome_MonthJuly_js'),
|
||||
_pk_translate('CoreHome_MonthAugust_js'),
|
||||
_pk_translate('CoreHome_MonthSeptember_js'),
|
||||
_pk_translate('CoreHome_MonthOctober_js'),
|
||||
_pk_translate('CoreHome_MonthNovember_js'),
|
||||
_pk_translate('CoreHome_MonthDecember_js')]
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,44 @@
|
||||
.tagCloud {
|
||||
width:100%;
|
||||
}
|
||||
.tagCloud img {
|
||||
border:0;
|
||||
}
|
||||
.tagCloud .word a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.tagCloud .word {
|
||||
padding: 4px 8px 4px 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.tagCloud .valueIsZero {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
.tagCloud span.size0, .tagCloud span.size0 a {
|
||||
color: #344971;
|
||||
font-size: 28px;
|
||||
}
|
||||
.tagCloud span.size1, .tagCloud span.size1 a {
|
||||
color: #344971;
|
||||
font-size: 24px;
|
||||
}
|
||||
.tagCloud span.size2, .tagCloud span.size2 a {
|
||||
color: #4B74AD;
|
||||
font-size:20px;
|
||||
}
|
||||
.tagCloud span.size3, .tagCloud span.size3 a {
|
||||
color: #A3A8B6;
|
||||
font-size: 16px;
|
||||
}
|
||||
.tagCloud span.size4, .tagCloud span.size4 a {
|
||||
color: #A3A8B6;
|
||||
font-size: 15px;
|
||||
}
|
||||
.tagCloud span.size5, .tagCloud span.size5 a {
|
||||
color: #A3A8B6;
|
||||
font-size: 14px;
|
||||
}
|
||||
.tagCloud span.size6, .tagCloud span.size6 a {
|
||||
color: #A3A8B6;
|
||||
font-size: 11px;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<div id="{$properties.uniqueId}">
|
||||
<div class="tagCloud">
|
||||
{if count($cloudValues) == 0}
|
||||
<div class="pk-emptyDataTable">{'General_NoDataForTagCloud'|translate}</div>
|
||||
{else}
|
||||
{foreach from=$cloudValues key=word item=value}
|
||||
<span title="{$value.word} ({$value.value} {$columnTranslation})" class="word size{$value.size} {* we strike tags with 0 hits *} {if $value.value == 0}valueIsZero{/if}">
|
||||
{if false !== $labelMetadata[$value.word].url}<a href="{$labelMetadata[$value.word].url}" target="_blank">{/if}
|
||||
{if false !== $labelMetadata[$value.word].logo}<img src="{$labelMetadata[$value.word].logo}" width="{$value.logoWidth}" />{else}
|
||||
{$value.wordTruncated}{/if}{if false !== $labelMetadata[$value.word].url}</a>{/if}</span>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{if $properties.show_footer}
|
||||
{include file="CoreHome/templates/datatable_footer.tpl"}
|
||||
{/if}
|
||||
{include file="CoreHome/templates/datatable_js.tpl"}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,41 @@
|
||||
<div id="{$properties.uniqueId}">
|
||||
<div class="{if isset($javascriptVariablesToSet.idSubtable)&& $javascriptVariablesToSet.idSubtable!=0}sub{/if}{if $javascriptVariablesToSet.viewDataTable=='tableAllColumns'}dataTableAllColumnsWrapper{elseif $javascriptVariablesToSet.viewDataTable=='tableGoals'}dataTableAllColumnsWrapper{else}dataTableWrapper{/if}">
|
||||
{if isset($arrayDataTable.result) and $arrayDataTable.result == 'error'}
|
||||
{$arrayDataTable.message}
|
||||
{else}
|
||||
{if count($arrayDataTable) == 0}
|
||||
<div class="pk-emptyDataTable">{'CoreHome_TableNoData'|translate}</div>
|
||||
{else}
|
||||
<a name="{$properties.uniqueId}"></a>
|
||||
<table cellspacing="0" class="dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
{foreach from=$dataTableColumns item=column name=head}
|
||||
<th class="sortable {if $smarty.foreach.head.first}first{elseif $smarty.foreach.head.last}last{/if}" id="{$column}"><div id="thDIV">{$columnTranslations[$column]}</div></th>
|
||||
{/foreach}
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$arrayDataTable item=row}
|
||||
<tr {if $row.idsubdatatable && $javascriptVariablesToSet.controllerActionCalledWhenRequestSubTable != null}class="subDataTable" id="{$row.idsubdatatable}"{/if}>
|
||||
{foreach from=$dataTableColumns item=column}
|
||||
<td>
|
||||
{if !$row.idsubdatatable && $column=='label' && !empty($row.metadata.url)}<span class="urlLink">{$row.metadata.url}</span>{/if}
|
||||
{if $column=='label'}{logoHtml metadata=$row.metadata alt=$row.columns.label}{/if}
|
||||
{if isset($row.columns[$column])}{$row.columns[$column]}{else}{$defaultWhenColumnValueNotDefined}{/if}
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
|
||||
{if $properties.show_footer}
|
||||
{include file="CoreHome/templates/datatable_footer.tpl"}
|
||||
{/if}
|
||||
{include file="CoreHome/templates/datatable_js.tpl"}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div id="{$properties.uniqueId}">
|
||||
<div class="dataTableActionsWrapper">
|
||||
{if isset($arrayDataTable.result) and $arrayDataTable.result == 'error'}
|
||||
{$arrayDataTable.message}
|
||||
{else}
|
||||
{if count($arrayDataTable) == 0}
|
||||
<div class="pk-emptyDataTable">{'CoreHome_TableNoData'|translate}</div>
|
||||
{else}
|
||||
<table cellspacing="0" class="dataTable dataTableActions">
|
||||
<thead>
|
||||
<tr>
|
||||
{foreach from=$dataTableColumns item=column name=head}
|
||||
<th class="sortable {if $smarty.foreach.head.first}first{elseif $smarty.foreach.head.last}last{/if}" id="{$column}"><div id="thDIV">{if !empty($columnDescriptions[$column])}<label title='{$columnDescriptions[$column]|escape:'html'}'>{/if}{$columnTranslations[$column]|escape:'html'}{if !empty($columnDescriptions[$column])}</label>{/if}</div></td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$arrayDataTable item=row}
|
||||
<tr {if $row.idsubdatatable}class="rowToProcess subActionsDataTable" id="{$row.idsubdatatable}"{else} class="actionsDataTable rowToProcess"{/if}>
|
||||
{foreach from=$dataTableColumns item=column}
|
||||
<td>
|
||||
{if !$row.idsubdatatable && $column=='label' && isset($row.metadata.url)}<span class="urlLink">{$row.metadata.url}</span>{/if}
|
||||
{if isset($row.columns[$column])}{$row.columns[$column]}{else}{$defaultWhenColumnValueNotDefined}{/if}
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
|
||||
{if $properties.show_footer}
|
||||
{include file="CoreHome/templates/datatable_footer.tpl"}
|
||||
{/if}
|
||||
{include file="CoreHome/templates/datatable_actions_js.tpl"}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
<script type="text/javascript" defer="defer">
|
||||
$(document).ready(function(){literal}{{/literal}
|
||||
actionDataTables['{$properties.uniqueId}'] = new actionDataTable();
|
||||
actionDataTables['{$properties.uniqueId}'].param = {literal}{{/literal}
|
||||
{foreach from=$javascriptVariablesToSet key=name item=value name=loop}
|
||||
{$name}: '{$value}'{if !$smarty.foreach.loop.last},{/if}
|
||||
{/foreach}
|
||||
{literal}};{/literal}
|
||||
actionDataTables['{$properties.uniqueId}'].init('{$properties.uniqueId}');
|
||||
{literal}}{/literal});
|
||||
</script>
|
||||
@@ -0,0 +1,36 @@
|
||||
<div id="{$properties.uniqueId}">
|
||||
<div class="dataTableActionsWrapper">
|
||||
{if isset($arrayDataTable.result) and $arrayDataTable.result == 'error'}
|
||||
{$arrayDataTable.message}
|
||||
{else}
|
||||
{if count($arrayDataTable) == 0}
|
||||
<div class="pk-emptyDataTable">{'CoreHome_TableNoData'|translate}</div>
|
||||
{else}
|
||||
<table cellspacing="0" class="dataTable dataTableActions">
|
||||
<thead>
|
||||
<tr>
|
||||
{foreach from=$dataTableColumns item=column}
|
||||
<th class="sortable" id="{$column}">{$columnTranslations[$column]}</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$arrayDataTable item=row}
|
||||
<tr {if $row.idsubdatatable}class="level{$row.level} rowToProcess subActionsDataTable" id="{$row.idsubdatatable}"{else}class="actionsDataTable rowToProcess level{$row.level}"{/if}>
|
||||
{foreach from=$dataTableColumns item=column}
|
||||
<td>
|
||||
{if isset($row.columns[$column])}{$row.columns[$column]}{else}{$defaultWhenColumnValueNotDefined}{/if}
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
|
||||
{include file="CoreHome/templates/datatable_footer.tpl"}
|
||||
{include file="CoreHome/templates/datatable_actions_js.tpl"}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,19 @@
|
||||
<tr id="{$properties.uniqueId}"></tr>
|
||||
{if isset($arrayDataTable.result) and $arrayDataTable.result == 'error'}
|
||||
{$arrayDataTable.message}
|
||||
{else}
|
||||
{if count($arrayDataTable) == 0}
|
||||
<tr><td colspan="{$nbColumns}">{'CoreHome_CategoryNoData'|translate}</td></tr>
|
||||
{else}
|
||||
{foreach from=$arrayDataTable item=row}
|
||||
<tr {if $row.idsubdatatable}class="subActionsDataTable" id="{$row.idsubdatatable}"{else}class="actionsDataTable"{/if}>
|
||||
{foreach from=$dataTableColumns item=column}
|
||||
<td>
|
||||
{if !$row.idsubdatatable && $column=='label' && isset($row.metadata.url)}<span class="urlLink">{$row.metadata.url}</span>{/if}
|
||||
{if isset($row.columns[$column])}{$row.columns[$column]}{else}{$defaultWhenColumnValueNotDefined}{/if}
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{/if}
|
||||
@@ -0,0 +1,73 @@
|
||||
<div class="dataTableFeatures">
|
||||
{if $properties.show_exclude_low_population}
|
||||
<span class="dataTableExcludeLowPopulation"></span>
|
||||
{/if}
|
||||
|
||||
{if $properties.show_offset_information}
|
||||
<div>
|
||||
<span class="dataTablePages"></span>
|
||||
<span class="dataTablePrevious">‹ {'General_Previous'|translate}</span>
|
||||
<span class="dataTableNext">{'General_Next'|translate} ›</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $properties.show_search}
|
||||
<span class="dataTableSearchPattern">
|
||||
<input id="keyword" type="text" length="15" />
|
||||
<input type="submit" value="{'General_Search'|translate}" />
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
{if $properties.show_footer_icons}
|
||||
<div>
|
||||
<span class="dataTableFooterIcons">
|
||||
<span class="exportToFormatIcons" style="display:none;padding-left:4px;">
|
||||
{if $properties.show_export_as_image_icon}
|
||||
<span id="dataTableFooterExportAsImageIcon">
|
||||
<a href="javascript:piwikHelper.OFC.jquery.popup('{$chartDivId}');"><img title="{'General_ExportAsImage_js'|translate}" src="themes/default/images/image.png" /></a>
|
||||
</span>
|
||||
{/if}
|
||||
<img width="16" height="16" src="themes/default/images/export.png" title="{'General_Export'|translate}" />
|
||||
<span class="linksExportToFormat" style="display:none">
|
||||
<a target="_blank" class="exportToFormat" methodToCall="{$properties.apiMethodToRequestDataTable}" format="CSV" filter_limit="100">CSV</a> |
|
||||
<a target="_blank" class="exportToFormat" methodToCall="{$properties.apiMethodToRequestDataTable}" format="TSV" filter_limit="100">TSV (Excel)</a> |
|
||||
<a target="_blank" class="exportToFormat" methodToCall="{$properties.apiMethodToRequestDataTable}" format="XML" filter_limit="100">XML</a> |
|
||||
<a target="_blank" class="exportToFormat" methodToCall="{$properties.apiMethodToRequestDataTable}" format="JSON" filter_limit="100">Json</a> |
|
||||
<a target="_blank" class="exportToFormat" methodToCall="{$properties.apiMethodToRequestDataTable}" format="PHP" filter_limit="100">Php</a> |
|
||||
<a target="_blank" class="exportToFormat" methodToCall="{$properties.apiMethodToRequestDataTable}" format="RSS" filter_limit="100" date="last10"><img border="0" src="themes/default/images/feed.png" /></a>
|
||||
</span>
|
||||
{if $properties.show_all_views_icons}
|
||||
<a class="viewDataTable" format="cloud"><img width="16" height="16" src="themes/default/images/tagcloud.png" title="{'General_TagCloud'|translate}" /></a>
|
||||
<a class="viewDataTable" format="graphVerticalBar"><img width="16" height="16" src="themes/default/images/chart_bar.png" title="{'General_VBarGraph'|translate}" /></a>
|
||||
<a class="viewDataTable" format="graphPie"><img width="16" height="16" src="themes/default/images/chart_pie.png" title="{'General_Piechart'|translate}" /></a>
|
||||
{/if}
|
||||
</span>
|
||||
<span class="dataTableFooterIconsShow" style="display:none;padding-left:4px;">
|
||||
<img src="plugins/CoreHome/templates/images/more.png" />
|
||||
</span>
|
||||
|
||||
{if $properties.show_table}
|
||||
<span class="tableAllColumnsSwitch" style="display:none;float:right;padding-right:4px;border-right:1px solid #82A1D2;">
|
||||
{if $javascriptVariablesToSet.viewDataTable != 'table'}
|
||||
<img title="{'General_DisplayNormalTable'|translate}" src="themes/default/images/table.png" />
|
||||
{elseif $properties.show_table_all_columns}
|
||||
<img title="{'General_DisplayMoreData'|translate}" src="themes/default/images/table_more.png" />
|
||||
{/if}
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
{if $properties.show_goals}
|
||||
<span class="tableGoals" style="display:none;float:right;padding-right:4px;">
|
||||
{if $javascriptVariablesToSet.viewDataTable != 'tableGoals'}
|
||||
<img title="{'General_DisplayGoals'|translate}" src="themes/default/images/goal.png" />
|
||||
{/if}
|
||||
</span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<span class="pk-loadingDataTable"><img src="themes/default/images/loading-blue.gif" /> {'General_LoadingData'|translate}</span>
|
||||
</div>
|
||||
|
||||
<div class="dataTableSpacer" />
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
<script type="text/javascript" defer="defer">
|
||||
$(document).ready(function(){literal}{{/literal}
|
||||
dataTables['{$properties.uniqueId}'] = new dataTable();
|
||||
dataTables['{$properties.uniqueId}'].param = {literal}{{/literal}
|
||||
{foreach from=$javascriptVariablesToSet key=name item=value name=loop}
|
||||
{$name}: '{$value}'{if !$smarty.foreach.loop.last},{/if}
|
||||
{/foreach}
|
||||
{literal}};{/literal}
|
||||
dataTables['{$properties.uniqueId}'].init('{$properties.uniqueId}');
|
||||
{literal}}{/literal});
|
||||
</script>
|
||||
@@ -0,0 +1,92 @@
|
||||
$(document).ready(function(){
|
||||
$("#periodString").hide();
|
||||
$("#otherPeriods").hide();
|
||||
$("#datepicker").hide();
|
||||
$("#periodString").show();
|
||||
|
||||
// we get the content of the div before modifying it (append image, etc.)
|
||||
// so we can restore its value when we want
|
||||
var savedCurrentPeriod = $("#periodString #currentPeriod").html();
|
||||
|
||||
// timeout used to fadeout the menu
|
||||
var timeout = null;
|
||||
var timeoutLength;
|
||||
|
||||
// restore the normal style of the current period type eg "DAY"
|
||||
function restoreCurrentPeriod()
|
||||
{
|
||||
$("#currentPeriod")
|
||||
.removeClass("hoverPeriod")
|
||||
.html(savedCurrentPeriod);
|
||||
}
|
||||
// remove the sub menu created that contains the other periods availble
|
||||
// eg. week | month | year
|
||||
function removePeriodMenu() {
|
||||
$("#otherPeriods").fadeOut('fast');
|
||||
setCurrentPeriodStyle = true;
|
||||
}
|
||||
|
||||
// state machine a bit complex and was hard to come up with
|
||||
// there should be a simpler way to do it with jquery...
|
||||
// if set to true, means that we want to style our current period
|
||||
// for example add bold and append the image
|
||||
var setCurrentPeriodStyle = true;
|
||||
|
||||
$("#periodString #periods")
|
||||
.hover(function(){
|
||||
$(this).css({ cursor: "pointer"});
|
||||
|
||||
// cancel the timeout
|
||||
// indeed if the user goes away of the div and goes back on
|
||||
// we don't hide the submenu!
|
||||
if(timeout != null)
|
||||
{
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
timeoutLength = 500;
|
||||
}
|
||||
else
|
||||
{
|
||||
timeoutLength = 0;
|
||||
setCurrentPeriodStyle = true;
|
||||
}
|
||||
if( setCurrentPeriodStyle == true)
|
||||
{
|
||||
$("#currentPeriod:not(.hoverPeriod)")
|
||||
.addClass("hoverPeriod")
|
||||
.append(' <img src="plugins/CoreHome/templates/images/more_period.gif" style="vertical-align:middle" />');
|
||||
}
|
||||
}, function(){
|
||||
restoreCurrentPeriod();
|
||||
// we callback the function to hide the sub menu
|
||||
// only if it was visible (otherwise it messes the state machine)
|
||||
if($("#otherPeriods").is(":visible"))
|
||||
{
|
||||
timeout = setTimeout( removePeriodMenu , timeoutLength);
|
||||
}
|
||||
setCurrentPeriodStyle = false;
|
||||
})
|
||||
.click( function() {
|
||||
// we restore the initial style on the DAY link
|
||||
restoreCurrentPeriod();
|
||||
// the menu shall fadeout after 500ms
|
||||
timeoutLength = 500;
|
||||
// appearance!
|
||||
$("#otherPeriods").fadeIn();
|
||||
|
||||
});
|
||||
|
||||
$("#periodString #date")
|
||||
.hover( function(){
|
||||
$(this).css({ cursor: "pointer"});
|
||||
}, function(){
|
||||
|
||||
})
|
||||
.click(function(){
|
||||
$("#datepicker").toggle();
|
||||
if($("#datepicker").is(":visible"))
|
||||
{
|
||||
$("#datepicker .ui-state-highlight").removeClass('ui-state-highlight');
|
||||
}
|
||||
});
|
||||
} );
|
||||
@@ -0,0 +1,48 @@
|
||||
<div id="{$properties.uniqueId}">
|
||||
<div class="{if $graphType=='evolution'}dataTableGraphEvolutionWrapper{else}dataTableGraphWrapper{/if}">
|
||||
|
||||
{if $flashParameters.isDataAvailable || !$flashParameters.includeData}
|
||||
<div><div id="{$chartDivId}">
|
||||
{'General_RequiresFlash'|translate} >= {$flashParameters.requiredFlashVersion}. <a target="_blank" href="misc/redirectToUrl.php?url={'http://piwik.org/faq/troubleshooting/#faq_53'|escape:"url"}">{'General_GraphHelp'|translate}</a>
|
||||
</div></div>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
{if $flashParameters.includeData}
|
||||
piwikHelper.OFC.set("{$chartDivId}", '{$flashParameters.data}');
|
||||
{/if}
|
||||
swfobject.embedSWF(
|
||||
"{$flashParameters.ofcLibraryPath}open-flash-chart.swf?{$tag}",
|
||||
"{$chartDivId}",
|
||||
"{$flashParameters.width}", "{$flashParameters.height}",
|
||||
"{$flashParameters.requiredFlashVersion}",
|
||||
"{$flashParameters.swfLibraryPath}expressInstall.swf",
|
||||
{literal}{{/literal}
|
||||
"{if $flashParameters.includeData}x-{/if}data-file":"{$urlGraphData|escape:"url"}",
|
||||
{if $flashParameters.includeData}
|
||||
"id":"{$chartDivId}",
|
||||
{/if}
|
||||
"loading":"{'General_Loading'|translate|escape:"html"}"
|
||||
{literal}},
|
||||
{{/literal}
|
||||
"allowScriptAccess":"always",
|
||||
"wmode":"transparent"
|
||||
{literal}},
|
||||
{{/literal}
|
||||
"bgcolor":"#FFFFFF"
|
||||
{literal}}{/literal}
|
||||
);
|
||||
//-->
|
||||
</script>
|
||||
{else}
|
||||
<div><div id="{$chartDivId}" class="pk-emptyGraph">
|
||||
{'General_NoDataForGraph'|translate}
|
||||
</div></div>
|
||||
{/if}
|
||||
|
||||
{if $properties.show_footer}
|
||||
{include file="CoreHome/templates/datatable_footer.tpl"}
|
||||
{include file="CoreHome/templates/datatable_js.tpl"}
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Piwik › {'CoreHome_WebAnalyticsReports'|translate}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Piwik {$piwik_version}" />
|
||||
<link rel="shortcut icon" href="plugins/CoreHome/templates/images/favicon.ico" />
|
||||
{loadJavascriptTranslations plugins='CoreHome'}
|
||||
{include file="CoreHome/templates/js_global_variables.tpl"}
|
||||
{include file="CoreHome/templates/js_css_includes.tpl"}
|
||||
</head>
|
||||
<body>
|
||||
{include file="CoreHome/templates/top_bar.tpl"}
|
||||
{include file="CoreHome/templates/top_screen.tpl"}
|
||||
@@ -0,0 +1,14 @@
|
||||
<span id="header_message">
|
||||
{if $piwikUrl == 'http://piwik.org/demo/'}
|
||||
{'General_YouAreCurrentlyViewingDemoOfPiwik'|translate:"<a target='_blank' href='http://piwik.org'>Piwik</a>":"<a href='http://piwik.org/'>":"</a>":"<a href='http://piwik.org'>piwik.org</a>"}
|
||||
{elseif $latest_version_available}
|
||||
<img src='themes/default/images/warning_small.png' alt='' style="vertical-align: middle;" />
|
||||
{if $isSuperUser}
|
||||
{'General_PiwikXIsAvailablePleaseUpdateNow'|translate:$latest_version_available:"<br /><a href='index.php?module=CoreUpdater&action=newVersionAvailable'>":"</a>":"<a href='misc/redirectToUrl.php?url=http://piwik.org/changelog/' target='_blank'>":"</a>"}
|
||||
{else}
|
||||
{'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate:"<a href='misc/redirectToUrl.php?url=http://piwik.org/' target='_blank'>Piwik</a> <a href='misc/redirectToUrl.php?url=http://piwik.org/changelog/' target='_blank'>$latest_version_available</a>"}
|
||||
{/if}
|
||||
{else}
|
||||
{'General_PiwikIsACollaborativeProjectYouCanContribute'|translate:"<a href='misc/redirectToUrl.php?url=http://piwik.org'>":"$piwik_version</a>":"<br />":"<a target='_blank' href='misc/redirectToUrl.php?url=http://piwik.org/contribute/'>":"</a>"}
|
||||
{/if}
|
||||
</span>
|
||||
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 47 B |
|
After Width: | Height: | Size: 55 B |
|
After Width: | Height: | Size: 894 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 56 B |
|
After Width: | Height: | Size: 53 B |
|
After Width: | Height: | Size: 1021 B |
|
After Width: | Height: | Size: 136 B |
@@ -0,0 +1,49 @@
|
||||
{assign var=showSitesSelection value=true}
|
||||
|
||||
{include file="CoreHome/templates/header.tpl"}
|
||||
|
||||
{if isset($menu) && $menu}{include file="CoreHome/templates/menu.tpl"}{/if}
|
||||
<div style="clear:both;"></div>
|
||||
{ajaxLoadingDiv}
|
||||
{ajaxRequestErrorDiv}
|
||||
|
||||
<div id="content">
|
||||
{if $content}{$content}{/if}
|
||||
</div>
|
||||
|
||||
{include file="CoreHome/templates/piwik_tag.tpl"}
|
||||
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-13048050-1']);
|
||||
_gaq.push(['_setDomainName', '.hawebs.net']);
|
||||
_gaq.push(['_setLocalRemoteServerMode']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
var pkBaseURL = (("https:" == document.location.protocol) ? "https://wa.hawebs.net/" : "http://wa.hawebs.net/");
|
||||
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
</script><script type="text/javascript">
|
||||
try {
|
||||
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 7);
|
||||
piwikTracker.trackPageView();
|
||||
piwikTracker.enableLinkTracking();
|
||||
} catch( err ) {}
|
||||
</script><noscript><p><img src="http://wa.hawebs.net/piwik.php?idsite=7" style="border:0" alt="" /></p></noscript>
|
||||
<!-- End Piwik Tag -->
|
||||
|
||||
{/literal}
|
||||
|
||||
</body>
|
||||
</html>
|
||||