コード例 #1
0
	/**
	 * Given a list of fields defining numeric values, it will return a Piwik_DataTable_Array
	 * ordered by idsite
	 *
	 * @param array|string $fields array( fieldName1, fieldName2, ...)  Names of the mysql table fields to load
	 * @return Piwik_DataTable_Array
	 */
	public function getDataTableFromNumeric( $fields )
	{
		$tableArray = $this->getNewDataTableArray();
		if ($this->getFirstArchive() instanceof Piwik_Archive_Single)
		{
			$values = $this->getValues($fields);
			foreach($this->archives as $idSite => $archive)
			{
				$table = new Piwik_DataTable_Simple();
				if (array_key_exists($idSite, $values))
				{
					$table->addRowsFromArray($values[$idSite]);
				}
				$tableArray->addTable($table, $idSite);
			}
		}
		elseif ($this->getFirstArchive() instanceof Piwik_Archive_Array)
		{
			foreach($this->archives as $idSite => $archive)
			{
				$tableArray->addTable($archive->getDataTableFromNumeric($fields), $idSite);
			}
		}
		
		return $tableArray;
	}
コード例 #2
0
ファイル: Single.php プロジェクト: josl/CGE-File-Sharing
 /**
  * Given a list of fields defining numeric values, it will return a Piwik_DataTable_Simple
  * containing one row per field name.
  *
  * For example $fields = array(    'max_actions',
  *                        'nb_uniq_visitors',
  *                        'nb_visits',
  *                        'nb_actions',
  *                        'sum_visit_length',
  *                        'bounce_count',
  *                        'nb_visits_converted'
  *                    );
  *
  * @param string|array $fields Name or array of names of Archive fields
  *
  * @return Piwik_DataTable_Simple
  */
 public function getDataTableFromNumeric($fields)
 {
     if (!is_array($fields)) {
         $fields = array($fields);
     }
     $values = array();
     foreach ($fields as $field) {
         $values[$field] = $this->getNumeric($field);
     }
     $table = new Piwik_DataTable_Simple();
     $table->addRowsFromArray($values);
     return $table;
 }
コード例 #3
0
ファイル: JSONTest.php プロジェクト: nnnnathann/piwik
 protected function _getDataTableSimpleOneRowArrayTest()
 {
     $array1 = array('nb_visits' => 14.0);
     $table1 = new Piwik_DataTable_Simple();
     $table1->addRowsFromArray($array1);
     $array2 = array('nb_visits' => 15.0);
     $table2 = new Piwik_DataTable_Simple();
     $table2->addRowsFromArray($array2);
     $table3 = new Piwik_DataTable_Simple();
     $table = new Piwik_DataTable_Array();
     $table->setKeyName('testKey');
     $table->addTable($table1, 'row1');
     $table->addTable($table2, 'row2');
     $table->addTable($table3, 'row3');
     return $table;
 }
コード例 #4
0
	protected function handleScalar($scalar)
	{
		$dataTable = new Piwik_DataTable_Simple();
		$dataTable->addRowsFromArray( array($scalar) );
		return $this->getRenderedDataTable($dataTable);
	}
コード例 #5
0
ファイル: Array.php プロジェクト: nnnnathann/piwik
 /**
  * Returns a DataTable_Array containing values 
  * of the element $name from the archives in this Archive_Array.
  *
  * The value to be returned are blob values (stored in the archive_numeric_* tables in the DB).	 * 
  * It can return anything from strings, to serialized PHP arrays or PHP objects, etc.
  *
  * @param string  $name  Name of the mysql table field to load eg. Referers_keywordBySearchEngine
  * @return Piwik_DataTable_Array  containing the requested blob values for each Archive
  */
 public function getBlob($name)
 {
     $table = $this->getNewDataTableArray();
     foreach ($this->archives as $archive) {
         $blob = $archive->getBlob($name);
         $subTable = new Piwik_DataTable_Simple();
         $subTable->addRowsFromArray(array('blob' => $blob));
         $table->addTable($subTable, $this->getDataTableLabelValue($archive));
         $this->loadMetadata($table, $archive);
     }
     return $table;
 }