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:
authormattpiwik <matthieu.aubry@gmail.com>2008-05-18 21:22:35 +0400
committermattpiwik <matthieu.aubry@gmail.com>2008-05-18 21:22:35 +0400
commita52df4278af546d2d7afc2acb7517086176aa810 (patch)
tree882d420a253e89c432470e90f5c2d0deb0811939 /modules/DataTable/Filter/ReplaceColumnNames.php
parent4f3ee099d01b555c4667b88525edb4cad6e4db65 (diff)
- remove useless __construct()
- renamed empty filter to Null filter - columns are now renamed recursively, fixing bug in not valid XML code when the columns still had a numeric name - added a new parameter in API for Referers module: expanded. If set to true, it will load the data recursively (eg. all keywords + the search engines for each keyword). git-svn-id: http://dev.piwik.org/svn/trunk@482 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'modules/DataTable/Filter/ReplaceColumnNames.php')
-rw-r--r--modules/DataTable/Filter/ReplaceColumnNames.php37
1 files changed, 26 insertions, 11 deletions
diff --git a/modules/DataTable/Filter/ReplaceColumnNames.php b/modules/DataTable/Filter/ReplaceColumnNames.php
index 4296128511..bbe3a06df3 100644
--- a/modules/DataTable/Filter/ReplaceColumnNames.php
+++ b/modules/DataTable/Filter/ReplaceColumnNames.php
@@ -37,6 +37,7 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter
Piwik_Archive::INDEX_SUM_VISIT_LENGTH => 'sum_visit_length',
Piwik_Archive::INDEX_BOUNCE_COUNT => 'bounce_count',
);
+
/**
* @param DataTable Table
* @param array Mapping to apply. Must have the format
@@ -57,22 +58,36 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter
protected function filter()
{
- foreach($this->table->getRows() as $key => $row)
+ $this->filterTable($this->table);
+ }
+
+ protected function filterTable($table)
+ {
+ foreach($table->getRows() as $key => $row)
{
- $columns = $row->getColumns();
+ $this->renameColumns($row);
- foreach($this->mappingToApply as $oldName => $newName)
+ try {
+ $subTable = Piwik_DataTable_Manager::getInstance()->getTable( $row->getIdSubDataTable() );
+ $this->filterTable($subTable);
+ } catch(Exception $e){
+ // case idSubTable == null, or if the table is not loaded in memory
+ }
+ }
+ }
+
+ protected function renameColumns($row)
+ {
+ $columns = $row->getColumns();
+ foreach($this->mappingToApply as $oldName => $newName)
+ {
+ if(isset($columns[$oldName]))
{
- // if the old column is there
- if(isset($columns[$oldName]))
- {
- $columns[$newName] = $columns[$oldName];
- unset($columns[$oldName]);
- }
+ $columns[$newName] = $columns[$oldName];
+ unset($columns[$oldName]);
}
-
- $row->setColumns($columns);
}
+ $row->setColumns($columns);
}
}