Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas ZILLIOX <thomas@zilliox.me>2013-07-02 20:08:38 +0400
committerThomas ZILLIOX <thomas@zilliox.me>2013-07-02 20:08:38 +0400
commit287dcbbe9eecd9d6e4c5cd89a5a2fa7fe14bb09a (patch)
tree3ca1c8b4a1fd14cca3c5f492cf6ea8391f1a1060 /plugins/MultiSites
parent3b367dd3afffa6d44fdf0069f62b00c2bb487a5a (diff)
Merge with master
Diffstat (limited to 'plugins/MultiSites')
-rwxr-xr-xplugins/MultiSites/API.php34
-rw-r--r--plugins/MultiSites/Controller.php2
-rw-r--r--plugins/MultiSites/MultiSites.php2
-rw-r--r--plugins/MultiSites/templates/getSitesInfo.twig27
4 files changed, 39 insertions, 26 deletions
diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php
index b6b0a4d1ae..e3d398c259 100755
--- a/plugins/MultiSites/API.php
+++ b/plugins/MultiSites/API.php
@@ -218,9 +218,13 @@ class Piwik_MultiSites_API
) {
$dataTable = $dataTable->mergeChildren();
} else {
- if (!$dataTable instanceof Piwik_DataTable_Array) {
+ if (!($dataTable instanceof Piwik_DataTable_Array)
+ && $dataTable->getRowsCount() > 0
+ ) {
+ $firstSite = is_array($sites) ? reset($sites) : $sites;
+
$firstDataTableRow = $dataTable->getFirstRow();
- $firstDataTableRow->setColumn('label', $sites);
+ $firstDataTableRow->setColumn('label', $firstSite);
}
}
@@ -237,11 +241,14 @@ class Piwik_MultiSites_API
// put there is put directly in Piwik_DataTable::metadata.
$dataTable->setMetadata(self::getLastPeriodMetadataName('date'), $lastPeriod);
}
-
- $pastArchive = Piwik_Archive::build('all', $period, $strLastDate, $segment, $_restrictSitesToLogin);
+ $pastArchive = Piwik_Archive::build($sites, $period, $strLastDate, $segment, $_restrictSitesToLogin);
$pastData = $pastArchive->getDataTableFromNumeric($fieldsToGet);
-
- $pastData = $pastData->mergeChildren();
+
+ if ($pastData instanceof Piwik_DataTable_Array
+ && $multipleWebsitesRequested
+ ) {
+ $pastData = $pastData->mergeChildren();
+ }
// use past data to calculate evolution percentages
$this->calculateEvolutionPercentages($dataTable, $pastData, $apiMetrics);
@@ -312,6 +319,11 @@ class Piwik_MultiSites_API
*/
private function calculateEvolutionPercentages($currentData, $pastData, $apiMetrics)
{
+ if (get_class($currentData) != get_class($pastData)) { // sanity check for regressions
+ throw new Exception("Expected \$pastData to be of type ".get_class($currentData)." - got "
+ . get_class($pastData).".");
+ }
+
if ($currentData instanceof Piwik_DataTable_Array) {
$pastArray = $pastData->getArray();
foreach ($currentData->getArray() as $subTable) {
@@ -349,7 +361,7 @@ class Piwik_MultiSites_API
} else {
$revenueMetric = '';
if (Piwik_Common::isGoalPluginEnabled()) {
- $revenueMetric = Piwik_Goals::getRecordName(self::GOAL_REVENUE_METRIC);
+ $revenueMetric = Piwik_Goals_Archiver::getRecordName(self::GOAL_REVENUE_METRIC);
}
$totals = array();
@@ -421,7 +433,7 @@ class Piwik_MultiSites_API
$metrics[self::GOAL_REVENUE_METRIC] = array(
self::METRIC_TRANSLATION_KEY => 'Goals_ColumnRevenue',
self::METRIC_EVOLUTION_COL_NAME_KEY => self::GOAL_REVENUE_METRIC . '_evolution',
- self::METRIC_RECORD_NAME_KEY => Piwik_Goals::getRecordName(self::GOAL_REVENUE_METRIC),
+ self::METRIC_RECORD_NAME_KEY => Piwik_Goals_Archiver::getRecordName(self::GOAL_REVENUE_METRIC),
self::METRIC_IS_ECOMMERCE_KEY => false,
);
@@ -430,7 +442,7 @@ class Piwik_MultiSites_API
$metrics[self::GOAL_CONVERSION_METRIC] = array(
self::METRIC_TRANSLATION_KEY => 'Goals_ColumnConversions',
self::METRIC_EVOLUTION_COL_NAME_KEY => self::GOAL_CONVERSION_METRIC . '_evolution',
- self::METRIC_RECORD_NAME_KEY => Piwik_Goals::getRecordName(self::GOAL_CONVERSION_METRIC),
+ self::METRIC_RECORD_NAME_KEY => Piwik_Goals_Archiver::getRecordName(self::GOAL_CONVERSION_METRIC),
self::METRIC_IS_ECOMMERCE_KEY => false,
);
@@ -438,7 +450,7 @@ class Piwik_MultiSites_API
$metrics[self::ECOMMERCE_ORDERS_METRIC] = array(
self::METRIC_TRANSLATION_KEY => 'General_EcommerceOrders',
self::METRIC_EVOLUTION_COL_NAME_KEY => self::ECOMMERCE_ORDERS_METRIC . '_evolution',
- self::METRIC_RECORD_NAME_KEY => Piwik_Goals::getRecordName(self::GOAL_CONVERSION_METRIC, 0),
+ self::METRIC_RECORD_NAME_KEY => Piwik_Goals_Archiver::getRecordName(self::GOAL_CONVERSION_METRIC, 0),
self::METRIC_IS_ECOMMERCE_KEY => true,
);
@@ -446,7 +458,7 @@ class Piwik_MultiSites_API
$metrics[self::ECOMMERCE_REVENUE_METRIC] = array(
self::METRIC_TRANSLATION_KEY => 'General_ProductRevenue',
self::METRIC_EVOLUTION_COL_NAME_KEY => self::ECOMMERCE_REVENUE_METRIC . '_evolution',
- self::METRIC_RECORD_NAME_KEY => Piwik_Goals::getRecordName(self::GOAL_REVENUE_METRIC, 0),
+ self::METRIC_RECORD_NAME_KEY => Piwik_Goals_Archiver::getRecordName(self::GOAL_REVENUE_METRIC, 0),
self::METRIC_IS_ECOMMERCE_KEY => true,
);
}
diff --git a/plugins/MultiSites/Controller.php b/plugins/MultiSites/Controller.php
index 8c26e75f6c..46bf83848f 100644
--- a/plugins/MultiSites/Controller.php
+++ b/plugins/MultiSites/Controller.php
@@ -41,7 +41,7 @@ class Piwik_MultiSites_Controller extends Piwik_Controller
}
- public function getSitesInfo($isWidgetized)
+ public function getSitesInfo($isWidgetized = false)
{
Piwik::checkUserHasSomeViewAccess();
$displayRevenueColumn = Piwik_Common::isGoalPluginEnabled();
diff --git a/plugins/MultiSites/MultiSites.php b/plugins/MultiSites/MultiSites.php
index 763b8f4797..aa23d48040 100644
--- a/plugins/MultiSites/MultiSites.php
+++ b/plugins/MultiSites/MultiSites.php
@@ -77,7 +77,7 @@ class Piwik_MultiSites extends Piwik_Plugin
public function addTopMenu()
{
- $urlParams = array('module' => 'MultiSites', 'action' => 'index');
+ $urlParams = array('module' => 'MultiSites', 'action' => 'index', 'segment' => false);
$tooltip = Piwik_Translate('MultiSites_TopLinkTooltip');
Piwik_AddTopMenu('General_MultiSitesSummary', $urlParams, true, 3, $isHTML = false, $tooltip);
}
diff --git a/plugins/MultiSites/templates/getSitesInfo.twig b/plugins/MultiSites/templates/getSitesInfo.twig
index bed31e89a1..e704514a01 100644
--- a/plugins/MultiSites/templates/getSitesInfo.twig
+++ b/plugins/MultiSites/templates/getSitesInfo.twig
@@ -1,9 +1,13 @@
{% extends 'dashboard.twig' %}
{% block content %}
+
+ <div class="top_controls_inner">
+ {% include "@CoreHome/_periodSelect.twig" %}
+ </div>
+
<div id="multisites">
<div id="main">
- {% include "@MultiSites/_siteRow.twig" %}
<script type="text/javascript">
var allSites = [];
var params = [];
@@ -28,24 +32,21 @@
params['page'] = 1;
params['prev'] = "{{ 'General_Previous'|translate|e("js") }}";
params['next'] = "{{ 'General_Next'|translate|e("js") }}";
+
+ {% set row %}
+ {% include "@MultiSites/_siteRow.twig" %}
+ {% endset %}
params['row'] = '{{ row|e("js") }}';
params['dateSparkline'] = '{{ dateSparkline }}';
</script>
- {% if not isWidgetized %}
- <div class="top_controls_inner">
- {% include "@CoreHome/_periodSelect.twig" %}
- {% include "@CoreHome/_headerMessage.twig" %}
- </div>
- {% endif %}
-
<div class="centerLargeDiv">
<h2>{{ 'General_AllWebsitesDashboard'|translate }}
{% set nVisits %}{{ 'General_NVisits'|translate(totalVisits) }}{% endset %}
{% set nVisitsLast %}{{ 'General_NVisits'|translate(pastTotalVisits) }}{% endset %}
<span class='smallTitle'
{% if totalVisitsEvolution %}title="{{ 'General_EvolutionSummaryGeneric'|translate(nVisits,prettyDate,nVisitsLast,pastPeriodPretty,totalVisitsEvolution) }}"{% endif %}>
- {{ 'General_TotalVisitsPageviewsRevenue'|translate("<strong>"+totalVisits+"</strong>","<strong>"+totalPageviews+"</strong>","<strong>"+totalRevenue+"</strong>")|raw }}
+ {{ 'General_TotalVisitsPageviewsRevenue'|translate("<strong>"~totalVisits~"</strong>","<strong>"~totalPageviews~"</strong>","<strong>"~totalRevenue~"</strong>")|raw }}
</span>
</h2>
@@ -54,15 +55,15 @@
<tr>
<th id="names" class="label" onClick="params = setOrderBy(this,allSites, params, 'names');">
<span>{{ 'General_Website'|translate }}</span>
- <span class="arrow {if $evolutionBy=='names'}multisites_{$order}{/if}"></span>
+ <span class="arrow {% if evolutionBy=='names' %}multisites_{{ order }}{% endif %}"></span>
</th>
<th id="visits" class="multisites-column" style="width: 100px" onClick="params = setOrderBy(this,allSites, params, 'visits');">
<span>{{ 'General_ColumnNbVisits'|translate }}</span>
- <span class="arrow {if $evolutionBy=='visits'}multisites_{$order}{/if}"></span>
+ <span class="arrow {% if evolutionBy=='visits' %}multisites_{{ order }}{% endif %}"></span>
</th>
<th id="pageviews" class="multisites-column" style="width: 110px" onClick="params = setOrderBy(this,allSites, params, 'pageviews');">
<span>{{ 'General_ColumnPageviews'|translate }}</span>
- <span class="arrow {if $evolutionBy=='pageviews'}multisites_{$order}{/if}"></span>
+ <span class="arrow {% if evolutionBy=='pageviews' %}multisites_{{ order }}{% endif %}"></span>
</th>
{% if displayRevenueColumn %}
<th id="revenue" class="multisites-column" style="width: 110px" onClick="params = setOrderBy(this,allSites, params, 'revenue');">
@@ -70,7 +71,7 @@
<span class="arrow {% if evolutionBy=='revenue' %}multisites_{{ order }}{% endif %}"></span>
</th>
{% endif %}
- <th id="evolution" style=" width:350px" colspan="{if $show_sparklines}2{else}1{/if}">
+ <th id="evolution" style=" width:350px" colspan="{% if show_sparklines %}2{% else %}1{% endif %}">
<span class="arrow "></span>
<span class="evolution" style="cursor:pointer;"
onClick="params = setOrderBy(this,allSites, params, $('#evolution_selector').val() + 'Summary');"> {{ 'MultiSites_Evolution'|translate }}</span>