本文整理匯總了PHP中Piwik_DataTable::addSummaryRow方法的典型用法代碼示例。如果您正苦於以下問題:PHP Piwik_DataTable::addSummaryRow方法的具體用法?PHP Piwik_DataTable::addSummaryRow怎麽用?PHP Piwik_DataTable::addSummaryRow使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Piwik_DataTable
的用法示例。
在下文中一共展示了Piwik_DataTable::addSummaryRow方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: 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);
}
示例2: filter
/**
* Limits the given data table
*
* @param Piwik_DataTable $table
*/
public function filter($table)
{
$table->setRowsCountBeforeLimitFilter();
if ($this->keepSummaryRow) {
$summaryRow = $table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW);
}
// we delete from 0 to offset
if ($this->offset > 0) {
$table->deleteRowsOffset(0, $this->offset);
}
// at this point the array has offset less elements. We delete from limit to the end
if ($this->limit >= 0) {
$table->deleteRowsOffset($this->limit);
}
if ($this->keepSummaryRow && $summaryRow) {
$table->addSummaryRow($summaryRow);
}
}
示例3: generateDataTable
/**
* Generates a dataTable given a multidimensional PHP array that associates LABELS to Piwik_DataTableRows
* This is used for the "Actions" DataTable, where a line is the aggregate of all the subtables
* Example: the category /blog has 3 visits because it has /blog/index (2 visits) + /blog/about (1 visit)
*
* @param array $table
* @param array $parents
* @return Piwik_DataTable
*/
public static function generateDataTable($table, $parents = array())
{
$dataTableToReturn = new Piwik_DataTable();
foreach ($table as $label => $maybeDatatableRow) {
// case the aInfo is a subtable-like array
// it means that we have to go recursively and process it
// then we build the row that is an aggregate of all the children
// and we associate this row to the subtable
if (!$maybeDatatableRow instanceof Piwik_DataTable_Row) {
array_push($parents, array($dataTableToReturn->getId(), $label));
$subTable = self::generateDataTable($maybeDatatableRow, $parents);
$subTable->setParents($parents);
$row = new Piwik_DataTable_Row_DataTableSummary($subTable);
$row->setColumns(array('label' => $label) + $row->getColumns());
$row->addSubtable($subTable);
array_pop($parents);
} else {
$row = $maybeDatatableRow;
}
if ($row->getMetadata('issummaryrow') == true) {
$row->deleteMetadata('issummaryrow');
$dataTableToReturn->addSummaryRow($row);
} else {
$dataTableToReturn->addRow($row);
}
}
return $dataTableToReturn;
}