Skip to content
Extraits de code Groupes Projets
Valider 56150c70 rédigé par mattpiwik's avatar mattpiwik
Parcourir les fichiers

Fixes #2811

 * Ensuring column names stay in same order when idsites=all 
 * adding empty columns when they are not set

git-svn-id: http://dev.piwik.org/svn/trunk@5519 59fd770c-687e-43c8-a1e3-f5a4ff64c105
parent 6acb75a9
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 95 ajouts et 61 suppressions
......@@ -85,9 +85,17 @@ class Piwik_Archive_Array_IndexedBySite extends Piwik_Archive_Array
private function getValues($fields)
{
// Creating the default array, to ensure consistent order
$defaultValues = array();
foreach($fields as $field) { $defaultValues[$field] = null; }
$arrayValues = array();
foreach($this->loadValuesFromDB($fields) as $value)
{
if(!isset($arrayValues[$value['idsite']]))
{
$arrayValues[$value['idsite']] = $defaultValues;
}
$arrayValues[$value['idsite']][$value['name']] = $value['value'];
}
return $arrayValues;
......
......@@ -147,8 +147,9 @@ class Piwik_DataTable_Row
if(isset($this->c[self::COLUMNS][$oldName]))
{
$this->c[self::COLUMNS][$newName] = $this->c[self::COLUMNS][$oldName];
unset($this->c[self::COLUMNS][$oldName]);
}
// outside the if() since we want to delete nulled columns
unset($this->c[self::COLUMNS][$oldName]);
}
/**
......
......@@ -52,36 +52,34 @@ class Piwik_VisitsSummary_API
}
if(false !== ($actionsPerVisitRequested = array_search('nb_actions_per_visit', $columns)))
{
if (!in_array('nb_actions', $columns)) $tempColumns[] = 'nb_actions';
if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits';
if (!in_array('nb_actions', $columns)) $tempColumns[] = 'nb_actions';
unset($columns[$actionsPerVisitRequested]);
}
if(false !== ($averageVisitDurationRequested = array_search('avg_time_on_site', $columns)))
{
if (!in_array('sum_visit_length', $columns)) $tempColumns[] = 'sum_visit_length';
if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits';
if (!in_array('sum_visit_length', $columns)) $tempColumns[] = 'sum_visit_length';
unset($columns[$averageVisitDurationRequested]);
}
$tempColumns = array_unique($tempColumns);
rsort($tempColumns);
$columns = array_merge($columns, $tempColumns);
rsort($columns);
}
else
{
$bounceRateRequested = $actionsPerVisitRequested = $averageVisitDurationRequested = true;
$columns = array(
'nb_visits',
'nb_uniq_visitors',
'nb_actions',
'nb_visits_converted',
'bounce_count',
'sum_visit_length',
'max_actions'
);
if(!Piwik::isUniqueVisitorsEnabled($period))
if(Piwik::isUniqueVisitorsEnabled($period))
{
unset($columns[array_search('nb_uniq_visitors', $columns)]);
$columns = array_merge(array('nb_uniq_visitors'), $columns);
}
// Force reindex from 0 to N otherwise the SQL bind will fail
$columns = array_values($columns);
......@@ -102,7 +100,7 @@ class Piwik_VisitsSummary_API
{
$dataTable->filter('ColumnCallbackAddColumnQuotient', array('avg_time_on_site', 'sum_visit_length', 'nb_visits', 0));
}
// remove temp metrics that were used to compute processed metrics
$dataTable->deleteColumns($tempColumns);
......
<?xml version="1.0" encoding="utf-8" ?>
<result>
<nb_visits>2</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_actions>6</nb_actions>
<nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count>
......
<?xml version="1.0" encoding="utf-8" ?>
<result>
<nb_visits>2</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_actions>6</nb_actions>
<nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count>
......
<?xml version="1.0" encoding="utf-8" ?>
<result>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<nb_visits_converted>1</nb_visits_converted>
<bounce_count>1</bounce_count>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>1</max_actions>
<nb_actions>1</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length />
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
<nb_actions_per_visit>1</nb_actions_per_visit>
<avg_time_on_site>0</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>5</max_actions>
<nb_actions>8</nb_actions>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<nb_actions>8</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length>1262</sum_visit_length>
<max_actions>5</max_actions>
<bounce_rate>33%</bounce_rate>
<nb_actions_per_visit>2.7</nb_actions_per_visit>
<avg_time_on_site>421</avg_time_on_site>
</result>
<result idSite="2">
<max_actions>2</max_actions>
<nb_actions>2</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>2</nb_actions>
<nb_visits_converted />
<bounce_count />
<sum_visit_length>1</sum_visit_length>
<max_actions>2</max_actions>
<bounce_rate>0%</bounce_rate>
<nb_actions_per_visit>2</nb_actions_per_visit>
<avg_time_on_site>1</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>1</max_actions>
<nb_actions>1</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length />
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
<nb_actions_per_visit>1</nb_actions_per_visit>
<avg_time_on_site>0</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>5</max_actions>
<nb_actions>8</nb_actions>
<nb_visits>3</nb_visits>
<nb_actions>8</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length>1262</sum_visit_length>
<max_actions>5</max_actions>
<bounce_rate>33%</bounce_rate>
<nb_actions_per_visit>2.7</nb_actions_per_visit>
<avg_time_on_site>421</avg_time_on_site>
</result>
<result idSite="2">
<max_actions>2</max_actions>
<nb_actions>2</nb_actions>
<nb_visits>1</nb_visits>
<nb_actions>2</nb_actions>
<nb_visits_converted />
<bounce_count />
<sum_visit_length>1</sum_visit_length>
<max_actions>2</max_actions>
<bounce_rate>0%</bounce_rate>
<nb_actions_per_visit>2</nb_actions_per_visit>
<avg_time_on_site>1</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>1</max_actions>
<nb_actions>1</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length />
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
<nb_actions_per_visit>1</nb_actions_per_visit>
<avg_time_on_site>0</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>5</max_actions>
<nb_actions>8</nb_actions>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<nb_actions>8</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length>1262</sum_visit_length>
<max_actions>5</max_actions>
<bounce_rate>33%</bounce_rate>
<nb_actions_per_visit>2.7</nb_actions_per_visit>
<avg_time_on_site>421</avg_time_on_site>
</result>
<result idSite="2">
<max_actions>2</max_actions>
<nb_actions>2</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>2</nb_actions>
<nb_visits_converted />
<bounce_count />
<sum_visit_length>1</sum_visit_length>
<max_actions>2</max_actions>
<bounce_rate>0%</bounce_rate>
<nb_actions_per_visit>2</nb_actions_per_visit>
<avg_time_on_site>1</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>1</max_actions>
<nb_actions>1</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length />
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
<nb_actions_per_visit>1</nb_actions_per_visit>
<avg_time_on_site>0</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>5</max_actions>
<nb_actions>8</nb_actions>
<nb_visits>3</nb_visits>
<nb_actions>8</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length>1262</sum_visit_length>
<max_actions>5</max_actions>
<bounce_rate>33%</bounce_rate>
<nb_actions_per_visit>2.7</nb_actions_per_visit>
<avg_time_on_site>421</avg_time_on_site>
</result>
<result idSite="2">
<max_actions>2</max_actions>
<nb_actions>2</nb_actions>
<nb_visits>1</nb_visits>
<nb_actions>2</nb_actions>
<nb_visits_converted />
<bounce_count />
<sum_visit_length>1</sum_visit_length>
<max_actions>2</max_actions>
<bounce_rate>0%</bounce_rate>
<nb_actions_per_visit>2</nb_actions_per_visit>
<avg_time_on_site>1</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>1</max_actions>
<nb_actions>1</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<nb_visits_converted>1</nb_visits_converted>
<bounce_count>1</bounce_count>
<sum_visit_length />
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
<nb_actions_per_visit>1</nb_actions_per_visit>
<avg_time_on_site>0</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>5</max_actions>
<nb_actions>8</nb_actions>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<nb_actions>8</nb_actions>
<nb_visits_converted>3</nb_visits_converted>
<bounce_count>1</bounce_count>
<sum_visit_length>1263</sum_visit_length>
<max_actions>5</max_actions>
<bounce_rate>33%</bounce_rate>
<nb_actions_per_visit>2.7</nb_actions_per_visit>
<avg_time_on_site>421</avg_time_on_site>
</result>
<result idSite="2">
<max_actions>2</max_actions>
<nb_actions>2</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>2</nb_actions>
<nb_visits_converted>1</nb_visits_converted>
<bounce_count />
<sum_visit_length>1</sum_visit_length>
<max_actions>2</max_actions>
<bounce_rate>0%</bounce_rate>
<nb_actions_per_visit>2</nb_actions_per_visit>
<avg_time_on_site>1</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>1</max_actions>
<nb_actions>1</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length />
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
<nb_actions_per_visit>1</nb_actions_per_visit>
<avg_time_on_site>0</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
<bounce_count>1</bounce_count>
<max_actions>5</max_actions>
<nb_actions>8</nb_actions>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<nb_actions>8</nb_actions>
<nb_visits_converted />
<bounce_count>1</bounce_count>
<sum_visit_length>1262</sum_visit_length>
<max_actions>5</max_actions>
<bounce_rate>33%</bounce_rate>
<nb_actions_per_visit>2.7</nb_actions_per_visit>
<avg_time_on_site>421</avg_time_on_site>
</result>
<result idSite="2">
<max_actions>2</max_actions>
<nb_actions>2</nb_actions>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>2</nb_actions>
<nb_visits_converted />
<bounce_count />
<sum_visit_length>1</sum_visit_length>
<max_actions>2</max_actions>
<bounce_rate>0%</bounce_rate>
<nb_actions_per_visit>2</nb_actions_per_visit>
<avg_time_on_site>1</avg_time_on_site>
......
<?xml version="1.0" encoding="utf-8" ?>
<result>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
......
Le fichier a été supprimé par une entrée .gitattributes, ou son encodage n'est pas pris en charge.
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter