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


PHP Manager::getInstance方法代码示例

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


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

示例1: filter

 /**
  * See {@link PatternRecursive}.
  * 
  * @param DataTable $table
  * @return int The number of deleted rows.
  */
 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 = 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 && !Pattern::match($this->patternToSearchQuoted, $row->getColumn($this->columnToFilter), $invertedMatch = false)) {
             $table->deleteRow($key);
         }
     }
     return $table->getRowsCount();
 }
开发者ID:brienomatty,项目名称:elmsln,代码行数:32,代码来源:PatternRecursive.php

示例2: recalculate

 /**
  * Reset this row to an empty one and sums the associated subtable again.
  */
 public function recalculate()
 {
     $id = $this->getIdSubDataTable();
     if ($id !== null) {
         $subTable = Manager::getInstance()->getTable($id);
         $this->sumTable($subTable);
     }
 }
开发者ID:josl,项目名称:CGE-File-Sharing,代码行数:11,代码来源:DataTableSummaryRow.php

示例3: filterSubTable

 /**
  * Filters a row's subtable, if one exists and is loaded in memory.
  *
  * @param Row $row The row whose subtable should be filter.
  */
 public function filterSubTable(Row $row)
 {
     if (!$this->enableRecursive) {
         return;
     }
     if ($row->isSubtableLoaded()) {
         $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable());
         $this->filter($subTable);
     }
 }
开发者ID:carriercomm,项目名称:piwik,代码行数:15,代码来源:BaseFilter.php

示例4: filter

 /**
  * See {@link ReplaceSummaryRowLabel}.
  *
  * @param DataTable $table
  */
 public function filter($table)
 {
     $rows = $table->getRows();
     foreach ($rows as $id => $row) {
         if ($row->getColumn('label') == DataTable::LABEL_SUMMARY_ROW || $id == DataTable::ID_SUMMARY_ROW) {
             $row->setColumn('label', $this->newLabel);
             break;
         }
     }
     // recurse
     foreach ($rows as $row) {
         if ($row->isSubtableLoaded()) {
             $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable());
             $this->filter($subTable);
         }
     }
 }
开发者ID:brienomatty,项目名称:elmsln,代码行数:22,代码来源:ReplaceSummaryRowLabel.php

示例5: callAggregateAllPlugins

 /**
  * Instantiates the Archiver class in each plugin that defines it,
  * and triggers Aggregation processing on these plugins.
  */
 public function callAggregateAllPlugins($visits, $visitsConverted)
 {
     $this->archiveProcessor->setNumberOfVisits($visits, $visitsConverted);
     $archivers = $this->getPluginArchivers();
     foreach ($archivers as $pluginName => $archiverClass) {
         // We clean up below all tables created during this function call (and recursive calls)
         $latestUsedTableId = Manager::getInstance()->getMostRecentTableId();
         /** @var Archiver $archiver */
         $archiver = new $archiverClass($this->archiveProcessor);
         if (!$archiver->isEnabled()) {
             continue;
         }
         if ($this->shouldProcessReportsForPlugin($pluginName)) {
             if ($this->isSingleSiteDayArchive) {
                 $archiver->aggregateDayReport();
             } else {
                 $archiver->aggregateMultipleReports();
             }
         }
         Manager::getInstance()->deleteAll($latestUsedTableId);
         unset($archiver);
     }
 }
开发者ID:carriercomm,项目名称:piwik,代码行数:27,代码来源:PluginsArchiver.php

示例6: getSubtable

 /**
  * Returns the associated subtable, if one exists. Returns `false` if none exists.
  *
  * @return DataTable|bool
  */
 public function getSubtable()
 {
     if ($this->isSubtableLoaded()) {
         return Manager::getInstance()->getTable($this->getIdSubDataTable());
     }
     return false;
 }
开发者ID:josl,项目名称:CGE-File-Sharing,代码行数:12,代码来源:Row.php

示例7: addExternalReferrers

 /**
  * Add the external referrers to the report:
  * direct entries, websites, campaigns, search engines
  *
  * @param LogAggregator $logAggregator
  * @param $report
  * @param $idaction
  * @param string $actionType
  * @param $limitBeforeGrouping
  */
 private function addExternalReferrers($logAggregator, &$report, $idaction, $actionType, $limitBeforeGrouping)
 {
     $data = $this->queryExternalReferrers($idaction, $actionType, $logAggregator, $limitBeforeGrouping);
     $report['pageMetrics']['entries'] = 0;
     $report['referrers'] = array();
     foreach ($data->getRows() as $row) {
         $referrerId = $row->getColumn('label');
         $visits = $row->getColumn(Metrics::INDEX_NB_VISITS);
         if ($visits) {
             // load details (i.e. subtables)
             $details = array();
             if ($idSubTable = $row->getIdSubDataTable()) {
                 $subTable = Manager::getInstance()->getTable($idSubTable);
                 foreach ($subTable->getRows() as $subRow) {
                     $details[] = array('label' => $subRow->getColumn('label'), 'referrals' => $subRow->getColumn(Metrics::INDEX_NB_VISITS));
                 }
             }
             $report['referrers'][] = array('label' => $this->getReferrerLabel($referrerId), 'shortName' => \Piwik\Plugins\Referrers\getReferrerTypeFromShortName($referrerId), 'visits' => $visits, 'details' => $details);
             $report['pageMetrics']['entries'] += $visits;
         }
     }
     // if there's no data for referrers, ResponseBuilder::handleMultiDimensionalArray
     // does not detect the multi dimensional array and the data is rendered differently, which
     // causes an exception.
     if (count($report['referrers']) == 0) {
         $report['referrers'][] = array('label' => $this->getReferrerLabel(Common::REFERRER_TYPE_DIRECT_ENTRY), 'shortName' => \Piwik\Plugins\Referrers\getReferrerTypeLabel(Common::REFERRER_TYPE_DIRECT_ENTRY), 'visits' => 0);
     }
 }
开发者ID:a4tunado,项目名称:piwik,代码行数:38,代码来源:API.php

示例8: setUp

 public function setUp()
 {
     $this->builder = $this->makeBuilder(array('method' => 'MultiSites_getAll'));
     DataTable\Manager::getInstance()->deleteAll();
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:5,代码来源:HtmlRendererTest.php

示例9: realpath

<?php

/**
 *  Proxy to normal piwik.php, but in testing mode
 *
 *  - Use the tests database to record Tracking data
 *  - Allows to overwrite the Visitor IP, and Server datetime
 *
 */
use Piwik\DataTable\Manager;
use Piwik\Option;
use Piwik\Plugins\UserCountry\LocationProvider\GeoIp;
use Piwik\Site;
use Piwik\Tracker\Cache;
use Piwik\Tracker;
require realpath(dirname(__FILE__)) . "/includes.php";
// Wrapping the request inside ob_start() calls to ensure that the Test
// calling us waits for the full request to process before unblocking
ob_start();
try {
    Piwik_TestingEnvironment::addHooks();
    GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-files';
    Tracker::setTestEnvironment();
    Manager::getInstance()->deleteAll();
    Option::clearCache();
    Site::clearCache();
    include PIWIK_INCLUDE_PATH . '/piwik.php';
} catch (Exception $ex) {
    echo "Unexpected error during tracking: " . $ex->getMessage() . "\n" . $ex->getTraceAsString() . "\n";
}
ob_end_flush();
开发者ID:a4tunado,项目名称:piwik,代码行数:31,代码来源:piwik.php

示例10: setUp

 public function setUp()
 {
     $this->builder = $this->makeBuilder(array());
     DataTable\Manager::getInstance()->deleteAll();
 }
开发者ID:a4tunado,项目名称:piwik,代码行数:5,代码来源:XmlRendererTest.php

示例11: aggregateRowWithLabel

 /**
  * Aggregates the $row columns to this table.
  *
  * $row must have a column "label". The $row will be summed to this table's row with the same label.
  *
  * @param $row
  * @throws \Exception
  */
 protected function aggregateRowWithLabel(Row $row, $doAggregateSubTables = true)
 {
     $labelToLookFor = $row->getColumn('label');
     if ($labelToLookFor === false) {
         throw new Exception("Label column not found in the table to add in addDataTable()");
     }
     $rowFound = $this->getRowFromLabel($labelToLookFor);
     if ($rowFound === false) {
         if ($labelToLookFor === self::LABEL_SUMMARY_ROW) {
             $this->addSummaryRow($row);
         } else {
             $this->addRow($row);
         }
     } else {
         $rowFound->sumRow($row, $copyMeta = true, $this->getMetadata(self::COLUMN_AGGREGATION_OPS_METADATA_NAME));
         if ($doAggregateSubTables) {
             // if the row to add has a subtable whereas the current row doesn't
             // we simply add it (cloning the subtable)
             // if the row has the subtable already
             // then we have to recursively sum the subtables
             if (($idSubTable = $row->getIdSubDataTable()) !== null) {
                 $subTable = Manager::getInstance()->getTable($idSubTable);
                 $subTable->metadata[self::COLUMN_AGGREGATION_OPS_METADATA_NAME] = $this->getMetadata(self::COLUMN_AGGREGATION_OPS_METADATA_NAME);
                 $rowFound->sumSubtable($subTable);
             }
         }
     }
 }
开发者ID:brienomatty,项目名称:elmsln,代码行数:36,代码来源:DataTable.php

示例12: clearInMemoryCaches

 public function clearInMemoryCaches()
 {
     Archive::clearStaticCache();
     DataTableManager::getInstance()->deleteAll();
     Option::clearCache();
     Site::clearCache();
     Cache::deleteTrackerCache();
     PiwikCache::getTransientCache()->flushAll();
     PiwikCache::getEagerCache()->flushAll();
     PiwikCache::getLazyCache()->flushAll();
     ArchiveTableCreator::clear();
     \Piwik\Plugins\ScheduledReports\API::$cache = array();
     Singleton::clearAll();
     PluginsArchiver::$archivers = array();
     $_GET = $_REQUEST = array();
     Translate::reset();
     self::getConfig()->Plugins;
     // make sure Plugins exists in a config object for next tests that use Plugin\Manager
     // since Plugin\Manager uses getFromGlobalConfig which doesn't init the config object
 }
开发者ID:dorelljames,项目名称:piwik,代码行数:20,代码来源:Fixture.php

示例13: generateOverviewReport

 private function generateOverviewReport($method, $idSite, $period, $date, $segment, array $defaultParams)
 {
     $tableManager = DataTable\Manager::getInstance();
     /** @var DataTable[] $tables */
     $tables = array();
     foreach ($this->getOverviewReports() as $reportId => $reportParams) {
         if (!empty($reportParams)) {
             foreach ($defaultParams as $key => $defaultParam) {
                 if (!array_key_exists($key, $reportParams)) {
                     $reportParams[$key] = $defaultParam;
                 }
             }
         }
         $firstTableId = $tableManager->getMostRecentTableId();
         $table = $this->requestApiMethod($method, $idSite, $period, $date, $reportId, $segment, $reportParams);
         $reportTableIds[] = $table->getId();
         $tableManager->deleteTablesExceptIgnored($reportTableIds, $firstTableId);
         $tables[] = $table;
     }
     $map = new DataTable\Map();
     foreach ($tables as $table) {
         $map->addTable($table, $table->getMetadata('reportName'));
     }
     return $map;
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:25,代码来源:API.php

示例14: renderTable

 /**
  * Converts the given data table to an array
  *
  * @param DataTable $table
  * @return array
  */
 protected function renderTable($table)
 {
     $array = array();
     foreach ($table->getRows() as $id => $row) {
         $newRow = array('columns' => $row->getColumns(), 'metadata' => $row->getMetadata(), 'idsubdatatable' => $row->getIdSubDataTable());
         if ($id == DataTable::ID_SUMMARY_ROW) {
             $newRow['issummaryrow'] = true;
         }
         if ($this->isRenderSubtables() && $row->isSubtableLoaded()) {
             $subTable = $this->renderTable(Manager::getInstance()->getTable($row->getIdSubDataTable()));
             $newRow['subtable'] = $subTable;
             if ($this->hideIdSubDatatable === false && isset($newRow['metadata']['idsubdatatable_in_db'])) {
                 $newRow['columns']['idsubdatatable'] = $newRow['metadata']['idsubdatatable_in_db'];
             }
             unset($newRow['metadata']['idsubdatatable_in_db']);
         }
         if ($this->hideIdSubDatatable !== false) {
             unset($newRow['idsubdatatable']);
         }
         $array[] = $newRow;
     }
     return $array;
 }
开发者ID:KiwiJuicer,项目名称:handball-dachau,代码行数:29,代码来源:Php.php

示例15: renderTable

 /**
  * Computes the given dataTable output and returns the string/binary
  *
  * @param DataTable $table data table to render
  * @param string $prefix prefix to output before table data
  * @return string
  */
 protected function renderTable($table, $prefix = "")
 {
     if (is_array($table)) {
         $table = DataTable::makeFromSimpleArray($table);
     }
     if ($table instanceof DataTable\Map) {
         return $this->renderDataTableMap($table, $prefix);
     }
     if ($table->getRowsCount() == 0) {
         return "Empty table<br />\n";
     }
     static $depth = 0;
     $output = '';
     $i = 1;
     foreach ($table->getRows() as $row) {
         $dataTableMapBreak = false;
         $columns = array();
         foreach ($row->getColumns() as $column => $value) {
             if ($value instanceof DataTable\Map) {
                 $output .= $this->renderDataTableMap($value, $prefix);
                 $dataTableMapBreak = true;
                 break;
             }
             if (is_string($value)) {
                 $value = "'{$value}'";
             } elseif (is_array($value)) {
                 $value = var_export($value, true);
             }
             $columns[] = "'{$column}' => {$value}";
         }
         if ($dataTableMapBreak === true) {
             continue;
         }
         $columns = implode(", ", $columns);
         $metadata = array();
         foreach ($row->getMetadata() as $name => $value) {
             if (is_string($value)) {
                 $value = "'{$value}'";
             } elseif (is_array($value)) {
                 $value = var_export($value, true);
             }
             $metadata[] = "'{$name}' => {$value}";
         }
         $metadata = implode(", ", $metadata);
         $output .= str_repeat($this->prefixRows, $depth) . "- {$i} [" . $columns . "] [" . $metadata . "] [idsubtable = " . $row->getIdSubDataTable() . "]<br />\n";
         if (!is_null($row->getIdSubDataTable())) {
             if ($row->isSubtableLoaded()) {
                 $depth++;
                 $output .= $this->renderTable(Manager::getInstance()->getTable($row->getIdSubDataTable()), $prefix . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
                 $depth--;
             } else {
                 $output .= "-- Sub DataTable not loaded<br />\n";
             }
         }
         $i++;
     }
     $metadata = $table->getAllTableMetadata();
     if (!empty($metadata)) {
         $output .= "<hr />Metadata<br />";
         foreach ($metadata as $id => $metadataIn) {
             $output .= "<br />";
             $output .= $prefix . " <b>{$id}</b><br />";
             if (is_array($metadataIn)) {
                 foreach ($metadataIn as $name => $value) {
                     $output .= $prefix . $prefix . "{$name} => {$value}";
                 }
             }
         }
     }
     return $output;
 }
开发者ID:brienomatty,项目名称:elmsln,代码行数:78,代码来源:Console.php


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