当前位置: 首页>>代码示例>>PHP>>正文


PHP Piwik_DataTable::getRows方法代码示例

本文整理汇总了PHP中Piwik_DataTable::getRows方法的典型用法代码示例。如果您正苦于以下问题:PHP Piwik_DataTable::getRows方法的具体用法?PHP Piwik_DataTable::getRows怎么用?PHP Piwik_DataTable::getRows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Piwik_DataTable的用法示例。


在下文中一共展示了Piwik_DataTable::getRows方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: filter

 /**
  * Filters the given DataTable. Removes columns that are not desired from
  * each DataTable row.
  * 
  * @param Piwik_DataTable $table
  */
 public function filter($table)
 {
     $recurse = false;
     // only recurse if there are columns to remove/keep
     // remove columns specified in $this->columnsToRemove
     if (!empty($this->columnsToRemove)) {
         foreach ($table->getRows() as $row) {
             foreach ($this->columnsToRemove as $column) {
                 $row->deleteColumn($column);
             }
         }
         $recurse = true;
     }
     // remove columns not specified in $columnsToKeep
     if (!empty($this->columnsToKeep)) {
         foreach ($table->getRows() as $row) {
             foreach ($row->getColumns() as $name => $value) {
                 // label cannot be removed via whitelisting
                 if ($name != 'label' && !isset($this->columnsToKeep[$name])) {
                     $row->deleteColumn($name);
                 }
             }
         }
         $recurse = true;
     }
     // recurse
     if ($recurse) {
         foreach ($table->getRows() as $row) {
             $this->filterSubTable($row);
         }
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:38,代码来源:ColumnDelete.php

示例2: filter

 /**
  * @param Piwik_DataTable $table
  * @return int
  */
 public function filter($table)
 {
     $rows = $table->getRows();
     foreach ($rows as $key => $row) {
         // A row is deleted if
         // 1 - its label doesnt contain the pattern
         // AND 2 - the label is not found in the children
         $patternNotFoundInChildren = false;
         try {
             $idSubTable = $row->getIdSubDataTable();
             $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable);
             // 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 && !Piwik_DataTable_Filter_Pattern::match($this->patternToSearch, $this->patternToSearchQuoted, $row->getColumn($this->columnToFilter), $invertedMatch = false)) {
             $table->deleteRow($key);
         }
     }
     return $table->getRowsCount();
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:30,代码来源:PatternRecursive.php

示例3: filter

 /**
  * Applies the reduce function to each row and merges rows w/ the same reduce result.
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     $groupByRows = array();
     $nonGroupByRowIds = array();
     foreach ($table->getRows() as $rowId => $row) {
         // skip the summary row
         if ($rowId == Piwik_DataTable::ID_SUMMARY_ROW) {
             continue;
         }
         // reduce the group by column of this row
         $groupByColumnValue = $row->getColumn($this->groupByColumn);
         $parameters = array_merge(array($groupByColumnValue), $this->parameters);
         $groupByValue = call_user_func_array($this->reduceFunction, $parameters);
         if (!isset($groupByRows[$groupByValue])) {
             // if we haven't encountered this group by value before, we mark this row as a
             // row to keep, and change the group by column to the reduced value.
             $groupByRows[$groupByValue] = $row;
             $row->setColumn($this->groupByColumn, $groupByValue);
         } else {
             // if we have already encountered this group by value, we add this row to the
             // row that will be kept, and mark this one for deletion
             $groupByRows[$groupByValue]->sumRow($row);
             $nonGroupByRowIds[] = $rowId;
         }
     }
     // delete the unneeded rows.
     $table->deleteRows($nonGroupByRowIds);
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:33,代码来源:GroupBy.php

示例4: filter

 /**
  * Adds a summary row to the given data table
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     if ($table->getRowsCount() <= $this->startRowToSummarize + 1) {
         return;
     }
     $table->filter('Sort', array($this->columnToSortByBeforeTruncating, 'desc'));
     $rows = $table->getRows();
     $count = $table->getRowsCount();
     $newRow = new Piwik_DataTable_Row();
     for ($i = $this->startRowToSummarize; $i < $count; $i++) {
         if (!isset($rows[$i])) {
             // case when the last row is a summary row, it is not indexed by $cout but by Piwik_DataTable::ID_SUMMARY_ROW
             $summaryRow = $table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW);
             //FIXME: I'm not sure why it could return false, but it was reported in: http://forum.piwik.org/read.php?2,89324,page=1#msg-89442
             if ($summaryRow) {
                 $newRow->sumRow($summaryRow, $enableCopyMetadata = false);
             }
         } else {
             $newRow->sumRow($rows[$i], $enableCopyMetadata = false);
         }
     }
     $newRow->setColumns(array('label' => $this->labelSummaryRow) + $newRow->getColumns());
     if ($this->deleteRows) {
         $table->filter('Limit', array(0, $this->startRowToSummarize));
     }
     $table->addSummaryRow($newRow);
     unset($rows);
 }
开发者ID:nomoto-ubicast,项目名称:piwik,代码行数:33,代码来源:AddSummaryRow.php

示例5: foreach

 /**
  * @param Piwik_DataTable  $subTable
  */
 function __construct($subTable)
 {
     parent::__construct();
     foreach ($subTable->getRows() as $row) {
         $this->sumRow($row);
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:10,代码来源:DataTableSummary.php

示例6: doManipulate

 /**
  * Template method called from self::manipulate.
  * Flatten each data table.
  *
  * @param Piwik_DataTable  $dataTable
  * @param bool             $date
  * @return Piwik_DataTable
  */
 protected function doManipulate(Piwik_DataTable $dataTable, $date = false)
 {
     $newDataTable = $dataTable->getEmptyClone();
     foreach ($dataTable->getRows() as $row) {
         $this->flattenRow($row, $newDataTable, $date);
     }
     return $newDataTable;
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:16,代码来源:Flattener.php

示例7: filter

 /**
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     foreach ($table->getRows() as $key => $row) {
         $oldValue = $row->getMetadata($this->metadataToRead);
         $newValue = call_user_func($this->functionToApply, $oldValue);
         $row->addMetadata($this->metadataToAdd, $newValue);
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:11,代码来源:MetadataCallbackAddMetadata.php

示例8: filter

 /**
  * Executes the filter and renames the defined columns
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     foreach ($table->getRows() as $key => $row) {
         $oldColumns = $row->getColumns();
         $newColumns = $this->getRenamedColumns($oldColumns);
         $row->setColumns($newColumns);
         $this->filterSubTable($row);
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:14,代码来源:ReplaceColumnNames.php

示例9: filter

 /**
  * Filters the given data table
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     foreach ($table->getRows() as $key => $row) {
         $columnValue = $row->getColumn($this->columnToFilter);
         if (!call_user_func($this->function, $columnValue)) {
             $table->deleteRow($key);
         }
         $this->filterSubTable($row);
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:15,代码来源:ColumnCallbackDeleteRow.php

示例10: filter

 /**
  * Filters the given data table
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     foreach ($table->getRows() as $key => $row) {
         $columnValue = $row->getColumn($this->columnToFilter);
         if (!call_user_func_array($this->function, array_merge(array($columnValue), $this->functionParams))) {
             $table->deleteRow($key);
         }
         $this->filterSubTable($row);
     }
 }
开发者ID:nomoto-ubicast,项目名称:piwik,代码行数:15,代码来源:ColumnCallbackDeleteRow.php

示例11: filterCollectionTableContent

 /**
  * Filtert Kollektionsdaten nach Strings. -> z.B. Unterscheidung Standard <-> Projekt
  * @param Piwik_DataTable $dataTable
  * @param String $filter
  * @param boolean $bool
  */
 private static function filterCollectionTableContent($dataTable, $filter, $bool)
 {
     $rows = $dataTable->getRows();
     Piwik_cdebug::clog('filterCollectionTableContent: rows: ' . count($rows));
     foreach ($rows as $i => $row) {
         $label = $row->getColumn('label');
         if (strpos($label, $filter) !== false xor $bool) {
             $dataTable->deleteRow($i);
         }
     }
 }
开发者ID:arminiusdc,项目名称:goobi-contrib,代码行数:17,代码来源:API.php

示例12: filter

 /**
  * Decodes all columns of the given data table
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     foreach ($table->getRows() as $row) {
         $value = $row->getColumn($this->columnToDecode);
         if ($value !== false) {
             $value = self::filterValue($value);
             $row->setColumn($this->columnToDecode, $value);
             $this->filterSubTable($row);
         }
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:16,代码来源:SafeDecodeLabel.php

示例13: filter

 /**
  * Truncates the table after X rows and adds a summary row
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     $table->filter('AddSummaryRow', array($this->truncateAfter));
     $table->filter('ReplaceSummaryRowLabel');
     foreach ($table->getRows() as $row) {
         if ($row->isSubtableLoaded()) {
             $idSubTable = $row->getIdSubDataTable();
             $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable);
             $subTable->filter('Truncate', array($this->truncateAfter));
         }
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:17,代码来源:Truncate.php

示例14: filter

 /**
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     foreach ($table->getRows() as $key => $row) {
         //instead search must handle
         // - negative search with -piwik
         // - exact match with ""
         // see (?!pattern) 	A subexpression that performs a negative lookahead search, which matches the search string at any point where a string not matching pattern begins.
         if (!self::match($this->patternToSearch, $this->patternToSearchQuoted, $row->getColumn($this->columnToFilter), $this->invertedMatch)) {
             $table->deleteRow($key);
         }
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:15,代码来源:Pattern.php

示例15: filter

 /**
  * Executes the filter an adjusts all columns to fit the defined range
  *
  * @param Piwik_DataTable  $table
  */
 public function filter($table)
 {
     foreach ($table->getRows() as $row) {
         $value = $row->getColumn($this->columnToFilter);
         if ($value !== false) {
             if ($value < self::$minimumValue) {
                 $row->setColumn($this->columnToFilter, self::$minimumValue);
             } elseif ($value > self::$maximumValue) {
                 $row->setColumn($this->columnToFilter, self::$maximumValue);
             }
         }
     }
 }
开发者ID:nnnnathann,项目名称:piwik,代码行数:18,代码来源:RangeCheck.php


注:本文中的Piwik_DataTable::getRows方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。