Piwik\DataTable::setAllTableMetadata PHP Method

setAllTableMetadata() public method

Sets metadata, erasing existing values.
public setAllTableMetadata ( $metadata )
    public function setAllTableMetadata($metadata)
    {
        $this->metadata = $metadata;
    }

Usage Example

Beispiel #1
0
 /**
  * This looks very similar to LabelFilter.php should it be refactored somehow? FIXME
  */
 protected function doFilterPageDatatableSearch($callBackParameters, $table, $searchTree)
 {
     // filter a data table array
     if ($table instanceof DataTable\Map) {
         foreach ($table->getDataTables() as $subTable) {
             $filteredSubTable = $this->doFilterPageDatatableSearch($callBackParameters, $subTable, $searchTree);
             if ($filteredSubTable->getRowsCount() > 0) {
                 // match found in a sub table, return and stop searching the others
                 return $filteredSubTable;
             }
         }
         // nothing found in all sub tables
         return new DataTable();
     }
     // filter regular data table
     if ($table instanceof DataTable) {
         // search for the first part of the tree search
         $search = array_shift($searchTree);
         $row = $table->getRowFromLabel($search);
         if ($row === false) {
             // not found
             $result = new DataTable();
             $result->setAllTableMetadata($table->getAllTableMetadata());
             return $result;
         }
         // end of tree search reached
         if (count($searchTree) == 0) {
             $result = new DataTable();
             $result->addRow($row);
             $result->setAllTableMetadata($table->getAllTableMetadata());
             return $result;
         }
         // match found on this level and more levels remaining: go deeper
         $idSubTable = $row->getIdSubDataTable();
         $callBackParameters[6] = $idSubTable;
         /**
          * @var \Piwik\Period $period
          */
         $period = $table->getMetadata('period');
         if (!empty($period)) {
             $callBackParameters[3] = $period->getDateStart() . ',' . $period->getDateEnd();
         }
         $table = call_user_func_array(array($this, 'getDataTableFromArchive'), $callBackParameters);
         return $this->doFilterPageDatatableSearch($callBackParameters, $table, $searchTree);
     }
     throw new Exception("For this API function, DataTable " . get_class($table) . " is not supported");
 }
All Usage Examples Of Piwik\DataTable::setAllTableMetadata