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:
authormattab <matthieu.aubry@gmail.com>2014-12-10 08:15:44 +0300
committermattab <matthieu.aubry@gmail.com>2014-12-10 08:15:44 +0300
commitc28f9d6e29fccc0e4d3b0d1c91a28667c620ee1e (patch)
tree5bb4844beddc73890cbcafd904bc98830046438f /core/DataTable
parentdab1ee71f1ced3abe28064145d39d8ca7f6eb5e9 (diff)
reuse $row->getSubtable() as much as possible instead of callng Manager::getInstance()->getTable which can throw exception refs #3414
Diffstat (limited to 'core/DataTable')
-rw-r--r--core/DataTable/BaseFilter.php4
-rw-r--r--core/DataTable/Filter/PatternRecursive.php11
-rw-r--r--core/DataTable/Filter/ReplaceSummaryRowLabel.php4
-rw-r--r--core/DataTable/Renderer/Console.php10
-rw-r--r--core/DataTable/Renderer/Php.php4
-rw-r--r--core/DataTable/Row/DataTableSummaryRow.php5
6 files changed, 15 insertions, 23 deletions
diff --git a/core/DataTable/BaseFilter.php b/core/DataTable/BaseFilter.php
index fb2dc009f9..dc4756d82e 100644
--- a/core/DataTable/BaseFilter.php
+++ b/core/DataTable/BaseFilter.php
@@ -73,8 +73,8 @@ abstract class BaseFilter
if (!$this->enableRecursive) {
return;
}
- if ($row->isSubtableLoaded()) {
- $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable());
+ $subTable = $row->getSubtable();
+ if ($subTable) {
$this->filter($subTable);
}
}
diff --git a/core/DataTable/Filter/PatternRecursive.php b/core/DataTable/Filter/PatternRecursive.php
index 697403c2e3..f383a13260 100644
--- a/core/DataTable/Filter/PatternRecursive.php
+++ b/core/DataTable/Filter/PatternRecursive.php
@@ -62,18 +62,15 @@ class PatternRecursive extends BaseFilter
// AND 2 - the label is not found in the children
$patternNotFoundInChildren = false;
- try {
- $idSubTable = $row->getIdSubDataTable();
- $subTable = Manager::getInstance()->getTable($idSubTable);
-
+ $subTable = $row->getSubtable();
+ if(!$subTable) {
+ $patternNotFoundInChildren = true;
+ } else {
// we delete the row if we couldn't find the pattern in any row in the
// children hierarchy
if ($this->filter($subTable) == 0) {
$patternNotFoundInChildren = true;
}
- } catch (Exception $e) {
- // there is no subtable loaded for example
- $patternNotFoundInChildren = true;
}
if ($patternNotFoundInChildren
diff --git a/core/DataTable/Filter/ReplaceSummaryRowLabel.php b/core/DataTable/Filter/ReplaceSummaryRowLabel.php
index 3c1e31e2d0..1e550f6e3f 100644
--- a/core/DataTable/Filter/ReplaceSummaryRowLabel.php
+++ b/core/DataTable/Filter/ReplaceSummaryRowLabel.php
@@ -65,8 +65,8 @@ class ReplaceSummaryRowLabel extends BaseFilter
// recurse
foreach ($rows as $row) {
- if ($row->isSubtableLoaded()) {
- $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable());
+ $subTable = $row->getSubtable();
+ if ($subTable) {
$this->filter($subTable);
}
}
diff --git a/core/DataTable/Renderer/Console.php b/core/DataTable/Renderer/Console.php
index 0e1c127fb1..a4fcbff0c5 100644
--- a/core/DataTable/Renderer/Console.php
+++ b/core/DataTable/Renderer/Console.php
@@ -120,14 +120,10 @@ class Console extends Renderer
. $row->getIdSubDataTable() . "]<br />\n";
if (!is_null($row->getIdSubDataTable())) {
- if ($row->isSubtableLoaded()) {
+ $subTable = $row->getSubtable();
+ if ($subTable) {
$depth++;
- $output .= $this->renderTable(
- Manager::getInstance()->getTable(
- $row->getIdSubDataTable()
- ),
- $prefix . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
- );
+ $output .= $this->renderTable($subTable, $prefix . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
$depth--;
} else {
$output .= "-- Sub DataTable not loaded<br />\n";
diff --git a/core/DataTable/Renderer/Php.php b/core/DataTable/Renderer/Php.php
index 56360b939c..a3f3a5c0e5 100644
--- a/core/DataTable/Renderer/Php.php
+++ b/core/DataTable/Renderer/Php.php
@@ -206,10 +206,10 @@ class Php extends Renderer
$newRow['issummaryrow'] = true;
}
+ $subTable = $row->getSubtable();
if ($this->isRenderSubtables()
- && $row->isSubtableLoaded()
+ && $subTable
) {
- $subTable = $this->renderTable(Manager::getInstance()->getTable($row->getIdSubDataTable()));
$newRow['subtable'] = $subTable;
if ($this->hideIdSubDatatable === false
&& isset($newRow['metadata']['idsubdatatable_in_db'])
diff --git a/core/DataTable/Row/DataTableSummaryRow.php b/core/DataTable/Row/DataTableSummaryRow.php
index 7d477a304c..2c9eda5e8e 100644
--- a/core/DataTable/Row/DataTableSummaryRow.php
+++ b/core/DataTable/Row/DataTableSummaryRow.php
@@ -47,9 +47,8 @@ class DataTableSummaryRow extends Row
*/
public function recalculate()
{
- $id = $this->getIdSubDataTable();
- if ($id !== null) {
- $subTable = Manager::getInstance()->getTable($id);
+ $subTable = $this->getSubtable();
+ if ($subTable) {
$this->sumTable($subTable);
}
}