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


PHP DataTable::filter方法代码示例

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


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

示例1: test_filter_shouldIgnoreSummaryRow

 public function test_filter_shouldIgnoreSummaryRow()
 {
     $row = $this->buildRow(array('label' => 'other'));
     $this->table->addSummaryRow($row);
     $this->table->filter($this->filter, array('UTC', 'day', 'today'));
     $this->assertFalse($row->getMetadata('segmentValue'));
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:7,代码来源:AddSegmentByLabelInUTCTest.php

示例2: filter

 /**
  * @param DataTable $table
  */
 public function filter($table)
 {
     // make url labels clickable
     $table->filter('ColumnCallbackAddMetadata', array('label', 'url'));
     // prettify the DataTable
     $table->filter('ColumnCallbackReplace', array('label', 'Piwik\\Plugins\\Referrers\\removeUrlProtocol'));
     $table->queueFilter('ReplaceColumnNames');
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:11,代码来源:UrlsForSocial.php

示例3: test_filter_shouldUrlEncodeValues

 public function test_filter_shouldUrlEncodeValues()
 {
     $mapping = array(1 => 'Core tests', 3 => 'plugins tästs');
     $this->table->filter($this->filter, array('segmentName', $mapping));
     $metadata = $this->table->getRowsMetadata('segment');
     $expected = array('segmentName==Core+tests', false, 'segmentName==plugins+t%C3%A4sts', false, false, false);
     $this->assertSame($expected, $metadata);
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:8,代码来源:AddSegmentFilterByLabelMappingTest.php

示例4: test_filter_shouldOnlyPrependIfAMetadataNameIsSet

 public function test_filter_shouldOnlyPrependIfAMetadataNameIsSet()
 {
     $this->table->filter($this->filter, array('other', 'prependme'));
     $metadata = $this->table->getRowsMetadata('other');
     $this->assertSame(array(false, 'prependmevalue', false, 'prependmevalue', 'prependme'), $metadata);
     // should still be the same
     $metadata = $this->table->getRowsMetadata('test');
     $this->assertSame(array('1', '2', '3', '1', '4'), $metadata);
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:9,代码来源:PrependValueToMetadataTest.php

示例5: test_filter_shouldRemoveAllMetadataEntriesHavingTheGivenName

 public function test_filter_shouldRemoveAllMetadataEntriesHavingTheGivenName()
 {
     $prepend = 'city=test;';
     $this->table->filter($this->filter, array($prepend));
     $metadata = $this->table->getRowsMetadata('segment');
     $this->assertSame(array(false, $prepend . 'country=NZ', false, $prepend . 'country=AU', $prepend), $metadata);
     // should be still the same
     $metadata = $this->table->getRowsMetadata('test');
     $this->assertSame(array('1', '2', '3', '1', '4'), $metadata);
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:10,代码来源:PrependSegmentFilterTest.php

示例6: test_filter_shoulAppendGivenStringToAllColumnsOfAllRows_EvenIfTheyHaveDifferentColumns

 public function test_filter_shoulAppendGivenStringToAllColumnsOfAllRows_EvenIfTheyHaveDifferentColumns()
 {
     $this->addRow(array('nb_visits' => 49));
     $nameToAppend = '_new_visit';
     $this->table->filter($this->filter, array($nameToAppend));
     $expectedRow1 = array('nb_visits' . $nameToAppend => 1, 'nb_conversions' . $nameToAppend => 5, 'revenue' . $nameToAppend => 10, 'conversion_rate' . $nameToAppend => 20);
     $expectedRow2 = array('nb_visits' . $nameToAppend => 49);
     $this->assertColumnsOfRowIdEquals($expectedRow1, $rowId = 0);
     $this->assertColumnsOfRowIdEquals($expectedRow2, $rowId = 1);
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:10,代码来源:AppendNameToColumnNamesTest.php

示例7: test_filter_shouldNotGenerateASegmentValueIfReturnValueIsFalse

 public function test_filter_shouldNotGenerateASegmentValueIfReturnValueIsFalse()
 {
     $this->table->filter($this->filter, array(function ($label) {
         if ($label === false) {
             return 'was false';
         }
         return false;
     }));
     $segmentValues = $this->table->getRowsMetadata('segmentValue');
     $expected = array(false, false, false, false, 'was false', false, 'was false', false);
     $this->assertSame($expected, $segmentValues);
 }
开发者ID:mgou-net,项目名称:piwik,代码行数:12,代码来源:AddSegmentValueTest.php

示例8: test_filter_shouldRemoveTheMetadataFromSubtables_IfOneIsSet

 public function test_filter_shouldRemoveTheMetadataFromSubtables_IfOneIsSet()
 {
     $row = $this->addRowWithMetadata(array('test' => '5', 'other' => 'value2'));
     $table = new DataTable();
     $table->addRow($this->buildRowWithMetadata(array('other' => 'value3')));
     $table->addRow($this->buildRowWithMetadata(array('test' => '6')));
     $table->addRow($this->buildRowWithMetadata(array('test' => '7', 'other' => 'value4')));
     $row->setSubtable($table);
     $this->table->filter($this->filter, array('other'));
     $this->assertFalse($row->getMetadata('other'));
     $metadata = $table->getRowsMetadata('other');
     $this->assertSame(array(false, false, false), $metadata);
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:13,代码来源:ColumnCallbackDeleteMetadataTest.php

示例9: filterTable

 private function filterTable($withUser = 5)
 {
     $dataTable = new DataTable();
     $dataTable->addRowsFromArray(array(array(Row::COLUMNS => array('label' => 'val1', Metrics::INDEX_NB_USERS => 0)), array(Row::COLUMNS => array('label' => 'val2')), array(Row::COLUMNS => array('label' => 'val2 5w ö?', Metrics::INDEX_NB_USERS => $withUser))));
     $dataTable->filter($this->filter, array($idSite = 1, $period = 'day', $date = 'today'));
     return $dataTable->getColumn(Metrics::INDEX_NB_USERS);
 }
开发者ID:ep123,项目名称:plugin-CustomDimensions,代码行数:7,代码来源:RemoveUserIfNeededTest.php

示例10: test_filter_IfMultipleSegmentsAreGiven_ShouldIgnoreASummaryRow

 public function test_filter_IfMultipleSegmentsAreGiven_ShouldIgnoreASummaryRow()
 {
     $summaryRow = $this->buildRow(array('label' => 'part1 part2'));
     $this->table->addSummaryRow($summaryRow);
     $this->table->filter($this->filter, array(array('seg1', 'seg2'), $delimiter = ' '));
     $this->assertFalse($summaryRow->getMetadata('segment'));
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:7,代码来源:AddSegmentFilterTest.php

示例11: manipulateDataTable

 /**
  * Template method called from self::manipulate.
  * Flatten each data table.
  *
  * @param DataTable $dataTable
  * @return DataTable
  */
 protected function manipulateDataTable($dataTable)
 {
     $newDataTable = $dataTable->getEmptyClone($keepFilters = true);
     // this recursive filter will be applied to subtables
     $dataTable->filter('ReplaceSummaryRowLabel');
     $this->flattenDataTableInto($dataTable, $newDataTable);
     return $newDataTable;
 }
开发者ID:piwik,项目名称:piwik,代码行数:15,代码来源:Flattener.php

示例12: filter

 /**
  * See {@link ExcludeLowPopulation}.
  *
  * @param DataTable $table
  */
 public function filter($table)
 {
     $minimumValue = $this->minimumValue;
     $isValueLowPopulation = function ($value) use($minimumValue) {
         return $value < $minimumValue;
     };
     $table->filter('ColumnCallbackDeleteRow', array($this->columnToFilter, $isValueLowPopulation));
 }
开发者ID:bossrabbit,项目名称:piwik,代码行数:13,代码来源:ExcludeLowPopulation.php

示例13: test_filter

 public function test_filter()
 {
     $dataTable = new DataTable();
     $dataTable->addRowsFromArray(array(array(Row::COLUMNS => array('label' => 'val1', 'nb_visits' => 120)), array(Row::COLUMNS => array('nb_visits' => 90)), array(Row::COLUMNS => array('label' => 'val2 5w ö?', 'nb_visits' => 99)), array(Row::COLUMNS => array('label' => Archiver::LABEL_CUSTOM_VALUE_NOT_DEFINED, 'nb_visits' => 99))));
     $dataTable->filter($this->filter, array($idDimension = 5));
     $metadata = $dataTable->getRowsMetadata('segment');
     $expected = array('dimension5==val1', false, 'dimension5==val2+5w+%C3%B6%3F', 'dimension5==');
     $this->assertSame($expected, $metadata);
 }
开发者ID:ep123,项目名称:plugin-CustomDimensions,代码行数:9,代码来源:AddSegmentMetadataTest.php

示例14: filterDataTable

 /**
  * @param DataTable $dataTable
  */
 private function filterDataTable($dataTable)
 {
     $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS));
     $dataTable->queueFilter('ReplaceColumnNames');
     $dataTable->queueFilter('ReplaceSummaryRowLabel');
     $dataTable->filter(function (DataTable $table) {
         $row = $table->getRowFromLabel(Archiver::CONTENT_PIECE_NOT_SET);
         if ($row) {
             $row->setColumn('label', Piwik::translate('General_NotDefined', Piwik::translate('Contents_ContentPiece')));
         }
         foreach ($table->getRows() as $row) {
             if ($row->getMetadata('contentTarget') === Archiver::CONTENT_TARGET_NOT_SET) {
                 $row->setMetadata('contentTarget', '');
             }
         }
     });
     // Content interaction rate = interactions / impressions
     $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('interaction_rate', 'nb_interactions', 'nb_impressions', $precision = 2));
 }
开发者ID:a4tunado,项目名称:piwik,代码行数:22,代码来源:API.php

示例15: filter

 /**
  * See {@link PrependValueToMetadata}.
  *
  * @param DataTable $table
  */
 public function filter($table)
 {
     if (empty($this->metadataColumn) || empty($this->valueToPrepend)) {
         return;
     }
     $metadataColumn = $this->metadataColumn;
     $valueToPrepend = $this->valueToPrepend;
     $table->filter(function (DataTable $dataTable) use($metadataColumn, $valueToPrepend) {
         foreach ($dataTable->getRows() as $row) {
             $filter = $row->getMetadata($metadataColumn);
             if ($filter !== false) {
                 $row->setMetadata($metadataColumn, $valueToPrepend . $filter);
             }
         }
     });
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:21,代码来源:PrependValueToMetadata.php


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