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
path: root/core
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-08-14 11:02:26 +0400
committerThomas Steur <thomas.steur@gmail.com>2014-08-14 11:19:26 +0400
commit5cf69a0b75e0041e7373a18e21e7d640edbb69ec (patch)
tree76ede142c3b229099b8667293bff076b2cde2bde /core
parenta040cb98cccb95ebe241465ad3cab1f0925d9e78 (diff)
wondering if this fixes the skipped test?
Diffstat (limited to 'core')
-rw-r--r--core/DataTable.php24
-rw-r--r--core/DataTable/Filter/ColumnDelete.php8
2 files changed, 27 insertions, 5 deletions
diff --git a/core/DataTable.php b/core/DataTable.php
index d4c1976d60..3049dbf966 100644
--- a/core/DataTable.php
+++ b/core/DataTable.php
@@ -165,7 +165,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Common.php';
*
* @api
*/
-class DataTable implements DataTableInterface, \IteratorAggregate
+class DataTable implements DataTableInterface, \IteratorAggregate, \ArrayAccess
{
const MAX_DEPTH_DEFAULT = 15;
@@ -1640,4 +1640,26 @@ class DataTable implements DataTableInterface, \IteratorAggregate
public function getIterator() {
return new \ArrayIterator($this->getRows());
}
+
+ public function offsetExists($offset)
+ {
+ $row = $this->getRowFromId($offset);
+
+ return false !== $row;
+ }
+
+ public function offsetGet($offset)
+ {
+ return $this->getRowFromId($offset);
+ }
+
+ public function offsetSet($offset, $value)
+ {
+ $this->rows[$offset] = $value;
+ }
+
+ public function offsetUnset($offset)
+ {
+ $this->deleteRow($offset);
+ }
} \ No newline at end of file
diff --git a/core/DataTable/Filter/ColumnDelete.php b/core/DataTable/Filter/ColumnDelete.php
index 532cd5c644..5aac6d44a6 100644
--- a/core/DataTable/Filter/ColumnDelete.php
+++ b/core/DataTable/Filter/ColumnDelete.php
@@ -100,7 +100,7 @@ class ColumnDelete extends BaseFilter
// remove columns specified in $this->columnsToRemove
if (!empty($this->columnsToRemove)) {
- foreach ($table as &$row) {
+ foreach ($table as $index => $row) {
foreach ($this->columnsToRemove as $column) {
if ($this->deleteIfZeroOnly) {
$value = $row[$column];
@@ -109,7 +109,7 @@ class ColumnDelete extends BaseFilter
}
}
- unset($row[$column]);
+ unset($table[$index][$column]);
}
}
@@ -118,7 +118,7 @@ class ColumnDelete extends BaseFilter
// remove columns not specified in $columnsToKeep
if (!empty($this->columnsToKeep)) {
- foreach ($table as &$row) {
+ foreach ($table as $index => $row) {
foreach ($row as $name => $value) {
$keep = false;
@@ -133,7 +133,7 @@ class ColumnDelete extends BaseFilter
&& $name != 'label' // label cannot be removed via whitelisting
&& !isset($this->columnsToKeep[$name])
) {
- unset($row[$name]);
+ unset($table[$index][$name]);
}
}
}