diff --git a/core/API/DataTableGenericFilter.php b/core/API/DataTableGenericFilter.php index 22f691c5055f95f7bd444ec302cc1f1981405699..fec5bb7e942e93cccb125cbbb52837c996aac62a 100644 --- a/core/API/DataTableGenericFilter.php +++ b/core/API/DataTableGenericFilter.php @@ -9,6 +9,8 @@ * @package Piwik */ use Piwik\Common; +use Piwik\DataTable; +use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; /** * @package Piwik @@ -31,7 +33,7 @@ class Piwik_API_DataTableGenericFilter /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -39,7 +41,7 @@ class Piwik_API_DataTableGenericFilter } /** - * Returns an array containing the information of the generic Piwik_DataTable_Filter + * Returns an array containing the information of the generic Filter * to be applied automatically to the data resulting from the API calls. * * Order to apply the filters: @@ -71,7 +73,7 @@ class Piwik_API_DataTableGenericFilter ), 'AddColumnsProcessedMetricsGoal' => array( 'filter_update_columns_when_show_all_goals' => array('integer'), - 'idGoal' => array('string', Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW), + 'idGoal' => array('string', AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW), ), 'Sort' => array( 'filter_sort_column' => array('string'), @@ -95,12 +97,12 @@ class Piwik_API_DataTableGenericFilter * Apply generic filters to the DataTable object resulting from the API Call. * Disable this feature by setting the parameter disable_generic_filters to 1 in the API call request. * - * @param Piwik_DataTable $datatable + * @param DataTable $datatable * @return bool */ protected function applyGenericFilters($datatable) { - if ($datatable instanceof Piwik_DataTable_Array) { + if ($datatable instanceof DataTable\Map) { $tables = $datatable->getArray(); $filterWasApplied = false; foreach ($tables as $table) { diff --git a/core/API/DataTableManipulator.php b/core/API/DataTableManipulator.php index a8d88fda4353ec060f9f41dec7bc2e94dec396a9..03541cf4ff600623ae06fc1f801c41c58a1ec6c9 100644 --- a/core/API/DataTableManipulator.php +++ b/core/API/DataTableManipulator.php @@ -8,7 +8,9 @@ * @category Piwik * @package Piwik */ -use Piwik\Period_Range; +use Piwik\DataTable\Row; +use Piwik\Period\Range; +use Piwik\DataTable; /** * Base class for manipulating data tables. @@ -52,15 +54,15 @@ abstract class Piwik_API_DataTableManipulator * data table arrays. It calls back the template method self::doManipulate for each table. * This way, data table arrays can be handled in a transparent fashion. * - * @param Piwik_DataTable_Array|Piwik_DataTable $dataTable + * @param DataTable\Map|DataTable $dataTable * @throws Exception - * @return Piwik_DataTable_Array|Piwik_DataTable + * @return DataTable\Map|DataTable */ protected function manipulate($dataTable) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { return $this->manipulateDataTableArray($dataTable); - } else if ($dataTable instanceof Piwik_DataTable) { + } else if ($dataTable instanceof DataTable) { return $this->manipulateDataTable($dataTable); } else { return $dataTable; @@ -81,7 +83,7 @@ abstract class Piwik_API_DataTableManipulator } /** - * Manipulates a single Piwik_DataTable instance. Derived classes must define + * Manipulates a single DataTable instance. Derived classes must define * this function. */ protected abstract function manipulateDataTable($dataTable); @@ -90,10 +92,10 @@ abstract class Piwik_API_DataTableManipulator * Load the subtable for a row. * Returns null if none is found. * - * @param Piwik_DataTable $dataTable - * @param Piwik_DataTable_Row $row + * @param DataTable $dataTable + * @param Row $row * - * @return Piwik_DataTable + * @return DataTable */ protected function loadSubtable($dataTable, $row) { @@ -111,7 +113,7 @@ abstract class Piwik_API_DataTableManipulator $request['idSubtable'] = $idSubTable; if ($dataTable) { $period = $dataTable->metadata['period']; - if ($period instanceof Period_Range) { + if ($period instanceof Range) { $request['date'] = $period->getDateStart().','.$period->getDateEnd(); } else { $request['date'] = $period->getDateStart()->toString(); diff --git a/core/API/DataTableManipulator/Flattener.php b/core/API/DataTableManipulator/Flattener.php index 4f700ac85499de043c3921ed9cb719d4e661cd65..6ccae47fdd71e9ababf705ac4e65186f8636b1e0 100644 --- a/core/API/DataTableManipulator/Flattener.php +++ b/core/API/DataTableManipulator/Flattener.php @@ -8,6 +8,8 @@ * @category Piwik * @package Piwik */ +use Piwik\DataTable; +use Piwik\DataTable\Row; /** * This class is responsible for flattening data tables. @@ -40,8 +42,8 @@ class Piwik_API_DataTableManipulator_Flattener extends Piwik_API_DataTableManipu public $recursiveLabelSeparator = ' - '; /** - * @param Piwik_DataTable $dataTable - * @return Piwik_DataTable|Piwik_DataTable_Array + * @param DataTable $dataTable + * @return DataTable|DataTable\Map */ public function flatten($dataTable) { @@ -56,8 +58,8 @@ class Piwik_API_DataTableManipulator_Flattener extends Piwik_API_DataTableManipu * Template method called from self::manipulate. * Flatten each data table. * - * @param Piwik_DataTable $dataTable - * @return Piwik_DataTable + * @param DataTable $dataTable + * @return DataTable */ protected function manipulateDataTable($dataTable) { @@ -73,12 +75,12 @@ class Piwik_API_DataTableManipulator_Flattener extends Piwik_API_DataTableManipu } /** - * @param Piwik_DataTable_Row $row - * @param Piwik_DataTable $dataTable + * @param Row $row + * @param DataTable $dataTable * @param string $labelPrefix * @param bool $parentLogo */ - private function flattenRow(Piwik_DataTable_Row $row, Piwik_DataTable $dataTable, + private function flattenRow(Row $row, DataTable $dataTable, $labelPrefix = '', $parentLogo = false) { $label = $row->getColumn('label'); diff --git a/core/API/DataTableManipulator/LabelFilter.php b/core/API/DataTableManipulator/LabelFilter.php index 550dbde69ba976ed2ba1cfd998c10a6be68fdd00..56ccd4366e86dc64a45240c4f5664e44527bdf97 100644 --- a/core/API/DataTableManipulator/LabelFilter.php +++ b/core/API/DataTableManipulator/LabelFilter.php @@ -9,6 +9,8 @@ * @package Piwik */ use Piwik\Common; +use Piwik\DataTable; +use Piwik\DataTable\Row; /** * This class is responsible for handling the label parameter that can be @@ -38,10 +40,10 @@ class Piwik_API_DataTableManipulator_LabelFilter extends Piwik_API_DataTableMani * are not needed. * * @param string $labels the labels to search for - * @param Piwik_DataTable $dataTable the data table to be filtered + * @param DataTable $dataTable the data table to be filtered * @param bool $addLabelIndex Whether to add label_index metadata describing which * label a row corresponds to. - * @return Piwik_DataTable + * @return DataTable */ public function filter($labels, $dataTable, $addLabelIndex = false) { @@ -58,8 +60,8 @@ class Piwik_API_DataTableManipulator_LabelFilter extends Piwik_API_DataTableMani * Method for the recursive descend * * @param array $labelParts - * @param Piwik_DataTable $dataTable - * @return Piwik_DataTable_Row|false + * @param DataTable $dataTable + * @return Row|false */ private function doFilterRecursiveDescend($labelParts, $dataTable) { @@ -137,7 +139,7 @@ class Piwik_API_DataTableManipulator_LabelFilter extends Piwik_API_DataTableMani } /** - * Filter a Piwik_DataTable instance. See @filter for more info. + * Filter a DataTable instance. See @filter for more info. */ protected function manipulateDataTable($dataTable) { diff --git a/core/API/DocumentationGenerator.php b/core/API/DocumentationGenerator.php index 19150ce1da7475c2be2e0c343884eb80a8051b00..e928409dfa30f583e1a599cab6cbfb634ef72405 100644 --- a/core/API/DocumentationGenerator.php +++ b/core/API/DocumentationGenerator.php @@ -25,7 +25,7 @@ class Piwik_API_DocumentationGenerator */ public function __construct() { - $plugins = PluginsManager::getInstance()->getLoadedPluginsName(); + $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPluginsName(); foreach ($plugins as $plugin) { $plugin = Common::unprefixClass($plugin); try { diff --git a/core/API/Request.php b/core/API/Request.php index 4af8db7500eaa5be45c6b4dbe20dcf6867abcefd..7a7569e59ccbb0536c511a63938aeef2dd862689 100644 --- a/core/API/Request.php +++ b/core/API/Request.php @@ -11,6 +11,7 @@ use Piwik\Piwik; use Piwik\Common; use Piwik\Access; +use Piwik\DataTable; /** * An API request is the object used to make a call to the API and get the result. @@ -121,7 +122,7 @@ class Piwik_API_Request * It then calls the API Proxy which will call the requested method. * * @throws Piwik_FrontController_PluginDeactivatedException - * @return Piwik_DataTable|mixed The data resulting from the API call + * @return DataTable|mixed The data resulting from the API call */ public function process() { @@ -137,7 +138,7 @@ class Piwik_API_Request list($module, $method) = $this->extractModuleAndMethod($moduleMethod); - if (!PluginsManager::getInstance()->isPluginActivated($module)) { + if (!\Piwik\PluginsManager::getInstance()->isPluginActivated($module)) { throw new Piwik_FrontController_PluginDeactivatedException($module); } $moduleClass = "Piwik_" . $module . "_API"; diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php index 80407213299faea1aa42014edee8ba626f32fb1c..c9bc6eec91685c3f0b15077b7b42688ec74687bd 100644 --- a/core/API/ResponseBuilder.php +++ b/core/API/ResponseBuilder.php @@ -8,8 +8,12 @@ * @category Piwik * @package Piwik */ +use Piwik\DataTable\Renderer\Json; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Renderer; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; /** * @package Piwik @@ -38,7 +42,7 @@ class Piwik_API_ResponseBuilder /** * This method processes the data resulting from the API call. * - * - If the data resulted from the API call is a Piwik_DataTable then + * - If the data resulted from the API call is a DataTable then * - we apply the standard filters if the parameters have been found * in the URL. For example to offset,limit the Table you can add the following parameters to any API * call that returns a DataTable: filter_limit=10&filter_offset=20 @@ -75,8 +79,8 @@ class Piwik_API_ResponseBuilder // If the returned value is an object DataTable we // apply the set of generic filters if asked in the URL // and we render the DataTable according to the format specified in the URL - if ($value instanceof Piwik_DataTable - || $value instanceof Piwik_DataTable_Array + if ($value instanceof DataTable + || $value instanceof DataTable\Map ) { return $this->handleDataTable($value); } @@ -121,7 +125,7 @@ class Piwik_API_ResponseBuilder } try { - $renderer = Piwik_DataTable_Renderer::factory($format); + $renderer = Renderer::factory($format); } catch (Exception $exceptionRenderer) { return "Error: " . $e->getMessage() . " and: " . $exceptionRenderer->getMessage(); } @@ -174,7 +178,7 @@ class Piwik_API_ResponseBuilder /** * Apply the specified renderer to the DataTable * - * @param Piwik_DataTable|array $dataTable + * @param DataTable|array $dataTable * @return string */ protected function getRenderedDataTable($dataTable) @@ -192,7 +196,7 @@ class Piwik_API_ResponseBuilder $method = Common::getRequestVar('method', '', 'string', $this->request); - $renderer = Piwik_DataTable_Renderer::factory($format); + $renderer = Renderer::factory($format); $renderer->setTable($dataTable); $renderer->setRenderSubTables(Common::getRequestVar('expanded', false, 'int', $this->request)); $renderer->setHideIdSubDatableFromResponse(Common::getRequestVar('hideIdSubDatable', false, 'int', $this->request)); @@ -268,7 +272,7 @@ class Piwik_API_ResponseBuilder */ protected function handleScalar($scalar) { - $dataTable = new Piwik_DataTable_Simple(); + $dataTable = new Simple(); $dataTable->addRowsFromArray(array($scalar)); return $this->getRenderedDataTable($dataTable); } @@ -276,7 +280,7 @@ class Piwik_API_ResponseBuilder /** * Handles the given data table * - * @param Piwik_DataTable $datatable + * @param DataTable $datatable * @return string */ protected function handleDataTable($datatable) @@ -404,10 +408,10 @@ class Piwik_API_ResponseBuilder /** * Render a multidimensional array to Json - * Handle Piwik_DataTable|Piwik_DataTable_Array elements in the first dimension only, following case does not work: + * Handle DataTable|Set elements in the first dimension only, following case does not work: * array( * array( - * Piwik_DataTable, + * DataTable, * 2 => array( * 1, * 2 @@ -415,7 +419,7 @@ class Piwik_API_ResponseBuilder * ), * ); * - * @param array $array can contain scalar, arrays, Piwik_DataTable and Piwik_DataTable_Array + * @param array $array can contain scalar, arrays, DataTable and Set * @return string */ public static function convertMultiDimensionalArrayToJson($array) @@ -440,10 +444,10 @@ class Piwik_API_ResponseBuilder $json .= Common::json_encode($value); break; - // Case dimension is a Piwik_DataTable_Array or a Piwik_DataTable - case ($value instanceof Piwik_DataTable_Array || $value instanceof Piwik_DataTable): + // Case dimension is a Set or a DataTable + case ($value instanceof DataTable\Map || $value instanceof DataTable): - $XMLRenderer = new Piwik_DataTable_Renderer_Json(); + $XMLRenderer = new Json(); $XMLRenderer->setTable($value); $renderedReport = $XMLRenderer->render(); $json .= $renderedReport; diff --git a/core/Archive.php b/core/Archive.php index ddc0cb453ecb0d0a828c2810a1f89fa7d48245a9..a0412b4ae6b1bbbf2995dd1ddd4b98a2a80a3c63 100644 --- a/core/Archive.php +++ b/core/Archive.php @@ -9,8 +9,13 @@ * @package Piwik */ namespace Piwik; +use Piwik\Archive\Parameters; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Metrics; +use Piwik\Date; +use Piwik\ArchiveProcessor\Rules; +use Piwik\DataAccess\ArchiveSelector; /** * The archive object is used to query specific data for a day or a period of statistics for a given website. @@ -93,16 +98,16 @@ class Archive private $forceIndexedByDate; /** - * @var Archive_Parameters + * @var Parameters */ private $params; /** - * @param Archive_Parameters $params + * @param Parameters $params * @param bool $forceIndexedBySite Whether to force index the result of a query by site ID. * @param bool $forceIndexedByDate Whether to force index the result of a query by period. */ - protected function __construct(Archive_Parameters $params, $forceIndexedBySite = false, + protected function __construct(Parameters $params, $forceIndexedBySite = false, $forceIndexedByDate = false) { $this->params = $params; @@ -115,7 +120,7 @@ class Archive * * @param $idSites * @param string $period 'day', 'week', 'month', 'year' or 'range' - * @param Piwik_Date|string $strDate 'YYYY-MM-DD', magic keywords (ie, 'today'; @see Piwik_Date::factory()) + * @param Date|string $strDate 'YYYY-MM-DD', magic keywords (ie, 'today'; @see Date::factory()) * or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD'). * @param bool|string $segment Segment definition - defaults to false for backward compatibility. * @param bool|string $_restrictSitesToLogin Used only when running as a scheduled task. @@ -126,7 +131,7 @@ class Archive $websiteIds = Site::getIdSitesFromIdSitesString($idSites, $_restrictSitesToLogin); if (Period::isMultiplePeriod($strDate, $period)) { - $oPeriod = new Period_Range($period, $strDate); + $oPeriod = new Range($period, $strDate); $allPeriods = $oPeriod->getSubperiods(); } else { $timezone = count($websiteIds) == 1 ? Site::getTimezoneFor($websiteIds[0]) : false; @@ -150,7 +155,7 @@ class Archive $forceIndexedByDate = true; } - $params = new Archive_Parameters(); + $params = new Parameters(); $params->setIdSites($idSites); $params->setPeriods($periods); $params->setSegment($segment); @@ -212,7 +217,7 @@ class Archive * * @param string|array $names One or more archive names, eg, 'nb_visits', 'Referers_distinctKeywords', * etc. - * @return Piwik_DataTable|false False if no value with the given names. Based on the number + * @return DataTable|false False if no value with the given names. Based on the number * of sites/periods, the result can be a DataTable_Array, which * contains DataTable instances. */ @@ -226,13 +231,13 @@ class Archive * This method will build a dataTable from the blob value $name in the current archive. * * For example $name = 'Referers_searchEngineByKeyword' will return a - * Piwik_DataTable containing all the keywords. If a $idSubtable is given, the method + * DataTable containing all the keywords. If a $idSubtable is given, the method * will return the subTable of $name. If 'all' is supplied for $idSubtable every subtable * will be returned. * * @param string $name The name of the record to get. * @param int|string|null $idSubtable The subtable ID (if any) or 'all' if requesting every datatable. - * @return Piwik_DataTable|false + * @return DataTable|false */ public function getDataTable($name, $idSubtable = null) { @@ -243,13 +248,13 @@ class Archive /** * Same as getDataTable() except that it will also load in memory all the subtables * for the DataTable $name. You can then access the subtables by using the - * Piwik_DataTable_Manager::getTable() function. + * Manager::getTable() function. * * @param string $name The name of the record to get. * @param int|string|null $idSubtable The subtable ID (if any) or self::ID_SUBTABLE_LOAD_ALL_SUBTABLES if requesting every datatable. * @param bool $addMetadataSubtableId Whether to add the DB subtable ID as metadata to each datatable, * or not. - * @return Piwik_DataTable + * @return DataTable */ public function getDataTableExpanded($name, $idSubtable = null, $addMetadataSubtableId = true) { @@ -280,11 +285,11 @@ class Archive * @param string $name * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param string $segment * @param bool $expanded * @param int|null $idSubtable - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ public static function getDataTableFromArchive($name, $idSite, $period, $date, $segment, $expanded, $idSubtable = null) { @@ -315,7 +320,7 @@ class Archive * @param array|string $archiveNames * @param $archiveDataType * @param null|int $idSubtable - * @return Archive_DataCollection + * @return DataCollection */ private function get($archiveNames, $archiveDataType, $idSubtable = null) { @@ -332,7 +337,7 @@ class Archive } } - $result = new Archive_DataCollection( + $result = new Archive\DataCollection( $archiveNames, $archiveDataType, $this->params->getIdSites(), $this->params->getPeriods(), $defaultRow = null); $archiveIds = $this->getArchiveIds($archiveNames); @@ -341,7 +346,7 @@ class Archive } $loadAllSubtables = $idSubtable == self::ID_SUBTABLE_LOAD_ALL_SUBTABLES; - $archiveData = Piwik_DataAccess_ArchiveSelector::getArchiveData($archiveIds, $archiveNames, $archiveDataType, $loadAllSubtables); + $archiveData = ArchiveSelector::getArchiveData($archiveIds, $archiveNames, $archiveDataType, $loadAllSubtables); foreach ($archiveData as $row) { // values are grouped by idsite (site ID), date1-date2 (date range), then name (field name) $idSite = $row['idsite']; @@ -365,7 +370,7 @@ class Archive * Returns archive IDs for the sites, periods and archive names that are being * queried. This function will use the idarchive cache if it has the right data, * query archive tables for IDs w/o launching archiving, or launch archiving and - * get the idarchive from Piwik_ArchiveProcessor instances. + * get the idarchive from ArchiveProcessor instances. */ private function getArchiveIds($archiveNames) { @@ -388,7 +393,7 @@ class Archive // cache id archives for plugins we haven't processed yet if (!empty($archiveGroups)) { - if (!Piwik_ArchiveProcessor_Rules::isArchivingDisabledFor($this->params->getSegment(), $this->getPeriodLabel())) { + if (!Rules::isArchivingDisabledFor($this->params->getSegment(), $this->getPeriodLabel())) { $this->cacheArchiveIdsAfterLaunching($archiveGroups, $plugins); } else { $this->cacheArchiveIdsWithoutLaunching($plugins); @@ -413,7 +418,7 @@ class Archive } /** - * @return Archive_Parameters + * @return Parameters */ public function getParams() { @@ -430,7 +435,7 @@ class Archive */ private function cacheArchiveIdsAfterLaunching($archiveGroups, $plugins) { - $today = Piwik_Date::today(); + $today = Date::today(); /* @var Period $period */ foreach ($this->params->getPeriods() as $period) { @@ -459,9 +464,9 @@ class Archive } if ($period->getLabel() == 'day') { - $processing = new Piwik_ArchiveProcessor_Day($period, $site, $this->params->getSegment()); + $processing = new ArchiveProcessor\Day($period, $site, $this->params->getSegment()); } else { - $processing = new Piwik_ArchiveProcessor_Period($period, $site, $this->params->getSegment()); + $processing = new ArchiveProcessor\Period($period, $site, $this->params->getSegment()); } // process for each plugin as well @@ -493,7 +498,7 @@ class Archive */ private function cacheArchiveIdsWithoutLaunching($plugins) { - $idarchivesByReport = Piwik_DataAccess_ArchiveSelector::getArchiveIds( + $idarchivesByReport = ArchiveSelector::getArchiveIds( $this->params->getIdSites(), $this->params->getPeriods(), $this->params->getSegment(), $plugins); // initialize archive ID cache for each report @@ -518,7 +523,7 @@ class Archive */ private function getDoneStringForPlugin($plugin) { - return Piwik_ArchiveProcessor_Rules::getDoneStringFlagFor($this->params->getSegment(), $this->getPeriodLabel(), $plugin); + return Rules::getDoneStringFlagFor($this->params->getSegment(), $this->getPeriodLabel(), $plugin); } private function getPeriodLabel() @@ -529,7 +534,7 @@ class Archive /** * Returns an array describing what metadata to use when indexing a query result. - * For use with Archive_DataCollection. + * For use with DataCollection. * * @return array */ @@ -637,7 +642,7 @@ class Archive $plugin = substr($report, 0, strpos($report, '_')); if (empty($plugin) - || !Piwik_PluginsManager::getInstance()->isPluginActivated($plugin) + || !\Piwik\PluginsManager::getInstance()->isPluginActivated($plugin) ) { $pluginStr = empty($plugin) ? '' : "($plugin)"; throw new Exception("Error: The report '$report' was requested but it is not available " diff --git a/core/Archive/DataCollection.php b/core/Archive/DataCollection.php index 1f4a29382df278173859a3d34e493275b39b9260..4b05615c21efb638c4c26064a592009a69bae4f2 100644 --- a/core/Archive/DataCollection.php +++ b/core/Archive/DataCollection.php @@ -9,15 +9,20 @@ * @package Piwik */ -namespace Piwik; +namespace Piwik\Archive; + +use Exception; +use Piwik\Archive\DataTableFactory; +use Piwik\DataTable; + /** * This class is used to hold and transform archive data for the Archive class. * * Archive data is loaded into an instance of this type, can be indexed by archive * metadata (such as the site ID, period string, etc.), and can be transformed into - * Piwik_DataTable and Piwik_DataTable_Array instances. + * DataTable and Set instances. */ -class Archive_DataCollection +class DataCollection { /** * The archive data, indexed first by site ID and then by period date range. Eg, @@ -192,18 +197,18 @@ class Archive_DataCollection /** * Returns archive data as a DataTable indexed by metadata. Indexed data will - * be represented by Piwik_DataTable_Array instances. + * be represented by Set instances. * * @param array $resultIndices An array mapping metadata names to pretty labels * for them. Each archive data row will be indexed * by the metadata specified here. * * Eg, array('site' => 'idSite', 'period' => 'Date') - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return \Piwik\DataTable|Set */ public function getDataTable($resultIndices) { - $dataTableFactory = new Piwik_Archive_DataTableFactory( + $dataTableFactory = new DataTableFactory( $this->dataNames, $this->dataType, $this->sitesId, $this->periods, $this->defaultRow); $index = $this->getArray($resultIndices); @@ -212,7 +217,7 @@ class Archive_DataCollection /** * Returns archive data as a DataTable indexed by metadata. Indexed data will - * be represented by Piwik_DataTable_Array instances. Each DataTable will have + * be represented by Set instances. Each DataTable will have * its subtable IDs set. * * This function will only work if blob data was loaded and only one record @@ -227,21 +232,21 @@ class Archive_DataCollection * @param bool $addMetadataSubtableId Whether to add the DB subtable ID as metadata * to each datatable, or not. * @throws Exception - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return \Piwik\DataTable|Set */ public function getExpandedDataTable($resultIndices, $idSubtable = null, $addMetadataSubtableId = false) { if ($this->dataType != 'blob') { - throw new Exception("Archive_DataCollection: cannot call getExpandedDataTable with " + throw new Exception("DataCollection: cannot call getExpandedDataTable with " . "{$this->dataType} data types. Only works with blob data."); } if (count($this->dataNames) !== 1) { - throw new Exception("Archive_DataCollection: cannot call getExpandedDataTable with " + throw new Exception("DataCollection: cannot call getExpandedDataTable with " . "more than one record."); } - $dataTableFactory = new Piwik_Archive_DataTableFactory( + $dataTableFactory = new DataTableFactory( $this->dataNames, 'blob', $this->sitesId, $this->periods, $this->defaultRow); $dataTableFactory->expandDataTable($addMetadataSubtableId); $dataTableFactory->useSubtable($idSubtable); diff --git a/core/Archive/DataTableFactory.php b/core/Archive/DataTableFactory.php index e0d516aeb60800178b58d8d7a1ea81f6bb7da493..319db1d90447412136a4eb5d2a88764d5028ad0c 100644 --- a/core/Archive/DataTableFactory.php +++ b/core/Archive/DataTableFactory.php @@ -9,67 +9,71 @@ * @package Piwik */ -use Piwik\Archive_DataCollection; +namespace Piwik\Archive; + use Piwik\Site; +use Piwik\DataTable; +use Piwik\DataTable\Row; + const FIX_ME_OMG = 'this is a warning and reminder to fix this code '; /** - * Creates a Piwik_DataTable or Piwik_DataTable_Array instance based on an array - * index created by Archive_DataCollection. - * - * This class is only used by Archive_DataCollection. + * Creates a DataTable or Set instance based on an array + * index created by DataCollection. + * + * This class is only used by DataCollection. */ -class Piwik_Archive_DataTableFactory +class DataTableFactory { /** - * @see Archive_DataCollection::$dataNames. + * @see DataCollection::$dataNames. */ private $dataNames; - + /** - * @see Archive_DataCollection::$dataType. + * @see DataCollection::$dataType. */ private $dataType; - + /** * Whether to expand the DataTables that're created or not. Expanding a DataTable * means creating DataTables using subtable blobs and correctly setting the subtable * IDs of all DataTables. - * + * * @var bool */ private $expandDataTable = false; - + /** * Whether to add the subtable ID used in the database to the in-memory DataTables * as metadata or not. - * + * * @var bool */ private $addMetadataSubtableId = false; - + /** - * @see Archive_DataCollection::$sitesId. + * @see DataCollection::$sitesId. */ private $sitesId; - + /** - * @see Archive_DataCollection::$periods. + * @see DataCollection::$periods. */ private $periods; - + /** * The ID of the subtable to create a DataTable for. Only relevant for blob data. - * + * * @var int|null */ private $idSubtable = null; - + /** - * @see Archive_DataCollection::$defaultRow. + * @see DataCollection::$defaultRow. */ private $defaultRow; - + /** * Constructor. */ @@ -83,11 +87,11 @@ class Piwik_Archive_DataTableFactory $this->periods = $periods; $this->defaultRow = $defaultRow; } - + /** * Tells the factory instance to expand the DataTables that are created by * creating subtables and setting the subtable IDs of rows w/ subtables correctly. - * + * * @param bool $addMetadataSubtableId Whether to add the subtable ID used in the * database to the in-memory DataTables as * metadata or not. @@ -108,21 +112,21 @@ class Piwik_Archive_DataTableFactory public function useSubtable($idSubtable) { if (count($this->dataNames) !== 1) { - throw new Exception("Piwik_Archive_DataTableFactory: Getting subtables for multiple records in one" - . " archive query is not currently supported."); + throw new Exception("DataTableFactory: Getting subtables for multiple records in one" + . " archive query is not currently supported."); } - + $this->idSubtable = $idSubtable; } - + /** - * Creates a Piwik_DataTable|Piwik_DataTable_Array instance using an index of + * Creates a DataTable|Set instance using an index of * archive data. - * - * @param array $index @see Archive_DataCollection + * + * @param array $index @see DataCollection * @param array $resultIndices an array mapping metadata names with pretty metadata * labels. - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|Set */ public function make($index, $resultIndices) { @@ -134,50 +138,50 @@ class Piwik_Archive_DataTableFactory ) { $index = $this->defaultRow; } - + $dataTable = $this->createDataTable($index, $keyMetadata = array()); } else { $dataTable = $this->createDataTableArrayFromIndex($index, $resultIndices); } - + $this->transformMetadata($dataTable); return $dataTable; } /** - * Creates a Piwik_DataTable|Piwik_DataTable_Array instance using an array + * Creates a DataTable|Set instance using an array * of blobs. - * + * * If only one record is being queried, a single DataTable will - * be returned. Otherwise, a DataTable_Array is returned that indexes + * be returned. Otherwise, a DataTable\Map is returned that indexes * DataTables by record name. - * + * * If expandDataTable was called, and only one record is being queried, * the created DataTable's subtables will be expanded. - * + * * @param array $blobRow - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|Set */ private function makeFromBlobRow($blobRow) { if ($blobRow === false) { - return new Piwik_DataTable(); + return new DataTable(); } - + if (count($this->dataNames) === 1) { return $this->makeDataTableFromSingleBlob($blobRow); } else { return $this->makeIndexedByRecordNameDataTable($blobRow); } } - + /** * Creates a DataTable for one record from an archive data row. - * + * * @see makeFromBlobRow - * + * * @param array $blobRow - * @return Piwik_DataTable + * @return DataTable */ private function makeDataTableFromSingleBlob($blobRow) { @@ -185,101 +189,101 @@ class Piwik_Archive_DataTableFactory if ($this->idSubtable !== null) { $recordName .= '_' . $this->idSubtable; } - + if (!empty($blobRow[$recordName])) { - $table = Piwik_DataTable::fromSerializedArray($blobRow[$recordName]); + $table = DataTable::fromSerializedArray($blobRow[$recordName]); } else { - $table = new Piwik_DataTable(); + $table = new DataTable(); } - + // set table metadata - $table->metadata = Archive_DataCollection::getDataRowMetadata($blobRow); - + $table->metadata = DataCollection::getDataRowMetadata($blobRow); + if ($this->expandDataTable) { $table->enableRecursiveFilters(); $this->setSubtables($table, $blobRow); } - + return $table; } - + /** * Creates a DataTable for every record in an archive data row and puts them - * in a DataTable_Array instance. - * + * in a DataTable\Map instance. + * * @param array $blobRow - * @return Piwik_DataTable_Array + * @return DataTable\Map */ private function makeIndexedByRecordNameDataTable($blobRow) { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('recordName'); - - $tableMetadata = Archive_DataCollection::getDataRowMetadata($blobRow); - + + $tableMetadata = DataCollection::getDataRowMetadata($blobRow); + foreach ($blobRow as $name => $blob) { - $newTable = Piwik_DataTable::fromSerializedArray($blob); + $newTable = DataTable::fromSerializedArray($blob); $newTable->metadata = $tableMetadata; - + $table->addTable($newTable, $name); } - + return $table; } - + /** - * Creates a Piwik_DataTable_Array from an array index. - * - * @param array $index @see Archive_DataCollection + * Creates a Set from an array index. + * + * @param array $index @see DataCollection * @param array $resultIndices @see make * @param array $keyMetadata The metadata to add to the table when it's created. - * @return Piwik_DataTable_Array + * @return Set */ private function createDataTableArrayFromIndex($index, $resultIndices, $keyMetadata = array()) { $resultIndexLabel = reset($resultIndices); $resultIndex = key($resultIndices); - + array_shift($resultIndices); - - $result = new Piwik_DataTable_Array(); + + $result = new DataTable\Map(); $result->setKeyName($resultIndexLabel); - + foreach ($index as $label => $value) { $keyMetadata[$resultIndex] = $label; - + if (empty($resultIndices)) { $newTable = $this->createDataTable($value, $keyMetadata); } else { $newTable = $this->createDataTableArrayFromIndex($value, $resultIndices, $keyMetadata); } - + $result->addTable($newTable, $this->prettifyIndexLabel($resultIndex, $label)); } - + return $result; } - + /** - * Creates a Piwik_DataTable instance from an index row. - * + * Creates a DataTable instance from an index row. + * * @param array|false $data An archive data row. * @param array $keyMetadata The metadata to add to the table(s) when created. - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ private function createDataTable($data, $keyMetadata) { if ($this->dataType == 'blob') { $result = $this->makeFromBlobRow($data); } else { - $table = new Piwik_DataTable_Simple(); - + $table = new DataTable\Simple(); + if (!empty($data)) { - $table->metadata = Archive_DataCollection::getDataRowMetadata($data); - - Archive_DataCollection::removeMetadataFromDataRow($data); - - $table->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $data))); + $table->metadata = DataCollection::getDataRowMetadata($data); + + DataCollection::removeMetadataFromDataRow($data); + + $table->addRow(new Row(array(Row::COLUMNS => $data))); } else { // if we're querying numeric data, we couldn't find any, and we're only // looking for one metric, add a row w/ one column w/ value 0. this is to @@ -288,39 +292,39 @@ class Piwik_Archive_DataTableFactory // would break. if (count($this->dataNames) == 1) { $name = reset($this->dataNames); - $table->addRow(new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => array($name => 0) - ))); + $table->addRow(new Row(array( + Row::COLUMNS => array($name => 0) + ))); } } - + $result = $table; } - + if (!isset($keyMetadata['site'])) { $keyMetadata['site'] = reset($this->sitesId); } - + if (!isset($keyMetadata['period'])) { reset($this->periods); $keyMetadata['period'] = key($this->periods); } - - // Note: $result can be a DataTable_Array + + // Note: $result can be a DataTable\Map $result->filter(function ($table) use ($keyMetadata) { foreach ($keyMetadata as $name => $value) { $table->setMetadata($name, $value); } }); - + return $result; } - + /** * Creates DataTables from $dataTable's subtable blobs (stored in $blobRow) and sets * the subtable IDs of each DataTable row. - * - * @param Piwik_DataTable $dataTable + * + * @param DataTable $dataTable * @param array $blobRow An array associating record names (w/ subtable if applicable) * with blob values. This should hold every subtable blob for * the loaded DataTable. @@ -328,18 +332,18 @@ class Piwik_Archive_DataTableFactory private function setSubtables($dataTable, $blobRow) { $dataName = reset($this->dataNames); - + foreach ($dataTable->getRows() as $row) { $sid = $row->getIdSubDataTable(); if ($sid === null) { continue; } - - $blobName = $dataName."_".$sid; + + $blobName = $dataName . "_" . $sid; if (isset($blobRow[$blobName])) { - $subtable = Piwik_DataTable::fromSerializedArray($blobRow[$blobName]); + $subtable = DataTable::fromSerializedArray($blobRow[$blobName]); $this->setSubtables($subtable, $blobRow); - + // we edit the subtable ID so that it matches the newly table created in memory // NB: we dont overwrite the datatableid in the case we are displaying the table expanded. if ($this->addMetadataSubtableId) { @@ -347,12 +351,12 @@ class Piwik_Archive_DataTableFactory // see Renderer/Php.php $row->addMetadata('idsubdatatable_in_db', $row->getIdSubDataTable()); } - + $row->setSubtable($subtable); } } } - + /** * Converts site IDs and period string ranges into Site instances and * Period instances in DataTable metadata. @@ -360,24 +364,24 @@ class Piwik_Archive_DataTableFactory private function transformMetadata($table) { $periods = $this->periods; - $table->filter(function ($table) use($periods) { + $table->filter(function ($table) use ($periods) { $table->metadata['site'] = new Site($table->metadata['site']); $table->metadata['period'] = empty($periods[$table->metadata['period']]) - ? FIX_ME_OMG - : $periods[$table->metadata['period']]; + ? FIX_ME_OMG + : $periods[$table->metadata['period']]; }); } - + /** * Returns the pretty version of an index label. - * + * * @param string $labelType eg, 'site', 'period', etc. * @param string $label eg, '0', '1', '2012-01-01,2012-01-31', etc. * @return string */ private function prettifyIndexLabel($labelType, $label) { - if(empty($this->periods[$label])) { + if (empty($this->periods[$label])) { return $label; // BAD BUG FIXME } if ($labelType == 'period') { // prettify period labels diff --git a/core/Archive/Parameters.php b/core/Archive/Parameters.php index aa03d3beed89f0c9e75954b11414ff09db024210..8db15dcbb5154091bcde0460be76035fde335be5 100644 --- a/core/Archive/Parameters.php +++ b/core/Archive/Parameters.php @@ -1,10 +1,19 @@ <?php +/** + * Piwik - Open source web analytics + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + * + * @category Piwik + * @package Piwik + */ -namespace Piwik; +namespace Piwik\Archive; use Exception; use Piwik\Segment; -class Archive_Parameters +class Parameters { /** * The list of site IDs to query archive data for. diff --git a/core/ArchiveProcessor.php b/core/ArchiveProcessor.php index 63b16ebd935ce8808dd21004d1cbbdf2b68198ef..46cde2533ea0096d1e859f187934cb811b6488ad 100644 --- a/core/ArchiveProcessor.php +++ b/core/ArchiveProcessor.php @@ -8,19 +8,27 @@ * @category Piwik * @package Piwik */ +namespace Piwik; +use Exception; +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; use Piwik\Period; use Piwik\Piwik; +use Piwik\Date; use Piwik\Segment; use Piwik\Site; +use Piwik\DataAccess\ArchiveSelector; +use Piwik\DataAccess\ArchiveWriter; +use Piwik\DataAccess\LogAggregator; +use Zend_Registry; /** * The ArchiveProcessor class is used by the Archive object to make sure the given Archive is processed and available in the DB. * * @package Piwik - * @subpackage Piwik_ArchiveProcessor + * @subpackage ArchiveProcessor */ -abstract class Piwik_ArchiveProcessor +abstract class ArchiveProcessor { /** * Flag stored at the end of the archiving @@ -53,7 +61,7 @@ abstract class Piwik_ArchiveProcessor protected $idArchive; /** - * @var Piwik_DataAccess_ArchiveWriter + * @var \Piwik\DataAccess\ArchiveWriter */ protected $archiveWriter; @@ -65,7 +73,7 @@ abstract class Piwik_ArchiveProcessor protected $temporaryArchive; /** - * @var Piwik_DataAccess_LogAggregator + * @var LogAggregator */ protected $logAggregator = null; @@ -105,12 +113,12 @@ abstract class Piwik_ArchiveProcessor } /** - * @return Piwik_DataAccess_LogAggregator + * @return LogAggregator */ public function getLogAggregator() { if (empty($this->logAggregator)) { - $this->logAggregator = new Piwik_DataAccess_LogAggregator($this->getPeriod()->getDateStart(), $this->getPeriod()->getDateEnd(), + $this->logAggregator = new LogAggregator($this->getPeriod()->getDateStart(), $this->getPeriod()->getDateEnd(), $this->getSite(), $this->getSegment()); } return $this->logAggregator; @@ -212,7 +220,7 @@ abstract class Piwik_ArchiveProcessor $period = $this->getPeriod(); $segment = $this->getSegment(); - $idAndVisits = Piwik_DataAccess_ArchiveSelector::getArchiveIdAndVisits($site, $period, $segment, $minDatetimeArchiveProcessedUTC, $requestedPlugin); + $idAndVisits = ArchiveSelector::getArchiveIdAndVisits($site, $period, $segment, $minDatetimeArchiveProcessedUTC, $requestedPlugin); if (!$idAndVisits) { return false; } @@ -257,14 +265,14 @@ abstract class Piwik_ArchiveProcessor protected function doesRequestedPluginIncludeVisitsSummary($requestedPlugin) { - $processAllReportsIncludingVisitsSummary = Piwik_ArchiveProcessor_Rules::shouldProcessReportsAllPlugins($this->getSegment(), $this->getPeriod()->getLabel()); + $processAllReportsIncludingVisitsSummary = Rules::shouldProcessReportsAllPlugins($this->getSegment(), $this->getPeriod()->getLabel()); $doesRequestedPluginIncludeVisitsSummary = $processAllReportsIncludingVisitsSummary || $requestedPlugin == 'VisitsSummary'; return $doesRequestedPluginIncludeVisitsSummary; } protected function computeNewArchive($requestedPlugin, $enforceProcessCoreMetricsOnly) { - $archiveWriter = new Piwik_DataAccess_ArchiveWriter($this->getSite()->getId(), $this->getSegment(), $this->getPeriod(), $requestedPlugin, $this->isArchiveTemporary()); + $archiveWriter = new ArchiveWriter($this->getSite()->getId(), $this->getSegment(), $this->getPeriod(), $requestedPlugin, $this->isArchiveTemporary()); $archiveWriter->initNewArchive(); $this->archiveWriter = $archiveWriter; @@ -286,14 +294,15 @@ abstract class Piwik_ArchiveProcessor $isVisitsToday = $this->getNumberOfVisits() > 0; if ($isVisitsToday - && !$enforceProcessCoreMetricsOnly) { + && !$enforceProcessCoreMetricsOnly + ) { $this->compute(); } $archiveWriter->finalizeArchive(); if ($isVisitsToday && $this->period->getLabel() != 'day') { - Piwik_DataAccess_ArchiveSelector::purgeOutdatedArchives($this->getPeriod()->getDateStart()); + ArchiveSelector::purgeOutdatedArchives($this->getPeriod()->getDateStart()); } return $archiveWriter->getIdArchive(); @@ -317,7 +326,7 @@ abstract class Piwik_ArchiveProcessor return $endDateTimestamp; } // Temporary archive - return Piwik_ArchiveProcessor_Rules::getMinTimeProcessedForTemporaryArchive($this->getDateStart(), $this->getPeriod(), $this->getSegment(), $this->getSite()); + return Rules::getMinTimeProcessedForTemporaryArchive($this->getDateStart(), $this->getPeriod(), $this->getSegment(), $this->getSite()); } public function isArchiveTemporary() @@ -356,7 +365,7 @@ abstract class Piwik_ArchiveProcessor */ abstract protected function compute(); - protected static function determineIfArchivePermanent(Piwik_Date $dateEnd) + protected static function determineIfArchivePermanent(Date $dateEnd) { $now = time(); $endTimestampUTC = strtotime($dateEnd->getDateEndUTC()); @@ -369,7 +378,7 @@ abstract class Piwik_ArchiveProcessor } /** - * @return Piwik_Date + * @return Date */ public function getDateEnd() { @@ -377,7 +386,7 @@ abstract class Piwik_ArchiveProcessor } /** - * @return Piwik_Date + * @return Date */ public function getDateStart() { @@ -429,7 +438,7 @@ abstract class Piwik_ArchiveProcessor */ public function shouldProcessReportsForPlugin($pluginName) { - if (Piwik_ArchiveProcessor_Rules::shouldProcessReportsAllPlugins($this->getSegment(), $this->getPeriod()->getLabel())) { + if (Rules::shouldProcessReportsAllPlugins($this->getSegment(), $this->getPeriod()->getLabel())) { return true; } // If any other segment, only process if the requested report belong to this plugin @@ -437,7 +446,7 @@ abstract class Piwik_ArchiveProcessor if ($pluginBeingProcessed == $pluginName) { return true; } - if (!PluginsManager::getInstance()->isPluginLoaded($pluginBeingProcessed)) { + if (!\Piwik\PluginsManager::getInstance()->isPluginLoaded($pluginBeingProcessed)) { return true; } return false; diff --git a/core/ArchiveProcessor/Day.php b/core/ArchiveProcessor/Day.php index 8d17b34ad2b7591dee0cb31b9267f00e8038bbe7..ba8fbb3ae6b5058dc04fdf183a8c24f8143a82fd 100644 --- a/core/ArchiveProcessor/Day.php +++ b/core/ArchiveProcessor/Day.php @@ -8,19 +8,23 @@ * @category Piwik * @package Piwik */ +namespace Piwik\ArchiveProcessor; use Piwik\Metrics; +use Piwik\ArchiveProcessor; +use Piwik_DataArray; +use Piwik\DataTable; /** * This class * @package Piwik - * @subpackage Piwik_ArchiveProcessor + * @subpackage ArchiveProcessor */ -class Piwik_ArchiveProcessor_Day extends Piwik_ArchiveProcessor +class Day extends ArchiveProcessor { /** * Converts the given array to a datatable * @param Piwik_DataArray $array - * @return Piwik_DataTable + * @return \Piwik\DataTable */ static public function getDataTableFromDataArray(Piwik_DataArray $array) { @@ -31,10 +35,10 @@ class Piwik_ArchiveProcessor_Day extends Piwik_ArchiveProcessor if (!empty($dataArrayTwoLevels)) { $subtableByLabel = array(); foreach ($dataArrayTwoLevels as $label => $subTable) { - $subtableByLabel[$label] = Piwik_DataTable::makeFromIndexedArray($subTable); + $subtableByLabel[$label] = DataTable::makeFromIndexedArray($subTable); } } - return Piwik_DataTable::makeFromIndexedArray($dataArray, $subtableByLabel); + return DataTable::makeFromIndexedArray($dataArray, $subtableByLabel); } /** diff --git a/core/ArchiveProcessor/Period.php b/core/ArchiveProcessor/Period.php index 0350adb0347367e13424a3a9be33dbc6e7d86ea0..6f7085c1a982dfdb0e181f6ab2152f0c3771ba24 100644 --- a/core/ArchiveProcessor/Period.php +++ b/core/ArchiveProcessor/Period.php @@ -8,10 +8,18 @@ * @category Piwik * @package Piwik */ + +namespace Piwik\ArchiveProcessor; + +use Exception; use Piwik\Archive; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Common; +use Piwik\ArchiveProcessor; +use Piwik\DataTable; +use Piwik\DataTable\Map; +use Piwik\DataTable\Manager; /** * This class provides generic methods to archive data for a period (week / month / year). @@ -21,9 +29,9 @@ use Piwik\Common; * Public methods can be called by the plugins that hook on the event 'ArchiveProcessing_Period.compute' * * @package Piwik - * @subpackage Piwik_ArchiveProcessor + * @subpackage ArchiveProcessor */ -class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor +class Period extends ArchiveProcessor { /** * Array of (column name before => column name renamed) of the columns for which sum operation is invalid. @@ -58,7 +66,7 @@ class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor * @param int $maximumRowsInDataTableLevelZero Max row count of parent datatable to archive * @param int $maximumRowsInSubDataTable Max row count of children datatable(s) to archive * @param string $columnToSortByBeforeTruncation Column name to sort by, before truncating rows (ie. if there are more rows than the specified max row count) - * @param array $columnAggregationOperations Operations for aggregating columns, @see Piwik_DataTable_Row::sumRow() + * @param array $columnAggregationOperations Operations for aggregating columns, @see Row::sumRow() * @param array $invalidSummedColumnNameToRenamedName (current_column_name => new_column_name) for columns that must change names when summed * (eg. unique visitors go from nb_uniq_visitors to sum_daily_nb_uniq_visitors) * @@ -75,7 +83,7 @@ class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor $invalidSummedColumnNameToRenamedName = null) { // We clean up below all tables created during this function call (and recursive calls) - $latestUsedTableId = Piwik_DataTable_Manager::getInstance()->getMostRecentTableId(); + $latestUsedTableId = Manager::getInstance()->getMostRecentTableId(); if (!is_array($recordNames)) { $recordNames = array($recordNames); } @@ -91,7 +99,7 @@ class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor Common::destroy($table); $this->insertBlobRecord($recordName, $blob); } - Piwik_DataTable_Manager::getInstance()->deleteAll($latestUsedTableId); + Manager::getInstance()->deleteAll($latestUsedTableId); return $nameToCount; } @@ -147,18 +155,18 @@ class Piwik_ArchiveProcessor_Period extends Piwik_ArchiveProcessor * * @param string $name * @param array $invalidSummedColumnNameToRenamedName columns in the array (old name, new name) to be renamed as the sum operation is not valid on them (eg. nb_uniq_visitors->sum_daily_nb_uniq_visitors) - * @param array $columnAggregationOperations Operations for aggregating columns, @see Piwik_DataTable_Row::sumRow() - * @return Piwik_DataTable + * @param array $columnAggregationOperations Operations for aggregating columns, @see Row::sumRow() + * @return DataTable */ protected function getRecordDataTableSum($name, $invalidSummedColumnNameToRenamedName, $columnAggregationOperations = null) { - $table = new Piwik_DataTable(); + $table = new DataTable(); if (!empty($columnAggregationOperations)) { $table->setColumnAggregationOperations($columnAggregationOperations); } $data = $this->archiver->getDataTableExpanded($name, $idSubTable = null, $addMetadataSubtableId = false); - if ($data instanceof Piwik_DataTable_Array) { + if ($data instanceof DataTable\Map) { foreach ($data->getArray() as $date => $tableToSum) { $table->addDataTable($tableToSum); } diff --git a/core/ArchiveProcessor/Rules.php b/core/ArchiveProcessor/Rules.php index de856f470b3b4de17e77590447afc643c7c8dd9b..d58c7e5fb3b3b91271306bb9e62be1e834722901 100644 --- a/core/ArchiveProcessor/Rules.php +++ b/core/ArchiveProcessor/Rules.php @@ -8,17 +8,21 @@ * @category Piwik * @package Piwik */ +namespace Piwik\ArchiveProcessor; + +use Exception; use Piwik\Config; -use Piwik\Period; use Piwik\Piwik; use Piwik\Common; use Piwik\Segment; use Piwik\Site; +use Piwik\Date; +use Piwik_Tracker_Cache; /** * This class contains Archiving rules/logic which are used in several places */ -class Piwik_ArchiveProcessor_Rules +class Rules { const OPTION_TODAY_ARCHIVE_TTL = 'todayArchiveTimeToLive'; @@ -98,10 +102,10 @@ class Piwik_ArchiveProcessor_Rules * Given a monthly archive table, will delete all reports that are now outdated, * or reports that ended with an error * - * @param Piwik_Date $date + * @param \Piwik\Date $date * @return int|bool False, or timestamp indicating which archives to delete */ - public static function shouldPurgeOutdatedArchives(Piwik_Date $date) + public static function shouldPurgeOutdatedArchives(Date $date) { if (self::$purgeDisabledByTests) { return false; @@ -128,10 +132,10 @@ class Piwik_ArchiveProcessor_Rules if (self::isBrowserTriggerEnabled()) { // If Browser Archiving is enabled, it is likely there are many more temporary archives // We delete more often which is safe, since reports are re-processed on demand - $purgeArchivesOlderThan = Piwik_Date::factory(time() - 2 * $temporaryArchivingTimeout)->getDateTime(); + $purgeArchivesOlderThan = Date::factory(time() - 2 * $temporaryArchivingTimeout)->getDateTime(); } else { // If archive.php via Cron is building the reports, we should keep all temporary reports from today - $purgeArchivesOlderThan = Piwik_Date::factory('today')->getDateTime(); + $purgeArchivesOlderThan = Date::factory('today')->getDateTime(); } return $purgeArchivesOlderThan; } @@ -140,12 +144,12 @@ class Piwik_ArchiveProcessor_Rules return false; } - public static function getMinTimeProcessedForTemporaryArchive(Piwik_Date $dateStart, Period $period, Segment $segment, Site $site) + public static function getMinTimeProcessedForTemporaryArchive(Date $dateStart, \Piwik\Period $period, Segment $segment, Site $site) { $now = time(); - $minimumArchiveTime = $now - Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $minimumArchiveTime = $now - Rules::getTodayArchiveTimeToLive(); - $isArchivingDisabled = Piwik_ArchiveProcessor_Rules::isArchivingDisabledFor($segment, $period->getLabel()); + $isArchivingDisabled = Rules::isArchivingDisabledFor($segment, $period->getLabel()); if ($isArchivingDisabled) { if ($period->getNumberOfSubperiods() == 0 && $dateStart->getTimestamp() <= $now @@ -156,7 +160,7 @@ class Piwik_ArchiveProcessor_Rules // This week, this month, this year: // accept any archive that was processed today after 00:00:01 this morning $timezone = $site->getTimezone(); - $minimumArchiveTime = Piwik_Date::factory(Piwik_Date::factory('now', $timezone)->getDateStartUTC())->setTimezone($timezone)->getTimestamp(); + $minimumArchiveTime = Date::factory(Date::factory('now', $timezone)->getDateStartUTC())->setTimezone($timezone)->getTimestamp(); } } return $minimumArchiveTime; @@ -207,7 +211,7 @@ class Piwik_ArchiveProcessor_Rules protected static function isRequestAuthorizedToArchive() { return !self::$archivingDisabledByTests && - (Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled() + (Rules::isBrowserTriggerEnabled() || Common::isPhpCliMode() || (Piwik::isUserIsSuperUser() && Common::isArchivePhpTriggered())); diff --git a/core/AssetManager.php b/core/AssetManager.php index f82f691c20aab849d5dea815a24f59855e78d1fd..f175bc5c41fa3fc9ecd92023f652b853fd1e03ff 100644 --- a/core/AssetManager.php +++ b/core/AssetManager.php @@ -81,7 +81,7 @@ class Piwik_AssetManager */ public static function generateAssetsCacheBuster() { - $pluginList = md5(implode(",", PluginsManager::getInstance()->getLoadedPluginsName())); + $pluginList = md5(implode(",", \Piwik\PluginsManager::getInstance()->getLoadedPluginsName())); $cacheBuster = md5(Common::getSalt() . $pluginList . PHP_VERSION . Piwik_Version::VERSION); return $cacheBuster; } diff --git a/core/Common.php b/core/Common.php index c7ed91eacdb34f3232549e079c61399534b2e81a..da6e8892b5667e02f1115e904c9636f38e095e32 100644 --- a/core/Common.php +++ b/core/Common.php @@ -105,7 +105,7 @@ class Common */ public static function isGoalPluginEnabled() { - return PluginsManager::getInstance()->isPluginActivated('Goals'); + return \Piwik\PluginsManager::getInstance()->isPluginActivated('Goals'); } /* diff --git a/core/Controller.php b/core/Controller.php index 646b1552b1a69f342bb0f8a3558bc8a3f0f509ca..0d6aa3ec641249d8639360422f02166868173bea 100644 --- a/core/Controller.php +++ b/core/Controller.php @@ -9,11 +9,14 @@ * @package Piwik */ use Piwik\Config; +use Piwik\DataTable\Filter\CalculateEvolutionFilter; use Piwik\Period; -use Piwik\Period_Range; +use Piwik\Period\Month; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; use Piwik\Access; +use Piwik\Date; use Piwik\Site; @@ -39,9 +42,9 @@ abstract class Piwik_Controller protected $strDate; /** - * Piwik_Date object or null if the requested date is a range + * Date object or null if the requested date is a range * - * @var Piwik_Date|null + * @var Date|null */ protected $date; @@ -85,7 +88,7 @@ abstract class Piwik_Controller * * @param string $date today, yesterday, YYYY-MM-DD * @param string $defaultTimezone default timezone to use - * @return Piwik_Date + * @return Date */ protected function getDateParameterInTimezone($date, $defaultTimezone) { @@ -103,17 +106,17 @@ abstract class Piwik_Controller } $timezone = $defaultTimezone; } - return Piwik_Date::factory($date, $timezone); + return Date::factory($date, $timezone); } /** * Sets the date to be used by all other methods in the controller. * If the date has to be modified, it should be called just after the controller construct * - * @param Piwik_Date $date + * @param Date $date * @return void */ - protected function setDate(Piwik_Date $date) + protected function setDate(Date $date) { $this->date = $date; $strDate = $this->date->toString(); @@ -299,8 +302,8 @@ abstract class Piwik_Controller */ public static function getDateRangeRelativeToEndDate($period, $lastN, $endDate, $site) { - $last30Relative = new Period_Range($period, $lastN, $site->getTimezone()); - $last30Relative->setDefaultEndDate(Piwik_Date::factory($endDate)); + $last30Relative = new Range($period, $lastN, $site->getTimezone()); + $last30Relative->setDefaultEndDate(Date::factory($endDate)); $date = $last30Relative->getDateStart()->toString() . "," . $last30Relative->getDateEnd()->toString(); return $date; } @@ -355,11 +358,11 @@ abstract class Piwik_Controller /** * Sets the first date available in the calendar * - * @param Piwik_Date $minDate + * @param Date $minDate * @param Piwik_View $view * @return void */ - protected function setMinDateView(Piwik_Date $minDate, $view) + protected function setMinDateView(Date $minDate, $view) { $view->minDateYear = $minDate->toString('Y'); $view->minDateMonth = $minDate->toString('m'); @@ -369,11 +372,11 @@ abstract class Piwik_Controller /** * Sets "today" in the calendar. Today does not always mean "UTC" today, eg. for websites in UTC+12. * - * @param Piwik_Date $maxDate + * @param Date $maxDate * @param Piwik_View $view * @return void */ - protected function setMaxDateView(Piwik_Date $maxDate, $view) + protected function setMaxDateView(Date $maxDate, $view) { $view->maxDateYear = $maxDate->toString('Y'); $view->maxDateMonth = $maxDate->toString('m'); @@ -404,10 +407,10 @@ abstract class Piwik_Controller $rawDate = Common::getRequestVar('date'); $periodStr = Common::getRequestVar('period'); if ($periodStr != 'range') { - $date = Piwik_Date::factory($this->strDate); + $date = Date::factory($this->strDate); $period = Period::factory($periodStr, $date); } else { - $period = new Period_Range($periodStr, $rawDate, $this->site->getTimezone()); + $period = new Range($periodStr, $rawDate, $this->site->getTimezone()); } $view->rawDate = $rawDate; $view->prettyDate = self::getCalendarPrettyDate($period); @@ -416,10 +419,10 @@ abstract class Piwik_Controller $view->siteMainUrl = $this->site->getMainUrl(); $datetimeMinDate = $this->site->getCreationDate()->getDatetime(); - $minDate = Piwik_Date::factory($datetimeMinDate, $this->site->getTimezone()); + $minDate = Date::factory($datetimeMinDate, $this->site->getTimezone()); $this->setMinDateView($minDate, $view); - $maxDate = Piwik_Date::factory('now', $this->site->getTimezone()); + $maxDate = Date::factory('now', $this->site->getTimezone()); $this->setMaxDateView($maxDate, $view); // Setting current period start & end dates, for pre-setting the calendar when "Date Range" is selected @@ -768,7 +771,7 @@ abstract class Piwik_Controller */ public static function getCalendarPrettyDate($period) { - if ($period instanceof Piwik_Period_Month) // show month name when period is for a month + if ($period instanceof Month) // show month name when period is for a month { return $period->getLocalizedLongString(); } else { @@ -786,7 +789,7 @@ abstract class Piwik_Controller */ public static function getPrettyDate($date, $period) { - return self::getCalendarPrettyDate(Period::factory($period, Piwik_Date::factory($date))); + return self::getCalendarPrettyDate(Period::factory($period, Date::factory($date))); } @@ -805,7 +808,7 @@ abstract class Piwik_Controller */ protected function getEvolutionHtml($date, $currentValue, $pastDate, $pastValue) { - $evolutionPercent = Piwik_DataTable_Filter_CalculateEvolutionFilter::calculate( + $evolutionPercent = CalculateEvolutionFilter::calculate( $currentValue, $pastValue, $precision = 1); // do not display evolution if evolution percent is 0 and current value is 0 diff --git a/core/Controller/Admin.php b/core/Controller/Admin.php index dd98dbc835429117035248688bbb6737a94f2de3..a6c58b46a6a9339f1aea905c13acf0c4adc4b490 100644 --- a/core/Controller/Admin.php +++ b/core/Controller/Admin.php @@ -54,10 +54,10 @@ abstract class Piwik_Controller_Admin extends Piwik_Controller $view->isSuperUser = Piwik::isUserIsSuperUser(); // for old geoip plugin warning - $view->usingOldGeoIPPlugin = PluginsManager::getInstance()->isPluginActivated('GeoIP'); + $view->usingOldGeoIPPlugin = \Piwik\PluginsManager::getInstance()->isPluginActivated('GeoIP'); // for cannot find installed plugin warning - $missingPlugins = PluginsManager::getInstance()->getMissingPlugins(); + $missingPlugins = \Piwik\PluginsManager::getInstance()->getMissingPlugins(); if (!empty($missingPlugins)) { $pluginsLink = Piwik_Url::getCurrentQueryStringWithParametersModified(array( 'module' => 'CorePluginsAdmin', 'action' => 'index' diff --git a/core/DataAccess/ArchiveSelector.php b/core/DataAccess/ArchiveSelector.php index 5c7abde8c6880e3e92808e5736e566031ec7b63a..8ed467ba9004ac3843fb75d79589590e426efa77 100644 --- a/core/DataAccess/ArchiveSelector.php +++ b/core/DataAccess/ArchiveSelector.php @@ -8,12 +8,19 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataAccess; + +use Exception; +use Piwik\ArchiveProcessor\Rules; use Piwik\Period; -use Piwik\Period_Range; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\ArchiveProcessor; use Piwik\Segment; use Piwik\Site; +use Piwik\DataAccess\ArchiveTableCreator; /** * Data Access object used to query archives @@ -29,7 +36,7 @@ use Piwik\Site; * - value = the actual data (a numeric value, or a blob of compressed serialized data) * */ -class Piwik_DataAccess_ArchiveSelector +class ArchiveSelector { const NB_VISITS_RECORD_LOOKED_UP = "nb_visits"; @@ -47,7 +54,7 @@ class Piwik_DataAccess_ArchiveSelector $timeStampWhere = ''; if ($minDatetimeArchiveProcessedUTC) { $timeStampWhere = " AND ts_archived >= ? "; - $bindSQL[] = Piwik_Date::factory($minDatetimeArchiveProcessedUTC)->getDatetime(); + $bindSQL[] = Date::factory($minDatetimeArchiveProcessedUTC)->getDatetime(); } $pluginOrVisitsSummary = array("VisitsSummary", $requestedPlugin); @@ -55,7 +62,7 @@ class Piwik_DataAccess_ArchiveSelector $sqlWhereArchiveName = self::getNameCondition($pluginOrVisitsSummary, $segment); $sqlQuery = " SELECT idarchive, value, name, date1 as startDate - FROM " . Piwik_DataAccess_ArchiveTableCreator::getNumericTable($dateStart) . "`` + FROM " . ArchiveTableCreator::getNumericTable($dateStart) . "`` WHERE idsite = ? AND date1 = ? AND date2 = ? @@ -112,7 +119,7 @@ class Piwik_DataAccess_ArchiveSelector protected static function getMostRecentIdArchiveFromResults(Segment $segment, $requestedPlugin, $results) { $idArchive = false; - $namesRequestedPlugin = Piwik_ArchiveProcessor_Rules::getDoneFlags(array($requestedPlugin), $segment); + $namesRequestedPlugin = Rules::getDoneFlags(array($requestedPlugin), $segment); foreach ($results as $result) { if ($idArchive === false && in_array($result['name'], $namesRequestedPlugin) @@ -151,7 +158,7 @@ class Piwik_DataAccess_ArchiveSelector $monthToPeriods = array(); foreach ($periods as $period) { /** @var Period $period */ - $table = Piwik_DataAccess_ArchiveTableCreator::getNumericTable($period->getDateStart()); + $table = ArchiveTableCreator::getNumericTable($period->getDateStart()); $monthToPeriods[$table][] = $period; } @@ -162,7 +169,7 @@ class Piwik_DataAccess_ArchiveSelector // if looking for a range archive. NOTE: we assume there's only one period if its a range. $bind = array($firstPeriod->getId()); - if ($firstPeriod instanceof Period_Range) { + if ($firstPeriod instanceof Range) { $dateCondition = "date1 = ? AND date2 = ?"; $bind[] = $firstPeriod->getDateStart()->toString('Y-m-d'); $bind[] = $firstPeriod->getDateEnd()->toString('Y-m-d'); @@ -232,11 +239,11 @@ class Piwik_DataAccess_ArchiveSelector throw new Exception("Unexpected: id archive not found for period '$period' '"); } // $period = "2009-01-04,2009-01-04", - $date = Piwik_Date::factory(substr($period, 0, 10)); + $date = Date::factory(substr($period, 0, 10)); if ($archiveDataType == 'numeric') { - $table = Piwik_DataAccess_ArchiveTableCreator::getNumericTable($date); + $table = ArchiveTableCreator::getNumericTable($date); } else { - $table = Piwik_DataAccess_ArchiveTableCreator::getBlobTable($date); + $table = ArchiveTableCreator::getBlobTable($date); } $sql = sprintf($getValuesSql, $table, implode(',', $ids)); $dataRows = Piwik_FetchAll($sql, $bind); @@ -260,20 +267,20 @@ class Piwik_DataAccess_ArchiveSelector { // the flags used to tell how the archiving process for a specific archive was completed, // if it was completed - $doneFlags = Piwik_ArchiveProcessor_Rules::getDoneFlags($plugins, $segment); + $doneFlags = Rules::getDoneFlags($plugins, $segment); $allDoneFlags = "'" . implode("','", $doneFlags) . "'"; // create the SQL to find archives that are DONE return "(name IN ($allDoneFlags)) AND " . - " (value = '" . Piwik_ArchiveProcessor::DONE_OK . "' OR " . - " value = '" . Piwik_ArchiveProcessor::DONE_OK_TEMPORARY . "')"; + " (value = '" . ArchiveProcessor::DONE_OK . "' OR " . + " value = '" . ArchiveProcessor::DONE_OK_TEMPORARY . "')"; } - static public function purgeOutdatedArchives(Piwik_Date $dateStart) + static public function purgeOutdatedArchives(Date $dateStart) { - $purgeArchivesOlderThan = Piwik_ArchiveProcessor_Rules::shouldPurgeOutdatedArchives($dateStart); + $purgeArchivesOlderThan = Rules::shouldPurgeOutdatedArchives($dateStart); if (!$purgeArchivesOlderThan) { return; } @@ -285,48 +292,48 @@ class Piwik_DataAccess_ArchiveSelector self::deleteArchivesWithPeriodRange($dateStart); Piwik::log("Purging temporary archives: done [ purged archives older than $purgeArchivesOlderThan in " - . $dateStart->toString("Y-m") ." ] [Deleted IDs: " . implode (',', $idArchivesToDelete) . "]"); + . $dateStart->toString("Y-m") . " ] [Deleted IDs: " . implode(',', $idArchivesToDelete) . "]"); } /* * Deleting "Custom Date Range" reports after 1 day, since they can be re-processed and would take up un-necessary space */ - protected static function deleteArchivesWithPeriodRange(Piwik_Date $date) + protected static function deleteArchivesWithPeriodRange(Date $date) { $query = "DELETE FROM %s WHERE period = ? AND ts_archived < ?"; - $yesterday = Piwik_Date::factory('yesterday')->getDateTime(); + $yesterday = Date::factory('yesterday')->getDateTime(); $bind = array(Piwik::$idPeriods['range'], $yesterday); - $numericTable = Piwik_DataAccess_ArchiveTableCreator::getNumericTable($date); + $numericTable = ArchiveTableCreator::getNumericTable($date); Piwik_Query(sprintf($query, $numericTable), $bind); Piwik::log("Purging Custom Range archives: done [ purged archives older than $yesterday from $numericTable / blob ]"); try { - Piwik_Query(sprintf($query, Piwik_DataAccess_ArchiveTableCreator::getBlobTable($date)), $bind); + Piwik_Query(sprintf($query, ArchiveTableCreator::getBlobTable($date)), $bind); } catch (Exception $e) { // Individual blob tables could be missing } } - protected static function deleteArchiveIds(Piwik_Date $date, $idArchivesToDelete) + protected static function deleteArchiveIds(Date $date, $idArchivesToDelete) { $query = "DELETE FROM %s WHERE idarchive IN (" . implode(',', $idArchivesToDelete) . ")"; - Piwik_Query(sprintf($query, Piwik_DataAccess_ArchiveTableCreator::getNumericTable($date))); + Piwik_Query(sprintf($query, ArchiveTableCreator::getNumericTable($date))); try { - Piwik_Query(sprintf($query, Piwik_DataAccess_ArchiveTableCreator::getBlobTable($date))); + Piwik_Query(sprintf($query, ArchiveTableCreator::getBlobTable($date))); } catch (Exception $e) { // Individual blob tables could be missing } } - protected static function getTemporaryArchiveIdsOlderThan(Piwik_Date $date, $purgeArchivesOlderThan) + protected static function getTemporaryArchiveIdsOlderThan(Date $date, $purgeArchivesOlderThan) { $query = "SELECT idarchive - FROM ". Piwik_DataAccess_ArchiveTableCreator::getNumericTable($date) ." + FROM " . ArchiveTableCreator::getNumericTable($date) . " WHERE name LIKE 'done%' - AND (( value = " . Piwik_ArchiveProcessor::DONE_OK_TEMPORARY . " + AND (( value = " . ArchiveProcessor::DONE_OK_TEMPORARY . " AND ts_archived < ?) - OR value = " . Piwik_ArchiveProcessor::DONE_ERROR . ")"; + OR value = " . ArchiveProcessor::DONE_ERROR . ")"; $result = Piwik_FetchAll($query, array($purgeArchivesOlderThan)); $idArchivesToDelete = array(); diff --git a/core/DataAccess/ArchiveTableCreator.php b/core/DataAccess/ArchiveTableCreator.php index d36206d1fee57856a0e3c2d324b1f5a670253c42..9b2fb6797dfb4bcaa297e2d2f3ab8441b313887f 100644 --- a/core/DataAccess/ArchiveTableCreator.php +++ b/core/DataAccess/ArchiveTableCreator.php @@ -1,6 +1,11 @@ <?php +namespace Piwik\DataAccess; + +use Exception; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Zend_Registry; /** * Piwik - Open source web analytics @@ -12,7 +17,7 @@ use Piwik\Common; * @package Piwik */ -class Piwik_DataAccess_ArchiveTableCreator +class ArchiveTableCreator { const NUMERIC_TABLE = "numeric"; @@ -20,17 +25,17 @@ class Piwik_DataAccess_ArchiveTableCreator static public $tablesAlreadyInstalled = null; - static public function getNumericTable(Piwik_Date $date) + static public function getNumericTable(Date $date) { return self::getTable($date, self::NUMERIC_TABLE); } - static public function getBlobTable(Piwik_Date $date) + static public function getBlobTable(Date $date) { return self::getTable($date, self::BLOB_TABLE); } - static protected function getTable(Piwik_Date $date, $type) + static protected function getTable(Date $date, $type) { $tableNamePrefix = "archive_" . $type; $tableName = $tableNamePrefix . "_" . $date->toString('Y_m'); @@ -68,6 +73,7 @@ class Piwik_DataAccess_ArchiveTableCreator { self::$tablesAlreadyInstalled = null; } + static public function refreshTableList($forceReload = false) { self::$tablesAlreadyInstalled = Piwik::getTablesInstalled($forceReload); @@ -87,7 +93,8 @@ class Piwik_DataAccess_ArchiveTableCreator $archiveTables = array(); foreach (self::$tablesAlreadyInstalled as $table) { if (strpos($table, 'archive_numeric_') !== false - || strpos($table, 'archive_blob_') !== false ) { + || strpos($table, 'archive_blob_') !== false + ) { $archiveTables[] = $table; } } @@ -103,13 +110,12 @@ class Piwik_DataAccess_ArchiveTableCreator static public function getTypeFromTableName($tableName) { - if(strpos($tableName, 'archive_numeric_') !== false) { + if (strpos($tableName, 'archive_numeric_') !== false) { return self::NUMERIC_TABLE; } - if(strpos($tableName, 'archive_blob_') !== false) { + if (strpos($tableName, 'archive_blob_') !== false) { return self::BLOB_TABLE; } return false; } - } \ No newline at end of file diff --git a/core/DataAccess/ArchiveWriter.php b/core/DataAccess/ArchiveWriter.php index 2c7841a19ce3c624ba9c3f9f92c6949761b869d3..ef04212b7481755567235029148d7b18e7cabf46 100644 --- a/core/DataAccess/ArchiveWriter.php +++ b/core/DataAccess/ArchiveWriter.php @@ -8,18 +8,25 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataAccess; + +use Exception; +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; +use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Period; use Piwik\Piwik; use Piwik\Common; +use Piwik\ArchiveProcessor; use Piwik\Segment; +use Zend_Registry; /** * This class is used to create a new Archive. * An Archive is a set of reports (numeric and data tables). * New data can be inserted in the archive with insertRecord/insertBulkRecords */ -class Piwik_DataAccess_ArchiveWriter +class ArchiveWriter { const PREFIX_SQL_LOCK = "locked_"; @@ -38,7 +45,7 @@ class Piwik_DataAccess_ArchiveWriter $this->idSite = $idSite; $this->segment = $segment; $this->period = $period; - $this->doneFlag = Piwik_ArchiveProcessor_Rules::getDoneStringFlagFor($segment, $period->getLabel(), $requestedPlugin); + $this->doneFlag = Rules::getDoneStringFlagFor($segment, $period->getLabel(), $requestedPlugin); $this->isArchiveTemporary = $isArchiveTemporary; $this->dateStart = $this->period->getDateStart(); @@ -106,7 +113,7 @@ class Piwik_DataAccess_ArchiveWriter protected function logArchiveStatusAsIncomplete() { - $statusWhileProcessing = Piwik_ArchiveProcessor::DONE_ERROR; + $statusWhileProcessing = ArchiveProcessor::DONE_ERROR; $this->insertRecord($this->doneFlag, $statusWhileProcessing); } @@ -148,9 +155,9 @@ class Piwik_DataAccess_ArchiveWriter protected function logArchiveStatusAsFinal() { - $status = Piwik_ArchiveProcessor::DONE_OK; + $status = ArchiveProcessor::DONE_OK; if ($this->isArchiveTemporary) { - $status = Piwik_ArchiveProcessor::DONE_OK_TEMPORARY; + $status = ArchiveProcessor::DONE_OK_TEMPORARY; } $this->insertRecord($this->doneFlag, $status); } @@ -236,12 +243,12 @@ class Piwik_DataAccess_ArchiveWriter if (is_numeric($value)) { return $this->getTableNumeric(); } - return Piwik_DataAccess_ArchiveTableCreator::getBlobTable($this->dateStart); + return ArchiveTableCreator::getBlobTable($this->dateStart); } protected function getTableNumeric() { - return Piwik_DataAccess_ArchiveTableCreator::getNumericTable($this->dateStart); + return ArchiveTableCreator::getNumericTable($this->dateStart); } protected function getInsertFields() diff --git a/core/DataAccess/LogAggregator.php b/core/DataAccess/LogAggregator.php index e21ff15b5e5bd0c58aad7b3461308182358b25ea..72e94e8b70a377ce1adf53b94c670315ceee35f9 100644 --- a/core/DataAccess/LogAggregator.php +++ b/core/DataAccess/LogAggregator.php @@ -8,16 +8,23 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataAccess; + +use PDOStatement; use Piwik\Common; use Piwik\Metrics; +use Piwik\Date; use Piwik\Segment; use Piwik\Site; +use Piwik_RankingQuery; +use Piwik_Tracker_GoalManager; +use Zend_Registry; /** * This class queries the Visitor logs tables (visits, actions, conversions, ecommerce) * and returns aggregate data. */ -class Piwik_DataAccess_LogAggregator +class LogAggregator { const LOG_VISIT_TABLE = 'log_visit'; @@ -47,10 +54,10 @@ class Piwik_DataAccess_LogAggregator const FIELDS_SEPARATOR = ", \n\t\t\t"; - /** @var \Piwik_Date */ + /** @var \Piwik\Date */ protected $dateStart; - /** @var \Piwik_Date */ + /** @var \Piwik\Date */ protected $dateEnd; /** @var \Piwik\Site */ @@ -59,7 +66,7 @@ class Piwik_DataAccess_LogAggregator /** @var \Piwik\Segment */ protected $segment; - public function __construct(Piwik_Date $dateStart, Piwik_Date $dateEnd, Site $site, Segment $segment) + public function __construct(Date $dateStart, Date $dateEnd, Site $site, Segment $segment) { $this->dateStart = $dateStart; $this->dateEnd = $dateEnd; @@ -241,10 +248,10 @@ class Piwik_DataAccess_LogAggregator } return $dimensions; } - + /** * Prefixes a column name with a table name if not already done. - * + * * @param string $column eg, 'location_provider' * @param string $tableName eg, 'log_visit' * @return string eg, 'log_visit.location_provider' diff --git a/core/DataTable.php b/core/DataTable.php index c92935868c55a69507b7a6cb80358568cf382fd1..a1dd872ec54c1070121f6f31e6189d22c25015a2 100644 --- a/core/DataTable.php +++ b/core/DataTable.php @@ -9,7 +9,17 @@ * @package Piwik */ +namespace Piwik; + +use Closure; +use Exception; use Piwik\Common; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Renderer\Html; +use Piwik\DataTable\Row; +use Piwik\DataTable\Filter; +use Piwik\DataTable\Row\DataTableSummaryRow; +use ReflectionClass; /** * @see Common::destroy() @@ -21,7 +31,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; * ---- DataTable * A DataTable is a data structure used to store complex tables of data. * - * A DataTable is composed of multiple DataTable_Row. + * A DataTable is composed of multiple DataTable\Row. * A DataTable can be applied one or several DataTable_Filter. * A DataTable can be given to a DataTable_Renderer that would export the data under a given format (XML, HTML, etc.). * @@ -31,7 +41,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; * - efficient way of loading data from an external source (from a PHP array structure) * - very simple interface to get data from the table * - * ---- DataTable_Row + * ---- DataTable\Row * A DataTableRow in the table is defined by * - multiple columns (a label, multiple values, ...) * - optional metadata @@ -45,7 +55,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; * - metadata = array('logo' => '/plugins/UserSettings/images/browsers/FF.gif') * - no sub DataTable * - * A more complex example would be a DataTable_Row that is associated to a sub DataTable. + * A more complex example would be a DataTable\Row that is associated to a sub DataTable. * For example, for the row of the search engine Google, * we want to get the list of keywords associated, with their statistics. * - columns = array( 'label' => 'Google', @@ -54,8 +64,8 @@ require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; * 'returning_visits' => 77) * - metadata = array( 'logo' => '/plugins/Referers/images/searchEngines/google.com.png', * 'url' => 'http://google.com') - * - DataTable = DataTable containing several DataTable_Row containing the keywords information for this search engine - * Example of one DataTable_Row + * - DataTable = DataTable containing several DataTable\Row containing the keywords information for this search engine + * Example of one DataTable\Row * - the keyword columns specific to this search engine = * array( 'label' => 'Piwik', // the keyword * 'visitors' => 155, // Piwik has been searched on Google by 155 visitors @@ -67,7 +77,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; * * ---- DataTable_Filter * A DataTable_Filter is a applied to a DataTable and so - * can filter information in the multiple DataTable_Row. + * can filter information in the multiple DataTable\Row. * * For example a DataTable_Filter can: * - remove rows from the table, @@ -132,12 +142,12 @@ require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; * [ keyword2, +1000% ] * [ keyword3, -430% ] * - * @see Piwik_DataTable_Row A Piwik_DataTable is composed of Piwik_DataTable_Row + * @see Piwik_DataTable\Row A DataTable is composed of Piwik_DataTable\Row * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable +class DataTable { /** Name for metadata that describes when a report was archived. */ const ARCHIVED_DATE_METADATA_NAME = 'archived_date'; @@ -151,9 +161,9 @@ class Piwik_DataTable private static $maximumDepthLevelAllowed = self::MAX_DEPTH_DEFAULT; /** - * Array of Piwik_DataTable_Row + * Array of Row * - * @var Piwik_DataTable_Row[] + * @var Row[] */ protected $rows = array(); @@ -197,7 +207,7 @@ class Piwik_DataTable protected $tableSortedBy = false; /** - * List of Piwik_DataTable_Filter queued to this table + * List of Filter queued to this table * * @var array */ @@ -230,7 +240,7 @@ class Piwik_DataTable protected $rowsIndexByLabel = array(); /** - * @var Piwik_DataTable_Row + * @var \Piwik\DataTable\Row */ protected $summaryRow = null; @@ -251,7 +261,7 @@ class Piwik_DataTable /** * The operations that should be used when aggregating columns from multiple rows. - * @see self::addDataTable() and Piwik_DataTable_Row::sumRow() + * @see self::addDataTable() and Piwik_DataTable\Row::sumRow() */ protected $columnAggregationOperations = array(); @@ -264,7 +274,7 @@ class Piwik_DataTable */ public function __construct() { - $this->currentId = Piwik_DataTable_Manager::getInstance()->addTable($this); + $this->currentId = Manager::getInstance()->addTable($this); } /** @@ -282,7 +292,7 @@ class Piwik_DataTable Common::destroy($row); } unset($this->rows); - Piwik_DataTable_Manager::getInstance()->setTableDeleted($this->getId()); + Manager::getInstance()->setTableDeleted($this->getId()); $depth--; } } @@ -302,7 +312,7 @@ class Piwik_DataTable if ($this->enableRecursiveSort === true) { foreach ($this->getRows() as $row) { if (($idSubtable = $row->getIdSubDataTable()) !== null) { - $table = Piwik_DataTable_Manager::getInstance()->getTable($idSubtable); + $table = Manager::getInstance()->getTable($idSubtable); $table->enableRecursiveSort(); $table->sort($functionCallback, $columnSortedBy); } @@ -363,7 +373,7 @@ class Piwik_DataTable /** * Apply a filter to this datatable * - * @param string|Closure $className Class name, eg. "Sort" or "Piwik_DataTable_Filter_Sort". + * @param string|Closure $className Class name, eg. "Sort" or "Sort". * If this variable is a closure, it will get executed immediately. * @param array $parameters Array of parameters to the filter, eg. array('nb_visits', 'asc') */ @@ -374,8 +384,8 @@ class Piwik_DataTable return; } - if (!class_exists($className, false)) { - $className = "Piwik_DataTable_Filter_" . $className; + if (!class_exists($className, true)) { + $className = 'Piwik\DataTable\Filter\\' . $className; } $reflectionObj = new ReflectionClass($className); @@ -394,8 +404,8 @@ class Piwik_DataTable * Queue a DataTable_Filter that will be applied when applyQueuedFilters() is called. * (just before sending the datatable back to the browser (or API, etc.) * - * @param string $className The class name of the filter, eg. Piwik_DataTable_Filter_Limit - * @param array $parameters The parameters to give to the filter, eg. array( $offset, $limit) for the filter Piwik_DataTable_Filter_Limit + * @param string $className The class name of the filter, eg. Limit + * @param array $parameters The parameters to give to the filter, eg. array( $offset, $limit) for the filter Limit */ public function queueFilter($className, $parameters = array()) { @@ -428,9 +438,9 @@ class Piwik_DataTable * * @example tests/core/DataTable.test.php * - * @param Piwik_DataTable $tableToSum + * @param \Piwik\DataTable $tableToSum */ - public function addDataTable(Piwik_DataTable $tableToSum) + public function addDataTable(DataTable $tableToSum) { foreach ($tableToSum->getRows() as $row) { $labelToLookFor = $row->getColumn('label'); @@ -449,7 +459,7 @@ class Piwik_DataTable // if the row has the subtable already // then we have to recursively sum the subtables if (($idSubTable = $row->getIdSubDataTable()) !== null) { - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable); + $subTable = Manager::getInstance()->getTable($idSubTable); $subTable->setColumnAggregationOperations($this->columnAggregationOperations); $rowFound->sumSubtable($subTable); } @@ -458,15 +468,15 @@ class Piwik_DataTable } /** - * Returns the Piwik_DataTable_Row that has a column 'label' with the value $label + * Returns the Row that has a column 'label' with the value $label * * @param string $label Value of the column 'label' of the row to return - * @return Piwik_DataTable_Row|false The row if found, false otherwise + * @return \Piwik\DataTable\Row|false The row if found, false otherwise */ public function getRowFromLabel($label) { $rowId = $this->getRowIdFromLabel($label); - if ($rowId instanceof Piwik_DataTable_Row) { + if ($rowId instanceof Row) { return $rowId; } if (is_int($rowId) && isset($this->rows[$rowId])) { @@ -506,11 +516,11 @@ class Piwik_DataTable * * @param bool $keepFilters * - * @return Piwik_DataTable + * @return \Piwik\DataTable */ public function getEmptyClone($keepFilters = true) { - $clone = new Piwik_DataTable; + $clone = new DataTable; if ($keepFilters) { $clone->queuedFilters = $this->queuedFilters; } @@ -536,7 +546,7 @@ class Piwik_DataTable * Returns the ith row in the array * * @param int $id - * @return Piwik_DataTable_Row or false if not found + * @return \Piwik\DataTable\Row or false if not found */ public function getRowFromId($id) { @@ -555,7 +565,7 @@ class Piwik_DataTable * Returns a row that has the subtable ID matching the parameter * * @param int $idSubTable - * @return Piwik_DataTable_Row|false if not found + * @return \Piwik\DataTable\Row|false if not found */ public function getRowFromIdSubDataTable($idSubTable) { @@ -571,10 +581,10 @@ class Piwik_DataTable /** * Add a row to the table and rebuild the index if necessary * - * @param Piwik_DataTable_Row $row to add at the end of the array - * @return Piwik_DataTable_Row + * @param \Piwik\DataTable\Row $row to add at the end of the array + * @return \Piwik\DataTable\Row */ - public function addRow(Piwik_DataTable_Row $row) + public function addRow(Row $row) { // if there is a upper limit on the number of allowed rows and the table is full, // add the new row to the summary row @@ -583,8 +593,8 @@ class Piwik_DataTable ) { if ($this->summaryRow === null) // create the summary row if necessary { - $this->addSummaryRow(new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => $row->getColumns() + $this->addSummaryRow(new Row(array( + Row::COLUMNS => $row->getColumns() ))); $this->summaryRow->setColumn('label', self::LABEL_SUMMARY_ROW); } else { @@ -609,10 +619,10 @@ class Piwik_DataTable /** * Sets the summary row (a dataTable can have only one summary row) * - * @param Piwik_DataTable_Row $row - * @return Piwik_DataTable_Row Returns $row. + * @param Row $row + * @return Row Returns $row. */ - public function addSummaryRow(Piwik_DataTable_Row $row) + public function addSummaryRow(Row $row) { $this->summaryRow = $row; return $row; @@ -631,7 +641,7 @@ class Piwik_DataTable /** * Adds a new row from a PHP array data structure * - * @param array $row eg. array(Piwik_DataTable_Row::COLUMNS => array( 'visits' => 13, 'test' => 'toto'),) + * @param array $row eg. array(Row::COLUMNS => array( 'visits' => 13, 'test' => 'toto'),) */ public function addRowFromArray($row) { @@ -649,9 +659,9 @@ class Piwik_DataTable } /** - * Returns the array of Piwik_DataTable_Row + * Returns the array of Row * - * @return Piwik_DataTable_Row[] + * @return Row[] */ public function getRows() { @@ -746,7 +756,7 @@ class Piwik_DataTable /** * Returns the first row of the DataTable * - * @return Piwik_DataTable_Row + * @return \Piwik\DataTable\Row */ public function getFirstRow() { @@ -763,7 +773,7 @@ class Piwik_DataTable /** * Returns the last row of the DataTable * - * @return Piwik_DataTable_Row + * @return Row */ public function getLastRow() { @@ -789,7 +799,7 @@ class Piwik_DataTable $totalCount = 0; foreach ($this->rows as $row) { if (($idSubTable = $row->getIdSubDataTable()) !== null) { - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable); + $subTable = Manager::getInstance()->getTable($idSubTable); $count = $subTable->getRowsCountRecursive(); $totalCount += $count; } @@ -825,7 +835,7 @@ class Piwik_DataTable foreach ($this->getRows() as $row) { $row->renameColumn($oldName, $newName); if (($idSubDataTable = $row->getIdSubDataTable()) !== null) { - Piwik_DataTable_Manager::getInstance()->getTable($idSubDataTable)->renameColumn($oldName, $newName); + Manager::getInstance()->getTable($idSubDataTable)->renameColumn($oldName, $newName); } } if (!is_null($this->summaryRow)) { @@ -846,7 +856,7 @@ class Piwik_DataTable $row->deleteColumn($name); } if (($idSubDataTable = $row->getIdSubDataTable()) !== null) { - Piwik_DataTable_Manager::getInstance()->getTable($idSubDataTable)->deleteColumns($names, $deleteRecursiveInSubtables); + Manager::getInstance()->getTable($idSubDataTable)->deleteColumns($names, $deleteRecursiveInSubtables); } } if (!is_null($this->summaryRow)) { @@ -932,7 +942,7 @@ class Piwik_DataTable */ public function __toString() { - $renderer = new Piwik_DataTable_Renderer_Html(); + $renderer = new Html(); $renderer->setTable($this); return (string)$renderer; } @@ -941,11 +951,11 @@ class Piwik_DataTable * Returns true if both DataTable are exactly the same. * Used in unit tests. * - * @param Piwik_DataTable $table1 - * @param Piwik_DataTable $table2 + * @param \Piwik\DataTable $table1 + * @param \Piwik\DataTable $table2 * @return bool */ - public static function isEqual(Piwik_DataTable $table1, Piwik_DataTable $table2) + public static function isEqual(DataTable $table1, DataTable $table2) { $rows1 = $table1->getRows(); $rows2 = $table2->getRows(); @@ -960,7 +970,7 @@ class Piwik_DataTable foreach ($rows1 as $row1) { $row2 = $table2->getRowFromLabel($row1->getColumn('label')); if ($row2 === false - || !Piwik_DataTable_Row::isEqual($row1, $row2) + || !Row::isEqual($row1, $row2) ) { return false; } @@ -1010,12 +1020,12 @@ class Piwik_DataTable if ($depth > self::$maximumDepthLevelAllowed) { $depth = 0; - throw new Exception("Maximum recursion level of " . self::$maximumDepthLevelAllowed . " reached. Maybe you have set a DataTable_Row with an associated DataTable belonging already to one of its parent tables?"); + throw new Exception("Maximum recursion level of " . self::$maximumDepthLevelAllowed . " reached. Maybe you have set a DataTable\Row with an associated DataTable belonging already to one of its parent tables?"); } if (!is_null($maximumRowsInDataTable)) { $this->filter('AddSummaryRow', array($maximumRowsInDataTable - 1, - Piwik_DataTable::LABEL_SUMMARY_ROW, + DataTable::LABEL_SUMMARY_ROW, $columnToSortByBeforeTruncation) ); } @@ -1026,7 +1036,7 @@ class Piwik_DataTable $aSerializedDataTable = array(); foreach ($this->rows as $row) { if (($idSubTable = $row->getIdSubDataTable()) !== null) { - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable); + $subTable = Manager::getInstance()->getTable($idSubTable); $depth++; $aSerializedDataTable = $aSerializedDataTable + $subTable->getSerialized($maximumRowsInSubDataTable, $maximumRowsInSubDataTable, $columnToSortByBeforeTruncation); $depth--; @@ -1057,7 +1067,7 @@ class Piwik_DataTable * Does not load recursively all the sub DataTable. * They will be loaded only when requesting them specifically. * - * The function creates all the necessary DataTable_Row + * The function creates all the necessary DataTable\Row * * @param string $stringSerialized string of serialized datatable * @throws Exception @@ -1078,8 +1088,8 @@ class Piwik_DataTable * array( * // row1 * array( - * Piwik_DataTable_Row::COLUMNS => array( col1_name => value1, col2_name => value2, ...), - * Piwik_DataTable_Row::METADATA => array( metadata1_name => value1, ...), // see Piwik_DataTable_Row + * Row::COLUMNS => array( col1_name => value1, col2_name => value2, ...), + * Row::METADATA => array( metadata1_name => value1, ...), // see Row * ), * // row2 * array( ... ), @@ -1089,7 +1099,7 @@ class Piwik_DataTable { foreach ($array as $id => $row) { if (is_array($row)) { - $row = new Piwik_DataTable_Row($row); + $row = new Row($row); } if ($id == self::ID_SUMMARY_ROW) { $this->summaryRow = $row; @@ -1140,10 +1150,10 @@ class Piwik_DataTable // case when the array is indexed by the default numeric index if (array_keys($array) == array_keys(array_fill(0, count($array), true))) { foreach ($array as $row) { - $this->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array($row)))); + $this->addRow(new Row(array(Row::COLUMNS => array($row)))); } } else { - $this->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $array))); + $this->addRow(new Row(array(Row::COLUMNS => $array))); } // we have converted our simple array to one single row // => we exit the method as the job is now finished @@ -1171,10 +1181,10 @@ class Piwik_DataTable throw $e; } } - $row = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $row)); + $row = new Row(array(Row::COLUMNS => $row)); } // other (string, numbers...) => we build a line from this value else { - $row = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array($key => $row))); + $row = new Row(array(Row::COLUMNS => array($key => $row))); } $this->addRow($row); } @@ -1188,8 +1198,8 @@ class Piwik_DataTable * ) * to a DataTable, ie. with the internal structure * array ( - * array( Piwik_DataTable_Row::COLUMNS => array('label' => LABEL, col1 => X, col2 => Y)), - * array( Piwik_DataTable_Row::COLUMNS => array('label' => LABEL2, col1 => X, col2 => Y)), + * array( Row::COLUMNS => array('label' => LABEL, col1 => X, col2 => Y)), + * array( Row::COLUMNS => array('label' => LABEL2, col1 => X, col2 => Y)), * ) * * It also works with array having only one value per row, eg. @@ -1199,18 +1209,18 @@ class Piwik_DataTable * ) * would be converted to: * array ( - * array( Piwik_DataTable_Row::COLUMNS => array('label' => LABEL, 'value' => X)), - * array( Piwik_DataTable_Row::COLUMNS => array('label' => LABEL2, 'value' => Y)), + * array( Row::COLUMNS => array('label' => LABEL, 'value' => X)), + * array( Row::COLUMNS => array('label' => LABEL2, 'value' => Y)), * ) * * * @param array $array Indexed array, two formats are supported * @param array|null $subtablePerLabel An indexed array of up to one DataTable to associate as a sub table - * @return Piwik_DataTable + * @return \Piwik\DataTable */ public static function makeFromIndexedArray($array, $subtablePerLabel = null) { - $table = new Piwik_DataTable(); + $table = new DataTable(); $cleanRow = array(); foreach ($array as $label => $row) { // Support the case of an $array of single values @@ -1218,12 +1228,12 @@ class Piwik_DataTable $row = array('value' => $row); } // Put the 'label' column first - $cleanRow[Piwik_DataTable_Row::COLUMNS] = array('label' => $label) + $row; + $cleanRow[Row::COLUMNS] = array('label' => $label) + $row; // Assign subtable if specified if (isset($subtablePerLabel[$label])) { - $cleanRow[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = $subtablePerLabel[$label]; + $cleanRow[Row::DATATABLE_ASSOCIATED] = $subtablePerLabel[$label]; } - $table->addRow(new Piwik_DataTable_Row($cleanRow)); + $table->addRow(new Row($cleanRow)); } return $table; } @@ -1326,7 +1336,7 @@ class Piwik_DataTable return array(false, $i); } else // if we're adding missing rows, add a new row { - $row = new Piwik_DataTable_Row_DataTableSummary(); + $row = new DataTableSummaryRow(); $row->setColumns(array('label' => $segment) + $missingRowColumns); $next = $table->addRow($row); @@ -1348,7 +1358,7 @@ class Piwik_DataTable return array(false, $i); } else if ($i != $pathLength - 1) // create subtable if missing, but only if not on the last segment { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->setMaximumAllowedRows($maxSubtableRows); $table->setColumnAggregationOperations($this->columnAggregationOperations); $next->setSubtable($table); @@ -1371,11 +1381,11 @@ class Piwik_DataTable * @param bool $useMetadataColumn If true and if $labelColumn is supplied, the parent row's * label will be added as metadata. * - * @return Piwik_DataTable + * @return \Piwik\DataTable */ public function mergeSubtables($labelColumn = false, $useMetadataColumn = false) { - $result = new Piwik_DataTable(); + $result = new DataTable(); foreach ($this->getRows() as $row) { $subtable = $row->getSubtable(); if ($subtable !== false) { @@ -1423,18 +1433,18 @@ class Piwik_DataTable * Returns a new DataTable created with data from a 'simple' array. * * @param array $array - * @return Piwik_DataTable + * @return \Piwik\DataTable */ public static function makeFromSimpleArray($array) { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); $dataTable->addRowsFromSimpleArray($array); return $dataTable; } /** * Set the aggregation operation for a column, e.g. "min". - * @see self::addDataTable() and Piwik_DataTable_Row::sumRow() + * @see self::addDataTable() and Piwik_DataTable\Row::sumRow() * * @param string $columnName * @param string $operation @@ -1467,11 +1477,11 @@ class Piwik_DataTable * Creates a new DataTable instance from a serialize()'d array of rows. * * @param string $data - * @return Piwik_DataTable + * @return \Piwik\DataTable */ public static function fromSerializedArray($data) { - $result = new Piwik_DataTable(); + $result = new DataTable(); $result->addRowsFromSerializedArray($data); return $result; } diff --git a/core/DataTable/Filter.php b/core/DataTable/Filter.php index 455c5aa6e7750e49e9443885581a857e85882947..43cb33f2a04cef7b890a569932b69b359a1f43a2 100644 --- a/core/DataTable/Filter.php +++ b/core/DataTable/Filter.php @@ -8,6 +8,12 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable; + +use Exception; +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Row; /** * A filter is applied instantly to a given DataTable and can @@ -21,9 +27,9 @@ * and can do whatever is necessary on the data (in the filter() method). * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -abstract class Piwik_DataTable_Filter +abstract class Filter { /** * @var bool @@ -32,19 +38,19 @@ abstract class Piwik_DataTable_Filter /** * @throws Exception - * @param Piwik_DataTable $table + * @param DataTable $table */ public function __construct($table) { - if (!($table instanceof Piwik_DataTable)) { - throw new Exception("The filter accepts only a Piwik_DataTable object."); + if (!($table instanceof DataTable)) { + throw new Exception("The filter accepts only a DataTable object."); } } /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ abstract public function filter($table); @@ -61,16 +67,16 @@ abstract class Piwik_DataTable_Filter /** * Filters a subtable * - * @param Piwik_DataTable_Row $row + * @param Row $row * @return mixed */ - public function filterSubTable(Piwik_DataTable_Row $row) + public function filterSubTable(Row $row) { if (!$this->enableRecursive) { return; } if ($row->isSubtableLoaded()) { - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($row->getIdSubDataTable()); + $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable()); $this->filter($subTable); } } diff --git a/core/DataTable/Filter/AddColumnsProcessedMetrics.php b/core/DataTable/Filter/AddColumnsProcessedMetrics.php index 73baf7aaa91bc652228478c4ed52084eca044364..dc41dacdc7feebccd17492320acce9bfc1b9f543 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetrics.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetrics.php @@ -8,22 +8,27 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable\Filter; +use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\DataTable; /** * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_Filter +class AddColumnsProcessedMetrics extends Filter { protected $invalidDivision = 0; protected $roundPrecision = 2; protected $deleteRowsWithNoVisit = true; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param bool $deleteRowsWithNoVisit Automatically set to true when filter_add_columns_when_show_all_columns is found in the API request - * @return Piwik_DataTable_Filter_AddColumnsProcessedMetrics + * @return AddColumnsProcessedMetrics */ public function __construct($table, $deleteRowsWithNoVisit = true) { @@ -34,7 +39,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_ /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -97,7 +102,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_ * - raw datatables coming from the archive DB, which columns are int indexed * - datatables processed resulting of API calls, which columns have human readable english names * - * @param Piwik_DataTable_Row $row + * @param Row $row * @param int $columnIdRaw see consts in Archive:: * @param bool $mappingIdToName * @return mixed Value of column, false if not found @@ -108,7 +113,7 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetrics extends Piwik_DataTable_ $mappingIdToName = Metrics::$mappingFromIdToName; } $columnIdReadable = $mappingIdToName[$columnIdRaw]; - if ($row instanceof Piwik_DataTable_Row) { + if ($row instanceof Row) { $raw = $row->getColumn($columnIdRaw); if ($raw !== false) { return $raw; diff --git a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php index 99d822bbd069e08e1629f0a6583a60e342d73784..422df1adcf1a4c7b57a153918dbe904a14e9f617 100644 --- a/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php +++ b/core/DataTable/Filter/AddColumnsProcessedMetricsGoal.php @@ -8,14 +8,19 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Exception; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\DataTable; +use Piwik\DataTable\Filter\AddColumnsProcessedMetrics; /** * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTable_Filter_AddColumnsProcessedMetrics +class AddColumnsProcessedMetricsGoal extends AddColumnsProcessedMetrics { /** * Process main goal metrics: conversion rate, revenue per visit @@ -41,13 +46,13 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa * - nb conversions * - revenue per visit * - * @param Piwik_DataTable $table + * @param DataTable $table * @param bool $enable should be true (automatically set to true when filter_update_columns_when_show_all_goals is found in the API request) * @param string $processOnlyIdGoal Defines what metrics to add (don't process metrics when you don't display them) * If self::GOALS_FULL_TABLE, all Goal metrics (and per goal metrics) will be processed * If self::GOALS_OVERVIEW, only the main goal metrics will be added * If an int > 0, then will process only metrics for this specific Goal - * @return Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal + * @return \Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal */ public function __construct($table, $enable = true, $processOnlyIdGoal) { @@ -61,13 +66,13 @@ class Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal extends Piwik_DataTa /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { // Add standard processed metrics parent::filter($table); - $roundingPrecision = Piwik_Tracker_GoalManager::REVENUE_PRECISION; + $roundingPrecision = \Piwik_Tracker_GoalManager::REVENUE_PRECISION; $expectedColumns = array(); foreach ($table->getRows() as $key => $row) { $currentColumns = $row->getColumns(); diff --git a/core/DataTable/Filter/AddConstantMetadata.php b/core/DataTable/Filter/AddConstantMetadata.php index 4bff5aa813cf0714307d7e02e217749f55aec84f..f3682f5b10659dd6e8617f5f2da710b5cbcd62e4 100644 --- a/core/DataTable/Filter/AddConstantMetadata.php +++ b/core/DataTable/Filter/AddConstantMetadata.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Add a new metadata column to the table. @@ -16,14 +20,14 @@ * This value is fixed for all icons so we simply add the same value for all rows. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_AddConstantMetadata extends Piwik_DataTable_Filter +class AddConstantMetadata extends Filter { /** * Creates a new filter and sets all required parameters * - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $metadataName * @param mixed $metadataValue */ @@ -37,7 +41,7 @@ class Piwik_DataTable_Filter_AddConstantMetadata extends Piwik_DataTable_Filter /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { diff --git a/core/DataTable/Filter/AddSummaryRow.php b/core/DataTable/Filter/AddSummaryRow.php index ca0cb1882f36776a1b07414dbf778cc8d7231b67..12504fa033d46121c78e7c276cf9e9643a33848c 100644 --- a/core/DataTable/Filter/AddSummaryRow.php +++ b/core/DataTable/Filter/AddSummaryRow.php @@ -8,6 +8,11 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; +use Piwik\DataTable\Row; /** * Add a new row to the table containing a summary @@ -23,14 +28,14 @@ * This row is assigned a label of 'Others'. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter +class AddSummaryRow extends Filter { /** * Creates a new filter and set all required parameters * - * @param Piwik_DataTable $table + * @param DataTable $table * @param int $startRowToSummarize * @param int $labelSummaryRow * @param null $columnToSortByBeforeTruncating @@ -38,7 +43,7 @@ class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter */ public function __construct($table, $startRowToSummarize, - $labelSummaryRow = Piwik_DataTable::LABEL_SUMMARY_ROW, + $labelSummaryRow = DataTable::LABEL_SUMMARY_ROW, $columnToSortByBeforeTruncating = null, $deleteRows = true) { @@ -52,7 +57,7 @@ class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter /** * Adds a summary row to the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -62,14 +67,14 @@ class Piwik_DataTable_Filter_AddSummaryRow extends Piwik_DataTable_Filter if ($table->getRowsCount() <= $this->startRowToSummarize + 1) { return; } - + $rows = $table->getRows(); $count = $table->getRowsCount(); - $newRow = new Piwik_DataTable_Row(); + $newRow = new 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); + // case when the last row is a summary row, it is not indexed by $cout but by DataTable::ID_SUMMARY_ROW + $summaryRow = $table->getRowFromId(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) { diff --git a/core/DataTable/Filter/BeautifyRangeLabels.php b/core/DataTable/Filter/BeautifyRangeLabels.php index 329bcf330870077dee239605134adf1f5feef67f..5e2c0c1336dee776560b61278564ab34b7a41211 100644 --- a/core/DataTable/Filter/BeautifyRangeLabels.php +++ b/core/DataTable/Filter/BeautifyRangeLabels.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter\ColumnCallbackReplace; /** * A DataTable filter that replaces range label columns with prettier, @@ -26,7 +30,7 @@ * This filter can also be extended to beautify ranges differently based * on the range values. */ -class Piwik_DataTable_Filter_BeautifyRangeLabels extends Piwik_DataTable_Filter_ColumnCallbackReplace +class BeautifyRangeLabels extends ColumnCallbackReplace { /** * The string to use when the range being beautified is between 1-1 units. @@ -44,7 +48,7 @@ class Piwik_DataTable_Filter_BeautifyRangeLabels extends Piwik_DataTable_Filter_ /** * Constructor. * - * @param Piwik_DataTable $table The DataTable that will be filtered. + * @param DataTable $table The DataTable that will be filtered. * @param string $labelSingular The string to use when the range being beautified * is equal to '1-1 units'. * @param string $labelPlural The string to use when the range being beautified @@ -85,7 +89,7 @@ class Piwik_DataTable_Filter_BeautifyRangeLabels extends Piwik_DataTable_Filter_ // get the lower bound sscanf($value, "%d", $lowerBound); - if ($lowerBound !== NULL) { + if ($lowerBound !== null) { $plusEncoded = urlencode('+'); $plusLen = strlen($plusEncoded); $len = strlen($value); diff --git a/core/DataTable/Filter/BeautifyTimeRangeLabels.php b/core/DataTable/Filter/BeautifyTimeRangeLabels.php index 1a2dffce5aaa7b11984890085fbb7b6e4ac026ec..f8fcb59b77b7cf3354ddc7c928276dc59c952653 100644 --- a/core/DataTable/Filter/BeautifyTimeRangeLabels.php +++ b/core/DataTable/Filter/BeautifyTimeRangeLabels.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter\BeautifyRangeLabels; /** * A DataTable filter replaces range labels that are in seconds with @@ -17,7 +21,7 @@ * so range values that span values that are less than one minute are * displayed in seconds but other ranges are displayed in minutes. */ -class Piwik_DataTable_Filter_BeautifyTimeRangeLabels extends Piwik_DataTable_Filter_BeautifyRangeLabels +class BeautifyTimeRangeLabels extends BeautifyRangeLabels { /** * A format string used to create pretty range labels when the range's @@ -31,7 +35,7 @@ class Piwik_DataTable_Filter_BeautifyTimeRangeLabels extends Piwik_DataTable_Fil /** * Constructor. * - * @param Piwik_DataTable $table The DataTable this filter will run over. + * @param DataTable $table The DataTable this filter will run over. * @param string $labelSecondsPlural A string to use when beautifying range labels * whose lower bound is between 0 and 60. Must be * a format string that takes two numeric params. diff --git a/core/DataTable/Filter/CalculateEvolutionFilter.php b/core/DataTable/Filter/CalculateEvolutionFilter.php index e38fb9313669cb94aa0f728231dfaeb703acd722..f8d5886d25d80a0bb05a53a5dd4f7bc88da0f479 100755 --- a/core/DataTable/Filter/CalculateEvolutionFilter.php +++ b/core/DataTable/Filter/CalculateEvolutionFilter.php @@ -8,7 +8,12 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Row; use Piwik\Site; +use Piwik\DataTable\Filter\ColumnCallbackAddColumnPercentage; /** * A DataTable filter that calculates the evolution of a metric and adds @@ -21,7 +26,7 @@ use Piwik\Site; * The evolution metric is calculated as: * <code>((currentValue - pastValue) / pastValue) * 100</code> */ -class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage +class CalculateEvolutionFilter extends ColumnCallbackAddColumnPercentage { /** * The the DataTable that contains past data. @@ -36,11 +41,11 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi /** * Constructor. * - * @param Piwik_DataTable $table The DataTable being filtered. - * @param string $pastDataTable - * @param string $columnToAdd - * @param string $columnToRead - * @param int $quotientPrecision + * @param DataTable $table The DataTable being filtered. + * @param string $pastDataTable + * @param string $columnToAdd + * @param string $columnToRead + * @param int $quotientPrecision */ function __construct($table, $pastDataTable, $columnToAdd, $columnToRead, $quotientPrecision = 0) { @@ -56,7 +61,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi * Returns the difference between the column in the specific row and its * sister column in the past DataTable. * - * @param Piwik_DataTable_Row $row + * @param Row $row * @return int|float */ protected function getDividend($row) @@ -86,7 +91,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi * Returns the value of the column in $row's sister row in the past * DataTable. * - * @param Piwik_DataTable_Row $row + * @param Row $row * @return int|float */ protected function getDivisor($row) @@ -100,7 +105,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi /** * Calculates and formats a quotient based on a divisor and dividend. * - * Unlike Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage's, + * Unlike ColumnCallbackAddColumnPercentage's, * version of this method, this method will return 100% if the past * value of a metric is 0, and the current value is not 0. For a * value representative of an evolution, this makes sense. @@ -119,7 +124,7 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi /** * Utility function. Returns the current row in the past DataTable. * - * @param Piwik_DataTable_Row $row The row in the 'current' DataTable. + * @param Row $row The row in the 'current' DataTable. */ private function getPastRowFromCurrent($row) { @@ -129,10 +134,10 @@ class Piwik_DataTable_Filter_CalculateEvolutionFilter extends Piwik_DataTable_Fi /** * Calculates the evolution percentage for two arbitrary values. * - * @param float|int $currentValue The current metric value. - * @param float|int $pastValue The value of the metric in the past. We measure the % change + * @param float|int $currentValue The current metric value. + * @param float|int $pastValue The value of the metric in the past. We measure the % change * from this value to $currentValue. - * @param float|int $quotientPrecision The quotient precision to round to. + * @param float|int $quotientPrecision The quotient precision to round to. * * @return string The evolution percent 15% */ diff --git a/core/DataTable/Filter/ColumnCallbackAddColumn.php b/core/DataTable/Filter/ColumnCallbackAddColumn.php index 4aa8b008e4e5ffbe31c34b5664766511dd775e0b..e65ab52e40451bb9ac6b3f44273753e083b39d3c 100755 --- a/core/DataTable/Filter/ColumnCallbackAddColumn.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumn.php @@ -8,14 +8,18 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Adds a new column to every row of a DataTable based on the result of callback. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ColumnCallbackAddColumn extends Piwik_DataTable_Filter +class ColumnCallbackAddColumn extends Filter { /** * The names of the columns to pass to the callback. @@ -41,7 +45,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumn extends Piwik_DataTable_Fil /** * Constructor. * - * @param Piwik_DataTable $table The DataTable that will be filtered. + * @param DataTable $table The DataTable that will be filtered. * @param array|string $columns The names of the columns to pass to the callback. * @param string $columnToAdd The name of the column to add. * @param mixed $functionToApply The callback to apply to each row of a DataTable. @@ -65,7 +69,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumn extends Piwik_DataTable_Fil * Executes a callback on every row of the supplied table and adds the result of * the callback as a new column to each row. * - * @param Piwik_DataTable $table The table to filter. + * @param DataTable $table The table to filter. */ public function filter($table) { diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php index 5ac99ce678af65364ba5ae78011d87d91540b04c..92ad07185c5e422d95e635ab4158111e0c6e141d 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnPercentage.php @@ -8,7 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + use Piwik\Piwik; +use Piwik\DataTable\Filter\ColumnCallbackAddColumnQuotient; /** * Add a new column to the table which is a percentage based on the value resulting @@ -23,9 +26,9 @@ use Piwik\Piwik; * $dataTable->queueFilter('ColumnCallbackAddColumnPercentage', array('nb_visits', 'nb_visits_percentage', $nbVisits, 1)); * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ColumnCallbackAddColumnPercentage extends Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient +class ColumnCallbackAddColumnPercentage extends ColumnCallbackAddColumnQuotient { /** * Formats the given value diff --git a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php index b5573bb73115b082031c949b26c6425d2a4bf18a..4e95a8a9a200623d186dece71b52536c46ff7509 100644 --- a/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php +++ b/core/DataTable/Filter/ColumnCallbackAddColumnQuotient.php @@ -8,15 +8,20 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; +use Piwik\DataTable\Row; /** * Adds a new column that is a division of two columns of the current row. * Useful to process bounce rates, exit rates, average time on page, etc. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataTable_Filter +class ColumnCallbackAddColumnQuotient extends Filter { protected $table; protected $columnValueToRead; @@ -28,7 +33,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT protected $getDivisorFromSummaryRow; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $columnNameToAdd * @param string $columnValueToRead * @param number|string $divisorValueOrDivisorColumnName @@ -57,7 +62,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -101,7 +106,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT * Returns the dividend to use when calculating the new column value. Can * be overridden by descendent classes to customize behavior. * - * @param Piwik_DataTable_Row $row The row being modified. + * @param Row $row The row being modified. * @return int|float */ protected function getDividend($row) @@ -113,7 +118,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT * Returns the divisor to use when calculating the new column value. Can * be overridden by descendent classes to customize behavior. * - * @param Piwik_DataTable_Row $row The row being modified. + * @param Row $row The row being modified. * @return int|float */ protected function getDivisor($row) @@ -121,7 +126,7 @@ class Piwik_DataTable_Filter_ColumnCallbackAddColumnQuotient extends Piwik_DataT if (!is_null($this->totalValueUsedAsDivisor)) { return $this->totalValueUsedAsDivisor; } else if ($this->getDivisorFromSummaryRow) { - $summaryRow = $this->table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW); + $summaryRow = $this->table->getRowFromId(DataTable::ID_SUMMARY_ROW); return $summaryRow->getColumn($this->columnNameUsedAsDivisor); } else { return $row->getColumn($this->columnNameUsedAsDivisor); diff --git a/core/DataTable/Filter/ColumnCallbackAddMetadata.php b/core/DataTable/Filter/ColumnCallbackAddMetadata.php index b181f4c177eae86dd552a3afac771724570939cc..166c9e740a41a919afeaf103ba231fc15f0c9e6a 100644 --- a/core/DataTable/Filter/ColumnCallbackAddMetadata.php +++ b/core/DataTable/Filter/ColumnCallbackAddMetadata.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Add a new 'metadata' column to the table based on the value resulting @@ -17,9 +21,9 @@ * with the icon URI built from the label (LINUX => UserSettings/icons/linux.png) * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ColumnCallbackAddMetadata extends Piwik_DataTable_Filter +class ColumnCallbackAddMetadata extends Filter { private $columnsToRead; private $functionToApply; @@ -28,12 +32,12 @@ class Piwik_DataTable_Filter_ColumnCallbackAddMetadata extends Piwik_DataTable_F private $applyToSummaryRow; /** - * @param Piwik_DataTable $table - * @param string|array $columnsToRead - * @param string $metadataToAdd - * @param string $functionToApply - * @param array $functionParameters - * @param bool $applyToSummaryRow + * @param DataTable $table + * @param string|array $columnsToRead + * @param string $metadataToAdd + * @param string $functionToApply + * @param array $functionParameters + * @param bool $applyToSummaryRow */ public function __construct($table, $columnsToRead, $metadataToAdd, $functionToApply = null, $functionParameters = null, $applyToSummaryRow = true) @@ -54,12 +58,12 @@ class Piwik_DataTable_Filter_ColumnCallbackAddMetadata extends Piwik_DataTable_F /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { foreach ($table->getRows() as $key => $row) { - if (!$this->applyToSummaryRow && $key == Piwik_DataTable::ID_SUMMARY_ROW) { + if (!$this->applyToSummaryRow && $key == DataTable::ID_SUMMARY_ROW) { continue; } diff --git a/core/DataTable/Filter/ColumnCallbackDeleteRow.php b/core/DataTable/Filter/ColumnCallbackDeleteRow.php index dbe0684cf8fefd078481eb7937251e7d612565d4..66c0eded796330ed3913223ed451d3a4625c59db 100644 --- a/core/DataTable/Filter/ColumnCallbackDeleteRow.php +++ b/core/DataTable/Filter/ColumnCallbackDeleteRow.php @@ -8,21 +8,25 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Delete all rows for which a given function returns false for a given column. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ColumnCallbackDeleteRow extends Piwik_DataTable_Filter +class ColumnCallbackDeleteRow extends Filter { private $columnToFilter; private $function; private $functionParams; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $columnToFilter * @param callback $function * @param array $functionParams @@ -43,7 +47,7 @@ class Piwik_DataTable_Filter_ColumnCallbackDeleteRow extends Piwik_DataTable_Fil /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { diff --git a/core/DataTable/Filter/ColumnCallbackReplace.php b/core/DataTable/Filter/ColumnCallbackReplace.php index f1c2d65f3a6cbf0f53685fb03fc32b9fffd293fa..4b2110eff3ac1b7cd387ef549763450813ac631d 100644 --- a/core/DataTable/Filter/ColumnCallbackReplace.php +++ b/core/DataTable/Filter/ColumnCallbackReplace.php @@ -8,15 +8,21 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; +use Piwik\DataTable\Row; +use Piwik\Piwik; /** * Replace a column value with a new value resulting * from the function called with the column's value * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filter +class ColumnCallbackReplace extends Filter { private $columnsToFilter; private $functionToApply; @@ -24,7 +30,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte private $extraColumnParameters; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param array|string $columnsToFilter * @param callback $functionToApply * @param array|null $functionParameters @@ -48,7 +54,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte /** * Filters the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -79,7 +85,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte /** * Replaces the given column within given row with the given value * - * @param Piwik_DataTable_Row $row + * @param Row $row * @param string $columnToFilter * @param mixed $newValue */ @@ -91,7 +97,7 @@ class Piwik_DataTable_Filter_ColumnCallbackReplace extends Piwik_DataTable_Filte /** * Returns the element that should be replaced * - * @param Piwik_DataTable_Row $row + * @param Row $row * @param string $columnToFilter * @return mixed */ diff --git a/core/DataTable/Filter/ColumnDelete.php b/core/DataTable/Filter/ColumnDelete.php index 709d56a02e10cf1fe794a547b486ead969bb082c..5540634ef831d3a520a5639c67340383cf289e67 100644 --- a/core/DataTable/Filter/ColumnDelete.php +++ b/core/DataTable/Filter/ColumnDelete.php @@ -8,15 +8,19 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Filter that will remove columns from a DataTable using either a blacklist, * whitelist or both. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter +class ColumnDelete extends Filter { /** * The columns that should be removed from DataTable rows. @@ -51,13 +55,13 @@ class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter /** * Constructor. * - * @param Piwik_DataTable $table - * @param array|string $columnsToRemove An array of column names or a comma-separated list of + * @param DataTable $table + * @param array|string $columnsToRemove An array of column names or a comma-separated list of * column names. These columns will be removed. - * @param array|string $columnsToKeep An array of column names that should be kept or a + * @param array|string $columnsToKeep An array of column names that should be kept or a * comma-separated list of column names. Columns not in * this list will be removed. - * @param bool $deleteIfZeroOnly + * @param bool $deleteIfZeroOnly */ public function __construct($table, $columnsToRemove, $columnsToKeep = array(), $deleteIfZeroOnly = false) { @@ -80,7 +84,7 @@ class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter * Filters the given DataTable. Removes columns that are not desired from * each DataTable row. * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -112,15 +116,16 @@ class Piwik_DataTable_Filter_ColumnDelete extends Piwik_DataTable_Filter $keep = false; // @see self::APPEND_TO_COLUMN_NAME_TO_KEEP - foreach($this->columnsToKeep as $nameKeep => $true) { - if(strpos($name, $nameKeep . self::APPEND_TO_COLUMN_NAME_TO_KEEP) === 0) { + foreach ($this->columnsToKeep as $nameKeep => $true) { + if (strpos($name, $nameKeep . self::APPEND_TO_COLUMN_NAME_TO_KEEP) === 0) { $keep = true; } } if (!$keep && $name != 'label' // label cannot be removed via whitelisting - && !isset($this->columnsToKeep[$name])) { + && !isset($this->columnsToKeep[$name]) + ) { $row->deleteColumn($name); } } diff --git a/core/DataTable/Filter/ExcludeLowPopulation.php b/core/DataTable/Filter/ExcludeLowPopulation.php index 9f4d5c723cf07cf2f7968382c46c3157bf4a22c1..07699ea2ea447d756a4e75d56ac488d593f094c6 100644 --- a/core/DataTable/Filter/ExcludeLowPopulation.php +++ b/core/DataTable/Filter/ExcludeLowPopulation.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Delete all rows that have a $columnToFilter value less than the $minimumValue @@ -17,16 +21,16 @@ * You can obviously apply this filter on a percentaged column, eg. remove all countries with the column 'percent_visits' less than 0.05 * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter +class ExcludeLowPopulation extends Filter { const MINIMUM_SIGNIFICANT_PERCENTAGE_THRESHOLD = 0.02; - + /** * The minimum value to enforce in a datatable for a specified column. Rows found with * a value less than this are removed. - * + * * @var number */ private $minimumValue; @@ -34,7 +38,7 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter /** * Constructor * - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $columnToFilter column to filter * @param number|Closure $minimumValue minimum value * @param bool $minimumPercentageThreshold @@ -43,7 +47,7 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter { parent::__construct($table); $this->columnToFilter = $columnToFilter; - + if ($minimumValue == 0) { if ($minimumPercentageThreshold === false) { $minimumPercentageThreshold = self::MINIMUM_SIGNIFICANT_PERCENTAGE_THRESHOLD; @@ -52,14 +56,14 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter $sumValues = array_sum($allValues); $minimumValue = $sumValues * $minimumPercentageThreshold; } - + $this->minimumValue = $minimumValue; } /** * Executes filter and removes all rows below the defined minimum * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -67,7 +71,7 @@ class Piwik_DataTable_Filter_ExcludeLowPopulation extends Piwik_DataTable_Filter $isValueHighPopulation = function ($value) use ($minimumValue) { return $value >= $minimumValue; }; - + $table->filter('ColumnCallbackDeleteRow', array($this->columnToFilter, $isValueHighPopulation)); } } diff --git a/core/DataTable/Filter/GroupBy.php b/core/DataTable/Filter/GroupBy.php index 166994cd291da50b015c5ef46d46678e47a3b4ce..2dbc839c5928aa5171f2df0c5430410bd3b86c0d 100755 --- a/core/DataTable/Filter/GroupBy.php +++ b/core/DataTable/Filter/GroupBy.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * DataTable filter that will group DataTable rows together based on the results @@ -16,9 +20,9 @@ * NOTE: This filter should never be queued, it must be applied directly on a DataTable. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter +class GroupBy extends Filter { /** * The name of the columns to reduce. @@ -40,7 +44,7 @@ class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter /** * Constructor. * - * @param Piwik_DataTable $table The DataTable to filter. + * @param DataTable $table The DataTable to filter. * @param string $groupByColumn The column name to reduce. * @param mixed $reduceFunction The reduce function. This must alter the $groupByColumn in some way. * @param array $parameters Extra parameters to supply to the reduce function. @@ -57,7 +61,7 @@ class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter /** * Applies the reduce function to each row and merges rows w/ the same reduce result. * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -66,7 +70,7 @@ class Piwik_DataTable_Filter_GroupBy extends Piwik_DataTable_Filter foreach ($table->getRows() as $rowId => $row) { // skip the summary row - if ($rowId == Piwik_DataTable::ID_SUMMARY_ROW) { + if ($rowId == DataTable::ID_SUMMARY_ROW) { continue; } diff --git a/core/DataTable/Filter/Limit.php b/core/DataTable/Filter/Limit.php index 7845727948e3c3d77ee68247c309bf0250a5e9bb..5d751ddbc47532a16481fb165d747828a59a8c7d 100644 --- a/core/DataTable/Filter/Limit.php +++ b/core/DataTable/Filter/Limit.php @@ -8,19 +8,23 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Delete all rows from the table that are not in the offset,offset+limit range * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_Limit extends Piwik_DataTable_Filter +class Limit extends Filter { /** * Filter constructor. * - * @param Piwik_DataTable $table + * @param DataTable $table * @param int $offset Starting row (indexed from 0) * @param int $limit Number of rows to keep (specify -1 to keep all rows) * @param bool $keepSummaryRow Whether to keep the summary row or not. @@ -40,14 +44,14 @@ class Piwik_DataTable_Filter_Limit extends Piwik_DataTable_Filter /** * Limits the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { $table->setRowsCountBeforeLimitFilter(); if ($this->keepSummaryRow) { - $summaryRow = $table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW); + $summaryRow = $table->getRowFromId(DataTable::ID_SUMMARY_ROW); } // we delete from 0 to offset diff --git a/core/DataTable/Filter/MetadataCallbackAddMetadata.php b/core/DataTable/Filter/MetadataCallbackAddMetadata.php index dbfc1728eee7b447fd38fe516979235ea798ab88..b24402c8709497a100d2d3eb7a4ecef7a26bdb90 100644 --- a/core/DataTable/Filter/MetadataCallbackAddMetadata.php +++ b/core/DataTable/Filter/MetadataCallbackAddMetadata.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Add a new metadata to the table based on the value resulting @@ -18,9 +22,9 @@ * the path of the logo for this search engine URL (which has the format URL.png). * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_MetadataCallbackAddMetadata extends Piwik_DataTable_Filter +class MetadataCallbackAddMetadata extends Filter { private $metadataToRead; private $functionToApply; @@ -28,7 +32,7 @@ class Piwik_DataTable_Filter_MetadataCallbackAddMetadata extends Piwik_DataTable private $applyToSummaryRow; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string|array $metadataToRead * @param string $metadataToAdd * @param callback $functionToApply @@ -50,12 +54,12 @@ class Piwik_DataTable_Filter_MetadataCallbackAddMetadata extends Piwik_DataTable } /** - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { foreach ($table->getRows() as $key => $row) { - if (!$this->applyToSummaryRow && $key == Piwik_DataTable::ID_SUMMARY_ROW) { + if (!$this->applyToSummaryRow && $key == DataTable::ID_SUMMARY_ROW) { continue; } diff --git a/core/DataTable/Filter/MetadataCallbackReplace.php b/core/DataTable/Filter/MetadataCallbackReplace.php index 4e6e5990de0b5d2379a59d411e78cf431a6dee4f..32051c1e6f9b2d51b11cc8e42af8831abe8210da 100644 --- a/core/DataTable/Filter/MetadataCallbackReplace.php +++ b/core/DataTable/Filter/MetadataCallbackReplace.php @@ -8,18 +8,24 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter\ColumnCallbackReplace; +use Piwik\DataTable\Row; +use false; /** * Replace a metadata value with a new value resulting * from the function called with the metadata's value * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_MetadataCallbackReplace extends Piwik_DataTable_Filter_ColumnCallbackReplace +class MetadataCallbackReplace extends ColumnCallbackReplace { /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param array|string $metadataToFilter * @param callback $functionToApply * @param null|array $functionParameters @@ -32,7 +38,7 @@ class Piwik_DataTable_Filter_MetadataCallbackReplace extends Piwik_DataTable_Fil } /** - * @param Piwik_DataTable_Row $row + * @param Row $row * @param string $metadataToFilter * @param mixed $newValue */ @@ -42,7 +48,7 @@ class Piwik_DataTable_Filter_MetadataCallbackReplace extends Piwik_DataTable_Fil } /** - * @param Piwik_DataTable_Row $row + * @param Row $row * @param string $metadataToFilter * @return array|false|mixed */ diff --git a/core/DataTable/Filter/Null.php b/core/DataTable/Filter/Null.php index 240dc53c4106fc6cfac4d125f12504dddb8168ea..7b9cb0d623798ae2d9dbce13f4d1fe4586258afa 100644 --- a/core/DataTable/Filter/Null.php +++ b/core/DataTable/Filter/Null.php @@ -8,18 +8,22 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Filter template. * You can use it if you want to create a new filter. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_Null extends Piwik_DataTable_Filter +class Null extends Filter { /** - * @param Piwik_DataTable $table + * @param DataTable $table */ public function __construct($table) { @@ -27,7 +31,7 @@ class Piwik_DataTable_Filter_Null extends Piwik_DataTable_Filter } /** - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { diff --git a/core/DataTable/Filter/Pattern.php b/core/DataTable/Filter/Pattern.php index 4a1ef8fd993362db913ac119e9dadc2dc01914e9..8ac29a89f811ebe7a27d5257f9b5b463a38c139f 100644 --- a/core/DataTable/Filter/Pattern.php +++ b/core/DataTable/Filter/Pattern.php @@ -8,6 +8,10 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Delete all rows for which the given $columnToFilter do not contain the $patternToSearch @@ -15,9 +19,9 @@ * Example: from the keyword report, keep only the rows for which the label contains "piwik" * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_Pattern extends Piwik_DataTable_Filter +class Pattern extends Filter { private $columnToFilter; private $patternToSearch; @@ -25,7 +29,7 @@ class Piwik_DataTable_Filter_Pattern extends Piwik_DataTable_Filter private $invertedMatch; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $columnToFilter * @param string $patternToSearch * @param bool $invertedMatch @@ -65,7 +69,7 @@ class Piwik_DataTable_Filter_Pattern extends Piwik_DataTable_Filter } /** - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { diff --git a/core/DataTable/Filter/PatternRecursive.php b/core/DataTable/Filter/PatternRecursive.php index 088546fee50d7379b65497930669a662a6f922b7..168c6a520aae74f1be636e9fd40d85836272e671 100644 --- a/core/DataTable/Filter/PatternRecursive.php +++ b/core/DataTable/Filter/PatternRecursive.php @@ -8,6 +8,13 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Exception; +use Piwik\DataTable; +use Piwik\DataTable\Filter; +use Piwik\DataTable\Filter\Pattern; +use Piwik\DataTable\Manager; /** * Delete all rows for which @@ -18,16 +25,16 @@ * Example: from the pages viewed report, keep only the rows that contain "piwik" or for which a subpage contains "piwik". * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter +class PatternRecursive extends Filter { private $columnToFilter; private $patternToSearch; private $patternToSearchQuoted; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $columnToFilter * @param string $patternToSearch */ @@ -35,13 +42,13 @@ class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter { parent::__construct($table); $this->patternToSearch = $patternToSearch; - $this->patternToSearchQuoted = Piwik_DataTable_Filter_Pattern::getPatternQuoted($patternToSearch); + $this->patternToSearchQuoted = Pattern::getPatternQuoted($patternToSearch); $this->patternToSearch = $patternToSearch; //preg_quote($patternToSearch); $this->columnToFilter = $columnToFilter; } /** - * @param Piwik_DataTable $table + * @param DataTable $table * @return int */ public function filter($table) @@ -56,7 +63,7 @@ class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter try { $idSubTable = $row->getIdSubDataTable(); - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable); + $subTable = Manager::getInstance()->getTable($idSubTable); // we delete the row if we couldn't find the pattern in any row in the // children hierarchy @@ -69,7 +76,7 @@ class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter } if ($patternNotFoundInChildren - && !Piwik_DataTable_Filter_Pattern::match($this->patternToSearch, $this->patternToSearchQuoted, $row->getColumn($this->columnToFilter), $invertedMatch = false) + && !Pattern::match($this->patternToSearch, $this->patternToSearchQuoted, $row->getColumn($this->columnToFilter), $invertedMatch = false) ) { $table->deleteRow($key); } diff --git a/core/DataTable/Filter/RangeCheck.php b/core/DataTable/Filter/RangeCheck.php index ebfea03d7f0436e75c57f3d7ef473914d5b35452..5fc2db1c9cb1c8e0de2cce90a2e00bc34493d779 100644 --- a/core/DataTable/Filter/RangeCheck.php +++ b/core/DataTable/Filter/RangeCheck.php @@ -8,20 +8,24 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * Check range * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_RangeCheck extends Piwik_DataTable_Filter +class RangeCheck extends Filter { static public $minimumValue = 0.00; static public $maximumValue = 100.0; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $columnToFilter name of the column to filter * @param float $minimumValue minimum value for range * @param float $maximumValue maximum value for range @@ -41,7 +45,7 @@ class Piwik_DataTable_Filter_RangeCheck extends Piwik_DataTable_Filter /** * Executes the filter an adjusts all columns to fit the defined range * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { diff --git a/core/DataTable/Filter/ReplaceColumnNames.php b/core/DataTable/Filter/ReplaceColumnNames.php index c2b2beca79cb6442e8a2e573392c8458b21a3a4c..abf802b82ac615f1abe4609c645e9dee31a6bdb2 100644 --- a/core/DataTable/Filter/ReplaceColumnNames.php +++ b/core/DataTable/Filter/ReplaceColumnNames.php @@ -8,8 +8,14 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable\Filter; +use Piwik\DataTable\Simple; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\DataTable; +use Piwik_Tracker_GoalManager; /** * This filter replaces column names using a mapping table that maps from the old name to the new name. @@ -24,14 +30,14 @@ use Piwik\Piwik; * You can specify the mapping array to apply in the constructor. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter +class ReplaceColumnNames extends Filter { protected $mappingToApply; /** - * @param Piwik_DataTable $table Table + * @param DataTable $table Table * @param array $mappingToApply Mapping to apply. Must have the format * array( OLD_COLUMN_NAME => NEW_COLUMN NAME, * OLD_COLUMN_NAME2 => NEW_COLUMN NAME2, @@ -49,11 +55,11 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter /** * Executes the filter and renames the defined columns * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { - if($table instanceof Piwik_DataTable_Simple) { + if ($table instanceof Simple) { $this->filterSimple($table); } else { $this->filterTable($table); @@ -70,13 +76,13 @@ class Piwik_DataTable_Filter_ReplaceColumnNames extends Piwik_DataTable_Filter } } - protected function filterSimple(Piwik_DataTable_Simple $table) + protected function filterSimple(Simple $table) { foreach ($table->getRows() as $row) { - $columns = array_keys( $row->getColumns() ); - foreach($columns as $column) { + $columns = array_keys($row->getColumns()); + foreach ($columns as $column) { $newName = $this->getRenamedColumn($column); - if($newName) { + if ($newName) { $row->renameColumn($column, $newName); } } diff --git a/core/DataTable/Filter/ReplaceSummaryRowLabel.php b/core/DataTable/Filter/ReplaceSummaryRowLabel.php index b89f05871c976300a9ce66e1124a243a1a91cfa4..2e6571692202c10e3ad17b3959e49cf43f44be72 100644 --- a/core/DataTable/Filter/ReplaceSummaryRowLabel.php +++ b/core/DataTable/Filter/ReplaceSummaryRowLabel.php @@ -8,16 +8,21 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; +use Piwik\DataTable\Manager; /** * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_ReplaceSummaryRowLabel extends Piwik_DataTable_Filter +class ReplaceSummaryRowLabel extends Filter { /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string|null $newLabel new label for summary row */ public function __construct($table, $newLabel = null) @@ -32,13 +37,13 @@ class Piwik_DataTable_Filter_ReplaceSummaryRowLabel extends Piwik_DataTable_Filt /** * Updates the summary row label * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { $rows = $table->getRows(); foreach ($rows as $row) { - if ($row->getColumn('label') == Piwik_DataTable::LABEL_SUMMARY_ROW) { + if ($row->getColumn('label') == DataTable::LABEL_SUMMARY_ROW) { $row->setColumn('label', $this->newLabel); break; } @@ -47,7 +52,7 @@ class Piwik_DataTable_Filter_ReplaceSummaryRowLabel extends Piwik_DataTable_Filt // recurse foreach ($rows as $row) { if ($row->isSubtableLoaded()) { - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($row->getIdSubDataTable()); + $subTable = Manager::getInstance()->getTable($row->getIdSubDataTable()); $this->filter($subTable); } } diff --git a/core/DataTable/Filter/SafeDecodeLabel.php b/core/DataTable/Filter/SafeDecodeLabel.php index ef8643b77f83e07443275b439bcfda46685da9dd..ecb183c6cbe889bbe6eef4aa689e292695c25eae 100644 --- a/core/DataTable/Filter/SafeDecodeLabel.php +++ b/core/DataTable/Filter/SafeDecodeLabel.php @@ -8,18 +8,22 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; /** * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_SafeDecodeLabel extends Piwik_DataTable_Filter +class SafeDecodeLabel extends Filter { private $columnToDecode; static private $outputHtml = true; /** - * @param Piwik_DataTable $table + * @param DataTable $table */ public function __construct($table) { @@ -57,7 +61,7 @@ class Piwik_DataTable_Filter_SafeDecodeLabel extends Piwik_DataTable_Filter /** * Decodes all columns of the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -71,5 +75,4 @@ class Piwik_DataTable_Filter_SafeDecodeLabel extends Piwik_DataTable_Filter } } } - } diff --git a/core/DataTable/Filter/Sort.php b/core/DataTable/Filter/Sort.php index 014362b45d386278e60dabec95b62cb676c27b44..72bc433befccb4a8a8555762388b439b0eed9239 100644 --- a/core/DataTable/Filter/Sort.php +++ b/core/DataTable/Filter/Sort.php @@ -8,22 +8,28 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable\Filter; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\DataTable; /** * Sort the DataTable based on the value of column $columnToSort ordered by $order. * Possible to specify a natural sorting (see php.net/natsort for details) * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter +class Sort extends Filter { protected $columnToSort; protected $order; /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $columnToSort name of the column to sort by * @param string $order order (asc|desc) * @param bool $naturalSort use natural sort? @@ -65,27 +71,27 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter */ public function sort($a, $b) { - return !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) - && !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + return !isset($a->c[Row::COLUMNS][$this->columnToSort]) + && !isset($b->c[Row::COLUMNS][$this->columnToSort]) ? 0 : ( - !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + !isset($a->c[Row::COLUMNS][$this->columnToSort]) ? 1 : ( - !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + !isset($b->c[Row::COLUMNS][$this->columnToSort]) ? -1 - : (($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort] != $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort] - || !isset($a->c[Piwik_DataTable_Row::COLUMNS]['label'])) + : (($a->c[Row::COLUMNS][$this->columnToSort] != $b->c[Row::COLUMNS][$this->columnToSort] + || !isset($a->c[Row::COLUMNS]['label'])) ? ($this->sign * ( - $a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort] - < $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort] + $a->c[Row::COLUMNS][$this->columnToSort] + < $b->c[Row::COLUMNS][$this->columnToSort] ? -1 : 1) ) : -1 * $this->sign * strnatcasecmp( - $a->c[Piwik_DataTable_Row::COLUMNS]['label'], - $b->c[Piwik_DataTable_Row::COLUMNS]['label']) + $a->c[Row::COLUMNS]['label'], + $b->c[Row::COLUMNS]['label']) ) ) ); @@ -100,16 +106,16 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter */ function naturalSort($a, $b) { - return !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) - && !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + return !isset($a->c[Row::COLUMNS][$this->columnToSort]) + && !isset($b->c[Row::COLUMNS][$this->columnToSort]) ? 0 - : (!isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + : (!isset($a->c[Row::COLUMNS][$this->columnToSort]) ? 1 - : (!isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + : (!isset($b->c[Row::COLUMNS][$this->columnToSort]) ? -1 : $this->sign * strnatcasecmp( - $a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort], - $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort] + $a->c[Row::COLUMNS][$this->columnToSort], + $b->c[Row::COLUMNS][$this->columnToSort] ) ) ); @@ -124,16 +130,16 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter */ function sortString($a, $b) { - return !isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) - && !isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + return !isset($a->c[Row::COLUMNS][$this->columnToSort]) + && !isset($b->c[Row::COLUMNS][$this->columnToSort]) ? 0 - : (!isset($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + : (!isset($a->c[Row::COLUMNS][$this->columnToSort]) ? 1 - : (!isset($b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort]) + : (!isset($b->c[Row::COLUMNS][$this->columnToSort]) ? -1 : $this->sign * - strcasecmp($a->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort], - $b->c[Piwik_DataTable_Row::COLUMNS][$this->columnToSort] + strcasecmp($a->c[Row::COLUMNS][$this->columnToSort], + $b->c[Row::COLUMNS][$this->columnToSort] ) ) ); @@ -142,7 +148,7 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter /** * Sets the column to be used for sorting * - * @param Piwik_DataTable_Row $row + * @param Row $row * @return int */ protected function selectColumnToSort($row) @@ -179,12 +185,12 @@ class Piwik_DataTable_Filter_Sort extends Piwik_DataTable_Filter /** * Sorts the given data table by defined column and sorting method * - * @param Piwik_DataTable $table + * @param DataTable $table * @return mixed */ public function filter($table) { - if ($table instanceof Piwik_DataTable_Simple) { + if ($table instanceof Simple) { return; } if (empty($this->columnToSort)) { diff --git a/core/DataTable/Filter/Truncate.php b/core/DataTable/Filter/Truncate.php index 7c917034f94b303c81be2aec3411260fd5836f1c..1cd6f98bf070a925d6c33ea992ef1e998649ec1e 100644 --- a/core/DataTable/Filter/Truncate.php +++ b/core/DataTable/Filter/Truncate.php @@ -8,15 +8,20 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Filter; + +use Piwik\DataTable; +use Piwik\DataTable\Filter; +use Piwik\DataTable\Manager; /** * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Filter_Truncate extends Piwik_DataTable_Filter +class Truncate extends Filter { /** - * @param Piwik_DataTable $table + * @param DataTable $table * @param int $truncateAfter */ public function __construct($table, $truncateAfter) @@ -28,7 +33,7 @@ class Piwik_DataTable_Filter_Truncate extends Piwik_DataTable_Filter /** * Truncates the table after X rows and adds a summary row * - * @param Piwik_DataTable $table + * @param DataTable $table */ public function filter($table) { @@ -38,7 +43,7 @@ class Piwik_DataTable_Filter_Truncate extends Piwik_DataTable_Filter foreach ($table->getRows() as $row) { if ($row->isSubtableLoaded()) { $idSubTable = $row->getIdSubDataTable(); - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable); + $subTable = Manager::getInstance()->getTable($idSubTable); $subTable->filter('Truncate', array($this->truncateAfter)); } } diff --git a/core/DataTable/Manager.php b/core/DataTable/Manager.php index 21dc600481c1c5298c1e0196ce394c0579858f21..b32463b17604f77cf972140a22de6ff632bb280d 100644 --- a/core/DataTable/Manager.php +++ b/core/DataTable/Manager.php @@ -9,7 +9,11 @@ * @package Piwik */ +namespace Piwik\DataTable; + +use Exception; use Piwik\Common; +use Piwik\DataTable; /** * The DataTable_Manager registers all the instanciated DataTable and provides an @@ -17,16 +21,16 @@ use Piwik\Common; * At the end of archiving, the ArchiveProcessor will read the stored datatable and record them in the DB. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Manager +class Manager { static private $instance = null; /** * Returns instance * - * @return Piwik_DataTable_Manager + * @return \Piwik\DataTable\Manager */ static public function getInstance() { @@ -52,7 +56,7 @@ class Piwik_DataTable_Manager /** * Add a DataTable to the registry * - * @param Piwik_DataTable $table + * @param DataTable $table * @return int Index of the table in the manager array */ public function addTable($table) @@ -69,7 +73,7 @@ class Piwik_DataTable_Manager * * @param int $idTable * @throws Exception If the table can't be found - * @return Piwik_DataTable The table + * @return DataTable The table */ public function getTable($idTable) { @@ -134,9 +138,9 @@ class Piwik_DataTable_Manager */ public function dumpAllTables() { - echo "<hr />Piwik_DataTable_Manager->dumpAllTables()<br />"; + echo "<hr />Manager->dumpAllTables()<br />"; foreach ($this->tables as $id => $table) { - if (!($table instanceof Piwik_DataTable)) { + if (!($table instanceof DataTable)) { echo "Error table $id is not instance of datatable<br />"; var_export($table); } else { @@ -146,6 +150,6 @@ class Piwik_DataTable_Manager echo "<br />"; } } - echo "<br />-- End Piwik_DataTable_Manager->dumpAllTables()<hr />"; + echo "<br />-- End Manager->dumpAllTables()<hr />"; } } diff --git a/core/DataTable/Array.php b/core/DataTable/Map.php similarity index 86% rename from core/DataTable/Array.php rename to core/DataTable/Map.php index 0274a65fe56e4ae397f7e35bab2b0c5e7cbbca8b..7bda0c19843c68565671ffd6d2698fd0ce6fb953 100644 --- a/core/DataTable/Array.php +++ b/core/DataTable/Map.php @@ -8,27 +8,28 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable; /** * The DataTable_Array is a way to store an array of dataTable. - * The Piwik_DataTable_Array implements some of the features of the Piwik_DataTable such as queueFilter, getRowsCount. + * The Set implements some of the features of the DataTable such as queueFilter, getRowsCount. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Array +class Map { /** - * Array containing the DataTable withing this Piwik_DataTable_Array + * Array containing the DataTable withing this Set * - * @var Piwik_DataTable[] + * @var DataTable[] */ protected $array = array(); /** * This is the label used to index the tables. * For example if the tables are indexed using the timestamp of each period - * eg. $this->array[1045886960] = new Piwik_DataTable(); + * eg. $this->array[1045886960] = new DataTable(); * the keyName would be 'timestamp'. * * This label is used in the Renderer (it becomes a column name or the XML description tag) @@ -70,7 +71,7 @@ class Piwik_DataTable_Array /** * Queue a filter to the DataTable_Array will queue this filter to every DataTable of the DataTable_Array. * - * @param string $className Filter name, eg. Piwik_DataTable_Filter_Limit + * @param string $className Filter name, eg. Limit * @param array $parameters Filter parameters, eg. array( 50, 10 ) */ public function queueFilter($className, $parameters = array()) @@ -106,7 +107,7 @@ class Piwik_DataTable_Array /** * Returns the array of DataTable * - * @return Piwik_DataTable[] + * @return DataTable[] */ public function getArray() { @@ -117,7 +118,7 @@ class Piwik_DataTable_Array * Returns the table with the specified label. * * @param string $label - * @return Piwik_DataTable + * @return DataTable */ public function getTable($label) { @@ -128,7 +129,7 @@ class Piwik_DataTable_Array * Returns the first row * This method can be used to treat DataTable and DataTable_Array in the same way * - * @return Piwik_DataTable_Row + * @return Row */ public function getFirstRow() { @@ -144,7 +145,7 @@ class Piwik_DataTable_Array /** * Adds a new DataTable to the DataTable_Array * - * @param Piwik_DataTable $table + * @param DataTable $table * @param string $label Label used to index this table in the array */ public function addTable($table, $label) @@ -287,19 +288,19 @@ class Piwik_DataTable_Array * This function can be used, for example, to smoosh IndexedBySite archive * query results into one DataTable w/ different rows differentiated by site ID. * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|Set */ public function mergeChildren() { $firstChild = reset($this->array); - if ($firstChild instanceof Piwik_DataTable_Array) { + if ($firstChild instanceof Set) { $result = $firstChild->getEmptyClone(); foreach ($this->array as $label => $subTableArray) { foreach ($subTableArray->array as $innerLabel => $subTable) { if (!isset($result->array[$innerLabel])) { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); $dataTable->metadata = $subTable->metadata; $result->addTable($dataTable, $innerLabel); @@ -309,7 +310,7 @@ class Piwik_DataTable_Array } } } else { - $result = new Piwik_DataTable(); + $result = new DataTable(); foreach ($this->array as $label => $subTable) { $this->copyRowsAndSetLabel($result, $subTable, $label); @@ -323,21 +324,21 @@ class Piwik_DataTable_Array * Utility function used by mergeChildren. Copies the rows from one table, * sets their 'label' columns to a value and adds them to another table. * - * @param Piwik_DataTable $toTable The table to copy rows to. - * @param Piwik_DataTable $fromTable The table to copy rows from. + * @param DataTable $toTable The table to copy rows to. + * @param DataTable $fromTable The table to copy rows from. * @param string $label The value to set the 'label' column of every copied row. */ - private function copyRowsAndSetLabel($toTable, $fromTable, $label) + private function copyRowsAndSetLabel(DataTable $toTable, DataTable $fromTable, $label) { foreach ($fromTable->getRows() as $fromRow) { $oldColumns = $fromRow->getColumns(); unset($oldColumns['label']); $columns = array_merge(array('label' => $label), $oldColumns); - $row = new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => $columns, - Piwik_DataTable_Row::METADATA => $fromRow->getMetadata(), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $fromRow->getIdSubDataTable() + $row = new Row(array( + Row::COLUMNS => $columns, + Row::METADATA => $fromRow->getMetadata(), + Row::DATATABLE_ASSOCIATED => $fromRow->getIdSubDataTable() )); $toTable->addRow($row); } @@ -347,9 +348,9 @@ class Piwik_DataTable_Array * Adds a DataTable to all the tables in this array * NOTE: Will only add $tableToSum if the childTable has some rows * - * @param Piwik_DataTable $tableToSum + * @param DataTable $tableToSum */ - public function addDataTable(Piwik_DataTable $tableToSum) + public function addDataTable(DataTable $tableToSum) { foreach ($this->getArray() as $childTable) { if ($childTable->getRowsCount() > 0) { @@ -364,7 +365,7 @@ class Piwik_DataTable_Array * * @see Piwik_DataTable::mergeSubtables * - * @return Piwik_DataTable_Array + * @return Set */ public function mergeSubtables() { @@ -379,11 +380,11 @@ class Piwik_DataTable_Array * Returns a new DataTable_Array w/o any child DataTables, but with * the same key name as this instance. * - * @return Piwik_DataTable_Array + * @return Set */ public function getEmptyClone() { - $newTableArray = new Piwik_DataTable_Array; + $newTableArray = new Map; $newTableArray->setKeyName($this->getKeyName()); return $newTableArray; } diff --git a/core/DataTable/Renderer.php b/core/DataTable/Renderer.php index 68fcf88fe502de90acec4982f904a25e439a979d..88f3f9ff3765a8562e182c202ac777462d0cc774 100644 --- a/core/DataTable/Renderer.php +++ b/core/DataTable/Renderer.php @@ -8,21 +8,26 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable; + +use Exception; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\DataTable; +use Piwik\DataTable\Simple; /** * A DataTable Renderer can produce an output given a DataTable object. * All new Renderers must be copied in DataTable/Renderer and added to the factory() method. * To use a renderer, simply do: - * $render = new Piwik_DataTable_Renderer_Xml(); + * $render = new Xml(); * $render->setTable($dataTable); * echo $render; * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -abstract class Piwik_DataTable_Renderer +abstract class Renderer { protected $table; protected $exception; @@ -59,7 +64,6 @@ abstract class Piwik_DataTable_Renderer */ public $idSite = 'all'; - public function __construct() { } @@ -135,16 +139,16 @@ abstract class Piwik_DataTable_Renderer /** * Set the DataTable to be rendered * - * @param Piwik_DataTable|Piwik_DataTable_Simple|Piwik_DataTable_Array $table table to be rendered + * @param DataTable|Simple|DataTable\Map $table table to be rendered * @throws Exception */ public function setTable($table) { if (!is_array($table) - && !($table instanceof Piwik_DataTable) - && !($table instanceof Piwik_DataTable_Array) + && !($table instanceof DataTable) + && !($table instanceof DataTable\Map) ) { - throw new Exception("DataTable renderers renderer accepts only Piwik_DataTable and Piwik_DataTable_Array instances, and array instances."); + throw new Exception("DataTable renderers renderer accepts only DataTable and Set instances, and array instances."); } $this->table = $table; } @@ -163,7 +167,6 @@ abstract class Piwik_DataTable_Renderer $this->exception = $exception; } - /** * @var array */ @@ -190,20 +193,19 @@ abstract class Piwik_DataTable_Renderer * * @param string $name * @throws Exception If the renderer is unknown - * @return Piwik_DataTable_Renderer + * @return \Piwik\DataTable\Renderer */ static public function factory($name) { - $name = ucfirst(strtolower($name)); - $className = 'Piwik_DataTable_Renderer_' . $name; - + $className = ucfirst(strtolower($name)); + $className = 'Piwik\DataTable\Renderer\\' . $className; try { - Piwik_Loader::loadClass($className); + \Piwik\Loader::loadClass($className); return new $className; } catch (Exception $e) { $availableRenderers = implode(', ', self::getRenderers()); @header('Content-Type: text/plain; charset=utf-8'); - throw new Exception(Piwik_TranslateException('General_ExceptionInvalidRendererFormat', array($name, $availableRenderers))); + throw new Exception(Piwik_TranslateException('General_ExceptionInvalidRendererFormat', array($className, $availableRenderers))); } } @@ -365,7 +367,7 @@ abstract class Piwik_DataTable_Renderer * - empty array (ie, array()) * - array w/ arrays/DataTable instances as values (ie, * array('name' => 'myreport', - * 'reportData' => new Piwik_DataTable()) + * 'reportData' => new DataTable()) * OR array('name' => 'myreport', * 'reportData' => array(...)) ) * diff --git a/core/DataTable/Renderer/Console.php b/core/DataTable/Renderer/Console.php index c78b4eda1f0d2fb3920cdbdf946a577ca6d11730..594c80427facc3efda8469f85578b061bf384985 100644 --- a/core/DataTable/Renderer/Console.php +++ b/core/DataTable/Renderer/Console.php @@ -8,14 +8,19 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Renderer; /** * Simple output * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage Piwik_DataTable_Renderer_ConsoleDataTable */ -class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer +class Console extends Renderer { /** * Prefix @@ -60,13 +65,13 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer /** * Computes the output of the given array of data tables * - * @param Piwik_DataTable_Array $tableArray data tables to render + * @param DataTable\Map $tableArray data tables to render * @param string $prefix prefix to output before table data * @return string */ - protected function renderDataTableArray(Piwik_DataTable_Array $tableArray, $prefix) + protected function renderDataTableArray(DataTable\Map $tableArray, $prefix) { - $output = "Piwik_DataTable_Array<hr />"; + $output = "Set<hr />"; $prefix = $prefix . ' '; foreach ($tableArray->getArray() as $descTable => $table) { $output .= $prefix . "<b>" . $descTable . "</b><br />"; @@ -79,7 +84,7 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer /** * Computes the given dataTable output and returns the string/binary * - * @param Piwik_DataTable $table data table to render + * @param DataTable $table data table to render * @param string $prefix prefix to output before table data * @return string */ @@ -87,10 +92,10 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer { if (is_array($table)) // convert array to DataTable { - $table = Piwik_DataTable::makeFromSimpleArray($table); + $table = DataTable::makeFromSimpleArray($table); } - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { return $this->renderDataTableArray($table, $prefix); } @@ -105,7 +110,7 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer $dataTableArrayBreak = false; $columns = array(); foreach ($row->getColumns() as $column => $value) { - if ($value instanceof Piwik_DataTable_Array) { + if ($value instanceof DataTable\Map) { $output .= $this->renderDataTableArray($value, $prefix); $dataTableArrayBreak = true; break; @@ -136,7 +141,7 @@ class Piwik_DataTable_Renderer_Console extends Piwik_DataTable_Renderer if ($row->isSubtableLoaded()) { $depth++; $output .= $this->renderTable( - Piwik_DataTable_Manager::getInstance()->getTable( + Manager::getInstance()->getTable( $row->getIdSubDataTable() ), $prefix . ' ' diff --git a/core/DataTable/Renderer/Csv.php b/core/DataTable/Renderer/Csv.php index 9b2f5505d6e73475d665b95271f1cf8e99a8fb6a..03074897d4721f4988d76f48f5600fe3b8ecebe2 100644 --- a/core/DataTable/Renderer/Csv.php +++ b/core/DataTable/Renderer/Csv.php @@ -8,10 +8,16 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Piwik\DataTable\Simple; +use Piwik\DataTable\Renderer; use Piwik\Period; -use Piwik\Period_Range; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\DataTable; /** * CSV export @@ -23,9 +29,9 @@ use Piwik\Common; * Formatting and layout are ignored. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer +class Csv extends Renderer { /** * Column separator @@ -119,7 +125,7 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer /** * Computes the output of the given data table * - * @param Piwik_DataTable|array $table + * @param DataTable|array $table * @param array $allColumns * @return string */ @@ -127,10 +133,10 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer { if (is_array($table)) // convert array to DataTable { - $table = Piwik_DataTable::makeFromSimpleArray($table); + $table = DataTable::makeFromSimpleArray($table); } - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { $str = $this->renderDataTableArray($table, $allColumns); } else { $str = $this->renderDataTable($table, $allColumns); @@ -141,7 +147,7 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer /** * Computes the output of the given data table array * - * @param Piwik_DataTable_Array $table + * @param DataTable\Map $table * @param array $allColumns * @return string */ @@ -176,13 +182,13 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer /** * Converts the output of the given simple data table * - * @param Piwik_DataTable_Simple $table + * @param Simple $table * @param array $allColumns * @return string */ protected function renderDataTable($table, &$allColumns = array()) { - if ($table instanceof Piwik_DataTable_Simple) { + if ($table instanceof Simple) { $row = $table->getFirstRow(); if ($row !== false) { $columnNameToValue = $row->getColumns(); @@ -352,11 +358,11 @@ class Piwik_DataTable_Renderer_Csv extends Piwik_DataTable_Renderer if ($period || $date) // in test cases, there are no request params set { if ($period == 'range') { - $period = new Period_Range($period, $date); + $period = new Range($period, $date); } else if (strpos($date, ',') !== false) { - $period = new Period_Range('range', $date); + $period = new Range('range', $date); } else { - $period = Period::factory($period, Piwik_Date::factory($date)); + $period = Period::factory($period, Date::factory($date)); } $prettyDate = $period->getLocalizedLongString(); diff --git a/core/DataTable/Renderer/Html.php b/core/DataTable/Renderer/Html.php index 1d620f74cc73c58eb0fb6cc81c1f98c7d690b3d6..035726a9ed31f0858c18dfb4f4d7371d559396d6 100644 --- a/core/DataTable/Renderer/Html.php +++ b/core/DataTable/Renderer/Html.php @@ -8,15 +8,21 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Exception; +use Piwik\DataTable; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Renderer; /** * Simple HTML output * Does not work with recursive DataTable (i.e., when a row can be associated with a subDataTable). * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer +class Html extends Renderer { protected $tableId; protected $allColumns; @@ -71,23 +77,23 @@ class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer /** * Computes the output for the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table * @return string */ protected function renderTable($table) { if (is_array($table)) // convert array to DataTable { - $table = Piwik_DataTable::makeFromSimpleArray($table); + $table = DataTable::makeFromSimpleArray($table); } - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { foreach ($table->getArray() as $date => $subtable) { if ($subtable->getRowsCount()) { $this->buildTableStructure($subtable, '_' . $table->getKeyName(), $date); } } - } else // Piwik_DataTable_Simple + } else // Simple { if ($table->getRowsCount()) { $this->buildTableStructure($table); @@ -101,7 +107,7 @@ class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer /** * Adds the given data table to the table structure array * - * @param Piwik_DataTable_Simple $table + * @param Simple $table * @param null|string $columnToAdd * @param null|string $valueToAdd * @throws Exception @@ -117,7 +123,7 @@ class Piwik_DataTable_Renderer_Html extends Piwik_DataTable_Renderer * ROW1 = col1 | col2 | col3 | metadata | idSubTable * ROW2 = col1 | col2 (no value but appears) | col3 | metadata | idSubTable */ - if (!($table instanceof Piwik_DataTable)) { + if (!($table instanceof DataTable)) { throw new Exception("HTML Renderer does not work with this combination of parameters"); } foreach ($table->getRows() as $row) { diff --git a/core/DataTable/Renderer/Json.php b/core/DataTable/Renderer/Json.php index 92e0830316714a2d97d066be37919e63037682c6..f5f6fc12bbc1f3bfefb480b81944eaf7ab1feea7 100644 --- a/core/DataTable/Renderer/Json.php +++ b/core/DataTable/Renderer/Json.php @@ -8,17 +8,22 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Piwik\DataTable\Renderer; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; +use Piwik\DataTable\Renderer\Php; /** * JSON export. * Works with recursive DataTable (when a row can be associated with a subDataTable). * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Renderer_Json extends Piwik_DataTable_Renderer +class Json extends Renderer { /** * Computes the dataTable output and returns the string/binary @@ -50,7 +55,7 @@ class Piwik_DataTable_Renderer_Json extends Piwik_DataTable_Renderer /** * Computes the output for the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table * @return string */ protected function renderTable($table) @@ -61,7 +66,7 @@ class Piwik_DataTable_Renderer_Json extends Piwik_DataTable_Renderer $array = array($array); } } else { - $renderer = new Piwik_DataTable_Renderer_Php(); + $renderer = new Php(); $renderer->setTable($table); $renderer->setRenderSubTables($this->isRenderSubtables()); $renderer->setSerialize(false); diff --git a/core/DataTable/Renderer/Php.php b/core/DataTable/Renderer/Php.php index ec66701cbe192051360d750372a3e5f1f77fe514..6717746295c2a68169c5b95fcc74f1b2e7a5c371 100644 --- a/core/DataTable/Renderer/Php.php +++ b/core/DataTable/Renderer/Php.php @@ -8,7 +8,14 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Exception; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Renderer; use Piwik\Piwik; +use Piwik\DataTable; /** * Returns the equivalent PHP array for a given DataTable. @@ -19,9 +26,9 @@ use Piwik\Piwik; * Works with recursive DataTable (when a row can be associated with a subDataTable). * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer +class Php extends Renderer { protected $prettyDisplay = false; protected $serialize = true; @@ -63,7 +70,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer /** * Computes the dataTable output and returns the string/binary * - * @param null|Piwik_DataTable_Array|Piwik_DataTable_Simple $dataTable + * @param null|DataTable\Map|Simple $dataTable * @return string */ public function render($dataTable = null) @@ -116,7 +123,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer * 'col2_name' => value2, * 'metadata1_name' => value_metadata ) * - * @param null|Piwik_DataTable_Array|Piwik_DataTable_Simple $dataTable + * @param null|DataTable\Map|Simple $dataTable * @return array Php array representing the 'flat' version of the datatable */ public function flatRender($dataTable = null) @@ -130,7 +137,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer if (self::shouldWrapArrayBeforeRendering($flatArray)) { $flatArray = array($flatArray); } - } else if ($dataTable instanceof Piwik_DataTable_Array) { + } else if ($dataTable instanceof DataTable\Map) { $flatArray = array(); foreach ($dataTable->getArray() as $keyName => $table) { $serializeSave = $this->serialize; @@ -138,7 +145,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer $flatArray[$keyName] = $this->flatRender($table); $this->serialize = $serializeSave; } - } else if ($dataTable instanceof Piwik_DataTable_Simple) { + } else if ($dataTable instanceof Simple) { $flatArray = $this->renderSimpleTable($dataTable); // if we return only one numeric value then we print out the result in a simple <result> tag @@ -146,7 +153,6 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer if (count($flatArray) == 1) { $flatArray = current($flatArray); } - } // A normal DataTable needs to be handled specifically else { $array = $this->renderTable($dataTable); @@ -191,11 +197,11 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer */ public function originalRender() { - Piwik::checkObjectTypeIs($this->table, array('Piwik_DataTable_Simple', 'Piwik_DataTable')); + Piwik::checkObjectTypeIs($this->table, array('Simple', 'DataTable')); - if ($this->table instanceof Piwik_DataTable_Simple) { + if ($this->table instanceof Simple) { $array = $this->renderSimpleTable($this->table); - } elseif ($this->table instanceof Piwik_DataTable) { + } elseif ($this->table instanceof DataTable) { $array = $this->renderTable($this->table); } @@ -208,7 +214,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer /** * Converts the given data table to an array * - * @param Piwik_DataTable $table + * @param DataTable $table * @return array */ protected function renderTable($table) @@ -222,14 +228,14 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer 'idsubdatatable' => $row->getIdSubDataTable(), ); - if ($id == Piwik_DataTable::ID_SUMMARY_ROW) { + if ($id == DataTable::ID_SUMMARY_ROW) { $newRow['issummaryrow'] = true; } if ($this->isRenderSubtables() && $row->isSubtableLoaded() ) { - $subTable = $this->renderTable(Piwik_DataTable_Manager::getInstance()->getTable($row->getIdSubDataTable())); + $subTable = $this->renderTable(Manager::getInstance()->getTable($row->getIdSubDataTable())); $newRow['subtable'] = $subTable; if ($this->hideIdSubDatatable === false && isset($newRow['metadata']['idsubdatatable_in_db']) @@ -250,7 +256,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer /** * Converts the simple data table to an array * - * @param Piwik_DataTable_Simple $table + * @param Simple $table * @return array */ protected function renderSimpleTable($table) diff --git a/core/DataTable/Renderer/Rss.php b/core/DataTable/Renderer/Rss.php index 2c1fd0511445c3230b41b6105145cc1936e9eaac..2b131d25df39fb84a23fb878f500f20babfd0538 100644 --- a/core/DataTable/Renderer/Rss.php +++ b/core/DataTable/Renderer/Rss.php @@ -8,17 +8,24 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Exception; use Piwik\Common; +use Piwik\DataTable\Renderer; +use Piwik\Date; +use Piwik\DataTable; +use Piwik_Url; /** * RSS Feed. - * The RSS renderer can be used only on Piwik_DataTable_Array that are arrays of Piwik_DataTable. - * A RSS feed contains one dataTable per element in the Piwik_DataTable_Array. + * The RSS renderer can be used only on Set that are arrays of DataTable. + * A RSS feed contains one dataTable per element in the Set. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer +class Rss extends Renderer { /** * Computes the dataTable output and returns the string/binary @@ -46,13 +53,13 @@ class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer /** * Computes the output for the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table * @return string * @throws Exception */ protected function renderTable($table) { - if (!($table instanceof Piwik_DataTable_Array) + if (!($table instanceof DataTable\Map) || $table->getKeyName() != 'date' ) { throw new Exception("RSS feeds can be generated for one specific website &idSite=X." . @@ -72,7 +79,7 @@ class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer $pudDate = date('r', $timestamp); - $dateInSiteTimezone = Piwik_Date::factory($timestamp)->setTimezone($site->getTimezone())->toString('Y-m-d'); + $dateInSiteTimezone = Date::factory($timestamp)->setTimezone($site->getTimezone())->toString('Y-m-d'); $thisPiwikUrl = Common::sanitizeInputValue($piwikUrl . "&date=$dateInSiteTimezone"); $siteName = $site->getName(); $title = $siteName . " on " . $date; @@ -189,7 +196,6 @@ class Piwik_DataTable_Renderer_Rss extends Piwik_DataTable_Renderer } } $html .= "</tr>"; - } $html .= "\n\n</table>"; return $html; diff --git a/core/DataTable/Renderer/Tsv.php b/core/DataTable/Renderer/Tsv.php index 4835853143eb2d7b79a306b8068a189c3d5c5669..3f6aea5b53c6af84be5205a60427bec80da0e19c 100644 --- a/core/DataTable/Renderer/Tsv.php +++ b/core/DataTable/Renderer/Tsv.php @@ -8,6 +8,9 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Piwik\DataTable\Renderer\Csv; /** * TSV export @@ -16,9 +19,9 @@ * TSV is therefore the 'CSV' that is Excel compatible * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Renderer_Tsv extends Piwik_DataTable_Renderer_Csv +class Tsv extends Csv { /** * Constructor diff --git a/core/DataTable/Renderer/Xml.php b/core/DataTable/Renderer/Xml.php index ba00e6d39eae06c59dde1d007922d5f7375d623b..4a9fdbdec52207950e11d67d82d9ebd0ab75288a 100644 --- a/core/DataTable/Renderer/Xml.php +++ b/core/DataTable/Renderer/Xml.php @@ -8,7 +8,15 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Renderer; + +use Exception; +use Piwik\DataTable\Renderer\Php; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Renderer; use Piwik\Piwik; +use Piwik\DataTable; +use DataTable\Map; /** * XML export of a given DataTable. @@ -18,9 +26,9 @@ use Piwik\Piwik; * Works with recursive DataTable (when a row can be associated with a subDataTable). * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer +class Xml extends Renderer { /** * Computes the dataTable output and returns the string/binary @@ -55,7 +63,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer /** * Converts the given data table to an array * - * @param Piwik_DataTable $table data table to convert + * @param DataTable $table data table to convert * @return array */ protected function getArrayFromDataTable($table) @@ -64,7 +72,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer return $table; } - $renderer = new Piwik_DataTable_Renderer_Php(); + $renderer = new Php(); $renderer->setRenderSubTables($this->isRenderSubtables()); $renderer->setSerialize(false); $renderer->setTable($table); @@ -75,7 +83,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer /** * Computes the output for the given data table * - * @param Piwik_DataTable $table + * @param DataTable $table * @param bool $returnOnlyDataTableXml * @param string $prefixLines * @return array|string @@ -84,7 +92,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer protected function renderTable($table, $returnOnlyDataTableXml = false, $prefixLines = '') { $array = $this->getArrayFromDataTable($table); - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { $out = $this->renderDataTableArray($table, $array, $prefixLines); if ($returnOnlyDataTableXml) { @@ -102,7 +110,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer $out = "<result />"; return $out; } - if ($table instanceof Piwik_DataTable_Simple) { + if ($table instanceof Simple) { if (is_array($array)) { $out = $this->renderDataTableSimple($array); } else { @@ -125,7 +133,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer return $out; } - if ($table instanceof Piwik_DataTable) { + if ($table instanceof DataTable) { $out = $this->renderDataTable($array); if ($returnOnlyDataTableXml) { return $out; @@ -191,16 +199,16 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer $result .= $prefixLines . $prefix . "\n"; $result .= $this->renderArray($value, $prefixLines . "\t"); $result .= $prefixLines . $suffix . "\n"; - } else if ($value instanceof Piwik_DataTable - || $value instanceof Piwik_DataTable_Array + } else if ($value instanceof DataTable + || $value instanceof DataTable\Map ) { if ($value->getRowsCount() == 0) { $result .= $prefixLines . $emptyNode . "\n"; } else { $result .= $prefixLines . $prefix . "\n"; - if ($value instanceof Piwik_DataTable_Array) { + if ($value instanceof DataTable\Map) { $result .= $this->renderDataTableArray($value, $this->getArrayFromDataTable($value), $prefixLines); - } else if ($value instanceof Piwik_DataTable_Simple) { + } else if ($value instanceof Simple) { $result .= $this->renderDataTableSimple($this->getArrayFromDataTable($value), $prefixLines); } else { $result .= $this->renderDataTable($this->getArrayFromDataTable($value), $prefixLines); @@ -225,7 +233,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer /** * Computes the output for the given data table array * - * @param Piwik_DataTable_Array $table + * @param DataTable\Map $table * @param array $array * @param string $prefixLines * @return string @@ -243,7 +251,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer foreach ($array as $valueAttribute => $value) { if (empty($value)) { $xml .= $prefixLines . "\t<result $nameDescriptionAttribute=\"$valueAttribute\" />\n"; - } elseif ($value instanceof Piwik_DataTable_Array) { + } elseif ($value instanceof DataTable\Map) { $out = $this->renderTable($value, true); //TODO somehow this code is not tested, cover this case $xml .= "\t<result $nameDescriptionAttribute=\"$valueAttribute\">\n$out</result>\n"; @@ -267,7 +275,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer // array // 'nb_uniq_visitors' => string '28' // 'nb_visits' => string '11' - if ($firstTable instanceof Piwik_DataTable_Simple) { + if ($firstTable instanceof Simple) { $xml = ''; $nameDescriptionAttribute = $table->getKeyName(); foreach ($array as $valueAttribute => $dataTableSimple) { @@ -309,7 +317,7 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer // 'label' => string 'piwik bis' // 'nb_uniq_visitors' => int 20 // 'nb_visits' => int 120 - if ($firstTable instanceof Piwik_DataTable) { + if ($firstTable instanceof DataTable) { $xml = ''; $nameDescriptionAttribute = $table->getKeyName(); foreach ($array as $keyName => $arrayForSingleDate) { @@ -325,14 +333,13 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer return $xml; } - if ($firstTable instanceof Piwik_DataTable_Array) { + if ($firstTable instanceof DataTable\Map) { $xml = ''; $tables = $table->getArray(); $nameDescriptionAttribute = $table->getKeyName(); foreach ($tables as $valueAttribute => $tableInArray) { $out = $this->renderTable($tableInArray, true, $prefixLines . "\t"); $xml .= $prefixLines . "\t<result $nameDescriptionAttribute=\"$valueAttribute\">\n" . $out . $prefixLines . "\t</result>\n"; - } return $xml; } diff --git a/core/DataTable/Row.php b/core/DataTable/Row.php index 4b2b42a695a0d083df4798cbe92ffb4f3dd4d464..841ff5f5d6781a61463b6ace42b4fb08428dfbd6 100644 --- a/core/DataTable/Row.php +++ b/core/DataTable/Row.php @@ -8,7 +8,12 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable; + +use Exception; +use Piwik\DataTable\Manager; use Piwik\Metrics; +use Piwik\DataTable; /** * A DataTable is composed of rows. @@ -27,9 +32,9 @@ use Piwik\Metrics; * serialized and recorded in the DB millions of times. This object size is critical and must be under control. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Row +class Row { /** * List of columns that cannot be summed. An associative array for speed. @@ -45,7 +50,7 @@ class Piwik_DataTable_Row * This array contains the row information: * - array indexed by self::COLUMNS contains the columns, pairs of (column names, value) * - (optional) array indexed by self::METADATA contains the metadata, pairs of (metadata name, value) - * - (optional) integer indexed by self::DATATABLE_ASSOCIATED contains the ID of the Piwik_DataTable associated to this row. + * - (optional) integer indexed by self::DATATABLE_ASSOCIATED contains the ID of the DataTable associated to this row. * This ID can be used to read the DataTable from the DataTable_Manager. * * @var array @@ -61,22 +66,21 @@ class Piwik_DataTable_Row const METADATA = 1; const DATATABLE_ASSOCIATED = 3; - /** * Efficient load of the Row structure from a well structured php array * * @param array $row The row array has the structure * array( - * Piwik_DataTable_Row::COLUMNS => array( + * Row::COLUMNS => array( * 'label' => 'Piwik', * 'column1' => 42, * 'visits' => 657, * 'time_spent' => 155744, * ), - * Piwik_DataTable_Row::METADATA => array( + * Row::METADATA => array( * 'logo' => 'test.png' * ), - * Piwik_DataTable_Row::DATATABLE_ASSOCIATED => #Piwik_DataTable object + * Row::DATATABLE_ASSOCIATED => #DataTable object * (but in the row only the ID will be stored) * ) */ @@ -93,7 +97,7 @@ class Piwik_DataTable_Row $this->c[self::METADATA] = $row[self::METADATA]; } if (isset($row[self::DATATABLE_ASSOCIATED]) - && $row[self::DATATABLE_ASSOCIATED] instanceof Piwik_DataTable + && $row[self::DATATABLE_ASSOCIATED] instanceof DataTable ) { $this->setSubtable($row[self::DATATABLE_ASSOCIATED]); } @@ -134,7 +138,7 @@ class Piwik_DataTable_Row public function __destruct() { if ($this->isSubtableLoaded()) { - Piwik_DataTable_Manager::getInstance()->deleteTable($this->getIdSubDataTable()); + Manager::getInstance()->deleteTable($this->getIdSubDataTable()); $this->c[self::DATATABLE_ASSOCIATED] = null; } } @@ -257,12 +261,12 @@ class Piwik_DataTable_Row /** * Returns the associated subtable, if one exists. * - * @return Piwik_DataTable|false + * @return DataTable|false */ public function getSubtable() { if ($this->isSubtableLoaded()) { - return Piwik_DataTable_Manager::getInstance()->getTable($this->getIdSubDataTable()); + return Manager::getInstance()->getTable($this->getIdSubDataTable()); } return false; } @@ -272,31 +276,30 @@ class Piwik_DataTable_Row * If this row doesn't have a SubDataTable yet, we create a new one. * Then we add the values of the given DataTable to this row's DataTable. * - * @param Piwik_DataTable $subTable Table to sum to this row's subDatatable + * @param DataTable $subTable Table to sum to this row's subDatatable * @see Piwik_DataTable::addDataTable() for the algorithm used for the sum */ - public function sumSubtable(Piwik_DataTable $subTable) + public function sumSubtable(DataTable $subTable) { if ($this->isSubtableLoaded()) { $thisSubTable = $this->getSubtable(); } else { - $thisSubTable = new Piwik_DataTable(); + $thisSubTable = new DataTable(); $this->addSubtable($thisSubTable); } $thisSubTable->setColumnAggregationOperations($subTable->getColumnAggregationOperations()); $thisSubTable->addDataTable($subTable); } - /** * Set a DataTable to be associated to this row. * If the row already has a DataTable associated to it, throws an Exception. * - * @param Piwik_DataTable $subTable DataTable to associate to this row - * @return Piwik_DataTable Returns $subTable. + * @param DataTable $subTable DataTable to associate to this row + * @return DataTable Returns $subTable. * @throws Exception */ - public function addSubtable(Piwik_DataTable $subTable) + public function addSubtable(DataTable $subTable) { if (!is_null($this->c[self::DATATABLE_ASSOCIATED])) { throw new Exception("Adding a subtable to the row, but it already has a subtable associated."); @@ -308,10 +311,10 @@ class Piwik_DataTable_Row * Set a DataTable to this row. If there is already * a DataTable associated, it is simply overwritten. * - * @param Piwik_DataTable $subTable DataTable to associate to this row - * @return Piwik_DataTable Returns $subTable. + * @param DataTable $subTable DataTable to associate to this row + * @return DataTable Returns $subTable. */ - public function setSubtable(Piwik_DataTable $subTable) + public function setSubtable(DataTable $subTable) { // Hacking -1 to ensure value is negative, so we know the table was loaded // @see isSubtableLoaded() @@ -456,22 +459,22 @@ class Piwik_DataTable_Row * If the column already exists in $this then we have * this.columns[idThisCol] += $row.columns[idThisCol] * - * @param Piwik_DataTable_Row $rowToSum - * @param bool $enableCopyMetadata - * @param array $aggregationOperations for columns that should not be summed, determine which + * @param \Piwik\DataTable\Row $rowToSum + * @param bool $enableCopyMetadata + * @param array $aggregationOperations for columns that should not be summed, determine which * aggregation should be used (min, max). * format: column name => function name */ - public function sumRow(Piwik_DataTable_Row $rowToSum, $enableCopyMetadata = true, $aggregationOperations = null) + public function sumRow(Row $rowToSum, $enableCopyMetadata = true, $aggregationOperations = null) { foreach ($rowToSum->getColumns() as $columnToSumName => $columnToSumValue) { if (!isset(self::$unsummableColumns[$columnToSumName])) // make sure we can add this column { $thisColumnValue = $this->getColumn($columnToSumName); - $operation = (is_array($aggregationOperations) && isset($aggregationOperations[$columnToSumName]) ? + $operation = (is_array($aggregationOperations) && isset($aggregationOperations[$columnToSumName]) ? strtolower($aggregationOperations[$columnToSumName]) : 'sum'); - + // max_actions is a core metric that is generated in ArchiveProcess_Day. Therefore, it can be // present in any data table and is not part of the $aggregationOperations mechanism. if ($columnToSumName == Metrics::INDEX_MAX_ACTIONS) { @@ -536,13 +539,13 @@ class Piwik_DataTable_Row public function isSummaryRow() { - return $this->getColumn('label') === Piwik_DataTable::LABEL_SUMMARY_ROW; + return $this->getColumn('label') === DataTable::LABEL_SUMMARY_ROW; } /** * Helper function: sums 2 values * - * @param number|bool $thisColumnValue + * @param number|bool $thisColumnValue * @param number|array $columnToSumValue * * @throws Exception @@ -577,7 +580,7 @@ class Piwik_DataTable_Row } else if ($columnToSumValue === false) { return $thisColumnValue; } else { - throw new Exception("Trying to add two strings values in DataTable_Row::sumRowArray: " + throw new Exception("Trying to add two strings values in DataTable\Row::sumRowArray: " . "'$thisColumnValue' + '$columnToSumValue'"); } } @@ -616,11 +619,11 @@ class Piwik_DataTable_Row * - if they have exactly the same columns / metadata * - if they have a subDataTable associated, then we check that both of them are the same. * - * @param Piwik_DataTable_Row $row1 first to compare - * @param Piwik_DataTable_Row $row2 second to compare + * @param \Piwik\DataTable\Row $row1 first to compare + * @param \Piwik\DataTable\Row $row2 second to compare * @return bool */ - static public function isEqual(Piwik_DataTable_Row $row1, Piwik_DataTable_Row $row2) + static public function isEqual(Row $row1, Row $row2) { //same columns $cols1 = $row1->getColumns(); @@ -651,7 +654,7 @@ class Piwik_DataTable_Row ) { $subtable1 = $row1->getSubtable(); $subtable2 = $row2->getSubtable(); - if (!Piwik_DataTable::isEqual($subtable1, $subtable2)) { + if (!DataTable::isEqual($subtable1, $subtable2)) { return false; } } diff --git a/core/DataTable/Row/DataTableSummary.php b/core/DataTable/Row/DataTableSummaryRow.php similarity index 76% rename from core/DataTable/Row/DataTableSummary.php rename to core/DataTable/Row/DataTableSummaryRow.php index c3acafdc665c9c72fb91e302af2056b81a780e70..f4203d9489c1592bd9b2f143b4ebe2fcfed75231 100644 --- a/core/DataTable/Row/DataTableSummary.php +++ b/core/DataTable/Row/DataTableSummaryRow.php @@ -8,6 +8,11 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable\Row; + +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Row; /** * This class creates a row from a given DataTable. @@ -15,15 +20,15 @@ * - for each numeric column, the returned "summary" column is the sum of all the subRows * - for every other column, it is ignored and will not be in the "summary row" * - * @see Piwik_DataTable_Row::sumRow() for more information on the algorithm + * @see \DataTable\Row::sumRow() for more information on the algorithm * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Row_DataTableSummary extends Piwik_DataTable_Row +class DataTableSummaryRow extends Row { /** - * @param Piwik_DataTable $subTable + * @param DataTable $subTable */ function __construct($subTable = null) { @@ -41,7 +46,7 @@ class Piwik_DataTable_Row_DataTableSummary extends Piwik_DataTable_Row { $id = $this->getIdSubDataTable(); if ($id !== null) { - $subtable = Piwik_DataTable_Manager::getInstance()->getTable($id); + $subtable = Manager::getInstance()->getTable($id); $this->sumTable($subtable); } } @@ -49,7 +54,7 @@ class Piwik_DataTable_Row_DataTableSummary extends Piwik_DataTable_Row /** * Sums a tables row with this one. * - * @param Piwik_DataTable $table + * @param DataTable $table */ private function sumTable($table) { diff --git a/core/DataTable/Simple.php b/core/DataTable/Simple.php index 7189fb0b2e9fce33724c25fc14907d31082c5bd9..d7f9c430ad8c0c5792ff7aae4d9ae33bdc25689f 100644 --- a/core/DataTable/Simple.php +++ b/core/DataTable/Simple.php @@ -8,21 +8,22 @@ * @category Piwik * @package Piwik */ +namespace Piwik\DataTable; /** - * The DataTable_Simple is used to provide an easy way to create simple DataGrid. - * A DataTable_Simple actually is a DataTable with 2 columns: 'label' and 'value'. + * The DataTable\Simple is used to provide an easy way to create simple DataGrid. + * A DataTable\Simple is a DataTable with 2 columns: 'label' and 'value'. * - * It is usually best to return a DataTable_Simple instead of + * It is usually best to return a DataTable\Simple instead of * a PHP array (or other custom data structure) in API methods: * - the generic filters can be applied automatically (offset, limit, pattern search, sort, etc.) * - the renderer can be applied (XML, PHP, HTML, etc.) * So you don't have to write specific renderer for your data, it is already available in all the formats supported natively by Piwik. * * @package Piwik - * @subpackage Piwik_DataTable + * @subpackage DataTable */ -class Piwik_DataTable_Simple extends Piwik_DataTable +class Simple extends DataTable { /** * Loads (append) in the DataTable the array information diff --git a/core/Date.php b/core/Date.php index 0753514cf93bccafa4f59c93136cdef85f0261ed..3fb96665e0fddef808f0eb613432f1070cac5ada 100644 --- a/core/Date.php +++ b/core/Date.php @@ -9,12 +9,15 @@ * @package Piwik */ +namespace Piwik; +use Exception; + /** * Date object widely used in Piwik. * * @package Piwik */ -class Piwik_Date +class Date { /** * The stored timestamp is always UTC based. @@ -33,7 +36,7 @@ class Piwik_Date const DATE_TIME_FORMAT = 'Y-m-d H:i:s'; /** - * Builds a Piwik_Date object + * Builds a Date object * * @param int $timestamp * @param string $timezone @@ -42,21 +45,21 @@ class Piwik_Date protected function __construct($timestamp, $timezone = 'UTC') { if (!is_int($timestamp)) { - throw new Exception("Piwik_Date is expecting a unix timestamp"); + throw new Exception("Date is expecting a unix timestamp"); } $this->timezone = $timezone; $this->timestamp = $timestamp; } /** - * Returns a Piwik_Date objects. + * Returns a Date objects. * - * @param string|self $dateString 'today' 'yesterday' or any YYYY-MM-DD or timestamp + * @param string|\Piwik\Date $dateString 'today' 'yesterday' or any YYYY-MM-DD or timestamp * @param string $timezone if specified, the dateString will be relative to this $timezone. * For example, today in UTC+12 will be a timestamp in the future for UTC. * This is different from using ->setTimezone() * @throws Exception - * @return Piwik_Date + * @return \Piwik\Date */ public static function factory($dateString, $timezone = null) { @@ -83,7 +86,7 @@ class Piwik_Date ) { throw $invalidDateException; } else { - $date = new Piwik_Date($dateString); + $date = new Date($dateString); } $timestamp = $date->getTimestamp(); // can't be doing web analytics before the 1st website @@ -96,7 +99,7 @@ class Piwik_Date } $timestamp = self::adjustForTimezone($timestamp, $timezone); - return Piwik_Date::factory($timestamp); + return Date::factory($timestamp); } /** @@ -117,7 +120,7 @@ class Piwik_Date public function getDateStartUTC() { $dateStartUTC = gmdate('Y-m-d', $this->timestamp); - $date = Piwik_Date::factory($dateStartUTC)->setTimezone($this->timezone); + $date = Date::factory($dateStartUTC)->setTimezone($this->timezone); return $date->toString(self::DATE_TIME_FORMAT); } @@ -129,7 +132,7 @@ class Piwik_Date public function getDateEndUTC() { $dateEndUTC = gmdate('Y-m-d 23:59:59', $this->timestamp); - $date = Piwik_Date::factory($dateEndUTC)->setTimezone($this->timezone); + $date = Date::factory($dateEndUTC)->setTimezone($this->timezone); return $date->toString(self::DATE_TIME_FORMAT); } @@ -139,11 +142,11 @@ class Piwik_Date * Doesn't modify $this * * @param string $timezone 'UTC', 'Europe/London', ... - * @return Piwik_Date + * @return \Piwik\Date */ public function setTimezone($timezone) { - return new Piwik_Date($this->timestamp, $timezone); + return new Date($this->timestamp, $timezone); } /** @@ -238,10 +241,10 @@ class Piwik_Date /** * Returns true if the current date is older than the given $date * - * @param Piwik_Date $date + * @param \Piwik\Date $date * @return bool */ - public function isLater(Piwik_Date $date) + public function isLater(Date $date) { return $this->getTimestamp() > $date->getTimestamp(); } @@ -249,10 +252,10 @@ class Piwik_Date /** * Returns true if the current date is earlier than the given $date * - * @param Piwik_Date $date + * @param \Piwik\Date $date * @return bool */ - public function isEarlier(Piwik_Date $date) + public function isEarlier(Date $date) { return $this->getTimestamp() < $date->getTimestamp(); } @@ -284,10 +287,10 @@ class Piwik_Date * Returns 0 if equal, -1 if current week is earlier or 1 if current week is later * Example: 09.Jan.2007 13:07:25 -> compareWeek(2); -> 0 * - * @param Piwik_Date $date + * @param \Piwik\Date $date * @return int 0 = equal, 1 = later, -1 = earlier */ - public function compareWeek(Piwik_Date $date) + public function compareWeek(Date $date) { $currentWeek = date('W', $this->getTimestamp()); $toCompareWeek = date('W', $date->getTimestamp()); @@ -305,10 +308,10 @@ class Piwik_Date * Returns 0 if equal, -1 if current month is earlier or 1 if current month is later * For example: 10.03.2000 -> 15.03.1950 -> 0 * - * @param Piwik_Date $date Month to compare + * @param \Piwik\Date $date Month to compare * @return int 0 = equal, 1 = later, -1 = earlier */ - public function compareMonth(Piwik_Date $date) + public function compareMonth(Date $date) { $currentMonth = date('n', $this->getTimestamp()); $toCompareMonth = date('n', $date->getTimestamp()); @@ -328,47 +331,47 @@ class Piwik_Date */ public function isToday() { - return $this->toString('Y-m-d') === Piwik_Date::factory('today', $this->timezone)->toString('Y-m-d'); + return $this->toString('Y-m-d') === Date::factory('today', $this->timezone)->toString('Y-m-d'); } /** * Returns a date object set to now (same as today, except that the time is also set) * - * @return Piwik_Date + * @return \Piwik\Date */ public static function now() { - return new Piwik_Date(time()); + return new Date(time()); } /** * Returns a date object set to today midnight * - * @return Piwik_Date + * @return \Piwik\Date */ public static function today() { - return new Piwik_Date(strtotime(date("Y-m-d 00:00:00"))); + return new Date(strtotime(date("Y-m-d 00:00:00"))); } /** * Returns a date object set to yesterday midnight * - * @return Piwik_Date + * @return \Piwik\Date */ public static function yesterday() { - return new Piwik_Date(strtotime("yesterday")); + return new Date(strtotime("yesterday")); } /** * Returns a date object set to yesterday same time of day * - * @return Piwik_Date + * @return \Piwik\Date */ public static function yesterdaySameTime() { - return new Piwik_Date(strtotime("yesterday " . date('H:i:s'))); + return new Date(strtotime("yesterday " . date('H:i:s'))); } /** @@ -376,11 +379,11 @@ class Piwik_Date * Doesn't modify $this * * @param string $time HH:MM:SS - * @return Piwik_Date The new date with the time part set + * @return \Piwik\Date The new date with the time part set */ public function setTime($time) { - return new Piwik_Date(strtotime(date("Y-m-d", $this->timestamp) . " $time"), $this->timezone); + return new Date(strtotime(date("Y-m-d", $this->timestamp) . " $time"), $this->timezone); } /** @@ -389,7 +392,7 @@ class Piwik_Date * Doesn't modify $this * * @param int $day Day eg. 31 - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function setDay($day) { @@ -402,7 +405,7 @@ class Piwik_Date $day, date('Y', $ts) ); - return new Piwik_Date($result, $this->timezone); + return new Date($result, $this->timezone); } /** @@ -411,7 +414,7 @@ class Piwik_Date * Doesn't modify $this * * @param int $year 2010 - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function setYear($year) { @@ -424,16 +427,16 @@ class Piwik_Date date('j', $ts), $year ); - return new Piwik_Date($result, $this->timezone); + return new Date($result, $this->timezone); } /** - * Subtracts days from the existing date object and returns a new Piwik_Date object + * Subtracts days from the existing date object and returns a new Date object * Returned is the new date object * Doesn't modify $this * * @param int $n - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function subDay($n) { @@ -441,16 +444,16 @@ class Piwik_Date return clone $this; } $ts = strtotime("-$n day", $this->timestamp); - return new Piwik_Date($ts, $this->timezone); + return new Date($ts, $this->timezone); } /** - * Subtracts weeks from the existing date object and returns a new Piwik_Date object + * Subtracts weeks from the existing date object and returns a new Date object * Returned is the new date object * Doesn't modify $this * * @param int $n - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function subWeek($n) { @@ -463,7 +466,7 @@ class Piwik_Date * Doesn't modify $this * * @param int $n - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function subMonth($n) { @@ -479,7 +482,7 @@ class Piwik_Date 1, // we set the day to 1 date('Y', $ts) ); - return new Piwik_Date($result, $this->timezone); + return new Date($result, $this->timezone); } /** @@ -488,7 +491,7 @@ class Piwik_Date * Doesn't modify $this * * @param int $n - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function subYear($n) { @@ -504,7 +507,7 @@ class Piwik_Date 1, // we set the day to 1 date('Y', $ts) - $n ); - return new Piwik_Date($result, $this->timezone); + return new Date($result, $this->timezone); } /** @@ -539,12 +542,12 @@ class Piwik_Date * Doesn't modify $this * * @param int $n Number of days to add - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function addDay($n) { $ts = strtotime("+$n day", $this->timestamp); - return new Piwik_Date($ts, $this->timezone); + return new Date($ts, $this->timezone); } /** @@ -553,12 +556,12 @@ class Piwik_Date * Doesn't modify $this * * @param int $n Number of hours to add - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function addHour($n) { $ts = self::addHourTo($this->timestamp, $n); - return new Piwik_Date($ts, $this->timezone); + return new Date($ts, $this->timezone); } /** @@ -599,7 +602,7 @@ class Piwik_Date * Doesn't modify $this * * @param int $n Number of hours to substract - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function subHour($n) { @@ -613,7 +616,7 @@ class Piwik_Date * * @param int $n * @param string $period period to add (WEEK, DAY,...) - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function addPeriod($n, $period) { @@ -622,7 +625,7 @@ class Piwik_Date } else { $ts = strtotime("+$n $period", $this->timestamp); } - return new Piwik_Date($ts, $this->timezone); + return new Date($ts, $this->timezone); } /** @@ -632,7 +635,7 @@ class Piwik_Date * * @param int $n * @param string $period period to sub - * @return Piwik_Date new date + * @return \Piwik\Date new date */ public function subPeriod($n, $period) { diff --git a/core/Db/Adapter.php b/core/Db/Adapter.php index de3412e9a60dd7e8878fcecd9866cae5a42b993a..db9214b82a77c14a5bbb91bdc676f063ae83c24e 100644 --- a/core/Db/Adapter.php +++ b/core/Db/Adapter.php @@ -8,6 +8,7 @@ * @category Piwik * @package Piwik */ +use Piwik\Loader; /** * @package Piwik @@ -39,7 +40,7 @@ class Piwik_Db_Adapter } $className = self::getAdapterClassName($adapterName); - Piwik_Loader::loadClass($className); + Loader::loadClass($className); /* * 5.2.1 fixes various bugs with references that caused PDO_MYSQL getConnection() diff --git a/core/Db/Schema/Myisam.php b/core/Db/Schema/Myisam.php index a0eb2a70384bedc10dedfc8e8df82d833367e255..274e6f82e0c041534382a618a3b5070eef38889e 100644 --- a/core/Db/Schema/Myisam.php +++ b/core/Db/Schema/Myisam.php @@ -11,6 +11,7 @@ use Piwik\Config; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; /** * MySQL schema @@ -535,7 +536,7 @@ class Piwik_Db_Schema_Myisam implements Piwik_Db_Schema_Interface // note that the token_auth value is anonymous, which is assigned by default as well in the Login plugin $db = Zend_Registry::get('db'); $db->query("INSERT INTO " . Common::prefixTable("user") . " - VALUES ( 'anonymous', '', 'anonymous', 'anonymous@example.org', 'anonymous', '" . Piwik_Date::factory('now')->getDatetime() . "' );"); + VALUES ( 'anonymous', '', 'anonymous', 'anonymous@example.org', 'anonymous', '" . Date::factory('now')->getDatetime() . "' );"); } /** diff --git a/core/EventDispatcher.php b/core/EventDispatcher.php index 8496013cabbd38c43b210acd5e56c54f128d0b8f..7c311e4dd44e691936f2a6b0c8f8f13a5715011a 100644 --- a/core/EventDispatcher.php +++ b/core/EventDispatcher.php @@ -9,11 +9,14 @@ * @package Piwik */ +namespace Piwik; +use Piwik\Plugin; + /** * This class allows code to post events from anywhere in Piwik and for * plugins to associate callbacks to be executed when events are posted. */ -class Piwik_EventDispatcher +class EventDispatcher { // implementation details for postEvent const EVENT_CALLBACK_GROUP_FIRST = 0; @@ -31,7 +34,7 @@ class Piwik_EventDispatcher public static function getInstance() { if (self::$instance === null) { - self::$instance = new Piwik_EventDispatcher(); + self::$instance = new EventDispatcher(); } return self::$instance; } @@ -66,7 +69,7 @@ class Piwik_EventDispatcher * loaded after the event is fired. * @param array|null $plugins The plugins to post events to. If null, the event * is posted to all plugins. The elements of this array - * can be either the Piwik_Plugin objects themselves + * can be either the Plugin objects themselves * or their string names. */ public function postEvent($eventName, $params, $pending = false, $plugins = null) @@ -76,7 +79,7 @@ class Piwik_EventDispatcher } if (empty($plugins)) { - $plugins = PluginsManager::getInstance()->getLoadedPlugins(); + $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPlugins(); } $callbacks = array(); @@ -84,7 +87,7 @@ class Piwik_EventDispatcher // collect all callbacks to execute foreach ($plugins as $plugin) { if (is_string($plugin)) { - $plugin = PluginsManager::getInstance()->getLoadedPlugin($plugin); + $plugin = \Piwik\PluginsManager::getInstance()->getLoadedPlugin($plugin); } $hooks = $plugin->getListHooksRegistered(); @@ -150,7 +153,7 @@ class Piwik_EventDispatcher /** * Re-posts all pending events to the given plugin. * - * @param Piwik_Plugin $plugin + * @param Plugin $plugin */ public function postPendingEventsTo($plugin) { @@ -182,27 +185,3 @@ class Piwik_EventDispatcher } } -/** - * Post an event to the dispatcher which will notice the observers. - * - * @param string $eventName The event name. - * @param array $params The parameter array to forward to observer callbacks. - * @param bool $pending - * @param null $plugins - * @return void - */ -function Piwik_PostEvent($eventName, $params = array(), $pending = false, $plugins = null) -{ - Piwik_EventDispatcher::getInstance()->postEvent($eventName, $params, $pending, $plugins); -} - -/** - * Register an action to execute for a given event - * - * @param string $eventName Name of event - * @param callable $function Callback hook - */ -function Piwik_AddAction($eventName, $function) -{ - Piwik_EventDispatcher::getInstance()->addObserver($eventName, $function); -} diff --git a/core/FrontController.php b/core/FrontController.php index cda6d1dae2400415413ef8b8adf6332949f8263a..9d777ed4b6408d7151e739c9c5f097446fe59466 100644 --- a/core/FrontController.php +++ b/core/FrontController.php @@ -12,7 +12,7 @@ use Piwik\Config; use Piwik\Piwik; use Piwik\Common; use Piwik\Access; -use Piwik\PluginsManager; +use Piwik\Translate; /** * @see core/PluginsManager.php @@ -97,7 +97,7 @@ class Piwik_FrontController throw new Exception("Invalid module name '$module'"); } - if (!PluginsManager::getInstance()->isPluginActivated($module)) { + if (!\Piwik\PluginsManager::getInstance()->isPluginActivated($module)) { throw new Piwik_FrontController_PluginDeactivatedException($module); } @@ -236,7 +236,7 @@ class Piwik_FrontController Piwik::dieIfDirectoriesNotWritable($directoriesToCheck); Common::assignCliParametersToRequest(); - Piwik_Translate::getInstance()->loadEnglishTranslation(); + Translate::getInstance()->loadEnglishTranslation(); $exceptionToThrow = $this->createConfigObject(); @@ -247,7 +247,7 @@ class Piwik_FrontController $this->handleMaintenanceMode(); $this->handleSSLRedirection(); - $pluginsManager = PluginsManager::getInstance(); + $pluginsManager = \Piwik\PluginsManager::getInstance(); $pluginsToLoad = Config::getInstance()->Plugins['Plugins']; $pluginsManager->loadPlugins($pluginsToLoad); @@ -274,7 +274,7 @@ class Piwik_FrontController Piwik_PostEvent('FrontController.dispatchCoreAndPluginUpdatesScreen'); - PluginsManager::getInstance()->installLoadedPlugins(); + \Piwik\PluginsManager::getInstance()->installLoadedPlugins(); // ensure the current Piwik URL is known for later use if (method_exists('Piwik\Piwik', 'getPiwikUrl')) { @@ -299,7 +299,7 @@ class Piwik_FrontController } Piwik::raiseMemoryLimitIfNecessary(); - Piwik_Translate::getInstance()->reloadLanguage(); + Translate::getInstance()->reloadLanguage(); $pluginsManager->postLoadPlugins(); Piwik_PostEvent('FrontController.checkForUpdates'); diff --git a/core/JqplotDataGenerator.php b/core/JqplotDataGenerator.php index 3a1abd16b65d6d5d84fa6e17f878ee4b4c7b6505..4ae3c493b2d26f24b24c2528b2f788eda0749627 100644 --- a/core/JqplotDataGenerator.php +++ b/core/JqplotDataGenerator.php @@ -11,6 +11,7 @@ use Piwik\Common; use Piwik\Metrics; +use Piwik\DataTable; /** * Generates JSON data used to configure and populate JQPlot graphs. @@ -71,7 +72,7 @@ class Piwik_JqplotDataGenerator /** * Generates JSON graph data and returns it. * - * @param Piwik_DataTable|Piwik_DataTable_Array $dataTable + * @param DataTable|DataTable\Map $dataTable * @return string */ public function generate($dataTable) diff --git a/core/JqplotDataGenerator/Evolution.php b/core/JqplotDataGenerator/Evolution.php index 50fd2a61a2b3f242554e017658f8ae075d4d162c..47c85f072425a042a3d91ebb5548b83fe81ef73e 100644 --- a/core/JqplotDataGenerator/Evolution.php +++ b/core/JqplotDataGenerator/Evolution.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; /** * Generates JQPlot JSON data/config for evolution graphs. @@ -29,8 +30,8 @@ class Piwik_JqplotDataGenerator_Evolution extends Piwik_JqplotDataGenerator protected function initChartObjectData($dataTable) { // if the loaded datatable is a simple DataTable, it is most likely a plugin plotting some custom data - // we don't expect plugin developers to return a well defined Piwik_DataTable_Array - if ($dataTable instanceof Piwik_DataTable) { + // we don't expect plugin developers to return a well defined Set + if ($dataTable instanceof DataTable) { return parent::initChartObjectData($dataTable); } diff --git a/core/Loader.php b/core/Loader.php index c0d2d1462234a1ef34b08dd4a06ab4e05e1e19e3..fc913112e931c541aceeba7e9e8cfe8d71e8e8d8 100644 --- a/core/Loader.php +++ b/core/Loader.php @@ -9,12 +9,16 @@ * @package Piwik */ +namespace Piwik; + +use Exception; + /** * Piwik auto loader * * @package Piwik */ -class Piwik_Loader +class Loader { // our class search path; current directory is intentionally excluded protected static $dirs = array('/core/', '/plugins/'); @@ -42,8 +46,9 @@ class Piwik_Loader return $class; } - if (!strncmp($class, 'Piwik/', 6)) { - return substr($class, 6); + $vendorPrefixToRemove = 'Piwik/'; + if (strpos($class, $vendorPrefixToRemove) === 0) { + return substr($class, strlen($vendorPrefixToRemove)); } return $class; @@ -58,8 +63,9 @@ class Piwik_Loader public static function loadClass($class) { $classPath = self::getClassFileName($class); - if ($class == 'Piwik' - || !strncmp($class, 'Piwik', 5) /* catches Piwik_ and Piwik\ */ ) { + if (strpos($class, '\Piwik') === 0 + || strpos($class, 'Piwik') === 0) + { // Piwik classes are in core/ or plugins/ do { // auto-discover class location @@ -107,7 +113,7 @@ class Piwik_Loader // Note: only one __autoload per PHP instance if (function_exists('spl_autoload_register')) { // use the SPL autoload stack - spl_autoload_register(array('Piwik_Loader', 'autoload')); + spl_autoload_register(array('Piwik\Loader', 'autoload')); // preserve any existing __autoload if (function_exists('__autoload')) { @@ -116,6 +122,6 @@ if (function_exists('spl_autoload_register')) { } else { function __autoload($class) { - Piwik_Loader::autoload($class); + Loader::autoload($class); } } diff --git a/core/Period.php b/core/Period.php index f816b58c02fd59ff7752a0f4797ba4452cc432eb..7edf4ea81083ef7a121532746b4d4546c80f85a3 100644 --- a/core/Period.php +++ b/core/Period.php @@ -11,11 +11,11 @@ namespace Piwik; use Exception; use Piwik\Piwik; -use Piwik_Date; -use Piwik_Period_Day; -use Piwik_Period_Month; -use Piwik\Period_Range; -use Piwik_Period_Week; +use Piwik\Date; +use Piwik\Period\Day; +use Piwik\Period\Month; +use Piwik\Period\Range; +use Piwik\Period\Week; use Piwik_Period_Year; /** @@ -47,14 +47,14 @@ abstract class Period protected $label = null; /** - * @var Piwik_Date + * @var Date */ protected $date = null; static protected $errorAvailablePeriods = 'day, week, month, year, range'; /** * Constructor - * @param Piwik_Date $date + * @param Date $date */ public function __construct($date) { @@ -64,23 +64,23 @@ abstract class Period /** * @param string $strPeriod "day", "week", "month", "year" - * @param Piwik_Date $date Piwik_Date object + * @param Date $date Date object * @throws Exception * @return \Piwik\Period */ - static public function factory($strPeriod, Piwik_Date $date) + static public function factory($strPeriod, Date $date) { switch ($strPeriod) { case 'day': - return new Piwik_Period_Day($date); + return new Day($date); break; case 'week': - return new Piwik_Period_Week($date); + return new Week($date); break; case 'month': - return new Piwik_Period_Month($date); + return new Month($date); break; case 'year': @@ -106,13 +106,13 @@ abstract class Period return is_string($dateString) && (preg_match('/^(last|previous){1}([0-9]*)$/D', $dateString, $regs) - || Period_Range::parseDateRange($dateString)) + || Range::parseDateRange($dateString)) && $period != 'range'; } /** * The advanced factory method is easier to use from the API than the factory - * method above. It doesn't require an instance of Piwik_Date and works for + * method above. It doesn't require an instance of Date and works for * period=range. Generally speaking, anything that can be passed as period * and range to the API methods can directly be forwarded to this factory * method in order to get a suitable instance of Period. @@ -124,9 +124,9 @@ abstract class Period static public function advancedFactory($strPeriod, $strDate) { if (Period::isMultiplePeriod($strDate, $strPeriod) || $strPeriod == 'range') { - return new Period_Range($strPeriod, $strDate); + return new Range($strPeriod, $strDate); } - return Period::factory($strPeriod, Piwik_Date::factory($strDate)); + return Period::factory($strPeriod, Date::factory($strDate)); } /** @@ -145,15 +145,15 @@ abstract class Period } if ($period == 'range') { - $oPeriod = new Period_Range('range', $date, $timezone, Piwik_Date::factory('today', $timezone)); + $oPeriod = new Period\Range('range', $date, $timezone, Date::factory('today', $timezone)); } else { - if (!($date instanceof Piwik_Date)) { + if (!($date instanceof Date)) { if ($date == 'now' || $date == 'today') { - $date = date('Y-m-d', Piwik_Date::factory('now', $timezone)->getTimestamp()); + $date = date('Y-m-d', Date::factory('now', $timezone)->getTimestamp()); } elseif ($date == 'yesterday' || $date == 'yesterdaySameTime') { - $date = date('Y-m-d', Piwik_Date::factory('now', $timezone)->subDay(1)->getTimestamp()); + $date = date('Y-m-d', Date::factory('now', $timezone)->subDay(1)->getTimestamp()); } - $date = Piwik_Date::factory($date); + $date = Date::factory($date); } $oPeriod = Period::factory($period, $date); } @@ -163,7 +163,7 @@ abstract class Period /** * Returns the first day of the period * - * @return Piwik_Date First day of the period + * @return Date First day of the period */ public function getDateStart() { @@ -185,7 +185,7 @@ abstract class Period /** * Returns the last day of the period ; can be a date in the future * - * @return Piwik_Date Last day of the period + * @return Date Last day of the period */ public function getDateEnd() { @@ -219,7 +219,7 @@ abstract class Period } /** - * @return Piwik_Date + * @return Date */ protected function getDate() { @@ -227,16 +227,16 @@ abstract class Period } /** - * Checks if the given date is an instance of Piwik_Date + * Checks if the given date is an instance of Date * - * @param Piwik_Date $date + * @param Date $date * * @throws Exception */ protected function checkInputDate($date) { - if (!($date instanceof Piwik_Date)) { - throw new Exception("The date must be a Piwik_Date object. " . var_export($date, true)); + if (!($date instanceof Date)) { + throw new Exception("The date must be a Date object. " . var_export($date, true)); } } diff --git a/core/Period/Day.php b/core/Period/Day.php index 198662dbe7a2c75d8310b072f8188144b8da91cc..a4ed18fbba1bc99b3a37fbbeb8eb9fef247488aa 100644 --- a/core/Period/Day.php +++ b/core/Period/Day.php @@ -8,13 +8,15 @@ * @category Piwik * @package Piwik */ +namespace Piwik\Period; +use Exception; use Piwik\Period; /** * @package Piwik * @subpackage Period */ -class Piwik_Period_Day extends Period +class Day extends Period { protected $label = 'day'; @@ -76,7 +78,7 @@ class Piwik_Period_Day extends Period */ public function addSubperiod($date) { - throw new Exception("Adding a subperiod is not supported for Piwik_Period_Day"); + throw new Exception("Adding a subperiod is not supported for Day"); } /** diff --git a/core/Period/Month.php b/core/Period/Month.php index c65bc4179e086ae524995a20a0fbea61016f6a4a..5434bd6efe7da97c4c1dbbe1841ee0a77079f5c8 100644 --- a/core/Period/Month.php +++ b/core/Period/Month.php @@ -8,13 +8,15 @@ * @category Piwik * @package Piwik */ -use Piwik\Period; +namespace Piwik\Period; + +use Piwik\Period\Day; /** * @package Piwik * @subpackage Period */ -class Piwik_Period_Month extends Period +class Month extends Period { protected $label = 'month'; @@ -68,7 +70,7 @@ class Piwik_Period_Month extends Period $startMonth = $date->setDay(1); $currentDay = clone $startMonth; while ($currentDay->compareMonth($startMonth) == 0) { - $this->addSubperiod(new Piwik_Period_Day($currentDay)); + $this->addSubperiod(new Day($currentDay)); $currentDay = $currentDay->addDay(1); } } diff --git a/core/Period/Range.php b/core/Period/Range.php index 8922adfa837c4af393e093e6d93a111b97493f24..65e4854de0b2533afe74daaf4101d46f40bc8ae6 100644 --- a/core/Period/Range.php +++ b/core/Period/Range.php @@ -8,13 +8,14 @@ * @category Piwik * @package Piwik */ -namespace Piwik; +namespace Piwik\Period; + use Exception; use Piwik\Common; use Piwik\Period; -use Piwik_Date; -use Piwik_Period_Month; -use Piwik_Period_Week; +use Piwik\Date; +use Piwik\Period\Month; +use Piwik\Period\Week; /** * from a starting date to an ending date @@ -22,7 +23,7 @@ use Piwik_Period_Week; * @package Piwik * @subpackage Period */ -class Period_Range extends Period +class Range extends Period { protected $label = 'range'; @@ -30,7 +31,7 @@ class Period_Range extends Period * @param string $strPeriod * @param string $strDate * @param string $timezone - * @param bool|Piwik_Date $today + * @param bool|Date $today */ public function __construct($strPeriod, $strDate, $timezone = 'UTC', $today = false) { @@ -39,7 +40,7 @@ class Period_Range extends Period $this->defaultEndDate = null; $this->timezone = $timezone; if ($today === false) { - $today = Piwik_Date::factory('today', $this->timezone); + $today = Date::factory('today', $this->timezone); } $this->today = $today; } @@ -74,7 +75,7 @@ class Period_Range extends Period /** * Returns the start date of the period * - * @return Piwik_Date + * @return Date * @throws Exception */ public function getDateStart() @@ -100,12 +101,12 @@ class Period_Range extends Period /** * * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param int $n * @throws Exception - * @return Piwik_Date + * @return Date */ - static public function removePeriod($period, Piwik_Date $date, $n) + static public function removePeriod($period, Date $date, $n) { switch ($period) { case 'day': @@ -155,9 +156,9 @@ class Period_Range extends Period /** * Sets the default end date of the period * - * @param Piwik_Date $oDate + * @param Date $oDate */ - public function setDefaultEndDate(Piwik_Date $oDate) + public function setDefaultEndDate(Date $oDate) { $this->defaultEndDate = $oDate; } @@ -180,7 +181,7 @@ class Period_Range extends Period if (!is_null($this->defaultEndDate)) { $defaultEndDate = $this->defaultEndDate; } else { - $defaultEndDate = Piwik_Date::factory('now', $this->timezone); + $defaultEndDate = Date::factory('now', $this->timezone); } $period = $this->strPeriod; @@ -201,10 +202,10 @@ class Period_Range extends Period $lastN = abs($lastN); $startDate = self::removePeriod($period, $endDate, $lastN); - } elseif ($dateRange = Period_Range::parseDateRange($this->strDate)) { + } elseif ($dateRange = Range::parseDateRange($this->strDate)) { $strDateStart = $dateRange[1]; $strDateEnd = $dateRange[2]; - $startDate = Piwik_Date::factory($strDateStart); + $startDate = Date::factory($strDateStart); if ($strDateEnd == 'today') { $strDateEnd = 'now'; @@ -216,7 +217,7 @@ class Period_Range extends Period if (strpos($strDateEnd, '-') === false) { $timezone = $this->timezone; } - $endDate = Piwik_Date::factory($strDateEnd, $timezone); + $endDate = Date::factory($strDateEnd, $timezone); } else { throw new Exception(Piwik_TranslateException('General_ExceptionInvalidDateRange', array($this->strDate, ' \'lastN\', \'previousN\', \'YYYY-MM-DD,YYYY-MM-DD\''))); } @@ -251,7 +252,7 @@ class Period_Range extends Period /** * Returns the end date of the period * - * @return null|Piwik_Date + * @return null|Date */ public function getDateEnd() { @@ -274,7 +275,7 @@ class Period_Range extends Period || $startDate == $endDate) { $endOfPeriod = null; - $month = new Piwik_Period_Month($startDate); + $month = new Month($startDate); $endOfMonth = $month->getDateEnd(); $startOfMonth = $month->getDateStart(); if ($startDate == $startOfMonth @@ -293,7 +294,7 @@ class Period_Range extends Period } else { // From start date, // Process end of week - $week = new Piwik_Period_Week($startDate); + $week = new Week($startDate); $startOfWeek = $week->getDateStart(); $endOfWeek = $week->getDateEnd(); @@ -327,8 +328,8 @@ class Period_Range extends Period /** * Adds new subperiods * - * @param Piwik_Date $startDate - * @param Piwik_Date $endDate + * @param Date $startDate + * @param Date $endDate * @param string $period */ protected function fillArraySubPeriods($startDate, $endDate, $period) @@ -375,14 +376,14 @@ class Period_Range extends Period if ($period != 'range' && !preg_match('/(last|previous)([0-9]*)/', $date, $regs)) { if (strpos($date, ',')) // date in the form of 2011-01-01,2011-02-02 { - $rangePeriod = new Period_Range($period, $date); + $rangePeriod = new Range($period, $date); - $lastStartDate = Period_Range::removePeriod($period, $rangePeriod->getDateStart(), $n = 1); - $lastEndDate = Period_Range::removePeriod($period, $rangePeriod->getDateEnd(), $n = 1); + $lastStartDate = Range::removePeriod($period, $rangePeriod->getDateStart(), $n = 1); + $lastEndDate = Range::removePeriod($period, $rangePeriod->getDateEnd(), $n = 1); $strLastDate = "$lastStartDate,$lastEndDate"; } else { - $lastPeriod = Period_Range::removePeriod($period, Piwik_Date::factory($date), $n = 1); + $lastPeriod = Range::removePeriod($period, Date::factory($date), $n = 1); $strLastDate = $lastPeriod->toString(); } } diff --git a/core/Period/Week.php b/core/Period/Week.php index 1933a0aa5ceae1d90177b6c8e92645642ebcfd31..370a05656bf19430dd64235ac78bc748c591d4d5 100644 --- a/core/Period/Week.php +++ b/core/Period/Week.php @@ -8,13 +8,15 @@ * @category Piwik * @package Piwik */ -use Piwik\Period; +namespace Piwik\Period; + +use Piwik\Period\Day; /** * @package Piwik * @subpackage Period */ -class Piwik_Period_Week extends Period +class Week extends Period { protected $label = 'week'; @@ -88,7 +90,7 @@ class Piwik_Period_Week extends Period $currentDay = clone $startWeek; while ($currentDay->compareWeek($startWeek) == 0) { - $this->addSubperiod(new Piwik_Period_Day($currentDay)); + $this->addSubperiod(new Day($currentDay)); $currentDay = $currentDay->addDay(1); } } diff --git a/core/Period/Year.php b/core/Period/Year.php index d83e2ac84244bdbef4ba7d164a4aef515c3513d0..56cc52fa6b3d5bc27760f0c28b7eb56f6f6432da 100644 --- a/core/Period/Year.php +++ b/core/Period/Year.php @@ -9,6 +9,8 @@ * @package Piwik */ use Piwik\Period; +use Piwik\Date; +use Piwik\Period\Month; /** * @package Piwik @@ -63,8 +65,8 @@ class Piwik_Period_Year extends Period $year = $this->date->toString("Y"); for ($i = 1; $i <= 12; $i++) { - $this->addSubperiod(new Piwik_Period_Month( - Piwik_Date::factory("$year-$i-01") + $this->addSubperiod(new Month( + Date::factory("$year-$i-01") ) ); } diff --git a/core/Piwik.php b/core/Piwik.php index 5f2c57e111168f7611ad02a166c1876740f9c1ad..5edff85b19151a5cba52c49071555aeca2864564 100644 --- a/core/Piwik.php +++ b/core/Piwik.php @@ -23,7 +23,7 @@ use Piwik_Log_Error; use Piwik_Log_Exception; use Piwik_Log_Formatter_ScreenFormatter; use Piwik_Log_Message; -use Piwik_Plugin; +use Piwik\Plugin; use Piwik_Session; use Piwik\Site; use Piwik_Tracker; @@ -1250,7 +1250,7 @@ class Piwik return "$usage Mb"; } - /* +/* * Amounts, Percentages, Currency, Time, Math Operations, and Pretty Printing */ @@ -1842,11 +1842,11 @@ class Piwik /** * Returns the plugin currently being used to display the page * - * @return Piwik_Plugin + * @return Plugin */ static public function getCurrentPlugin() { - return PluginsManager::getInstance()->getLoadedPlugin(Piwik::getModule()); + return \Piwik\PluginsManager::getInstance()->getLoadedPlugin(Piwik::getModule()); } /** diff --git a/core/Plugin.php b/core/Plugin.php index bec854cd9ed7bbd0273caca26158c7eab2ce5f54..06aa0534ecb781b74a6fbba39c551e621c188f91 100644 --- a/core/Plugin.php +++ b/core/Plugin.php @@ -8,7 +8,9 @@ * @category Piwik * @package Piwik */ +namespace Piwik; use Piwik\Common; +use Piwik\Plugin\MetadataLoader; /** * @see core/Plugin/MetadataLoader.php @@ -16,30 +18,30 @@ use Piwik\Common; require_once PIWIK_INCLUDE_PATH . '/core/Plugin/MetadataLoader.php'; /** - * Abstract class to define a Piwik_Plugin. + * Abstract class to define a Plugin. * Any plugin has to at least implement the abstract methods of this class. * * @package Piwik */ -class Piwik_Plugin +class Plugin { /** * Name of this plugin. - * + * * @var string */ protected $pluginName; - + /** * Holds plugin metadata. - * + * * @var array */ private $pluginInformation; - + /** * Constructor. - * + * * @param string|bool $pluginName A plugin name to force. If not supplied, it is set * to last part of the class name. */ @@ -49,11 +51,11 @@ class Piwik_Plugin $pluginName = Common::unprefixClass(get_class($this)); } $this->pluginName = $pluginName; - - $metadataLoader = new Piwik_Plugin_MetadataLoader($pluginName); + + $metadataLoader = new MetadataLoader($pluginName); $this->pluginInformation = $metadataLoader->load(); } - + /** * Returns the plugin details * - 'description' => string // 1-2 sentence description of the plugin diff --git a/core/Plugin/MetadataLoader.php b/core/Plugin/MetadataLoader.php index f2e6191dc24ce40b2cb41c7eb81d2eb50ec03f4f..335442f31cc605f10436c4b2a90319bfdb4d9f8f 100644 --- a/core/Plugin/MetadataLoader.php +++ b/core/Plugin/MetadataLoader.php @@ -8,8 +8,11 @@ * @category Piwik * @package Piwik */ +namespace Piwik\Plugin; + +use Exception; use Piwik\Common; -use Piwik\PluginsManager; +use Piwik_Version; /** * @see core/Version.php @@ -21,24 +24,24 @@ require_once PIWIK_INCLUDE_PATH . '/core/Version.php'; * - plugin.piwik.json * - colors.piwik.json */ -class Piwik_Plugin_MetadataLoader +class MetadataLoader { const PLUGIN_JSON_FILENAME = 'plugin.piwik.json'; const COLORS_JSON_FILENAME = 'colors.piwik.json'; - + const SHORT_COLOR_LENGTH = 4; const LONG_COLOR_LENGTH = 7; - + /** * The name of the plugin whose metadata will be loaded. - * + * * @var string */ private $pluginName; - + /** * Constructor. - * + * * @param string $pluginName Name of the plugin to load metadata. */ public function __construct($pluginName) @@ -48,7 +51,7 @@ class Piwik_Plugin_MetadataLoader /** * Loads plugin metadata. @see Piwik_Plugin::getInformation. - * + * * @return array */ public function load() @@ -59,7 +62,7 @@ class Piwik_Plugin_MetadataLoader $this->loadPluginColorsJson() ); } - + private function getDefaultPluginInformation() { $descriptionKey = $this->pluginName . '_PluginDescription'; @@ -74,21 +77,21 @@ class Piwik_Plugin_MetadataLoader 'theme' => false, ); } - + private function loadPluginInfoJson() { - $path = PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::PLUGIN_JSON_FILENAME; + $path = \Piwik\PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::PLUGIN_JSON_FILENAME; return $this->loadJsonMetadata($path); } - + private function loadPluginColorsJson() { - $path = PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::COLORS_JSON_FILENAME; + $path = \Piwik\PluginsManager::getPluginsDirectory() . $this->pluginName . '/' . self::COLORS_JSON_FILENAME; $info = $this->loadJsonMetadata($path); $info = $this->cleanAndValidatePluginColorsJson($path, $info); return $info; } - + private function cleanAndValidatePluginColorsJson($path, $info) { // check that if "colors" exists, it is an array @@ -96,17 +99,17 @@ class Piwik_Plugin_MetadataLoader if (!is_array($colors)) { throw new Exception("The 'colors' value in '$path' must be an object mapping names with colors."); } - + // validate each color foreach ($colors as $color) { if (!$this->isStringColorValid($color)) { throw new Exception("Invalid color string '$color' in '$path'."); } } - + return array("colors" => $colors); // make sure only 'colors' element is loaded } - + private function isStringColorValid($color) { if (strlen($color) !== self::SHORT_COLOR_LENGTH @@ -114,25 +117,25 @@ class Piwik_Plugin_MetadataLoader ) { return false; } - + if ($color[0] !== '#') { return false; } - + return ctype_xdigit(substr($color, 1)); // check if other digits are hex } - + private function loadJsonMetadata($path) { if (!file_exists($path)) { return array(); } - + $json = file_get_contents($path); if (!$json) { return array(); } - + $info = Common::json_decode($json, $assoc = true); if (!is_array($info) || empty($info) diff --git a/core/PluginsArchiver.php b/core/PluginsArchiver.php index aac3b936da3c3f1970f8dc683eeb11417382d8ce..dd49ba37e7c2a1218348b17d4530aa9feef8a461 100644 --- a/core/PluginsArchiver.php +++ b/core/PluginsArchiver.php @@ -1,5 +1,4 @@ <?php - /** * Piwik - Open source web analytics * @@ -9,17 +8,22 @@ * @category Piwik * @package Piwik_PluginArchiver */ + +namespace Piwik; use Piwik\Config; use Piwik\Common; +use Piwik\ArchiveProcessor; +use Piwik\ArchiveProcessor\Day; +use Piwik\DataAccess\LogAggregator; /** * Plugins that archive metrics for websites can implement an Archiver that extends this class */ -abstract class Piwik_PluginsArchiver +abstract class PluginsArchiver { protected $processor; - public function __construct(Piwik_ArchiveProcessor $processing) + public function __construct(ArchiveProcessor $processing) { $this->maximumRows = Config::getInstance()->General['datatable_archiving_maximum_rows_standard']; $this->processor = $processing; @@ -38,7 +42,7 @@ abstract class Piwik_PluginsArchiver } /** - * @return Piwik_ArchiveProcessor_Day|Piwik_ArchiveProcessor_Period + * @return Day|Period */ protected function getProcessor() { @@ -46,7 +50,7 @@ abstract class Piwik_PluginsArchiver } /** - * @return Piwik_DataAccess_LogAggregator + * @return \Piwik\DataAccess\LogAggregator */ protected function getLogAggregator() { diff --git a/core/PluginsManager.php b/core/PluginsManager.php index 4fb4c82f6833eef074635f4c170156f61bde8b08..4660a37cd20fd4a839b78f0fba59721075967652 100644 --- a/core/PluginsManager.php +++ b/core/PluginsManager.php @@ -14,6 +14,9 @@ namespace Piwik; use Piwik\Config; use Piwik\Piwik; use Piwik\Common; +use Piwik\EventDispatcher; +use Piwik\Translate; +use Piwik\Plugin\MetadataLoader; /** * @see core/Menu/Abstract.php @@ -337,7 +340,7 @@ class PluginsManager { $plugins = $this->getLoadedPlugins(); foreach($plugins as $plugin) { - /* @var $plugin Piwik_Plugin */ + /* @var $plugin Plugin */ if($plugin->isTheme() && $plugin->getPluginName() != self::DEFAULT_THEME) { return $plugin->getPluginName(); @@ -385,7 +388,7 @@ class PluginsManager public function loadPluginTranslations($language = false) { if (empty($language)) { - $language = Piwik_Translate::getInstance()->getLanguageToLoad(); + $language = Translate::getInstance()->getLanguageToLoad(); } $plugins = $this->getLoadedPlugins(); @@ -419,11 +422,11 @@ class PluginsManager /** * Returns an array of key,value with the following format: array( - * 'UserCountry' => Piwik_Plugin $pluginObject, - * 'UserSettings' => Piwik_Plugin $pluginObject, + * 'UserCountry' => Plugin $pluginObject, + * 'UserSettings' => Plugin $pluginObject, * ); * - * @return array,Piwik_Plugin + * @return array,Plugin */ public function getLoadedPlugins() { @@ -431,7 +434,7 @@ class PluginsManager } /** - * Returns the given Piwik_Plugin object + * Returns the given Plugin object * * @param string $name * @throws Exception @@ -484,7 +487,7 @@ class PluginsManager $this->addLoadedPlugin($pluginName, $newPlugin); - Piwik_EventDispatcher::getInstance()->postPendingEventsTo($newPlugin); + EventDispatcher::getInstance()->postPendingEventsTo($newPlugin); return $newPlugin; } @@ -508,19 +511,18 @@ class PluginsManager if (!file_exists($path)) { // Create the smallest minimal Piwik Plugin // Eg. Used for Zeitgeist default theme which does not have a Zeitgeist.php file - return new Piwik_Plugin($pluginName); + return new Plugin($pluginName); } require_once $path; if (!class_exists($pluginClassName, false)) { - throw new Exception("The class $pluginClassName couldn't be found in the file '$path'"); + throw new \Exception("The class $pluginClassName couldn't be found in the file '$path'"); } $newPlugin = new $pluginClassName(); - var_dump(get_class($newPlugin)); - if (!($newPlugin instanceof Piwik_Plugin)) { - throw new \Exception("The plugin $pluginClassName in the file $path must inherit from Piwik_Plugin."); + if (!($newPlugin instanceof Plugin)) { + throw new \Exception("The plugin $pluginClassName in the file $path must inherit from Plugin."); } return $newPlugin; } @@ -570,10 +572,10 @@ class PluginsManager /** * Install a specific plugin * - * @param Piwik_Plugin $plugin + * @param Plugin $plugin * @throws Piwik_PluginsManager_PluginException if installation fails */ - private function installPlugin(Piwik_Plugin $plugin) + private function installPlugin(Plugin $plugin) { try { $plugin->install(); @@ -586,9 +588,9 @@ class PluginsManager * Add a plugin in the loaded plugins array * * @param string $pluginName plugin name without prefix (eg. 'UserCountry') - * @param Piwik_Plugin $newPlugin + * @param Plugin $newPlugin */ - private function addLoadedPlugin($pluginName, Piwik_Plugin $newPlugin) + private function addLoadedPlugin($pluginName, Plugin $newPlugin) { $this->loadedPlugins[$pluginName] = $newPlugin; } @@ -596,15 +598,15 @@ class PluginsManager /** * Load translation * - * @param Piwik_Plugin $plugin + * @param Plugin $plugin * @param string $langCode * @throws Exception * @return bool whether the translation was found and loaded */ private function loadTranslation($plugin, $langCode) { - // we are in Tracker mode if Piwik_Loader is not (yet) loaded - if (!class_exists('Piwik_Loader', false)) { + // we are in Tracker mode if Loader is not (yet) loaded + if (!class_exists('Piwik\Loader', false)) { return; } @@ -624,7 +626,7 @@ class PluginsManager } else { return false; } - Piwik_Translate::getInstance()->mergeTranslationArray($translations); + Translate::getInstance()->mergeTranslationArray($translations); return true; } @@ -652,7 +654,7 @@ class PluginsManager $plugins = Config::getInstance()->Plugins['Plugins']; foreach ($plugins as $pluginName) { // if a plugin is listed in the config, but is not loaded, it does not exist in the folder - if (!PluginsManager::getInstance()->isPluginLoaded($pluginName)) { + if (!\Piwik\PluginsManager::getInstance()->isPluginLoaded($pluginName)) { $missingPlugins[] = $pluginName; } } @@ -663,9 +665,9 @@ class PluginsManager /** * Install a plugin, if necessary * - * @param Piwik_Plugin $plugin + * @param Plugin $plugin */ - private function installPluginIfNecessary(Piwik_Plugin $plugin) + private function installPluginIfNecessary(Plugin $plugin) { $pluginName = $plugin->getPluginName(); @@ -697,7 +699,7 @@ class PluginsManager } } - protected function isTrackerPlugin(Piwik_Plugin $plugin) + protected function isTrackerPlugin(Plugin $plugin) { $hooks = $plugin->getListHooksRegistered(); $hookNames = array_keys($hooks); @@ -713,7 +715,7 @@ class PluginsManager { $name = basename($path); return file_exists($path . "/" . $name . ".php") - || file_exists($path . "/" . Piwik_Plugin_MetadataLoader::PLUGIN_JSON_FILENAME); + || file_exists($path . "/" . MetadataLoader::PLUGIN_JSON_FILENAME); } } diff --git a/core/ReportRenderer.php b/core/ReportRenderer.php index e4125cf18f51f18767d98ca18100b10faf9e3391..7d43bf4856463da94f8e5dc95bfb2538ae333b16 100644 --- a/core/ReportRenderer.php +++ b/core/ReportRenderer.php @@ -8,7 +8,11 @@ * @category Piwik * @package Piwik */ +use Piwik\DataTable\Simple; +use Piwik\DataTable\Row; use Piwik\Piwik; +use Piwik\DataTable; +use Piwik\Loader; /** * A Report Renderer produces user friendly renderings of any given Piwik report. @@ -48,7 +52,7 @@ abstract class Piwik_ReportRenderer $className = 'Piwik_ReportRenderer_' . $name; try { - Piwik_Loader::loadClass($className); + Loader::loadClass($className); return new $className; } catch (Exception $e) { @@ -186,9 +190,9 @@ abstract class Piwik_ReportRenderer * * @static * @param $reportMetadata array - * @param $report Piwik_DataTable + * @param $report DataTable * @param $reportColumns array - * @return array Piwik_DataTable $report & array $columns + * @return array DataTable $report & array $columns */ protected static function processTableFormat($reportMetadata, $report, $reportColumns) { @@ -196,9 +200,9 @@ abstract class Piwik_ReportRenderer if (empty($reportMetadata['dimension'])) { $simpleReportMetrics = $report->getFirstRow(); if ($simpleReportMetrics) { - $finalReport = new Piwik_DataTable_Simple(); + $finalReport = new Simple(); foreach ($simpleReportMetrics->getColumns() as $metricId => $metric) { - $newRow = new Piwik_DataTable_Row(); + $newRow = new Row(); $newRow->addColumn("label", $reportColumns[$metricId]); $newRow->addColumn("value", $metric); $finalReport->addRow($newRow); diff --git a/core/Site.php b/core/Site.php index da655b9a74f6c19db357d8dd400bc51beaefc3be..b0824e77eee9bac630fe809a64c99d6e52fd79f0 100644 --- a/core/Site.php +++ b/core/Site.php @@ -11,7 +11,7 @@ namespace Piwik; use Exception; -use Piwik_Date; +use Piwik\Date; use Piwik_SitesManager_API; /** @@ -127,12 +127,12 @@ class Site /** * Returns the creation date of the site * - * @return Piwik_Date + * @return Date */ function getCreationDate() { $date = $this->get('ts_created'); - return Piwik_Date::factory($date); + return Date::factory($date); } /** diff --git a/core/Tracker.php b/core/Tracker.php index a5d9bc0186214a75a9c6f4d4d36c1427f45df6d5..a5fb093b95633d3e608e438d4f6eff3c8a99aba4 100644 --- a/core/Tracker.php +++ b/core/Tracker.php @@ -12,6 +12,7 @@ use Piwik\Config; use Piwik\Piwik; use Piwik\Common; use Piwik\Access; +use Piwik\Translate; /** * Class used by the logging script piwik.php called by the javascript tag. @@ -313,7 +314,7 @@ class Piwik_Tracker // While each plugins should ensure that necessary languages are loaded, // we ensure English translations at least are loaded - Piwik_Translate::getInstance()->loadEnglishTranslation(); + Translate::getInstance()->loadEnglishTranslation(); $resultTasks = Piwik_TaskScheduler::runTasks(); @@ -352,7 +353,7 @@ class Piwik_Tracker Piwik::createDatabaseObject(); } - $pluginsManager = PluginsManager::getInstance(); + $pluginsManager = \Piwik\PluginsManager::getInstance(); $pluginsToLoad = Config::getInstance()->Plugins['Plugins']; $pluginsForcedNotToLoad = Piwik_Tracker::getPluginsNotToLoad(); $pluginsToLoad = array_diff($pluginsToLoad, $pluginsForcedNotToLoad); @@ -603,9 +604,9 @@ class Piwik_Tracker $pluginsTracker = Config::getInstance()->Plugins_Tracker['Plugins_Tracker']; if (count($pluginsTracker) > 0) { $pluginsTracker = array_diff($pluginsTracker, self::getPluginsNotToLoad()); - PluginsManager::getInstance()->doNotLoadAlwaysActivatedPlugins(); + \Piwik\PluginsManager::getInstance()->doNotLoadAlwaysActivatedPlugins(); - PluginsManager::getInstance()->loadPlugins($pluginsTracker); + \Piwik\PluginsManager::getInstance()->loadPlugins($pluginsTracker); Common::printDebug("Loading plugins: { " . implode(",", $pluginsTracker) . " }"); } diff --git a/core/Tracker/Cache.php b/core/Tracker/Cache.php index 4f7e5809f3e88c47607f0b4c4aa74f785d340b3c..72910c11e002a5641e4028b430331d79a32c8e04 100644 --- a/core/Tracker/Cache.php +++ b/core/Tracker/Cache.php @@ -8,6 +8,7 @@ * @category Piwik * @package Piwik */ +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; use Piwik\Piwik; @@ -96,7 +97,7 @@ class Piwik_Tracker_Cache Piwik_Tracker::initCorePiwikInTrackerMode(); $cacheContent = array( - 'isBrowserTriggerEnabled' => Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled(), + 'isBrowserTriggerEnabled' => Rules::isBrowserTriggerEnabled(), 'lastTrackerCronRun' => Piwik_GetOption('lastTrackerCronRun'), 'currentLocationProviderId' => Piwik_UserCountry_LocationProvider::getCurrentProviderId(), ); diff --git a/core/Translate.php b/core/Translate.php index fb2759b289705da141fd7503f1ff6e85a2c9654f..23b1e2637155c7eadb571b4cfa47e9c7d82b8990 100644 --- a/core/Translate.php +++ b/core/Translate.php @@ -8,20 +8,22 @@ * @category Piwik * @package Piwik */ +namespace Piwik; +use Exception; use Piwik\Config; use Piwik\Common; /** * @package Piwik */ -class Piwik_Translate +class Translate { static private $instance = null; static private $languageToLoad = null; private $loadedLanguage = false; /** - * @return Piwik_Translate + * @return \Piwik\Translate */ static public function getInstance() { @@ -49,7 +51,7 @@ class Piwik_Translate $this->unloadEnglishTranslation(); $this->loadEnglishTranslation(); $this->loadCoreTranslation($language); - PluginsManager::getInstance()->loadPluginTranslations($language); + \Piwik\PluginsManager::getInstance()->loadPluginTranslations($language); } /** @@ -180,40 +182,3 @@ class Piwik_Translate } } -/** - * Returns translated string or given message if translation is not found. - * - * @param string $string Translation string index - * @param array|string|int $args sprintf arguments - * @return string - */ -function Piwik_Translate($string, $args = array()) -{ - if (!is_array($args)) { - $args = array($args); - } - if (isset($GLOBALS['Piwik_translations'][$string])) { - $string = $GLOBALS['Piwik_translations'][$string]; - } - if (count($args) == 0) { - return $string; - } - return vsprintf($string, $args); -} - -/** - * Returns translated string or given message if translation is not found. - * This function does not throw any exception. Use it to translate exceptions. - * - * @param string $message Translation string index - * @param array $args sprintf arguments - * @return string - */ -function Piwik_TranslateException($message, $args = array()) -{ - try { - return Piwik_Translate($message, $args); - } catch (Exception $e) { - return $message; - } -} diff --git a/core/Twig.php b/core/Twig.php index 58b1e0cef11aa4e8ca478763c1bfa7f005164755..124f018fb5b4eabb99e1fb2fc0d4dfebea30eaea 100644 --- a/core/Twig.php +++ b/core/Twig.php @@ -10,7 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; - +use Piwik\Translate; /** * Twig class @@ -108,7 +108,7 @@ class Piwik_Twig return; } $pluginTranslationsAlreadyLoaded[] = $plugins; - $jsTranslations = Piwik_Translate::getInstance()->getJavascriptTranslations($plugins); + $jsTranslations = Translate::getInstance()->getJavascriptTranslations($plugins); $jsCode = ''; if ($disableScriptTag) { $jsCode .= $jsTranslations; @@ -136,7 +136,7 @@ class Piwik_Twig private function getDefaultThemeLoader() { $themeLoader = new Twig_Loader_Filesystem(array( - sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, PluginsManager::DEFAULT_THEME) + sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, \Piwik\PluginsManager::DEFAULT_THEME) )); return $themeLoader; @@ -213,7 +213,7 @@ class Piwik_Twig private function addPluginNamespaces(Twig_Loader_Filesystem $loader) { - $plugins = PluginsManager::getInstance()->getLoadedPluginsName(); + $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPluginsName(); foreach($plugins as $name) { $name = Common::unprefixClass($name); $path = sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, $name); diff --git a/core/Updates/0.6-rc1.php b/core/Updates/0.6-rc1.php index 9f63064eacfcd6170b951c7cc670766666e70fde..f383115ae1789e3194d2087e7cdb3406f9401203 100644 --- a/core/Updates/0.6-rc1.php +++ b/core/Updates/0.6-rc1.php @@ -45,8 +45,8 @@ class Piwik_Updates_0_6_rc1 extends Piwik_Updates ); $disabledPlugins = array(); foreach ($pluginsToDisableMessage as $pluginToDisable => $warningMessage) { - if (PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) { - PluginsManager::getInstance()->deactivatePlugin($pluginToDisable); + if (\Piwik\PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) { + \Piwik\PluginsManager::getInstance()->deactivatePlugin($pluginToDisable); $disabledPlugins[] = $warningMessage; } } diff --git a/core/Updates/1.10-b4.php b/core/Updates/1.10-b4.php index 5460b7f5406c8f98c425aae4082916816d8642e7..59ae4cda6801edc97fdb5ec2b8486365937fc3b9 100755 --- a/core/Updates/1.10-b4.php +++ b/core/Updates/1.10-b4.php @@ -22,7 +22,7 @@ class Piwik_Updates_1_10_b4 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('MobileMessaging'); + \Piwik\PluginsManager::getInstance()->activatePlugin('MobileMessaging'); } catch (Exception $e) { // pass } diff --git a/core/Updates/1.10.1.php b/core/Updates/1.10.1.php index 879a20de024653613b2f810e83c90c675d0fc2ca..38a2b53e7f4730dbfd7a927a9f5843687eecd7e8 100755 --- a/core/Updates/1.10.1.php +++ b/core/Updates/1.10.1.php @@ -22,7 +22,7 @@ class Piwik_Updates_1_10_1 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('Overlay'); + \Piwik\PluginsManager::getInstance()->activatePlugin('Overlay'); } catch (Exception $e) { // pass } diff --git a/core/Updates/1.11-b1.php b/core/Updates/1.11-b1.php index 9acfb359fa2c8b348604d6357b5a66f0e8d52659..3f7a31904edbe9d0b01cc80e9ead65d10ef22f4a 100644 --- a/core/Updates/1.11-b1.php +++ b/core/Updates/1.11-b1.php @@ -22,7 +22,7 @@ class Piwik_Updates_1_11_b1 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('UserCountryMap'); + \Piwik\PluginsManager::getInstance()->activatePlugin('UserCountryMap'); } catch (Exception $e) { // pass } diff --git a/core/Updates/1.12-b15.php b/core/Updates/1.12-b15.php index 49d72e21993df2d35a960a5110720277d1256c6c..ea66360caf3a85d41c8d8073681e11e7979a1c35 100644 --- a/core/Updates/1.12-b15.php +++ b/core/Updates/1.12-b15.php @@ -17,7 +17,7 @@ class Piwik_Updates_1_12_b15 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('SegmentEditor'); + \Piwik\PluginsManager::getInstance()->activatePlugin('SegmentEditor'); } catch (Exception $e) { // pass } diff --git a/core/Updates/1.2-rc1.php b/core/Updates/1.2-rc1.php index b7636a1225c085dfe7a67d16208dec7d5321d221..36c9e42899d0e3a291590c8603f7021d32704de3 100644 --- a/core/Updates/1.2-rc1.php +++ b/core/Updates/1.2-rc1.php @@ -122,8 +122,8 @@ class Piwik_Updates_1_2_rc1 extends Piwik_Updates ); $disabledPlugins = array(); foreach ($pluginsToDisableMessage as $pluginToDisable => $warningMessage) { - if (PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) { - PluginsManager::getInstance()->deactivatePlugin($pluginToDisable); + if (\Piwik\PluginsManager::getInstance()->isPluginActivated($pluginToDisable)) { + \Piwik\PluginsManager::getInstance()->deactivatePlugin($pluginToDisable); $disabledPlugins[] = $warningMessage; } } diff --git a/core/Updates/1.2-rc2.php b/core/Updates/1.2-rc2.php index 7f086ef56e65cbde97b4c8ee32de3478e1a64b44..0ab9c30bdc78a1d59e2cf643663a169ab3d028a3 100644 --- a/core/Updates/1.2-rc2.php +++ b/core/Updates/1.2-rc2.php @@ -17,7 +17,7 @@ class Piwik_Updates_1_2_rc2 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('CustomVariables'); + \Piwik\PluginsManager::getInstance()->activatePlugin('CustomVariables'); } catch (Exception $e) { } } diff --git a/core/Updates/1.5-rc6.php b/core/Updates/1.5-rc6.php index 289f44b32bc0a4061c0e6322d6812d5260aaef5a..1015ef63db833950c3613e963b67b41543882644 100644 --- a/core/Updates/1.5-rc6.php +++ b/core/Updates/1.5-rc6.php @@ -17,7 +17,7 @@ class Piwik_Updates_1_5_rc6 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('PrivacyManager'); + \Piwik\PluginsManager::getInstance()->activatePlugin('PrivacyManager'); } catch (Exception $e) { } } diff --git a/core/Updates/1.6-rc1.php b/core/Updates/1.6-rc1.php index 91909b980e75616541281b74b7cba665ef3cf6d3..b838a0372785398ba1b38199368daf19c5057786 100644 --- a/core/Updates/1.6-rc1.php +++ b/core/Updates/1.6-rc1.php @@ -17,7 +17,7 @@ class Piwik_Updates_1_6_rc1 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('ImageGraph'); + \Piwik\PluginsManager::getInstance()->activatePlugin('ImageGraph'); } catch (Exception $e) { } } diff --git a/core/Updates/1.8.3-b1.php b/core/Updates/1.8.3-b1.php index 334d1b9a0702c2a4d5aa76cee2ba90648eb1e8f3..99084a281416141bbb700eec8efc492cdf72be78 100644 --- a/core/Updates/1.8.3-b1.php +++ b/core/Updates/1.8.3-b1.php @@ -43,7 +43,7 @@ class Piwik_Updates_1_8_3_b1 extends Piwik_Updates static function update() { Piwik_Updater::updateDatabase(__FILE__, self::getSql()); - if (!PluginsManager::getInstance()->isPluginLoaded('PDFReports')) { + if (!\Piwik\PluginsManager::getInstance()->isPluginLoaded('PDFReports')) { return; } diff --git a/core/Updates/1.9-b19.php b/core/Updates/1.9-b19.php index 771459b99909798d06e51e26cb24b0b8a404b129..03f142de0d3858c16296bc113c89d1f4f8793afb 100755 --- a/core/Updates/1.9-b19.php +++ b/core/Updates/1.9-b19.php @@ -33,7 +33,7 @@ class Piwik_Updates_1_9_b19 extends Piwik_Updates try { - PluginsManager::getInstance()->activatePlugin('Transitions'); + \Piwik\PluginsManager::getInstance()->activatePlugin('Transitions'); } catch (Exception $e) { } } diff --git a/core/Updates/1.9.3-b10.php b/core/Updates/1.9.3-b10.php index 0bdff3f7133a5ad558edcd9412388635aef74325..97e2cd5d5e385de0e92d080704e7366233f7892e 100755 --- a/core/Updates/1.9.3-b10.php +++ b/core/Updates/1.9.3-b10.php @@ -22,7 +22,7 @@ class Piwik_Updates_1_9_3_b10 extends Piwik_Updates static function update() { try { - PluginsManager::getInstance()->activatePlugin('Annotations'); + \Piwik\PluginsManager::getInstance()->activatePlugin('Annotations'); } catch (Exception $e) { // pass } diff --git a/core/Updates/1.9.3-b3.php b/core/Updates/1.9.3-b3.php index 67e84c635139358d8f3e2ef651e71ef5f544afad..60257c6884c7337d11559855889ac2f8c1cf100e 100644 --- a/core/Updates/1.9.3-b3.php +++ b/core/Updates/1.9.3-b3.php @@ -19,9 +19,9 @@ class Piwik_Updates_1_9_3_b3 extends Piwik_Updates // Insight was a temporary code name for Overlay $pluginToDelete = 'Insight'; self::deletePluginFromConfigFile($pluginToDelete); - PluginsManager::getInstance()->deletePluginFromFilesystem($pluginToDelete); + \Piwik\PluginsManager::getInstance()->deletePluginFromFilesystem($pluginToDelete); // We also clean up 1.9.1 and delete Feedburner plugin - PluginsManager::getInstance()->deletePluginFromFilesystem('Feedburner'); + \Piwik\PluginsManager::getInstance()->deletePluginFromFilesystem('Feedburner'); } } diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php index 5ad12b1aae64ebcd343eab8ffcb2c4713f96004c..decc8a0cd0698d3273e1594a273d7c80f8286cc5 100644 --- a/core/ViewDataTable.php +++ b/core/ViewDataTable.php @@ -11,9 +11,11 @@ use Piwik\Config; use Piwik\Metrics; use Piwik\Period; -use Piwik\Period_Range; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\DataTable; use Piwik\Site; /** @@ -82,7 +84,7 @@ abstract class Piwik_ViewDataTable /** * DataTable loaded from the API for this ViewDataTable. * - * @var Piwik_DataTable + * @var DataTable */ protected $dataTable = null; @@ -377,7 +379,7 @@ abstract class Piwik_ViewDataTable $this->viewProperties['report_id'] = $currentControllerName . '.' . $currentControllerAction; $this->viewProperties['self_url'] = $this->getBaseReportUrl($currentControllerName, $currentControllerAction); - if (!PluginsManager::getInstance()->isPluginActivated('Goals')) { + if (!\Piwik\PluginsManager::getInstance()->isPluginActivated('Goals')) { $this->viewProperties['show_goals'] = false; } @@ -444,7 +446,7 @@ abstract class Piwik_ViewDataTable /** * Returns the DataTable loaded from the API * - * @return Piwik_DataTable + * @return DataTable * @throws exception if not yet defined */ public function getDataTable() @@ -460,7 +462,7 @@ abstract class Piwik_ViewDataTable * It won't be loaded again from the API in this case * * @param $dataTable - * @return void $dataTable Piwik_DataTable + * @return void $dataTable DataTable */ public function setDataTable($dataTable) { @@ -522,7 +524,7 @@ abstract class Piwik_ViewDataTable * Function called by the ViewDataTable objects in order to fetch data from the API. * The function init() must have been called before, so that the object knows which API module and action to call. * It builds the API request string and uses Piwik_API_Request to call the API. - * The requested Piwik_DataTable object is stored in $this->dataTable. + * The requested DataTable object is stored in $this->dataTable. */ protected function loadDataTableFromAPI() { @@ -551,7 +553,7 @@ abstract class Piwik_ViewDataTable */ protected function checkStandardDataTable() { - Piwik::checkObjectTypeIs($this->dataTable, array('Piwik_DataTable')); + Piwik::checkObjectTypeIs($this->dataTable, array('\Piwik\DataTable')); } /** @@ -567,11 +569,11 @@ abstract class Piwik_ViewDataTable } // deal w/ table metadata - if ($this->dataTable instanceof Piwik_DataTable) { + if ($this->dataTable instanceof DataTable) { $this->viewProperties['metadata'] = $this->dataTable->getAllTableMetadata(); - if (isset($this->viewProperties['metadata'][Piwik_DataTable::ARCHIVED_DATE_METADATA_NAME])) { - $this->viewProperties['metadata'][Piwik_DataTable::ARCHIVED_DATE_METADATA_NAME] = + if (isset($this->viewProperties['metadata'][DataTable::ARCHIVED_DATE_METADATA_NAME])) { + $this->viewProperties['metadata'][DataTable::ARCHIVED_DATE_METADATA_NAME] = $this->makePrettyArchivedOnText(); } } @@ -608,7 +610,7 @@ abstract class Piwik_ViewDataTable // default columns_to_display to label, nb_uniq_visitors/nb_visits if those columns exist in the // dataset - if ($this->dataTable instanceof Piwik_DataTable) { + if ($this->dataTable instanceof DataTable) { $columns = $this->dataTable->getColumns(); if (empty($this->viewProperties['columns_to_display']) && $this->dataTableColumnsContains($columns, array('nb_visits', 'nb_uniq_visitors')) @@ -669,8 +671,8 @@ abstract class Piwik_ViewDataTable */ private function makePrettyArchivedOnText() { - $dateText = $this->viewProperties['metadata'][Piwik_DataTable::ARCHIVED_DATE_METADATA_NAME]; - $date = Piwik_Date::factory($dateText); + $dateText = $this->viewProperties['metadata'][DataTable::ARCHIVED_DATE_METADATA_NAME]; + $date = Date::factory($dateText); $today = mktime(0, 0, 0); if ($date->getTimestamp() > $today) { $elapsedSeconds = time() - $date->getTimestamp(); @@ -835,7 +837,7 @@ abstract class Piwik_ViewDataTable } } - if ($this->dataTable instanceof Piwik_DataTable) { + if ($this->dataTable instanceof DataTable) { // we override the filter_sort_column with the column used for sorting, // which can be different from the one specified (eg. if the column doesn't exist) $javascriptVariablesToSet['filter_sort_column'] = $this->dataTable->getSortedByColumnName(); @@ -853,8 +855,8 @@ abstract class Piwik_ViewDataTable $javascriptVariablesToSet['controllerActionCalledWhenRequestSubTable'] = $this->controllerActionCalledWhenRequestSubTable; if ($this->dataTable && - // Piwik_DataTable_Array doesn't have the method - !($this->dataTable instanceof Piwik_DataTable_Array) + // Set doesn't have the method + !($this->dataTable instanceof DataTable\Map) && empty($javascriptVariablesToSet['totalRows']) ) { $javascriptVariablesToSet['totalRows'] = $this->dataTable->getRowsCountBeforeLimitFilter(); @@ -1061,7 +1063,7 @@ abstract class Piwik_ViewDataTable */ public function showAnnotationsView() { - if (!PluginsManager::getInstance()->isPluginLoaded('Annotations')) { + if (!\Piwik\PluginsManager::getInstance()->isPluginLoaded('Annotations')) { return; } @@ -1113,7 +1115,7 @@ abstract class Piwik_ViewDataTable */ public function enableShowGoals() { - if (PluginsManager::getInstance()->isPluginActivated('Goals')) { + if (\Piwik\PluginsManager::getInstance()->isPluginActivated('Goals')) { $this->viewProperties['show_goals'] = true; } } @@ -1360,10 +1362,10 @@ abstract class Piwik_ViewDataTable if(empty($this->dataTable)) { return; } - if ($this->dataTable instanceof Piwik_DataTable_Array) { - $emptyColumns = $this->dataTable->getMetadataIntersectArray(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME); + if ($this->dataTable instanceof DataTable\Map) { + $emptyColumns = $this->dataTable->getMetadataIntersectArray(DataTable::EMPTY_COLUMNS_METADATA_NAME); } else { - $emptyColumns = $this->dataTable->getMetadata(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME); + $emptyColumns = $this->dataTable->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); } if (is_array($emptyColumns)) { foreach ($emptyColumns as $emptyColumn) { @@ -1537,14 +1539,14 @@ abstract class Piwik_ViewDataTable $timezone = 'UTC'; } - $period = new Period_Range('range', $strDate, $timezone); + $period = new Range('range', $strDate, $timezone); $reportDate = $period->getDateStart(); } // if a multiple period, this function is irrelevant else if (Period::isMultiplePeriod($strDate, $strPeriod)) { return false; } // otherwise, use the date as given else { - $reportDate = Piwik_Date::factory($strDate); + $reportDate = Date::factory($strDate); } $reportYear = $reportDate->toString('Y'); @@ -1619,7 +1621,7 @@ abstract class Piwik_ViewDataTable * Returns true if the first array contains one or more of the specified * column names or their associated integer INDEX_ value. * - * @param array $columns Piwik_DataTable_Row columns. + * @param array $columns Row columns. * @param array|string $columnsToCheckFor eg, array('nb_visits', 'nb_uniq_visitors') * @return bool */ diff --git a/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php b/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php index 38392bf71aefff24584e440ee0ef316d2ea48531..4ee089abd8fb4fe54b55179942f5bff5f7a8884e 100644 --- a/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php +++ b/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php @@ -10,7 +10,7 @@ */ use Piwik\Common; -use Piwik\Period_Range; +use Piwik\Period\Range; use Piwik\Site; /** @@ -99,10 +99,10 @@ class Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution extends Piwik_ViewDat $this->alwaysShowLimitDropdown(); // set the evolution_{$period}_last_n query param - if (Period_Range::parseDateRange($this->originalDate)) // if a multiple period + if (Range::parseDateRange($this->originalDate)) // if a multiple period { // overwrite last_n param using the date range - $oPeriod = new Period_Range($period, $this->originalDate); + $oPeriod = new Range($period, $this->originalDate); $lastN = count($oPeriod->getSubperiods()); } else // if not a multiple period { diff --git a/core/ViewDataTable/HtmlTable.php b/core/ViewDataTable/HtmlTable.php index dc23e95d2b505cc5e9074c3710c3a3f4e3ad346b..05b99543fa222e41825b0796c2147c976101f30a 100644 --- a/core/ViewDataTable/HtmlTable.php +++ b/core/ViewDataTable/HtmlTable.php @@ -9,6 +9,7 @@ * @package Piwik */ use Piwik\Config; +use Piwik\DataTable\Renderer; use Piwik\Piwik; use Piwik\Common; @@ -23,7 +24,7 @@ use Piwik\Common; class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable { /** - * PHP array conversion of the Piwik_DataTable + * PHP array conversion of the DataTable * * @var array */ @@ -168,13 +169,13 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable } /** - * Returns friendly php array from the Piwik_DataTable + * Returns friendly php array from the DataTable * @see Piwik_DataTable_Renderer_Php * @return array */ protected function getPHPArrayFromDataTable() { - $renderer = Piwik_DataTable_Renderer::factory('php'); + $renderer = Renderer::factory('php'); $renderer->setTable($this->dataTable); $renderer->setSerialize(false); // we get the php array from the datatable but conserving the original datatable format, diff --git a/core/ViewDataTable/HtmlTable/AllColumns.php b/core/ViewDataTable/HtmlTable/AllColumns.php index 9b1a1f77d31c57da0e309c24390bb8cab9e0663a..6b88cfeeb34970d421ed80545c604a7320c27661 100644 --- a/core/ViewDataTable/HtmlTable/AllColumns.php +++ b/core/ViewDataTable/HtmlTable/AllColumns.php @@ -59,7 +59,8 @@ class Piwik_ViewDataTable_HtmlTable_AllColumns extends Piwik_ViewDataTable_HtmlT 'bounce_rate', $columnConversionRate )); - $this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', create_function('$averageTimeOnSite', 'return Piwik::getPrettyTimeFromSeconds($averageTimeOnSite);'))); + $this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', create_function('$averageTimeOnSite', + 'return \Piwik\Piwik::getPrettyTimeFromSeconds($averageTimeOnSite);'))); return true; } diff --git a/core/ViewDataTable/HtmlTable/Goals.php b/core/ViewDataTable/HtmlTable/Goals.php index 4fa4980d7207a47c79d7cba103bae69023ffefb5..7714e7fd0691db003e6ccb1e8c12dc87ab90d7f4 100644 --- a/core/ViewDataTable/HtmlTable/Goals.php +++ b/core/ViewDataTable/HtmlTable/Goals.php @@ -8,6 +8,7 @@ * @category Piwik * @package Piwik */ +use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; use Piwik\Piwik; use Piwik\Common; use Piwik\Site; @@ -26,7 +27,7 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable public function main() { $this->idSite = Common::getRequestVar('idSite', null, 'int'); - $this->processOnlyIdGoal = Common::getRequestVar('idGoal', Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW, 'string'); + $this->processOnlyIdGoal = Common::getRequestVar('idGoal', AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW, 'string'); $this->isEcommerce = $this->processOnlyIdGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER; $this->viewProperties['show_exclude_low_population'] = true; $this->viewProperties['show_goals'] = true; @@ -143,7 +144,7 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable $goal['name'] = Common::unsanitizeInputValue($goal['name']); - if ($this->processOnlyIdGoal > Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE + if ($this->processOnlyIdGoal > AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE && $this->processOnlyIdGoal != $idgoal && !$this->isEcommerce ) { @@ -155,7 +156,7 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable $this->setDynamicMetricDocumentation($columnName, $columnNameGoal, $goal['name'], $goal['idgoal']); if (strpos($columnNameGoal, '_rate') === false // For the goal table (when the flag icon is clicked), we only display the per Goal Conversion rate - && $this->processOnlyIdGoal == Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW + && $this->processOnlyIdGoal == AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW ) { continue; } @@ -220,7 +221,7 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable protected function getRequestArray() { $requestArray = parent::getRequestArray(); - if ($this->processOnlyIdGoal > Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE + if ($this->processOnlyIdGoal > AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE || $this->isEcommerce ) { $requestArray["idGoal"] = $this->processOnlyIdGoal; @@ -251,7 +252,7 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable $this->columnsToRevenueFilter[] = 'revenue_per_visit'; foreach ($this->columnsToRevenueFilter as $columnName) { $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$value', 'return sprintf("%.1f",$value);'))); - $this->dataTable->filter('ColumnCallbackReplace', array($columnName, array("Piwik", "getPrettyMoney"), array($this->getIdSite()))); + $this->dataTable->filter('ColumnCallbackReplace', array($columnName, '\Piwik\Piwik::getPrettyMoney', array($this->getIdSite()))); } foreach ($this->columnsToConversionFilter as $columnName) { diff --git a/core/ViewDataTable/Sparkline.php b/core/ViewDataTable/Sparkline.php index ae85101a7812b81016cea1c7d859ecf1e82c6e71..74e72f03c9042c32436fa66147659b7558ef0014 100644 --- a/core/ViewDataTable/Sparkline.php +++ b/core/ViewDataTable/Sparkline.php @@ -9,6 +9,7 @@ * @package Piwik */ use Piwik\Common; +use Piwik\DataTable; /** * Reads the requested DataTable from the API and prepare data for the Sparkline view. @@ -101,11 +102,11 @@ class Piwik_ViewDataTable_Sparkline extends Piwik_ViewDataTable $columnToPlot = $columns[0]; } $values = false; - // a Piwik_DataTable_Array is returned when using the normal code path to request data from Archives, in all core plugins + // a Set is returned when using the normal code path to request data from Archives, in all core plugins // however plugins can also return simple datatable, hence why the sparkline can accept both data types - if ($this->dataTable instanceof Piwik_DataTable_Array) { + if ($this->dataTable instanceof DataTable\Map) { $values = $this->getValuesFromDataTableArray($dataTable, $columnToPlot); - } elseif ($this->dataTable instanceof Piwik_DataTable) { + } elseif ($this->dataTable instanceof DataTable) { $values = $this->dataTable->getColumn($columnToPlot); } return $values; diff --git a/index.php b/index.php index e3486c3e3fee63ad4ade27b77b4c0f600e6da72c..6c886d84a31ba5f3c135fc25596eac4d718ca14a 100644 --- a/index.php +++ b/index.php @@ -34,6 +34,7 @@ session_cache_limiter('nocache'); @date_default_timezone_set('UTC'); require_once PIWIK_INCLUDE_PATH . '/vendor/autoload.php'; require_once PIWIK_INCLUDE_PATH . '/core/Loader.php'; +require_once PIWIK_INCLUDE_PATH . '/core/functions.php'; if (!defined('PIWIK_ENABLE_ERROR_HANDLER') || PIWIK_ENABLE_ERROR_HANDLER) { require_once PIWIK_INCLUDE_PATH . '/core/ErrorHandler.php'; diff --git a/libs/HTML/QuickForm2/Renderer.php b/libs/HTML/QuickForm2/Renderer.php index 8de745308de9f849c0c28fb26f08d9a118cd5076..f88b1523cf772af07bf1b467b46441d44c9a9f6f 100644 --- a/libs/HTML/QuickForm2/Renderer.php +++ b/libs/HTML/QuickForm2/Renderer.php @@ -42,6 +42,7 @@ * @version SVN: $Id: Renderer.php 299706 2010-05-24 18:32:37Z avb $ * @link http://pear.php.net/package/HTML_QuickForm2 */ +use Piwik\Plugin; /** * Class with static methods for loading classes and files diff --git a/misc/cron/archive.php b/misc/cron/archive.php index 280574ac64fa0a3f293b138faa6e3767cbdb863c..45e8abe88a3008f023ad1f7ba6b9ccdde4b1b564 100644 --- a/misc/cron/archive.php +++ b/misc/cron/archive.php @@ -1,7 +1,9 @@ <?php +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; $USAGE = " Usage: @@ -131,7 +133,7 @@ class Archiving $this->log("Notes"); // Information about timeout - $this->todayArchiveTimeToLive = Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $this->todayArchiveTimeToLive = Rules::getTodayArchiveTimeToLive(); $this->log("- Reports for today will be processed at most every " . $this->todayArchiveTimeToLive . " seconds. You can change this value in Piwik UI > Settings > General Settings."); $this->log("- Reports for the current week/month/year will be refreshed at most every " @@ -669,7 +671,7 @@ class Archiving ) // in case --force-timeout-for-periods= without [seconds] specified { // Ensure the cache for periods is at least as high as cache for today - $todayTTL = Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $todayTTL = Rules::getTodayArchiveTimeToLive(); if ($forceTimeoutPeriod < $todayTTL) { $this->log("WARNING: Automatically increasing --force-timeout-for-periods from $forceTimeoutPeriod to " . $todayTTL @@ -680,7 +682,7 @@ class Archiving } // Recommend to disable browser archiving when using this script - if (Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled()) { + if (Rules::isBrowserTriggerEnabled()) { $this->log("NOTE: if you execute this script at least once per hour (or more often) in a crontab, you may disable 'Browser trigger archiving' in Piwik UI > Settings > General Settings. "); $this->log(" see doc at: http://piwik.org/docs/setup-auto-archiving/"); } @@ -752,8 +754,8 @@ class Archiving $uniqueTimezones = Piwik_SitesManager_API::getInstance()->getUniqueSiteTimezones(); $timezoneToProcess = array(); foreach ($uniqueTimezones as &$timezone) { - $processedDateInTz = Piwik_Date::factory((int)$timestampActiveTraffic, $timezone); - $currentDateInTz = Piwik_Date::factory('now', $timezone); + $processedDateInTz = Date::factory((int)$timestampActiveTraffic, $timezone); + $currentDateInTz = Date::factory('now', $timezone); if ($processedDateInTz->toString() != $currentDateInTz->toString()) { $timezoneToProcess[] = $timezone; diff --git a/piwik.php b/piwik.php index 65fcd550835aee299e318d85c064b1ea7f154302..bafd1afdc573aa147daed9b7ce9c9b4548e4311f 100644 --- a/piwik.php +++ b/piwik.php @@ -33,6 +33,7 @@ if (!defined('PIWIK_INCLUDE_PATH')) { @ignore_user_abort(true); require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php'; +require_once PIWIK_INCLUDE_PATH . '/core/functions.php'; require_once PIWIK_INCLUDE_PATH . '/core/PluginsManager.php'; require_once PIWIK_INCLUDE_PATH . '/core/Plugin.php'; require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; diff --git a/plugins/API/API.php b/plugins/API/API.php index b93dae790256166c60d079e184353ed0b61df381..e85974fd8e4b3eff36449b394ed54c249607798d 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -8,17 +8,23 @@ * @category Piwik_Plugins * @package Piwik_API */ +use Piwik\DataTable\Filter\ColumnDelete; +use Piwik\DataTable\Row; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Common; use Piwik\Config; +use Piwik\Date; +use Piwik\DataTable; +use Piwik\Plugin; +use Piwik\Translate; require_once PIWIK_INCLUDE_PATH . '/core/Config.php'; /** * @package Piwik_API */ -class Piwik_API extends Piwik_Plugin +class Piwik_API extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -385,7 +391,7 @@ class Piwik_API_API public function getMetadata($idSite, $apiModule, $apiAction, $apiParameters = array(), $language = false, $period = false, $date = false, $hideMetricsDoc = false, $showSubtableReports = false) { - Piwik_Translate::getInstance()->reloadLanguage($language); + Translate::getInstance()->reloadLanguage($language); $reporter = new Piwik_API_ProcessedReport(); $metadata = $reporter->getMetadata($idSite, $apiModule, $apiAction, $apiParameters, $language, $period, $date, $hideMetricsDoc, $showSubtableReports); return $metadata; @@ -397,7 +403,7 @@ class Piwik_API_API * * @param string $idSites Comma separated list of website Ids * @param bool|string $period - * @param bool|Piwik_Date $date + * @param bool|Date $date * @param bool $hideMetricsDoc * @param bool $showSubtableReports * @return array @@ -466,13 +472,13 @@ class Piwik_API_API $params['columns'] = implode(',', $columns); $dataTable = Piwik_API_Proxy::getInstance()->call($className, 'get', $params); // make sure the table has all columns - $array = ($dataTable instanceof Piwik_DataTable_Array ? $dataTable->getArray() : array($dataTable)); + $array = ($dataTable instanceof DataTable\Map ? $dataTable->getArray() : array($dataTable)); foreach ($array as $table) { // we don't support idSites=all&date=DATE1,DATE2 - if ($table instanceof Piwik_DataTable) { + if ($table instanceof DataTable) { $firstRow = $table->getFirstRow(); if (!$firstRow) { - $firstRow = new Piwik_DataTable_Row; + $firstRow = new Row; $table->addRow($firstRow); } foreach ($columns as $column) { @@ -500,7 +506,7 @@ class Piwik_API_API private function mergeDataTables($table1, $table2) { // handle table arrays - if ($table1 instanceof Piwik_DataTable_Array && $table2 instanceof Piwik_DataTable_Array) { + if ($table1 instanceof DataTable\Map && $table2 instanceof DataTable\Map) { $subTables2 = $table2->getArray(); foreach ($table1->getArray() as $index => $subTable1) { $subTable2 = $subTables2[$index]; @@ -511,7 +517,7 @@ class Piwik_API_API $firstRow1 = $table1->getFirstRow(); $firstRow2 = $table2->getFirstRow(); - if ($firstRow2 instanceof Piwik_DataTable_Row) { + if ($firstRow2 instanceof Row) { foreach ($firstRow2->getColumns() as $metric => $value) { $firstRow1->setColumn($metric, $value); } @@ -525,7 +531,7 @@ class Piwik_API_API * * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param string $apiModule * @param string $apiAction * @param bool|string $label @@ -591,7 +597,7 @@ class Piwik_API_API throw new Exception("Requested segment not found."); } - $startDate = Piwik_Date::now()->subDay(60)->toString(); + $startDate = Date::now()->subDay(60)->toString(); $requestLastVisits = "method=Live.getLastVisitsDetails &idSite=$idSite &period=range @@ -622,7 +628,7 @@ class Piwik_API_API $values = $table->getColumn($segmentName); // Select also flattened keys (custom variables "page" scope, page URLs for one visit, page titles for one visit) - $valuesBis = $table->getColumnsStartingWith($segmentName . Piwik_DataTable_Filter_ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP); + $valuesBis = $table->getColumnsStartingWith($segmentName . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP); $values = array_merge($values, $valuesBis); // remove false values (while keeping zeros) diff --git a/plugins/API/ProcessedReport.php b/plugins/API/ProcessedReport.php index db30a136486c40b54127a2d9bef1cc63b78f06e7..a008c820251bdaebd84e0e11486740e5ea3c4863 100644 --- a/plugins/API/ProcessedReport.php +++ b/plugins/API/ProcessedReport.php @@ -1,8 +1,12 @@ <?php +use Piwik\DataTable\Simple; +use Piwik\DataTable\Row; use Piwik\Metrics; use Piwik\Period; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\DataTable; use Piwik\Site; /** @@ -60,7 +64,7 @@ class Piwik_API_ProcessedReport * * @param string $idSites Comma separated list of website Ids * @param bool|string $period - * @param bool|Piwik_Date $date + * @param bool|Date $date * @param bool $hideMetricsDoc * @param bool $showSubtableReports * @return array @@ -272,7 +276,7 @@ class Piwik_API_ProcessedReport $url = Piwik_Url::getQueryStringFromParameters($parameters); $request = new Piwik_API_Request($url); try { - /** @var Piwik_DataTable */ + /** @var DataTable */ $dataTable = $request->process(); } catch (Exception $e) { throw new Exception("API returned an error: " . $e->getMessage() . " at " . basename($e->getFile()) . ":" . $e->getLine() . "\n"); @@ -307,14 +311,14 @@ class Piwik_API_ProcessedReport * - remove metrics based on $reportMetadata['metrics'] * - add 0 valued metrics if $dataTable doesn't provide all $reportMetadata['metrics'] * - format metric values to a 'human readable' format - * - extract row metadata to a separate Piwik_DataTable_Simple|Piwik_DataTable_Array : $rowsMetadata + * - extract row metadata to a separate Simple|Set : $rowsMetadata * - translate metric names to a separate array : $columns * * @param int $idSite enables monetary value formatting based on site currency - * @param Piwik_DataTable|Piwik_DataTable_Array $dataTable + * @param \Piwik\DataTable\Set $dataTable * @param array $reportMetadata * @param bool $showRawMetrics - * @return array Piwik_DataTable_Simple|Piwik_DataTable_Array $newReport with human readable format & array $columns list of translated column names & Piwik_DataTable_Simple|Piwik_DataTable_Array $rowsMetadata + * @return array Simple|Set $newReport with human readable format & array $columns list of translated column names & Simple|Set $rowsMetadata */ private function handleTableReport($idSite, $dataTable, &$reportMetadata, $showRawMetrics = false) { @@ -356,17 +360,17 @@ class Piwik_API_ProcessedReport $columns = $this->hideShowMetrics($columns); - // $dataTable is an instance of Piwik_DataTable_Array when multiple periods requested - if ($dataTable instanceof Piwik_DataTable_Array) { - // Need a new Piwik_DataTable_Array to store the 'human readable' values - $newReport = new Piwik_DataTable_Array(); + // $dataTable is an instance of Set when multiple periods requested + if ($dataTable instanceof DataTable\Map) { + // Need a new Set to store the 'human readable' values + $newReport = new DataTable\Map(); $newReport->setKeyName("prettyDate"); - // Need a new Piwik_DataTable_Array to store report metadata - $rowsMetadata = new Piwik_DataTable_Array(); + // Need a new Set to store report metadata + $rowsMetadata = new DataTable\Map(); $rowsMetadata->setKeyName("prettyDate"); - // Process each Piwik_DataTable_Simple entry + // Process each Simple entry foreach ($dataTable->getArray() as $label => $simpleDataTable) { $this->removeEmptyColumns($columns, $reportMetadata, $simpleDataTable); @@ -395,7 +399,7 @@ class Piwik_API_ProcessedReport */ private function removeEmptyColumns(&$columns, &$reportMetadata, $dataTable) { - $emptyColumns = $dataTable->getMetadata(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME); + $emptyColumns = $dataTable->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); if (!is_array($emptyColumns)) { return; @@ -473,26 +477,26 @@ class Piwik_API_ProcessedReport * - remove metrics based on $reportMetadata['metrics'] * - add 0 valued metrics if $simpleDataTable doesn't provide all $reportMetadata['metrics'] * - format metric values to a 'human readable' format - * - extract row metadata to a separate Piwik_DataTable_Simple $rowsMetadata + * - extract row metadata to a separate Simple $rowsMetadata * * @param int $idSite enables monetary value formatting based on site currency - * @param Piwik_DataTable_Simple $simpleDataTable + * @param Simple $simpleDataTable * @param array $metadataColumns * @param boolean $hasDimension * @param bool $returnRawMetrics If set to true, the original metrics will be returned * - * @return array Piwik_DataTable $enhancedDataTable filtered metrics with human readable format & Piwik_DataTable_Simple $rowsMetadata + * @return array DataTable $enhancedDataTable filtered metrics with human readable format & Simple $rowsMetadata */ private function handleSimpleDataTable($idSite, $simpleDataTable, $metadataColumns, $hasDimension, $returnRawMetrics = false) { // new DataTable to store metadata - $rowsMetadata = new Piwik_DataTable(); + $rowsMetadata = new DataTable(); // new DataTable to store 'human readable' values if ($hasDimension) { - $enhancedDataTable = new Piwik_DataTable(); + $enhancedDataTable = new DataTable(); } else { - $enhancedDataTable = new Piwik_DataTable_Simple(); + $enhancedDataTable = new Simple(); } // add missing metrics @@ -506,7 +510,7 @@ class Piwik_API_ProcessedReport } foreach ($simpleDataTable->getRows() as $row) { - $enhancedRow = new Piwik_DataTable_Row(); + $enhancedRow = new Row(); $enhancedDataTable->addRow($enhancedRow); $rowMetrics = $row->getColumns(); foreach ($rowMetrics as $columnName => $columnValue) { @@ -528,7 +532,7 @@ class Piwik_API_ProcessedReport // Create a row metadata only if there are metadata to insert if (count($rowMetadata) > 0 || !is_null($idSubDataTable)) { - $metadataRow = new Piwik_DataTable_Row(); + $metadataRow = new Row(); $rowsMetadata->addRow($metadataRow); foreach ($rowMetadata as $metadataKey => $metadataValue) { diff --git a/plugins/API/RowEvolution.php b/plugins/API/RowEvolution.php index 13b1250a1c8cc981216f68e30ffaf63a400cbe4b..ec6b3c06fc25f886b3f28cdc4de5d8e233ebed4d 100644 --- a/plugins/API/RowEvolution.php +++ b/plugins/API/RowEvolution.php @@ -8,9 +8,13 @@ * @category Piwik_Plugins * @package Piwik_API */ +use Piwik\DataTable\Filter\CalculateEvolutionFilter; +use Piwik\DataTable\Filter\SafeDecodeLabel; +use Piwik\DataTable\Row; use Piwik\Period; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; /** * This class generates a Row evolution dataset, from input request @@ -104,7 +108,7 @@ class Piwik_API_RowEvolution /** * Get row evolution for a single label - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable * @param array $metadata * @param string $apiModule * @param string $apiAction @@ -119,10 +123,10 @@ class Piwik_API_RowEvolution $logo = $actualLabel = false; $urlFound = false; foreach ($dataTable->getArray() as $date => $subTable) { - /** @var $subTable Piwik_DataTable */ + /** @var $subTable DataTable */ $subTable->applyQueuedFilters(); if ($subTable->getRowsCount() > 0) { - /** @var $row Piwik_DataTable_Row */ + /** @var $row Row */ $row = $subTable->getFirstRow(); if (!$actualLabel) { @@ -155,7 +159,7 @@ class Piwik_API_RowEvolution } $return = array( - 'label' => Piwik_DataTable_Filter_SafeDecodeLabel::safeDecodeLabel($actualLabel), + 'label' => SafeDecodeLabel::safeDecodeLabel($actualLabel), 'reportData' => $dataTable, 'metadata' => $metadata ); @@ -190,7 +194,7 @@ class Piwik_API_RowEvolution * @param $segment * @param $idGoal * @throws Exception - * @return Piwik_DataTable_Array|Piwik_DataTable + * @return DataTable\Map|DataTable */ private function loadRowEvolutionDataFromAPI($idSite, $period, $date, $apiModule, $apiAction, $label = false, $segment = false, $idGoal = false) { @@ -289,7 +293,7 @@ class Piwik_API_RowEvolution * Given the Row evolution dataTable, and the associated metadata, * enriches the metadata with min/max values, and % change between the first period and the last one * @param array $metadata - * @param Piwik_DataTable_Array $dataTable + * @param DataTable\Map $dataTable */ private function enhanceRowEvolutionMetaData(&$metadata, $dataTable) { @@ -345,8 +349,8 @@ class Piwik_API_RowEvolution continue; } - $change = Piwik_DataTable_Filter_CalculateEvolutionFilter::calculate($last, $first, $quotientPrecision = 0); - $change = Piwik_DataTable_Filter_CalculateEvolutionFilter::prependPlusSignToNumber($change); + $change = CalculateEvolutionFilter::calculate($last, $first, $quotientPrecision = 0); + $change = CalculateEvolutionFilter::prependPlusSignToNumber($change); $metricsResult[$metric]['change'] = $change; } @@ -391,7 +395,7 @@ class Piwik_API_RowEvolution // array('label' => $label, 'column' => $value). $dataTableMulti = $dataTable->getEmptyClone(); foreach ($dataTable->getArray() as $tableLabel => $table) { - $newRow = new Piwik_DataTable_Row(); + $newRow = new Row(); foreach ($labels as $labelIdx => $label) { $row = $this->getRowEvolutionRowFromLabelIdx($table, $labelIdx); @@ -429,7 +433,7 @@ class Piwik_API_RowEvolution $label .= ' (' . $metadata['columns'][$column] . ')'; } $metricName = $column . '_' . $labelIndex; - $metadata['metrics'][$metricName] = Piwik_DataTable_Filter_SafeDecodeLabel::safeDecodeLabel($label); + $metadata['metrics'][$metricName] = SafeDecodeLabel::safeDecodeLabel($label); if (!empty($logos[$labelIndex])) { $metadata['logos'][$metricName] = $logos[$labelIndex]; @@ -448,9 +452,9 @@ class Piwik_API_RowEvolution /** * Returns the row in a datatable by its Piwik_API_DataTableManipulator_LabelFilter::FLAG_IS_ROW_EVOLUTION metadata. * - * @param Piwik_DataTable $table + * @param DataTable $table * @param int $labelIdx - * @return Piwik_DataTable_Row|false + * @return Row|false */ private function getRowEvolutionRowFromLabelIdx($table, $labelIdx) { diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index 0262f807e0df3bc674a8dc42899fe7f6d6cc675f..b40afb87e20e41f1983fc9db7bfafe5d8a438b2d 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -12,6 +12,8 @@ use Piwik\Archive; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\DataTable; /** * The Actions API lets you request reports for all your Visitor Actions: Page URLs, Page titles (Piwik Events), @@ -50,7 +52,7 @@ class Piwik_Actions_API * @param string $date * @param bool|string $segment * @param bool|array $columns - * @return Piwik_DataTable + * @return DataTable */ public function get($idSite, $period, $date, $segment = false, $columns = false) { @@ -112,12 +114,12 @@ class Piwik_Actions_API /** * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param bool $segment * @param bool $expanded * @param bool $idSubtable * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ public function getPageUrls($idSite, $period, $date, $segment = false, $expanded = false, $idSubtable = false) { @@ -130,12 +132,12 @@ class Piwik_Actions_API /** * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param bool $segment * @param bool $expanded * @param bool $idSubtable * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ public function getPageUrlsFollowingSiteSearch($idSite, $period, $date, $segment = false, $expanded = false, $idSubtable = false) { @@ -147,12 +149,12 @@ class Piwik_Actions_API /** * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param bool $segment * @param bool $expanded * @param bool $idSubtable * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ public function getPageTitlesFollowingSiteSearch($idSite, $period, $date, $segment = false, $expanded = false, $idSubtable = false) { @@ -162,7 +164,7 @@ class Piwik_Actions_API } /** - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable */ protected function keepPagesFollowingSearch($dataTable) { @@ -213,7 +215,7 @@ class Piwik_Actions_API } /** - * Returns a Piwik_DataTable with analytics information for every unique entry page title + * Returns a DataTable with analytics information for every unique entry page title * for the given site, time period & segment. */ public function getEntryPageTitles($idSite, $period, $date, $segment = false, $expanded = false, @@ -225,7 +227,7 @@ class Piwik_Actions_API } /** - * Returns a Piwik_DataTable with analytics information for every unique exit page title + * Returns a DataTable with analytics information for every unique exit page title * for the given site, time period & segment. */ public function getExitPageTitles($idSite, $period, $date, $segment = false, $expanded = false, @@ -306,7 +308,7 @@ class Piwik_Actions_API Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT, create_function('$value', 'return $value >= 1;') )); - $dataTable->deleteRow(Piwik_DataTable::ID_SUMMARY_ROW); + $dataTable->deleteRow(DataTable::ID_SUMMARY_ROW); $dataTable->deleteColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT); $this->filterPageDatatable($dataTable); $this->filterActionsDataTable($dataTable); @@ -317,10 +319,10 @@ class Piwik_Actions_API /** * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param bool $segment * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ public function getSiteSearchCategories($idSite, $period, $date, $segment = false) { @@ -329,10 +331,10 @@ class Piwik_Actions_API $customVarNameToLookFor = Piwik_Tracker_Action::CVAR_KEY_SEARCH_CATEGORY; - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); // Handle case where date=last30&period=day // FIXMEA: this logic should really be refactored somewhere, this is ugly! - if ($customVariables instanceof Piwik_DataTable_Array) { + if ($customVariables instanceof DataTable\Map) { $dataTable = $customVariables->getEmptyClone(); $customVariableDatatables = $customVariables->getArray(); @@ -349,7 +351,7 @@ class Piwik_Actions_API } } } - } elseif ($customVariables instanceof Piwik_DataTable) { + } elseif ($customVariables instanceof DataTable) { $row = $customVariables->getRowFromLabel($customVarNameToLookFor); if ($row) { $idSubtable = $row->getIdSubDataTable(); @@ -388,7 +390,7 @@ class Piwik_Actions_API // fetch the data table $table = call_user_func_array(array('Piwik\Archive', 'getDataTableFromArchive'), $callBackParameters); - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { // search an array of tables, e.g. when using date=last30 // note that if the root is an array, we filter all children // if an array occurs inside the nested table, we only look for the first match (see below) @@ -414,7 +416,7 @@ class Piwik_Actions_API protected function doFilterPageDatatableSearch($callBackParameters, $table, $searchTree) { // filter a data table array - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { foreach ($table->getArray() as $subTable) { $filteredSubTable = $this->doFilterPageDatatableSearch($callBackParameters, $subTable, $searchTree); @@ -425,24 +427,24 @@ class Piwik_Actions_API } // nothing found in all sub tables - return new Piwik_DataTable; + return new DataTable; } // filter regular data table - if ($table instanceof Piwik_DataTable) { + 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 Piwik_DataTable; + $result = new DataTable; $result->metadata = $table->metadata; return $result; } // end of tree search reached if (count($searchTree) == 0) { - $result = new Piwik_DataTable(); + $result = new DataTable(); $result->addRow($row); $result->metadata = $table->metadata; return $result; @@ -489,8 +491,8 @@ class Piwik_Actions_API Metrics::INDEX_PAGE_MAX_TIME_GENERATION ))); - if ($dataTable instanceof Piwik_DataTable) { - $emptyColumns = $dataTable->getMetadata(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME); + if ($dataTable instanceof DataTable) { + $emptyColumns = $dataTable->getMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME); if (!is_array($emptyColumns)) { $emptyColumns = array(); } @@ -498,7 +500,7 @@ class Piwik_Actions_API $emptyColumns[] = 'avg_time_generation'; $emptyColumns[] = 'min_time_generation'; $emptyColumns[] = 'max_time_generation'; - $dataTable->setMetadata(Piwik_DataTable::EMPTY_COLUMNS_METADATA_NAME, $emptyColumns); + $dataTable->setMetadata(DataTable::EMPTY_COLUMNS_METADATA_NAME, $emptyColumns); } } } @@ -519,7 +521,7 @@ class Piwik_Actions_API /** * Removes DataTable rows referencing actions that were never the first action of a visit. * - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable */ private function filterNonEntryActions($dataTable) { @@ -529,7 +531,7 @@ class Piwik_Actions_API /** * Removes DataTable rows referencing actions that were never the last action of a visit. * - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable */ private function filterNonExitActions($dataTable) { diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php index 03109bfdb983c33e647f13790525359dec0bb825..0906c0cbd32c18eebd620c8313925717b27e44f8 100644 --- a/plugins/Actions/Actions.php +++ b/plugins/Actions/Actions.php @@ -8,8 +8,10 @@ * @category Piwik_Plugins * @package Piwik_Actions */ +use Piwik\ArchiveProcessor; use Piwik\Piwik; use Piwik\Common; +use Piwik\Plugin; use Piwik\SegmentExpression; use Piwik\Site; @@ -20,7 +22,7 @@ use Piwik\Site; * * @package Piwik_Actions */ -class Piwik_Actions extends Piwik_Plugin +class Piwik_Actions extends Plugin { const ACTIONS_REPORT_ROWS_DISPLAY = 100; @@ -572,7 +574,7 @@ class Piwik_Actions extends Piwik_Plugin * For each action we process the "interest statistics" : * visits, unique visitors, bounce count, sum visit length. */ - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_Actions_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -580,7 +582,7 @@ class Piwik_Actions extends Piwik_Plugin } } - function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_Actions_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -597,7 +599,7 @@ class Piwik_Actions extends Piwik_Plugin static protected function isCustomVariablesPluginsEnabled() { - return PluginsManager::getInstance()->isPluginActivated('CustomVariables'); + return \Piwik\PluginsManager::getInstance()->isPluginActivated('CustomVariables'); } /** @@ -711,7 +713,7 @@ class Piwik_Actions extends Piwik_Plugin ); // prettify avg_time_on_page column - $getPrettyTimeFromSeconds = array('Piwik', 'getPrettyTimeFromSeconds'); + $getPrettyTimeFromSeconds = '\Piwik\Piwik::getPrettyTimeFromSeconds'; $result['filters'][] = array('ColumnCallbackReplace', array('avg_time_on_page', $getPrettyTimeFromSeconds)); // prettify avg_time_generation column diff --git a/plugins/Actions/Archiver.php b/plugins/Actions/Archiver.php index f512bd36eab435cd86b92bb61d58a47658e3ecee..987bf5104a6bb270efe8372da80a4f67c943bc79 100644 --- a/plugins/Actions/Archiver.php +++ b/plugins/Actions/Archiver.php @@ -9,14 +9,18 @@ * @package Piwik_Actions */ use Piwik\Config; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Row\DataTableSummaryRow; use Piwik\Metrics; +use Piwik\DataTable; +use Piwik\PluginsArchiver; /** * Class encapsulating logic to process Day/Period Archiving for the Actions reports * * @package Piwik_Actions */ -class Piwik_Actions_Archiver extends Piwik_PluginsArchiver +class Piwik_Actions_Archiver extends PluginsArchiver { const DOWNLOADS_RECORD_NAME = 'Actions_downloads'; const OUTLINKS_RECORD_NAME = 'Actions_outlink'; @@ -152,7 +156,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver { $this->actionsTablesByType = array(); foreach (self::$actionTypes as $type) { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); $dataTable->setMaximumAllowedRows(Piwik_Actions_ArchivingHelper::$maximumRowsInDataTableLevelZero); if ($type == Piwik_Tracker_Action::TYPE_ACTION_URL @@ -212,7 +216,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver $rankingQuery = false; if ($rankingQueryLimit > 0) { $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit); - $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW); + $rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW); $rankingQuery->addLabelColumn(array('idaction', 'name')); $rankingQuery->addColumn(array('url_prefix', Metrics::INDEX_NB_UNIQ_VISITORS)); $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_NB_HITS, Metrics::INDEX_NB_VISITS), 'sum'); @@ -291,7 +295,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver $rankingQuery = false; if ($rankingQueryLimit > 0) { $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit); - $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW); + $rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW); $rankingQuery->addLabelColumn('idaction'); $rankingQuery->addColumn(Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS); $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_ENTRY_NB_VISITS, @@ -342,7 +346,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver $rankingQuery = false; if ($rankingQueryLimit > 0) { $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit); - $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW); + $rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW); $rankingQuery->addLabelColumn('idaction'); $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS); $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_VISITS, 'sum'); @@ -388,7 +392,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver $rankingQuery = false; if ($rankingQueryLimit > 0) { $rankingQuery = new Piwik_RankingQuery($rankingQueryLimit); - $rankingQuery->setOthersLabel(Piwik_DataTable::LABEL_SUMMARY_ROW); + $rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW); $rankingQuery->addLabelColumn('idaction'); $rankingQuery->addColumn(Metrics::INDEX_PAGE_SUM_TIME_SPENT, 'sum'); $rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType)); @@ -454,7 +458,7 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver /** * @param $typeId - * @return Piwik_DataTable + * @return DataTable */ protected function getDataTable($typeId) { @@ -472,20 +476,20 @@ class Piwik_Actions_Archiver extends Piwik_PluginsArchiver * For rows which have subtables (eg. directories with sub pages), * deletes columns which don't make sense when all values of sub pages are summed. * - * @param $dataTable Piwik_DataTable + * @param $dataTable DataTable */ static public function deleteInvalidSummedColumnsFromDataTable($dataTable) { foreach ($dataTable->getRows() as $id => $row) { if (($idSubtable = $row->getIdSubDataTable()) !== null - || $id === Piwik_DataTable::ID_SUMMARY_ROW + || $id === DataTable::ID_SUMMARY_ROW ) { if ($idSubtable !== null) { - $subtable = Piwik_DataTable_Manager::getInstance()->getTable($idSubtable); + $subtable = Manager::getInstance()->getTable($idSubtable); self::deleteInvalidSummedColumnsFromDataTable($subtable); } - if ($row instanceof Piwik_DataTable_Row_DataTableSummary) { + if ($row instanceof DataTableSummaryRow) { $row->recalculate(); } diff --git a/plugins/Actions/ArchivingHelper.php b/plugins/Actions/ArchivingHelper.php index 514b75116be3723c7ae059352a1743db894baa91..2e885a435e74ed8771452c84a91a848030727c99 100644 --- a/plugins/Actions/ArchivingHelper.php +++ b/plugins/Actions/ArchivingHelper.php @@ -9,7 +9,9 @@ * @package Piwik_Actions */ use Piwik\Config; +use Piwik\DataTable\Row; use Piwik\Metrics; +use Piwik\DataTable; /** * This static class provides: @@ -55,7 +57,7 @@ class Piwik_Actions_ArchivingHelper ) { $url = null; } elseif (!empty($row['name']) - && $row['name'] != Piwik_DataTable::LABEL_SUMMARY_ROW + && $row['name'] != DataTable::LABEL_SUMMARY_ROW ) { $url = Piwik_Tracker_Action::reconstructNormalizedUrl((string)$row['name'], $row['url_prefix']); } @@ -70,7 +72,7 @@ class Piwik_Actions_ArchivingHelper // in some unknown case, the type field is NULL, as reported in #1082 - we ignore this page view if (empty($actionType)) { - if ($idaction != Piwik_DataTable::LABEL_SUMMARY_ROW) { + if ($idaction != DataTable::LABEL_SUMMARY_ROW) { self::setCachedActionRow($idaction, $actionType, false); } continue; @@ -97,7 +99,7 @@ class Piwik_Actions_ArchivingHelper // This is to ensure that when, different URLs are loaded with the same page name. // For example http://piwik.org and http://id.piwik.org are reported in Piwik > Actions > Pages with /index // But, we must make sure http://piwik.org is used to link & for transitions - // Note: this code is partly duplicated from Piwik_DataTable_Row->sumRowMetadata() + // Note: this code is partly duplicated from Row->sumRowMetadata() if (!is_null($url) && !$actionRow->isSummaryRow() ) { @@ -220,7 +222,7 @@ class Piwik_Actions_ArchivingHelper self::$maximumRowsInDataTableLevelZero = Config::getInstance()->General['datatable_archiving_maximum_rows_actions']; self::$maximumRowsInSubDataTable = Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_actions']; - Piwik_DataTable::setMaximumDepthLevelAllowedAtLeast(self::getSubCategoryLevelLimit() + 1); + DataTable::setMaximumDepthLevelAllowedAtLeast(self::getSubCategoryLevelLimit() + 1); } @@ -229,7 +231,7 @@ class Piwik_Actions_ArchivingHelper * there could be pages that have exit/entry hits, but don't yet * have a record in the table (or the record was truncated). * - * @return Piwik_DataTable_Row + * @return Row */ static private function getDefaultRow() { @@ -238,8 +240,8 @@ class Piwik_Actions_ArchivingHelper // This row is used in the case where an action is know as an exit_action // but this action was not properly recorded when it was hit in the first place // so we add this fake row information to make sure there is a nb_hits, etc. column for every action - $row = new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => array( + $row = new Row(array( + Row::COLUMNS => array( Metrics::INDEX_NB_VISITS => 1, Metrics::INDEX_NB_UNIQ_VISITORS => 1, Metrics::INDEX_PAGE_NB_HITS => 1, @@ -256,17 +258,17 @@ class Piwik_Actions_ArchivingHelper * @param int $actionType * @param int $urlPrefix * @param array $actionsTablesByType - * @return Piwik_DataTable + * @return DataTable */ protected static function getActionRow($actionName, $actionType, $urlPrefix = null, &$actionsTablesByType) { // we work on the root table of the given TYPE (either ACTION_URL or DOWNLOAD or OUTLINK etc.) - /* @var Piwik_DataTable $currentTable */ + /* @var DataTable $currentTable */ $currentTable =& $actionsTablesByType[$actionType]; // check for ranking query cut-off - if ($actionName == Piwik_DataTable::LABEL_SUMMARY_ROW) { - $summaryRow = $currentTable->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW); + if ($actionName == DataTable::LABEL_SUMMARY_ROW) { + $summaryRow = $currentTable->getRowFromId(DataTable::ID_SUMMARY_ROW); if ($summaryRow === false) { $summaryRow = $currentTable->addSummaryRow(self::createSummaryRow()); } @@ -296,11 +298,11 @@ class Piwik_Actions_ArchivingHelper * we explode link http://piwik.org/some/path into an array( 'some', 'path' ); * * for action names: - * we explode name 'Piwik / Category 1 / Category 2' into an array('Piwik', 'Category 1', 'Category 2'); + * we explode name 'Piwik / Category 1 / Category 2' into an array('\Piwik\Piwik', 'Category 1', 'Category 2'); * - * @param string action name - * @param int action type - * @param int url prefix (only used for TYPE_ACTION_URL) + * @param string $name action name + * @param int $type action type + * @param int $urlPrefix url prefix (only used for TYPE_ACTION_URL) * @return array of exploded elements from $name */ static public function getActionExplodedNames($name, $type, $urlPrefix = null) @@ -402,7 +404,7 @@ class Piwik_Actions_ArchivingHelper */ private static function getCachedActionRowKey($idAction, $actionType) { - return $idAction == Piwik_DataTable::LABEL_SUMMARY_ROW + return $idAction == DataTable::LABEL_SUMMARY_ROW ? $actionType . '_others' : $idAction; } @@ -451,7 +453,7 @@ class Piwik_Actions_ArchivingHelper * * @param int $idAction * @param int $actionType - * @return Piwik_DataTable_Row|false + * @return Row|false */ private static function getCachedActionRow($idAction, $actionType) { @@ -472,7 +474,7 @@ class Piwik_Actions_ArchivingHelper * * @param int $idAction * @param int $actionType - * @param Piwik_DataTable_Row + * @param \DataTable\Row */ private static function setCachedActionRow($idAction, $actionType, $actionRow) { @@ -496,13 +498,13 @@ class Piwik_Actions_ArchivingHelper /** * Creates a summary row for an Actions DataTable. * - * @return Piwik_DataTable_Row + * @return Row */ private static function createSummaryRow() { - return new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => - array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW) + self::getDefaultRowColumns() + return new Row(array( + Row::COLUMNS => + array('label' => DataTable::LABEL_SUMMARY_ROW) + self::getDefaultRowColumns() )); } } diff --git a/plugins/Actions/Controller.php b/plugins/Actions/Controller.php index 6044c225d893e0b6b6086b66d5033cbb72444c46..f90ad12f2863622d972130b6d56cb71f618a1a5c 100644 --- a/plugins/Actions/Controller.php +++ b/plugins/Actions/Controller.php @@ -49,7 +49,7 @@ class Piwik_Actions_Controller extends Piwik_Controller $view->noResultKeywords = $this->getSiteSearchNoResultKeywords(true); $view->pagesUrlsFollowingSiteSearch = $this->getPageUrlsFollowingSiteSearch(true); - $categoryTrackingEnabled = PluginsManager::getInstance()->isPluginActivated('CustomVariables'); + $categoryTrackingEnabled = \Piwik\PluginsManager::getInstance()->isPluginActivated('CustomVariables'); if ($categoryTrackingEnabled) { $view->categories = $this->getSiteSearchCategories(true); } diff --git a/plugins/Annotations/API.php b/plugins/Annotations/API.php index 603cce5431cdd0588eb798a09868a989c24a3e5b..8e2ec1c167d03e7eb46c8f50795ce70b7f7e0924 100755 --- a/plugins/Annotations/API.php +++ b/plugins/Annotations/API.php @@ -9,8 +9,9 @@ * @package Piwik_Annotations */ use Piwik\Period; -use Piwik\Period_Range; +use Piwik\Period\Range; use Piwik\Piwik; +use Piwik\Date; /** * @see plugins/Annotations/AnnotationList.php @@ -248,7 +249,7 @@ class Piwik_Annotations_API && $result[$idSite][$strDate]['count'] == 1 ) { $annotationsForSite = $annotations->search( - $date, Piwik_Date::factory($nextDate->getTimestamp() - 1), $idSite); + $date, Date::factory($nextDate->getTimestamp() - 1), $idSite); $annotation = reset($annotationsForSite[$idSite]); $result[$idSite][$strDate]['note'] = $annotation['note']; @@ -318,9 +319,9 @@ class Piwik_Annotations_API || $period == 'range' ) { if ($period == 'range') { - $oPeriod = new Period_Range('day', $date); + $oPeriod = new Range('day', $date); } else { - $oPeriod = Period::factory($period, Piwik_Date::factory($date)); + $oPeriod = Period::factory($period, Date::factory($date)); } $startDate = $oPeriod->getDateStart(); @@ -331,8 +332,8 @@ class Piwik_Annotations_API Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution::getDateRangeAndLastN($period, $date, $lastN); list($startDate, $endDate) = explode(',', $date); - $startDate = Piwik_Date::factory($startDate); - $endDate = Piwik_Date::factory($endDate); + $startDate = Date::factory($startDate); + $endDate = Date::factory($endDate); } return array($startDate, $endDate); } @@ -361,6 +362,6 @@ class Piwik_Annotations_API return; } - Piwik_Date::factory($date); + Date::factory($date); } } diff --git a/plugins/Annotations/AnnotationList.php b/plugins/Annotations/AnnotationList.php index 4d15e91e50f3451bf69b56804423ae95ca6cb9bb..0f5ba42ae91ef665597137781c9134c748616bc8 100755 --- a/plugins/Annotations/AnnotationList.php +++ b/plugins/Annotations/AnnotationList.php @@ -9,6 +9,7 @@ * @package Piwik_Annotations */ use Piwik\Piwik; +use Piwik\Date; use Piwik\Site; /** @@ -172,7 +173,6 @@ class Piwik_Annotations_AnnotationList * * @param int $idSite The ID of the site to get an annotation for. * @param int $idNote The ID of the note to get. - * @param array The annotation. * @throws Exception if $idSite is not an ID that was supplied upon construction. * @throws Exception if $idNote does not refer to valid note for the site. */ @@ -194,8 +194,8 @@ class Piwik_Annotations_AnnotationList * * @see self::get for info on what attributes stored within annotations. * - * @param Piwik_Date|bool $startDate The start of the date range. - * @param Piwik_Date|bool $endDate The end of the date range. + * @param Date|bool $startDate The start of the date range. + * @param Date|bool $endDate The end of the date range. * @param array|bool|int|string $idSite IDs of the sites whose annotations to * search through. * @return array Array mapping site IDs with arrays of annotations, eg: @@ -230,7 +230,7 @@ class Piwik_Annotations_AnnotationList foreach ($this->annotations[$idSite] as $idNote => $annotation) { if ($startDate !== false) { - $annotationDate = Piwik_Date::factory($annotation['date']); + $annotationDate = Date::factory($annotation['date']); if ($annotationDate->getTimestamp() < $startDate->getTimestamp() || $annotationDate->getTimestamp() > $endDate->getTimestamp() ) { @@ -266,7 +266,7 @@ class Piwik_Annotations_AnnotationList $this->checkIdSiteIsLoaded($idSite); // search includes end date, and count should not, so subtract one from the timestamp - $annotations = $this->search($startDate, Piwik_Date::factory($endDate->getTimestamp() - 1)); + $annotations = $this->search($startDate, Date::factory($endDate->getTimestamp() - 1)); // count the annotations $count = $starred = 0; diff --git a/plugins/Annotations/Annotations.php b/plugins/Annotations/Annotations.php index 1ef39eeee6175577991e7748d8236cdc176320dd..5b29ec48b5b339d1be4b6b898be4b0ff4f8b9d5c 100755 --- a/plugins/Annotations/Annotations.php +++ b/plugins/Annotations/Annotations.php @@ -8,6 +8,7 @@ * @category Piwik_Plugins * @package Piwik_Annotations */ +use Piwik\Plugin; /** * Annotations plugins. Provides the ability to attach text notes to @@ -15,7 +16,7 @@ * * @package Piwik_Annotations */ -class Piwik_Annotations extends Piwik_Plugin +class Piwik_Annotations extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/AnonymizeIP/AnonymizeIP.php b/plugins/AnonymizeIP/AnonymizeIP.php index a835a91d8aa780f72cbe36f6e9515c2244cf07c8..7d6ce520a94ce1480d5b1f00acc6126ed5eacb1b 100644 --- a/plugins/AnonymizeIP/AnonymizeIP.php +++ b/plugins/AnonymizeIP/AnonymizeIP.php @@ -10,13 +10,14 @@ */ use Piwik\Config; use Piwik\Common; +use Piwik\Plugin; /** * Anonymize visitor IP addresses to comply with the privacy laws/guidelines in countries, such as Germany. * * @package Piwik_AnonymizeIP */ -class Piwik_AnonymizeIP extends Piwik_Plugin +class Piwik_AnonymizeIP extends Plugin { /** * @see Piwik_Plugin::getInformation diff --git a/plugins/CoreAdminHome/API.php b/plugins/CoreAdminHome/API.php index d9bf9b4cee65b1772a4a4cb4aa4d50288a8cf2c6..fe6772fe09226c95bac710d03e0e4eeb4896b05b 100644 --- a/plugins/CoreAdminHome/API.php +++ b/plugins/CoreAdminHome/API.php @@ -8,9 +8,13 @@ * @category Piwik_Plugins * @package Piwik_CoreAdminHome */ +use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Period; +use Piwik\Period\Week; use Piwik\Piwik; +use Piwik\Config; use Piwik\Common; +use Piwik\Date; use Piwik\Site; /** @@ -85,7 +89,7 @@ class Piwik_CoreAdminHome_API $dates = array_unique($dates); foreach ($dates as $theDate) { try { - $date = Piwik_Date::factory($theDate); + $date = Date::factory($theDate); } catch (Exception $e) { $invalidDates[] = $theDate; continue; @@ -105,13 +109,13 @@ class Piwik_CoreAdminHome_API if ($logsDeleteEnabled && $logsAreDeletedBeforeThisDate ) { - $minimumDateWithLogs = Piwik_Date::factory('today')->subDay($logsAreDeletedBeforeThisDate); + $minimumDateWithLogs = Date::factory('today')->subDay($logsAreDeletedBeforeThisDate); } // Given the list of dates, process which tables they should be deleted from $minDate = false; $warningDates = $processedDates = array(); - /* @var $date Piwik_Date */ + /* @var $date Date */ foreach ($toInvalidate as $date) { // we should only delete reports for dates that are more recent than N days if ($minimumDateWithLogs @@ -131,7 +135,7 @@ class Piwik_CoreAdminHome_API $datesByMonth[$year][] = $date->toString(); // but also weeks overlapping several months stored in the month where the week is starting - /* @var $week Piwik_Period_Week */ + /* @var $week Week */ $week = Period::factory('week', $date); $weekAsString = $week->getDateStart()->toString('Y_m'); $datesByMonth[$weekAsString][] = $date->toString(); @@ -146,10 +150,10 @@ class Piwik_CoreAdminHome_API // In each table, invalidate day/week/month/year containing this date $sqlIdSites = implode(",", $idSites); - $archiveTables = Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled(); + $archiveTables = ArchiveTableCreator::getTablesArchivesInstalled(); foreach ($archiveTables as $table) { // Extract Y_m from table name - $suffix = Piwik_DataAccess_ArchiveTableCreator::getDateFromTableName($table); + $suffix = ArchiveTableCreator::getDateFromTableName($table); if (!isset($datesByMonth[$suffix])) { continue; } diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php index 612a9e1c3e3f0e08577541637d563c401732a07f..5bae81c7568449b7a47ce2735d63915eac182566 100644 --- a/plugins/CoreAdminHome/Controller.php +++ b/plugins/CoreAdminHome/Controller.php @@ -8,6 +8,7 @@ * @category Piwik_Plugins * @package Piwik_CoreAdminHome */ +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; use Piwik\Piwik; use Piwik\Common; @@ -33,8 +34,8 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin $view = new Piwik_View('@CoreAdminHome/generalSettings'); if (Piwik::isUserIsSuperUser()) { - $enableBrowserTriggerArchiving = Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled(); - $todayArchiveTimeToLive = Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $enableBrowserTriggerArchiving = Rules::isBrowserTriggerEnabled(); + $todayArchiveTimeToLive = Rules::getTodayArchiveTimeToLive(); $showWarningCron = false; if (!$enableBrowserTriggerArchiving && $todayArchiveTimeToLive < 3600 @@ -83,8 +84,8 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin $enableBrowserTriggerArchiving = Common::getRequestVar('enableBrowserTriggerArchiving'); $todayArchiveTimeToLive = Common::getRequestVar('todayArchiveTimeToLive'); - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving((bool)$enableBrowserTriggerArchiving); - Piwik_ArchiveProcessor_Rules::setTodayArchiveTimeToLive($todayArchiveTimeToLive); + Rules::setBrowserTriggerArchiving((bool)$enableBrowserTriggerArchiving); + Rules::setTodayArchiveTimeToLive($todayArchiveTimeToLive); // Update email settings $mail = array(); diff --git a/plugins/CoreAdminHome/CoreAdminHome.php b/plugins/CoreAdminHome/CoreAdminHome.php index 110feb03b64ea29fe67fe268777b40d0e04bd848..39a4f08199610ae26bef0e28647a8b76807754ce 100644 --- a/plugins/CoreAdminHome/CoreAdminHome.php +++ b/plugins/CoreAdminHome/CoreAdminHome.php @@ -8,13 +8,17 @@ * @category Piwik_Plugins * @package Piwik_CoreAdminHome */ +use Piwik\DataAccess\ArchiveSelector; +use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Piwik; +use Piwik\Date; +use Piwik\Plugin; /** * * @package Piwik_CoreAdminHome */ -class Piwik_CoreAdminHome extends Piwik_Plugin +class Piwik_CoreAdminHome extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -72,10 +76,10 @@ class Piwik_CoreAdminHome extends Piwik_Plugin function addMenu() { - Piwik_AddAdminSubMenu('CoreAdminHome_MenuManage', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 1); - Piwik_AddAdminSubMenu('CoreAdminHome_MenuCommunity', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 3); - Piwik_AddAdminSubMenu('CoreAdminHome_MenuDiagnostic', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 20); - Piwik_AddAdminSubMenu('General_Settings', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 5); + Piwik_AddAdminSubMenu('CoreAdminHome_MenuManage', null, "", Piwik::isUserHasSomeAdminAccess(), $order = 1); + Piwik_AddAdminSubMenu('CoreAdminHome_MenuCommunity', null, "", Piwik::isUserHasSomeAdminAccess(), $order = 3); + Piwik_AddAdminSubMenu('CoreAdminHome_MenuDiagnostic', null, "", Piwik::isUserHasSomeAdminAccess(), $order = 20); + Piwik_AddAdminSubMenu('General_Settings', null, "", Piwik::isUserHasSomeAdminAccess(), $order = 5); Piwik_AddAdminSubMenu('General_Settings', 'CoreAdminHome_MenuGeneralSettings', array('module' => 'CoreAdminHome', 'action' => 'generalSettings'), Piwik::isUserHasSomeAdminAccess(), @@ -89,17 +93,17 @@ class Piwik_CoreAdminHome extends Piwik_Plugin function purgeOutdatedArchives() { - $archiveTables = Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled(); + $archiveTables = ArchiveTableCreator::getTablesArchivesInstalled(); foreach ($archiveTables as $table) { - $date = Piwik_DataAccess_ArchiveTableCreator::getDateFromTableName($table); + $date = ArchiveTableCreator::getDateFromTableName($table); list($month, $year) = explode('_', $date); - Piwik_DataAccess_ArchiveSelector::purgeOutdatedArchives(Piwik_Date::factory("$year-$month-15")); + ArchiveSelector::purgeOutdatedArchives(Date::factory("$year-$month-15")); } } function optimizeArchiveTable() { - $archiveTables = Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled(); + $archiveTables = ArchiveTableCreator::getTablesArchivesInstalled(); Piwik_OptimizeTables($archiveTables); } } diff --git a/plugins/CoreHome/Controller.php b/plugins/CoreHome/Controller.php index 08eabcbf82f62a4df41b84bfee07a88e04a48073..c95b5d61ce7fa35bf21fe8c66a0d53c850391e8b 100644 --- a/plugins/CoreHome/Controller.php +++ b/plugins/CoreHome/Controller.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; use Piwik\Site; /** @@ -31,7 +32,7 @@ class Piwik_CoreHome_Controller extends Piwik_Controller // User preference: default report to load is the All Websites dashboard if ($defaultReport == 'MultiSites' - && PluginsManager::getInstance()->isPluginActivated('MultiSites') + && \Piwik\PluginsManager::getInstance()->isPluginActivated('MultiSites') ) { $module = 'MultiSites'; } @@ -76,8 +77,8 @@ class Piwik_CoreHome_Controller extends Piwik_Controller if ($websiteId) { $website = new Site($websiteId); $datetimeCreationDate = $this->site->getCreationDate()->getDatetime(); - $creationDateLocalTimezone = Piwik_Date::factory($datetimeCreationDate, $website->getTimezone())->toString('Y-m-d'); - $todayLocalTimezone = Piwik_Date::factory('now', $website->getTimezone())->toString('Y-m-d'); + $creationDateLocalTimezone = Date::factory($datetimeCreationDate, $website->getTimezone())->toString('Y-m-d'); + $todayLocalTimezone = Date::factory('now', $website->getTimezone())->toString('Y-m-d'); if ($creationDateLocalTimezone == $todayLocalTimezone) { Piwik::redirectToModule('CoreHome', 'index', array('date' => 'today', diff --git a/plugins/CoreHome/CoreHome.php b/plugins/CoreHome/CoreHome.php index 07820ffe01971adc45aa9bbe8bba6dbf4008a07b..56c4dbbfd291fd14acef0067986ce62da431b01e 100644 --- a/plugins/CoreHome/CoreHome.php +++ b/plugins/CoreHome/CoreHome.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_CoreHome */ +use Piwik\Plugin; /** * * @package Piwik_CoreHome */ -class Piwik_CoreHome extends Piwik_Plugin +class Piwik_CoreHome extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/CoreHome/DataTableRowAction/RowEvolution.php b/plugins/CoreHome/DataTableRowAction/RowEvolution.php index 4d16253e6bbddbe77ae2910aaa46f99a8ea47f06..3b3bea686c7c7a557f7333b602fcd7ae40a6a2e6 100644 --- a/plugins/CoreHome/DataTableRowAction/RowEvolution.php +++ b/plugins/CoreHome/DataTableRowAction/RowEvolution.php @@ -10,6 +10,7 @@ */ use Piwik\Common; use Piwik\Metrics; +use Piwik\Date; /** * ROW EVOLUTION @@ -45,7 +46,7 @@ class Piwik_CoreHome_DataTableRowAction_RowEvolution /** * The data - * @var Piwik_DataTable_Array + * @var DataTable */ protected $dataTable; @@ -68,7 +69,7 @@ class Piwik_CoreHome_DataTableRowAction_RowEvolution * The constructor * Initialize some local variables from the request * @param int $idSite - * @param Piwik_Date $date ($this->date from controller) + * @param Date $date ($this->date from controller) * @param null|string $graphType * @throws Exception */ diff --git a/plugins/CoreHome/templates/_dataTable.twig b/plugins/CoreHome/templates/_dataTable.twig index d6b51d34f15aa56aca927a89aca2f7ad7d38969e..73eb6f1143eb715967c598b90de83ab84f37a7b7 100644 --- a/plugins/CoreHome/templates/_dataTable.twig +++ b/plugins/CoreHome/templates/_dataTable.twig @@ -1,3 +1,4 @@ +{% set summaryRowId = -1 %}{# ID_SUMMARY_ROW #} {% set isSubtable = javascriptVariablesToSet.idSubtable is defined and javascriptVariablesToSet.idSubtable != 0 %} <div class="dataTable {{ properties.datatable_css_class }} {% if isSubtable %}subDataTable{% endif %}" data-table-type="{{ properties.datatable_js_type|default('dataTable') }}" @@ -26,7 +27,7 @@ <tbody> {% for rowId, row in dataTable.getRows() %} {%- set rowHasSubtable = row.getIdSubDataTable() and javascriptVariablesToSet.controllerActionCalledWhenRequestSubTable is not null -%} - {%- set shouldHighlightRow = rowId == constant("Piwik_DataTable::ID_SUMMARY_ROW") and properties.highlight_summary_row -%} + {%- set shouldHighlightRow = rowId == summaryRowId and properties.highlight_summary_row -%} {# display this row if it doesn't have a subtable or if we don't replace the row with the subtable #} {% if not rowHasSubtable or not properties.show_expanded|default(false) or not properties.replace_row_with_subtable|default(false) %} diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php index 64f7be4bb3a3129980db62b9dc943aee0b0f41a0..ff0900073e24a45f4c08267be43dc23d52e26f44 100644 --- a/plugins/CorePluginsAdmin/Controller.php +++ b/plugins/CorePluginsAdmin/Controller.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Config; /** * @@ -51,21 +52,21 @@ class Piwik_CorePluginsAdmin_Controller extends Piwik_Controller_Admin $plugins = array(); $listPlugins = array_merge( - PluginsManager::getInstance()->readPluginsDirectory(), + \Piwik\PluginsManager::getInstance()->readPluginsDirectory(), Config::getInstance()->Plugins['Plugins'] ); $listPlugins = array_unique($listPlugins); foreach ($listPlugins as $pluginName) { - PluginsManager::getInstance()->loadPlugin($pluginName); + \Piwik\PluginsManager::getInstance()->loadPlugin($pluginName); $plugins[$pluginName] = array( - 'activated' => PluginsManager::getInstance()->isPluginActivated($pluginName), - 'alwaysActivated' => PluginsManager::getInstance()->isPluginAlwaysActivated($pluginName), - 'uninstallable' => PluginsManager::getInstance()->isPluginUninstallable($pluginName), + 'activated' => \Piwik\PluginsManager::getInstance()->isPluginActivated($pluginName), + 'alwaysActivated' => \Piwik\PluginsManager::getInstance()->isPluginAlwaysActivated($pluginName), + 'uninstallable' => \Piwik\PluginsManager::getInstance()->isPluginUninstallable($pluginName), ); } - PluginsManager::getInstance()->loadPluginTranslations(); + \Piwik\PluginsManager::getInstance()->loadPluginTranslations(); - $loadedPlugins = PluginsManager::getInstance()->getLoadedPlugins(); + $loadedPlugins = \Piwik\PluginsManager::getInstance()->getLoadedPlugins(); foreach ($loadedPlugins as $oPlugin) { $pluginName = $oPlugin->getPluginName(); $plugins[$pluginName]['info'] = $oPlugin->getInformation(); @@ -107,7 +108,7 @@ class Piwik_CorePluginsAdmin_Controller extends Piwik_Controller_Admin public function deactivate($redirectAfter = true) { $pluginName = $this->initPluginModification(); - PluginsManager::getInstance()->deactivatePlugin($pluginName); + \Piwik\PluginsManager::getInstance()->deactivatePlugin($pluginName); $this->redirectAfterModification($redirectAfter); } @@ -129,14 +130,14 @@ class Piwik_CorePluginsAdmin_Controller extends Piwik_Controller_Admin public function activate($redirectAfter = true) { $pluginName = $this->initPluginModification(); - PluginsManager::getInstance()->activatePlugin($pluginName); + \Piwik\PluginsManager::getInstance()->activatePlugin($pluginName); $this->redirectAfterModification($redirectAfter); } public function uninstall($redirectAfter = true) { $pluginName = $this->initPluginModification(); - $uninstalled = PluginsManager::getInstance()->uninstallPlugin($pluginName); + $uninstalled = \Piwik\PluginsManager::getInstance()->uninstallPlugin($pluginName); if(!$uninstalled) { $path = Common::getPathToPiwikRoot() . '/plugins/' . $pluginName . '/'; $messagePermissions = Piwik::getErrorMessageMissingPermissions($path); diff --git a/plugins/CorePluginsAdmin/CorePluginsAdmin.php b/plugins/CorePluginsAdmin/CorePluginsAdmin.php index c7e856b91e4389652cddb42fbf515653dafa93c4..fe4e9d8780769314472cc0521817f61b5bcf1198 100644 --- a/plugins/CorePluginsAdmin/CorePluginsAdmin.php +++ b/plugins/CorePluginsAdmin/CorePluginsAdmin.php @@ -9,12 +9,13 @@ * @package Piwik_CorePluginsAdmin */ use Piwik\Piwik; +use Piwik\Plugin; /** * * @package Piwik_CorePluginsAdmin */ -class Piwik_CorePluginsAdmin extends Piwik_Plugin +class Piwik_CorePluginsAdmin extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php index 87f1beb6345ec02e05cd9a013468197fe40efc1c..11e0c9c7d1d7b95d28d39dd8bd312cca7626477b 100644 --- a/plugins/CoreUpdater/Controller.php +++ b/plugins/CoreUpdater/Controller.php @@ -8,6 +8,7 @@ * @category Piwik_Plugins * @package Piwik_CoreUpdater */ +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; use Piwik\Piwik; use Piwik\Common; @@ -166,7 +167,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller /* * Make sure the execute bit is set for this shell script */ - if (!Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled()) { + if (!Rules::isBrowserTriggerEnabled()) { @chmod($this->pathRootExtractedPiwik . '/misc/cron/archive.sh', 0755); } @@ -345,7 +346,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller $this->coreError = true; break; } else { - PluginsManager::getInstance()->deactivatePlugin($name); + \Piwik\PluginsManager::getInstance()->deactivatePlugin($name); $this->deactivatedPlugins[] = $name; } } diff --git a/plugins/CoreUpdater/CoreUpdater.php b/plugins/CoreUpdater/CoreUpdater.php index 4c35b42029ca4543a0a6f75b22678848b69116d4..99c7e4029de174b897cb258b5557dd18de925161 100644 --- a/plugins/CoreUpdater/CoreUpdater.php +++ b/plugins/CoreUpdater/CoreUpdater.php @@ -10,12 +10,13 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Plugin; /** * * @package Piwik_CoreUpdater */ -class Piwik_CoreUpdater extends Piwik_Plugin +class Piwik_CoreUpdater extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -32,7 +33,7 @@ class Piwik_CoreUpdater extends Piwik_Plugin public static function getComponentUpdates(Piwik_Updater $updater) { $updater->addComponentToCheck('core', Piwik_Version::VERSION); - $plugins = PluginsManager::getInstance()->getLoadedPlugins(); + $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPlugins(); foreach ($plugins as $pluginName => $plugin) { $updater->addComponentToCheck($pluginName, $plugin->getVersion()); } diff --git a/plugins/CustomVariables/API.php b/plugins/CustomVariables/API.php index 800b916886957109e8eeae558a408a178cd6b34f..bfe38b72405d12592178ccfc5f8d2ecfa65b3767 100644 --- a/plugins/CustomVariables/API.php +++ b/plugins/CustomVariables/API.php @@ -10,6 +10,8 @@ */ use Piwik\Archive; use Piwik\Metrics; +use Piwik\Date; +use Piwik\DataTable; /** * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' target='_blank'>Custom Variables</a> names and values. @@ -34,12 +36,12 @@ class Piwik_CustomVariables_API /** * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param string $segment * @param bool $expanded * @param int $idSubtable * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ protected function getDataTable($idSite, $period, $date, $segment, $expanded, $idSubtable) { @@ -53,18 +55,18 @@ class Piwik_CustomVariables_API /** * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param string|bool $segment * @param bool $expanded * @param bool $_leavePiwikCoreVariables * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ public function getCustomVariables($idSite, $period, $date, $segment = false, $expanded = false, $_leavePiwikCoreVariables = false) { $dataTable = $this->getDataTable($idSite, $period, $date, $segment, $expanded, $idSubtable = null); - if ($dataTable instanceof Piwik_DataTable + if ($dataTable instanceof DataTable && !$_leavePiwikCoreVariables ) { $mapping = self::getReservedCustomVariableKeys(); @@ -90,12 +92,12 @@ class Piwik_CustomVariables_API /** * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param int $idSubtable * @param string|bool $segment * @param bool $_leavePriceViewedColumn * - * @return Piwik_DataTable|Piwik_DataTable_Array + * @return DataTable|DataTable\Map */ public function getCustomVariablesValuesFromNameId($idSite, $period, $date, $idSubtable, $segment = false, $_leavePriceViewedColumn = false) { diff --git a/plugins/CustomVariables/Archiver.php b/plugins/CustomVariables/Archiver.php index 08b15ec865783edc50477b024465bd17e71d1ede..654cf228354d4a79a91ccd82e8c5533e4c55ce39 100644 --- a/plugins/CustomVariables/Archiver.php +++ b/plugins/CustomVariables/Archiver.php @@ -1,7 +1,9 @@ <?php use Piwik\Common; use Piwik\Config; +use Piwik\DataAccess\LogAggregator; use Piwik\Metrics; +use Piwik\PluginsArchiver; /** * Piwik - Open source web analytics @@ -13,7 +15,7 @@ use Piwik\Metrics; * @package Piwik_CustomVariables */ -class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver +class Piwik_CustomVariables_Archiver extends PluginsArchiver { const LABEL_CUSTOM_VALUE_NOT_DEFINED = "Value not defined"; const CUSTOM_VARIABLE_RECORD_NAME = 'CustomVariables_valueByName'; @@ -78,7 +80,7 @@ class Piwik_CustomVariables_Archiver extends Piwik_PluginsArchiver protected function getSelectAveragePrice() { - return Piwik_DataAccess_LogAggregator::getSqlRevenue("AVG(log_link_visit_action.custom_var_v2)") + return LogAggregator::getSqlRevenue("AVG(log_link_visit_action.custom_var_v2)") . " as `" . Metrics::INDEX_ECOMMERCE_ITEM_PRICE_VIEWED . "`"; } diff --git a/plugins/CustomVariables/CustomVariables.php b/plugins/CustomVariables/CustomVariables.php index 9a402c192fbe87b581ccc01e13b97f88334326d0..971a967b8ea78696ab963fbc5d4e9d417e136485 100644 --- a/plugins/CustomVariables/CustomVariables.php +++ b/plugins/CustomVariables/CustomVariables.php @@ -8,11 +8,13 @@ * @category Piwik_Plugins * @package Piwik_CustomVariables */ +use Piwik\ArchiveProcessor; +use Piwik\Plugin; /** * @package Piwik_CustomVariables */ -class Piwik_CustomVariables extends Piwik_Plugin +class Piwik_CustomVariables extends Plugin { public function getInformation() { @@ -130,7 +132,7 @@ class Piwik_CustomVariables extends Piwik_Plugin /** * Hooks on daily archive to trigger various log processing */ - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_CustomVariables_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -138,7 +140,7 @@ class Piwik_CustomVariables extends Piwik_Plugin } } - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_CustomVariables_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/DBStats/API.php b/plugins/DBStats/API.php index 0c4a4d1e537910081added2249e638f1797ad25a..46b3666c02508f09e7ea7e7b1366c7303877a896 100644 --- a/plugins/DBStats/API.php +++ b/plugins/DBStats/API.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; /** * @see plugins/DBStats/MySQLMetadataProvider.php @@ -100,7 +101,7 @@ class Piwik_DBStats_API * This function will group tracker tables, numeric archive tables, blob archive tables * and other tables together so only four rows are shown. * - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getDatabaseUsageSummary() { @@ -130,13 +131,13 @@ class Piwik_DBStats_API $rowToAddTo['row_count'] += $status['Rows']; } - return Piwik_DataTable::makeFromIndexedArray($rows); + return DataTable::makeFromIndexedArray($rows); } /** * Returns a datatable describing how much space is taken up by each log table. * - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getTrackerDataSummary() { @@ -148,7 +149,7 @@ class Piwik_DBStats_API * Returns a datatable describing how much space is taken up by each numeric * archive table. * - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getMetricDataSummary() { @@ -160,7 +161,7 @@ class Piwik_DBStats_API * Returns a datatable describing how much space is taken up by each numeric * archive table, grouped by year. * - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getMetricDataSummaryByYear() { @@ -178,7 +179,7 @@ class Piwik_DBStats_API * Returns a datatable describing how much space is taken up by each blob * archive table. * - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getReportDataSummary() { @@ -190,7 +191,7 @@ class Piwik_DBStats_API * Returns a datatable describing how much space is taken up by each blob * archive table, grouped by year. * - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getReportDataSummaryByYear() { @@ -210,7 +211,7 @@ class Piwik_DBStats_API * An 'admin' table is a table that is not central to analytics functionality. * So any table that isn't an archive table or a log table is an 'admin' table. * - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getAdminDataSummary() { @@ -226,7 +227,7 @@ class Piwik_DBStats_API * * @param bool $forceCache false to use the cached result, true to run the queries again and * cache the result. - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getIndividualReportsSummary($forceCache = false) { @@ -242,7 +243,7 @@ class Piwik_DBStats_API * * @param bool $forceCache false to use the cached result, true to run the queries again and * cache the result. - * @return Piwik_DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. + * @return DataTable A datatable with three columns: 'data_size', 'index_size', 'row_count'. */ public function getIndividualMetricsSummary($forceCache = false) { @@ -254,11 +255,11 @@ class Piwik_DBStats_API * Returns a datatable representation of a set of table statuses. * * @param array $statuses The table statuses to summarize. - * @return Piwik_DataTable + * @return DataTable */ private function getTablesSummary($statuses) { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); foreach ($statuses as $status) { $dataTable->addRowFromSimpleArray(array( 'label' => $status['Name'], diff --git a/plugins/DBStats/Controller.php b/plugins/DBStats/Controller.php index caf2241e14500e7ee21a4fa70e1574d8148e0373..7596dc4106d6e66e74f9de25a1caa681d7faa286 100644 --- a/plugins/DBStats/Controller.php +++ b/plugins/DBStats/Controller.php @@ -313,7 +313,7 @@ class Piwik_DBStats_Controller extends Piwik_Controller_Admin } } - $getPrettySize = array('Piwik', 'getPrettySizeFromBytes'); + $getPrettySize = '\Piwik\Piwik::getPrettySizeFromBytes'; $params = $fixedMemoryUnit === false ? array() : array($fixedMemoryUnit); $view->queueFilter( 'ColumnCallbackReplace', array($sizeColumns, $getPrettySize, $params), $runPrettySizeFilterBeforeGeneric); @@ -324,8 +324,7 @@ class Piwik_DBStats_Controller extends Piwik_Controller_Admin $view->queueFilter('ColumnCallbackReplace', array($sizeColumns, $replaceSpaces)); } - $getPrettyNumber = array('Piwik', 'getPrettyNumber'); - $view->queueFilter('ColumnCallbackReplace', array(array('row_count'), $getPrettyNumber)); + $view->queueFilter('ColumnCallbackReplace', array(array('row_count'), '\Piwik\Piwik::getPrettyNumber')); return $view; } diff --git a/plugins/DBStats/DBStats.php b/plugins/DBStats/DBStats.php index fd649d5b1e4ef4fcc0f84289369dd337cea2df56..770e00f0ed66763de574786a890ef4d8be824a24 100644 --- a/plugins/DBStats/DBStats.php +++ b/plugins/DBStats/DBStats.php @@ -9,12 +9,14 @@ * @package Piwik_DBStats */ use Piwik\Piwik; +use Piwik\Date; +use Piwik\Plugin; /** * * @package Piwik_DBStats */ -class Piwik_DBStats extends Piwik_Plugin +class Piwik_DBStats extends Plugin { const TIME_OF_LAST_TASK_RUN_OPTION = 'dbstats_time_of_last_cache_task_run'; @@ -63,7 +65,7 @@ class Piwik_DBStats extends Piwik_Plugin $api->getIndividualReportsSummary(true); $api->getIndividualMetricsSummary(true); - $now = Piwik_Date::now()->getLocalized("%longYear%, %shortMonth% %day%"); + $now = Date::now()->getLocalized("%longYear%, %shortMonth% %day%"); Piwik_SetOption(self::TIME_OF_LAST_TASK_RUN_OPTION, $now); } diff --git a/plugins/DBStats/MySQLMetadataProvider.php b/plugins/DBStats/MySQLMetadataProvider.php index 9641d2d7887063fcbc014cde6c4e5308503f266b..c7701e6023438e3f7eec53449850735c2563e755 100755 --- a/plugins/DBStats/MySQLMetadataProvider.php +++ b/plugins/DBStats/MySQLMetadataProvider.php @@ -10,6 +10,8 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Config; +use Piwik\DataTable; /** * Utility class that provides general information about databases, including the size of @@ -175,7 +177,7 @@ class Piwik_DBStats_MySQLMetadataProvider * * @param bool $forceCache false to use the cached result, true to run the queries again and * cache the result. - * @return Piwik_DataTable + * @return DataTable */ public function getRowCountsAndSizeByBlobName($forceCache = false) { @@ -194,7 +196,7 @@ class Piwik_DBStats_MySQLMetadataProvider * * @param bool $forceCache false to use the cached result, true to run the queries again and * cache the result. - * @return Piwik_DataTable + * @return DataTable */ public function getRowCountsAndSizeByMetricName($forceCache = false) { @@ -216,20 +218,20 @@ class Piwik_DBStats_MySQLMetadataProvider $cols = array_merge(array('row_count'), $otherDataTableColumns); - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); foreach ($statuses as $status) { $dataTableOptionName = $this->getCachedOptionName($status['Name'], 'byArchiveName'); // if option exists && !$forceCache, use the cached data, otherwise create the $cachedData = Piwik_GetOption($dataTableOptionName); if ($cachedData !== false && !$forceCache) { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromSerializedArray($cachedData); } else { // otherwise, create data table & cache it $sql = "SELECT name as 'label', COUNT(*) as 'row_count'$extraCols FROM {$status['Name']} GROUP BY name"; - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromSimpleArray(Piwik_FetchAll($sql)); $reduceArchiveRowName = array($this, 'reduceArchiveRowName'); diff --git a/plugins/Dashboard/Controller.php b/plugins/Dashboard/Controller.php index f91718d097884624fefa0deb05dd80e2a5329ee5..0f6cca6d001487d77064910aee1717789510470b 100644 --- a/plugins/Dashboard/Controller.php +++ b/plugins/Dashboard/Controller.php @@ -7,6 +7,7 @@ * @category Piwik_Plugins * @package Piwik_Dashboard */ +use Piwik\DataTable\Renderer\Json; use Piwik\Piwik; use Piwik\Common; @@ -66,7 +67,7 @@ class Piwik_Dashboard_Controller extends Piwik_Controller { $this->checkTokenInUrl(); - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); echo Common::json_encode(Piwik_GetWidgetsList()); } @@ -157,7 +158,7 @@ class Piwik_Dashboard_Controller extends Piwik_Controller $this->checkTokenInUrl(); if (Piwik::isUserIsAnonymous()) { - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); echo '[]'; return; @@ -166,7 +167,7 @@ class Piwik_Dashboard_Controller extends Piwik_Controller $login = Piwik::getCurrentUserLogin(); $dashboards = $this->dashboard->getAllDashboards($login); - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); echo Common::json_encode($dashboards); } @@ -197,7 +198,7 @@ class Piwik_Dashboard_Controller extends Piwik_Controller Common::prefixTable('user_dashboard')); Piwik_Query($query, array($user, $nextId, $name, $layout)); - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); echo Common::json_encode($nextId); } @@ -235,7 +236,7 @@ class Piwik_Dashboard_Controller extends Piwik_Controller Common::prefixTable('user_dashboard')); Piwik_Query($query, array($user, $nextId, $name, $layout)); - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); echo Common::json_encode($nextId); return; } diff --git a/plugins/Dashboard/Dashboard.php b/plugins/Dashboard/Dashboard.php index 7548104be9d310433032dae8cb3037fde0474fc5..25fb766226ec8bcea9366bf6b6551f8b31dbc161 100644 --- a/plugins/Dashboard/Dashboard.php +++ b/plugins/Dashboard/Dashboard.php @@ -10,12 +10,13 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Plugin; use Piwik\Site; /** * @package Piwik_Dashboard */ -class Piwik_Dashboard extends Piwik_Plugin +class Piwik_Dashboard extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/DevicesDetection/API.php b/plugins/DevicesDetection/API.php index 3117122c96c2719016121e5f1bfe92c34666b1ff..1800849fcf645de46a668691cbccacec69dba9c1 100644 --- a/plugins/DevicesDetection/API.php +++ b/plugins/DevicesDetection/API.php @@ -12,6 +12,7 @@ use Piwik\Archive; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\DataTable; /** * The DevicesDetection API lets you access reports on your visitors devices, brands, models, Operating system, Browsers. @@ -58,7 +59,7 @@ class Piwik_DevicesDetection_API * @param string $period * @param string $date * @param bool|string $segment - * @return Piwik_DataTable + * @return DataTable */ public function getType($idSite, $period, $date, $segment = false) { @@ -75,7 +76,7 @@ class Piwik_DevicesDetection_API * @param string $period * @param string $date * @param bool|string $segment - * @return Piwik_DataTable + * @return DataTable */ public function getBrand($idSite, $period, $date, $segment = false) { @@ -91,7 +92,7 @@ class Piwik_DevicesDetection_API * @param string $period * @param string $date * @param bool|string $segment - * @return Piwik_DataTable + * @return DataTable */ public function getModel($idSite, $period, $date, $segment = false) { @@ -106,7 +107,7 @@ class Piwik_DevicesDetection_API * @param string $period * @param string $date * @param bool|string $segment - * @return Piwik_DataTable + * @return DataTable */ public function getOsFamilies($idSite, $period, $date, $segment = false) { @@ -122,7 +123,7 @@ class Piwik_DevicesDetection_API * @param string $period * @param string $date * @param bool|string $segment - * @return Piwik_DataTable + * @return DataTable */ public function getOsVersions($idSite, $period, $date, $segment = false) { @@ -139,7 +140,7 @@ class Piwik_DevicesDetection_API * @param string $period * @param string $date * @param bool|string $segment - * @return Piwik_DataTable + * @return DataTable */ public function getBrowserFamilies($idSite, $period, $date, $segment = false) { @@ -155,7 +156,7 @@ class Piwik_DevicesDetection_API * @param string $period * @param string $date * @param bool|string $segment - * @return Piwik_DataTable + * @return DataTable */ public function getBrowserVersions($idSite, $period, $date, $segment = false) { diff --git a/plugins/DevicesDetection/Archiver.php b/plugins/DevicesDetection/Archiver.php index 6bf0288894558c352afa72e2cc56b49d2d8890ba..73a66fb67d3c46da6d3ea690445e30dcc5eafb48 100644 --- a/plugins/DevicesDetection/Archiver.php +++ b/plugins/DevicesDetection/Archiver.php @@ -10,8 +10,9 @@ */ use Piwik\Metrics; +use Piwik\PluginsArchiver; -class Piwik_DevicesDetection_Archiver extends Piwik_PluginsArchiver +class Piwik_DevicesDetection_Archiver extends PluginsArchiver { const DEVICE_TYPE_RECORD_NAME = 'DevicesDetection_types'; const DEVICE_BRAND_RECORD_NAME = 'DevicesDetection_brands'; diff --git a/plugins/DevicesDetection/DevicesDetection.php b/plugins/DevicesDetection/DevicesDetection.php index 2a734b24e452cc32ef3b541b2839fae615851b72..7129ee581be384bf7c6d093660047b4f5542d571 100644 --- a/plugins/DevicesDetection/DevicesDetection.php +++ b/plugins/DevicesDetection/DevicesDetection.php @@ -9,13 +9,15 @@ * @category Piwik_Plugins * @package Piwik_DevicesDetection */ +use Piwik\ArchiveProcessor; use Piwik\Config; use Piwik\Common; +use Piwik\Plugin; require_once PIWIK_INCLUDE_PATH . "/plugins/DevicesDetection/UserAgentParserEnhanced/UserAgentParserEnhanced.php"; require_once PIWIK_INCLUDE_PATH . '/plugins/DevicesDetection/functions.php'; -class Piwik_DevicesDetection extends Piwik_Plugin +class Piwik_DevicesDetection extends Plugin { /** * @see Piwik_Plugin::getInformation @@ -229,7 +231,7 @@ class Piwik_DevicesDetection extends Piwik_Plugin Common::printDebug($deviceInfo); } - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_DevicesDetection_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -237,7 +239,7 @@ class Piwik_DevicesDetection extends Piwik_Plugin } } - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_DevicesDetection_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/DoNotTrack/DoNotTrack.php b/plugins/DoNotTrack/DoNotTrack.php index 2b8409d394a183680df4679bcf604a58093dd61d..2ea56e3d0f93901f1abf17704d2b43fdd4325995 100644 --- a/plugins/DoNotTrack/DoNotTrack.php +++ b/plugins/DoNotTrack/DoNotTrack.php @@ -8,6 +8,8 @@ * @category Piwik_Plugins * @package Piwik_DoNotTrack */ +use Piwik\Plugin; +use Piwik\Common; /** * Ignore visits where user agent's request contains either: @@ -16,7 +18,7 @@ * * @package Piwik_DoNotTrack */ -class Piwik_DoNotTrack extends Piwik_Plugin +class Piwik_DoNotTrack extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/ExampleAPI/API.php b/plugins/ExampleAPI/API.php index 163d265c272022660948aea36306720289409864..d4a0febccfb5dbf3cf9621f76e8f345a6c8c8ec0 100644 --- a/plugins/ExampleAPI/API.php +++ b/plugins/ExampleAPI/API.php @@ -8,7 +8,9 @@ * @category Piwik_Plugins * @package Piwik_ExampleAPI */ +use Piwik\DataTable\Row; use Piwik\Piwik; +use Piwik\DataTable; /** * The ExampleAPI is useful to developers building a custom Piwik plugin. @@ -126,13 +128,13 @@ class Piwik_ExampleAPI_API * This data table will be converted to all available formats * when requested in the API request. * - * @return Piwik_DataTable + * @return DataTable */ public function getCompetitionDatatable() { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); - $row1 = new Piwik_DataTable_Row(); + $row1 = new Row(); $row1->setColumns(array('name' => 'piwik', 'license' => 'GPL')); // Rows Metadata is useful to store non stats data for example (logos, urls, etc.) diff --git a/plugins/ExampleAPI/ExampleAPI.php b/plugins/ExampleAPI/ExampleAPI.php index 7c96f96c19e08515a7437b5d6a61bca00f5de175..da1c3f4c52734855efcecf370b922edca7d7b19b 100644 --- a/plugins/ExampleAPI/ExampleAPI.php +++ b/plugins/ExampleAPI/ExampleAPI.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_ExampleAPI */ +use Piwik\Plugin; /** * ExampleAPI plugin * * @package Piwik_ExampleAPI */ -class Piwik_ExampleAPI extends Piwik_Plugin +class Piwik_ExampleAPI extends Plugin { } diff --git a/plugins/ExamplePlugin/Controller.php b/plugins/ExamplePlugin/Controller.php index 7ff7a79042840655f9e8516174c6139272a3f658..3e6c55713052365f7bd9e65398deb5f23bf0bc14 100644 --- a/plugins/ExamplePlugin/Controller.php +++ b/plugins/ExamplePlugin/Controller.php @@ -73,7 +73,7 @@ class Piwik_ExamplePlugin_Controller extends Piwik_Controller $out .= '<h2>General</h2>'; $out .= '<h3>Accessible from your plugin controller</h3>'; - $out .= '<code>$this->date</code> = current selected <b>Piwik_Date</b> object (<a href="https://github.com/piwik/piwik/blob/master/core/Date.php">class</a>)<br />'; + $out .= '<code>$this->date</code> = current selected <b>Date</b> object (<a href="https://github.com/piwik/piwik/blob/master/core/Date.php">class</a>)<br />'; $out .= '<code>$period = Common::getRequestVar("period");</code> - Get the current selected period<br />'; $out .= '<code>$idSite = Common::getRequestVar("idSite");</code> - Get the selected idSite<br />'; $out .= '<code>$site = new Site($idSite);</code> - Build the Site object (<a href="https://github.com/piwik/piwik/tree/master/core/Site.php">class</a>)<br />'; diff --git a/plugins/ExamplePlugin/ExamplePlugin.php b/plugins/ExamplePlugin/ExamplePlugin.php index a3143b34bb2a873c0a0a06e659754c1597cb5436..7fc7a2cc09371de909bd76f76fe49650c7403603 100644 --- a/plugins/ExamplePlugin/ExamplePlugin.php +++ b/plugins/ExamplePlugin/ExamplePlugin.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_ExamplePlugin */ +use Piwik\Plugin; /** * * @package Piwik_ExamplePlugin */ -class Piwik_ExamplePlugin extends Piwik_Plugin +class Piwik_ExamplePlugin extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/ExampleRssWidget/ExampleRssWidget.php b/plugins/ExampleRssWidget/ExampleRssWidget.php index eeb4d78157ea8fd588e1e1c821f779980ac744ea..72831e6d0b72493df9219bcf86367f9ed9653b3f 100644 --- a/plugins/ExampleRssWidget/ExampleRssWidget.php +++ b/plugins/ExampleRssWidget/ExampleRssWidget.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_ExampleRssWidget */ +use Piwik\Plugin; /** * * @package Piwik_ExampleRssWidget */ -class Piwik_ExampleRssWidget extends Piwik_Plugin +class Piwik_ExampleRssWidget extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/ExampleUI/API.php b/plugins/ExampleUI/API.php index 87bc64a88cd6b2a5cde3351a77ba5655c9e334f7..5857ef112be2aaaa7c2473e530c96be0f16cfb63 100644 --- a/plugins/ExampleUI/API.php +++ b/plugins/ExampleUI/API.php @@ -8,7 +8,8 @@ * @category Piwik_Plugins * @package Piwik_ExampleUI */ -use Piwik\Period_Range; +use Piwik\Period\Range; +use Piwik\DataTable; /** * ExampleUI API is also an example API useful if you are developing a Piwik plugin. @@ -32,7 +33,7 @@ class Piwik_ExampleUI_API public function getTemperaturesEvolution($date, $period) { - $period = new Period_Range($period, 'last30'); + $period = new Range($period, 'last30'); $dateStart = $period->getDateStart()->toString('Y-m-d'); // eg. "2009-04-01" $dateEnd = $period->getDateEnd()->toString('Y-m-d'); // eg. "2009-04-30" @@ -51,7 +52,7 @@ class Piwik_ExampleUI_API $value = array('server1' => $server1, 'server2' => $server2); $temperatures[$subPeriod->getLocalizedShortString()] = $value; } - return Piwik_DataTable::makeFromIndexedArray($temperatures); + return DataTable::makeFromIndexedArray($temperatures); } // we generate an array of random server temperatures @@ -68,7 +69,7 @@ class Piwik_ExampleUI_API $temperatures[$xAxisLabel] = $temperatureValues[$i]; } - return Piwik_DataTable::makeFromIndexedArray($temperatures); + return DataTable::makeFromIndexedArray($temperatures); } public function getPlanetRatios() @@ -84,7 +85,7 @@ class Piwik_ExampleUI_API 'Neptune' => 3.883, ); // convert this array to a DataTable object - return Piwik_DataTable::makeFromIndexedArray($planetRatios); + return DataTable::makeFromIndexedArray($planetRatios); } public function getPlanetRatiosWithLogos() diff --git a/plugins/ExampleUI/ExampleUI.php b/plugins/ExampleUI/ExampleUI.php index 6808be9109c46626bb2521cb33464448bcdd793a..4e1210cf14b8f69cd64fd90aaef6f2855dfecf09 100644 --- a/plugins/ExampleUI/ExampleUI.php +++ b/plugins/ExampleUI/ExampleUI.php @@ -18,12 +18,13 @@ - without all columns icon + update http://piwik.org/participate/user-interface */ +use Piwik\Plugin; /** * * @package Piwik_ExampleUI */ -class Piwik_ExampleUI extends Piwik_Plugin +class Piwik_ExampleUI extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/Feedback/Feedback.php b/plugins/Feedback/Feedback.php index 5217def3d4e52ddbbb9e31500199f46cefd063f8..522c09fe96d8811da6a42a65e7193226cc91e9ee 100644 --- a/plugins/Feedback/Feedback.php +++ b/plugins/Feedback/Feedback.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_Feedback */ +use Piwik\Plugin; /** * * @package Piwik_Feedback */ -class Piwik_Feedback extends Piwik_Plugin +class Piwik_Feedback extends Plugin { /** diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index 5d0d0eab5c1d3662956641f553707c0f43c0db62..db754b3bb3c085a60cab5310ee4ba69f503e54aa 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -12,6 +12,7 @@ use Piwik\Archive; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; use Piwik\Site; /** @@ -249,11 +250,11 @@ class Piwik_Goals_API $customVarNameToLookFor = $mapping[$recordName]; // Handle case where date=last30&period=day - if ($customVariables instanceof Piwik_DataTable_Array) { + if ($customVariables instanceof DataTable\Map) { $customVariableDatatables = $customVariables->getArray(); $dataTables = $dataTable->getArray(); foreach ($customVariableDatatables as $key => $customVariableTableForDate) { - $dataTableForDate = isset($dataTables[$key]) ? $dataTables[$key] : new Piwik_DataTable(); + $dataTableForDate = isset($dataTables[$key]) ? $dataTables[$key] : new DataTable(); // we do not enter the IF // if case idSite=1,3 AND period=day&date=datefrom,dateto, @@ -268,7 +269,7 @@ class Piwik_Goals_API } $this->renameNotDefinedRow($dataTableForDate, $notDefinedStringPretty); } - } elseif ($customVariables instanceof Piwik_DataTable) { + } elseif ($customVariables instanceof DataTable) { $row = $customVariables->getRowFromLabel($customVarNameToLookFor); if ($row) { $idSubtable = $row->getIdSubDataTable(); @@ -285,7 +286,7 @@ class Piwik_Goals_API protected function renameNotDefinedRow($dataTable, $notDefinedStringPretty) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { foreach ($dataTable->getArray() as $table) { $this->renameNotDefinedRow($table, $notDefinedStringPretty); } @@ -369,7 +370,7 @@ class Piwik_Goals_API * @param bool $segment * @param bool|int $idGoal * @param array $columns Array of metrics to fetch: nb_conversions, conversion_rate, revenue - * @return Piwik_DataTable + * @return DataTable */ public function get($idSite, $period, $date, $segment = false, $idGoal = false, $columns = array()) { @@ -404,7 +405,7 @@ class Piwik_Goals_API $dataTable->renameColumn($oldName, $columns[$id]); } if ($idGoal == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { foreach ($dataTable->getArray() as $row) { $this->enrichTable($row); } @@ -482,7 +483,7 @@ class Piwik_Goals_API * @param string $segment The segment. * @param int|bool $idGoal The id of the goal to get data for. If this is set to false, * data for every goal that belongs to $idSite is returned. - * @return false|Piwik_DataTable + * @return false|DataTable */ protected function getGoalSpecificDataTable($recordName, $idSite, $period, $date, $segment, $idGoal) { @@ -510,7 +511,7 @@ class Piwik_Goals_API * @param string|bool $segment The segment. * @param int|bool $idGoal The id of the goal to get data for. If this is set to false, * data for every goal that belongs to $idSite is returned. - * @return false|Piwik_DataTable + * @return false|DataTable */ public function getDaysToConversion($idSite, $period, $date, $segment = false, $idGoal = false) { @@ -534,7 +535,7 @@ class Piwik_Goals_API * @param string|bool $segment The segment. * @param int|bool $idGoal The id of the goal to get data for. If this is set to false, * data for every goal that belongs to $idSite is returned. - * @return bool|Piwik_DataTable + * @return bool|DataTable */ public function getVisitsUntilConversion($idSite, $period, $date, $segment = false, $idGoal = false) { diff --git a/plugins/Goals/Archiver.php b/plugins/Goals/Archiver.php index a22cc9ef98627d9fee4767f2c477d109d710ea51..96792174c13eac34234a79209431cf7483f5cf92 100644 --- a/plugins/Goals/Archiver.php +++ b/plugins/Goals/Archiver.php @@ -9,9 +9,12 @@ * @package Piwik_Goals */ +use Piwik\DataAccess\LogAggregator; use Piwik\Metrics; +use Piwik\DataTable; +use Piwik\PluginsArchiver; -class Piwik_Goals_Archiver extends Piwik_PluginsArchiver +class Piwik_Goals_Archiver extends PluginsArchiver { const VISITS_UNTIL_RECORD_NAME = 'visits_until_conv'; const DAYS_UNTIL_CONV_RECORD_NAME = 'days_until_conv'; @@ -96,7 +99,7 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver ); $selects = array(); foreach ($aggregatesMetadata as $aggregateMetadata) { - $selects = array_merge($selects, Piwik_DataAccess_LogAggregator::getSelectsFromRangedColumn($aggregateMetadata)); + $selects = array_merge($selects, LogAggregator::getSelectsFromRangedColumn($aggregateMetadata)); } $query = $this->getLogAggregator()->queryConversionsByDimension(array(), false, $selects); @@ -121,16 +124,16 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver $goals->sumMetrics($idGoal, $values); if (empty($visitsToConversions[$idGoal])) { - $visitsToConversions[$idGoal] = new Piwik_DataTable(); + $visitsToConversions[$idGoal] = new DataTable(); } - $array = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::VISITS_UNTIL_RECORD_NAME]); - $visitsToConversions[$idGoal]->addDataTable(Piwik_DataTable::makeFromIndexedArray($array)); + $array = LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::VISITS_UNTIL_RECORD_NAME]); + $visitsToConversions[$idGoal]->addDataTable(DataTable::makeFromIndexedArray($array)); if (empty($daysToConversions[$idGoal])) { - $daysToConversions[$idGoal] = new Piwik_DataTable(); + $daysToConversions[$idGoal] = new DataTable(); } - $array = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::DAYS_UNTIL_CONV_RECORD_NAME]); - $daysToConversions[$idGoal]->addDataTable(Piwik_DataTable::makeFromIndexedArray($array)); + $array = LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_CONVERSIONS, $prefixes[self::DAYS_UNTIL_CONV_RECORD_NAME]); + $daysToConversions[$idGoal]->addDataTable(DataTable::makeFromIndexedArray($array)); // We don't want to sum Abandoned cart metrics in the overall revenue/conversions/converted visits // since it is a "negative conversion" @@ -209,7 +212,7 @@ class Piwik_Goals_Archiver extends Piwik_PluginsArchiver protected function getOverviewFromGoalTables($tableByGoal) { - $overview = new Piwik_DataTable(); + $overview = new DataTable(); foreach ($tableByGoal as $idGoal => $table) { if ($this->isStandardGoal($idGoal)) { $overview->addDataTable($table); diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php index d659959ab3cf71fb7adbfc5829678bf92acf7d6d..64ab750b6bda29c0e76138965364c4cf198ff002 100644 --- a/plugins/Goals/Controller.php +++ b/plugins/Goals/Controller.php @@ -8,8 +8,10 @@ * @category Piwik_Plugins * @package Piwik_Goals */ +use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; /** * @@ -35,7 +37,7 @@ class Piwik_Goals_Controller extends Piwik_Controller private function formatConversionRate($conversionRate) { - if ($conversionRate instanceof Piwik_DataTable) { + if ($conversionRate instanceof DataTable) { if ($conversionRate->getRowsCount() == 0) { $conversionRate = 0; } else { @@ -75,7 +77,7 @@ class Piwik_Goals_Controller extends Piwik_Controller public function ecommerceReport() { - if (!PluginsManager::getInstance()->isPluginActivated('CustomVariables')) { + if (!\Piwik\PluginsManager::getInstance()->isPluginActivated('CustomVariables')) { throw new Exception("Ecommerce Tracking requires that the plugin Custom Variables is enabled. Please enable the plugin CustomVariables (or ask your admin)."); } @@ -294,14 +296,14 @@ class Piwik_Goals_Controller extends Piwik_Controller $topDimensionsToLoad = array(); - if (PluginsManager::getInstance()->isPluginActivated('UserCountry')) { + if (\Piwik\PluginsManager::getInstance()->isPluginActivated('UserCountry')) { $topDimensionsToLoad += array( 'country' => 'UserCountry.getCountry', ); } $keywordNotDefinedString = ''; - if (PluginsManager::getInstance()->isPluginActivated('Referers')) { + if (\Piwik\PluginsManager::getInstance()->isPluginActivated('Referers')) { $keywordNotDefinedString = Piwik_Referers_API::getKeywordNotDefinedString(); $topDimensionsToLoad += array( 'keyword' => 'Referers.getKeywords', @@ -313,7 +315,7 @@ class Piwik_Goals_Controller extends Piwik_Controller $request = new Piwik_API_Request("method=$apiMethod &format=original &filter_update_columns_when_show_all_goals=1 - &idGoal=" . Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE . " + &idGoal=" . AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE . " &filter_sort_order=desc &filter_sort_column=$columnNbConversions" . // select a couple more in case some are not valid (ie. conversions==0 or they are "Keyword not defined") diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index dc3445cb882e18c2e505cc4f2bb1fc1d7fce8c8e..cd9857e3fd70277d298cb7553696ebd412b9c5aa 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -8,15 +8,17 @@ * @category Piwik_Plugins * @package Piwik_Goals */ +use Piwik\ArchiveProcessor; use Piwik\Piwik; use Piwik\Common; +use Piwik\Plugin; use Piwik\Site; /** * * @package Piwik_Goals */ -class Piwik_Goals extends Piwik_Plugin +class Piwik_Goals extends Plugin { protected $ecommerceReports = array( array('Goals_ProductSKU', 'Goals', 'getItemsSku'), @@ -479,7 +481,7 @@ class Piwik_Goals extends Piwik_Plugin * Will process Goal stats overall and for each Goal. * Also processes the New VS Returning visitors conversion stats. */ - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_Goals_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -491,7 +493,7 @@ class Piwik_Goals extends Piwik_Plugin * Hooks on Period archiving. * Sums up Goal conversions stats, and processes overall conversion rate */ - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_Goals_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -575,7 +577,7 @@ class Piwik_Goals extends Piwik_Plugin $moneyColumns = array('revenue', 'avg_price'); $prettifyMoneyColumns = array( - 'ColumnCallbackReplace', array($moneyColumns, array("Piwik", "getPrettyMoney"), array($idSite))); + 'ColumnCallbackReplace', array($moneyColumns, '\Piwik\Piwik::getPrettyMoney', array($idSite))); $result = array( 'show_ecommerce' => true, diff --git a/plugins/ImageGraph/API.php b/plugins/ImageGraph/API.php index dd6967b56b9eec4aabcdf61b4cb524fdfa0ac899..b2811772f07da047803e4dd0b070ab0d4621bfa8 100644 --- a/plugins/ImageGraph/API.php +++ b/plugins/ImageGraph/API.php @@ -11,6 +11,7 @@ use Piwik\Period; use Piwik\Piwik; use Piwik\Common; +use Piwik\Translate; /** * The ImageGraph.get API call lets you generate beautiful static PNG Graphs for any existing Piwik report. @@ -145,7 +146,7 @@ class Piwik_ImageGraph_API $useUnicodeFont = array( 'am', 'ar', 'el', 'fa', 'fi', 'he', 'ja', 'ka', 'ko', 'te', 'th', 'zh-cn', 'zh-tw', ); - $languageLoaded = Piwik_Translate::getInstance()->getLanguageLoaded(); + $languageLoaded = Translate::getInstance()->getLanguageLoaded(); $font = self::getFontPath(self::DEFAULT_FONT); if (in_array($languageLoaded, $useUnicodeFont)) { $unicodeFontPath = self::getFontPath(self::UNICODE_FONT); @@ -378,10 +379,10 @@ class Piwik_ImageGraph_API $reportMetadata = $processedReport['reportMetadata']->getRows(); $i = 0; - // $reportData instanceof Piwik_DataTable - foreach ($reportData->getRows() as $row) // Piwik_DataTable_Row[] + // $reportData instanceof DataTable + foreach ($reportData->getRows() as $row) // Row[] { - // $row instanceof Piwik_DataTable_Row + // $row instanceof Row $rowData = $row->getColumns(); // Associative Array $abscissaSeries[] = Common::unsanitizeInputValue($rowData['label']); @@ -408,13 +409,13 @@ class Piwik_ImageGraph_API } } else // if the report has no dimension we have multiple reports each with only one row within the reportData { - // $periodsData instanceof Piwik_DataTable_Simple[] + // $periodsData instanceof Simple[] $periodsData = array_values($reportData->getArray()); $periodsCount = count($periodsData); for ($i = 0; $i < $periodsCount; $i++) { - // $periodsData[$i] instanceof Piwik_DataTable_Simple - // $rows instanceof Piwik_DataTable_Row[] + // $periodsData[$i] instanceof Simple + // $rows instanceof Row[] if (empty($periodsData[$i])) { continue; } diff --git a/plugins/ImageGraph/ImageGraph.php b/plugins/ImageGraph/ImageGraph.php index 73743ccbba582d3aacb40a2a06590ecc410eea6b..3a2f56bb58a3c17d70a8b0b7e65d284a19df6271 100644 --- a/plugins/ImageGraph/ImageGraph.php +++ b/plugins/ImageGraph/ImageGraph.php @@ -1,7 +1,9 @@ <?php use Piwik\Common; use Piwik\Period; +use Piwik\Plugin; use Piwik\Site; +use Piwik\Config; /** * Piwik - Open source web analytics @@ -13,7 +15,7 @@ use Piwik\Site; * @package Piwik_ImageGraph */ -class Piwik_ImageGraph extends Piwik_Plugin +class Piwik_ImageGraph extends Plugin { static private $CONSTANT_ROW_COUNT_REPORT_EXCEPTIONS = array( 'Referers_getRefererType', diff --git a/plugins/ImageGraph/StaticGraph.php b/plugins/ImageGraph/StaticGraph.php index 4fe0523e2a4d1c0b2817d8518bc5af5f63154af2..85778163e0cd7d6172cc235d08465d8bd704b8cb 100644 --- a/plugins/ImageGraph/StaticGraph.php +++ b/plugins/ImageGraph/StaticGraph.php @@ -9,6 +9,8 @@ * @package Piwik_ImageGraph */ +use Piwik\Loader; + require_once PIWIK_INCLUDE_PATH . "/libs/pChart2.1.3/class/pDraw.class.php"; require_once PIWIK_INCLUDE_PATH . "/libs/pChart2.1.3/class/pImage.class.php"; require_once PIWIK_INCLUDE_PATH . "/libs/pChart2.1.3/class/pData.class.php"; @@ -77,7 +79,7 @@ abstract class Piwik_ImageGraph_StaticGraph if (isset(self::$availableStaticGraphTypes[$graphType])) { $className = self::$availableStaticGraphTypes[$graphType]; - Piwik_Loader::loadClass($className); + Loader::loadClass($className); return new $className; } else { throw new Exception( @@ -108,7 +110,7 @@ abstract class Piwik_ImageGraph_StaticGraph } /** - * @return rendered static graph + * @return Image rendered static graph */ public function getRenderedImage() { diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php index 05d3913043bf653aab94c96864555378aec52c2c..5fcfcbe39ae13a3de94fa890c327777d54f7921f 100644 --- a/plugins/Installation/Controller.php +++ b/plugins/Installation/Controller.php @@ -8,7 +8,9 @@ * @category Piwik_Plugins * @package Piwik_Installation */ +use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Piwik; +use Piwik\Config; use Piwik\Common; use Piwik\Access; @@ -261,7 +263,7 @@ class Piwik_Installation_Controller extends Piwik_Controller_Admin $view->someTablesInstalled = true; // remove monthly archive tables - $archiveTables = Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled(); + $archiveTables = ArchiveTableCreator::getTablesArchivesInstalled(); $baseTablesInstalled = count($tablesInstalled) - count($archiveTables); $minimumCountPiwikTables = 17; diff --git a/plugins/Installation/Installation.php b/plugins/Installation/Installation.php index 1d81de1393d8184845a9261f70537d6740800313..8017e4e535264548fa1dd320a8647e27eae3c496 100644 --- a/plugins/Installation/Installation.php +++ b/plugins/Installation/Installation.php @@ -10,12 +10,14 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Plugin; +use Piwik\Translate; /** * * @package Piwik_Installation */ -class Piwik_Installation extends Piwik_Plugin +class Piwik_Installation extends Plugin { protected $installationControllerName = 'Piwik_Installation_Controller'; @@ -51,7 +53,7 @@ class Piwik_Installation extends Piwik_Plugin $message = ''; } - Piwik_Translate::getInstance()->loadCoreTranslation(); + Translate::getInstance()->loadCoreTranslation(); Piwik_PostEvent('Installation.startInstallation', array($this)); diff --git a/plugins/LanguagesManager/LanguagesManager.php b/plugins/LanguagesManager/LanguagesManager.php index da096266b5984e888ce35ea67d0bed6f46b54a88..1d0bc24ed99203c4f04b4a5c167825fd03c81dda 100644 --- a/plugins/LanguagesManager/LanguagesManager.php +++ b/plugins/LanguagesManager/LanguagesManager.php @@ -12,12 +12,14 @@ use Piwik\Config; use Piwik\Piwik; use Piwik\Common; +use Piwik\Plugin; +use Piwik\Translate; /** * * @package Piwik_LanguagesManager */ -class Piwik_LanguagesManager extends Piwik_Plugin +class Piwik_LanguagesManager extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -82,7 +84,7 @@ class Piwik_LanguagesManager extends Piwik_Plugin $language = self::getLanguageCodeForCurrentUser(); } if (!Piwik_LanguagesManager_API::getInstance()->isLanguageAvailable($language)) { - $language = Piwik_Translate::getInstance()->getLanguageDefault(); + $language = Translate::getInstance()->getLanguageDefault(); } } @@ -131,7 +133,7 @@ class Piwik_LanguagesManager extends Piwik_Plugin $languageCode = Common::extractLanguageCodeFromBrowserLanguage(Common::getBrowserLanguage(), Piwik_LanguagesManager_API::getInstance()->getAvailableLanguages()); } if (!Piwik_LanguagesManager_API::getInstance()->isLanguageAvailable($languageCode)) { - $languageCode = Piwik_Translate::getInstance()->getLanguageDefault(); + $languageCode = Translate::getInstance()->getLanguageDefault(); } return $languageCode; } diff --git a/plugins/Live/API.php b/plugins/Live/API.php index a9fd58a6f66e65da20c3b5a3ae2998292b2806e7..8a739a0b170dfb79749930dae23ad8723cf8b8cb 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -9,10 +9,15 @@ * @package Piwik_Live */ use Piwik\Config; +use Piwik\DataAccess\LogAggregator; +use Piwik\DataTable\Filter\ColumnDelete; +use Piwik\DataTable\Row; use Piwik\Period; -use Piwik\Period_Range; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\DataTable; use Piwik\Segment; use Piwik\Site; @@ -82,7 +87,7 @@ class Piwik_Live_API $bind = array( $idSite, - Piwik_Date::factory(time() - $lastMinutes * 60)->toString('Y-m-d H:i:s') + Date::factory(time() - $lastMinutes * 60)->toString('Y-m-d H:i:s') ); $segment = new Segment($segment, $idSite); @@ -110,7 +115,7 @@ class Piwik_Live_API * @param int $filter_limit * @param bool $flat Whether to flatten the visitor details array * - * @return Piwik_DataTable + * @return DataTable */ public function getLastVisitsForVisitor($visitorId, $idSite, $filter_limit = 10, $flat = false) { @@ -133,7 +138,7 @@ class Piwik_Live_API * @param bool|int $minTimestamp (optional) Minimum timestamp to restrict the query to (useful when paginating or refreshing visits) * @param bool $flat * @param bool $doNotFetchActions - * @return Piwik_DataTable + * @return DataTable */ public function getLastVisitsDetails($idSite, $period, $date, $segment = false, $filter_limit = false, $filter_offset = false, $minTimestamp = false, $flat = false, $doNotFetchActions = false) { @@ -162,13 +167,13 @@ class Piwik_Live_API * @param bool $flat whether to flatten the array (eg. 'customVariables' names/values will appear in the root array rather than in 'customVariables' key * @param bool $doNotFetchActions If set to true, we only fetch visit info and not actions (much faster) * - * @return Piwik_DataTable + * @return DataTable */ private function getCleanedVisitorsFromDetails($visitorDetails, $idSite, $flat = false, $doNotFetchActions = false) { $actionsLimit = (int)Config::getInstance()->General['visitor_log_maximum_actions_per_visit']; - $table = new Piwik_DataTable(); + $table = new DataTable(); $site = new Site($idSite); $timezone = $site->getTimezone(); @@ -181,11 +186,11 @@ class Piwik_Live_API $visitorDetailsArray['siteCurrency'] = $site->getCurrency(); $visitorDetailsArray['siteCurrencySymbol'] = @$currencies[$site->getCurrency()]; $visitorDetailsArray['serverTimestamp'] = $visitorDetailsArray['lastActionTimestamp']; - $dateTimeVisit = Piwik_Date::factory($visitorDetailsArray['lastActionTimestamp'], $timezone); + $dateTimeVisit = Date::factory($visitorDetailsArray['lastActionTimestamp'], $timezone); $visitorDetailsArray['serverTimePretty'] = $dateTimeVisit->getLocalized('%time%'); $visitorDetailsArray['serverDatePretty'] = $dateTimeVisit->getLocalized(Piwik_Translate('CoreHome_ShortDateFormat')); - $dateTimeVisitFirstAction = Piwik_Date::factory($visitorDetailsArray['firstActionTimestamp'], $timezone); + $dateTimeVisitFirstAction = Date::factory($visitorDetailsArray['firstActionTimestamp'], $timezone); $visitorDetailsArray['serverDatePrettyFirstAction'] = $dateTimeVisitFirstAction->getLocalized(Piwik_Translate('CoreHome_ShortDateFormat')); $visitorDetailsArray['serverTimePrettyFirstAction'] = $dateTimeVisitFirstAction->getLocalized('%time%'); @@ -197,7 +202,7 @@ class Piwik_Live_API if($flat) { $visitorDetailsArray = $this->flattenVisitorDetailsArray($visitorDetailsArray); } - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => $visitorDetailsArray)); + $table->addRowFromArray(array(Row::COLUMNS => $visitorDetailsArray)); } return $table; } @@ -240,7 +245,7 @@ class Piwik_Live_API if (!empty($action['customVariables'])) { foreach ($action['customVariables'] as $thisCustomVar) { foreach ($thisCustomVar as $cvKey => $cvValue) { - $flattenedKeyName = $cvKey . Piwik_DataTable_Filter_ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; + $flattenedKeyName = $cvKey . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; $visitorDetailsArray[$flattenedKeyName] = $cvValue; $count++; } @@ -252,7 +257,7 @@ class Piwik_Live_API $count = 1; foreach($visitorDetailsArray['actionDetails'] as $action) { if(!empty($action['goalId'])) { - $flattenedKeyName = 'visitConvertedGoalId' . Piwik_DataTable_Filter_ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; + $flattenedKeyName = 'visitConvertedGoalId' . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; $visitorDetailsArray[$flattenedKeyName] = $action['goalId']; $count++; } @@ -262,17 +267,17 @@ class Piwik_Live_API $count = 1; foreach($visitorDetailsArray['actionDetails'] as $action) { if(!empty($action['url'])) { - $flattenedKeyName = 'pageUrl' . Piwik_DataTable_Filter_ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; + $flattenedKeyName = 'pageUrl' . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; $visitorDetailsArray[$flattenedKeyName] = $action['url']; } if(!empty($action['pageTitle'])) { - $flattenedKeyName = 'pageTitle' . Piwik_DataTable_Filter_ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; + $flattenedKeyName = 'pageTitle' . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; $visitorDetailsArray[$flattenedKeyName] = $action['pageTitle']; } if(!empty($action['siteSearchKeyword'])) { - $flattenedKeyName = 'siteSearchKeyword' . Piwik_DataTable_Filter_ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; + $flattenedKeyName = 'siteSearchKeyword' . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP . $count; $visitorDetailsArray[$flattenedKeyName] = $action['siteSearchKeyword']; } $count++; @@ -354,15 +359,15 @@ class Piwik_Live_API $dateString = $date; if ($period == 'range') { - $processedPeriod = new Period_Range('range', $date); - if ($parsedDate = Period_Range::parseDateRange($date)) { + $processedPeriod = new Range('range', $date); + if ($parsedDate = Range::parseDateRange($date)) { $dateString = $parsedDate[2]; } } else { - $processedDate = Piwik_Date::factory($date); + $processedDate = Date::factory($date); if ($date == 'today' || $date == 'now' - || $processedDate->toString() == Piwik_Date::factory('now', $currentTimezone)->toString() + || $processedDate->toString() == Date::factory('now', $currentTimezone)->toString() ) { $processedDate = $processedDate->subDay(1); } @@ -375,7 +380,7 @@ class Piwik_Live_API if (!in_array($date, array('now', 'today', 'yesterdaySameTime')) && strpos($date, 'last') === false && strpos($date, 'previous') === false - && Piwik_Date::factory($dateString)->toString('Y-m-d') != Piwik_Date::factory('now', $currentTimezone)->toString() + && Date::factory($dateString)->toString('Y-m-d') != Date::factory('now', $currentTimezone)->toString() ) { $dateEnd = $processedPeriod->getDateEnd()->setTimezone($currentTimezone); $where[] = " log_visit.visit_last_action_time <= ?"; @@ -551,11 +556,11 @@ class Piwik_Live_API $sql = "SELECT case idgoal when " . Piwik_Tracker_GoalManager::IDGOAL_CART . " then '" . Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART . "' else '" . Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER . "' end as type, idorder as orderId, - " . Piwik_DataAccess_LogAggregator::getSqlRevenue('revenue') . " as revenue, - " . Piwik_DataAccess_LogAggregator::getSqlRevenue('revenue_subtotal') . " as revenueSubTotal, - " . Piwik_DataAccess_LogAggregator::getSqlRevenue('revenue_tax') . " as revenueTax, - " . Piwik_DataAccess_LogAggregator::getSqlRevenue('revenue_shipping') . " as revenueShipping, - " . Piwik_DataAccess_LogAggregator::getSqlRevenue('revenue_discount') . " as revenueDiscount, + " . LogAggregator::getSqlRevenue('revenue') . " as revenue, + " . LogAggregator::getSqlRevenue('revenue_subtotal') . " as revenueSubTotal, + " . LogAggregator::getSqlRevenue('revenue_tax') . " as revenueTax, + " . LogAggregator::getSqlRevenue('revenue_shipping') . " as revenueShipping, + " . LogAggregator::getSqlRevenue('revenue_discount') . " as revenueDiscount, items as items, log_conversion.server_time as serverTimePretty @@ -592,7 +597,7 @@ class Piwik_Live_API log_action_sku.name as itemSKU, log_action_name.name as itemName, log_action_category.name as itemCategory, - " . Piwik_DataAccess_LogAggregator::getSqlRevenue('price') . " as price, + " . LogAggregator::getSqlRevenue('price') . " as price, quantity as quantity FROM " . Common::prefixTable('log_conversion_item') . " INNER JOIN " . Common::prefixTable('log_action') . " AS log_action_sku @@ -652,7 +657,7 @@ class Piwik_Live_API break; } // Convert datetimes to the site timezone - $dateTimeVisit = Piwik_Date::factory($details['serverTimePretty'], $timezone); + $dateTimeVisit = Date::factory($details['serverTimePretty'], $timezone); $details['serverTimePretty'] = $dateTimeVisit->getLocalized(Piwik_Translate('CoreHome_ShortDateFormat') . ' %time%'); } diff --git a/plugins/Live/Controller.php b/plugins/Live/Controller.php index bad3a1bcbf48fe77936e912223efb6d644c42e41..69c94fdf87dd1537bfbb47ff089a5830eb782a52 100644 --- a/plugins/Live/Controller.php +++ b/plugins/Live/Controller.php @@ -8,8 +8,9 @@ * @category Piwik_Plugins * @package Piwik_Live */ -use Piwik\Piwik; use Piwik\Common; +use Piwik\Piwik; +use Piwik\Config; /** * @package Piwik_Live @@ -67,7 +68,7 @@ class Piwik_Live_Controller extends Piwik_Controller return $this->render($view, $fetch); } - private function render($view, $fetch) + private function render(Piwik_View $view, $fetch) { $rendered = $view->render(); if ($fetch) { @@ -102,7 +103,7 @@ class Piwik_Live_Controller extends Piwik_Controller // disable the tag cloud, pie charts, bar chart icons $view->disableShowAllViewsIcons(); - // disable the button "show more datas" + // disable the button "show more data" $view->disableShowAllColumns(); // disable the RSS feed $view->disableShowExportAsRssFeed(); diff --git a/plugins/Live/Live.php b/plugins/Live/Live.php index d4bd5042041fe6e90658ca24b7da72d5a7b71518..ba6bf5b2194d1c5652a5a5de5d1b80877f6776cc 100644 --- a/plugins/Live/Live.php +++ b/plugins/Live/Live.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_Live */ +use Piwik\Plugin; /** * * @package Piwik_Live */ -class Piwik_Live extends Piwik_Plugin +class Piwik_Live extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/Live/Visitor.php b/plugins/Live/Visitor.php index 1c8ec26952c6df27e154215c9683aff2fc5a66bd..df7edf761d5026830ab6ace573b7823af94de5be 100644 --- a/plugins/Live/Visitor.php +++ b/plugins/Live/Visitor.php @@ -343,7 +343,7 @@ class Piwik_Live_Visitor function getKeyword() { $keyword = $this->details['referer_keyword']; - if (PluginsManager::getInstance()->isPluginActivated('Referers') + if (\Piwik\PluginsManager::getInstance()->isPluginActivated('Referers') && $this->getRefererType() == 'search' ) { $keyword = Piwik_Referers_API::getCleanKeyword($keyword); @@ -354,7 +354,7 @@ class Piwik_Live_Visitor function getRefererUrl() { if ($this->getRefererType() == 'search') { - if (PluginsManager::getInstance()->isPluginActivated('Referers') + if (\Piwik\PluginsManager::getInstance()->isPluginActivated('Referers') && $this->details['referer_keyword'] == Piwik_Referers_API::LABEL_KEYWORD_NOT_DEFINED ) { return 'http://piwik.org/faq/general/#faq_144'; @@ -512,7 +512,7 @@ class Piwik_Live_Visitor function getDeviceType() { - if(PluginsManager::getInstance()->isPluginActivated('DevicesDetection')) { + if(\Piwik\PluginsManager::getInstance()->isPluginActivated('DevicesDetection')) { return Piwik_getDeviceTypeLabel($this->details['config_device_type']); } return false; diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php index 013658b41986c0de7ba17b095705e0fa9d5ff822..28aa0e285c4741ae038675409c67d0d5f7cc54bf 100644 --- a/plugins/Login/Controller.php +++ b/plugins/Login/Controller.php @@ -10,6 +10,7 @@ */ use Piwik\Config; use Piwik\Piwik; +use Piwik\Common; require_once PIWIK_INCLUDE_PATH . '/core/Config.php'; @@ -315,7 +316,7 @@ class Piwik_Login_Controller extends Piwik_Controller if (is_null($errorMessage)) // if success, show login w/ success message { - $this->redirectToIndex('Login', 'resetPasswordSuccess'); + return $this->redirectToIndex('Login', 'resetPasswordSuccess'); } else { // show login page w/ error. this will keep the token in the URL return $this->login($errorMessage); @@ -392,7 +393,7 @@ class Piwik_Login_Controller extends Piwik_Controller /** * Generate a password reset token. Expires in (roughly) 24 hours. * - * @param array user information + * @param array $user user information * @param int $timestamp Unix timestamp * @return string generated token */ diff --git a/plugins/Login/Login.php b/plugins/Login/Login.php index a46bf6e3874527d3fdf9844f3f971fd4645348c7..7208328074f47a5b78bd8a8dd82ccd5750cfd76f 100644 --- a/plugins/Login/Login.php +++ b/plugins/Login/Login.php @@ -10,12 +10,13 @@ */ use Piwik\Config; use Piwik\Piwik; +use Piwik\Plugin; /** * * @package Piwik_Login */ -class Piwik_Login extends Piwik_Plugin +class Piwik_Login extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/Login/templates/resetPassword.twig b/plugins/Login/templates/resetPassword.twig index eaa5be0a8d67d75976b9fbcf1fa9dbcd5e4f369a..bd9cf4acccc52e147ad85692df4094fb8125bb65 100755 --- a/plugins/Login/templates/resetPassword.twig +++ b/plugins/Login/templates/resetPassword.twig @@ -1,8 +1,8 @@ -{% if infoMessage is defined %} +{% if infoMessage is defined and infoMessage is not empty %} <p class="message">{{ infoMessage }}</p> {% endif %} {% if formErrors is defined %} - <p id="login_error"> + <p class="message_error"> {% for data in formErrors %} <strong>{{ 'General_Error'|translate }}</strong> : {{ data }} diff --git a/plugins/MobileMessaging/MobileMessaging.php b/plugins/MobileMessaging/MobileMessaging.php index 941d753fa75a4980c3d310d77967098745e6fe00..840ae48abc7cfddacbf74942a7cead8817dad2c3 100644 --- a/plugins/MobileMessaging/MobileMessaging.php +++ b/plugins/MobileMessaging/MobileMessaging.php @@ -9,12 +9,13 @@ * @package Piwik_MobileMessaging */ use Piwik\Piwik; +use Piwik\Plugin; /** * * @package Piwik_MobileMessaging */ -class Piwik_MobileMessaging extends Piwik_Plugin +class Piwik_MobileMessaging extends Plugin { const DELEGATED_MANAGEMENT_OPTION = 'MobileMessaging_DelegatedManagement'; const PROVIDER_OPTION = 'Provider'; @@ -158,7 +159,7 @@ class Piwik_MobileMessaging extends Piwik_Plugin public function getRendererInstance(&$reportRenderer, $info) { if (self::manageEvent($info)) { - if (PluginsManager::getInstance()->isPluginActivated('MultiSites')) { + if (\Piwik\PluginsManager::getInstance()->isPluginActivated('MultiSites')) { $reportRenderer = new Piwik_MobileMessaging_ReportRenderer_Sms(); } else { $reportRenderer = new Piwik_MobileMessaging_ReportRenderer_Exception( diff --git a/plugins/MobileMessaging/SMSProvider.php b/plugins/MobileMessaging/SMSProvider.php index 6abc527dcba5b220d411905358b847b202245598..402c135b48f1f858c555556edc038dc8c9e46d92 100644 --- a/plugins/MobileMessaging/SMSProvider.php +++ b/plugins/MobileMessaging/SMSProvider.php @@ -8,6 +8,7 @@ * @category Piwik_Plugins * @package Piwik_MobileMessaging */ +use Piwik\Loader; /** * The Piwik_MobileMessaging_SMSProvider abstract class is used as a base class for SMS provider implementations. @@ -49,7 +50,7 @@ abstract class Piwik_MobileMessaging_SMSProvider $className = 'Piwik_MobileMessaging_SMSProvider_' . $providerName; try { - Piwik_Loader::loadClass($className); + Loader::loadClass($className); return new $className; } catch (Exception $e) { throw new Exception( diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php index 0c754060048fa980ebfb6b2c24aa249c821403ef..2906edc98106914b96e9a029ab76a548e0903a9a 100755 --- a/plugins/MultiSites/API.php +++ b/plugins/MultiSites/API.php @@ -9,9 +9,11 @@ * @package Piwik_MultiSites */ use Piwik\Archive; -use Piwik\Period_Range; +use Piwik\DataTable\Filter\CalculateEvolutionFilter; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; use Piwik\Site; /** @@ -95,7 +97,7 @@ class Piwik_MultiSites_API * Only used when a scheduled task is running * @param bool|string $enhanced When true, return additional goal & ecommerce metrics * @param bool|string $pattern If specified, only the website which names (or site ID) match the pattern will be returned using SitesManager.getPatternMatchSites - * @return Piwik_DataTable + * @return DataTable */ public function getAll($period, $date, $segment = false, $_restrictSitesToLogin = false, $enhanced = false, $pattern = false) { @@ -104,7 +106,7 @@ class Piwik_MultiSites_API $idSites = $this->getSitesIdFromPattern($pattern); if(empty($idSites)) { - return new Piwik_DataTable(); + return new DataTable(); } return $this->buildDataTable( $idSites, @@ -154,7 +156,7 @@ class Piwik_MultiSites_API * @param bool|string $_restrictSitesToLogin Hack used to enforce we restrict the returned data to the specified username * Only used when a scheduled task is running * @param bool|string $enhanced When true, return additional goal & ecommerce metrics - * @return Piwik_DataTable + * @return DataTable */ public function getOne($idSite, $period, $date, $segment = false, $_restrictSitesToLogin = false, $enhanced = false) { @@ -214,16 +216,16 @@ class Piwik_MultiSites_API } // get the data - // $dataTable instanceOf Piwik_DataTable_Array + // $dataTable instanceOf Set $dataTable = $archive->getDataTableFromNumeric($fieldsToGet); // get rid of the DataTable_Array that is created by the IndexedBySite archive type - if ($dataTable instanceof Piwik_DataTable_Array + if ($dataTable instanceof DataTable\Map && $multipleWebsitesRequested ) { $dataTable = $dataTable->mergeChildren(); } else { - if (!($dataTable instanceof Piwik_DataTable_Array) + if (!($dataTable instanceof DataTable\Map) && $dataTable->getRowsCount() > 0 ) { $firstSite = is_array($sites) ? reset($sites) : $sites; @@ -238,18 +240,18 @@ class Piwik_MultiSites_API // if the period isn't a range & a lastN/previousN date isn't used, we get the same // data for the last period to show the evolution of visits/actions/revenue - list($strLastDate, $lastPeriod) = Period_Range::getLastDate($date, $period); + list($strLastDate, $lastPeriod) = Range::getLastDate($date, $period); if ($strLastDate !== false) { if ($lastPeriod !== false) { // NOTE: no easy way to set last period date metadata when range of dates is requested. // will be easier if DataTable_Array::metadata is removed, and metadata that is - // put there is put directly in Piwik_DataTable::metadata. + // put there is put directly in DataTable::metadata. $dataTable->setMetadata(self::getLastPeriodMetadataName('date'), $lastPeriod); } $pastArchive = Archive::build($sites, $period, $strLastDate, $segment, $_restrictSitesToLogin); $pastData = $pastArchive->getDataTableFromNumeric($fieldsToGet); - if ($pastData instanceof Piwik_DataTable_Array + if ($pastData instanceof DataTable\Map && $multipleWebsitesRequested ) { $pastData = $pastData->mergeChildren(); @@ -264,7 +266,7 @@ class Piwik_MultiSites_API // remove eCommerce related metrics on non eCommerce Piwik sites // note: this is not optimal in terms of performance: those metrics should not be retrieved in the first place if ($enhanced) { - // $dataTableRows instanceOf Piwik_DataTable_Row[] + // $dataTableRows instanceOf Row[] $dataTableRows = $dataTable->getRows(); foreach ($dataTableRows as $dataTableRow) { @@ -283,8 +285,7 @@ class Piwik_MultiSites_API // set the label of each row to the site name if ($multipleWebsitesRequested) { - $getNameFor = array('Site', 'getNameFor'); - $dataTable->filter('ColumnCallbackReplace', array('label', $getNameFor)); + $dataTable->filter('ColumnCallbackReplace', array('label', '\Piwik\Site::getNameFor')); } else { $dataTable->filter('ColumnDelete', array('label')); } @@ -317,8 +318,8 @@ class Piwik_MultiSites_API * Performs a binary filter of two * DataTables in order to correctly calculate evolution metrics. * - * @param Piwik_DataTable|Piwik_DataTable_Array $currentData - * @param Piwik_DataTable|Piwik_DataTable_Array $pastData + * @param DataTable|DataTable\Map $currentData + * @param DataTable|DataTable\Map $pastData * @param array $apiMetrics The array of string fields to calculate evolution * metrics for. * @throws Exception @@ -330,7 +331,7 @@ class Piwik_MultiSites_API . get_class($pastData)."."); } - if ($currentData instanceof Piwik_DataTable_Array) { + if ($currentData instanceof DataTable\Map) { $pastArray = $pastData->getArray(); foreach ($currentData->getArray() as $subTable) { $this->calculateEvolutionPercentages($subTable, current($pastArray), $apiMetrics); @@ -354,13 +355,13 @@ class Piwik_MultiSites_API * Sets the total visits, actions & revenue for a DataTable returned by * $this->buildDataTable. * - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable * @param array $apiMetrics Metrics info. * @return array Array of three values: total visits, total actions, total revenue */ private function setMetricsTotalsMetadata($dataTable, $apiMetrics) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { foreach ($dataTable->getArray() as $table) { $this->setMetricsTotalsMetadata($table, $apiMetrics); } @@ -393,13 +394,13 @@ class Piwik_MultiSites_API * Sets the total evolution metadata for a datatable returned by $this->buildDataTable * given data for the last period. * - * @param Piwik_DataTable $dataTable - * @param Piwik_DataTable $pastData + * @param DataTable $dataTable + * @param DataTable $pastData * @param array $apiMetrics Metrics info. */ private function setPastDataMetadata($dataTable, $pastData, $apiMetrics) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { $pastArray = $pastData->getArray(); foreach ($dataTable->getArray() as $subTable) { $this->setPastDataMetadata($subTable, current($pastArray), $apiMetrics); @@ -422,7 +423,7 @@ class Piwik_MultiSites_API // calculate & set evolution $currentTotal = $dataTable->getMetadata($totalMetadataName); - $evolution = Piwik_DataTable_Filter_CalculateEvolutionFilter::calculate($currentTotal, $pastTotal); + $evolution = CalculateEvolutionFilter::calculate($currentTotal, $pastTotal); $dataTable->setMetadata($totalEvolutionMetadataName, $evolution); } } diff --git a/plugins/MultiSites/Controller.php b/plugins/MultiSites/Controller.php index 992cfa6be064650a8ab023287bb8d29d286a5455..4986ba1abc65b156d79a5917076c7cb6efaf11a3 100644 --- a/plugins/MultiSites/Controller.php +++ b/plugins/MultiSites/Controller.php @@ -12,6 +12,7 @@ use Piwik\Period; use Piwik\Piwik; use Piwik\Common; use Piwik\Config; +use Piwik\Date; use Piwik\Site; /** @@ -153,8 +154,8 @@ class Piwik_MultiSites_Controller extends Piwik_Controller // if the current date is today, or yesterday, // in case the website is set to UTC-12), or today in UTC+14, we refresh the page every 5min if (in_array($date, array('today', date('Y-m-d'), - 'yesterday', Piwik_Date::factory('yesterday')->toString('Y-m-d'), - Piwik_Date::factory('now', 'UTC+14')->toString('Y-m-d'))) + 'yesterday', Date::factory('yesterday')->toString('Y-m-d'), + Date::factory('now', 'UTC+14')->toString('Y-m-d'))) ) { $view->autoRefreshTodayReport = Config::getInstance()->General['multisites_refresh_after_seconds']; @@ -171,32 +172,32 @@ class Piwik_MultiSites_Controller extends Piwik_Controller * The Multisites reports displays the first calendar date as the earliest day available for all websites. * Also, today is the later "today" available across all timezones. * @param array $siteIds Array of IDs for each site being displayed. - * @return array of two Piwik_Date instances. First is the min-date & the second + * @return array of two Date instances. First is the min-date & the second * is the max date. */ private function getMinMaxDateAcrossWebsites($siteIds) { - $now = Piwik_Date::now(); + $now = Date::now(); $minDate = null; $maxDate = $now->subDay(1)->getTimestamp(); foreach ($siteIds as $idsite) { // look for 'now' in the website's timezone $timezone = Site::getTimezoneFor($idsite); - $date = Piwik_Date::adjustForTimezone($now->getTimestamp(), $timezone); + $date = Date::adjustForTimezone($now->getTimestamp(), $timezone); if ($date > $maxDate) { $maxDate = $date; } // look for the absolute minimum date $creationDate = Site::getCreationDateFor($idsite); - $date = Piwik_Date::adjustForTimezone(strtotime($creationDate), $timezone); + $date = Date::adjustForTimezone(strtotime($creationDate), $timezone); if (is_null($minDate) || $date < $minDate) { $minDate = $date; } } - return array(Piwik_Date::factory($minDate), Piwik_Date::factory($maxDate)); + return array(Date::factory($minDate), Date::factory($maxDate)); } protected function applyPrettyMoney(&$sites) diff --git a/plugins/MultiSites/MultiSites.php b/plugins/MultiSites/MultiSites.php index a8ccc1ffcf8119cdc42d9161fbadd3b13901a245..96f14fabce37e87cc279aea07881ab753e10e606 100644 --- a/plugins/MultiSites/MultiSites.php +++ b/plugins/MultiSites/MultiSites.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_MultiSites */ +use Piwik\Plugin; /** * * @package Piwik_MultiSites */ -class Piwik_MultiSites extends Piwik_Plugin +class Piwik_MultiSites extends Plugin { public function getInformation() { diff --git a/plugins/Overlay/API.php b/plugins/Overlay/API.php index 9db64023c8c1ec8140fbed80240797140d1d8918..26cf98a5c5706c4eafa7dbbae5f3a46243df44bc 100644 --- a/plugins/Overlay/API.php +++ b/plugins/Overlay/API.php @@ -2,6 +2,7 @@ use Piwik\Config; use Piwik\Piwik; use Piwik\Access; +use Piwik\DataTable; /** * Piwik - Open source web analytics @@ -81,7 +82,7 @@ class Piwik_Overlay_API $url = Piwik_Tracker_Action::excludeQueryParametersFromUrl($url, $idSite); // we don't unsanitize $url here. it will be done in the Transitions plugin. - $resultDataTable = new Piwik_DataTable; + $resultDataTable = new DataTable; try { $limitBeforeGrouping = Config::getInstance()->General['overlay_following_pages_limit']; diff --git a/plugins/Overlay/Controller.php b/plugins/Overlay/Controller.php index 6f7c00caf932d0476c1f89bc43c5eb872147df1b..d3bd8ab3b09a96343e50d55038cd1577a74ccf68 100644 --- a/plugins/Overlay/Controller.php +++ b/plugins/Overlay/Controller.php @@ -1,6 +1,7 @@ <?php use Piwik\Metrics; use Piwik\Piwik; +use Piwik\Config; use Piwik\Common; /** @@ -22,7 +23,7 @@ class Piwik_Overlay_Controller extends Piwik_Controller Piwik::checkUserHasViewAccess($this->idSite); $template = '@Overlay/index'; - if (Piwik_Config::getInstance()->General['overlay_disable_framed_mode']) { + if (Config::getInstance()->General['overlay_disable_framed_mode']) { $template = '@Overlay/index_noframe'; } diff --git a/plugins/Overlay/Overlay.php b/plugins/Overlay/Overlay.php index 5c6d072be5ab092a7594686cb18ca30465a0724f..72a08d5046e5c67373f43a1ac532ddcfb86fbf10 100644 --- a/plugins/Overlay/Overlay.php +++ b/plugins/Overlay/Overlay.php @@ -9,7 +9,9 @@ * @package Piwik_Overlay */ -class Piwik_Overlay extends Piwik_Plugin +use Piwik\Plugin; + +class Piwik_Overlay extends Plugin { public function getInformation() { diff --git a/plugins/PDFReports/API.php b/plugins/PDFReports/API.php index c3eea2e13d9c5e45212722d9d32c713573455771..4826fe8c8043d69d713a9e15d8dc2dc380167d7e 100644 --- a/plugins/PDFReports/API.php +++ b/plugins/PDFReports/API.php @@ -10,7 +10,9 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; use Piwik\Site; +use Piwik\Translate; /** * The PDFReports API lets you manage Scheduled Email reports, as well as generate, download or email any existing report. @@ -119,7 +121,7 @@ class Piwik_PDFReports_API 'format' => $reportFormat, 'parameters' => $parameters, 'reports' => $reports, - 'ts_created' => Piwik_Date::now()->getDatetime(), + 'ts_created' => Date::now()->getDatetime(), 'deleted' => 0, )); @@ -294,10 +296,10 @@ class Piwik_PDFReports_API // load specified language if (empty($language)) { - $language = Piwik_Translate::getInstance()->getLanguageDefault(); + $language = Translate::getInstance()->getLanguageDefault(); } - Piwik_Translate::getInstance()->reloadLanguage($language); + Translate::getInstance()->reloadLanguage($language); $reports = $this->getReports($idSite = false, $_period = false, $idReport); $report = reset($reports); @@ -496,7 +498,7 @@ class Piwik_PDFReports_API } if (empty($date)) { - $date = Piwik_Date::now()->subPeriod(1, $report['period'])->toString(); + $date = Date::now()->subPeriod(1, $report['period'])->toString(); } $language = Piwik_LanguagesManager_API::getInstance()->getLanguageForUser($report['login']); @@ -538,7 +540,7 @@ class Piwik_PDFReports_API // Update flag in DB Zend_Registry::get('db')->update(Common::prefixTable('report'), - array('ts_last_sent' => Piwik_Date::now()->getDatetime()), + array('ts_last_sent' => Date::now()->getDatetime()), "idreport = " . $report['idreport'] ); @@ -798,6 +800,6 @@ class Piwik_PDFReports_API */ public static function isSegmentEditorActivated() { - return PluginsManager::getInstance()->isPluginActivated('SegmentEditor'); + return \Piwik\PluginsManager::getInstance()->isPluginActivated('SegmentEditor'); } } diff --git a/plugins/PDFReports/PDFReports.php b/plugins/PDFReports/PDFReports.php index 5d93ed38cbd2a8412b97d0e5e02c35a563e4c5d1..69ddb3d498b87c0ba5eec5895e48c7517a09dbf8 100644 --- a/plugins/PDFReports/PDFReports.php +++ b/plugins/PDFReports/PDFReports.php @@ -10,13 +10,16 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Config; +use Piwik\Date; +use Piwik\Plugin; use Piwik\Site; /** * * @package Piwik_PDFReports */ -class Piwik_PDFReports extends Piwik_Plugin +class Piwik_PDFReports extends Plugin { const MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY = 'MobileMessaging_TopMenu'; const PDF_REPORTS_TOP_MENU_TRANSLATION_KEY = 'PDFReports_EmailReports'; @@ -204,7 +207,7 @@ class Piwik_PDFReports extends Piwik_Plugin : $displayFormat != self::DISPLAY_FORMAT_TABLES_ONLY) && Piwik::isGdExtensionEnabled() - && PluginsManager::getInstance()->isPluginActivated('ImageGraph') + && \Piwik\PluginsManager::getInstance()->isPluginActivated('ImageGraph') && !empty($metadata['imageGraphUrl']); $processedReport['evolutionGraph'] = $evolutionGraph; @@ -409,13 +412,13 @@ class Piwik_PDFReports extends Piwik_Plugin public function getScheduledTasks(&$tasks) { - $arbitraryDateInUTC = Piwik_Date::factory('2011-01-01'); + $arbitraryDateInUTC = Date::factory('2011-01-01'); foreach (Piwik_PDFReports_API::getInstance()->getReports() as $report) { if (!$report['deleted'] && $report['period'] != Piwik_ScheduledTime::PERIOD_NEVER) { $midnightInSiteTimezone = date( 'H', - Piwik_Date::factory( + Date::factory( $arbitraryDateInUTC, Site::getTimezoneFor($report['idsite']) )->getTimestamp() @@ -461,7 +464,7 @@ class Piwik_PDFReports extends Piwik_Plugin 13, $isHTML = false, $tooltip = Piwik_Translate( - PluginsManager::getInstance()->isPluginActivated('MobileMessaging') + \Piwik\PluginsManager::getInstance()->isPluginActivated('MobileMessaging') ? 'MobileMessaging_TopLinkTooltip' : 'PDFReports_TopLinkTooltip' ) ); @@ -470,7 +473,7 @@ class Piwik_PDFReports extends Piwik_Plugin function getTopMenuTranslationKey() { // if MobileMessaging is not activated, display 'Email reports' - if (!PluginsManager::getInstance()->isPluginActivated('MobileMessaging')) + if (!\Piwik\PluginsManager::getInstance()->isPluginActivated('MobileMessaging')) return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY; if (Piwik::isUserIsAnonymous()) { diff --git a/plugins/PleineLune/PleineLune.php b/plugins/PleineLune/PleineLune.php index 133cbbfea26aa496aa767eaf49f20ead222fee79..12b581bdc192ded7157a5533a21331e8c20765bf 100644 --- a/plugins/PleineLune/PleineLune.php +++ b/plugins/PleineLune/PleineLune.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_PleineLune */ +use Piwik\Plugin; /** * * @package Piwik_PleineLune */ -class Piwik_PleineLune extends Piwik_Plugin +class Piwik_PleineLune extends Plugin { public function getListHooksRegistered() { diff --git a/plugins/PrivacyManager/Controller.php b/plugins/PrivacyManager/Controller.php index a6770ae74a09f43585d3cbd93839e5a72e7e060c..a3af0246be7d8dc75d0d9dbe408f270a0108407a 100644 --- a/plugins/PrivacyManager/Controller.php +++ b/plugins/PrivacyManager/Controller.php @@ -11,6 +11,7 @@ use Piwik\Config; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; /** * @@ -105,7 +106,7 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin */ public static function isDntSupported() { - return PluginsManager::getInstance()->isPluginActivated('DoNotTrack'); + return \Piwik\PluginsManager::getInstance()->isPluginActivated('DoNotTrack'); } public function privacySettings() @@ -214,12 +215,12 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin Piwik::checkUserIsSuperUser(); $anonymizeIP = array(); - PluginsManager::getInstance()->loadPlugin(self::ANONYMIZE_IP_PLUGIN_NAME); + \Piwik\PluginsManager::getInstance()->loadPlugin(self::ANONYMIZE_IP_PLUGIN_NAME); $anonymizeIP["name"] = self::ANONYMIZE_IP_PLUGIN_NAME; - $anonymizeIP["enabled"] = PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME); + $anonymizeIP["enabled"] = \Piwik\PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME); $anonymizeIP["maskLength"] = Config::getInstance()->Tracker['ip_address_mask_length']; - $anonymizeIP["info"] = PluginsManager::getInstance()->getLoadedPlugin(self::ANONYMIZE_IP_PLUGIN_NAME)->getInformation(); + $anonymizeIP["info"] = \Piwik\PluginsManager::getInstance()->getLoadedPlugin(self::ANONYMIZE_IP_PLUGIN_NAME)->getInformation(); return $anonymizeIP; } @@ -241,7 +242,7 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin if (!empty($scheduleTimetable) && ($scheduleTimetable - time() > 0)) { $nextPossibleSchedule = (int)$scheduleTimetable; } else { - $date = Piwik_Date::factory("today"); + $date = Date::factory("today"); $nextPossibleSchedule = $date->addDay(1)->getTimestamp(); } @@ -250,11 +251,11 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin $deleteDataInfos["lastRun"] = false; //next run ASAP (with next schedule run) - $date = Piwik_Date::factory("today"); + $date = Date::factory("today"); $deleteDataInfos["nextScheduleTime"] = $nextPossibleSchedule; } else { $deleteDataInfos["lastRun"] = $optionTable; - $deleteDataInfos["lastRunPretty"] = Piwik_Date::factory((int)$optionTable)->getLocalized('%day% %shortMonth% %longYear%'); + $deleteDataInfos["lastRunPretty"] = Date::factory((int)$optionTable)->getLocalized('%day% %shortMonth% %longYear%'); //Calculate next run based on last run + interval $nextScheduleRun = (int)($deleteDataInfos["lastRun"] + $deleteDataInfos["config"]["delete_logs_schedule_lowest_interval"] * 24 * 60 * 60); @@ -276,9 +277,9 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin { $pluginController = new Piwik_CorePluginsAdmin_Controller(); - if ($state == 1 && !PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) { + if ($state == 1 && !\Piwik\PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) { $pluginController->activate($redirectAfter = false); - } elseif ($state == 0 && PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) { + } elseif ($state == 0 && \Piwik\PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME)) { $pluginController->deactivate($redirectAfter = false); } else { //nothing to do diff --git a/plugins/PrivacyManager/LogDataPurger.php b/plugins/PrivacyManager/LogDataPurger.php index ac899a6ce4d6a8a6a6f46ded2369f586ac1a2292..6d7a06b951e3d6df5773417c583593f04408d33f 100755 --- a/plugins/PrivacyManager/LogDataPurger.php +++ b/plugins/PrivacyManager/LogDataPurger.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; /** * Purges the log_visit, log_conversion and related tables of old visit data. @@ -155,7 +156,7 @@ class Piwik_PrivacyManager_LogDataPurger } // select highest idvisit to delete from - $dateStart = Piwik_Date::factory("today")->subDay($this->deleteLogsOlderThan); + $dateStart = Date::factory("today")->subDay($this->deleteLogsOlderThan); $sql = "SELECT idvisit FROM $logVisit WHERE '" . $dateStart->toString('Y-m-d H:i:s') . "' > visit_last_action_time diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php index dcbc12814de2fd21cdb1147bb40c0ccc490614af..710232001b1b8e93548ab3195d176ab4b06761c7 100644 --- a/plugins/PrivacyManager/PrivacyManager.php +++ b/plugins/PrivacyManager/PrivacyManager.php @@ -12,6 +12,8 @@ use Piwik\Config; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\Plugin; /** * @see plugins/PrivacyManager/LogDataPurger.php @@ -27,7 +29,7 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/PrivacyManager/ReportsPurger.php'; * * @package Piwik_PrivacyManager */ -class Piwik_PrivacyManager extends Piwik_Plugin +class Piwik_PrivacyManager extends Plugin { const OPTION_LAST_DELETE_PIWIK_LOGS = "lastDelete_piwik_logs"; const OPTION_LAST_DELETE_PIWIK_REPORTS = 'lastDelete_piwik_reports'; @@ -146,7 +148,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin */ public static function savePurgeDataSettings($settings) { - $plugin = PluginsManager::getInstance()->getLoadedPlugin('PrivacyManager'); + $plugin = \Piwik\PluginsManager::getInstance()->getLoadedPlugin('PrivacyManager'); foreach (self::$defaultPurgeDataOptions as $optionName => $defaultValue) { if (isset($settings[$optionName])) { @@ -189,7 +191,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin } // set last run time - Piwik_SetOption(self::OPTION_LAST_DELETE_PIWIK_REPORTS, Piwik_Date::factory('today')->getTimestamp()); + Piwik_SetOption(self::OPTION_LAST_DELETE_PIWIK_REPORTS, Date::factory('today')->getTimestamp()); Piwik_PrivacyManager_ReportsPurger::make($settings, self::getAllMetricsToKeep())->purgeData(); } @@ -226,7 +228,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin * If deletion / table optimization exceeds execution time, other tasks maybe prevented of being executed * every time, when the schedule is triggered. */ - $lastDeleteDate = Piwik_Date::factory("today")->getTimestamp(); + $lastDeleteDate = Date::factory("today")->getTimestamp(); Piwik_SetOption(self::OPTION_LAST_DELETE_PIWIK_LOGS, $lastDeleteDate); // execute the purge @@ -274,7 +276,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin * * @param int $reportDateYear The year of the report in question. * @param int $reportDateMonth The month of the report in question. - * @param int|Piwik_Date $reportsOlderThan If an int, the number of months a report must be older than + * @param int|Date $reportsOlderThan If an int, the number of months a report must be older than * in order to be purged. If a date, the date a report must be * older than in order to be purged. * @return bool @@ -293,8 +295,8 @@ class Piwik_PrivacyManager extends Piwik_Plugin } // if a integer was supplied, assume it is the number of months a report must be older than - if (!($reportsOlderThan instanceof Piwik_Date)) { - $reportsOlderThan = Piwik_Date::factory('today')->subMonth(1 + $reportsOlderThan); + if (!($reportsOlderThan instanceof Date)) { + $reportsOlderThan = Date::factory('today')->subMonth(1 + $reportsOlderThan); } return Piwik_PrivacyManager_ReportsPurger::shouldReportBePurged( diff --git a/plugins/PrivacyManager/ReportsPurger.php b/plugins/PrivacyManager/ReportsPurger.php index db4e5cafe3073c95527e6ab0362c1a83c3211e87..a8ed8c3bfa3aee3e0baf09e84253ed24631820c0 100755 --- a/plugins/PrivacyManager/ReportsPurger.php +++ b/plugins/PrivacyManager/ReportsPurger.php @@ -8,7 +8,9 @@ * @category Piwik_Plugins * @package Piwik_PrivacyManager */ +use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Piwik; +use Piwik\Date; /** * Purges archived reports and metrics that are considered old. @@ -203,21 +205,21 @@ class Piwik_PrivacyManager_ReportsPurger // get month for which reports as old or older than, should be deleted // reports whose creation date <= this month will be deleted // (NOTE: we ignore how far we are in the current month) - $toRemoveDate = Piwik_Date::factory('today')->subMonth(1 + $this->deleteReportsOlderThan); + $toRemoveDate = Date::factory('today')->subMonth(1 + $this->deleteReportsOlderThan); // find all archive tables that are older than N months $oldNumericTables = array(); $oldBlobTables = array(); foreach (Piwik::getTablesInstalled() as $table) { - $type = Piwik_DataAccess_ArchiveTableCreator::getTypeFromTableName($table); + $type = ArchiveTableCreator::getTypeFromTableName($table); if($type === false) { continue; } - $date = Piwik_DataAccess_ArchiveTableCreator::getDateFromTableName($table); + $date = ArchiveTableCreator::getDateFromTableName($table); list($year, $month) = explode('_', $date); if (self::shouldReportBePurged($year, $month, $toRemoveDate)) { - if ($type == Piwik_DataAccess_ArchiveTableCreator::NUMERIC_TABLE) { + if ($type == ArchiveTableCreator::NUMERIC_TABLE) { $oldNumericTables[] = $table; } else { $oldBlobTables[] = $table; @@ -233,7 +235,7 @@ class Piwik_PrivacyManager_ReportsPurger * * @param int $reportDateYear The year of the report in question. * @param int $reportDateMonth The month of the report in question. - * @param Piwik_Date $toRemoveDate The date a report must be older than in order to be purged. + * @param Date $toRemoveDate The date a report must be older than in order to be purged. * @return bool */ public static function shouldReportBePurged($reportDateYear, $reportDateMonth, $toRemoveDate) @@ -285,7 +287,7 @@ class Piwik_PrivacyManager_ReportsPurger // if not keeping segments make sure segments w/ kept periods are also deleted if (!$this->keepSegmentReports) { $this->findSegmentArchives($oldNumericTables); - $archiveIds = $this->segmentArchiveIds[Piwik_DataAccess_ArchiveTableCreator::getDateFromTableName($table)]; + $archiveIds = $this->segmentArchiveIds[ArchiveTableCreator::getDateFromTableName($table)]; if (!empty($archiveIds)) { $where .= " OR idarchive IN (" . implode(',', $archiveIds) . ")"; @@ -308,7 +310,7 @@ class Piwik_PrivacyManager_ReportsPurger } foreach ($numericTables as $table) { - $tableDate = Piwik_DataAccess_ArchiveTableCreator::getDateFromTableName($table); + $tableDate = ArchiveTableCreator::getDateFromTableName($table); $maxIdArchive = Piwik_FetchOne("SELECT MAX(idarchive) FROM $table"); diff --git a/plugins/Provider/Archiver.php b/plugins/Provider/Archiver.php index ce782f9342194236399bfa46093578a3b5863bc2..bd9a4fa456aacc7e76c8fd46359d04c225bd45a7 100644 --- a/plugins/Provider/Archiver.php +++ b/plugins/Provider/Archiver.php @@ -9,8 +9,9 @@ * @package Piwik_Provider */ use Piwik\Metrics; +use Piwik\PluginsArchiver; -class Piwik_Provider_Archiver extends Piwik_PluginsArchiver +class Piwik_Provider_Archiver extends PluginsArchiver { const PROVIDER_RECORD_NAME = 'Provider_hostnameExt'; const PROVIDER_FIELD = "location_provider"; diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php index ca7c05ae8d0723bfa74688fe3345475e2eae4289..fe448e7395fd2a957d978e60242341eead0d0ba5 100644 --- a/plugins/Provider/Provider.php +++ b/plugins/Provider/Provider.php @@ -9,12 +9,14 @@ * @package Piwik_Provider */ use Piwik\Common; +use Piwik\Plugin; +use Piwik\ArchiveProcessor; /** * * @package Piwik_Provider */ -class Piwik_Provider extends Piwik_Plugin +class Piwik_Provider extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -192,7 +194,7 @@ class Piwik_Provider extends Piwik_Plugin /** * Daily archive: processes the report Visits by Provider */ - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_Provider_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -200,7 +202,7 @@ class Piwik_Provider extends Piwik_Plugin } } - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_Provider_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/Provider/functions.php b/plugins/Provider/functions.php index a09ec1ab366fe1f2b72978ae7eab074180896833..540060db4b110be61844747e774768bd7ccb4b93 100644 --- a/plugins/Provider/functions.php +++ b/plugins/Provider/functions.php @@ -9,6 +9,7 @@ * @package Piwik_Provider */ use Piwik\Common; +use Piwik\DataTable; /** * Return hostname portion of a domain name @@ -38,7 +39,7 @@ function Piwik_getHostnameName($in) */ function Piwik_getHostnameUrl($in) { - if ($in == Piwik_DataTable::LABEL_SUMMARY_ROW) { + if ($in == DataTable::LABEL_SUMMARY_ROW) { return false; } if (empty($in) diff --git a/plugins/Proxy/Controller.php b/plugins/Proxy/Controller.php index f7f71bb8a8abf717a31cbb4802663dff3bf322d8..9f49505e9708a3f68592259945a5661df1b3b9fd 100644 --- a/plugins/Proxy/Controller.php +++ b/plugins/Proxy/Controller.php @@ -20,73 +20,6 @@ class Piwik_Proxy_Controller extends Piwik_Controller { const TRANSPARENT_PNG_PIXEL = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII='; - /** - * Display the "Export Image" window. - * - * @deprecated 1.5.1 - * - * @internal param string $imageData Base-64 encoded image data (via $_POST) - */ - static public function exportImageWindow() - { - Piwik::checkUserHasSomeViewAccess(); - - $view = new Piwik_View('@Proxy/exportImageWindow'); - $view->imageData = 'data:image/png;base64,' . Common::getRequestVar('imageData', self::TRANSPARENT_PNG_PIXEL, 'string', $_POST); - echo $view->render(); - } - - function exportImage() - { - self::exportImageWindow(); - } - - /** - * Output binary image from base-64 encoded data. - * - * @deprecated 1.5.1 - * - * @internal param string $imageData Base-64 encoded image data (via $_POST) - */ - static public function outputBinaryImage() - { - Piwik::checkUserHasSomeViewAccess(); - - $rawData = Common::getRequestVar('imageData', '', 'string', $_POST); - - // returns false if any illegal characters in input - $data = base64_decode($rawData); - if ($data !== false) { - // check for PNG header - if (Common::substr($data, 0, 8) === "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a") { - header('Content-Type: image/png'); - - // more robust validation (if available) - if (function_exists('imagecreatefromstring')) { - // validate image data - $imgResource = @imagecreatefromstring($data); - if ($imgResource !== false) { - // output image and clean-up - imagepng($imgResource); - imagedestroy($imgResource); - exit; - } - } else { - echo $data; - exit; - } - } - } - - Piwik::setHttpStatus('400 Bad Request'); - exit; - } - - function outputImage() - { - self::outputBinaryImage(); - } - /** * Output the merged CSS file. * This method is called when the asset manager is enabled. diff --git a/plugins/Proxy/Proxy.php b/plugins/Proxy/Proxy.php index c66921541161b4d01eee643e868a84e294404468..fc404bfd2e532f61a8373f73646ef799d18758fd 100644 --- a/plugins/Proxy/Proxy.php +++ b/plugins/Proxy/Proxy.php @@ -8,13 +8,14 @@ * @category Piwik_Plugins * @package Piwik_Proxy */ +use Piwik\Plugin; /** * Proxy services for the UI * * @package Piwik_Proxy */ -class Piwik_Proxy extends Piwik_Plugin +class Piwik_Proxy extends Plugin { /** * Return information about this plugin. diff --git a/plugins/Proxy/templates/exportImageWindow.twig b/plugins/Proxy/templates/exportImageWindow.twig deleted file mode 100644 index 0145a6589f64bc2ff115c5aa51f876e9c936cd51..0000000000000000000000000000000000000000 --- a/plugins/Proxy/templates/exportImageWindow.twig +++ /dev/null @@ -1,12 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta charset="utf-8"> - <title>{{ 'General_ExportAsImage_js'|translate }}</title> -</head> -<body> -<img title="Piwik Graph" src="{{ imageData }}"/><br/><br/> - -<p>{{ 'General_SaveImageOnYourComputer_js'|translate }}</p> -</body> -</html> diff --git a/plugins/Referers/API.php b/plugins/Referers/API.php index 16168b532a239568445eae584aa826791d9e4f62..a8dba84e0dc1392ccb4601cd3cacf8b4fc38bdb2 100644 --- a/plugins/Referers/API.php +++ b/plugins/Referers/API.php @@ -9,9 +9,12 @@ * @package Piwik_Referers */ use Piwik\Archive; +use Piwik\DataTable\Row; use Piwik\Metrics; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; +use Piwik\DataTable; /** * The Referrers API lets you access reports about Websites, Search engines, Keywords, Campaigns used to access your website. @@ -39,11 +42,11 @@ class Piwik_Referers_API * @param string $name * @param int $idSite * @param string $period - * @param Piwik_Date $date + * @param Date $date * @param string $segment * @param bool $expanded * @param int|null $idSubtable - * @return Piwik_DataTable + * @return DataTable */ protected function getDataTable($name, $idSite, $period, $date, $segment, $expanded = false, $idSubtable = null) { @@ -71,7 +74,7 @@ class Piwik_Referers_API * subtable ID. The result when using this parameter will be the * specific report for the given referrer type. * @param bool $expanded Whether to get report w/ subtables loaded or not. - * @return Piwik_DataTable + * @return DataTable */ public function getRefererType($idSite, $period, $date, $segment = false, $typeReferer = false, $idSubtable = false, $expanded = false) @@ -108,7 +111,7 @@ class Piwik_Referers_API // set subtable IDs for each row to the label (which holds the int referrer type) // NOTE: not yet possible to do this w/ DataTable_Array instances - if (!($dataTable instanceof Piwik_DataTable_Array)) { + if (!($dataTable instanceof DataTable\Map)) { $this->setGetReferrerTypeSubtables($dataTable, $idSite, $period, $date, $segment, $expanded); } @@ -125,7 +128,7 @@ class Piwik_Referers_API { $dataTable = $this->getRefererType($idSite, $period, $date, $segment, $typeReferer = false, $idSubtable = false, $expanded = true); - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { throw new Exception("Referrers.getAll with multiple sites or dates is not supported (yet)."); } @@ -190,11 +193,11 @@ class Piwik_Referers_API } /** - * @param Piwik_Datatable $table + * @param DataTable $table */ private function filterOutKeywordNotDefined($table) { - if ($table instanceof Piwik_Datatable) { + if ($table instanceof DataTable) { $row = $table->getRowIdFromLabel(''); if ($row) { $table->deleteRow($row); @@ -212,7 +215,7 @@ class Piwik_Referers_API $table = $response->getResponse($table); // If period=lastX we only keep the first resultset as we want to return a plain list - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { $tables = $table->getArray(); $table = current($tables); } @@ -253,7 +256,7 @@ class Piwik_Referers_API $searchEngines = $this->getSearchEngines($idSite, $period, $date, $segment); $searchEngines->applyQueuedFilters(); - if ($searchEngines instanceof Piwik_DataTable_Array) { + if ($searchEngines instanceof DataTable\Map) { $dataTables = $searchEngines->getArray(); // find first datatable containing data @@ -313,7 +316,7 @@ class Piwik_Referers_API * @param string $date * @param string|bool $segment * @param bool $expanded - * @return Piwik_DataTable + * @return DataTable */ public function getSocials($idSite, $period, $date, $segment = false, $expanded = false) { @@ -346,7 +349,7 @@ class Piwik_Referers_API * is the array index of an item in the /core/DataFiles/Socials.php file. * The urls are filtered by the social network at this index. * If false, no filtering is done and every social URL is returned. - * @return Piwik_DataTable + * @return DataTable */ public function getUrlsForSocial($idSite, $period, $date, $segment = false, $idSubtable = false) { @@ -420,11 +423,11 @@ class Piwik_Referers_API * Removes idsubdatatable_in_db metadata from a DataTable. Used by Social tables since * they use fake subtable IDs. * - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable */ private function removeSubtableMetadata($dataTable) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { foreach ($dataTable->getArray() as $childTable) { $this->removeSubtableMetadata($childTable); } @@ -440,11 +443,11 @@ class Piwik_Referers_API * * The IDs are int indexes into the array in /core/DataFiles/Socials.php. * - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable */ private function setSocialIdSubtables($dataTable) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { foreach ($dataTable->getArray() as $childTable) { $this->setSocialIdSubtables($childTable); } @@ -455,7 +458,7 @@ class Piwik_Referers_API $i = 1; // start at one because idSubtable=0 is equivalent to idSubtable=false foreach ($GLOBALS['Piwik_socialUrl'] as $domain => $name) { if ($name == $socialName) { - $row->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = $i; + $row->c[Row::DATATABLE_ASSOCIATED] = $i; break; } @@ -471,12 +474,12 @@ class Piwik_Referers_API * the grandchildren of the report will be the original report, and it will * recurse when trying to get a flat report). * - * @param Piwik_DataTable $table - * @return Piwik_DataTable Returns $table for convenience. + * @param DataTable $table + * @return DataTable Returns $table for convenience. */ private function removeSubtableIds($table) { - if ($table instanceof Piwik_DataTable_Array) { + if ($table instanceof DataTable\Map) { foreach ($table->getArray() as $childTable) { $this->removeSubtableIds($childTable); } @@ -498,7 +501,7 @@ class Piwik_Referers_API * If we are getting an expanded datatable, the datatable for the row's referrer * type is loaded and attached to the appropriate row in the getRefererType report. * - * @param Piwik_DataTable $dataTable + * @param DataTable $dataTable * @param string $idSite * @param string $period * @param string $date @@ -512,7 +515,7 @@ class Piwik_Referers_API if ($typeReferrer != Common::REFERER_TYPE_DIRECT_ENTRY) { if (!$expanded) // if we don't want the expanded datatable, then don't do any extra queries { - $row->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = $typeReferrer; + $row->c[Row::DATATABLE_ASSOCIATED] = $typeReferrer; } else // otherwise, we have to get the othe datatables { $subtable = $this->getRefererType($idSite, $period, $date, $segment, $type = false, diff --git a/plugins/Referers/Archiver.php b/plugins/Referers/Archiver.php index 7c7b484f024af97feef4475817ea357f738db2ef..dd7a795e9ebebb2360db61bb9eab326788caf82d 100644 --- a/plugins/Referers/Archiver.php +++ b/plugins/Referers/Archiver.php @@ -2,6 +2,7 @@ use Piwik\Common; use Piwik\Config; use Piwik\Metrics; +use Piwik\PluginsArchiver; /** * Piwik - Open source web analytics @@ -13,7 +14,7 @@ use Piwik\Metrics; * @package Piwik_Referers */ -class Piwik_Referers_Archiver extends Piwik_PluginsArchiver +class Piwik_Referers_Archiver extends PluginsArchiver { const SEARCH_ENGINES_RECORD_NAME = 'Referers_keywordBySearchEngine'; const KEYWORDS_RECORD_NAME = 'Referers_searchEngineByKeyword'; diff --git a/plugins/Referers/Controller.php b/plugins/Referers/Controller.php index 06f2c1ca712e1567844548d63766b2c2a056fee0..97d920e175b61944bf1eebc9b4e70bf94e98908f 100644 --- a/plugins/Referers/Controller.php +++ b/plugins/Referers/Controller.php @@ -9,7 +9,7 @@ * @package Piwik_Referers */ use Piwik\Metrics; -use Piwik\Period_Range; +use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; @@ -51,7 +51,7 @@ class Piwik_Referers_Controller extends Piwik_Controller } // calculate evolution for visit metrics & distinct metrics - list($lastPeriodDate, $ignore) = Period_Range::getLastDate(); + list($lastPeriodDate, $ignore) = Range::getLastDate(); if ($lastPeriodDate !== false) { $date = Common::getRequestVar('date'); $period = Common::getRequestVar('period'); diff --git a/plugins/Referers/Referers.php b/plugins/Referers/Referers.php index c96ca7927da48f0995762a8d0543d6f12c5e32e2..449bc0ce416906629add77745b37585d106680b9 100644 --- a/plugins/Referers/Referers.php +++ b/plugins/Referers/Referers.php @@ -8,7 +8,9 @@ * @category Piwik_Plugins * @package Piwik_Referers */ +use Piwik\ArchiveProcessor; use Piwik\Piwik; +use Piwik\Plugin; /** * @see plugins/Referers/functions.php @@ -18,7 +20,7 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/Referers/functions.php'; /** * @package Piwik_Referers */ -class Piwik_Referers extends Piwik_Plugin +class Piwik_Referers extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -267,7 +269,7 @@ class Piwik_Referers extends Piwik_Plugin /** * Hooks on daily archive to trigger various log processing */ - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_Referers_Archiver($archiveProcessor); if ($archiving->shouldArchive()) { @@ -279,7 +281,7 @@ class Piwik_Referers extends Piwik_Plugin * Period archiving: sums up daily stats and sums report tables, * making sure that tables are still truncated. */ - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_Referers_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/SEO/API.php b/plugins/SEO/API.php index b7826f30d564f1d42469cb1f9abf193e2a79e7ed..185561df444fbdeed9c07ea565411ab059429e5c 100644 --- a/plugins/SEO/API.php +++ b/plugins/SEO/API.php @@ -9,6 +9,7 @@ * @package Piwik_SEO */ use Piwik\Piwik; +use Piwik\DataTable; /** * @see plugins/Referers/functions.php @@ -40,7 +41,7 @@ class Piwik_SEO_API * Returns SEO statistics for a URL. * * @param string $url URL to request SEO stats for - * @return Piwik_DataTable + * @return DataTable */ public function getRank($url) { @@ -101,6 +102,6 @@ class Piwik_SEO_API $data[Piwik_Translate('SEO_Dmoz')] = $dmozRank; } - return Piwik_DataTable::makeFromIndexedArray($data); + return DataTable::makeFromIndexedArray($data); } } diff --git a/plugins/SEO/Controller.php b/plugins/SEO/Controller.php index b33aac898630c3d89f8faa78132ae450de2d3d55..b509264871a0d31fffbc582cde73be42bbb333be 100644 --- a/plugins/SEO/Controller.php +++ b/plugins/SEO/Controller.php @@ -9,6 +9,7 @@ * @package Piwik_SEO */ use Piwik\Common; +use Piwik\DataTable\Renderer; use Piwik\Site; /** @@ -36,7 +37,7 @@ class Piwik_SEO_Controller extends Piwik_Controller $view = new Piwik_View('@SEO/getRank'); $view->urlToRank = Piwik_SEO_RankChecker::extractDomainFromUrl($url); - $renderer = Piwik_DataTable_Renderer::factory('php'); + $renderer = Renderer::factory('php'); $renderer->setSerialize(false); $view->ranks = $renderer->render($dataTable); echo $view->render(); diff --git a/plugins/SEO/SEO.php b/plugins/SEO/SEO.php index 4ff22fdabb14bb860855f0ea6ec54afb9033319f..e41c93385c5d7396e761e5cacfe93149ff80d513 100644 --- a/plugins/SEO/SEO.php +++ b/plugins/SEO/SEO.php @@ -8,11 +8,12 @@ * @category Piwik_Plugins * @package Piwik_SEO */ +use Piwik\Plugin; /** * @package Piwik_SEO */ -class Piwik_SEO extends Piwik_Plugin +class Piwik_SEO extends Plugin { /** * @see Piwik_Plugin::getInformation diff --git a/plugins/SecurityInfo/PhpSecInfo/Test/Core/upload_tmp_dir.php b/plugins/SecurityInfo/PhpSecInfo/Test/Core/upload_tmp_dir.php index 4a83e0f7cd9bc5668cb528aa7f4cbbbca7bc13da..588b5f096f986b6138fdbbaec187d272fe105a34 100644 --- a/plugins/SecurityInfo/PhpSecInfo/Test/Core/upload_tmp_dir.php +++ b/plugins/SecurityInfo/PhpSecInfo/Test/Core/upload_tmp_dir.php @@ -45,7 +45,7 @@ class PhpSecInfo_Test_Core_Upload_Tmp_Dir extends PhpSecInfo_Test_Core * We are disabling this function on Windows OSes right now until * we can be certain of the proper way to check world-readability * - * @return unknown + * @return bool */ function isTestable() { diff --git a/plugins/SecurityInfo/SecurityInfo.php b/plugins/SecurityInfo/SecurityInfo.php index ecd8d2e5f6de75c2fd61df4c53fca9aa71c94c74..785247d2a26a0546f4e78d43a7e13b3d408ba1f6 100644 --- a/plugins/SecurityInfo/SecurityInfo.php +++ b/plugins/SecurityInfo/SecurityInfo.php @@ -9,12 +9,13 @@ * @package Piwik_SecurityInfo */ use Piwik\Piwik; +use Piwik\Plugin; /** * * @package Piwik_SecurityInfo */ -class Piwik_SecurityInfo extends Piwik_Plugin +class Piwik_SecurityInfo extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/SegmentEditor/API.php b/plugins/SegmentEditor/API.php index 855affb5e6875e81f61ae463bdac8fe00d8beb7d..884c206e78e13167280fa275bd6b629858d9b9be 100644 --- a/plugins/SegmentEditor/API.php +++ b/plugins/SegmentEditor/API.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; use Piwik\Segment; /** @@ -142,9 +143,9 @@ class Piwik_SegmentEditor_API /** * Modifies an existing stored segment. * - * @param $idSegment The ID of the stored segment to modify. - * @param $name The new name of the segment. - * @param $definition The new definition of the segment. + * @param int $idSegment The ID of the stored segment to modify. + * @param string $name The new name of the segment. + * @param string $definition The new definition of the segment. * @param bool $idSite If supplied, associates the stored segment with as single site. * @param bool $autoArchive Whether to automatically archive data with the segment or not. * @param bool $enabledAllUsers Whether the stored segment is viewable by all users or just the one that created it. @@ -168,7 +169,7 @@ class Piwik_SegmentEditor_API 'enable_all_users' => $enabledAllUsers, 'enable_only_idsite' => $idSite, 'auto_archive' => $autoArchive, - 'ts_last_edit' => Piwik_Date::now()->getDatetime(), + 'ts_last_edit' => Date::now()->getDatetime(), ); $db = Zend_Registry::get('db'); @@ -182,8 +183,8 @@ class Piwik_SegmentEditor_API /** * Adds a new stored segment. * - * @param $name The new name of the segment. - * @param $definition The new definition of the segment. + * @param string $name The new name of the segment. + * @param string $definition The new definition of the segment. * @param bool $idSite If supplied, associates the stored segment with as single site. * @param bool $autoArchive Whether to automatically archive data with the segment or not. * @param bool $enabledAllUsers Whether the stored segment is viewable by all users or just the one that created it. @@ -207,7 +208,7 @@ class Piwik_SegmentEditor_API 'enable_all_users' => $enabledAllUsers, 'enable_only_idsite' => $idSite, 'auto_archive' => $autoArchive, - 'ts_created' => Piwik_Date::now()->getDatetime(), + 'ts_created' => Date::now()->getDatetime(), 'deleted' => 0, ); $db->insert(Common::prefixTable("segment"), $bind); diff --git a/plugins/SegmentEditor/SegmentEditor.php b/plugins/SegmentEditor/SegmentEditor.php index 94eefc117d9b0ddfb24f93f8ac131aace8e06714..a4f54d01e75367da999dfb93683cfd1e70c090b2 100644 --- a/plugins/SegmentEditor/SegmentEditor.php +++ b/plugins/SegmentEditor/SegmentEditor.php @@ -9,11 +9,12 @@ * @package Piwik_SegmentEditor */ use Piwik\Common; +use Piwik\Plugin; /** * @package Piwik_SegmentEditor */ -class Piwik_SegmentEditor extends Piwik_Plugin +class Piwik_SegmentEditor extends Plugin { /** * @see Piwik_Plugin::getInformation diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php index c9a12e710cf3d6384dcfa8eec2a31b48aae77e9a..edc66625e69e302e042d389635158683aa163533 100644 --- a/plugins/SitesManager/API.php +++ b/plugins/SitesManager/API.php @@ -11,6 +11,7 @@ use Piwik\Piwik; use Piwik\Common; use Piwik\Access; +use Piwik\Date; use Piwik\Site; /** @@ -223,7 +224,7 @@ class Piwik_SitesManager_API if (empty($timestamp)) $timestamp = time(); - $time = Piwik_Date::factory((int)$timestamp)->getDatetime(); + $time = Date::factory((int)$timestamp)->getDatetime(); $result = Piwik_FetchAll(" SELECT idsite @@ -236,7 +237,7 @@ class Piwik_SitesManager_API AND visit_last_action_time > ? AND visit_last_action_time <= ? LIMIT 1) - ", array($time, $now = Piwik_Date::now()->addHour(1)->getDatetime())); + ", array($time, $now = Date::now()->addHour(1)->getDatetime())); $idSites = array(); foreach ($result as $idSite) { $idSites[] = $idSite['idsite']; @@ -516,8 +517,8 @@ class Piwik_SitesManager_API $bind['sitesearch_keyword_parameters'] = $searchKeywordParameters; $bind['sitesearch_category_parameters'] = $searchCategoryParameters; $bind['ts_created'] = !is_null($startDate) - ? Piwik_Date::factory($startDate)->getDatetime() - : Piwik_Date::now()->getDatetime(); + ? Date::factory($startDate)->getDatetime() + : Date::now()->getDatetime(); if (!empty($group) && Piwik::isUserIsSuperUser() @@ -692,7 +693,7 @@ class Piwik_SitesManager_API * Sets IPs to be excluded from all websites. IPs can contain wildcards. * Will also apply to websites created in the future. * - * @param string Comma separated list of IPs to exclude from being tracked (allows wildcards) + * @param string $excludedIps Comma separated list of IPs to exclude from being tracked (allows wildcards) * @return bool */ public function setGlobalExcludedIps($excludedIps) @@ -853,7 +854,7 @@ class Piwik_SitesManager_API * Sets list of URL query parameters to be excluded on all websites. * Will also apply to websites created in the future. * - * @param string Comma separated list of URL query parameters to exclude from URLs + * @param string $excludedQueryParameters Comma separated list of URL query parameters to exclude from URLs * @return bool */ public function setGlobalExcludedQueryParameters($excludedQueryParameters) @@ -1015,7 +1016,7 @@ class Piwik_SitesManager_API $bind['ecommerce'] = (int)(bool)$ecommerce; } if (!is_null($startDate)) { - $bind['ts_created'] = Piwik_Date::factory($startDate)->getDatetime(); + $bind['ts_created'] = Date::factory($startDate)->getDatetime(); } $bind['excluded_ips'] = $this->checkAndReturnExcludedIps($excludedIps); $bind['excluded_parameters'] = $this->checkAndReturnCommaSeparatedStringList($excludedQueryParameters); diff --git a/plugins/SitesManager/Controller.php b/plugins/SitesManager/Controller.php index d5dd1c8be0f6345177d23c2128cd35e2660ded20..afbd9d21ed54bc9e788bd2d68826f2dce9a7e9bf 100644 --- a/plugins/SitesManager/Controller.php +++ b/plugins/SitesManager/Controller.php @@ -8,8 +8,10 @@ * @category Piwik_Plugins * @package Piwik_SitesManager */ +use Piwik\DataTable\Renderer\Json; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; use Piwik\Site; /** @@ -51,7 +53,7 @@ class Piwik_SitesManager_Controller extends Piwik_Controller_Admin $view->currencies = Common::json_encode(Piwik_SitesManager_API::getInstance()->getCurrencyList()); $view->defaultCurrency = Piwik_SitesManager_API::getInstance()->getDefaultCurrency(); - $view->utcTime = Piwik_Date::now()->getDatetime(); + $view->utcTime = Date::now()->getDatetime(); $excludedIpsGlobal = Piwik_SitesManager_API::getInstance()->getExcludedIpsGlobal(); $view->globalExcludedIps = str_replace(',', "\n", $excludedIpsGlobal); $excludedQueryParametersGlobal = Piwik_SitesManager_API::getInstance()->getExcludedQueryParametersGlobal(); @@ -62,7 +64,7 @@ class Piwik_SitesManager_Controller extends Piwik_Controller_Admin $view->globalSearchKeywordParameters = Piwik_SitesManager_API::getInstance()->getSearchKeywordParametersGlobal(); $view->globalSearchCategoryParameters = Piwik_SitesManager_API::getInstance()->getSearchCategoryParametersGlobal(); - $view->isSearchCategoryTrackingEnabled = PluginsManager::getInstance()->isPluginActivated('CustomVariables'); + $view->isSearchCategoryTrackingEnabled = \Piwik\PluginsManager::getInstance()->isPluginActivated('CustomVariables'); $view->allowSiteSpecificUserAgentExclude = Piwik_SitesManager_API::getInstance()->isSiteSpecificUserAgentExcludeEnabled(); @@ -187,7 +189,7 @@ class Piwik_SitesManager_Controller extends Piwik_Controller_Admin } } - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); print Common::json_encode($results); } } diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php index 8fbad87b008dcfebdd84a1c740d39b53740e2f46..7b21bbafd1b079bcee78780f5ef36934c0b91a9c 100644 --- a/plugins/SitesManager/SitesManager.php +++ b/plugins/SitesManager/SitesManager.php @@ -9,12 +9,13 @@ * @package Piwik_SitesManager */ use Piwik\Piwik; +use Piwik\Plugin; /** * * @package Piwik_SitesManager */ -class Piwik_SitesManager extends Piwik_Plugin +class Piwik_SitesManager extends Plugin { const KEEP_URL_FRAGMENT_USE_DEFAULT = 0; const KEEP_URL_FRAGMENT_YES = 1; diff --git a/plugins/Transitions/API.php b/plugins/Transitions/API.php index fe84b328cb7d5c91525159400901fed450ffc8d7..ac04dac368f8570034d517939f577f5e76a3de57 100644 --- a/plugins/Transitions/API.php +++ b/plugins/Transitions/API.php @@ -8,10 +8,17 @@ * @category Piwik_Plugins * @package Piwik_Transitions */ + +use Piwik\ArchiveProcessor; +use Piwik\DataAccess\LogAggregator; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Row; use Piwik\Metrics; use Piwik\Period; +use Piwik\Period\Day; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; use Piwik\Segment; use Piwik\SegmentExpression; use Piwik\Site; @@ -72,11 +79,11 @@ class Piwik_Transitions_API $segment = new Segment($segment, $idSite); $site = new Site($idSite); $period = Period::advancedFactory($period, $date); - $archiveProcessor = new Piwik_ArchiveProcessor_Day($period, $site, $segment); + $archiveProcessor = new ArchiveProcessor\Day($period, $site, $segment); $logAggregator = $archiveProcessor->getLogAggregator(); // prepare the report $report = array( - 'date' => Piwik_Period_Day::advancedFactory($period->getLabel(), $date)->getLocalizedShortString() + 'date' => Day::advancedFactory($period->getLabel(), $date)->getLocalizedShortString() ); // add data to the report @@ -167,7 +174,7 @@ class Piwik_Transitions_API * Add the internal referrers to the report: * previous pages and previous site searches * - * @param Piwik_DataAccess_LogAggregator $logAggregator + * @param LogAggregator $logAggregator * @param $report * @param $idaction * @param string $actionType @@ -193,7 +200,7 @@ class Piwik_Transitions_API * Add the following actions to the report: * following pages, downloads, outlinks * - * @param Piwik_DataAccess_LogAggregator $logAggregator + * @param LogAggregator $logAggregator * @param $report * @param $idaction * @param string $actionType @@ -218,12 +225,12 @@ class Piwik_Transitions_API * * @param $idaction * @param $actionType - * @param Piwik_DataAccess_LogAggregator $logAggregator + * @param LogAggregator $logAggregator * @param $limitBeforeGrouping * @param $includeLoops - * @return array(followingPages:Piwik_DataTable, outlinks:Piwik_DataTable, downloads:Piwik_DataTable) + * @return array(followingPages:DataTable, outlinks:DataTable, downloads:DataTable) */ - public function queryFollowingActions($idaction, $actionType, Piwik_DataAccess_LogAggregator $logAggregator, + public function queryFollowingActions($idaction, $actionType, LogAggregator $logAggregator, $limitBeforeGrouping = false, $includeLoops = false) { $types = array(); @@ -296,12 +303,12 @@ class Piwik_Transitions_API $this->totalTransitionsToFollowingActions = 0; $dataTables = array(); foreach ($types as $type => $recordName) { - $dataTable = new Piwik_DataTable; + $dataTable = new DataTable; if (isset($data[$type])) { foreach ($data[$type] as &$record) { $actions = intval($record[Metrics::INDEX_NB_ACTIONS]); - $dataTable->addRow(new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => array( + $dataTable->addRow(new Row(array( + Row::COLUMNS => array( 'label' => $this->getPageLabel($record, $isTitle), Metrics::INDEX_NB_ACTIONS => $actions ) @@ -330,9 +337,9 @@ class Piwik_Transitions_API * * @param $idaction * @param $actionType - * @param Piwik_ArchiveProcessor_Day $logAggregator + * @param Day $logAggregator * @param $limitBeforeGrouping - * @return Piwik_DataTable + * @return DataTable */ public function queryExternalReferrers($idaction, $actionType, $logAggregator, $limitBeforeGrouping = false) { @@ -395,7 +402,7 @@ class Piwik_Transitions_API //FIXMEA refactor after integration tests written $array = new Piwik_DataArray($referrerData, $referrerSubData); - return Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($array); + return Day::getDataTableFromDataArray($array); } /** @@ -403,9 +410,9 @@ class Piwik_Transitions_API * * @param $idaction * @param $actionType - * @param Piwik_ArchiveProcessor_Day $logAggregator + * @param Day $logAggregator * @param $limitBeforeGrouping - * @return array(previousPages:Piwik_DataTable, loops:integer) + * @return array(previousPages:DataTable, loops:integer) */ protected function queryInternalReferrers($idaction, $actionType, $logAggregator, $limitBeforeGrouping = false) { @@ -451,12 +458,12 @@ class Piwik_Transitions_API $loops = 0; $nbPageviews = 0; - $previousPagesDataTable = new Piwik_DataTable; + $previousPagesDataTable = new DataTable; if (isset($data['result'][1])) { foreach ($data['result'][1] as &$page) { $nbActions = intval($page[Metrics::INDEX_NB_ACTIONS]); - $previousPagesDataTable->addRow(new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => array( + $previousPagesDataTable->addRow(new Row(array( + Row::COLUMNS => array( 'label' => $this->getPageLabel($page, $isTitle), Metrics::INDEX_NB_ACTIONS => $nbActions ) @@ -465,12 +472,12 @@ class Piwik_Transitions_API } } - $previousSearchesDataTable = new Piwik_DataTable; + $previousSearchesDataTable = new DataTable; if (isset($data['result'][2])) { foreach ($data['result'][2] as &$search) { $nbActions = intval($search[Metrics::INDEX_NB_ACTIONS]); - $previousSearchesDataTable->addRow(new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => array( + $previousSearchesDataTable->addRow(new Row(array( + Row::COLUMNS => array( 'label' => $search['name'], Metrics::INDEX_NB_ACTIONS => $nbActions ) @@ -542,7 +549,7 @@ class Piwik_Transitions_API * Add the external referrers to the report: * direct entries, websites, campaigns, search engines * - * @param Piwik_DataAccess_LogAggregator $logAggregator + * @param LogAggregator $logAggregator * @param $report * @param $idaction * @param string $actionType @@ -563,7 +570,7 @@ class Piwik_Transitions_API // load details (i.e. subtables) $details = array(); if ($idSubTable = $row->getIdSubDataTable()) { - $subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable); + $subTable = Manager::getInstance()->getTable($idSubTable); foreach ($subTable->getRows() as $subRow) { $details[] = array( 'label' => $subRow->getColumn('label'), diff --git a/plugins/Transitions/Transitions.php b/plugins/Transitions/Transitions.php index 90d1ff2839cbda82029b0ce40da8efaf47c958e2..b47db2e436e5d48610effc752524899ace668b90 100644 --- a/plugins/Transitions/Transitions.php +++ b/plugins/Transitions/Transitions.php @@ -8,11 +8,12 @@ * @category Piwik_Plugins * @package Piwik_Transitions */ +use Piwik\Plugin; /** * @package Piwik_Transitions */ -class Piwik_Transitions extends Piwik_Plugin +class Piwik_Transitions extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php index 79aaf191c57d1c05c57b3db3374c44f8e3c96be9..113a1dc6c549c95a708a183ace7784f2eaa45ad2 100644 --- a/plugins/UserCountry/API.php +++ b/plugins/UserCountry/API.php @@ -11,6 +11,7 @@ use Piwik\Archive; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\DataTable; /** * @see plugins/UserCountry/functions.php @@ -67,7 +68,7 @@ class Piwik_UserCountry_API * @param string $period * @param string $date * @param string|bool $segment - * @return Piwik_DataTable + * @return DataTable */ public function getRegion($idSite, $period, $date, $segment = false) { @@ -109,7 +110,7 @@ class Piwik_UserCountry_API * @param string $period * @param string $date * @param string|bool $segment - * @return Piwik_DataTable + * @return DataTable */ public function getCity($idSite, $period, $date, $segment = false) { diff --git a/plugins/UserCountry/Archiver.php b/plugins/UserCountry/Archiver.php index 4667e38474426171dad792f14b7f9e7ee127af84..129da79557cf7bbd035cf021aba46d82496f7c72 100644 --- a/plugins/UserCountry/Archiver.php +++ b/plugins/UserCountry/Archiver.php @@ -9,9 +9,12 @@ * @package Piwik_UserCountry */ +use Piwik\ArchiveProcessor\Day; use Piwik\Metrics; +use Piwik\DataTable; +use Piwik\PluginsArchiver; -class Piwik_UserCountry_Archiver extends Piwik_PluginsArchiver +class Piwik_UserCountry_Archiver extends PluginsArchiver { const COUNTRY_RECORD_NAME = 'UserCountry_country'; const REGION_RECORD_NAME = 'UserCountry_region'; @@ -124,15 +127,15 @@ class Piwik_UserCountry_Archiver extends Piwik_PluginsArchiver protected function recordDayReports() { - $tableCountry = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::COUNTRY_FIELD]); + $tableCountry = Day::getDataTableFromDataArray($this->arrays[self::COUNTRY_FIELD]); $this->getProcessor()->insertBlobRecord(self::COUNTRY_RECORD_NAME, $tableCountry->getSerialized()); $this->getProcessor()->insertNumericRecord(self::DISTINCT_COUNTRIES_METRIC, $tableCountry->getRowsCount()); - $tableRegion = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::REGION_FIELD]); + $tableRegion = Day::getDataTableFromDataArray($this->arrays[self::REGION_FIELD]); $serialized = $tableRegion->getSerialized($this->maximumRows, $this->maximumRows, Metrics::INDEX_NB_VISITS); $this->getProcessor()->insertBlobRecord(self::REGION_RECORD_NAME, $serialized); - $tableCity = Piwik_ArchiveProcessor_Day::getDataTableFromDataArray($this->arrays[self::CITY_FIELD]); + $tableCity = Day::getDataTableFromDataArray($this->arrays[self::CITY_FIELD]); $this->setLatitudeLongitude($tableCity); $serialized = $tableCity->getSerialized($this->maximumRows, $this->maximumRows, Metrics::INDEX_NB_VISITS); $this->getProcessor()->insertBlobRecord(self::CITY_RECORD_NAME, $serialized); @@ -142,7 +145,7 @@ class Piwik_UserCountry_Archiver extends Piwik_PluginsArchiver * Utility method, appends latitude/longitude pairs to city table labels, if that data * exists for the city. */ - private function setLatitudeLongitude(Piwik_DataTable $tableCity) + private function setLatitudeLongitude(DataTable $tableCity) { foreach ($tableCity->getRows() as $row) { $label = $row->getColumn('label'); diff --git a/plugins/UserCountry/Controller.php b/plugins/UserCountry/Controller.php index bda89e927bec1ffe0a38baff03cacb2b4e7487a8..9c547ee6dcf8da505da257003a8d2cbe7562b5f6 100644 --- a/plugins/UserCountry/Controller.php +++ b/plugins/UserCountry/Controller.php @@ -8,6 +8,7 @@ * @category Piwik_Plugins * @package Piwik_UserCountry */ +use Piwik\DataTable\Renderer\Json; use Piwik\Piwik; use Piwik\Common; @@ -98,7 +99,7 @@ class Piwik_UserCountry_Controller extends Piwik_Controller_Admin Piwik::checkUserIsSuperUser(); if ($_SERVER["REQUEST_METHOD"] == "POST") { $this->checkTokenInUrl(); - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); $outputPath = Piwik_UserCountry_LocationProvider_GeoIp::getPathForGeoIpDatabase('GeoIPCity.dat') . '.gz'; try { $result = Piwik_Http::downloadChunk( @@ -180,7 +181,7 @@ class Piwik_UserCountry_Controller extends Piwik_Controller_Admin { Piwik::checkUserIsSuperUser(); if ($_SERVER["REQUEST_METHOD"] == "POST") { - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); try { $this->checkTokenInUrl(); @@ -225,7 +226,7 @@ class Piwik_UserCountry_Controller extends Piwik_Controller_Admin try { $this->checkTokenInUrl(); - Piwik_DataTable_Renderer_Json::sendHeaderJSON(); + Json::sendHeaderJSON(); // based on the database type (provided by the 'key' query param) determine the // url & output file name diff --git a/plugins/UserCountry/GeoIPAutoUpdater.php b/plugins/UserCountry/GeoIPAutoUpdater.php index 051eeb42d4b17ff7198f472f7a26404b4be68d68..dea98daa0f4223b5c400b4e1655e85377bba32c9 100755 --- a/plugins/UserCountry/GeoIPAutoUpdater.php +++ b/plugins/UserCountry/GeoIPAutoUpdater.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; /** * Used to automatically update installed GeoIP databases, and manages the updater's @@ -48,7 +49,7 @@ class Piwik_UserCountry_GeoIPAutoUpdater public function update() { try { - Piwik_SetOption(self::LAST_RUN_TIME_OPTION_NAME, Piwik_Date::factory('today')->getTimestamp()); + Piwik_SetOption(self::LAST_RUN_TIME_OPTION_NAME, Date::factory('today')->getTimestamp()); $locUrl = Piwik_GetOption(self::LOC_URL_OPTION_NAME); if (!empty($locUrl)) { @@ -570,11 +571,11 @@ class Piwik_UserCountry_GeoIPAutoUpdater /** * Returns the time the auto updater was last run. * - * @return Piwik_Date|false + * @return Date|false */ public static function getLastRunTime() { $timestamp = Piwik_GetOption(self::LAST_RUN_TIME_OPTION_NAME); - return $timestamp === false ? false : Piwik_Date::factory((int)$timestamp); + return $timestamp === false ? false : Date::factory((int)$timestamp); } } diff --git a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php index a26217bac20199265769b4700a340b3ae207f555..382ee9a3196888bbb95ef8dac4dca69edca528e5 100755 --- a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php +++ b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php @@ -9,6 +9,8 @@ * @package Piwik_UserCountry */ +use Piwik\Common; + /** * A LocationProvider that uses an GeoIP module installed in an HTTP Server. * diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php index d6e673e69739fba09dd51ab0277e4e92db5463d1..72c7cbda9b599290ca4d93372e8e2a9c0447c188 100644 --- a/plugins/UserCountry/UserCountry.php +++ b/plugins/UserCountry/UserCountry.php @@ -8,8 +8,10 @@ * @category Piwik_Plugins * @package Piwik_UserCountry */ -use Piwik\Piwik; +use Piwik\ArchiveProcessor; use Piwik\Common; +use Piwik\Piwik; +use Piwik\Plugin; /** * @see plugins/UserCountry/GeoIPAutoUpdater.php @@ -20,7 +22,7 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/UserCountry/GeoIPAutoUpdater.php'; * * @package Piwik_UserCountry */ -class Piwik_UserCountry extends Piwik_Plugin +class Piwik_UserCountry extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -244,7 +246,7 @@ class Piwik_UserCountry extends Piwik_Plugin )); } - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_UserCountry_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -252,7 +254,7 @@ class Piwik_UserCountry extends Piwik_Plugin } } - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_UserCountry_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/UserCountry/functions.php b/plugins/UserCountry/functions.php index 9db8a85d788696efca76630a5163f8df5ae7b91c..35919cdf2dad9f757160521123dd0bb0813a7d60 100644 --- a/plugins/UserCountry/functions.php +++ b/plugins/UserCountry/functions.php @@ -8,6 +8,7 @@ * @category Piwik_Plugins * @package Piwik_UserCountry */ +use Piwik\DataTable; /** * Return the flag image path for a given country @@ -67,7 +68,7 @@ function Piwik_CountryTranslate($label) */ function Piwik_UserCountry_getElementFromStringArray($label, $separator, $index, $emptyValue = false) { - if ($label == Piwik_DataTable::LABEL_SUMMARY_ROW) { + if ($label == DataTable::LABEL_SUMMARY_ROW) { return false; // so no metadata/column is added } @@ -80,11 +81,11 @@ function Piwik_UserCountry_getElementFromStringArray($label, $separator, $index, * * @param string $label A label containing a region code followed by '|' and a country code, eg, * 'P3|GB'. - * @return string|false The region name or false if $label == Piwik_DataTable::LABEL_SUMMARY_ROW. + * @return string|false The region name or false if $label == DataTable::LABEL_SUMMARY_ROW. */ function Piwik_UserCountry_getRegionName($label) { - if ($label == Piwik_DataTable::LABEL_SUMMARY_ROW) { + if ($label == DataTable::LABEL_SUMMARY_ROW) { return false; // so no metadata/column is added } @@ -102,11 +103,11 @@ function Piwik_UserCountry_getRegionName($label) * * @param string $label A label containing a region code followed by '|' and a country code, eg, * 'P3|GB'. - * @return string|false eg. 'Ile de France, France' or false if $label == Piwik_DataTable::LABEL_SUMMARY_ROW. + * @return string|false eg. 'Ile de France, France' or false if $label == DataTable::LABEL_SUMMARY_ROW. */ function Piwik_UserCountry_getPrettyRegionName($label) { - if ($label == Piwik_DataTable::LABEL_SUMMARY_ROW) { + if ($label == DataTable::LABEL_SUMMARY_ROW) { return $label; } @@ -130,11 +131,11 @@ function Piwik_UserCountry_getPrettyRegionName($label) * @param string $label A label containing a city name, region code + country code, * separated by two '|' chars: 'Paris|A8|FR' * @return string|false eg. 'Paris, Ile de France, France' or false if $label == - * Piwik_DataTable::LABEL_SUMMARY_ROW. + * DataTable::LABEL_SUMMARY_ROW. */ function Piwik_UserCountry_getPrettyCityName($label) { - if ($label == Piwik_DataTable::LABEL_SUMMARY_ROW) { + if ($label == DataTable::LABEL_SUMMARY_ROW) { return $label; } diff --git a/plugins/UserCountryMap/Controller.php b/plugins/UserCountryMap/Controller.php index 50b2986ae16710f2248bc646a2bc1828a22fb691..f9f52e8233ceaa88f168977471a865d200569391 100644 --- a/plugins/UserCountryMap/Controller.php +++ b/plugins/UserCountryMap/Controller.php @@ -11,6 +11,7 @@ use Piwik\Piwik; use Piwik\Common; use Piwik\Site; +use Piwik\Config; /** * @@ -163,7 +164,7 @@ class Piwik_UserCountryMap_Controller extends Piwik_Controller private function checkUserCountryPluginEnabled() { - if (!PluginsManager::getInstance()->isPluginActivated('UserCountry')) { + if (!\Piwik\PluginsManager::getInstance()->isPluginActivated('UserCountry')) { throw new Exception(Piwik_Translate('General_Required', 'Plugin UserCountry')); } } diff --git a/plugins/UserCountryMap/UserCountryMap.php b/plugins/UserCountryMap/UserCountryMap.php index 0b3d3298f4890eef88e40a982ce50b1c9a5a5d68..1659288d1c8f01405f76383f24bf60b5a5702915 100644 --- a/plugins/UserCountryMap/UserCountryMap.php +++ b/plugins/UserCountryMap/UserCountryMap.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_UserCountryMap */ +use Piwik\Plugin; /** * * @package Piwik_UserCountryMap */ -class Piwik_UserCountryMap extends Piwik_Plugin +class Piwik_UserCountryMap extends Plugin { /** * @see Piwik_Plugin::getInformation diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php index 7a9f5b6dda45e8ec64dbedf7a76ee18b3a5cfaba..c1c5535c1cb18d3569078fec59b5cd85fcfa2b71 100644 --- a/plugins/UserSettings/API.php +++ b/plugins/UserSettings/API.php @@ -11,6 +11,7 @@ use Piwik\Archive; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\DataTable; /** * @see plugins/UserSettings/functions.php @@ -111,7 +112,7 @@ class Piwik_UserSettings_API ); $dataTables = array($dataTable); - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { $dataTables = $dataTable->getArray(); } foreach ($dataTables AS $table) { @@ -180,7 +181,7 @@ class Piwik_UserSettings_API $visitsSums = $archive->getDataTableFromNumeric('nb_visits'); // check whether given tables are arrays - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { $tableArray = $dataTable->getArray(); $browserTypesArray = $browserTypes->getArray(); $visitSumsArray = $visitsSums->getArray(); diff --git a/plugins/UserSettings/Archiver.php b/plugins/UserSettings/Archiver.php index 0c53938257a147b33a82780e57982b7604ce1677..40f6b94eb37abdec9087e3ccc3733e5d1b6b9936 100644 --- a/plugins/UserSettings/Archiver.php +++ b/plugins/UserSettings/Archiver.php @@ -10,11 +10,14 @@ */ use Piwik\Common; +use Piwik\DataAccess\LogAggregator; use Piwik\Metrics; +use Piwik\DataTable; +use Piwik\PluginsArchiver; require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php'; -class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver +class Piwik_UserSettings_Archiver extends PluginsArchiver { const LANGUAGE_RECORD_NAME = 'UserSettings_language'; const PLUGIN_RECORD_NAME = 'UserSettings_plugin'; @@ -69,7 +72,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver return $tableBrowser; } - protected function aggregateByBrowserType(Piwik_DataTable $tableBrowser) + protected function aggregateByBrowserType(DataTable $tableBrowser) { $tableBrowser->filter('GroupBy', array('label', 'Piwik_getBrowserFamily')); $this->insertTable(self::BROWSER_TYPE_RECORD_NAME, $tableBrowser); @@ -90,7 +93,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver return $table; } - protected function aggregateByScreenType(Piwik_DataTable $resolutions) + protected function aggregateByScreenType(DataTable $resolutions) { $resolutions->filter('GroupBy', array('label', 'Piwik_getScreenTypeFromResolution')); $this->insertTable(self::SCREEN_TYPE_RECORD_NAME, $resolutions); @@ -113,8 +116,8 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver $query = $this->getLogAggregator()->queryVisitsByDimension(array(), false, $selects, $metrics = array()); $data = $query->fetch(); - $cleanRow = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($data, Metrics::INDEX_NB_VISITS); - $table = Piwik_DataTable::makeFromIndexedArray($cleanRow); + $cleanRow = LogAggregator::makeArrayOneColumn($data, Metrics::INDEX_NB_VISITS); + $table = DataTable::makeFromIndexedArray($cleanRow); $this->insertTable(self::PLUGIN_RECORD_NAME, $table); } @@ -132,7 +135,7 @@ class Piwik_UserSettings_Archiver extends Piwik_PluginsArchiver $this->insertTable(self::LANGUAGE_RECORD_NAME, $tableLanguage); } - protected function insertTable($recordName, Piwik_DataTable $table) + protected function insertTable($recordName, DataTable $table) { return $this->getProcessor()->insertBlobRecord($recordName, $table->getSerialized($this->maximumRows, null, Metrics::INDEX_NB_VISITS)); } diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php index ad0e5d931657b920e88fd5751d8e8cdeba177003..ce5a37f707cda08b80be0b3bb16d25527a12425c 100644 --- a/plugins/UserSettings/UserSettings.php +++ b/plugins/UserSettings/UserSettings.php @@ -8,12 +8,14 @@ * @category Piwik_Plugins * @package Piwik_UserSettings */ +use Piwik\ArchiveProcessor; +use Piwik\Plugin; /** * * @package Piwik_UserSettings */ -class Piwik_UserSettings extends Piwik_Plugin +class Piwik_UserSettings extends Plugin { /** * Mapping between the browser family shortcode and the displayed name @@ -370,7 +372,7 @@ class Piwik_UserSettings extends Piwik_Plugin * by Browser, Browser family, etc. Some reports are built from the logs, some reports * are superset of an existing report (eg. Browser family is built from the Browser report) */ - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_UserSettings_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -381,7 +383,7 @@ class Piwik_UserSettings extends Piwik_Plugin /** * Period archiving: simply sums up daily archives */ - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_UserSettings_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php index 2337d76d63ebd67b0259fe246ec3ccd8e347a320..c4c8dc0806cd2b412679c0588fa171d9b2e3516a 100644 --- a/plugins/UsersManager/API.php +++ b/plugins/UsersManager/API.php @@ -12,6 +12,7 @@ use Piwik\Config; use Piwik\Piwik; use Piwik\Common; use Piwik\Access; +use Piwik\Date; use Piwik\Site; /** @@ -198,7 +199,7 @@ class Piwik_UsersManager_API * If a user doesn't have any access to the $idSite ('noaccess'), * the user will not be in the returned array. * - * @param string website ID + * @param int website ID * * @return array The returned array has the format * array( @@ -249,7 +250,7 @@ class Piwik_UsersManager_API * this website will not be in the returned array. * If the user doesn't have any access, the returned array will be an empty array. * - * @param string User that has to be valid + * @param string $userLogin User that has to be valid * * @return array The returned array has the format * array( @@ -282,7 +283,7 @@ class Piwik_UsersManager_API /** * Returns the user information (login, password md5, alias, email, date_registered, etc.) * - * @param string the user login + * @param string $userLogin the user login * * @return array the user information */ @@ -302,7 +303,7 @@ class Piwik_UsersManager_API /** * Returns the user information (login, password md5, alias, email, date_registered, etc.) * - * @param string the user email + * @param string $userEmail the user email * * @return array the user information */ @@ -385,7 +386,7 @@ class Piwik_UsersManager_API 'alias' => $alias, 'email' => $email, 'token_auth' => $token_auth, - 'date_registered' => Piwik_Date::now()->getDatetime() + 'date_registered' => Date::now()->getDatetime() ) ); @@ -629,7 +630,7 @@ class Piwik_UsersManager_API * Delete a user given its login. * The user's access are not deleted. * - * @param string the user login. + * @param string $userLogin the user login. * */ private function deleteUserOnly($userLogin) @@ -645,8 +646,8 @@ class Piwik_UsersManager_API * Delete the user access for the given websites. * The array of idsite must be either null OR the values must have been checked before for their validity! * - * @param string the user login - * @param array array of idsites on which to delete the access. If null then delete all the access for this user. + * @param string $userLogin the user login + * @param array $idSites array of idsites on which to delete the access. If null then delete all the access for this user. * * @return bool true on success */ diff --git a/plugins/UsersManager/Controller.php b/plugins/UsersManager/Controller.php index 29f567757c6e8013f27aadbe4cf87f88cb83acd6..506c6e6accad82bca9cfbbeb63834f8542dce102 100644 --- a/plugins/UsersManager/Controller.php +++ b/plugins/UsersManager/Controller.php @@ -10,6 +10,7 @@ */ use Piwik\Piwik; use Piwik\Common; +use Piwik\Config; use Piwik\Site; /** diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php index 58f585da67bc9eb5df388b5b2d048f620243015d..8d2aeb7a57cc1b47090eb05d5e17768c97790717 100644 --- a/plugins/UsersManager/UsersManager.php +++ b/plugins/UsersManager/UsersManager.php @@ -9,13 +9,14 @@ * @package Piwik_UsersManager */ use Piwik\Piwik; +use Piwik\Plugin; /** * Manage Piwik users * * @package Piwik_UsersManager */ -class Piwik_UsersManager extends Piwik_Plugin +class Piwik_UsersManager extends Plugin { const PASSWORD_MIN_LENGTH = 6; const PASSWORD_MAX_LENGTH = 26; @@ -100,7 +101,7 @@ class Piwik_UsersManager extends Piwik_Plugin /** * Returns true if the password is complex enough (at least 6 characters and max 26 characters) * - * @param string email + * @param $input string * @return bool */ public static function isValidPasswordString($input) diff --git a/plugins/VisitFrequency/VisitFrequency.php b/plugins/VisitFrequency/VisitFrequency.php index ee0def21d19c75980a14de3879a253828a98314c..ee5c0ecd2aa8564a326972977f679665c30f68c6 100644 --- a/plugins/VisitFrequency/VisitFrequency.php +++ b/plugins/VisitFrequency/VisitFrequency.php @@ -8,12 +8,13 @@ * @category Piwik_Plugins * @package Piwik_VisitFrequency */ +use Piwik\Plugin; /** * * @package Piwik_VisitFrequency */ -class Piwik_VisitFrequency extends Piwik_Plugin +class Piwik_VisitFrequency extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/VisitTime/API.php b/plugins/VisitTime/API.php index 9075c6553298e34509818f9defbdecdd44f686d3..186c378f8344a5975c2773b81d274914764c3eb2 100644 --- a/plugins/VisitTime/API.php +++ b/plugins/VisitTime/API.php @@ -12,6 +12,8 @@ use Piwik\Archive; use Piwik\Metrics; use Piwik\Period; use Piwik\Piwik; +use Piwik\Date; +use Piwik\DataTable; use Piwik\Site; /** @@ -64,7 +66,7 @@ class Piwik_VisitTime_API * @param string $date The start date of the period. Cannot refer to multiple dates. * @param bool|string $segment The segment. * @throws Exception - * @return Piwik_DataTable + * @return DataTable */ public function getByDayOfWeek($idSite, $period, $date, $segment = false) { @@ -105,7 +107,7 @@ class Piwik_VisitTime_API foreach (array(1, 2, 3, 4, 5, 6, 7) as $day) { $rows[] = array('label' => $day, 'nb_visits' => 0); } - $result = new Piwik_DataTable(); + $result = new DataTable(); $result->addRowsFromSimpleArray($rows); $result->addDataTable($dataTable); @@ -128,9 +130,9 @@ class Piwik_VisitTime_API if ($period == 'day' && ($date == 'today' - || $date == Piwik_Date::factory('now', $site->getTimezone())->toString()) + || $date == Date::factory('now', $site->getTimezone())->toString()) ) { - $currentHour = Piwik_Date::factory('now', $site->getTimezone())->toString('G'); + $currentHour = Date::factory('now', $site->getTimezone())->toString('G'); // If no data for today, this is an exception to the API output rule, as we normally return nothing: // we shall return all hours of the day, with nb_visits = 0 if ($table->getRowsCount() == 0) { @@ -160,7 +162,7 @@ function Piwik_getTimeLabel($label) /** * Returns the day of the week for a date string, without creating a new - * Piwik_Date instance. + * Date instance. * * @param string $dateStr * @return int The day of the week (1-7) diff --git a/plugins/VisitTime/Archiver.php b/plugins/VisitTime/Archiver.php index b695ba45583854095b188a00e2937d57d50ac98c..fd6c1dcc8b233bf551e64e590740813e9ac4df2a 100644 --- a/plugins/VisitTime/Archiver.php +++ b/plugins/VisitTime/Archiver.php @@ -9,7 +9,10 @@ * @package Piwik_VisitTime */ -class Piwik_VisitTime_Archiver extends Piwik_PluginsArchiver +use Piwik\Date; +use Piwik\PluginsArchiver; + +class Piwik_VisitTime_Archiver extends PluginsArchiver { const SERVER_TIME_RECORD_NAME = 'VisitTime_serverTime'; const LOCAL_TIME_RECORD_NAME = 'VisitTime_localTime'; @@ -46,13 +49,13 @@ class Piwik_VisitTime_Archiver extends Piwik_PluginsArchiver protected function convertTimeToLocalTimezone(Piwik_DataArray &$array) { - $date = Piwik_Date::factory($this->getProcessor()->getDateStart()->getDateStartUTC())->toString(); + $date = Date::factory($this->getProcessor()->getDateStart()->getDateStartUTC())->toString(); $timezone = $this->getProcessor()->getSite()->getTimezone(); $converted = array(); foreach ($array->getDataArray() as $hour => $stats) { $datetime = $date . ' ' . $hour . ':00:00'; - $hourInTz = (int)Piwik_Date::factory($datetime, $timezone)->toString('H'); + $hourInTz = (int)Date::factory($datetime, $timezone)->toString('H'); $converted[$hourInTz] = $stats; } return new Piwik_DataArray($converted); diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php index abd69f78099523ecb7ee3ec360b6ff4a7eed4754..4d73dd8ae0bed9945c8906c4da03fb44f9c445d0 100644 --- a/plugins/VisitTime/VisitTime.php +++ b/plugins/VisitTime/VisitTime.php @@ -8,15 +8,17 @@ * @category Piwik_Plugins * @package Piwik_VisitTime */ +use Piwik\ArchiveProcessor; use Piwik\Common; use Piwik\Period; +use Piwik\Plugin; use Piwik\Site; /** * * @package Piwik_VisitTime */ -class Piwik_VisitTime extends Piwik_Plugin +class Piwik_VisitTime extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -167,7 +169,7 @@ class Piwik_VisitTime extends Piwik_Plugin } } - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_VisitTime_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -176,7 +178,7 @@ class Piwik_VisitTime extends Piwik_Plugin } - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_VisitTime_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/VisitorGenerator/Controller.php b/plugins/VisitorGenerator/Controller.php index de621bc6ea2ff6e94c3e04a6fc3bd2caf408b4c4..1a4f9facd049cee7a485a2fdbf26eb39d33a2c56 100644 --- a/plugins/VisitorGenerator/Controller.php +++ b/plugins/VisitorGenerator/Controller.php @@ -8,8 +8,10 @@ * @category Piwik_Plugins * @package Piwik_VisitorGenerator */ +use Piwik\ArchiveProcessor\Rules; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; use Piwik\Site; /** @@ -78,7 +80,7 @@ class Piwik_VisitorGenerator_Controller extends Piwik_Controller_Admin $api = Piwik_CoreAdminHome_API::getInstance(); $api->invalidateArchivedReports($idSite, implode($dates, ",")); - $browserArchiving = Piwik_ArchiveProcessor_Rules::isBrowserTriggerEnabled(); + $browserArchiving = Rules::isBrowserTriggerEnabled(); // Init view $view = new Piwik_View('@VisitorGenerator/generate'); @@ -126,7 +128,7 @@ class Piwik_VisitorGenerator_Controller extends Piwik_Controller_Admin $start = strpos($url, 'piwik.php?') + strlen('piwik.php?'); $url = substr($url, $start, strrpos($url, " ") - $start); - $datetime = $date . " " . Piwik_Date::factory($time)->toString("H:i:s"); + $datetime = $date . " " . Date::factory($time)->toString("H:i:s"); $ip = strlen($ip) < 10 ? "13.5.111.3" : $ip; // Force date/ip & authenticate diff --git a/plugins/VisitorGenerator/VisitorGenerator.php b/plugins/VisitorGenerator/VisitorGenerator.php index 7423f3a900fe29a0730d5865c68fcd06f3d03276..9ad4fa3d669f25916e30069fe52a4441f2305b3f 100644 --- a/plugins/VisitorGenerator/VisitorGenerator.php +++ b/plugins/VisitorGenerator/VisitorGenerator.php @@ -9,12 +9,13 @@ * @package Piwik_VisitorGenerator */ use Piwik\Piwik; +use Piwik\Plugin; /** * * @package Piwik_VisitorGenerator */ -class Piwik_VisitorGenerator extends Piwik_Plugin +class Piwik_VisitorGenerator extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/VisitorInterest/API.php b/plugins/VisitorInterest/API.php index f93abbcb34cb24a3c1ef07aef322b258b68f54f1..55474318db96fe1c14700aed3e8c15c48bcd28f3 100644 --- a/plugins/VisitorInterest/API.php +++ b/plugins/VisitorInterest/API.php @@ -11,6 +11,7 @@ use Piwik\Archive; use Piwik\Metrics; use Piwik\Piwik; +use Piwik\DataTable; /** * VisitorInterest API lets you access two Visitor Engagement reports: number of visits per number of pages, @@ -68,7 +69,7 @@ class Piwik_VisitorInterest_API * @param string $period The period type. * @param string $date The date type. * @param string|bool $segment The segment. - * @return Piwik_DataTable the archived report data. + * @return DataTable the archived report data. */ public function getNumberOfVisitsByDaysSinceLast($idSite, $period, $date, $segment = false) { @@ -89,7 +90,7 @@ class Piwik_VisitorInterest_API * @param string $period The period type. * @param string $date The date type. * @param string|bool $segment The segment. - * @return Piwik_DataTable the archived report data. + * @return DataTable the archived report data. */ public function getNumberOfVisitsByVisitCount($idSite, $period, $date, $segment = false) { @@ -110,11 +111,11 @@ class Piwik_VisitorInterest_API * regardless of whether the data table is an data table array or just * a data table. * - * @param Piwik_DataTable $dataTable The data table to modify. + * @param DataTable $dataTable The data table to modify. */ private static function addVisitsPercentColumn($dataTable) { - if ($dataTable instanceof Piwik_DataTable_Array) { + if ($dataTable instanceof DataTable\Map) { foreach ($dataTable->getArray() as $table) { self::addVisitsPercentColumn($table); } diff --git a/plugins/VisitorInterest/Archiver.php b/plugins/VisitorInterest/Archiver.php index 4c38bf1a7f02a126f6a221c2646ceee8100db4a6..18449cbf4cdeb0a80ac3dcbe8b9edd2ff1570e54 100644 --- a/plugins/VisitorInterest/Archiver.php +++ b/plugins/VisitorInterest/Archiver.php @@ -9,9 +9,12 @@ * @package Piwik_VisitorInterest */ +use Piwik\DataAccess\LogAggregator; use Piwik\Metrics; +use Piwik\DataTable; +use Piwik\PluginsArchiver; -class Piwik_VisitorInterest_Archiver extends Piwik_PluginsArchiver +class Piwik_VisitorInterest_Archiver extends PluginsArchiver { // third element is unit (s for seconds, default is munutes) const TIME_SPENT_RECORD_NAME = 'VisitorInterest_timeGap'; @@ -103,14 +106,14 @@ class Piwik_VisitorInterest_Archiver extends Piwik_PluginsArchiver ); $selects = array(); foreach($aggregatesMetadata as $aggregateMetadata) { - $selectsFromRangedColumn = Piwik_DataAccess_LogAggregator::getSelectsFromRangedColumn($aggregateMetadata); + $selectsFromRangedColumn = LogAggregator::getSelectsFromRangedColumn($aggregateMetadata); $selects = array_merge( $selects, $selectsFromRangedColumn); } $query = $this->getLogAggregator()->queryVisitsByDimension(array(), $where = false, $selects, array()); $row = $query->fetch(); foreach($prefixes as $recordName => $selectAsPrefix) { - $cleanRow = Piwik_DataAccess_LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_VISITS, $selectAsPrefix); - $dataTable = Piwik_DataTable::makeFromIndexedArray($cleanRow); + $cleanRow = LogAggregator::makeArrayOneColumn($row, Metrics::INDEX_NB_VISITS, $selectAsPrefix); + $dataTable = DataTable::makeFromIndexedArray($cleanRow); $this->getProcessor()->insertBlobRecord($recordName, $dataTable->getSerialized()); } } diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php index 10231517e1013226cd003efa83348e9ed789cd55..a503253e1cffe783327d630196d3f37c791e87a5 100644 --- a/plugins/VisitorInterest/VisitorInterest.php +++ b/plugins/VisitorInterest/VisitorInterest.php @@ -8,12 +8,14 @@ * @category Piwik_Plugins * @package Piwik_VisitorInterest */ +use Piwik\ArchiveProcessor; +use Piwik\Plugin; /** * * @package Piwik_VisitorInterest */ -class Piwik_VisitorInterest extends Piwik_Plugin +class Piwik_VisitorInterest extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -111,7 +113,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin Piwik_AddAction('template_footerVisitsFrequency', array('Piwik_VisitorInterest', 'footerVisitsFrequency')); } - public function archivePeriod(Piwik_ArchiveProcessor_Period $archiveProcessor) + public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { $archiving = new Piwik_VisitorInterest_Archiver($archiveProcessor); if($archiving->shouldArchive()) { @@ -119,7 +121,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin } } - public function archiveDay(Piwik_ArchiveProcessor_Day $archiveProcessor) + public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { $archiving = new Piwik_VisitorInterest_Archiver($archiveProcessor); if($archiving->shouldArchive()) { diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index db4355203c6343295cc1581bfd1ffe62825ec5f8..7dbabcf6d9fbf43763c93f3f4557492a54e5cd07 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -161,7 +161,7 @@ class Piwik_VisitsSummary_API $table = $this->getSumVisitsLength($idSite, $period, $date, $segment); if (is_object($table)) { $table->filter('ColumnCallbackReplace', - array('sum_visit_length', array('Piwik', 'getPrettyTimeFromSeconds'))); + array('sum_visit_length', '\Piwik\Piwik::getPrettyTimeFromSeconds')); } else { $table = Piwik::getPrettyTimeFromSeconds($table); } diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php index 493acaab16b41cc1305a275e2d306dbf202edd47..bc30a1e6aa5230c5cc808a082183b476b21f9203 100644 --- a/plugins/VisitsSummary/Controller.php +++ b/plugins/VisitsSummary/Controller.php @@ -8,8 +8,10 @@ * @category Piwik_Plugins * @package Piwik_VisitsSummary */ +use Piwik\DataTable\Row; use Piwik\Piwik; use Piwik\Common; +use Piwik\DataTable; use Piwik\Site; /** @@ -98,7 +100,7 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller "&disable_generic_filters=1"; $request = new Piwik_API_Request($requestString); $result = $request->process(); - return empty($result) ? new Piwik_DataTable() : $result; + return empty($result) ? new DataTable() : $result; } static public function getVisits() @@ -130,11 +132,11 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller $view->displaySiteSearch = $displaySiteSearch; $dataTableVisit = self::getVisitsSummary(); - $dataRow = $dataTableVisit->getRowsCount() == 0 ? new Piwik_DataTable_Row() : $dataTableVisit->getFirstRow(); + $dataRow = $dataTableVisit->getRowsCount() == 0 ? new Row() : $dataTableVisit->getFirstRow(); $dataTableActions = Piwik_Actions_API::getInstance()->get($idSite, Common::getRequestVar('period'), Common::getRequestVar('date'), Piwik_ViewDataTable::getRawSegmentFromRequest()); $dataActionsRow = - $dataTableActions->getRowsCount() == 0 ? new Piwik_DataTable_Row() : $dataTableActions->getFirstRow(); + $dataTableActions->getRowsCount() == 0 ? new Row() : $dataTableActions->getFirstRow(); $view->nbUniqVisitors = (int)$dataRow->getColumn('nb_uniq_visitors'); $nbVisits = (int)$dataRow->getColumn('nb_visits'); diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php index daf509753c7c2a762bc4421239cd43ee1b4df2f2..fec93524922fc67824b50e2b7e5e22df7786c4ec 100644 --- a/plugins/VisitsSummary/VisitsSummary.php +++ b/plugins/VisitsSummary/VisitsSummary.php @@ -8,16 +8,17 @@ * @category Piwik_Plugins * @package Piwik_VisitsSummary */ +use Piwik\Plugin; /** * Note: This plugin does not hook on Daily and Period Archiving like other Plugins because it reports the * very core metrics (visits, actions, visit duration, etc.) which are processed in the Core - * Piwik_ArchiveProcessor_Day class directly. + * Day class directly. * These metrics can be used by other Plugins so they need to be processed up front. * * @package Piwik_VisitsSummary */ -class Piwik_VisitsSummary extends Piwik_Plugin +class Piwik_VisitsSummary extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/plugins/Widgetize/Widgetize.php b/plugins/Widgetize/Widgetize.php index 62fae7ab4a655413c2e93746c5a833f11ad25360..7bf8cdb7c1f4a184fdb07332a6b610a0e141ce89 100644 --- a/plugins/Widgetize/Widgetize.php +++ b/plugins/Widgetize/Widgetize.php @@ -9,12 +9,13 @@ * @category Piwik_Plugins * @package Piwik_Widgetize */ +use Piwik\Plugin; /** * * @package Piwik_Widgetize */ -class Piwik_Widgetize extends Piwik_Plugin +class Piwik_Widgetize extends Plugin { /** * @see Piwik_Plugin::getListHooksRegistered diff --git a/tests/LocalTracker.php b/tests/LocalTracker.php index 123dbf94baab6108c1053d1dec0b966bad46e964..69dd3b2f4dc1779b589e6b040afc22d36155cdab 100755 --- a/tests/LocalTracker.php +++ b/tests/LocalTracker.php @@ -53,7 +53,7 @@ class Piwik_LocalTracker extends PiwikTracker $pluginsTracker = Config::getInstance()->Plugins_Tracker['Plugins_Tracker']; $oldTrackerConfig = Config::getInstance()->Tracker; - PluginsManager::getInstance()->unloadPlugins(); + \Piwik\PluginsManager::getInstance()->unloadPlugins(); // modify config $GLOBALS['PIWIK_TRACKER_MODE'] = true; @@ -94,7 +94,7 @@ class Piwik_LocalTracker extends PiwikTracker unset($_GET['bots']); // reload plugins - PluginsManager::getInstance()->loadPlugins($plugins); + \Piwik\PluginsManager::getInstance()->loadPlugins($plugins); return $output; } diff --git a/tests/PHPUnit/BaseFixture.php b/tests/PHPUnit/BaseFixture.php index d738f7ae90d51e5c33633f34fb9e68ea166a3623..8cf6bb377da50fb1efa6a002249068d30f26eff7 100644 --- a/tests/PHPUnit/BaseFixture.php +++ b/tests/PHPUnit/BaseFixture.php @@ -8,6 +8,7 @@ use Piwik\Config; use Piwik\Common; use Piwik\Access; +use Piwik\Date; use Piwik\Site; /** @@ -67,7 +68,7 @@ abstract class Test_Piwik_BaseFixture extends PHPUnit_Framework_Assert // Manually set the website creation date to a day earlier than the earliest day we record stats for Zend_Registry::get('db')->update(Common::prefixTable("site"), - array('ts_created' => Piwik_Date::factory($dateTime)->subDay(1)->getDatetime()), + array('ts_created' => Date::factory($dateTime)->subDay(1)->getDatetime()), "idsite = $idSite" ); diff --git a/tests/PHPUnit/Benchmarks/ArchiveQueryBenchmark.php b/tests/PHPUnit/Benchmarks/ArchiveQueryBenchmark.php index f10f2589430e4ffe1da01ef921972224b3c7857b..adf616fa279dcff31c74c828ac9f382d02caa826 100644 --- a/tests/PHPUnit/Benchmarks/ArchiveQueryBenchmark.php +++ b/tests/PHPUnit/Benchmarks/ArchiveQueryBenchmark.php @@ -5,7 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\ArchiveProcessor\Rules; +use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Period; +use Piwik\Date; require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/BenchmarkTestCase.php'; @@ -18,7 +21,7 @@ class ArchiveQueryBenchmark extends BenchmarkTestCase public function setUp() { - $archivingTables = Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled(); + $archivingTables = ArchiveTableCreator::getTablesArchivesInstalled(); if (empty($archivingTables)) { $this->archivingLaunched = true; Piwik_VisitsSummary_API::getInstance()->get( @@ -36,9 +39,9 @@ class ArchiveQueryBenchmark extends BenchmarkTestCase echo "NOTE: Had to archive data, memory results will not be accurate. Run again for better results."; } - Piwik_ArchiveProcessor_Rules::$archivingDisabledByTests = true; + Rules::$archivingDisabledByTests = true; - $period = Period::factory(self::$fixture->period, Piwik_Date::factory(self::$fixture->date)); + $period = Period::factory(self::$fixture->period, Date::factory(self::$fixture->date)); $dateRange = $period->getDateStart().','.$period->getDateEnd(); Piwik_VisitsSummary_API::getInstance()->get(self::$fixture->idSite, 'day', $dateRange); diff --git a/tests/PHPUnit/Benchmarks/Fixtures/ManyThousandSitesOneVisitEach.php b/tests/PHPUnit/Benchmarks/Fixtures/ManyThousandSitesOneVisitEach.php index b58cde84a2487611e3dbc84c052ddb3da4cfb13a..83569527d096f71516bdd86817ad6330c2247c05 100644 --- a/tests/PHPUnit/Benchmarks/Fixtures/ManyThousandSitesOneVisitEach.php +++ b/tests/PHPUnit/Benchmarks/Fixtures/ManyThousandSitesOneVisitEach.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Reusable fixture. Adds 20,000 sites and tracks one pageview for each on one day. @@ -27,7 +28,7 @@ class Piwik_Test_Fixture_ManyThousandSitesOneVisitEach // track one visit for each site $t = BenchmarkTestCase::getLocalTracker(1); - $t->setForceVisitDateTime(Piwik_Date::factory($this->date)->addHour(6)); + $t->setForceVisitDateTime(Date::factory($this->date)->addHour(6)); for ($idSite = 1; $idSite < $this->siteCount + 1; ++$idSite) { $ip = "157.5.6.4"; $t->setIp($ip); diff --git a/tests/PHPUnit/Benchmarks/Fixtures/OneSiteThousandsOfDistinctUrlsOverMonth.php b/tests/PHPUnit/Benchmarks/Fixtures/OneSiteThousandsOfDistinctUrlsOverMonth.php index 86b2c7a740df1cc68b90b06e4cbfa7106c244755..7696cda917aca131406a725317b7458619cd365c 100644 --- a/tests/PHPUnit/Benchmarks/Fixtures/OneSiteThousandsOfDistinctUrlsOverMonth.php +++ b/tests/PHPUnit/Benchmarks/Fixtures/OneSiteThousandsOfDistinctUrlsOverMonth.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and 1000 actions for every day of one month (January). Each @@ -28,7 +29,7 @@ class Piwik_Test_Fixture_OneSiteThousandsOfDistinctUrlsOverMonth $goals->addGoal($this->idSite, 'all', 'url', 'http', 'contains', false, 5); $goals->addGoal($this->idSite, 'all', 'url', 'thing2', 'contains'); - $start = Piwik_Date::factory($this->date); + $start = Date::factory($this->date); $dates = array(); for ($day = 0; $day != 31; ++$day) { diff --git a/tests/PHPUnit/Benchmarks/Fixtures/OneSiteTwelveThousandVisitsOneYear.php b/tests/PHPUnit/Benchmarks/Fixtures/OneSiteTwelveThousandVisitsOneYear.php index fcded59612d1f32209b51b1c278ad7868d864e22..743a77bad9b73655d843a0cd2d64a2edca7528d2 100755 --- a/tests/PHPUnit/Benchmarks/Fixtures/OneSiteTwelveThousandVisitsOneYear.php +++ b/tests/PHPUnit/Benchmarks/Fixtures/OneSiteTwelveThousandVisitsOneYear.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Reusable fixture. Tracks twelve thousand page views over a year for one site. @@ -36,7 +37,7 @@ class Piwik_Test_Fixture_OneSiteTwelveThousandVisitsOneYear } $visitTimes = array(); - $date = Piwik_Date::factory($this->date); + $date = Date::factory($this->date); for ($month = 0; $month != 12; ++$month) { for ($day = 0; $day != 25; ++$day) { $visitTimes[] = $date->addPeriod($month, 'MONTH')->addDay($day)->getDatetime(); diff --git a/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php b/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php index 701a6066f833e4a343df240c63dca69f6f94b22e..fb257bb738fdd0274e95d77ea901506f569b93ce 100755 --- a/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php +++ b/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; use Piwik\Piwik; use Piwik\Common; @@ -65,6 +66,6 @@ class Piwik_Test_Fixture_SqlDump } // make sure archiving will be called - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving(true); + Rules::setBrowserTriggerArchiving(true); } } diff --git a/tests/PHPUnit/Benchmarks/Fixtures/ThousandSitesTwelveVisitsEachOneDay.php b/tests/PHPUnit/Benchmarks/Fixtures/ThousandSitesTwelveVisitsEachOneDay.php index 80442430ebf32b1b9fe276895565475d589be7d6..e56a16a5df411e96432ec27b2e365baeb8d321a8 100755 --- a/tests/PHPUnit/Benchmarks/Fixtures/ThousandSitesTwelveVisitsEachOneDay.php +++ b/tests/PHPUnit/Benchmarks/Fixtures/ThousandSitesTwelveVisitsEachOneDay.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Reusable fixture. Tracks twelve thousand page views for 1000 sites on one day. @@ -46,7 +47,7 @@ class Piwik_Test_Fixture_ThousandSitesTwelveVisitsEachOneDay } $visitTimes = array(); - $date = Piwik_Date::factory($this->date); + $date = Date::factory($this->date); for ($i = 0; $i != 4; ++$i) { $visitTimes[] = $date->addHour($i)->getDatetime(); } diff --git a/tests/PHPUnit/Benchmarks/MultiSitesBenchmark.php b/tests/PHPUnit/Benchmarks/MultiSitesBenchmark.php index 8ae47a4c1aa31b05e88d325749fa822ecdb33f22..a1390fc67ac46c45257b3f8c204cac3b4c120fec 100644 --- a/tests/PHPUnit/Benchmarks/MultiSitesBenchmark.php +++ b/tests/PHPUnit/Benchmarks/MultiSitesBenchmark.php @@ -5,6 +5,9 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\ArchiveProcessor\Rules; +use Piwik\DataAccess\ArchiveTableCreator; + require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/BenchmarkTestCase.php'; /** @@ -16,7 +19,7 @@ class MultiSitesBenchmark extends BenchmarkTestCase public function setUp() { - $archivingTables = Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled(); + $archivingTables = ArchiveTableCreator::getTablesArchivesInstalled(); if (empty($archivingTables)) { $this->archivingLaunched = true; Piwik_VisitsSummary_API::getInstance()->get( @@ -34,7 +37,7 @@ class MultiSitesBenchmark extends BenchmarkTestCase echo "NOTE: Had to archive data, memory results will not be accurate. Run again for better results."; } - Piwik_ArchiveProcessor_Rules::$archivingDisabledByTests = true; + Rules::$archivingDisabledByTests = true; Piwik_MultiSites_API::getInstance()->getAll(self::$fixture->period, self::$fixture->date); } } diff --git a/tests/PHPUnit/Benchmarks/TrackerBenchmark.php b/tests/PHPUnit/Benchmarks/TrackerBenchmark.php index d92bd632a8f2bbbb11cf0dea772466b52e046759..2203fe6655048fdb9a411dc492c6a4c539891ef1 100755 --- a/tests/PHPUnit/Benchmarks/TrackerBenchmark.php +++ b/tests/PHPUnit/Benchmarks/TrackerBenchmark.php @@ -5,6 +5,8 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; + require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/BenchmarkTestCase.php'; /** @@ -28,7 +30,7 @@ class TrackerBenchmark extends BenchmarkTestCase } // set dates & times - $date = Piwik_Date::factory(self::$fixture->date); + $date = Date::factory(self::$fixture->date); for ($i = 0; $i != 25; ++$i) { $this->visitDates[] = $date->addDay($i)->toString('Y-m-d'); } diff --git a/tests/PHPUnit/Core/ArchiveProcessingTest.php b/tests/PHPUnit/Core/ArchiveProcessingTest.php index 7e4a677274ff041e866e914c711a164c114740e2..5a36a79de3cc769b34fc5ac660779644e85dbee5 100644 --- a/tests/PHPUnit/Core/ArchiveProcessingTest.php +++ b/tests/PHPUnit/Core/ArchiveProcessingTest.php @@ -1,18 +1,23 @@ <?php +/** + * Piwik - Open source web analytics + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; +use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Period; use Piwik\Piwik; use Piwik\Common; use Piwik\Access; +use Piwik\Date; +use Piwik\ArchiveProcessor; use Piwik\Segment; use Piwik\Site; -/** - * Piwik - Open source web analytics - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ class ArchiveProcessingTest extends DatabaseTestCase { public function setUp() @@ -52,20 +57,20 @@ class ArchiveProcessingTest extends DatabaseTestCase * @param string $periodLabel * @param string $dateLabel * @param string $siteTimezone - * @return Piwik_ArchiveProcessor + * @return ArchiveProcessor */ private function _createArchiveProcessor($periodLabel, $dateLabel, $siteTimezone) { $site = $this->_createWebsite($siteTimezone); - $date = Piwik_Date::factory($dateLabel); + $date = Date::factory($dateLabel); $period = Period::factory($periodLabel, $date); $segment = new Segment('', $site->getId()); if($period->getLabel() == 'day') { - return new Piwik_ArchiveProcessor_Day($period, $site, $segment); + return new ArchiveProcessor\Day($period, $site, $segment); } else { - return new Piwik_ArchiveProcessor_Period($period, $site, $segment); + return new ArchiveProcessor\Period($period, $site, $segment); } } @@ -88,7 +93,7 @@ class ArchiveProcessingTest extends DatabaseTestCase $archiveProcessor->time = $now; // min finished timestamp considered when looking at archive timestamp - $timeout = Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $timeout = Rules::getTodayArchiveTimeToLive(); $this->assertTrue($timeout >= 10); $dateMinArchived = $now - $timeout; $this->compareTimestamps($dateMinArchived, $archiveProcessor->getMinTimeArchivedProcessed()); @@ -99,7 +104,7 @@ class ArchiveProcessingTest extends DatabaseTestCase private function compareTimestamps($expected, $processed) { - $messageIfFails = Piwik_Date::factory($expected)->getDatetime() . " != " . Piwik_Date::factory($processed)->getDatetime(); + $messageIfFails = Date::factory($expected)->getDatetime() . " != " . Date::factory($processed)->getDatetime(); $this->assertTrue( $expected == $processed || $expected == ($processed + 1) || ($expected + 1) == $processed, $messageIfFails); } @@ -113,7 +118,7 @@ class ArchiveProcessingTest extends DatabaseTestCase $archiveProcessor = $this->_createArchiveProcessor('day', '2010-01-01', 'UTC'); // min finished timestamp considered when looking at archive timestamp - $dateMinArchived = Piwik_Date::factory('2010-01-02')->getTimestamp(); + $dateMinArchived = Date::factory('2010-01-02')->getTimestamp(); $this->assertEquals($archiveProcessor->getMinTimeArchivedProcessed() + 1, $dateMinArchived); $this->assertEquals('2010-01-01 00:00:00', $archiveProcessor->getDateStart()->getDateStartUTC()); @@ -131,7 +136,7 @@ class ArchiveProcessingTest extends DatabaseTestCase $timezone = 'UTC+5.5'; $archiveProcessor = $this->_createArchiveProcessor('day', '2010-01-01', $timezone); // min finished timestamp considered when looking at archive timestamp - $dateMinArchived = Piwik_Date::factory('2010-01-01 18:30:00'); + $dateMinArchived = Date::factory('2010-01-01 18:30:00'); $this->assertEquals($archiveProcessor->getMinTimeArchivedProcessed() + 1, $dateMinArchived->getTimestamp()); $this->assertEquals('2009-12-31 18:30:00', $archiveProcessor->getDateStart()->getDateStartUTC()); @@ -149,7 +154,7 @@ class ArchiveProcessingTest extends DatabaseTestCase $timezone = 'UTC-5.5'; $archiveProcessor = $this->_createArchiveProcessor('month', '2010-01-02', $timezone); // min finished timestamp considered when looking at archive timestamp - $dateMinArchived = Piwik_Date::factory('2010-02-01 05:30:00'); + $dateMinArchived = Date::factory('2010-02-01 05:30:00'); $this->assertEquals($archiveProcessor->getMinTimeArchivedProcessed() + 1, $dateMinArchived->getTimestamp()); $this->assertEquals('2010-01-01 05:30:00', $archiveProcessor->getDateStart()->getDateStartUTC()); @@ -166,22 +171,22 @@ class ArchiveProcessingTest extends DatabaseTestCase { $now = time(); $siteTimezone = 'UTC-1'; - $timestamp = Piwik_Date::factory('now', $siteTimezone)->getTimestamp(); + $timestamp = Date::factory('now', $siteTimezone)->getTimestamp(); $dateLabel = date('Y-m-d', $timestamp); - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving(true); + Rules::setBrowserTriggerArchiving(true); $archiveProcessor = $this->_createArchiveProcessor('day', $dateLabel, $siteTimezone); $archiveProcessor->time = $now; // we look at anything processed within the time to live range - $dateMinArchived = $now - Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $dateMinArchived = $now - Rules::getTodayArchiveTimeToLive(); $this->compareTimestamps($dateMinArchived, $archiveProcessor->getMinTimeArchivedProcessed() ); $this->assertTrue($archiveProcessor->isArchiveTemporary()); // when browsers don't trigger archives, we force ArchiveProcessor // to fetch any of the most recent archive - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving(false); + Rules::setBrowserTriggerArchiving(false); // see isArchivingDisabled() // Running in CLI doesn't impact the time to live today's archive we are loading // From CLI, we will not return data that is 'stale' @@ -208,23 +213,23 @@ class ArchiveProcessingTest extends DatabaseTestCase $now = time(); $siteTimezone = 'Europe/Paris'; - $timestamp = Piwik_Date::factory('now', $siteTimezone)->getTimestamp(); + $timestamp = Date::factory('now', $siteTimezone)->getTimestamp(); $dateLabel = date('Y-m-d', $timestamp); - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving(true); + Rules::setBrowserTriggerArchiving(true); $archiveProcessor = $this->_createArchiveProcessor('day', $dateLabel, $siteTimezone); $archiveProcessor->time = $now; // we look at anything processed within the time to live range - $dateMinArchived = $now - Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $dateMinArchived = $now - Rules::getTodayArchiveTimeToLive(); $minTimeArchivedProcessed = $archiveProcessor->getMinTimeArchivedProcessed(); $this->compareTimestamps($dateMinArchived, $minTimeArchivedProcessed); $this->assertTrue($archiveProcessor->isArchiveTemporary()); // when browsers don't trigger archives, we force ArchiveProcessor // to fetch any of the most recent archive - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving(false); + Rules::setBrowserTriggerArchiving(false); // see isArchivingDisabled() // Running in CLI doesn't impact the time to live today's archive we are loading // From CLI, we will not return data that is 'stale' @@ -255,22 +260,22 @@ class ArchiveProcessingTest extends DatabaseTestCase $now = time(); $siteTimezone = 'America/Toronto'; - $timestamp = Piwik_Date::factory('now', $siteTimezone)->getTimestamp(); + $timestamp = Date::factory('now', $siteTimezone)->getTimestamp(); $dateLabel = date('Y-m-d', $timestamp); - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving(true); + Rules::setBrowserTriggerArchiving(true); $archiveProcessor = $this->_createArchiveProcessor('day', $dateLabel, $siteTimezone); $archiveProcessor->time = $now; // we look at anything processed within the time to live range - $dateMinArchived = $now - Piwik_ArchiveProcessor_Rules::getTodayArchiveTimeToLive(); + $dateMinArchived = $now - Rules::getTodayArchiveTimeToLive(); $this->compareTimestamps($dateMinArchived, $archiveProcessor->getMinTimeArchivedProcessed() ); $this->assertTrue($archiveProcessor->isArchiveTemporary()); // when browsers don't trigger archives, we force ArchiveProcessor // to fetch any of the most recent archive - Piwik_ArchiveProcessor_Rules::setBrowserTriggerArchiving(false); + Rules::setBrowserTriggerArchiving(false); // see isArchivingDisabled() // Running in CLI doesn't impact the time to live today's archive we are loading // From CLI, we will not return data that is 'stale' @@ -373,7 +378,7 @@ class ArchiveProcessingTest extends DatabaseTestCase { $siteTimezone = 'America/Toronto'; $dateLabel = '2011-03-31'; - $table = Piwik_DataAccess_ArchiveTableCreator::getBlobTable(Piwik_Date::factory($dateLabel)); + $table = ArchiveTableCreator::getBlobTable(Date::factory($dateLabel)); $data = $this->_getBlobDataInsert(); try { @@ -406,7 +411,7 @@ class ArchiveProcessingTest extends DatabaseTestCase { $siteTimezone = 'America/Toronto'; $dateLabel = '2011-03-31'; - $table = Piwik_DataAccess_ArchiveTableCreator::getBlobTable(Piwik_Date::factory($dateLabel)); + $table = ArchiveTableCreator::getBlobTable(Date::factory($dateLabel)); $data = $this->_getBlobDataInsert(); Piwik::tableInsertBatchIterate($table, array('idarchive', 'name', 'idsite', 'date1', 'date2', 'period', 'ts_archived', 'value'), $data); diff --git a/tests/PHPUnit/Core/DataTable/Filter/AddSummaryRowTest.php b/tests/PHPUnit/Core/DataTable/Filter/AddSummaryRowTest.php index 5071d2b8159c254e0003fb73e9e90c476dd0a576..05136a1c276405763393913022b371eb225c030e 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/AddSummaryRowTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/AddSummaryRowTest.php @@ -5,6 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Filter\AddSummaryRow; +use Piwik\DataTable\Row; + class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase { /** @@ -17,10 +21,10 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase public function testOffsetIsCountSummaryRowShouldBeTheRow() { $table = $this->getDataTableCount5(); - $filter = new Piwik_DataTable_Filter_AddSummaryRow($table, 5); + $filter = new AddSummaryRow($table, 5); $filter->filter($table); $this->assertEquals(5, $table->getRowsCount()); - $this->assertTrue(Piwik_DataTable_Row::isEqual($table->getLastRow(), $this->getRow4())); + $this->assertTrue(Row::isEqual($table->getLastRow(), $this->getRow4())); } /** @@ -33,11 +37,11 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase public function testOffsetIsLessThanCountSummaryRowShouldBeTheSum() { $table = $this->getDataTableCount5(); - $filter = new Piwik_DataTable_Filter_AddSummaryRow($table, 2); + $filter = new AddSummaryRow($table, 2); $filter->filter($table); $this->assertEquals(3, $table->getRowsCount()); - $expectedRow = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'nb' => 111))); - $this->assertTrue(Piwik_DataTable_Row::isEqual($table->getLastRow(), $expectedRow)); + $expectedRow = new Row(array(Row::COLUMNS => array('label' => DataTable::LABEL_SUMMARY_ROW, 'nb' => 111))); + $this->assertTrue(Row::isEqual($table->getLastRow(), $expectedRow)); // check that column 'label' is forced to be first in summary row $this->assertEquals(array_keys($table->getLastRow()->getColumns()), array_keys($expectedRow->getColumns())); } @@ -52,10 +56,10 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase public function testOffsetIsMoreThanCountShouldNotAddSummaryRow() { $table = $this->getDataTableCount5(); - $filter = new Piwik_DataTable_Filter_AddSummaryRow($table, 6); + $filter = new AddSummaryRow($table, 6); $filter->filter($table); $this->assertEquals(5, $table->getRowsCount()); - $this->assertTrue(Piwik_DataTable_Row::isEqual($table->getLastRow(), $this->getRow4())); + $this->assertTrue(Row::isEqual($table->getLastRow(), $this->getRow4())); } /** @@ -68,13 +72,13 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase public function testWhenThereIsAlreadyASummaryRowShouldReplaceTheSummaryRow() { $table = $this->getDataTableCount5(); - $filter1 = new Piwik_DataTable_Filter_AddSummaryRow($table, 3); + $filter1 = new AddSummaryRow($table, 3); $filter1->filter($table); - $filter2 = new Piwik_DataTable_Filter_AddSummaryRow($table, 2); + $filter2 = new AddSummaryRow($table, 2); $filter2->filter($table); $this->assertEquals(3, $table->getRowsCount()); - $expectedRow = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'nb' => 111))); - $this->assertTrue(Piwik_DataTable_Row::isEqual($table->getLastRow(), $expectedRow)); + $expectedRow = new Row(array(Row::COLUMNS => array('label' => DataTable::LABEL_SUMMARY_ROW, 'nb' => 111))); + $this->assertTrue(Row::isEqual($table->getLastRow(), $expectedRow)); } /** @@ -88,23 +92,23 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase { // row0, row1, row2, rowSummary1 $table1 = $this->getDataTableCount5(); - $filter = new Piwik_DataTable_Filter_AddSummaryRow($table1, 3); + $filter = new AddSummaryRow($table1, 3); $filter->filter($table1); // row0, row1, rowSummary2 $table2 = $this->getDataTableCount5(); - $filter = new Piwik_DataTable_Filter_AddSummaryRow($table2, 2); + $filter = new AddSummaryRow($table2, 2); $filter->filter($table2); // we expect row0+row0, row1+row1, row2, rowSummary1+rowSummary2 - $expectedTable = new Piwik_DataTable; - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'amazon', 'nb' => 20000)))); - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'nb' => 2000)))); - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'piwik', 'nb' => 100)))); - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'nb' => 122)))); + $expectedTable = new DataTable; + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => 'amazon', 'nb' => 20000)))); + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => 'yahoo', 'nb' => 2000)))); + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => 'piwik', 'nb' => 100)))); + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => DataTable::LABEL_SUMMARY_ROW, 'nb' => 122)))); $table1->addDataTable($table2); - $this->assertTrue(Piwik_DataTable::isEqual($expectedTable, $table1)); + $this->assertTrue(DataTable::isEqual($expectedTable, $table1)); } /** @@ -118,23 +122,23 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase { // row0, row1, row2, rowSummary1 $table1 = $this->getDataTableCount5(); - $filter = new Piwik_DataTable_Filter_AddSummaryRow($table1, 3); + $filter = new AddSummaryRow($table1, 3); $filter->filter($table1); // row0, row1, row2, row3, row4 $table2 = $this->getDataTableCount5(); // we expect row0+row0, row1+row1, row2+row2, row3, row4, rowSummary1 - $expectedTable = new Piwik_DataTable; - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'amazon', 'nb' => 20000)))); - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'nb' => 2000)))); - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'piwik', 'nb' => 200)))); + $expectedTable = new DataTable; + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => 'amazon', 'nb' => 20000)))); + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => 'yahoo', 'nb' => 2000)))); + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => 'piwik', 'nb' => 200)))); $expectedTable->addRow($this->getRow3()); $expectedTable->addRow($this->getRow4()); - $expectedTable->addRow(new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'nb' => 11)))); + $expectedTable->addRow(new Row(array(Row::COLUMNS => array('label' => DataTable::LABEL_SUMMARY_ROW, 'nb' => 11)))); $table1->addDataTable($table2); - $this->assertTrue(Piwik_DataTable::isEqual($expectedTable, $table1)); + $this->assertTrue(DataTable::isEqual($expectedTable, $table1)); } @@ -147,28 +151,28 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase */ public function testWhenRowsInRandomOrderButSortSpecifiedShouldComputeSummaryRowAfterSort() { - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRow($this->getRow3()); $table->addRow($this->getRow2()); $table->addRow($this->getRow4()); $table->addRow($this->getRow1()); $table->addRow($this->getRow0()); - $filter = new Piwik_DataTable_Filter_AddSummaryRow($table, 2, Piwik_DataTable::LABEL_SUMMARY_ROW, $columnToSortBy = 'nb'); + $filter = new AddSummaryRow($table, 2, DataTable::LABEL_SUMMARY_ROW, $columnToSortBy = 'nb'); $filter->filter($table); $this->assertEquals(3, $table->getRowsCount()); - $expectedRow = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'nb' => 111))); - $this->assertTrue(Piwik_DataTable_Row::isEqual($table->getLastRow(), $expectedRow)); + $expectedRow = new Row(array(Row::COLUMNS => array('label' => DataTable::LABEL_SUMMARY_ROW, 'nb' => 111))); + $this->assertTrue(Row::isEqual($table->getLastRow(), $expectedRow)); } /** * Returns table used for the tests * - * @return Piwik_DataTable + * @return DataTable */ protected function getDataTableCount5() { - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRow($this->getRow0()); $table->addRow($this->getRow1()); $table->addRow($this->getRow2()); @@ -179,26 +183,26 @@ class DataTable_Filter_AddSummaryRowTest extends PHPUnit_Framework_TestCase protected function getRow0() { - return new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('nb' => 10000, 'label' => 'amazon'))); + return new Row(array(Row::COLUMNS => array('nb' => 10000, 'label' => 'amazon'))); } protected function getRow1() { - return new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'nb' => 1000))); + return new Row(array(Row::COLUMNS => array('label' => 'yahoo', 'nb' => 1000))); } protected function getRow2() { - return new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'piwik', 'nb' => 100))); + return new Row(array(Row::COLUMNS => array('label' => 'piwik', 'nb' => 100))); } protected function getRow3() { - return new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'nb' => 10))); + return new Row(array(Row::COLUMNS => array('label' => 'ask', 'nb' => 10))); } protected function getRow4() { - return new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => array('nb' => 1, 'label' => 'google'))); + return new Row(array(Row::COLUMNS => array('nb' => 1, 'label' => 'google'))); } } diff --git a/tests/PHPUnit/Core/DataTable/Filter/ExcludeLowPopulationTest.php b/tests/PHPUnit/Core/DataTable/Filter/ExcludeLowPopulationTest.php index 5ebb772c72162151ca8736da0eb2b070e162ff6f..084343329fef3691c293e69919bdf5ba12bbaa9d 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/ExcludeLowPopulationTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/ExcludeLowPopulationTest.php @@ -5,19 +5,23 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Filter\ExcludeLowPopulation; +use Piwik\DataTable\Row; + class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCase { protected function getTestDataTable() { - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRowsFromArray( array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'zero', 'count' => 0)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'one', 'count' => 1)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'onedotfive', 'count' => 1.5)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ten', 'count' => 10)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ninety', 'count' => 90)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'hundred', 'count' => 100)), + array(Row::COLUMNS => array('label' => 'zero', 'count' => 0)), + array(Row::COLUMNS => array('label' => 'one', 'count' => 1)), + array(Row::COLUMNS => array('label' => 'onedotfive', 'count' => 1.5)), + array(Row::COLUMNS => array('label' => 'ten', 'count' => 10)), + array(Row::COLUMNS => array('label' => 'ninety', 'count' => 90)), + array(Row::COLUMNS => array('label' => 'hundred', 'count' => 100)), ) ); return $table; @@ -33,7 +37,7 @@ class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCa public function testStandardTable() { $table = $this->getTestDataTable(); - $filter = new Piwik_DataTable_Filter_ExcludeLowPopulation($table, 'count', 1.1); + $filter = new ExcludeLowPopulation($table, 'count', 1.1); $filter->filter($table); $this->assertEquals(4, $table->getRowsCount()); $this->assertEquals(array(1.5, 10, 90, 100), $table->getColumn('count')); @@ -49,7 +53,7 @@ class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCa public function testFilterEqualOneDoesFilter() { $table = $this->getTestDataTable(); - $filter = new Piwik_DataTable_Filter_ExcludeLowPopulation($table, 'count', 1); + $filter = new ExcludeLowPopulation($table, 'count', 1); $filter->filter($table); $this->assertEquals(5, $table->getRowsCount()); } @@ -64,7 +68,7 @@ class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCa public function testFilterEqualZeroDoesFilter() { $table = $this->getTestDataTable(); - $filter = new Piwik_DataTable_Filter_ExcludeLowPopulation($table, 'count', 0); + $filter = new ExcludeLowPopulation($table, 'count', 0); $filter->filter($table); $this->assertEquals(3, $table->getRowsCount()); $this->assertEquals(array(10, 90, 100), $table->getColumn('count')); @@ -80,7 +84,7 @@ class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCa public function testFilterSpecifyExcludeLowPopulationThresholdDoesFilter() { $table = $this->getTestDataTable(); - $filter = new Piwik_DataTable_Filter_ExcludeLowPopulation($table, 'count', 0, 0.4); //40% + $filter = new ExcludeLowPopulation($table, 'count', 0, 0.4); //40% $filter->filter($table); $this->assertEquals(2, $table->getRowsCount()); $this->assertEquals(array(90, 100), $table->getColumn('count')); @@ -98,9 +102,9 @@ class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCa public function testFilterLowpop1() { - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; - $table = new Piwik_DataTable(); + $table = new DataTable(); $rows = array( array($idcol => array('label' => 'google', 'nb_visits' => 897)), //0 array($idcol => array('label' => 'ask', 'nb_visits' => -152)), //1 @@ -114,7 +118,7 @@ class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCa ); $table->addRowsFromArray($rows); - $expectedtable = new Piwik_DataTable(); + $expectedtable = new DataTable(); $rows = array( array($idcol => array('label' => 'google', 'nb_visits' => 897)), //0 array($idcol => array('label' => 'piwik', 'nb_visits' => 1.5)), //2 @@ -124,9 +128,9 @@ class DataTable_Filter_ExcludeLowPopulationTest extends PHPUnit_Framework_TestCa ); $expectedtable->addRowsFromArray($rows); - $filter = new Piwik_DataTable_Filter_ExcludeLowPopulation($table, 'nb_visits', 1.4); + $filter = new ExcludeLowPopulation($table, 'nb_visits', 1.4); $filter->filter($table); - $this->assertTrue(Piwik_DataTable::isEqual($table, $expectedtable)); + $this->assertTrue(DataTable::isEqual($table, $expectedtable)); } } diff --git a/tests/PHPUnit/Core/DataTable/Filter/LimitTest.php b/tests/PHPUnit/Core/DataTable/Filter/LimitTest.php index 37a9e20d587e2099d2d20971b836a327c0702c2e..21d713c22e07d1c4b6a11f2fec2d7d0323bfd7dc 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/LimitTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/LimitTest.php @@ -5,17 +5,21 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Filter\Limit; +use Piwik\DataTable\Row; + class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase { /** * Returns table used for the tests * - * @return Piwik_DataTable + * @return DataTable */ protected function getDataTableCount10() { - $table = new Piwik_DataTable; - $idcol = Piwik_DataTable_Row::COLUMNS; + $table = new DataTable; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google', 'idRow' => 0)), array($idcol => array('label' => 'ask', 'idRow' => 1)), @@ -26,7 +30,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'test', 'idRow' => 6)), array($idcol => array('label' => 'amazing', 'idRow' => 7)), array($idcol => array('label' => 'great', 'idRow' => 8)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => 'summary row', 'idRow' => 9)), + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => 'summary row', 'idRow' => 9)), ); $table->addRowsFromArray($rows); return $table; @@ -44,7 +48,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $offset = 2; $limit = 3; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(3, $table->getRowsCount()); $this->assertEquals(2, $table->getFirstRow()->getColumn('idRow')); @@ -64,7 +68,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $offset = 2; $limit = 7; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(7, $table->getRowsCount()); $this->assertEquals(2, $table->getFirstRow()->getColumn('idRow')); @@ -85,7 +89,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $limit = 10; $table = $this->getDataTableCount10(); $this->assertEquals(10, $table->getRowsCountBeforeLimitFilter()); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(10, $table->getRowsCount()); $this->assertEquals(0, $table->getFirstRow()->getColumn('idRow')); @@ -106,7 +110,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $limit = 20; $table = $this->getDataTableCount10(); $this->assertEquals(10, $table->getRowsCountBeforeLimitFilter()); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(5, $table->getRowsCount()); $this->assertEquals(5, $table->getFirstRow()->getColumn('idRow')); @@ -125,7 +129,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase { $offset = 1; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset); + $filter = new Limit($table, $offset); $filter->filter($table); $this->assertEquals(9, $table->getRowsCount()); $this->assertEquals(1, $table->getFirstRow()->getColumn('idRow')); @@ -145,7 +149,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $offset = 9; $limit = 1; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(1, $table->getRowsCount()); $this->assertEquals(9, $table->getFirstRow()->getColumn('idRow')); @@ -165,7 +169,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $offset = 9; $limit = 100; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(1, $table->getRowsCount()); $this->assertEquals(9, $table->getFirstRow()->getColumn('idRow')); @@ -185,7 +189,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $offset = 8; $limit = 3; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(2, $table->getRowsCount()); $this->assertEquals(8, $table->getFirstRow()->getColumn('idRow')); @@ -205,7 +209,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $offset = 10; $limit = 10; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(0, $table->getRowsCount()); $this->assertEquals(10, $table->getRowsCountBeforeLimitFilter()); @@ -223,7 +227,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $offset = 0; $limit = 0; $table = $this->getDataTableCount10(); - $filter = new Piwik_DataTable_Filter_Limit($table, $offset, $limit); + $filter = new Limit($table, $offset, $limit); $filter->filter($table); $this->assertEquals(0, $table->getRowsCount()); $this->assertEquals(10, $table->getRowsCountBeforeLimitFilter()); @@ -239,9 +243,9 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase */ public function testFilterOffsetLimit() { - $table = new Piwik_DataTable; + $table = new DataTable; - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google')), //0 @@ -258,7 +262,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $expectedtable = clone $table; $expectedtable->deleteRows(array(0, 1, 6)); - $filter = new Piwik_DataTable_Filter_Limit($table, 2, 4); + $filter = new Limit($table, 2, 4); $filter->filter($table); $colAfter = $colExpected = array(); @@ -278,9 +282,9 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase */ public function testFilterOffsetLimitOffbound() { - $table = new Piwik_DataTable; + $table = new DataTable; - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google')), //0 @@ -297,7 +301,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $expectedtable = clone $table; $expectedtable->deleteRows(array(0, 1, 3, 4, 5, 6)); - $filter = new Piwik_DataTable_Filter_Limit($table, 2, 1); + $filter = new Limit($table, 2, 1); $filter->filter($table); $colAfter = $colExpected = array(); @@ -317,9 +321,9 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase */ public function testFilterOffsetLimit2() { - $table = new Piwik_DataTable; + $table = new DataTable; - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google')), //0 @@ -335,7 +339,7 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $expectedtable = clone $table; - $filter = new Piwik_DataTable_Filter_Limit($table, 0, 15); + $filter = new Limit($table, 0, 15); $filter->filter($table); $colAfter = $colExpected = array(); @@ -355,9 +359,9 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase */ public function testFilterOffsetLimit3() { - $table = new Piwik_DataTable; + $table = new DataTable; - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google')), //0 @@ -371,9 +375,9 @@ class DataTable_Filter_LimitTest extends PHPUnit_Framework_TestCase $table->addRowsFromArray($rows); - $expectedtable = new Piwik_DataTable; + $expectedtable = new DataTable; - $filter = new Piwik_DataTable_Filter_Limit($table, 8, 15); + $filter = new Limit($table, 8, 15); $filter->filter($table); $colAfter = $colExpected = array(); diff --git a/tests/PHPUnit/Core/DataTable/Filter/PatternRecursiveTest.php b/tests/PHPUnit/Core/DataTable/Filter/PatternRecursiveTest.php index 5efc2dac7abec3c8033def4750a248a50575a0e3..f9e7e0da27b30b0c924a56d56030bef7e32dd83d 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/PatternRecursiveTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/PatternRecursiveTest.php @@ -5,32 +5,35 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Row; + class DataTable_Filter_PatternRecursiveTest extends PHPUnit_Framework_TestCase { /** * Returns a data table for testing - * @return Piwik_DataTable + * @return DataTable */ protected function getTable() { - $subtableAskPath1 = new Piwik_DataTable(); + $subtableAskPath1 = new DataTable(); $subtableAskPath1->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'path1-index-page.html')), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'another-page')), + array(Row::COLUMNS => array('label' => 'path1-index-page.html')), + array(Row::COLUMNS => array('label' => 'another-page')), )); - $subtableAsk = new Piwik_DataTable(); + $subtableAsk = new DataTable(); $subtableAsk->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'path1'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subtableAskPath1), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'index.html')), + array(Row::COLUMNS => array('label' => 'path1'), + Row::DATATABLE_ASSOCIATED => $subtableAskPath1), + array(Row::COLUMNS => array('label' => 'index.html')), )); - $table = new Piwik_DataTable; + $table = new DataTable; $rows = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'http://www.ask.com'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subtableAsk), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo')), + array(Row::COLUMNS => array('label' => 'http://www.ask.com'), + Row::DATATABLE_ASSOCIATED => $subtableAsk), + array(Row::COLUMNS => array('label' => 'yahoo')), ); $table->addRowsFromArray($rows); return $table; diff --git a/tests/PHPUnit/Core/DataTable/Filter/PatternTest.php b/tests/PHPUnit/Core/DataTable/Filter/PatternTest.php index d90de04a44d3606b72b30a914561546c156d2056..b6f1893d8b1df2aee45aae69c63674683f0d347e 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/PatternTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/PatternTest.php @@ -5,6 +5,9 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Row; + class DataTable_Filter_PatternTest extends PHPUnit_Framework_TestCase { /** @@ -33,16 +36,16 @@ class DataTable_Filter_PatternTest extends PHPUnit_Framework_TestCase */ public function testFilterPattern($test) { - $table = new Piwik_DataTable; + $table = new DataTable; - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google')), array($idcol => array('label' => 'ask')), array($idcol => array('label' => 'piwik')), array($idcol => array('label' => 'yahoo')), - array(Piwik_DataTable_Row::METADATA => array('label' => 'amazon')), + array(Row::METADATA => array('label' => 'amazon')), array($idcol => array('label' => '2389752/47578949')), array($idcol => array('label' => 'Q*(%&*("$&%*(&"$*")"))')) ); diff --git a/tests/PHPUnit/Core/DataTable/Filter/RangeCheckTest.php b/tests/PHPUnit/Core/DataTable/Filter/RangeCheckTest.php index 397333ce29d58ef5f00d8d8e6b0b18b1342c4ddc..9a985f3b837045ec9661683715b4aee0d866b455 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/RangeCheckTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/RangeCheckTest.php @@ -5,6 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Filter\RangeCheck; +use Piwik\DataTable\Row; + class DataTable_Filter_RangeCheckTest extends PHPUnit_Framework_TestCase { /** @@ -16,15 +20,15 @@ class DataTable_Filter_RangeCheckTest extends PHPUnit_Framework_TestCase */ public function testRangeCheckNormalDataTable() { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'count' => 3)), // --> 5 - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nintendo', 'count' => 5)), // --> 5 - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'test', 'count' => 7.5)), // --> 7.5 - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'google', 'count' => 9)), // --> 9 - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'count' => 10.1) // --> 10 + array(Row::COLUMNS => array('label' => 'ask', 'count' => 3)), // --> 5 + array(Row::COLUMNS => array('label' => 'nintendo', 'count' => 5)), // --> 5 + array(Row::COLUMNS => array('label' => 'test', 'count' => 7.5)), // --> 7.5 + array(Row::COLUMNS => array('label' => 'google', 'count' => 9)), // --> 9 + array(Row::COLUMNS => array('label' => 'yahoo', 'count' => 10.1) // --> 10 ))); - $filter = new Piwik_DataTable_Filter_RangeCheck($table, 'count', 5, 10); + $filter = new RangeCheck($table, 'count', 5, 10); $filter->filter($table); $expectedOrder = array(5, 5, 7.5, 9, 10); @@ -40,16 +44,16 @@ class DataTable_Filter_RangeCheckTest extends PHPUnit_Framework_TestCase */ public function testRangeCheckNormalDataTableNonIntegerValues() { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'count' => '3')), // 3 is below minimum - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nintendo', 'count' => 'test')), // no number is below minimum - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'test', 'count' => 0x1232)), // number is over maximum - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'piwik', 'count' => 0x005)), // converted to 5 is ok - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'google', 'count' => '9test')), // converted to 9 is ok, so string will be kept - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'count' => 'test4') // can't be converted to number + array(Row::COLUMNS => array('label' => 'ask', 'count' => '3')), // 3 is below minimum + array(Row::COLUMNS => array('label' => 'nintendo', 'count' => 'test')), // no number is below minimum + array(Row::COLUMNS => array('label' => 'test', 'count' => 0x1232)), // number is over maximum + array(Row::COLUMNS => array('label' => 'piwik', 'count' => 0x005)), // converted to 5 is ok + array(Row::COLUMNS => array('label' => 'google', 'count' => '9test')), // converted to 9 is ok, so string will be kept + array(Row::COLUMNS => array('label' => 'yahoo', 'count' => 'test4') // can't be converted to number ))); - $filter = new Piwik_DataTable_Filter_RangeCheck($table, 'count', 3.97, 10); + $filter = new RangeCheck($table, 'count', 3.97, 10); $filter->filter($table); $expectedOrder = array(3.97, 3.97, 10, 5, '9test', 3.97); diff --git a/tests/PHPUnit/Core/DataTable/Filter/SortTest.php b/tests/PHPUnit/Core/DataTable/Filter/SortTest.php index eb793bd13622e8aec95695125d5b588c99007b40..204d98f432890c2bf50c340b16b9dc9178a9a07f 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/SortTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/SortTest.php @@ -5,6 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Filter\Sort; +use Piwik\DataTable\Row; + class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase { /** @@ -16,13 +20,13 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase */ public function testNormalSortDescending() { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'count' => 100)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nintendo', 'count' => 0)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'count' => 10) + array(Row::COLUMNS => array('label' => 'ask', 'count' => 100)), + array(Row::COLUMNS => array('label' => 'nintendo', 'count' => 0)), + array(Row::COLUMNS => array('label' => 'yahoo', 'count' => 10) ))); - $filter = new Piwik_DataTable_Filter_Sort($table, 'count', 'desc'); + $filter = new Sort($table, 'count', 'desc'); $filter->filter($table); $expectedOrder = array('ask', 'yahoo', 'nintendo'); $this->assertEquals($expectedOrder, $table->getColumn('label')); @@ -37,13 +41,13 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase */ public function testNormalSortAscending() { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'count' => 100.5)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nintendo', 'count' => 0.5)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'yahoo', 'count' => 10.5) + array(Row::COLUMNS => array('label' => 'ask', 'count' => 100.5)), + array(Row::COLUMNS => array('label' => 'nintendo', 'count' => 0.5)), + array(Row::COLUMNS => array('label' => 'yahoo', 'count' => 10.5) ))); - $filter = new Piwik_DataTable_Filter_Sort($table, 'count', 'asc'); + $filter = new Sort($table, 'count', 'asc'); $filter->filter($table); $expectedOrder = array('nintendo', 'yahoo', 'ask'); $this->assertEquals($expectedOrder, $table->getColumn('label')); @@ -58,16 +62,16 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase */ public function testMissingColumnValuesShouldAppearLastAfterSortAsc() { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nintendo', 'count' => 1)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nocolumn')), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nocolumnbis')), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'count' => 2)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'amazing')), - Piwik_DataTable::ID_SUMMARY_ROW => array(Piwik_DataTable_Row::COLUMNS => array('label' => 'summary', 'count' => 10) + array(Row::COLUMNS => array('label' => 'nintendo', 'count' => 1)), + array(Row::COLUMNS => array('label' => 'nocolumn')), + array(Row::COLUMNS => array('label' => 'nocolumnbis')), + array(Row::COLUMNS => array('label' => 'ask', 'count' => 2)), + array(Row::COLUMNS => array('label' => 'amazing')), + DataTable::ID_SUMMARY_ROW => array(Row::COLUMNS => array('label' => 'summary', 'count' => 10) ))); - $filter = new Piwik_DataTable_Filter_Sort($table, 'count', 'asc'); + $filter = new Sort($table, 'count', 'asc'); $filter->filter($table); $expectedOrder = array('nintendo', 'ask', 'amazing', 'nocolumnbis', 'nocolumn', 'summary'); $this->assertEquals($expectedOrder, $table->getColumn('label')); @@ -82,14 +86,14 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase */ public function testMissingColumnValuesShouldAppearLastAfterSortDesc() { - $table = new Piwik_DataTable(); + $table = new DataTable(); $table->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'nintendo', 'count' => 1)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'count' => 2)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'amazing')), - Piwik_DataTable::ID_SUMMARY_ROW => array(Piwik_DataTable_Row::COLUMNS => array('label' => 'summary', 'count' => 10) + array(Row::COLUMNS => array('label' => 'nintendo', 'count' => 1)), + array(Row::COLUMNS => array('label' => 'ask', 'count' => 2)), + array(Row::COLUMNS => array('label' => 'amazing')), + DataTable::ID_SUMMARY_ROW => array(Row::COLUMNS => array('label' => 'summary', 'count' => 10) ))); - $filter = new Piwik_DataTable_Filter_Sort($table, 'count', 'desc'); + $filter = new Sort($table, 'count', 'desc'); $filter->filter($table); $expectedOrder = array('ask', 'nintendo', 'amazing', 'summary'); $this->assertEquals($expectedOrder, $table->getColumn('label')); @@ -105,8 +109,8 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase */ public function testFilterSortString() { - $idcol = Piwik_DataTable_Row::COLUMNS; - $table = new Piwik_DataTable(); + $idcol = Row::COLUMNS; + $table = new DataTable(); $rows = array( array($idcol => array('label' => 'google')), //0 array($idcol => array('label' => 'ask')), //1 @@ -117,7 +121,7 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'Q*(%&*("$&%*(&"$*")"))')) //6 ); $table->addRowsFromArray($rows); - $expectedtable = new Piwik_DataTable(); + $expectedtable = new DataTable(); $rows = array( array($idcol => array('label' => '238975247578949')), //5 array($idcol => array('label' => 'amazon')), //4 @@ -128,16 +132,16 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'yahoo')) //3 ); $expectedtable->addRowsFromArray($rows); - $expectedtableReverse = new Piwik_DataTable(); + $expectedtableReverse = new DataTable(); $expectedtableReverse->addRowsFromArray(array_reverse($rows)); - $filter = new Piwik_DataTable_Filter_Sort($table, 'label', 'asc'); + $filter = new Sort($table, 'label', 'asc'); $filter->filter($table); - $this->assertTrue(Piwik_DataTable::isEqual($expectedtable, $table)); + $this->assertTrue(DataTable::isEqual($expectedtable, $table)); - $filter = new Piwik_DataTable_Filter_Sort($table, 'label', 'desc'); + $filter = new Sort($table, 'label', 'desc'); $filter->filter($table); - $this->assertTrue(Piwik_DataTable::isEqual($table, $expectedtableReverse)); + $this->assertTrue(DataTable::isEqual($table, $expectedtableReverse)); } /** @@ -150,8 +154,8 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase */ public function testFilterSortNumeric() { - $idcol = Piwik_DataTable_Row::COLUMNS; - $table = new Piwik_DataTable(); + $idcol = Row::COLUMNS; + $table = new DataTable(); $rows = array( array($idcol => array('label' => 'google', 'nb_visits' => 897)), //0 array($idcol => array('label' => 'ask', 'nb_visits' => -152)), //1 @@ -162,7 +166,7 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'Q*(%&*', 'nb_visits' => 1)) //6 ); $table->addRowsFromArray($rows); - $expectedtable = new Piwik_DataTable(); + $expectedtable = new DataTable(); $rows = array( array($idcol => array('label' => 'ask', 'nb_visits' => -152)), //1 array($idcol => array('label' => '238949', 'nb_visits' => 0)), //5 @@ -173,15 +177,15 @@ class DataTable_Filter_SortTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'google', 'nb_visits' => 897)) //0 ); $expectedtable->addRowsFromArray($rows); - $expectedtableReverse = new Piwik_DataTable(); + $expectedtableReverse = new DataTable(); $expectedtableReverse->addRowsFromArray(array_reverse($rows)); - $filter = new Piwik_DataTable_Filter_Sort($table, 'nb_visits', 'asc'); + $filter = new Sort($table, 'nb_visits', 'asc'); $filter->filter($table); - $this->assertTrue(Piwik_DataTable::isEqual($table, $expectedtable)); + $this->assertTrue(DataTable::isEqual($table, $expectedtable)); - $filter = new Piwik_DataTable_Filter_Sort($table, 'nb_visits', 'desc'); + $filter = new Sort($table, 'nb_visits', 'desc'); $filter->filter($table); - $this->assertTrue(Piwik_DataTable::isEqual($table, $expectedtableReverse)); + $this->assertTrue(DataTable::isEqual($table, $expectedtableReverse)); } } diff --git a/tests/PHPUnit/Core/DataTable/Filter/TruncateTest.php b/tests/PHPUnit/Core/DataTable/Filter/TruncateTest.php index 1d46658e63a1711467a59017b431fd985e505b65..c499350066b7a8d092080c2e494b7192169ba957 100644 --- a/tests/PHPUnit/Core/DataTable/Filter/TruncateTest.php +++ b/tests/PHPUnit/Core/DataTable/Filter/TruncateTest.php @@ -5,6 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Filter\Truncate; +use Piwik\DataTable\Row; + class DataTable_Filter_TruncateTest extends PHPUnit_Framework_TestCase { /** @@ -17,20 +21,20 @@ class DataTable_Filter_TruncateTest extends PHPUnit_Framework_TestCase { // remark: this unit test would become invalid and would need to be rewritten if // AddSummaryRow filter stops calling getRowsCount() on the DataTable being filtered. - $mockedDataTable = $this->getMock('Piwik_DataTable', array('getRowsCount')); + $mockedDataTable = $this->getMock('\Piwik\DataTable', array('getRowsCount')); $mockedDataTable->expects($this->never())->method('getRowsCount'); - $dataTableBeingFiltered = new Piwik_DataTable(); - $rowBeingFiltered = new Piwik_DataTable_Row(); + $dataTableBeingFiltered = new DataTable(); + $rowBeingFiltered = new Row(); $dataTableBeingFiltered->addRow($rowBeingFiltered); - // we simulate the fact that the value of Piwik_DataTable_Row::DATATABLE_ASSOCIATED retrieved - // from the database is in conflict with one of the Piwik_DataTable_Manager managed table identifiers. + // we simulate the fact that the value of Row::DATATABLE_ASSOCIATED retrieved + // from the database is in conflict with one of the Manager managed table identifiers. // This is a rare but legitimate case as identifiers are not thoroughly synchronized // when the expanded parameter is false. - $rowBeingFiltered->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = $mockedDataTable->getId(); + $rowBeingFiltered->c[Row::DATATABLE_ASSOCIATED] = $mockedDataTable->getId(); - $filter = new Piwik_DataTable_Filter_Truncate($dataTableBeingFiltered, 1); + $filter = new Truncate($dataTableBeingFiltered, 1); $filter->filter($dataTableBeingFiltered); } @@ -43,22 +47,22 @@ class DataTable_Filter_TruncateTest extends PHPUnit_Framework_TestCase */ public function testForInfiniteRecursion() { - $dataTableBeingFiltered = new Piwik_DataTable(); + $dataTableBeingFiltered = new DataTable(); // remark: this unit test would become invalid and would need to be rewritten if // Truncate filter stops calling getIdSubDataTable() on rows associated with a SubDataTable - $rowBeingFiltered = $this->getMock('Piwik_DataTable_Row', array('getIdSubDataTable')); + $rowBeingFiltered = $this->getMock('Row', array('getIdSubDataTable')); $rowBeingFiltered->expects($this->never())->method('getIdSubDataTable'); $dataTableBeingFiltered->addRow($rowBeingFiltered); - // we simulate a legitimate but rare circular reference between a Piwik_DataTable_Row and its - // enclosing Piwik_DataTable. + // we simulate a legitimate but rare circular reference between a Row and its + // enclosing DataTable. // This can happen because identifiers are not thoroughly synchronized when the expanded parameter // is false. - $rowBeingFiltered->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = $dataTableBeingFiltered->getId(); + $rowBeingFiltered->c[Row::DATATABLE_ASSOCIATED] = $dataTableBeingFiltered->getId(); - $filter = new Piwik_DataTable_Filter_Truncate($dataTableBeingFiltered, 1); + $filter = new Truncate($dataTableBeingFiltered, 1); $filter->filter($dataTableBeingFiltered); } } diff --git a/tests/PHPUnit/Core/DataTable/ArrayTest.php b/tests/PHPUnit/Core/DataTable/MapTest.php old mode 100755 new mode 100644 similarity index 80% rename from tests/PHPUnit/Core/DataTable/ArrayTest.php rename to tests/PHPUnit/Core/DataTable/MapTest.php index 2c1cc4e069df59d13e5e303fc912b2ecace85d09..2ac19275a9a10c1d9f3a9017b95491f276eb3f6d --- a/tests/PHPUnit/Core/DataTable/ArrayTest.php +++ b/tests/PHPUnit/Core/DataTable/MapTest.php @@ -1,22 +1,25 @@ <?php use Piwik\Config; +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Row; -class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase +class Test_DataTable_Map extends PHPUnit_Framework_TestCase { public function setUp() { parent::setUp(); Config::getInstance()->setTestEnvironment(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); } private function createTestDataTable() { - $result = new Piwik_DataTable(); + $result = new DataTable(); $result->addRowsFromArray(array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'row1', 'col1' => 1)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'row2', 'col1' => 2)) + array(Row::COLUMNS => array('label' => 'row1', 'col1' => 1)), + array(Row::COLUMNS => array('label' => 'row2', 'col1' => 2)) )); return $result; @@ -24,7 +27,7 @@ class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase private function createInstanceWithDataTables() { - $dataTable = new Piwik_DataTable_Array(); + $dataTable = new DataTable\Map(); $subDataTable1 = $this->createTestDataTable(); $dataTable->addTable($subDataTable1, 'subDataTable1'); @@ -37,7 +40,7 @@ class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase private function createInstanceWithDataTableArrays() { - $dataTable = new Piwik_DataTable_Array(); + $dataTable = new DataTable\Map(); $subDataTableArray1 = $this->createInstanceWithDataTables(); $dataTable->addTable($subDataTableArray1, 'subArray1'); @@ -49,7 +52,7 @@ class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase } /** - * Tests that Piwik_DataTable_Array::mergeChildren works when the DataTable_Array contains DataTables. + * Tests that Set::mergeChildren works when the DataTable_Array contains DataTables. * @group Core * @group DataTable * @group DataTable_Array @@ -61,7 +64,7 @@ class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase $result = $dataTable->mergeChildren(); // check that the result is a DataTable w/ 4 rows - $this->assertInstanceOf('Piwik_DataTable', $result); + $this->assertInstanceOf('DataTable', $result); $this->assertEquals(4, $result->getRowsCount()); // check that the first two rows have 'subDataTable1' as the label @@ -80,7 +83,7 @@ class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase } /** - * Tests that Piwik_DataTable_Array::mergeChildren works when the DataTable_Array contains DataTable_Arrays. + * Tests that Set::mergeChildren works when the DataTable_Array contains DataTable_Arrays. * @group Core * @group DataTable * @group DataTable_Array @@ -92,12 +95,12 @@ class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase $result = $dataTable->mergeChildren(); // check that the result is a DataTable_Array w/ two DataTable children - $this->assertInstanceOf('Piwik_DataTable_Array', $result); + $this->assertInstanceOf('Set', $result); $this->assertEquals(2, $result->getRowsCount()); // check that the first sub-DataTable is a DataTable with 4 rows $subDataTable1 = $result->getTable('subDataTable1'); - $this->assertTrue($subDataTable1 instanceof Piwik_DataTable); + $this->assertTrue($subDataTable1 instanceof DataTable); $this->assertEquals(4, $subDataTable1->getRowsCount()); // check that the first two rows of the first sub-table have 'subArray1' as the label @@ -110,7 +113,7 @@ class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase // check that the second sub-DataTable is a DataTable with 4 rows $subDataTable2 = $result->getTable('subDataTable2'); - $this->assertTrue($subDataTable2 instanceof Piwik_DataTable); + $this->assertTrue($subDataTable2 instanceof DataTable); $this->assertEquals(4, $subDataTable2->getRowsCount()); // check that the first two rows of the second sub-table have 'subArray1' as the label diff --git a/tests/PHPUnit/Core/DataTable/Renderer/CSVTest.php b/tests/PHPUnit/Core/DataTable/Renderer/CSVTest.php index 27805342485094540da3e07421d2844b509b7c94..52320105f624440c6b4263c479d79481373ac9f1 100644 --- a/tests/PHPUnit/Core/DataTable/Renderer/CSVTest.php +++ b/tests/PHPUnit/Core/DataTable/Renderer/CSVTest.php @@ -5,12 +5,18 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Renderer\Csv; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Row; + class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase { public function setUp() { parent::setUp(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); } /** @@ -22,22 +28,22 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase */ protected function _getDataTableTest() { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); $arraySubTableForRow2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), + array(Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), + array(Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), ); - $subDataTableForRow2 = new Piwik_DataTable(); + $subDataTableForRow2 = new DataTable(); $subDataTableForRow2->addRowsFromArray($arraySubTableForRow2); $array = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), + Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, ) ); $dataTable->addRowsFromArray($array); @@ -48,7 +54,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase { $array = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0, 'nb_visits' => 66.0, 'nb_actions' => 151.0, 'sum_visit_length' => 5118.0, 'bounce_count' => 44.0,); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -57,21 +63,21 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase { $array = array('nb_visits' => 14.0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } protected function _getDataTableEmpty() { - $table = new Piwik_DataTable; + $table = new DataTable; return $table; } protected function _getDataTableSimpleOneZeroRowTest() { $array = array('nb_visits' => 0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -79,7 +85,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneFalseRowTest() { $array = array('is_excluded' => false); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -95,7 +101,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase { $dataTable = $this->_getDataTableTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "label,bool,goals_idgoal=1_revenue,goals_idgoal=1_nb_conversions,nb_uniq_visitors,nb_visits,nb_actions,max_actions,sum_visit_length,bounce_count,metadata_url,metadata_logo\n" . @@ -115,7 +121,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVTest2() { $dataTable = $this->_getDataTableSimpleTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "max_actions,nb_uniq_visitors,nb_visits,nb_actions,sum_visit_length,bounce_count\n14,57,66,151,5118,44"; @@ -132,7 +138,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVTest3() { $dataTable = $this->_getDataTableSimpleOneRowTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "value\n14"; @@ -149,7 +155,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVTest4() { $dataTable = $this->_getDataTableEmpty(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = 'No data available'; @@ -166,7 +172,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVTest5() { $dataTable = $this->_getDataTableSimpleOneZeroRowTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "value\n0"; @@ -183,7 +189,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVTest6() { $dataTable = $this->_getDataTableSimpleOneFalseRowTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "value\n0"; @@ -199,32 +205,32 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase protected function _getDataTableArrayTest() { $array1 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), + Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), ) ); - $table1 = new Piwik_DataTable(); + $table1 = new DataTable(); $table1->addRowsFromArray($array1); $array2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), + array(Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), + Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), + array(Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), + Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), ) ); - $table2 = new Piwik_DataTable(); + $table2 = new DataTable(); $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable(); + $table3 = new DataTable(); - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'date1'); $table->addTable($table2, 'date2'); @@ -236,16 +242,16 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleArrayTest() { $array1 = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0,); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('max_actions' => 140.0, 'nb_uniq_visitors' => 570.0,); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -257,15 +263,15 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneRowArrayTest() { $array1 = array('nb_visits' => 14.0); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('nb_visits' => 15.0); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -276,7 +282,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_normal() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableArrayTest(), 'idSite'); return $table; @@ -284,7 +290,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simple() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleArrayTest(), 'idSite'); return $table; @@ -292,7 +298,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simpleOneRow() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleOneRowArrayTest(), 'idSite'); return $table; @@ -307,7 +313,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVArrayTest1() { $dataTable = $this->_getDataTableArrayTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "testKey,label,nb_uniq_visitors,nb_visits,metadata_url,metadata_logo\n" . @@ -329,7 +335,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVArrayTest2() { $dataTable = $this->_getDataTableSimpleArrayTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "testKey,max_actions,nb_uniq_visitors\nrow1,14,57\nrow2,140,570"; @@ -347,7 +353,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVArrayTest3() { $dataTable = $this->_getDataTableSimpleOneRowArrayTest(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "testKey,value\nrow1,14\nrow2,15"; @@ -364,7 +370,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVArrayisMadeOfArrayTest1() { $dataTable = $this->_getDataTableArray_containsDataTableArray_normal(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "parentArrayKey,testKey,label,nb_uniq_visitors,nb_visits,metadata_url,metadata_logo\n" . @@ -386,7 +392,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVArrayIsMadeOfArrayTest2() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simple(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "parentArrayKey,testKey,max_actions,nb_uniq_visitors\nidSite,row1,14,57\nidSite,row2,140,570"; @@ -404,7 +410,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase public function testCSVArrayIsMadeOfArrayTest3() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simpleOneRow(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($dataTable); $render->convertToUnicode = false; $expected = "parentArrayKey,testKey,value\nidSite,row1,14\nidSite,row2,15"; @@ -422,7 +428,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase { $data = array(); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($data); $render->convertToUnicode = false; $expected = 'No data available'; @@ -440,7 +446,7 @@ class DataTable_Renderer_CSVTest extends PHPUnit_Framework_TestCase { $data = array('a', 'b', 'c'); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($data); $render->convertToUnicode = false; $expected = 'a @@ -460,7 +466,7 @@ c'; { $data = array('a' => 'b', 'c' => 'd', 'e' => 'f', 5 => 'g'); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($data); $render->convertToUnicode = false; $expected = 'a,c,e,5 @@ -479,7 +485,7 @@ b,d,f,g'; { $data = array('a' => 'b'); - $render = new Piwik_DataTable_Renderer_Csv(); + $render = new Csv(); $render->setTable($data); $render->convertToUnicode = false; $expected = 'b'; diff --git a/tests/PHPUnit/Core/DataTable/Renderer/ConsoleTest.php b/tests/PHPUnit/Core/DataTable/Renderer/ConsoleTest.php index 9af0b9b6404d9cbdc5dc26659518246af1762946..ddfb5562096646af323b66ed8367cfb678f04fd0 100644 --- a/tests/PHPUnit/Core/DataTable/Renderer/ConsoleTest.php +++ b/tests/PHPUnit/Core/DataTable/Renderer/ConsoleTest.php @@ -5,12 +5,17 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Renderer\Console; +use Piwik\DataTable\Row; + class DataTable_Renderer_ConsoleTest extends PHPUnit_Framework_TestCase { public function setUp() { parent::setUp(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); } /** @@ -25,36 +30,36 @@ class DataTable_Renderer_ConsoleTest extends PHPUnit_Framework_TestCase */ public function testConsole2SubLevelAnd2Different() { - $table = new Piwik_DataTable; - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 245, 'visitors' => 245), - Piwik_DataTable_Row::METADATA => array('logo' => 'test.png'),) + $table = new DataTable; + $table->addRowFromArray(array(Row::COLUMNS => array('visits' => 245, 'visitors' => 245), + Row::METADATA => array('logo' => 'test.png'),) ); - $subsubtable = new Piwik_DataTable; + $subsubtable = new DataTable; $idsubsubtable = $subsubtable->getId(); - $subsubtable->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 2))); + $subsubtable->addRowFromArray(array(Row::COLUMNS => array('visits' => 2))); - $subtable = new Piwik_DataTable; + $subtable = new DataTable; $idsubtable1 = $subtable->getId(); - $subtable->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 1), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subsubtable)); + $subtable->addRowFromArray(array(Row::COLUMNS => array('visits' => 1), + Row::DATATABLE_ASSOCIATED => $subsubtable)); - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 3), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subtable) + $table->addRowFromArray(array(Row::COLUMNS => array('visits' => 3), + Row::DATATABLE_ASSOCIATED => $subtable) ); - $subtable2 = new Piwik_DataTable; + $subtable2 = new DataTable; $idsubtable2 = $subtable2->getId(); - $subtable2->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 5),)); + $subtable2->addRowFromArray(array(Row::COLUMNS => array('visits' => 5),)); - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 9), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subtable2) + $table->addRowFromArray(array(Row::COLUMNS => array('visits' => 9), + Row::DATATABLE_ASSOCIATED => $subtable2) ); $expected = "- 1 ['visits' => 245, 'visitors' => 245] ['logo' => 'test.png'] [idsubtable = ]<br />\n- 2 ['visits' => 3] [] [idsubtable = $idsubtable1]<br />\n*- 1 ['visits' => 1] [] [idsubtable = $idsubsubtable]<br />\n**- 1 ['visits' => 2] [] [idsubtable = ]<br />\n- 3 ['visits' => 9] [] [idsubtable = $idsubtable2]<br />\n*- 1 ['visits' => 5] [] [idsubtable = ]<br />\n"; - $render = new Piwik_DataTable_Renderer_Console(); + $render = new Console(); $render->setTable($table); $render->setPrefixRow('*'); $rendered = $render->render(); @@ -73,15 +78,15 @@ class DataTable_Renderer_ConsoleTest extends PHPUnit_Framework_TestCase */ public function testConsoleSimple() { - $table = new Piwik_DataTable; - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 245, 'visitors' => 245), - Piwik_DataTable_Row::METADATA => array('logo' => 'test.png'),) + $table = new DataTable; + $table->addRowFromArray(array(Row::COLUMNS => array('visits' => 245, 'visitors' => 245), + Row::METADATA => array('logo' => 'test.png'),) ); $expected = "- 1 ['visits' => 245, 'visitors' => 245] ['logo' => 'test.png'] [idsubtable = ]<br />\n"; - $render = new Piwik_DataTable_Renderer_Console(); + $render = new Console(); $render->setTable($table); $rendered = $render->render(); @@ -98,7 +103,7 @@ class DataTable_Renderer_ConsoleTest extends PHPUnit_Framework_TestCase { $data = array(); - $render = new Piwik_DataTable_Renderer_Console(); + $render = new Console(); $render->setTable($data); $expected = 'Empty table<br /> '; @@ -116,7 +121,7 @@ class DataTable_Renderer_ConsoleTest extends PHPUnit_Framework_TestCase { $data = array('a', 'b', 'c'); - $render = new Piwik_DataTable_Renderer_Console(); + $render = new Console(); $render->setTable($data); $expected = "- 1 ['0' => 'a'] [] [idsubtable = ]<br /> - 2 ['0' => 'b'] [] [idsubtable = ]<br /> @@ -136,7 +141,7 @@ class DataTable_Renderer_ConsoleTest extends PHPUnit_Framework_TestCase { $data = array('a' => 'b', 'c' => 'd', 'e' => 'f', 5 => 'g'); - $render = new Piwik_DataTable_Renderer_Console(); + $render = new Console(); $render->setTable($data); $expected = "- 1 ['a' => 'b', 'c' => 'd', 'e' => 'f', '5' => 'g'] [] [idsubtable = ]<br /> "; @@ -154,7 +159,7 @@ class DataTable_Renderer_ConsoleTest extends PHPUnit_Framework_TestCase { $data = array('a' => 'b'); - $render = new Piwik_DataTable_Renderer_Console(); + $render = new Console(); $render->setTable($data); $expected = "- 1 ['0' => 'b'] [] [idsubtable = ]<br /> "; diff --git a/tests/PHPUnit/Core/DataTable/Renderer/JSONTest.php b/tests/PHPUnit/Core/DataTable/Renderer/JSONTest.php index 1572ce1097c45de6658b541373f7e5d6d87de9a0..fa7597efeb3639559458bb4c4b2b4d17e9702196 100644 --- a/tests/PHPUnit/Core/DataTable/Renderer/JSONTest.php +++ b/tests/PHPUnit/Core/DataTable/Renderer/JSONTest.php @@ -5,12 +5,18 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Renderer\Json; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Row; + class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { public function setUp() { parent::setUp(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); } /** @@ -22,22 +28,22 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase */ protected function _getDataTableTest() { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); $arraySubTableForRow2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), + array(Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), + array(Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), ); - $subDataTableForRow2 = new Piwik_DataTable(); + $subDataTableForRow2 = new DataTable(); $subDataTableForRow2->addRowsFromArray($arraySubTableForRow2); $array = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), + Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, ) ); $dataTable->addRowsFromArray($array); @@ -48,7 +54,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { $array = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0, 'nb_visits' => 66.0, 'nb_actions' => 151.0, 'sum_visit_length' => 5118.0, 'bounce_count' => 44.0,); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -57,21 +63,21 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { $array = array('nb_visits' => 14.0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } protected function _getDataTableEmpty() { - $table = new Piwik_DataTable; + $table = new DataTable; return $table; } protected function _getDataTableSimpleOneZeroRowTest() { $array = array('nb_visits' => 0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -79,7 +85,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneFalseRowTest() { $array = array('is_excluded' => false); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -94,7 +100,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONTest1() { $dataTable = $this->_getDataTableTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $render->setRenderSubTables(true); $expected = '[{"label":"Google\u00a9","bool":false,"goals":{"idgoal=1":{"revenue":5.5,"nb_conversions":10}},"nb_uniq_visitors":11,"nb_visits":11,"nb_actions":17,"max_actions":"5","sum_visit_length":517,"bounce_count":9,"url":"http:\/\/www.google.com\/display\"and,properly","logo":".\/plugins\/Referers\/images\/searchEngines\/www.google.com.png"},{"label":"Yahoo!","nb_uniq_visitors":15,"bool":true,"nb_visits":151,"nb_actions":147,"max_actions":"50","sum_visit_length":517,"bounce_count":90,"url":"http:\/\/www.yahoo.com","logo":".\/plugins\/Referers\/images\/searchEngines\/www.yahoo.com.png","idsubdatatable":2,"subtable":[{"label":"sub1","count":1,"bool":false},{"label":"sub2","count":2,"bool":true}]}]'; @@ -112,7 +118,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONTest2() { $dataTable = $this->_getDataTableSimpleTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $expected = '{"max_actions":14,"nb_uniq_visitors":57,"nb_visits":66,"nb_actions":151,"sum_visit_length":5118,"bounce_count":44}'; @@ -128,7 +134,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONTest3() { $dataTable = $this->_getDataTableSimpleOneRowTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $expected = '{"value":14}'; $this->assertEquals($expected, $render->render()); @@ -143,7 +149,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONTest4() { $dataTable = $this->_getDataTableEmpty(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $expected = '[]'; $this->assertEquals($expected, $render->render()); @@ -158,7 +164,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONTest5() { $dataTable = $this->_getDataTableSimpleOneZeroRowTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $expected = '{"value":0}'; $this->assertEquals($expected, $render->render()); @@ -173,7 +179,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONTest6() { $dataTable = $this->_getDataTableSimpleOneFalseRowTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $expected = '{"value":false}'; $this->assertEquals($expected, $render->render()); @@ -187,32 +193,32 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase protected function _getDataTableArrayTest() { $array1 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), + Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), ) ); - $table1 = new Piwik_DataTable(); + $table1 = new DataTable(); $table1->addRowsFromArray($array1); $array2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), + array(Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), + Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), + array(Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), + Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), ) ); - $table2 = new Piwik_DataTable(); + $table2 = new DataTable(); $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable(); + $table3 = new DataTable(); - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'date1'); $table->addTable($table2, 'date2'); @@ -224,16 +230,16 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleArrayTest() { $array1 = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0,); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('max_actions' => 140.0, 'nb_uniq_visitors' => 570.0,); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -245,15 +251,15 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneRowArrayTest() { $array1 = array('nb_visits' => 14.0); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('nb_visits' => 15.0); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -264,7 +270,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_normal() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableArrayTest(), 'idSite'); return $table; @@ -272,7 +278,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simple() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleArrayTest(), 'idSite'); return $table; @@ -280,7 +286,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simpleOneRow() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleOneRowArrayTest(), 'idSite'); return $table; @@ -296,7 +302,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONArrayTest1() { $dataTable = $this->_getDataTableArrayTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $rendered = $render->render(); $expected = '{"date1":[{"label":"Google","nb_uniq_visitors":11,"nb_visits":11,"url":"http:\/\/www.google.com","logo":".\/plugins\/Referers\/images\/searchEngines\/www.google.com.png"},{"label":"Yahoo!","nb_uniq_visitors":15,"nb_visits":151,"url":"http:\/\/www.yahoo.com","logo":".\/plugins\/Referers\/images\/searchEngines\/www.yahoo.com.png"}],"date2":[{"label":"Google1\u00a9","nb_uniq_visitors":110,"nb_visits":110,"url":"http:\/\/www.google.com1","logo":".\/plugins\/Referers\/images\/searchEngines\/www.google.com.png1"},{"label":"Yahoo!1","nb_uniq_visitors":150,"nb_visits":1510,"url":"http:\/\/www.yahoo.com1","logo":".\/plugins\/Referers\/images\/searchEngines\/www.yahoo.com.png1"}],"date3":[]}'; @@ -313,7 +319,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONArrayTest2() { $dataTable = $this->_getDataTableSimpleArrayTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $rendered = $render->render(); @@ -331,7 +337,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONArrayTest3() { $dataTable = $this->_getDataTableSimpleOneRowArrayTest(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $rendered = $render->render(); @@ -348,7 +354,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONArrayIsMadeOfArrayTest1() { $dataTable = $this->_getDataTableArray_containsDataTableArray_normal(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $rendered = $render->render(); $expected = '{"idSite":{"date1":[{"label":"Google","nb_uniq_visitors":11,"nb_visits":11,"url":"http:\/\/www.google.com","logo":".\/plugins\/Referers\/images\/searchEngines\/www.google.com.png"},{"label":"Yahoo!","nb_uniq_visitors":15,"nb_visits":151,"url":"http:\/\/www.yahoo.com","logo":".\/plugins\/Referers\/images\/searchEngines\/www.yahoo.com.png"}],"date2":[{"label":"Google1\u00a9","nb_uniq_visitors":110,"nb_visits":110,"url":"http:\/\/www.google.com1","logo":".\/plugins\/Referers\/images\/searchEngines\/www.google.com.png1"},{"label":"Yahoo!1","nb_uniq_visitors":150,"nb_visits":1510,"url":"http:\/\/www.yahoo.com1","logo":".\/plugins\/Referers\/images\/searchEngines\/www.yahoo.com.png1"}],"date3":[]}}'; @@ -364,7 +370,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONArrayIsMadeOfArrayTest2() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simple(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $rendered = $render->render(); @@ -382,7 +388,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase public function testJSONArrayIsMadeOfArrayTest3() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simpleOneRow(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($dataTable); $expected = '{"idSite":{"row1":14,"row2":15,"row3":[]}}'; @@ -400,7 +406,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { $data = array(); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($data); $expected = '[]'; @@ -417,7 +423,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { $data = array('a', 'b', 'c', array('a' => 'b'), array(1, 2)); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($data); $expected = '["a","b","c",{"a":"b"},[1,2]]'; @@ -434,7 +440,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { $data = array('a' => 'b', 'c' => 'd', 'e' => 'f', 5 => 'g'); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($data); $expected = '[{"a":"b","c":"d","e":"f","5":"g"}]'; @@ -451,7 +457,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { $data = array('a' => 'b', 'c' => array(1, 2, 3, 4), 'e' => array('f' => 'g', 'h' => 'i', 'j' => 'k')); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($data); $expected = '{"a":"b","c":[1,2,3,4],"e":{"f":"g","h":"i","j":"k"}}'; @@ -468,7 +474,7 @@ class DataTable_Renderer_JSONTest extends PHPUnit_Framework_TestCase { $data = array('a' => 'b'); - $render = new Piwik_DataTable_Renderer_Json(); + $render = new Json(); $render->setTable($data); $expected = '[{"a":"b"}]'; diff --git a/tests/PHPUnit/Core/DataTable/Renderer/PHPTest.php b/tests/PHPUnit/Core/DataTable/Renderer/PHPTest.php index 3058a513dd4f33393beca73e94b3da921282ed12..89db87e0122de1ce00f992e8fdcbf95d24f4176c 100644 --- a/tests/PHPUnit/Core/DataTable/Renderer/PHPTest.php +++ b/tests/PHPUnit/Core/DataTable/Renderer/PHPTest.php @@ -5,12 +5,18 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Renderer\Php; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Row; + class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase { public function setUp() { parent::setUp(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); } /** @@ -22,22 +28,22 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase */ protected function _getDataTableTest() { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); $arraySubTableForRow2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), + array(Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), + array(Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), ); - $subDataTableForRow2 = new Piwik_DataTable(); + $subDataTableForRow2 = new DataTable(); $subDataTableForRow2->addRowsFromArray($arraySubTableForRow2); $array = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), + Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, ) ); $dataTable->addRowsFromArray($array); @@ -48,7 +54,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase { $array = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0, 'nb_visits' => 66.0, 'nb_actions' => 151.0, 'sum_visit_length' => 5118.0, 'bounce_count' => 44.0,); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -57,21 +63,21 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase { $array = array('nb_visits' => 14.0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } protected function _getDataTableEmpty() { - $table = new Piwik_DataTable; + $table = new DataTable; return $table; } protected function _getDataTableSimpleOneZeroRowTest() { $array = array('nb_visits' => 0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -79,7 +85,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneFalseRowTest() { $array = array('is_excluded' => false); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -94,7 +100,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPTest1() { $dataTable = $this->_getDataTableTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $render->setRenderSubTables(true); @@ -161,7 +167,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPTest2() { $dataTable = $this->_getDataTableSimpleTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $expected = serialize(array( 'max_actions' => 14.0, @@ -183,7 +189,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPTest3() { $dataTable = $this->_getDataTableSimpleOneRowTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $expected = serialize(14.0); $this->assertEquals($expected, $render->render()); @@ -198,7 +204,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPTest4() { $dataTable = $this->_getDataTableEmpty(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $expected = serialize(array()); $this->assertEquals($expected, $render->render()); @@ -213,7 +219,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPTest5() { $dataTable = $this->_getDataTableSimpleOneZeroRowTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $expected = serialize(0); $this->assertEquals($expected, $render->render()); @@ -228,7 +234,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPTest6() { $dataTable = $this->_getDataTableSimpleOneFalseRowTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $expected = serialize(false); $this->assertEquals($expected, $render->render()); @@ -243,32 +249,32 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase protected function _getDataTableArrayTest() { $array1 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), + Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), ) ); - $table1 = new Piwik_DataTable(); + $table1 = new DataTable(); $table1->addRowsFromArray($array1); $array2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), + array(Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), + Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), + array(Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), + Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), ) ); - $table2 = new Piwik_DataTable(); + $table2 = new DataTable(); $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable(); + $table3 = new DataTable(); - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'date1'); $table->addTable($table2, 'date2'); @@ -280,16 +286,16 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleArrayTest() { $array1 = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0,); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('max_actions' => 140.0, 'nb_uniq_visitors' => 570.0,); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -301,15 +307,15 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneRowArrayTest() { $array1 = array('nb_visits' => 14.0); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('nb_visits' => 15.0); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -320,7 +326,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_normal() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableArrayTest(), 'idSite'); return $table; @@ -328,7 +334,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simple() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleArrayTest(), 'idSite'); return $table; @@ -336,7 +342,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simpleOneRow() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleOneRowArrayTest(), 'idSite'); return $table; @@ -352,7 +358,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPArrayTest1() { $dataTable = $this->_getDataTableArrayTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $rendered = $render->render(); @@ -409,7 +415,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPArrayTest2() { $dataTable = $this->_getDataTableSimpleArrayTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $rendered = $render->render(); @@ -439,7 +445,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPArrayTest3() { $dataTable = $this->_getDataTableSimpleOneRowArrayTest(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $rendered = $render->render(); @@ -460,7 +466,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPArrayIsMadeOfArrayTest1() { $dataTable = $this->_getDataTableArray_containsDataTableArray_normal(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $rendered = $render->render(); @@ -519,7 +525,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPArrayIsMadeOfArrayTest2() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simple(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $rendered = $render->render(); @@ -550,7 +556,7 @@ class DataTable_Renderer_PHPTest extends PHPUnit_Framework_TestCase public function testPHPArrayIsMadeOfArrayTest3() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simpleOneRow(); - $render = new Piwik_DataTable_Renderer_Php(); + $render = new Php(); $render->setTable($dataTable); $rendered = $render->render(); diff --git a/tests/PHPUnit/Core/DataTable/Renderer/XMLTest.php b/tests/PHPUnit/Core/DataTable/Renderer/XMLTest.php index d4e676f5eb93032ef649ede20c0559e5d61fdadd..205da80d098b0bd5bca5f7a8ffc42f9d63b966f5 100644 --- a/tests/PHPUnit/Core/DataTable/Renderer/XMLTest.php +++ b/tests/PHPUnit/Core/DataTable/Renderer/XMLTest.php @@ -5,12 +5,18 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Renderer\Xml; +use Piwik\DataTable\Simple; +use Piwik\DataTable\Row; + class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase { public function setUp() { parent::setUp(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); } /** @@ -22,22 +28,22 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase */ protected function _getDataTableTest() { - $dataTable = new Piwik_DataTable(); + $dataTable = new DataTable(); $arraySubTableForRow2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), + array(Row::COLUMNS => array('label' => 'sub1', 'count' => 1, 'bool' => false)), + array(Row::COLUMNS => array('label' => 'sub2', 'count' => 2, 'bool' => true)), ); - $subDataTableForRow2 = new Piwik_DataTable(); + $subDataTableForRow2 = new DataTable(); $subDataTableForRow2->addRowsFromArray($arraySubTableForRow2); $array = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google©', 'bool' => false, 'goals' => array('idgoal=1' => array('revenue' => 5.5, 'nb_conversions' => 10)), 'nb_uniq_visitors' => 11, 'nb_visits' => 11, 'nb_actions' => 17, 'max_actions' => '5', 'sum_visit_length' => 517, 'bounce_count' => 9), + Row::METADATA => array('url' => 'http://www.google.com/display"and,properly', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'bool' => true, 'nb_visits' => 151, 'nb_actions' => 147, 'max_actions' => '50', 'sum_visit_length' => 517, 'bounce_count' => 90), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + Row::DATATABLE_ASSOCIATED => $subDataTableForRow2, ) ); $dataTable->addRowsFromArray($array); @@ -48,7 +54,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase { $array = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0, 'nb_visits' => 66.0, 'nb_actions' => 151.0, 'sum_visit_length' => 5118.0, 'bounce_count' => 44.0,); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -57,21 +63,21 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase { $array = array('nb_visits' => 14.0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } protected function _getDataTableEmpty() { - $table = new Piwik_DataTable; + $table = new DataTable; return $table; } protected function _getDataTableSimpleOneZeroRowTest() { $array = array('nb_visits' => 0); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -79,7 +85,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneFalseRowTest() { $array = array('is_excluded' => false); - $table = new Piwik_DataTable_Simple; + $table = new Simple; $table->addRowsFromArray($array); return $table; } @@ -94,7 +100,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLTest1() { $dataTable = $this->_getDataTableTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $render->setRenderSubTables(true); $expected = '<?xml version="1.0" encoding="utf-8" ?> @@ -156,7 +162,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLTest2() { $dataTable = $this->_getDataTableSimpleTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result> @@ -179,7 +185,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLTest3() { $dataTable = $this->_getDataTableSimpleOneRowTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result>14</result>'; @@ -195,7 +201,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLTest4() { $dataTable = $this->_getDataTableEmpty(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result />'; @@ -211,7 +217,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLTest5() { $dataTable = $this->_getDataTableSimpleOneZeroRowTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result>0</result>'; @@ -227,7 +233,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLTest6() { $dataTable = $this->_getDataTableSimpleOneFalseRowTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result>0</result>'; @@ -243,32 +249,32 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase protected function _getDataTableArrayTest() { $array1 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), + array(Row::COLUMNS => array('label' => 'Google', 'nb_uniq_visitors' => 11, 'nb_visits' => 11,), + Row::METADATA => array('url' => 'http://www.google.com', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), + array(Row::COLUMNS => array('label' => 'Yahoo!', 'nb_uniq_visitors' => 15, 'nb_visits' => 151,), + Row::METADATA => array('url' => 'http://www.yahoo.com', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png'), ) ); - $table1 = new Piwik_DataTable(); + $table1 = new DataTable(); $table1->addRowsFromArray($array1); $array2 = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), + array(Row::COLUMNS => array('label' => 'Google1©', 'nb_uniq_visitors' => 110, 'nb_visits' => 110,), + Row::METADATA => array('url' => 'http://www.google.com1', 'logo' => './plugins/Referers/images/searchEngines/www.google.com.png1'), ), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), - Piwik_DataTable_Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), + array(Row::COLUMNS => array('label' => 'Yahoo!1', 'nb_uniq_visitors' => 150, 'nb_visits' => 1510,), + Row::METADATA => array('url' => 'http://www.yahoo.com1', 'logo' => './plugins/Referers/images/searchEngines/www.yahoo.com.png1'), ) ); - $table2 = new Piwik_DataTable(); + $table2 = new DataTable(); $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable(); + $table3 = new DataTable(); - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'date1'); $table->addTable($table2, 'date2'); @@ -280,16 +286,16 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleArrayTest() { $array1 = array('max_actions' => 14.0, 'nb_uniq_visitors' => 57.0,); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('max_actions' => 140.0, 'nb_uniq_visitors' => 570.0,); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -301,15 +307,15 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase protected function _getDataTableSimpleOneRowArrayTest() { $array1 = array('nb_visits' => 14.0); - $table1 = new Piwik_DataTable_Simple; + $table1 = new Simple; $table1->addRowsFromArray($array1); $array2 = array('nb_visits' => 15.0); - $table2 = new Piwik_DataTable_Simple; + $table2 = new Simple; $table2->addRowsFromArray($array2); - $table3 = new Piwik_DataTable_Simple; + $table3 = new Simple; - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('testKey'); $table->addTable($table1, 'row1'); $table->addTable($table2, 'row2'); @@ -320,7 +326,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_normal() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableArrayTest(), 'idSite'); return $table; @@ -328,7 +334,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simple() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleArrayTest(), 'idSite'); return $table; @@ -336,7 +342,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase protected function _getDataTableArray_containsDataTableArray_simpleOneRow() { - $table = new Piwik_DataTable_Array(); + $table = new DataTable\Map(); $table->setKeyName('parentArrayKey'); $table->addTable($this->_getDataTableSimpleOneRowArrayTest(), 'idSite'); return $table; @@ -351,7 +357,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLArrayTest1() { $dataTable = $this->_getDataTableArrayTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <results> @@ -402,7 +408,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase { $dataTable = $this->_getDataTableArray_containsDataTableArray_normal(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <results> @@ -455,7 +461,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLArrayTest2() { $dataTable = $this->_getDataTableSimpleArrayTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> @@ -482,7 +488,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLArrayIsMadeOfArrayTest2() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simple(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <results> @@ -511,7 +517,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLArrayTest3() { $dataTable = $this->_getDataTableSimpleOneRowArrayTest(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> @@ -533,7 +539,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase public function testXMLArrayIsMadeOfArrayTest3() { $dataTable = $this->_getDataTableArray_containsDataTableArray_simpleOneRow(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($dataTable); $expected = '<?xml version="1.0" encoding="utf-8" ?> <results> @@ -557,7 +563,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase { $data = array(); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($data); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result />'; @@ -578,7 +584,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase "secondElement"), "thirdElement"); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($data); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result> @@ -603,7 +609,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase { $data = array('a' => 'b', 'c' => 'd', 'e' => 'f', 5 => 'g'); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($data); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result> @@ -628,7 +634,7 @@ class DataTable_Renderer_XMLTest extends PHPUnit_Framework_TestCase { $data = array('c' => array(1, 2, 3, 4), 'e' => array('f' => 'g', 'h' => 'i', 'j' => 'k')); - $render = new Piwik_DataTable_Renderer_Xml(); + $render = new Xml(); $render->setTable($data); $expected = '<?xml version="1.0" encoding="utf-8" ?> <result> diff --git a/tests/PHPUnit/Core/DataTable/RowTest.php b/tests/PHPUnit/Core/DataTable/RowTest.php index 2effe961c4b5a4a4ba6203d3dda4c8eb84cb880d..1995fc0fdde94c42c50e133b7f200b3a5141aab9 100644 --- a/tests/PHPUnit/Core/DataTable/RowTest.php +++ b/tests/PHPUnit/Core/DataTable/RowTest.php @@ -5,51 +5,54 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\DataTable; +use Piwik\DataTable\Row; + class RowTest extends PHPUnit_Framework_TestCase { /** * * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testDataTableAssociatedIsNegativeWhenSubDataTableInMemory() { $testRow = $this->getTestRowWithSubDataTableLoaded(); - $this->assertTrue($testRow->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] < 0); + $this->assertTrue($testRow->c[Row::DATATABLE_ASSOCIATED] < 0); } /** * * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testDataTableAssociatedIsNegativeWhenSubDataTableAdded() { $testRow = $this->getTestRowWithSubDataTableNotLoaded(); $testRow->addSubtable($this->getTestSubDataTable()); - $this->assertTrue($testRow->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] < 0); + $this->assertTrue($testRow->c[Row::DATATABLE_ASSOCIATED] < 0); } /** * * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testDataTableAssociatedIsNegativeWhenSubDataTableSetted() { $testRow = $this->getTestRowWithSubDataTableNotLoaded(); $testRow->setSubtable($this->getTestSubDataTable()); - $this->assertTrue($testRow->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] < 0); + $this->assertTrue($testRow->c[Row::DATATABLE_ASSOCIATED] < 0); } /** * * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testIdSubDataTabledIsPositiveWhenSubDataTableInMemory() { @@ -61,7 +64,7 @@ class RowTest extends PHPUnit_Framework_TestCase /** * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testDataTableAssociatedIsPositiveOnSerializedRow() { @@ -73,13 +76,13 @@ class RowTest extends PHPUnit_Framework_TestCase $serializedTestRow = serialize($testRow); $unserializedTestRow = unserialize($serializedTestRow); - $this->assertTrue($unserializedTestRow->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] > 0); + $this->assertTrue($unserializedTestRow->c[Row::DATATABLE_ASSOCIATED] > 0); } /** * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testDataTableAssociatedIsNegativeAfterSerialize() { @@ -89,14 +92,14 @@ class RowTest extends PHPUnit_Framework_TestCase $testRow->cleanPostSerialize(); - $this->assertTrue($testRow->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] < 0); + $this->assertTrue($testRow->c[Row::DATATABLE_ASSOCIATED] < 0); } /** * * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testIsSubDataTableLoadedIsTrueWhenSubDataTableInMemory() { @@ -108,7 +111,7 @@ class RowTest extends PHPUnit_Framework_TestCase * * @group Core * @group DataTable - * @group Piwik_DataTable_Row + * @group Row */ public function testIsSubDataTableLoadedIsFalseWhenSubDataTableNotInMemory() { @@ -120,9 +123,9 @@ class RowTest extends PHPUnit_Framework_TestCase { $testSubDataTable = $this->getTestSubDataTable(); - $testRow = new Piwik_DataTable_Row( + $testRow = new Row( array( - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $testSubDataTable + Row::DATATABLE_ASSOCIATED => $testSubDataTable ) ); @@ -131,14 +134,14 @@ class RowTest extends PHPUnit_Framework_TestCase protected function getTestSubDataTable() { - return new Piwik_DataTable(); + return new DataTable(); } protected function getTestRowWithSubDataTableNotLoaded() { - $testRow = new Piwik_DataTable_Row( + $testRow = new Row( array( - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => 50 + Row::DATATABLE_ASSOCIATED => 50 ) ); diff --git a/tests/PHPUnit/Core/DataTableTest.php b/tests/PHPUnit/Core/DataTableTest.php index 2a7fdc1548bac15ae77ac2ffc6b102fb933df34e..95e2c8d2fcf0e4c7a6bc112aa8a5116d9daab167 100644 --- a/tests/PHPUnit/Core/DataTableTest.php +++ b/tests/PHPUnit/Core/DataTableTest.php @@ -1,13 +1,17 @@ <?php - -use Piwik\Common; - /** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ + +use Piwik\Common; +use Piwik\DataTable; +use Piwik\DataTable\Manager; +use Piwik\DataTable\Row; + + class DataTableTest extends PHPUnit_Framework_TestCase { /** @@ -20,19 +24,19 @@ class DataTableTest extends PHPUnit_Framework_TestCase $this->assertEquals(4, $table->getRowsCount()); $table->filter('Limit', array(2, 2)); $this->assertEquals(2, $table->getRowsCount()); - $table->filter('Piwik_DataTable_Filter_Limit', array(0, 1)); + $table->filter('Limit', array(0, 1)); $this->assertEquals(1, $table->getRowsCount()); } protected function _getSimpleTestDataTable() { - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRowsFromArray( array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ten', 'count' => 10)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ninety', 'count' => 90)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'hundred', 'count' => 100)), - Piwik_DataTable::ID_SUMMARY_ROW => array(Piwik_DataTable_Row::COLUMNS => array('label' => 'summary', 'count' => 200)) + array(Row::COLUMNS => array('label' => 'ten', 'count' => 10)), + array(Row::COLUMNS => array('label' => 'ninety', 'count' => 90)), + array(Row::COLUMNS => array('label' => 'hundred', 'count' => 100)), + DataTable::ID_SUMMARY_ROW => array(Row::COLUMNS => array('label' => 'summary', 'count' => 200)) ) ); return $table; @@ -78,7 +82,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase $this->assertFalse($table->getRowFromId($idToDelete)); // summary row special case - $idToDelete = Piwik_DataTable::ID_SUMMARY_ROW; + $idToDelete = DataTable::ID_SUMMARY_ROW; $this->assertEquals(2, count($table->getRowFromId($idToDelete)->getColumns())); $table->deleteRow($idToDelete); $this->assertFalse($table->getRowFromId($idToDelete)); @@ -93,8 +97,8 @@ class DataTableTest extends PHPUnit_Framework_TestCase $table = $this->_getSimpleTestDataTable(); $rowsCount = $table->getRowsCount(); - $this->assertEquals($table->getLastRow(), $table->getRowFromId(Piwik_DataTable::ID_SUMMARY_ROW)); - $table->deleteRow(Piwik_DataTable::ID_SUMMARY_ROW); + $this->assertEquals($table->getLastRow(), $table->getRowFromId(DataTable::ID_SUMMARY_ROW)); + $table->deleteRow(DataTable::ID_SUMMARY_ROW); $this->assertEquals($table->getLastRow(), $table->getRowFromId($rowsCount - 2)); } @@ -129,8 +133,8 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testCountRowsSimple() { - $table = new Piwik_DataTable; - $idcol = Piwik_DataTable_Row::COLUMNS; + $table = new DataTable; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google')), array($idcol => array('label' => 'ask')), @@ -160,11 +164,11 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testCountRowsComplex() { - $idcol = Piwik_DataTable_Row::COLUMNS; - $idsubtable = Piwik_DataTable_Row::DATATABLE_ASSOCIATED; + $idcol = Row::COLUMNS; + $idsubtable = Row::DATATABLE_ASSOCIATED; // table to go in the SUB table of RoW1 - $tableSubOfSubOfRow1 = new Piwik_DataTable; + $tableSubOfSubOfRow1 = new DataTable; $rows1sub = array( array($idcol => array('label' => 'google')), array($idcol => array('label' => 'google78')), @@ -177,7 +181,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase $tableSubOfSubOfRow1->addRowsFromArray($rows1sub); // table to go in row1 - $tableSubOfRow1 = new Piwik_DataTable; + $tableSubOfRow1 = new DataTable; $rows1 = array( array($idcol => array('label' => 'google'), $idsubtable => $tableSubOfSubOfRow1), array($idcol => array('label' => 'ask')), @@ -186,7 +190,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase $tableSubOfRow1->addRowsFromArray($rows1); // table to go in row2 - $tableSubOfRow2 = new Piwik_DataTable; + $tableSubOfRow2 = new DataTable; $rows2 = array( array($idcol => array('label' => 'google')), array($idcol => array('label' => 'ask')), @@ -197,7 +201,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase $tableSubOfRow2->addRowsFromArray($rows2); // main parent table - $table = new Piwik_DataTable; + $table = new DataTable; $rows = array( array($idcol => array('label' => 'row1')), array($idcol => array('label' => 'row2'), @@ -227,11 +231,11 @@ class DataTableTest extends PHPUnit_Framework_TestCase $metadata = array('logo' => 'piwik.png', 'super' => array('this column has an array value, amazing')); $arrayRow = array( - Piwik_DataTable_Row::COLUMNS => $columns, - Piwik_DataTable_Row::METADATA => $metadata, + Row::COLUMNS => $columns, + Row::METADATA => $metadata, 'fake useless key' => 38959, 43905724897 => 'value'); - $row = new Piwik_DataTable_Row($arrayRow); + $row = new Row($arrayRow); $this->assertEquals($columns, $row->getColumns()); $this->assertEquals($metadata, $row->getMetadata()); @@ -257,11 +261,11 @@ class DataTableTest extends PHPUnit_Framework_TestCase $metadata = array('logo' => 'piwik.png', 'super' => array('this column has an array value, amazing')); $arrayRow = array( - Piwik_DataTable_Row::COLUMNS => $columns, - Piwik_DataTable_Row::METADATA => $metadata, + Row::COLUMNS => $columns, + Row::METADATA => $metadata, 'fake useless key' => 38959, 43905724897 => 'value'); - $row1 = new Piwik_DataTable_Row($arrayRow); + $row1 = new Row($arrayRow); $columns2 = array('test_int' => 5, 'test_float' => 4.5, @@ -270,7 +274,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase 0925824 => 'toto', 'integerArrayToSum' => array(1 => 5, 2 => 5.5, 3 => array(2 => 4)), ); - $finalRow = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $columns2)); + $finalRow = new Row(array(Row::COLUMNS => $columns2)); $finalRow->sumRow($row1); $columnsWanted = array('test_int' => 150, 'test_float' => 150.0, @@ -283,19 +287,29 @@ class DataTableTest extends PHPUnit_Framework_TestCase ); // Also testing that metadata is copied over - $rowWanted = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $columnsWanted, Piwik_DataTable_Row::METADATA => $metadata)); - $this->assertTrue(Piwik_DataTable_Row::isEqual($rowWanted, $finalRow)); + $rowWanted = new Row(array(Row::COLUMNS => $columnsWanted, Row::METADATA => $metadata)); + $this->assertTrue(Row::isEqual($rowWanted, $finalRow)); // testing that, 'sumRow' does not result in extra unwanted attributes being serialized - $expectedRow = 'O:19:"Piwik_DataTable_Row":1:{s:1:"c";a:3:{i:0;a:8:{s:8:"test_int";i:150;s:10:"test_float";d:150;s:11:"test_float2";d:14.5;s:14:"test_stringint";i:150;i:0;s:4:"toto";s:17:"integerArrayToSum";a:3:{i:1;i:6;i:2;d:15.5;i:3;a:2:{i:2;i:7;i:1;i:2;}}s:11:"test_float3";d:1.5;s:4:"test";s:11:"string fake";}i:1;a:2:{s:4:"logo";s:9:"piwik.png";s:5:"super";a:1:{i:0;s:39:"this column has an array value, amazing";}}i:3;N;}}'; - $this->assertEquals(serialize($finalRow), $expectedRow); + $expectedRow = 'O:19:"Piwik\DataTable\Row":1:{s:1:"c";a:3:{i:0;a:8:{s:8:"test_int";i:150;s:10:"test_float";d:150;s:11:"test_float2";d:14.5;s:14:"test_stringint";i:150;i:0;s:4:"toto";s:17:"integerArrayToSum";a:3:{i:1;i:6;i:2;d:15.5;i:3;a:2:{i:2;i:7;i:1;i:2;}}s:11:"test_float3";d:1.5;s:4:"test";s:11:"string fake";}i:1;a:2:{s:4:"logo";s:9:"piwik.png";s:5:"super";a:1:{i:0;s:39:"this column has an array value, amazing";}}i:3;N;}}'; + $this->assertEquals($expectedRow, serialize($finalRow)); // Testing sumRow with disabled metadata sum - $rowWanted = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $columnsWanted)); // no metadata - $finalRow = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $columns2)); + $rowWanted = new Row(array(Row::COLUMNS => $columnsWanted)); // no metadata + $finalRow = new Row(array(Row::COLUMNS => $columns2)); $finalRow->sumRow($row1, $enableCopyMetadata = false); - $this->assertTrue(Piwik_DataTable_Row::isEqual($rowWanted, $finalRow)); + $this->assertTrue(Row::isEqual($rowWanted, $finalRow)); + } + + public function test_unserializeWorks_WhenDataTableFormatPriorPiwik2() + { + // Prior Piwik 2.0, we didn't use namespaces. Some + $oldSerialized = 'O:19:"Piwik_DataTable_Row":1:{s:1:"c";a:3:{i:0;a:8:{s:8:"test_int";i:150;s:10:"test_float";d:150;s:11:"test_float2";d:14.5; + s:14:"test_stringint";i:150;i:0;s:4:"toto";s:17:"integerArrayToSum";a:3:{i:1;i:6;i:2;d:15.5;i:3;a:2:{i:2;i:7;i:1;i:2;}}s:11:"test_float3";d:1.5;s:4:"test";s:11:"string fake";}i:1;a:2:{s:4:"logo";s:9:"piwik.png";s:5:"super";a:1:{i:0;s:39:"this column has an array value, amazing";}}i:3;N;}}'; + + + } /** @@ -309,12 +323,12 @@ class DataTableTest extends PHPUnit_Framework_TestCase $columns = array( 'super' => array('this column has an array string that will be 0 when algorithm sums the value'), ); - $row1 = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $columns)); + $row1 = new Row(array(Row::COLUMNS => $columns)); $columns2 = array( 'super' => array('this column has geagaean array value, amazing'), ); - $row2 = new Piwik_DataTable_Row(array(Piwik_DataTable_Row::COLUMNS => $columns2)); + $row2 = new Row(array(Row::COLUMNS => $columns2)); // TODO: when phpunit 3.7 is released, can do check w/ "@expectedException Exception" try { @@ -335,9 +349,9 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testSerializeWithInfiniteRecursion() { try { - $table = new Piwik_DataTable; - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array('visits' => 245, 'visitors' => 245), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $table,)); + $table = new DataTable; + $table->addRowFromArray(array(Row::COLUMNS => array('visits' => 245, 'visitors' => 245), + Row::DATATABLE_ASSOCIATED => $table,)); $table->getSerialized(); } catch (Exception $e) { @@ -356,9 +370,9 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testFilterQueueSortString() { - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; - $table = new Piwik_DataTable; + $table = new DataTable; $rows = array( array($idcol => array('label' => 'google')), //0 array($idcol => array('label' => 'tsk')), //1 @@ -366,7 +380,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase ); $table->addRowsFromArray($rows); - $expectedtable = new Piwik_DataTable; + $expectedtable = new DataTable; $rows = array( array($idcol => array('label' => 'google')), //0 array($idcol => array('label' => 'Q*(%&*("$&%*(&"$*")"))')), //2 @@ -374,31 +388,31 @@ class DataTableTest extends PHPUnit_Framework_TestCase ); $expectedtable->addRowsFromArray($rows); - $expectedtableReverse = new Piwik_DataTable; + $expectedtableReverse = new DataTable; $expectedtableReverse->addRowsFromArray(array_reverse($rows)); $tableCopy = clone $table; - $this->assertTrue(Piwik_DataTable::isEqual($tableCopy, $table)); + $this->assertTrue(DataTable::isEqual($tableCopy, $table)); // queue the filter and check the table didnt change $table->queueFilter("Sort", array('label', 'asc')); - $this->assertTrue(Piwik_DataTable::isEqual($tableCopy, $table)); + $this->assertTrue(DataTable::isEqual($tableCopy, $table)); // apply filter and check the table is sorted $table->applyQueuedFilters(); - $this->assertTrue(Piwik_DataTable::isEqual($expectedtable, $table)); + $this->assertTrue(DataTable::isEqual($expectedtable, $table)); // apply one more filter check it hasnt changed $table->queueFilter("Sort", array('label', 'desc')); - $this->assertTrue(Piwik_DataTable::isEqual($expectedtable, $table)); + $this->assertTrue(DataTable::isEqual($expectedtable, $table)); // now apply the second sort and check it is correctly sorted $table->applyQueuedFilters(); - $this->assertTrue(Piwik_DataTable::isEqual($expectedtableReverse, $table)); + $this->assertTrue(DataTable::isEqual($expectedtableReverse, $table)); // do one more time to make sure it doesnt change $table->applyQueuedFilters(); - $this->assertTrue(Piwik_DataTable::isEqual($expectedtableReverse, $table)); + $this->assertTrue(DataTable::isEqual($expectedtableReverse, $table)); } /** @@ -417,8 +431,8 @@ class DataTableTest extends PHPUnit_Framework_TestCase * create some fake tables to make sure that the serialized array of the first TABLE * does not take in consideration those tables */ - $useless1 = new Piwik_DataTable; - $useless1->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array(13,),)); + $useless1 = new DataTable; + $useless1->addRowFromArray(array(Row::COLUMNS => array(13,),)); /* * end fake tables */ @@ -426,8 +440,8 @@ class DataTableTest extends PHPUnit_Framework_TestCase /* * MAIN TABLE */ - $table = new Piwik_DataTable; - $subtable = new Piwik_DataTable; + $table = new DataTable; + $subtable = new DataTable; $idtable = $table->getId(); $idsubtable = $subtable->getId(); @@ -436,42 +450,42 @@ class DataTableTest extends PHPUnit_Framework_TestCase * does not take in consideration those tables * -> we check that the DataTable_Manager is not impacting DataTable */ - $useless2 = new Piwik_DataTable; - $useless1->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array(8487,),)); - $useless3 = new Piwik_DataTable; - $useless3->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array(8487,),)); + $useless2 = new DataTable; + $useless1->addRowFromArray(array(Row::COLUMNS => array(8487,),)); + $useless3 = new DataTable; + $useless3->addRowFromArray(array(Row::COLUMNS => array(8487,),)); /* * end fake tables */ - $row = array(Piwik_DataTable_Row::COLUMNS => array(0 => 1554, 1 => 42, 2 => 657, 3 => 155744,), - Piwik_DataTable_Row::METADATA => array('logo' => 'test.png')); - $row = new Piwik_DataTable_Row($row); + $row = array(Row::COLUMNS => array(0 => 1554, 1 => 42, 2 => 657, 3 => 155744,), + Row::METADATA => array('logo' => 'test.png')); + $row = new Row($row); $table->addRow($row); - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array(0 => 1554, 1 => 42,), - Piwik_DataTable_Row::METADATA => array('url' => 'piwik.org'))); + $table->addRowFromArray(array(Row::COLUMNS => array(0 => 1554, 1 => 42,), + Row::METADATA => array('url' => 'piwik.org'))); - $table->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array(0 => 787877888787,), - Piwik_DataTable_Row::METADATA => array('url' => 'OUPLA ADDED'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subtable)); + $table->addRowFromArray(array(Row::COLUMNS => array(0 => 787877888787,), + Row::METADATA => array('url' => 'OUPLA ADDED'), + Row::DATATABLE_ASSOCIATED => $subtable)); /* * SUB TABLE */ - $row = array(Piwik_DataTable_Row::COLUMNS => array(0 => 1554,), - Piwik_DataTable_Row::METADATA => array('searchengine' => 'google'), + $row = array(Row::COLUMNS => array(0 => 1554,), + Row::METADATA => array('searchengine' => 'google'), ); $subtable->addRowFromArray($row); - $row = array(Piwik_DataTable_Row::COLUMNS => array(0 => 84894,), - Piwik_DataTable_Row::METADATA => array('searchengine' => 'yahoo'), + $row = array(Row::COLUMNS => array(0 => 84894,), + Row::METADATA => array('searchengine' => 'yahoo'), ); $subtable->addRowFromArray($row); - $row = array(Piwik_DataTable_Row::COLUMNS => array(0 => 4898978989,), - Piwik_DataTable_Row::METADATA => array('searchengine' => 'ask'), + $row = array(Row::COLUMNS => array(0 => 4898978989,), + Row::METADATA => array('searchengine' => 'ask'), ); $subtable->addRowFromArray($row); @@ -479,18 +493,18 @@ class DataTableTest extends PHPUnit_Framework_TestCase /* * SUB SUB TABLE */ - $subsubtable = new Piwik_DataTable; - $subsubtable->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array(245), - Piwik_DataTable_Row::METADATA => array('yes' => 'subsubmetadata1'),) + $subsubtable = new DataTable; + $subsubtable->addRowFromArray(array(Row::COLUMNS => array(245), + Row::METADATA => array('yes' => 'subsubmetadata1'),) ); - $subsubtable->addRowFromArray(array(Piwik_DataTable_Row::COLUMNS => array(13,), - Piwik_DataTable_Row::METADATA => array('yes' => 'subsubmetadata2'),) + $subsubtable->addRowFromArray(array(Row::COLUMNS => array(13,), + Row::METADATA => array('yes' => 'subsubmetadata2'),) ); - $row = array(Piwik_DataTable_Row::COLUMNS => array(0 => 666666666666666,), - Piwik_DataTable_Row::METADATA => array('url' => 'NEW ROW ADDED'), - Piwik_DataTable_Row::DATATABLE_ASSOCIATED => $subsubtable); + $row = array(Row::COLUMNS => array(0 => 666666666666666,), + Row::METADATA => array('url' => 'NEW ROW ADDED'), + Row::DATATABLE_ASSOCIATED => $subsubtable); $subtable->addRowFromArray($row); @@ -510,26 +524,26 @@ class DataTableTest extends PHPUnit_Framework_TestCase foreach ($table->getRows() as $currentRow) { $expectedTableRow = clone $currentRow; - $currentRowAssociatedDatatableId = $currentRow->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED]; + $currentRowAssociatedDatatableId = $currentRow->c[Row::DATATABLE_ASSOCIATED]; if ($currentRowAssociatedDatatableId != null) { // making DATATABLE_ASSOCIATED ids positive - $expectedTableRow->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = -1 * $currentRowAssociatedDatatableId; + $expectedTableRow->c[Row::DATATABLE_ASSOCIATED] = -1 * $currentRowAssociatedDatatableId; } $expectedTableRows[] = $expectedTableRow; } - $tableAfter = new Piwik_DataTable; + $tableAfter = new DataTable; $tableAfter->addRowsFromSerializedArray($serialized[0]); $this->assertEquals($expectedTableRows, $tableAfter->getRows()); - $subsubtableAfter = new Piwik_DataTable; + $subsubtableAfter = new DataTable; $subsubtableAfter->addRowsFromSerializedArray($serialized[$idsubsubtable]); $this->assertEquals($subsubtable->getRows(), $subsubtableAfter->getRows()); - $this->assertEquals($table, Piwik_DataTable_Manager::getInstance()->getTable($idtable)); - $this->assertEquals($subsubtable, Piwik_DataTable_Manager::getInstance()->getTable($idsubsubtable)); + $this->assertEquals($table, Manager::getInstance()->getTable($idtable)); + $this->assertEquals($subsubtable, Manager::getInstance()->getTable($idsubsubtable)); } /** @@ -550,10 +564,10 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testAddSimpleNoRowTable2() { $table = $this->_getDataTable1ForTest(); - $tableEmpty = new Piwik_DataTable; + $tableEmpty = new DataTable; $tableAfter = clone $table; $tableAfter->addDataTable($tableEmpty); - $this->assertTrue(Piwik_DataTable::isEqual($table, $tableAfter)); + $this->assertTrue(DataTable::isEqual($table, $tableAfter)); } /** @@ -565,9 +579,9 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testAddSimpleNoRowTable1() { $table = $this->_getDataTable1ForTest(); - $tableEmpty = new Piwik_DataTable; + $tableEmpty = new DataTable; $tableEmpty->addDataTable($table); - $this->assertTrue(Piwik_DataTable::isEqual($tableEmpty, $table)); + $this->assertTrue(DataTable::isEqual($tableEmpty, $table)); } /** @@ -584,10 +598,10 @@ class DataTableTest extends PHPUnit_Framework_TestCase $table1->addDataTable($table2); $rowsExpected = array_merge($this->_getRowsDataTable1ForTest(), $this->_getRowsDataTable2ForTest()); - $tableExpected = new Piwik_DataTable; + $tableExpected = new DataTable; $tableExpected->addRowsFromArray($rowsExpected); - $this->assertTrue(Piwik_DataTable::isEqual($table1, $tableExpected)); + $this->assertTrue(DataTable::isEqual($table1, $tableExpected)); } /** @@ -599,15 +613,15 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testAddSimpleSomeCommonRow() { - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google', 'visits' => 1)), array($idcol => array('label' => 'ask', 'visits' => 2)), array($idcol => array('label' => '123', 'visits' => 2)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 7)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 7)) ); - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRowsFromArray($rows); $rows2 = array( @@ -616,7 +630,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => ' google ', 'visits' => 5)), array($idcol => array('label' => '123', 'visits' => 2)), ); - $table2 = new Piwik_DataTable; + $table2 = new DataTable; $table2->addRowsFromArray($rows2); $table->addDataTable($table2); @@ -627,12 +641,12 @@ class DataTableTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => '123', 'visits' => 4)), array($idcol => array('label' => 'test', 'visits' => 1)), array($idcol => array('label' => ' google ', 'visits' => 5)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 7)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 7)) ); - $tableExpected = new Piwik_DataTable; + $tableExpected = new DataTable; $tableExpected->addRowsFromArray($rowsExpected); - $this->assertTrue(Piwik_DataTable::isEqual($table, $tableExpected)); + $this->assertTrue(DataTable::isEqual($table, $tableExpected)); } /** @@ -643,24 +657,24 @@ class DataTableTest extends PHPUnit_Framework_TestCase */ public function testAddSimpleAllCommonRow() { - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google', 'visits' => 1)), array($idcol => array('label' => 'ask', 'visits' => 2)), array($idcol => array('label' => '123', 'visits' => 2)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 7)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 7)) ); - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRowsFromArray($rows); $rows2 = array( array($idcol => array('label' => 'google', 'visits' => -1)), array($idcol => array('label' => 'ask', 'visits' => 0)), array($idcol => array('label' => '123', 'visits' => 1.5)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 8)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 8)) ); - $table2 = new Piwik_DataTable; + $table2 = new DataTable; $table2->addRowsFromArray($rows2); $table->addDataTable($table2); @@ -669,12 +683,12 @@ class DataTableTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'google', 'visits' => 0)), array($idcol => array('label' => 'ask', 'visits' => 2)), array($idcol => array('label' => '123', 'visits' => 3.5)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 15)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 15)) ); - $tableExpected = new Piwik_DataTable; + $tableExpected = new DataTable; $tableExpected->addRowsFromArray($rowsExpected); - $this->assertTrue(Piwik_DataTable::isEqual($table, $tableExpected)); + $this->assertTrue(DataTable::isEqual($table, $tableExpected)); } /** @@ -686,15 +700,15 @@ class DataTableTest extends PHPUnit_Framework_TestCase public function testAddDataTable2times() { - $idcol = Piwik_DataTable_Row::COLUMNS; + $idcol = Row::COLUMNS; $rows = array( array($idcol => array('label' => 'google', 'visits' => 1)), array($idcol => array('label' => 'ask', 'visits' => 0)), array($idcol => array('label' => '123', 'visits' => 2)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 1)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 1)) ); - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRowsFromArray($rows); $rows2 = array( @@ -702,16 +716,16 @@ class DataTableTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'ask', 'visits' => 100)), array($idcol => array('label' => '123456', 'visits' => 1.5)), ); - $table2 = new Piwik_DataTable; + $table2 = new DataTable; $table2->addRowsFromArray($rows2); $rows3 = array( array($idcol => array('label' => 'google2', 'visits' => -1)), array($idcol => array('label' => 'ask', 'visits' => -10)), array($idcol => array('label' => '123ab', 'visits' => 1.5)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 3)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 3)) ); - $table3 = new Piwik_DataTable; + $table3 = new DataTable; $table3->addRowsFromArray($rows3); // add the 2 tables @@ -725,12 +739,12 @@ class DataTableTest extends PHPUnit_Framework_TestCase array($idcol => array('label' => 'google2', 'visits' => -2)), array($idcol => array('label' => '123456', 'visits' => 1.5)), array($idcol => array('label' => '123ab', 'visits' => 1.5)), - Piwik_DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 4)) + DataTable::ID_SUMMARY_ROW => array($idcol => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 4)) ); - $tableExpected = new Piwik_DataTable; + $tableExpected = new DataTable; $tableExpected->addRowsFromArray($rowsExpected); - $this->assertTrue(Piwik_DataTable::isEqual($table, $tableExpected)); + $this->assertTrue(DataTable::isEqual($table, $tableExpected)); } @@ -740,16 +754,16 @@ class DataTableTest extends PHPUnit_Framework_TestCase */ public function testUnrelatedDataTableNotDestructed() { - $mockedDataTable = $this->getMock('Piwik_DataTable', array('__destruct')); + $mockedDataTable = $this->getMock('\Piwik\DataTable', array('__destruct')); $mockedDataTable->expects($this->never())->method('__destruct'); - $rowBeingDestructed = new Piwik_DataTable_Row(); + $rowBeingDestructed = new Row(); - // we simulate the fact that the value of Piwik_DataTable_Row::DATATABLE_ASSOCIATED retrieved - // from the database is in conflict with one of the Piwik_DataTable_Manager managed table identifiers. + // we simulate the fact that the value of Row::DATATABLE_ASSOCIATED retrieved + // from the database is in conflict with one of the Manager managed table identifiers. // This is a rare but legitimate case as identifiers are not thoroughly synchronized // when the expanded parameter is false. - $rowBeingDestructed->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = $mockedDataTable->getId(); + $rowBeingDestructed->c[Row::DATATABLE_ASSOCIATED] = $mockedDataTable->getId(); Common::destroy($rowBeingDestructed); } @@ -760,10 +774,10 @@ class DataTableTest extends PHPUnit_Framework_TestCase */ public function testGetSerializedCallsCleanPostSerialize() { - $mockedDataTableRow = $this->getMock('Piwik_DataTable_Row', array('cleanPostSerialize')); + $mockedDataTableRow = $this->getMock('Row', array('cleanPostSerialize')); $mockedDataTableRow->expects($this->once())->method('cleanPostSerialize'); - $dataTableBeingSerialized = new Piwik_DataTable(); + $dataTableBeingSerialized = new DataTable(); $dataTableBeingSerialized->addRow($mockedDataTableRow); $dataTableBeingSerialized->getSerialized(); @@ -775,10 +789,10 @@ class DataTableTest extends PHPUnit_Framework_TestCase */ public function testSubDataTableIsDestructed() { - $mockedDataTable = $this->getMock('Piwik_DataTable', array('__destruct')); + $mockedDataTable = $this->getMock('\Piwik\DataTable', array('__destruct')); $mockedDataTable->expects($this->once())->method('__destruct'); - $rowBeingDestructed = new Piwik_DataTable_Row(); + $rowBeingDestructed = new Row(); $rowBeingDestructed->setSubtable($mockedDataTable); Common::destroy($rowBeingDestructed); @@ -787,7 +801,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase protected function _getDataTable1ForTest() { $rows = $this->_getRowsDataTable1ForTest(); - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRowsFromArray($rows); return $table; } @@ -795,7 +809,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase protected function _getDataTable2ForTest() { $rows = $this->_getRowsDataTable2ForTest(); - $table = new Piwik_DataTable; + $table = new DataTable; $table->addRowsFromArray($rows); return $table; } @@ -803,10 +817,10 @@ class DataTableTest extends PHPUnit_Framework_TestCase protected function _getRowsDataTable1ForTest() { $rows = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'google', 'visits' => 1)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'ask', 'visits' => 2)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => '123', 'visits' => 2)), - Piwik_DataTable::ID_SUMMARY_ROW => array(Piwik_DataTable_Row::COLUMNS => array('label' => Piwik_DataTable::LABEL_SUMMARY_ROW, 'visits' => 4)) + array(Row::COLUMNS => array('label' => 'google', 'visits' => 1)), + array(Row::COLUMNS => array('label' => 'ask', 'visits' => 2)), + array(Row::COLUMNS => array('label' => '123', 'visits' => 2)), + DataTable::ID_SUMMARY_ROW => array(Row::COLUMNS => array('label' => DataTable::LABEL_SUMMARY_ROW, 'visits' => 4)) ); return $rows; @@ -815,9 +829,9 @@ class DataTableTest extends PHPUnit_Framework_TestCase protected function _getRowsDataTable2ForTest() { $rows = array( - array(Piwik_DataTable_Row::COLUMNS => array('label' => 'test', 'visits' => 1)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => ' google ', 'visits' => 3)), - array(Piwik_DataTable_Row::COLUMNS => array('label' => '123a', 'visits' => 2)), + array(Row::COLUMNS => array('label' => 'test', 'visits' => 1)), + array(Row::COLUMNS => array('label' => ' google ', 'visits' => 3)), + array(Row::COLUMNS => array('label' => '123a', 'visits' => 2)), ); return $rows; } diff --git a/tests/PHPUnit/Core/DateTest.php b/tests/PHPUnit/Core/DateTest.php index 4b80aa3abd3713995ef89a47b0adfd67591824c5..0f9d70601118146860552426026181d357d35271 100644 --- a/tests/PHPUnit/Core/DateTest.php +++ b/tests/PHPUnit/Core/DateTest.php @@ -1,12 +1,13 @@ <?php -use Piwik\Piwik; - /** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Piwik; +use Piwik\Date; + class DateTest extends PHPUnit_Framework_TestCase { /** @@ -17,7 +18,7 @@ class DateTest extends PHPUnit_Framework_TestCase */ public function testToday() { - $date = Piwik_Date::today(); + $date = Date::today(); $this->assertEquals(strtotime(date("Y-m-d ") . " 00:00:00"), $date->getTimestamp()); // test getDatetime() @@ -34,7 +35,7 @@ class DateTest extends PHPUnit_Framework_TestCase */ public function testYesterday() { - $date = Piwik_Date::yesterday(); + $date = Date::yesterday(); $this->assertEquals(strtotime(date("Y-m-d", strtotime('-1day')) . " 00:00:00"), $date->getTimestamp()); } @@ -45,7 +46,7 @@ class DateTest extends PHPUnit_Framework_TestCase public function testInvalidDateThrowsException() { try { - Piwik_Date::factory('0001-01-01'); + Date::factory('0001-01-01'); } catch (Exception $e) { return; } @@ -59,28 +60,28 @@ class DateTest extends PHPUnit_Framework_TestCase public function testFactoryTimezone() { // now in UTC converted to UTC+10 means adding 10 hours - $date = Piwik_Date::factory('now', 'UTC+10'); - $dateExpected = Piwik_Date::now()->addHour(10); + $date = Date::factory('now', 'UTC+10'); + $dateExpected = Date::now()->addHour(10); $this->assertEquals($dateExpected->getDatetime(), $date->getDatetime()); // Congo is in UTC+1 all year long (no DST) - $date = Piwik_Date::factory('now', 'Africa/Brazzaville'); - $dateExpected = Piwik_Date::factory('now')->addHour(1); + $date = Date::factory('now', 'Africa/Brazzaville'); + $dateExpected = Date::factory('now')->addHour(1); $this->assertEquals($dateExpected->getDatetime(), $date->getDatetime()); // yesterday same time in Congo is the same as today in Congo - 24 hours - $date = Piwik_Date::factory('yesterdaySameTime', 'Africa/Brazzaville'); - $dateExpected = Piwik_Date::factory('now', 'Africa/Brazzaville')->subHour(24); + $date = Date::factory('yesterdaySameTime', 'Africa/Brazzaville'); + $dateExpected = Date::factory('now', 'Africa/Brazzaville')->subHour(24); $this->assertEquals($dateExpected->getDatetime(), $date->getDatetime()); if (Piwik::isTimezoneSupportEnabled()) { // convert to/from local time $now = time(); - $date = Piwik_Date::factory($now, 'America/New_York'); + $date = Date::factory($now, 'America/New_York'); $time = $date->getTimestamp(); $this->assertTrue($time < $now); - $date = Piwik_Date::factory($time)->setTimezone('America/New_York'); + $date = Date::factory($time)->setTimezone('America/New_York'); $time = $date->getTimestamp(); $this->assertEquals($now, $time); } @@ -92,7 +93,7 @@ class DateTest extends PHPUnit_Framework_TestCase */ public function testSetTimezoneDayInUTC() { - $date = Piwik_Date::factory('2010-01-01'); + $date = Date::factory('2010-01-01'); $dayStart = '2010-01-01 00:00:00'; $dayEnd = '2010-01-01 23:59:59'; @@ -143,7 +144,7 @@ class DateTest extends PHPUnit_Framework_TestCase */ public function testModifyDateWithTimezone() { - $date = Piwik_Date::factory('2010-01-01'); + $date = Date::factory('2010-01-01'); $date = $date->setTimezone('UTC-1'); $timestamp = $date->getTimestamp(); @@ -152,7 +153,7 @@ class DateTest extends PHPUnit_Framework_TestCase if (Piwik::isTimezoneSupportEnabled()) { - $date = Piwik_Date::factory('2010-01-01')->setTimezone('Europe/Paris'); + $date = Date::factory('2010-01-01')->setTimezone('Europe/Paris'); $dateExpected = clone $date; $date = $date->addHour(2); $dateExpected = $dateExpected->addHour(1.1)->addHour(0.9)->addHour(1)->subHour(1); @@ -167,7 +168,7 @@ class DateTest extends PHPUnit_Framework_TestCase public function testGetDateStartUTCEndDuringDstTimezone() { if (Piwik::isTimezoneSupportEnabled()) { - $date = Piwik_Date::factory('2010-03-28'); + $date = Date::factory('2010-03-28'); $date = $date->setTimezone('Europe/Paris'); $utcDayStart = '2010-03-27 23:00:00'; @@ -187,19 +188,19 @@ class DateTest extends PHPUnit_Framework_TestCase // add partial hours less than 1 $dayStart = '2010-03-28 00:00:00'; $dayExpected = '2010-03-28 00:18:00'; - $date = Piwik_Date::factory($dayStart)->addHour(0.3); + $date = Date::factory($dayStart)->addHour(0.3); $this->assertEquals($dayExpected, $date->getDatetime()); $date = $date->subHour(0.3); $this->assertEquals($dayStart, $date->getDatetime()); // add partial hours $dayExpected = '2010-03-28 05:45:00'; - $date = Piwik_Date::factory($dayStart)->addHour(5.75); + $date = Date::factory($dayStart)->addHour(5.75); $this->assertEquals($dayExpected, $date->getDatetime()); // remove partial hours $dayExpected = '2010-03-27 18:15:00'; - $date = Piwik_Date::factory($dayStart)->subHour(5.75); + $date = Date::factory($dayStart)->subHour(5.75); $this->assertEquals($dayExpected, $date->getDatetime()); } @@ -211,8 +212,8 @@ class DateTest extends PHPUnit_Framework_TestCase { $dateTime = '2010-01-03 11:22:33'; $expectedTime = '2010-01-05 11:28:33'; - $this->assertEquals($expectedTime, Piwik_Date::factory($dateTime)->addHour(48.1)->getDatetime()); - $this->assertEquals($dateTime, Piwik_Date::factory($dateTime)->addHour(48.1)->subHour(48.1)->getDatetime()); + $this->assertEquals($expectedTime, Date::factory($dateTime)->addHour(48.1)->getDatetime()); + $this->assertEquals($dateTime, Date::factory($dateTime)->addHour(48.1)->subHour(48.1)->getDatetime()); } /** @@ -221,13 +222,13 @@ class DateTest extends PHPUnit_Framework_TestCase */ public function testAddPeriod() { - $date = Piwik_Date::factory('2010-01-01'); - $dateExpected = Piwik_Date::factory('2010-01-06'); + $date = Date::factory('2010-01-01'); + $dateExpected = Date::factory('2010-01-06'); $date = $date->addPeriod(5, 'day'); $this->assertEquals($dateExpected->getTimestamp(), $date->getTimestamp()); - $date = Piwik_Date::factory('2010-03-01'); - $dateExpected = Piwik_Date::factory('2010-04-05'); + $date = Date::factory('2010-03-01'); + $dateExpected = Date::factory('2010-04-05'); $date = $date->addPeriod(5, 'week'); $this->assertEquals($dateExpected->getTimestamp(), $date->getTimestamp()); } @@ -238,13 +239,13 @@ class DateTest extends PHPUnit_Framework_TestCase */ public function testSubPeriod() { - $date = Piwik_Date::factory('2010-03-01'); - $dateExpected = Piwik_Date::factory('2010-02-15'); + $date = Date::factory('2010-03-01'); + $dateExpected = Date::factory('2010-02-15'); $date = $date->subPeriod(2, 'week'); $this->assertEquals($dateExpected->getTimestamp(), $date->getTimestamp()); - $date = Piwik_Date::factory('2010-12-15'); - $dateExpected = Piwik_Date::factory('2005-12-15'); + $date = Date::factory('2010-12-15'); + $dateExpected = Date::factory('2005-12-15'); $date = $date->subPeriod(5, 'year'); $this->assertEquals($dateExpected->getTimestamp(), $date->getTimestamp()); } diff --git a/tests/PHPUnit/Core/Period/DayTest.php b/tests/PHPUnit/Core/Period/DayTest.php index 41117c4177ffc17eb0fea6a9c20d138e143accd8..9a55298569f3c396eabee7f87089952d6b7daa53 100644 --- a/tests/PHPUnit/Core/Period/DayTest.php +++ b/tests/PHPUnit/Core/Period/DayTest.php @@ -5,6 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; +use Piwik\Period\Day; +use Piwik\Translate; + /** * Testing Period_Day */ @@ -18,7 +22,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testInvalidDate() { try { - $period = new Piwik_Period_Day('Invalid Date'); + $period = new Day('Invalid Date'); } catch (Exception $e) { return; } @@ -32,7 +36,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase */ public function testToString() { - $period = new Piwik_Period_Day(Piwik_Date::today()); + $period = new Day(Date::today()); $this->assertEquals(date("Y-m-d"), $period->getPrettyString()); $this->assertEquals(date("Y-m-d"), (string)$period); $this->assertEquals(date("Y-m-d"), $period->toString()); @@ -46,7 +50,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase */ public function testDayIsFinishedToday() { - $period = new Piwik_Period_Day(Piwik_Date::today()); + $period = new Day(Date::today()); $this->assertEquals(date("Y-m-d"), $period->toString()); $this->assertEquals(array(), $period->getSubperiods()); $this->assertEquals(0, $period->getNumberOfSubperiods()); @@ -61,7 +65,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testDayIsFinishedYesterday() { - $period = new Piwik_Period_Day(Piwik_Date::yesterday()); + $period = new Day(Date::yesterday()); $this->assertEquals(date("Y-m-d", time() - 86400), $period->toString()); $this->assertEquals(array(), $period->getSubperiods()); $this->assertEquals(0, $period->getNumberOfSubperiods()); @@ -75,7 +79,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase */ public function testDayIsFinishedTomorrow() { - $period = new Piwik_Period_Day(Piwik_Date::factory(date("Y-m-d", time() + 86400))); + $period = new Day(Date::factory(date("Y-m-d", time() + 86400))); $this->assertEquals(date("Y-m-d", time() + 86400), $period->toString()); $this->assertEquals(array(), $period->getSubperiods()); $this->assertEquals(0, $period->getNumberOfSubperiods()); @@ -89,7 +93,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase */ public function testDayIsFinished31stfeb() { - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-02-31")); + $period = new Day(Date::factory("2007-02-31")); $this->assertEquals("2007-03-03", $period->toString()); $this->assertEquals(array(), $period->getSubperiods()); $this->assertEquals(0, $period->getNumberOfSubperiods()); @@ -104,7 +108,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testDayGetDateStart1() { // create the period - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-02-31")); + $period = new Day(Date::factory("2007-02-31")); // start date $startDate = $period->getDateStart(); @@ -125,7 +129,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testDayGetDateStart2() { // create the period - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-01-03")); + $period = new Day(Date::factory("2007-01-03")); // start date $startDate = $period->getDateStart(); @@ -146,7 +150,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testDayGetDateStart3() { // create the period - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-12-31")); + $period = new Day(Date::factory("2007-12-31")); // start date $startDate = $period->getDateStart(); @@ -167,7 +171,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testDayGetDateEnd1() { // create the period - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-02-31")); + $period = new Day(Date::factory("2007-02-31")); // end date $endDate = $period->getDateEnd(); @@ -185,7 +189,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testDayGetDateEnd2() { // create the period - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-04-15")); + $period = new Day(Date::factory("2007-04-15")); // end date $endDate = $period->getDateEnd(); @@ -203,7 +207,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testDayGetDateEnd3() { // create the period - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-12-31")); + $period = new Day(Date::factory("2007-12-31")); // end date $endDate = $period->getDateEnd(); @@ -221,7 +225,7 @@ class Period_DayTest extends PHPUnit_Framework_TestCase public function testAddSubperiodFails() { // create the period - $period = new Piwik_Period_Day(Piwik_Date::factory("2007-12-31")); + $period = new Day(Date::factory("2007-12-31")); try { $period->addSubperiod(''); @@ -239,8 +243,8 @@ class Period_DayTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedShortString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Piwik_Period_Day(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Day(Date::factory('2024-10-09')); $shouldBe = 'Wed 9 Oct'; $this->assertEquals($shouldBe, $month->getLocalizedShortString()); } @@ -252,8 +256,8 @@ class Period_DayTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedLongString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Piwik_Period_Day(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Day(Date::factory('2024-10-09')); $shouldBe = 'Wednesday 9 October 2024'; $this->assertEquals($shouldBe, $month->getLocalizedLongString()); } @@ -265,8 +269,8 @@ class Period_DayTest extends PHPUnit_Framework_TestCase */ public function testGetPrettyString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Piwik_Period_Day(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Day(Date::factory('2024-10-09')); $shouldBe = '2024-10-09'; $this->assertEquals($shouldBe, $month->getPrettyString()); } diff --git a/tests/PHPUnit/Core/Period/MonthTest.php b/tests/PHPUnit/Core/Period/MonthTest.php index 4d74cbc434c3d55ffd40f9b8db8ddf4145a02de9..1996863a03f68f2ace554b5727c7d704d11f5a9e 100644 --- a/tests/PHPUnit/Core/Period/MonthTest.php +++ b/tests/PHPUnit/Core/Period/MonthTest.php @@ -5,6 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; +use Piwik\Period\Month; +use Piwik\Translate; + /** * Testing Period_Month */ @@ -18,7 +22,7 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testMonthDec() { - $month = new Piwik_Period_Month(Piwik_Date::factory("2006-12-31")); + $month = new Month(Date::factory("2006-12-31")); $correct = array( "2006-12-01", "2006-12-02", @@ -63,7 +67,7 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testMonthFebLeap() { - $month = new Piwik_Period_Month(Piwik_Date::factory("2024-02-11")); + $month = new Month(Date::factory("2024-02-11")); $correct = array( "2024-02-01", "2024-02-02", @@ -106,7 +110,7 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testMonthFebNonLeap() { - $month = new Piwik_Period_Month(Piwik_Date::factory("2023-02-11")); + $month = new Month(Date::factory("2023-02-11")); $correct = array( "2023-02-01", "2023-02-02", @@ -148,7 +152,7 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testMonthJan() { - $month = new Piwik_Period_Month(Piwik_Date::factory("2007-01-01")); + $month = new Month(Date::factory("2007-01-01")); $correct = array( "2007-01-01", "2007-01-02", @@ -193,7 +197,7 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testMonthDSTChangeMarch() { - $month = new Piwik_Period_Month(Piwik_Date::factory("2007-02-31")); + $month = new Month(Date::factory("2007-02-31")); $correct = array( "2007-03-01", "2007-03-02", @@ -237,7 +241,7 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testMonthDSTChangeOct() { - $month = new Piwik_Period_Month(Piwik_Date::factory("2017-10-31")); + $month = new Month(Date::factory("2017-10-31")); $correct = array( "2017-10-01", "2017-10-02", @@ -281,8 +285,8 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedShortString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Piwik_Period_Month(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Month(Date::factory('2024-10-09')); $shouldBe = 'Oct 2024'; $this->assertEquals($shouldBe, $month->getLocalizedShortString()); } @@ -294,8 +298,8 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedLongString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Piwik_Period_Month(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Month(Date::factory('2024-10-09')); $shouldBe = '2024, October'; $this->assertEquals($shouldBe, $month->getLocalizedLongString()); } @@ -307,8 +311,8 @@ class Period_MonthTest extends PHPUnit_Framework_TestCase */ public function testGetPrettyString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Piwik_Period_Month(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Month(Date::factory('2024-10-09')); $shouldBe = '2024-10'; $this->assertEquals($shouldBe, $month->getPrettyString()); } diff --git a/tests/PHPUnit/Core/Period/RangeTest.php b/tests/PHPUnit/Core/Period/RangeTest.php index 8103e3abae9dd74ed18aa054eaf63b8f4401ab61..dc7799e732f4b89fb8057ddc23b3009b08f3d30d 100644 --- a/tests/PHPUnit/Core/Period/RangeTest.php +++ b/tests/PHPUnit/Core/Period/RangeTest.php @@ -5,7 +5,11 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ -use Piwik\Period_Range; +use Piwik\Period\Month; +use Piwik\Period\Week; +use Piwik\Period\Range; +use Piwik\Date; +use Piwik\Translate; class Period_RangeTest extends PHPUnit_Framework_TestCase { @@ -13,12 +17,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeToday() { - $range = new Period_Range('day', 'last1'); - $today = Piwik_Date::today(); + $range = new Range('day', 'last1'); + $today = Date::today(); $correct = array( $today->toString(), @@ -32,13 +36,13 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeTodayUtcPlus12() { // rather ugly test, UTC+23 doesn't exist, but it's a way to test that last1 in UTC+23 will be "our" UTC tomorrow - $range = new Period_Range('day', 'last1', 'UTC+23'); - $today = Piwik_Date::now()->addHour(23); + $range = new Range('day', 'last1', 'UTC+23'); + $today = Date::now()->addHour(23); $correct = array( $today->toString(), @@ -53,12 +57,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRange2days() { - $range = new Period_Range('day', 'last2'); - $today = Piwik_Date::today(); + $range = new Range('day', 'last2'); + $today = Date::today(); $correct = array( $today->toString(), @@ -74,12 +78,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRange5days() { - $range = new Period_Range('day', 'last50'); - $today = Piwik_Date::today(); + $range = new Range('day', 'last50'); + $today = Date::today(); $correct = array(); for ($i = 0; $i < 50; $i++) { @@ -95,12 +99,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangePrevious3days() { - $range = new Period_Range('day', 'previous3'); - $yesterday = Piwik_Date::yesterday(); + $range = new Range('day', 'previous3'); + $yesterday = Date::yesterday(); $correct = array(); for ($i = 0; $i < 3; $i++) { @@ -116,12 +120,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeComma1() { - $range = new Period_Range('day', '2008-01-01,2008-01-03'); + $range = new Range('day', '2008-01-01,2008-01-03'); $correct = array( '2008-01-01', @@ -137,12 +141,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeComma2() { - $range = new Period_Range('day', '2007-12-22,2008-01-03'); + $range = new Range('day', '2007-12-22,2008-01-03'); $correct = array( '2007-12-22', @@ -168,12 +172,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeWeekcomma1() { - $range = new Period_Range('week', '2007-12-22,2008-01-03'); - $range2 = new Period_Range('week', '2007-12-19,2008-01-03'); + $range = new Range('week', '2007-12-22,2008-01-03'); + $range2 = new Range('week', '2007-12-19,2008-01-03'); $correct = array( array( @@ -215,11 +219,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeYearcomma1() { - $range = new Period_Range('year', '2006-12-22,2007-01-03'); + $range = new Range('year', '2006-12-22,2007-01-03'); $correct = array( array( @@ -260,11 +264,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeMonthcomma1() { - $range = new Period_Range('month', '2006-12-22,2007-01-03'); + $range = new Range('month', '2006-12-22,2007-01-03'); $correct = array( array( @@ -343,17 +347,17 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeWeek() { - $range = new Period_Range('week', 'last50'); - $today = Piwik_Date::today(); + $range = new Range('week', 'last50'); + $today = Date::today(); $correct = array(); for ($i = 0; $i < 50; $i++) { $date = $today->subDay($i * 7); - $week = new Piwik_Period_Week($date); + $week = new Week($date); $correct[] = $week->toString(); } @@ -368,12 +372,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeWeekLast1() { - $range = new Period_Range('week', 'last1'); - $currentWeek = new Piwik_Period_Week(Piwik_Date::today()); + $range = new Range('week', 'last1'); + $currentWeek = new Week(Date::today()); $this->assertEquals(1, $range->getNumberOfSubperiods()); $this->assertEquals(array($currentWeek->toString()), $range->toString()); } @@ -382,17 +386,17 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeMonth() { - $range = new Period_Range('month', 'last20'); - $today = Piwik_Date::today(); + $range = new Range('month', 'last20'); + $today = Date::today(); $correct = array(); for ($i = 0; $i < 20; $i++) { $date = $today->subMonth($i); - $week = new Piwik_Period_Month($date); + $week = new Month($date); $correct[] = $week->toString(); } @@ -406,12 +410,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeMonthLast1() { - $range = new Period_Range('month', 'last1'); - $month = new Piwik_Period_Month(Piwik_Date::today()); + $range = new Range('month', 'last1'); + $month = new Month(Date::today()); $this->assertEquals(1, $range->getNumberOfSubperiods()); $this->assertEquals(array($month->toString()), $range->toString()); } @@ -420,18 +424,18 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangePreviousmonth() { - $range = new Period_Range('month', 'previous10'); - $end = Piwik_Date::today(); + $range = new Range('month', 'previous10'); + $end = Date::today(); $end = $end->subMonth(1); $correct = array(); for ($i = 0; $i < 10; $i++) { $date = $end->subMonth($i); - $week = new Piwik_Period_Month($date); + $week = new Month($date); $correct[] = $week->toString(); } @@ -446,12 +450,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeYear() { - $range = new Period_Range('year', 'last10'); - $today = Piwik_Date::today(); + $range = new Range('year', 'last10'); + $today = Date::today(); $correct = array(); for ($i = 0; $i < 10; $i++) { @@ -470,12 +474,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testRangeYearLast1() { - $range = new Period_Range('year', 'last1'); - $currentYear = new Piwik_Period_Year(Piwik_Date::today()); + $range = new Range('year', 'last1'); + $currentYear = new Piwik_Period_Year(Date::today()); $this->assertEquals(1, $range->getNumberOfSubperiods()); $this->assertEquals(array($currentYear->toString()), $range->toString()); } @@ -483,11 +487,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeWeekInsideEndingToday() { - $range = new Period_Range('range', '2007-12-22,2008-01-03', 'UTC', Piwik_Date::factory('2008-01-03')); + $range = new Range('range', '2007-12-22,2008-01-03', 'UTC', Date::factory('2008-01-03')); $correct = array( '2007-12-22', @@ -518,20 +522,20 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeWeekInsideEndingYesterday() { $todays = array( - Piwik_Date::factory('2008-01-04'), - Piwik_Date::factory('2008-01-05'), - Piwik_Date::factory('2008-01-14'), - Piwik_Date::factory('2008-02-14'), - Piwik_Date::factory('2009-02-14'), + Date::factory('2008-01-04'), + Date::factory('2008-01-05'), + Date::factory('2008-01-14'), + Date::factory('2008-02-14'), + Date::factory('2009-02-14'), ); foreach ($todays as $today) { - $range = new Period_Range('range', '2007-12-22,2008-01-03', 'UTC', $today); + $range = new Range('range', '2007-12-22,2008-01-03', 'UTC', $today); $correct = array( '2007-12-22', @@ -558,11 +562,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeOnlyDaysLessThanOneWeek() { - $range = new Period_Range('range', '2007-12-30,2008-01-01'); + $range = new Range('range', '2007-12-30,2008-01-01'); $correct = array( '2007-12-30', @@ -576,11 +580,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeOneWeekOnly() { - $range = new Period_Range('range', '2007-12-31,2008-01-06'); + $range = new Range('range', '2007-12-31,2008-01-06'); $correct = array( array( @@ -600,11 +604,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeStartsWithWeek() { - $range = new Period_Range('range', '2007-12-31,2008-01-08'); + $range = new Range('range', '2007-12-31,2008-01-08'); $correct = array( array( @@ -626,11 +630,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeEndsWithWeek() { - $range = new Period_Range('range', '2007-12-21,2008-01-06'); + $range = new Range('range', '2007-12-21,2008-01-06'); $correct = array( '2007-12-21', @@ -662,11 +666,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeContainsMonthAndWeek() { - $range = new Period_Range('range', '2011-09-18,2011-11-02', 'UTC', Piwik_Date::factory('2012-01-01')); + $range = new Range('range', '2011-09-18,2011-11-02', 'UTC', Date::factory('2012-01-01')); $correct = array( @@ -729,22 +733,22 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeContainsSeveralMonthsAndWeeksStartingWithMonth() { // Testing when "today" is in the same month, or later in the future $todays = array( - Piwik_Date::factory('2011-10-18'), - Piwik_Date::factory('2011-10-19'), - Piwik_Date::factory('2011-10-24'), - Piwik_Date::factory('2011-11-01'), - Piwik_Date::factory('2011-11-30'), - Piwik_Date::factory('2011-12-31'), - Piwik_Date::factory('2021-10-18') + Date::factory('2011-10-18'), + Date::factory('2011-10-19'), + Date::factory('2011-10-24'), + Date::factory('2011-11-01'), + Date::factory('2011-11-30'), + Date::factory('2011-12-31'), + Date::factory('2021-10-18') ); foreach ($todays as $today) { - $range = new Period_Range('range', '2011-08-01,2011-10-17', 'UTC', $today); + $range = new Range('range', '2011-08-01,2011-10-17', 'UTC', $today); $correct = array( @@ -845,11 +849,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeOneMonthOnly() { - $range = new Period_Range('range', '2011-09-01,2011-09-30'); + $range = new Range('range', '2011-09-01,2011-09-30'); $correct = array( array( @@ -891,11 +895,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function test_CustomRange_startsWithWeek_EndsWithMonth() { - $range = new Period_Range('range', '2011-07-25,2011-08-31'); + $range = new Range('range', '2011-07-25,2011-08-31'); $correct = array( @@ -948,12 +952,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeBeforeIsAfterYearRight() { try { - $range = new Period_Range('range', '2007-02-09,2007-02-01'); + $range = new Range('range', '2007-02-09,2007-02-01'); $this->assertEquals(0, $range->getNumberOfSubperiods()); $this->assertEquals(array(), $range->toString()); @@ -967,12 +971,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangeLastN() { - $range = new Period_Range('range', 'last4'); - $range->setDefaultEndDate(Piwik_Date::factory('2008-01-03')); + $range = new Range('range', 'last4'); + $range->setDefaultEndDate(Date::factory('2008-01-03')); $correct = array( '2007-12-31', '2008-01-01', @@ -986,12 +990,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangePreviousN() { - $range = new Period_Range('range', 'previous3'); - $range->setDefaultEndDate(Piwik_Date::factory('2008-01-03')); + $range = new Range('range', 'previous3'); + $range->setDefaultEndDate(Date::factory('2008-01-03')); $correct = array( '2007-12-31', '2008-01-01', @@ -1004,11 +1008,11 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testCustomRangePreviousNEndToday() { - $range = new Period_Range('range', 'previous3'); + $range = new Range('range', 'previous3'); $correct = array( date('Y-m-d', time() - 86400 * 3), date('Y-m-d', time() - 86400 * 2), @@ -1021,12 +1025,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testInvalidRangeThrows() { try { - $range = new Period_Range('range', '0001-01-01,today'); + $range = new Range('range', '0001-01-01,today'); $range->getLocalizedLongString(); } catch (Exception $e) { return; @@ -1037,12 +1041,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testGetLocalizedShortString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Period_Range('range', '2000-12-09,2001-02-01'); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Range('range', '2000-12-09,2001-02-01'); $shouldBe = '9 Dec 00 - 1 Feb 01'; $this->assertEquals($shouldBe, $month->getLocalizedShortString()); } @@ -1050,12 +1054,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testGetLocalizedLongString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Period_Range('range', '2023-05-09,2023-05-21'); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Range('range', '2023-05-09,2023-05-21'); $shouldBe = '8 May 23 - 21 May 23'; $this->assertEquals($shouldBe, $month->getLocalizedLongString()); } @@ -1063,12 +1067,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range */ public function testGetPrettyString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $month = new Period_Range('range', '2007-02-09,2007-03-15'); + Translate::getInstance()->loadEnglishTranslation(); + $month = new Range('range', '2007-02-09,2007-03-15'); $shouldBe = 'From 2007-02-09 to 2007-03-15'; $this->assertEquals($shouldBe, $month->getPrettyString()); } @@ -1087,12 +1091,12 @@ class Period_RangeTest extends PHPUnit_Framework_TestCase /** * @group Core * @group Period - * @group Period_Range + * @group Range * @dataProvider getDataForLastNLimitsTest */ public function testLastNLimits($period, $lastN, $expectedLastN) { - $range = new Period_Range($period, 'last' . $lastN); + $range = new Range($period, 'last' . $lastN); $this->assertEquals($expectedLastN, $range->getNumberOfSubperiods()); } } diff --git a/tests/PHPUnit/Core/Period/WeekTest.php b/tests/PHPUnit/Core/Period/WeekTest.php index a6f1c758e253d8749379d728e162b1b81093879b..2fda0433c9c7b7e4a527c25a9286c77ae4f269d2 100644 --- a/tests/PHPUnit/Core/Period/WeekTest.php +++ b/tests/PHPUnit/Core/Period/WeekTest.php @@ -5,6 +5,10 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; +use Piwik\Period\Week; +use Piwik\Translate; + /** * Testing Period_Week */ @@ -18,7 +22,7 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase */ public function testWeekBetween2years() { - $week = new Piwik_Period_Week(Piwik_Date::factory("2006-01-01")); + $week = new Week(Date::factory("2006-01-01")); $correct = array( "2005-12-26", "2005-12-27", @@ -39,7 +43,7 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase */ public function testWeekBetween2month() { - $week = new Piwik_Period_Week(Piwik_Date::factory("2006-05-29")); + $week = new Week(Date::factory("2006-05-29")); $correct = array( "2006-05-29", "2006-05-30", @@ -69,10 +73,10 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase '2023-03-04', '2023-03-05',); - $week = new Piwik_Period_Week(Piwik_Date::factory('2023-02-27')); + $week = new Week(Date::factory('2023-02-27')); $this->assertEquals($correct, $week->toString()); $this->assertEquals(7, $week->getNumberOfSubperiods()); - $week = new Piwik_Period_Week(Piwik_Date::factory('2023-03-01')); + $week = new Week(Date::factory('2023-03-01')); $this->assertEquals($correct, $week->toString()); $this->assertEquals(7, $week->getNumberOfSubperiods()); } @@ -94,10 +98,10 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase '2024-03-02', '2024-03-03',); - $week = new Piwik_Period_Week(Piwik_Date::factory('2024-02-27')); + $week = new Week(Date::factory('2024-02-27')); $this->assertEquals($correct, $week->toString()); $this->assertEquals(7, $week->getNumberOfSubperiods()); - $week = new Piwik_Period_Week(Piwik_Date::factory('2024-03-01')); + $week = new Week(Date::factory('2024-03-01')); $this->assertEquals($correct, $week->toString()); $this->assertEquals(7, $week->getNumberOfSubperiods()); } @@ -119,7 +123,7 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase '2024-10-12', '2024-10-13',); - $week = new Piwik_Period_Week(Piwik_Date::factory('2024-10-09')); + $week = new Week(Date::factory('2024-10-09')); $this->assertEquals($correct, $week->toString()); $this->assertEquals(7, $week->getNumberOfSubperiods()); } @@ -131,8 +135,8 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedShortString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $week = new Piwik_Period_Week(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $week = new Week(Date::factory('2024-10-09')); $shouldBe = '7 Oct - 13 Oct 24'; $this->assertEquals($shouldBe, $week->getLocalizedShortString()); } @@ -144,8 +148,8 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedLongString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $week = new Piwik_Period_Week(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $week = new Week(Date::factory('2024-10-09')); $shouldBe = 'Week 7 October - 13 October 2024'; $this->assertEquals($shouldBe, $week->getLocalizedLongString()); } @@ -157,8 +161,8 @@ class Period_WeekTest extends PHPUnit_Framework_TestCase */ public function testGetPrettyString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $week = new Piwik_Period_Week(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $week = new Week(Date::factory('2024-10-09')); $shouldBe = 'From 2024-10-07 to 2024-10-13'; $this->assertEquals($shouldBe, $week->getPrettyString()); } diff --git a/tests/PHPUnit/Core/Period/YearTest.php b/tests/PHPUnit/Core/Period/YearTest.php index 11ea08b2b09656e8c2d4f536adf7e968b38e0f4a..191790424e3de1e097b22e9aa636b5a3d2ab840a 100644 --- a/tests/PHPUnit/Core/Period/YearTest.php +++ b/tests/PHPUnit/Core/Period/YearTest.php @@ -5,6 +5,9 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; +use Piwik\Translate; + /** * Testing Period_Year */ @@ -32,7 +35,7 @@ class Period_YearTest extends PHPUnit_Framework_TestCase '2024-11-01', '2024-12-01',); - $year = new Piwik_Period_Year(Piwik_Date::factory('2024-10-09')); + $year = new Piwik_Period_Year(Date::factory('2024-10-09')); $this->assertEquals(12, $year->getNumberOfSubperiods()); $this->assertEquals($correct, $year->toString()); } @@ -60,7 +63,7 @@ class Period_YearTest extends PHPUnit_Framework_TestCase '2000-12-01', ); - $year = new Piwik_Period_Year(Piwik_Date::factory('2000-02-15')); + $year = new Piwik_Period_Year(Date::factory('2000-02-15')); $this->assertEquals(12, $year->getNumberOfSubperiods()); $this->assertEquals($correct, $year->toString()); } @@ -72,8 +75,8 @@ class Period_YearTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedShortString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $year = new Piwik_Period_Year(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $year = new Piwik_Period_Year(Date::factory('2024-10-09')); $shouldBe = '2024'; $this->assertEquals($shouldBe, $year->getLocalizedShortString()); } @@ -85,8 +88,8 @@ class Period_YearTest extends PHPUnit_Framework_TestCase */ public function testGetLocalizedLongString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $year = new Piwik_Period_Year(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $year = new Piwik_Period_Year(Date::factory('2024-10-09')); $shouldBe = '2024'; $this->assertEquals($shouldBe, $year->getLocalizedLongString()); } @@ -98,8 +101,8 @@ class Period_YearTest extends PHPUnit_Framework_TestCase */ public function testGetPrettyString() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); - $year = new Piwik_Period_Year(Piwik_Date::factory('2024-10-09')); + Translate::getInstance()->loadEnglishTranslation(); + $year = new Piwik_Period_Year(Date::factory('2024-10-09')); $shouldBe = '2024'; $this->assertEquals($shouldBe, $year->getPrettyString()); } diff --git a/tests/PHPUnit/Core/PeriodTest.php b/tests/PHPUnit/Core/PeriodTest.php index 60212182140825a11a1afca767119b2f43718f12..0b315b2527d52ac9b541bd498da978c1d2662767 100644 --- a/tests/PHPUnit/Core/PeriodTest.php +++ b/tests/PHPUnit/Core/PeriodTest.php @@ -6,6 +6,10 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ use Piwik\Period; +use Piwik\Date; +use Piwik\Period\Month; +use Piwik\Period\Day; +use Piwik\Period\Week; class PeriodTest extends PHPUnit_Framework_TestCase { @@ -15,13 +19,13 @@ class PeriodTest extends PHPUnit_Framework_TestCase */ public function testGetId() { - $period = new Piwik_Period_Day(Piwik_Date::today()); + $period = new Day(Date::today()); $this->assertNotEquals(0, $period->getId()); - $period = new Piwik_Period_Week(Piwik_Date::today()); + $period = new Week(Date::today()); $this->assertNotEquals(0, $period->getId()); - $period = new Piwik_Period_Month(Piwik_Date::today()); + $period = new Month(Date::today()); $this->assertNotEquals(0, $period->getId()); - $period = new Piwik_Period_Year(Piwik_Date::today()); + $period = new Piwik_Period_Year(Date::today()); $this->assertNotEquals(0, $period->getId()); } @@ -31,19 +35,19 @@ class PeriodTest extends PHPUnit_Framework_TestCase */ public function testGetLabel() { - $period = new Piwik_Period_Day(Piwik_Date::today()); + $period = new Day(Date::today()); $label = $period->getLabel(); $this->assertInternalType('string', $label); $this->assertNotEmpty($label); - $period = new Piwik_Period_Week(Piwik_Date::today()); + $period = new Week(Date::today()); $label = $period->getLabel(); $this->assertInternalType('string', $label); $this->assertNotEmpty($label); - $period = new Piwik_Period_Month(Piwik_Date::today()); + $period = new Month(Date::today()); $label = $period->getLabel(); $this->assertInternalType('string', $label); $this->assertNotEmpty($label); - $period = new Piwik_Period_Year(Piwik_Date::today()); + $period = new Piwik_Period_Year(Date::today()); $label = $period->getLabel(); $this->assertInternalType('string', $label); $this->assertNotEmpty($label); @@ -55,8 +59,8 @@ class PeriodTest extends PHPUnit_Framework_TestCase */ public function testFactoryDay() { - $period = Period::factory('day', Piwik_Date::today()); - $this->assertInstanceOf('Piwik_Period_Day', $period); + $period = Period::factory('day', Date::today()); + $this->assertInstanceOf('Day', $period); } /** @@ -65,8 +69,8 @@ class PeriodTest extends PHPUnit_Framework_TestCase */ public function testFactoryMonth() { - $period = Period::factory('month', Piwik_Date::today()); - $this->assertInstanceOf('Piwik_Period_Month', $period); + $period = Period::factory('month', Date::today()); + $this->assertInstanceOf('Month', $period); } /** @@ -75,8 +79,8 @@ class PeriodTest extends PHPUnit_Framework_TestCase */ public function testFactoryWeek() { - $period = Period::factory('week', Piwik_Date::today()); - $this->assertInstanceOf('Piwik_Period_Week', $period); + $period = Period::factory('week', Date::today()); + $this->assertInstanceOf('Week', $period); } /** @@ -85,7 +89,7 @@ class PeriodTest extends PHPUnit_Framework_TestCase */ public function testFactoryYear() { - $period = Period::factory('year', Piwik_Date::today()); + $period = Period::factory('year', Date::today()); $this->assertInstanceOf('Piwik_Period_Year', $period); } @@ -96,7 +100,7 @@ class PeriodTest extends PHPUnit_Framework_TestCase public function testFactoryInvalid() { try { - $period = Period::factory('inValid', Piwik_Date::today()); + $period = Period::factory('inValid', Date::today()); } catch (Exception $e) { return; } diff --git a/tests/PHPUnit/Core/PiwikTest.php b/tests/PHPUnit/Core/PiwikTest.php index e1697dde83990117bb34bcd7c4e84d1d9f913871..26a0339309fc4bdd1230e8b9e617cccc36625111 100644 --- a/tests/PHPUnit/Core/PiwikTest.php +++ b/tests/PHPUnit/Core/PiwikTest.php @@ -1,13 +1,14 @@ <?php -use Piwik\Piwik; -use Piwik\Access; - /** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Piwik; +use Piwik\Access; +use Piwik\Translate; + class PiwikTest extends DatabaseTestCase { /** @@ -113,14 +114,14 @@ class PiwikTest extends DatabaseTestCase $this->markTestSkipped("Will not pass on 32-bit machine."); } - Piwik_Translate::getInstance()->loadEnglishTranslation(); + Translate::getInstance()->loadEnglishTranslation(); $sentenceExpected = str_replace(' ', ' ', $expected[0]); $numericExpected = $expected[1]; $this->assertEquals($sentenceExpected, Piwik::getPrettyTimeFromSeconds($seconds, $sentence = true)); $this->assertEquals($numericExpected, Piwik::getPrettyTimeFromSeconds($seconds, $sentence = false)); - Piwik_Translate::getInstance()->unloadEnglishTranslation(); + Translate::getInstance()->unloadEnglishTranslation(); } /** @@ -211,7 +212,7 @@ class PiwikTest extends DatabaseTestCase */ public function testGetPrettyValue($columnName, $value, $expected) { - Piwik_Translate::getInstance()->loadEnglishTranslation(); + Translate::getInstance()->loadEnglishTranslation(); $access = Access::getInstance(); $access->setSuperUser(true); @@ -223,7 +224,7 @@ class PiwikTest extends DatabaseTestCase Piwik::getPrettyValue($idsite, $columnName, $value, false, false) ); - Piwik_Translate::getInstance()->unloadEnglishTranslation(); + Translate::getInstance()->unloadEnglishTranslation(); } /** diff --git a/tests/PHPUnit/Core/TaskSchedulerTest.php b/tests/PHPUnit/Core/TaskSchedulerTest.php index 1e582af3ef4638089b0f0eadd2c163fe44139f7f..4ae0c32140218a8b699133d53f10af2c3326ede2 100644 --- a/tests/PHPUnit/Core/TaskSchedulerTest.php +++ b/tests/PHPUnit/Core/TaskSchedulerTest.php @@ -5,6 +5,8 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\EventDispatcher; + class TaskSchedulerTest extends PHPUnit_Framework_TestCase { private static function getTestTimetable() @@ -50,7 +52,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase $getTimetableFromOptionValue = new ReflectionMethod( 'Piwik_TaskScheduler', 'getTimetableFromOptionValue' ); - $getTimetableFromOptionValue->setAccessible(TRUE); + $getTimetableFromOptionValue->setAccessible(true); $this->assertEquals($expectedTimetable, $getTimetableFromOptionValue->invoke(new Piwik_TaskScheduler(), $option)); } @@ -79,7 +81,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase $taskHasBeenScheduledOnce = new ReflectionMethod( 'Piwik_TaskScheduler', 'taskHasBeenScheduledOnce' ); - $taskHasBeenScheduledOnce->setAccessible(TRUE); + $taskHasBeenScheduledOnce->setAccessible(true); $this->assertEquals($expectedDecision, $taskHasBeenScheduledOnce->invoke(new Piwik_TaskScheduler(), $taskName, $timetable)); } @@ -142,7 +144,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase $taskShouldBeExecuted = new ReflectionMethod( 'Piwik_TaskScheduler', 'taskShouldBeExecuted' ); - $taskShouldBeExecuted->setAccessible(TRUE); + $taskShouldBeExecuted->setAccessible(true); $this->assertEquals($expectedDecision, $taskShouldBeExecuted->invoke(new Piwik_TaskScheduler(), $taskName, $timetable)); } @@ -171,7 +173,7 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase $mock->expects($this->once())->method($methodName)->with($this->equalTo($parameterValue)); $executeTask = new ReflectionMethod('Piwik_TaskScheduler', 'executeTask'); - $executeTask->setAccessible(TRUE); + $executeTask->setAccessible(true); $this->assertNotEmpty($executeTask->invoke( new Piwik_TaskScheduler(), @@ -278,9 +280,9 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase public function testRunTasks($expectedTimetable, $expectedExecutedTasks, $timetableBeforeTaskExecution, $configuredTasks) { // temporarily unload plugins - $plugins = PluginsManager::getInstance()->getLoadedPlugins(); + $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPlugins(); $plugins = array_map(function ($p) { return $p->getPluginName(); }, $plugins); - PluginsManager::getInstance()->unloadPlugins(); + \Piwik\PluginsManager::getInstance()->unloadPlugins(); // make sure the get tasks event returns our configured tasks Piwik_AddAction(Piwik_TaskScheduler::GET_TASKS_EVENT, function(&$tasks) use($configuredTasks) { @@ -307,8 +309,8 @@ class TaskSchedulerTest extends PHPUnit_Framework_TestCase $this->assertEquals($expectedTimetable, $getTimetableFromOptionTable->invoke(new Piwik_TaskScheduler())); // restore loaded plugins & piwik options - Piwik_EventDispatcher::getInstance()->clearObservers(Piwik_TaskScheduler::GET_TASKS_EVENT); - PluginsManager::getInstance()->loadPlugins($plugins); + EventDispatcher::getInstance()->clearObservers(Piwik_TaskScheduler::GET_TASKS_EVENT); + \Piwik\PluginsManager::getInstance()->loadPlugins($plugins); self::resetPiwikOption(); } diff --git a/tests/PHPUnit/Core/Tracker/ActionTest.php b/tests/PHPUnit/Core/Tracker/ActionTest.php index 4a608d574539806fe30a622933360998fd0f6bb4..95a8fee7b46fed572ab2dfbc7550bd8bf620aefd 100644 --- a/tests/PHPUnit/Core/Tracker/ActionTest.php +++ b/tests/PHPUnit/Core/Tracker/ActionTest.php @@ -1,6 +1,7 @@ <?php use Piwik\Config; use Piwik\Access; +use Piwik\Translate; /** * Piwik - Open source web analytics @@ -18,9 +19,9 @@ class Tracker_ActionTest extends DatabaseTestCase $config->clear(); $config->setTestEnvironment($userFile, false); - PluginsManager::getInstance()->loadPlugins(array('SitesManager')); + \Piwik\PluginsManager::getInstance()->loadPlugins(array('SitesManager')); - Piwik_Translate::getInstance()->loadEnglishTranslation(); + Translate::getInstance()->loadEnglishTranslation(); } protected function setUpRootAccess() diff --git a/tests/PHPUnit/Core/Tracker/VisitTest.php b/tests/PHPUnit/Core/Tracker/VisitTest.php index 3a3bbd415d783015b46c9543cc75a8b4d84daffa..762900a9352d3d2b487138e55a49f424e8d4c4c6 100644 --- a/tests/PHPUnit/Core/Tracker/VisitTest.php +++ b/tests/PHPUnit/Core/Tracker/VisitTest.php @@ -18,7 +18,7 @@ class Tracker_VisitTest extends DatabaseTestCase FakeAccess::$superUser = true; Access::setSingletonInstance($pseudoMockAccess); - PluginsManager::getInstance()->loadPlugins(array('SitesManager')); + \Piwik\PluginsManager::getInstance()->loadPlugins(array('SitesManager')); } /** diff --git a/tests/PHPUnit/DatabaseTestCase.php b/tests/PHPUnit/DatabaseTestCase.php index c1e84918ca0c20328bb2e87eb5dcab90c7c2ff31..ba848c85fd84cf7872e59449609afd81e04658fa 100644 --- a/tests/PHPUnit/DatabaseTestCase.php +++ b/tests/PHPUnit/DatabaseTestCase.php @@ -6,6 +6,8 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ use Piwik\Config; +use Piwik\DataAccess\ArchiveTableCreator; +use Piwik\DataTable\Manager; use Piwik\Piwik; use Piwik\Site; @@ -43,7 +45,7 @@ class DatabaseTestCase extends PHPUnit_Framework_TestCase Piwik::createTables(); Piwik::createLogObject(); -// PluginsManager::getInstance()->loadPlugins(array()); +// \Piwik\PluginsManager::getInstance()->loadPlugins(array()); IntegrationTestCase::loadAllPlugins(); } catch (Exception $e) { @@ -65,13 +67,13 @@ class DatabaseTestCase extends PHPUnit_Framework_TestCase parent::tearDown(); IntegrationTestCase::unloadAllPlugins(); Piwik::dropDatabase(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); Piwik_Option::getInstance()->clearCache(); Piwik_PDFReports_API::$cache = array(); Site::clearCache(); Piwik_Tracker_Cache::deleteTrackerCache(); Config::getInstance()->clear(); - Piwik_DataAccess_ArchiveTableCreator::clear(); + ArchiveTableCreator::clear(); Zend_Registry::_unsetInstance(); } diff --git a/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorId.php b/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorId.php index 3768205fc68433f32294e61e6e60ea008a205c30..b1f7828610f265f090036fbba343deeedab49a60 100644 --- a/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorId.php +++ b/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorId.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and tracks a couple visits using a custom visitor ID. @@ -48,13 +49,13 @@ class Test_Piwik_Fixture_FewVisitsWithSetVisitorId extends Test_Piwik_BaseFixtur // VISITOR B: few minutes later, we trigger the same tracker but with a custom visitor ID, // => this will create a new visit B - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.05)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.05)->getDatetime()); $t->setUrl('http://example.org/index2.htm'); $t->setVisitorId(Piwik_Tracker_Visit::generateUniqueVisitorId()); self::checkResponse($t->doTrackPageView('incredible title!')); // This new visit B will have 2 page views - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.1)->getDatetime()); $t->setUrl('http://example.org/index3.htm'); self::checkResponse($t->doTrackPageView('incredible title!')); diff --git a/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php b/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php index 9458ccb12ebcfc08ce428313f37469e46c48d129..074433d85fe96eff26ca32605a4216ef8ae4e615 100644 --- a/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php +++ b/tests/PHPUnit/Fixtures/ManyVisitsWithGeoIP.php @@ -6,6 +6,8 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; + require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/MockLocationProvider.php'; /** @@ -89,7 +91,7 @@ class Test_Piwik_Fixture_ManyVisitsWithGeoIP extends Test_Piwik_BaseFixture } // first visit - $date = Piwik_Date::factory($dateTime)->addDay($i); + $date = Date::factory($dateTime)->addDay($i); $t->setForceVisitDateTime($date->getDatetime()); $t->setUrl("http://piwik.net/grue/lair"); $t->setCustomVariable(1, 'Cvar 1 name', 'Cvar1 value is ' .$i , 'visit'); @@ -151,7 +153,7 @@ class Test_Piwik_Fixture_ManyVisitsWithGeoIP extends Test_Piwik_BaseFixture $t = self::getTracker($idSite, $dateTime, $defaultInit = true); $t->setVisitorId('fed33392d3a48ab2'); $t->setTokenAuth(self::getTokenAuth()); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addDay(20)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addDay(20)->getDatetime()); $t->setIp('194.57.91.215'); $t->setCountry('us'); $t->setRegion('CA'); diff --git a/tests/PHPUnit/Fixtures/ManyVisitsWithMockLocationProvider.php b/tests/PHPUnit/Fixtures/ManyVisitsWithMockLocationProvider.php index 1d7d2f240b53cb7b1add639845367920d9171673..be3d29c30fc5117362e72452a8b728ead73e846d 100644 --- a/tests/PHPUnit/Fixtures/ManyVisitsWithMockLocationProvider.php +++ b/tests/PHPUnit/Fixtures/ManyVisitsWithMockLocationProvider.php @@ -6,6 +6,8 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; + require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/MockLocationProvider.php'; /** @@ -19,7 +21,7 @@ class Test_Piwik_Fixture_ManyVisitsWithMockLocationProvider extends Test_Piwik_B public function __construct() { - $this->nextDay = Piwik_Date::factory($this->dateTime)->addDay(1)->getDatetime(); + $this->nextDay = Date::factory($this->dateTime)->addDay(1)->getDatetime(); } public function setUp() @@ -122,7 +124,7 @@ class Test_Piwik_Fixture_ManyVisitsWithMockLocationProvider extends Test_Piwik_B $referrers = null, $customVars = null) { for ($i = 0; $i != 5; ++$i, ++$visitorCounter) { - $visitDate = Piwik_Date::factory($this->dateTime); + $visitDate = Date::factory($this->dateTime); $t->setNewVisitorId(); $t->setIp("156.5.3.$visitorCounter"); @@ -171,7 +173,7 @@ class Test_Piwik_Fixture_ManyVisitsWithMockLocationProvider extends Test_Piwik_B private function trackOrders($t) { - $nextDay = Piwik_Date::factory($this->nextDay); + $nextDay = Date::factory($this->nextDay); $t->setForceVisitDateTime($nextDay); for ($i = 0; $i != 25; ++$i) { diff --git a/tests/PHPUnit/Fixtures/ManyVisitsWithSubDirReferrersAndCustomVars.php b/tests/PHPUnit/Fixtures/ManyVisitsWithSubDirReferrersAndCustomVars.php index 44f19e66644e3ab3db8ffc7a8e7eb562d59598e1..f5512fa254aae512a2dfe0551200c1f0deb796f4 100644 --- a/tests/PHPUnit/Fixtures/ManyVisitsWithSubDirReferrersAndCustomVars.php +++ b/tests/PHPUnit/Fixtures/ManyVisitsWithSubDirReferrersAndCustomVars.php @@ -6,6 +6,7 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ # +use Piwik\Date; /** * Adds one site and tracks 13 visits all with custom variables and referrer URLs @@ -40,7 +41,7 @@ class Test_Piwik_Fixture_ManyVisitsWithSubDirReferrersAndCustomVars extends Test for ($referrerSite = 1; $referrerSite < 4; $referrerSite++) { for ($referrerPage = 1; $referrerPage < 3; $referrerPage++) { $offset = $referrerSite * 3 + $referrerPage; - $t = self::getTracker($idSite, Piwik_Date::factory($dateTime)->addHour($offset)->getDatetime()); + $t = self::getTracker($idSite, Date::factory($dateTime)->addHour($offset)->getDatetime()); $t->setUrlReferrer('http://www.referrer' . $referrerSite . '.com/sub/dir/page' . $referrerPage . '.html'); $t->setCustomVariable(1, 'CustomVarVisit', 'CustomVarValue' . $referrerPage, 'visit'); for ($page = 0; $page < 3; $page++) { @@ -52,7 +53,7 @@ class Test_Piwik_Fixture_ManyVisitsWithSubDirReferrersAndCustomVars extends Test } } - $t = self::getTracker($idSite, Piwik_Date::factory($dateTime)->addHour(24)->getDatetime()); + $t = self::getTracker($idSite, Date::factory($dateTime)->addHour(24)->getDatetime()); $t->setCustomVariable(1, 'CustomVarVisit', 'CustomVarValue1', 'visit'); $t->setUrl('http://example.org/sub/dir/dir1/page1.html'); $t->setCustomVariable(1, 'CustomVarPage', 'CustomVarValue1', 'page'); diff --git a/tests/PHPUnit/Fixtures/OneVisitSeveralPageViews.php b/tests/PHPUnit/Fixtures/OneVisitSeveralPageViews.php index 5570057dea12219b78984cb919115d229f11ec12..53c8dfb5385627246fcf1d1418bc3dbd3217a27e 100644 --- a/tests/PHPUnit/Fixtures/OneVisitSeveralPageViews.php +++ b/tests/PHPUnit/Fixtures/OneVisitSeveralPageViews.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and tracks one visit with several pageviews. @@ -42,22 +43,22 @@ class Test_Piwik_Fixture_OneVisitSeveralPageViews extends Test_Piwik_BaseFixture self::checkResponse($t->doTrackPageView('incredible title! <>,;')); $t->setUrl('http://example.org/dir/file.php?foo=bar&foo2=bar'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getDatetime()); $t->setGenerationTime(123); self::checkResponse($t->doTrackPageView('incredible title! <>,;')); $t->setUrl('http://example.org/dir/file.php?foo=bar&foo2=bar2'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); $t->setGenerationTime(153); self::checkResponse($t->doTrackPageView('incredible parent title! <>,; / subtitle <>,;')); $t->setUrl('http://example.org/dir2/file.php?foo=bar&foo2=bar'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.4)->getDatetime()); $t->setGenerationTime(1233); self::checkResponse($t->doTrackPageView('incredible title! <>,;')); $t->setUrl('http://example.org/dir2/sub/0/file.php'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.4)->getDatetime()); // Very high Generation time should be ignored $t->setGenerationTime(6350000); @@ -65,7 +66,7 @@ class Test_Piwik_Fixture_OneVisitSeveralPageViews extends Test_Piwik_BaseFixture $t->setUrl('http://example.org/0'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.4)->getDatetime()); $t->setGenerationTime(635); self::checkResponse($t->doTrackPageView('I am URL zero!')); diff --git a/tests/PHPUnit/Fixtures/OneVisitWithAbnormalPageviewUrls.php b/tests/PHPUnit/Fixtures/OneVisitWithAbnormalPageviewUrls.php index ac67e3cb0f5912dced89d1e4bcc501efbc166a6d..638a35d5b2886bd789ef21fd55607d2a1f7c4b0d 100644 --- a/tests/PHPUnit/Fixtures/OneVisitWithAbnormalPageviewUrls.php +++ b/tests/PHPUnit/Fixtures/OneVisitWithAbnormalPageviewUrls.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and tracks one visit w/ pageview URLs that are not normalized. @@ -42,23 +43,23 @@ class Test_Piwik_Fixture_OneVisitWithAbnormalPageviewUrls extends Test_Piwik_Bas self::checkResponse($t->doTrackPageView('http://incredible.title/')); $t->setUrl('https://example.org/foo/bar.html'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getDatetime()); self::checkResponse($t->doTrackPageView('https://incredible.title/')); $t->setUrl('https://wWw.example.org/foo/bar2.html'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); self::checkResponse($t->doTrackPageView('http://www.incredible.title/')); $t->setUrl('http://WwW.example.org/foo/bar2.html'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.4)->getDatetime()); self::checkResponse($t->doTrackPageView('https://www.incredible.title/')); $t->setUrl('http://www.example.org/foo/bar3.html'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.5)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.5)->getDatetime()); self::checkResponse($t->doTrackPageView('incredible.title/')); $t->setUrl('https://example.org/foo/bar4.html'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.6)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.6)->getDatetime()); self::checkResponse($t->doTrackPageView('incredible.title/')); } } diff --git a/tests/PHPUnit/Fixtures/OneVisitorTwoVisits.php b/tests/PHPUnit/Fixtures/OneVisitorTwoVisits.php index fa4f246e942c1c07472490ebd8c5e8062d089034..64c3312628fe9c61d0b224f66abca7f5b86f532c 100644 --- a/tests/PHPUnit/Fixtures/OneVisitorTwoVisits.php +++ b/tests/PHPUnit/Fixtures/OneVisitorTwoVisits.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * This fixture adds one website and tracks two visits by one visitor. @@ -81,54 +82,54 @@ class Test_Piwik_Fixture_OneVisitorTwoVisits extends Test_Piwik_BaseFixture // testing that / and index.htm above record with different URLs // Recording the 2nd page after 3 minutes - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.05)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.05)->getDatetime()); $t->setUrl('http://example.org/'); $t->setGenerationTime(224); self::checkResponse($t->doTrackPageView('Second page view - should be registered as URL /')); // Click on external link after 6 minutes (3rd action) - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.1)->getDatetime()); self::checkResponse($t->doTrackAction('http://dev.piwik.org/svn', 'link')); // Click on file download after 12 minutes (4th action) - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getDatetime()); self::checkResponse($t->doTrackAction('http://piwik.org/path/again/latest.zip', 'download')); // Click on two more external links, one the same as before (5th & 6th actions) - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.22)->getDateTime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.22)->getDateTime()); self::checkResponse($t->doTrackAction('http://outlinks.org/other_outlink', 'link')); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.25)->getDateTime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.25)->getDateTime()); self::checkResponse($t->doTrackAction('http://dev.piwik.org/svn', 'link')); // Create Goal 1: Triggered by JS, after 18 minutes $idGoal = Piwik_Goals_API::getInstance()->addGoal($idSite, 'triggered js', 'manually', '', ''); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); // Change to Thai browser to ensure the conversion is credited to FR instead (the visitor initial country) $t->setBrowserLanguage('th'); self::checkResponse($t->doTrackGoal($idGoal, $revenue = 42)); // Track same Goal twice (after 24 minutes), should only be tracked once - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.4)->getDatetime()); self::checkResponse($t->doTrackGoal($idGoal, $revenue = 42)); $t->setBrowserLanguage('fr'); if ($this->useSiteSearch) { // Site Search request - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.42)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.42)->getDatetime()); $t->setUrl('http://example.org/index.htm?q=Banks Own The World'); $t->setGenerationTime(812); self::checkResponse($t->doTrackPageView('Site Search request')); // Final page view (after 27 min) - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.45)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.45)->getDatetime()); $t->setUrl('http://example.org/index.htm'); $t->setGenerationTime(24); self::checkResponse($t->doTrackPageView('Looking at homepage after site search...')); } else { // Final page view (after 27 min) - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.45)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.45)->getDatetime()); $t->setUrl('http://example.org/index.htm#ignoredFragment#'); $t->setGenerationTime(23); self::checkResponse($t->doTrackPageView('Looking at homepage (again)...')); @@ -142,7 +143,7 @@ class Test_Piwik_Fixture_OneVisitorTwoVisits extends Test_Piwik_BaseFixture // - // Start of returning visit, 1 hour after first page view - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(1)->getDatetime()); $t->setUrl('http://example.org/store/purchase.htm'); $t->setUrlReferrer('http://search.yahoo.com/search?p=purchase'); // Temporary, until we implement 1st party cookies in PiwikTracker diff --git a/tests/PHPUnit/Fixtures/SomeVisitsAllConversions.php b/tests/PHPUnit/Fixtures/SomeVisitsAllConversions.php index 670bc635dfee067447ad1715e4fc411c1bfe7779..ad47b32696a3c264e25977b671421448b6ce9e33 100644 --- a/tests/PHPUnit/Fixtures/SomeVisitsAllConversions.php +++ b/tests/PHPUnit/Fixtures/SomeVisitsAllConversions.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and tracks a couple conversions. @@ -55,15 +56,15 @@ class Piwik_Test_Fixture_SomeVisitsAllConversions extends Test_Piwik_BaseFixture // Record 1st goal, should only have 1 conversion $t->setUrl('http://example.org/index.htm'); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); self::checkResponse($t->doTrackPageView('Thank you mate')); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.4)->getDatetime()); self::checkResponse($t->doTrackGoal($idGoal_OneConversionPerVisit, $revenue = 10000000)); // Record 2nd goal, should record both conversions - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.5)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.5)->getDatetime()); self::checkResponse($t->doTrackGoal($idGoal_MultipleConversionPerVisit, $revenue = 300)); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.6)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.6)->getDatetime()); self::checkResponse($t->doTrackGoal($idGoal_MultipleConversionPerVisit, $revenue = 366)); // Update & set to not allow multiple @@ -74,7 +75,7 @@ class Piwik_Test_Fixture_SomeVisitsAllConversions extends Test_Piwik_BaseFixture self::assertTrue($goal['allow_multiple'] == 1); // 1st goal should Now be tracked - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.61)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.61)->getDatetime()); self::checkResponse($t->doTrackGoal($idGoal_OneConversionPerVisit, $revenue = 656)); } } diff --git a/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php b/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php index a3752ad05c7cfebc57f5a43a3b37e5876fc8525c..be0e42eed9e8b7f0723df88ed9af02cc947ebf1e 100644 --- a/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php +++ b/tests/PHPUnit/Fixtures/SomeVisitsCustomVariablesCampaignsNotHeuristics.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Add one site and track many visits with custom variables & campaign IDs and @@ -76,13 +77,13 @@ class Test_Piwik_Fixture_SomeVisitsCustomVariablesCampaignsNotHeuristics extends $t2->setVisitorId($visitorId); // And Record a Goal: The previous visit should be updated rather than a new visit Created - $t2->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $t2->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); self::checkResponse($t2->doTrackGoal($idGoal, $revenue = 42.256)); // Yet another visitor, this time with a manual goal conversion, which should be credited to the campaign $t3 = self::getTracker($idSite, $dateTime); $t3->setUrlReferrer('http://example.org/referrer'); - $t3->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1.3)->getDatetime()); + $t3->setForceVisitDateTime(Date::factory($dateTime)->addHour(1.3)->getDatetime()); // fake a website ref cookie, the campaign should be credited for conversion, not referrer.example.com nor example.org $t3->DEBUG_APPEND_URL = '&_ref=http%3A%2F%2Freferrer.example.com%2Fpage%2Fsub%3Fquery%3Dtest%26test2%3Dtest3'; $t3->setUrl('http://example.org/index.htm#pk_campaign=CREDITED TO GOAL PLEASE'); @@ -90,27 +91,27 @@ class Test_Piwik_Fixture_SomeVisitsCustomVariablesCampaignsNotHeuristics extends // visitor #4, test for blank referrer campaign keyword $t4 = self::getTracker($idSite, $dateTime); - $t4->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(3)->getDatetime()); + $t4->setForceVisitDateTime(Date::factory($dateTime)->addHour(3)->getDatetime()); $t4->setUrlReferrer('http://bing.com/search?q=whatever'); $t4->setUrl('http://example.org/index.html?utm_campaign=GA+Campaign'); self::checkResponse($t4->doTrackPageView('first page')); // No campaign keyword specified, will use the referrer hostname - $t4->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(4)->getDatetime()); + $t4->setForceVisitDateTime(Date::factory($dateTime)->addHour(4)->getDatetime()); $t4->setUrlReferrer('http://thing1.com/a/b/c.html?a=b&d=c'); $t4->setUrl('http://example.org/index.html?utm_campaign=GA+Campaign'); self::checkResponse($t4->doTrackPageView('second page')); // Test with Google adsense type URL: $adsenseRefererUrl = 'http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-12345&output=html&h=280&slotname=123&w=336&lmt=1359388321&202&url=http%3A%2F%2Fwww.adsense-publisher-website.org%2F&dt=123&bpp=13&shv=r22&jsv=1565606614&correlator=ss&ga_vid=aaa&ga_sid=1359435122&ga_hid=1801871121&ga_fc=0&u_tz=780&u_his=4&u_java=1&u_h=900&u_w=1600&u_ah=876&u_aw=1551&u_cd=24&u_nplug=4&u_nmime=5&dff=georgia&dfs=16&adx=33&ady=201&biw=1551&bih=792&oid=3&fu=0&ifi=1&dtd=608&p=http%3A//www.adsense-publisher-website.com'; - $t4->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(5)->getDatetime()); + $t4->setForceVisitDateTime(Date::factory($dateTime)->addHour(5)->getDatetime()); $t4->setUrlReferrer($adsenseRefererUrl); $t4->setUrl('http://example.org/index.html?utm_campaign=Adsense campaign'); self::checkResponse($t4->doTrackPageView('second page')); // Test with google Adwords URL $adwordsUrl = 'http://www.google.co.nz/aclk?sa=L&ai=uYmFyiZgAf0oO0J&num=3&sig=EpOCR4xQ&ved=ENEM&adurl=http://pixel.everesttech.net/3163/cq%3Fev_sid%3D3%26ev_cmpid%3D33%26ev_ln%3Dused%2520wii%2520consoles%26ev_crx%528386%26ev_mt%3Db%26ev_n%3Dg%26ev_ltx%3D%26ev_pl%3D%26ev_pos%3D1s2%26url%3Dhttp%253A//au.shopping.com/used%2520wii%2520consoles/products%253Flinkin_id%253D8077872&rct=j&q=nintendo+consoles+second+hand'; - $t4->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(6)->getDatetime()); + $t4->setForceVisitDateTime(Date::factory($dateTime)->addHour(6)->getDatetime()); $t4->setUrlReferrer($adwordsUrl); $t4->setUrl('http://example.org/index.html?utm_campaign=Adwords campaign'); self::checkResponse($t4->doTrackPageView('second page')); diff --git a/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php b/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php index e669ccc638e4c3c2ecb7aaab50a6b9920670157d..e0d3de9e6d761066f6bf44854a350d65ac4ed76a 100644 --- a/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php +++ b/tests/PHPUnit/Fixtures/SomeVisitsManyPageviewsWithTransitions.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and tracks a couple visits with many pageviews. The @@ -101,7 +102,7 @@ class Test_Piwik_Fixture_SomeVisitsManyPageviewsWithTransitions extends Test_Piw $this->trackPageView($tracker, 0.6, 'to/outlink/page2.html', $this->dateTime, $pageViewType = 'outlink'); // perform new searches/outlinks before & after in later date to test 'month' period - $laterDate = Piwik_Date::factory($this->dateTime)->addDay(8)->getDatetime(); + $laterDate = Date::factory($this->dateTime)->addDay(8)->getDatetime(); $tracker->setIp('156.5.3.7'); $tracker->setNewVisitorId(); $this->trackPageView($tracker, 0, 'page/search.html#q=thirdkwd', $laterDate, $pageViewType = 'site-search', @@ -132,7 +133,7 @@ class Test_Piwik_Fixture_SomeVisitsManyPageviewsWithTransitions extends Test_Piw /** @var $visit PiwikTracker */ $visit->setUrl($prefix . 'example.org/' . $path); - $visit->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour($timeOffset)->getDatetime()); + $visit->setForceVisitDateTime(Date::factory($dateTime)->addHour($timeOffset)->getDatetime()); if ($pageViewType == 'normal') { self::assertTrue($visit->doTrackPageView('page title - ' . $path)); diff --git a/tests/PHPUnit/Fixtures/SomeVisitsWithLongUrls.php b/tests/PHPUnit/Fixtures/SomeVisitsWithLongUrls.php index 9eb839ad537f4cf1aeb826af2f149c14114b8ad8..c78a3fb9da0a6222074ce37518a888da5c89e743 100644 --- a/tests/PHPUnit/Fixtures/SomeVisitsWithLongUrls.php +++ b/tests/PHPUnit/Fixtures/SomeVisitsWithLongUrls.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and tracks 7 visits w/ some long-ish urls (as page urls and @@ -70,32 +71,32 @@ class Test_Piwik_Fixture_SomeVisitsWithLongUrls extends Test_Piwik_BaseFixture self::checkResponse($t->doTrackPageView('Hello')); // VISIT 2 = Another keyword - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(1)->getDatetime()); $t->setUrlReferrer('http://www.google.com.vn/url?q=Salut'); self::checkResponse($t->doTrackPageView('incredible title!')); // Visit 3 = Another keyword - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(2)->getDatetime()); $t->setUrlReferrer('http://www.google.com.vn/url?q=Kia Ora'); self::checkResponse($t->doTrackPageView('incredible title!')); // Visit 4 = Kia Ora again - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(3)->getDatetime()); $t->setUrlReferrer('http://www.google.com.vn/url?q=Kia Ora'); self::checkResponse($t->doTrackPageView('incredible title!')); // Visit 5 = Another search engine - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(4)->getDatetime()); $t->setUrlReferrer('http://nz.search.yahoo.com/search?p=Kia Ora'); self::checkResponse($t->doTrackPageView('incredible title!')); // Visit 6 = Another search engine - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(5)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(5)->getDatetime()); $t->setUrlReferrer('http://images.search.yahoo.com/search/images;_ylt=A2KcWcNKJzF?p=Kia%20Ora%20'); self::checkResponse($t->doTrackPageView('incredible title!')); // Visit 7 = Another search engine - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(6)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(6)->getDatetime()); $t->setUrlReferrer('http://nz.bing.com/images/search?q=+++Kia+ora+++'); self::checkResponse($t->doTrackPageView('incredible title!')); } diff --git a/tests/PHPUnit/Fixtures/SomeVisitsWithNonUnicodePageTitles.php b/tests/PHPUnit/Fixtures/SomeVisitsWithNonUnicodePageTitles.php index b0dac3c1a84abc9f488892d51479abb035f3288a..199fc691232f149da8a266ad0a195d9b3c9ce31d 100644 --- a/tests/PHPUnit/Fixtures/SomeVisitsWithNonUnicodePageTitles.php +++ b/tests/PHPUnit/Fixtures/SomeVisitsWithNonUnicodePageTitles.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one website and some visits with non unicode page titles. @@ -33,7 +34,7 @@ class Test_Piwik_Fixture_SomeVisitsWithNonUnicodePageTitles extends Test_Piwik_B private function setUpWebsites() { Piwik_SitesManager_API::getInstance()->setGlobalSearchParameters($searchKeywordParameters = 'gkwd', $searchCategoryParameters = 'gcat'); - self::createWebsite(Piwik_Date::factory($this->dateTime)->getDatetime(), 0, "Site 1 - Site search", $siteurl = false, $search = 1, $searchKwd = 'q,mykwd,p', $searchCat = 'cats'); + self::createWebsite(Date::factory($this->dateTime)->getDatetime(), 0, "Site 1 - Site search", $siteurl = false, $search = 1, $searchKwd = 'q,mykwd,p', $searchCat = 'cats'); } private function trackVisits() @@ -48,7 +49,7 @@ class Test_Piwik_Fixture_SomeVisitsWithNonUnicodePageTitles extends Test_Piwik_B $visitor = self::getTracker($idSite1, $dateTime, $defaultInit = true); // Test w/ iso-8859-15 - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); $visitor->setUrlReferrer('http://anothersite.com/whatever.html?whatever=Ato%FC'); // Also testing that the value is encoded when passed as an array $visitor->setUrl('http://example.org/index.htm?random=param&mykwd[]=Search 2%FC&test&cats= Search Kategory &search_count=INCORRECT!'); @@ -58,13 +59,13 @@ class Test_Piwik_Fixture_SomeVisitsWithNonUnicodePageTitles extends Test_Piwik_B // Test w/ windows-1251 $visitor = self::getTracker($idSite1, $dateTime, $defaultInit = true); - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); $visitor->setUrlReferrer('http://anothersite.com/whatever.html?txt=%EC%E5%F8%EA%EE%E2%FB%E5'); $visitor->setUrl('http://example.org/page/index.htm?whatever=%EC%E5%F8%EA%EE%E2%FB%E5'); $visitor->setPageCharset('windows-1251'); self::checkResponse($visitor->doTrackPageView('Page title is always UTF-8')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.4)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.4)->getDatetime()); $nonUnicodeKeyword = '%EC%E5%F8%EA%EE%E2%FB%E5'; $visitor->setUrl('http://example.org/page/index.htm?q=' . $nonUnicodeKeyword); $visitor->setPageCharset('windows-1251'); @@ -72,7 +73,7 @@ class Test_Piwik_Fixture_SomeVisitsWithNonUnicodePageTitles extends Test_Piwik_B // Test URL with non unicode Site Search keyword - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.5)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.5)->getDatetime()); //TESTS: on jenkins somehow the "<-was here" was cut off so removing this test case and simply append the wrong keyword // $visitor->setUrl('http://example.org/page/index.htm?q=non unicode keyword %EC%E5%F8%EAe%EE%E2%FBf%E5 <-was here'); $visitor->setUrl('http://example.org/page/index.htm?q=non unicode keyword %EC%E5%F8%EA%EE%E2%FB%E5'); @@ -81,13 +82,13 @@ class Test_Piwik_Fixture_SomeVisitsWithNonUnicodePageTitles extends Test_Piwik_B $visitor->setPageCharset(''); - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.5)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.5)->getDatetime()); $visitor->setUrl('http://example.org/exit-page'); self::checkResponse($visitor->doTrackPageView('Page title is always UTF-8')); // Test set invalid page char set $visitor = self::getTracker($idSite1, $dateTime, $defaultInit = true); - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(1)->getDatetime()); $visitor->setUrlReferrer('http://anothersite.com/whatever.html'); $visitor->setUrl('http://example.org/index.htm?random=param&mykwd=a+keyword&test&cats= Search Kategory &search_count=INCORRECT!'); $visitor->setPageCharset('GTF-42'); // galactic transformation format diff --git a/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php b/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php index 7f055f4de6e48f493e2dbda19788a62be1322e7d..3ef00a5188712e13622d927941a1c5f53ccd9190 100644 --- a/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php +++ b/tests/PHPUnit/Fixtures/ThreeGoalsOnePageview.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Fixture that adds one site with three goals and tracks one pageview & one manual @@ -53,7 +54,7 @@ class Test_Piwik_Fixture_ThreeGoalsOnePageview extends Test_Piwik_BaseFixture $t->setUrl('http://example.org/index.htm'); self::checkResponse($t->doTrackPageView('0')); - $t->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.3)->getDatetime()); self::checkResponse($t->doTrackGoal($this->idGoal3, $revenue = 42.256)); } } diff --git a/tests/PHPUnit/Fixtures/ThreeSitesWithManyVisitsWithSiteSearch.php b/tests/PHPUnit/Fixtures/ThreeSitesWithManyVisitsWithSiteSearch.php index ac93543b4287cb824c2a838262f02aed879f2349..a5b747debf615e0e2cea72489d813a23369cd8a1 100644 --- a/tests/PHPUnit/Fixtures/ThreeSitesWithManyVisitsWithSiteSearch.php +++ b/tests/PHPUnit/Fixtures/ThreeSitesWithManyVisitsWithSiteSearch.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds three websites with different site search configurations and adds @@ -36,9 +37,9 @@ class Test_Piwik_Fixture_ThreeSitesWithManyVisitsWithSiteSearch extends Test_Piw protected function setUpWebsites() { Piwik_SitesManager_API::getInstance()->setGlobalSearchParameters($searchKeywordParameters = 'gkwd', $searchCategoryParameters = 'gcat'); - self::createWebsite(Piwik_Date::factory($this->dateTime)->subHour(200)->getDatetime(), 0, "Site 1 - Site search", $siteurl = false, $search = 1, $searchKwd = 'q,mykwd,p', $searchCat = 'cats'); - self::createWebsite(Piwik_Date::factory($this->dateTime)->subHour(400)->getDatetime(), 0, "Site 2 - Site search use default", $siteurl = false, $search = 1, $searchKwd = '', $searchCat = ''); - self::createWebsite(Piwik_Date::factory($this->dateTime)->subHour(600)->getDatetime(), 0, "Site 3 - No site search", $siteurl = false, $search = 0); + self::createWebsite(Date::factory($this->dateTime)->subHour(200)->getDatetime(), 0, "Site 1 - Site search", $siteurl = false, $search = 1, $searchKwd = 'q,mykwd,p', $searchCat = 'cats'); + self::createWebsite(Date::factory($this->dateTime)->subHour(400)->getDatetime(), 0, "Site 2 - Site search use default", $siteurl = false, $search = 1, $searchKwd = '', $searchCat = ''); + self::createWebsite(Date::factory($this->dateTime)->subHour(600)->getDatetime(), 0, "Site 3 - No site search", $siteurl = false, $search = 0); } protected function trackVisits() @@ -54,68 +55,68 @@ class Test_Piwik_Fixture_ThreeSitesWithManyVisitsWithSiteSearch extends Test_Piw // Visitor site1 $visitor = self::getTracker($this->idSite1, $this->dateTime, $defaultInit = true); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.2)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.2)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?q=Search 1 '); self::checkResponse($visitor->doTrackPageView('Site Search results')); // Normal page view - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.22)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.22)->getDatetime()); $visitor->setUrl('http://example.org/index.htm'); self::checkResponse($visitor->doTrackPageView('Im just a page')); // IS_FOLLOWING_SEARCH: Not this time - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.23)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.23)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE'); self::checkResponse($visitor->doTrackPageView('This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.25)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.25)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?standard=query&but=also#hash&q=' . urlencode('Search 1')); self::checkResponse($visitor->doTrackPageView('Site Search results - URL Fragment')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.26)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.26)->getDatetime()); $visitor->setUrl('http://example.org/index.htm#q=Search 1&search_count=10'); self::checkResponse($visitor->doTrackPageView('Site Search results - URL Fragment')); // &search_count=0 so it's a "No Result" keyword, but it will not appear in the report, because it also has other seraches with results // and the archiving does a MAX() - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.27)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.27)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?hello=world#q=Search 1&search_count=0'); self::checkResponse($visitor->doTrackPageView('Site Search results - URL Fragment')); // Testing with non urlencoded values - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.3)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.3)->getDatetime()); // ALso testing that array[] notation is detected $visitor->setUrl('http://example.org/index.htm?random=param&mykwd[]=Search 2&test&cats= Search Category &search_count=INCORRECT!'); self::checkResponse($visitor->doTrackPageView('Site Search results')); // Testing with urlencoded values - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.32)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.32)->getDatetime()); // Also testing with random case 'myKwd' $visitor->setUrl('http://example.org/index.htm?random=param&myKwd=Search 1&test&cats=' . urlencode(' Search Category ') . ' &search_count=0'); self::checkResponse($visitor->doTrackPageView('Site Search results')); // IS_FOLLOWING_SEARCH: Yes - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.35)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.35)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?random=PAGEVIEW, NOT SEARCH&mykwd=&IS_FOLLOWING_SEARCH ONCE'); self::checkResponse($visitor->doTrackPageView('This is a pageview, not a Search - IS_FOLLOWING_SEARCH ONCE')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.4)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.4)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?gkwd=SHOULD be a PageView, NOT a search'); self::checkResponse($visitor->doTrackPageView('Pageview, not search')); $visitor->setUrl('http://example.org/hello?THIS IS A SITE SEARCH TRACKING API, NOT PAGEVIEW!'); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(24.41)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(24.41)->getDatetime()); self::checkResponse($visitor->doTrackSiteSearch("Keyword - Tracking API")); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(24.42)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(24.42)->getDatetime()); self::checkResponse($visitor->doTrackSiteSearch("Keyword - Tracking API", "Category", $count = 5)); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(24.43)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(24.43)->getDatetime()); self::checkResponse($visitor->doTrackSiteSearch("No Result Keyword!", "Bad No Result Category :(", $count = 0)); // Keyword in iso-8859-15 charset with funny character - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(24.5)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(24.5)->getDatetime()); $visitor->setPageCharset('iso-8859-15'); $visitor->setUrl('http://example.org/index.htm?q=Final%20t%FCte%20Keyword%20Searched%20for%20now&search_count=10'); self::checkResponse($visitor->doTrackPageView(false)); @@ -126,15 +127,15 @@ class Test_Piwik_Fixture_ThreeSitesWithManyVisitsWithSiteSearch extends Test_Piw $visitorB->setIp('156.66.6.66'); $visitorB->setResolution(1600, 1000); - $visitorB->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(2.26)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(2.26)->getDatetime()); $visitorB->setUrl('http://example.org/index.htm#q=' . urlencode('No Result Keyword!') . '&search_count=0'); self::checkResponse($visitorB->doTrackPageView('Site Search results - URL Fragment')); - $visitorB->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(2.27)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(2.27)->getDatetime()); $visitorB->setUrl('http://example.org/index.htm?hello=world#q=Search 1&search_count=10'); self::checkResponse($visitorB->doTrackPageView('Site Search results - URL Fragment')); - $visitorB->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(2.3)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(2.3)->getDatetime()); $visitorB->setUrl('http://example.org/index.htm?random=param&mykwd=Search 2&test&cats= Search Category &search_count=10'); self::checkResponse($visitorB->doTrackPageView('Site Search results')); } @@ -145,12 +146,12 @@ class Test_Piwik_Fixture_ThreeSitesWithManyVisitsWithSiteSearch extends Test_Piw $visitor = self::getTracker($this->idSite3, $this->dateTime, $defaultInit = true); $visitor->setResolution(1801, 1301); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.2)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.2)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?q=Search 1&IsPageView=1'); $visitor->setCustomVariable(1, 'test cvar name', 'test cvar value'); self::checkResponse($visitor->doTrackPageView('IsPageView')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.35)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.35)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?gkwd=test not a keyword&gcat=Cat not but not keyword, so this is not search'); self::checkResponse($visitor->doTrackPageView('This is a pageview, not a Search')); @@ -165,25 +166,25 @@ class Test_Piwik_Fixture_ThreeSitesWithManyVisitsWithSiteSearch extends Test_Piw $visitor = self::getTracker($this->idSite2, $this->dateTime, $defaultInit = true); $visitor->setResolution(801, 301); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.2)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.2)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?q=Search 1&IsPageView=1'); self::checkResponse($visitor->doTrackPageView('IsPageView')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.35)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.35)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?random=PAGEVIEW, NOT SEARCH&gcat=Cat not but not keyword, so this is not search'); self::checkResponse($visitor->doTrackPageView('This is a pageview, not a Search')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.4)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.4)->getDatetime()); $visitor->setUrl('http://example.org/index.htm?gkwd=SHOULD be a Search with no result!&search_count=0'); self::checkResponse($visitor->doTrackPageView('This is a Search')); // Testing UTF8 keywords - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.45)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.45)->getDatetime()); $crazySearchTerm = 'You%20can%20use%20Piwik%20in%3A%20%E1%8A%A0%E1%88%9B%E1%88%AD%E1%8A%9B%2C%20%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9%2C%20%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D0%BA%D0%B0%D1%8F%2C%20%D0%91%D1%8A%D0%BB%D0%B3%D0%B0%D1%80%D1%81%D0%BA%D0%B8%2C%20Catal%C3%A0%2C%20%C4%8Cesky%2C%20Dansk%2C%20Deutsch%2C%20%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%B9%CE%BA%CE%AC%2C%20English%2C%20Espa%C3%B1ol%2C%20Eesti%20keel%2C%20Euskara%2C%20%D9%81%D8%A7%D8%B1%D8%B3%DB%8C%2C%20Suomi%2C%20Fran%C3%A7ais%2C%20Galego%2C%20%D7%A2%D7%91%D7%A8%D7%99%D7%AA%2C%20Magyar%2C%20Bahasa%20Indonesia%2C%20%C3%8Dslenska%2C%20Italiano%2C%20%E6%97%A5%E6%9C%AC%E8%AA%9E%2C%20%E1%83%A5%E1%83%90%E1%83%A0%E1%83%97%E1%83%A3%E1%83%9A%E1%83%98%2C%20%ED%95%9C%EA%B5%AD%EC%96%B4%2C%20Lietuvi%C5%B3%2C%20Latvie%C5%A1u%2C%20Norsk%20(bokm%C3%A5l)%2C%20Nederlands%2C%20Norsk%20(nynorsk)%2C%20Polski%2C%20Portugu%C3%AAs%20brasileiro%2C%20Portugu%C3%AAs%2C%20Rom%C3%A2n%C4%83%2C%20%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%2C%20Slovensky%2C%20Sloven%C5%A1%C4%8Dina%2C%20Shqip%2C%20Srpski%2C%20Svenska%2C%20%E0%B0%A4%E0%B1%86%E0%B0%B2%E0%B1%81%E0%B0%97%E0%B1%81%2C%20%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%84%E0%B8%97%E0%B8%A2%2C%20T%C3%BCrk%C3%A7e%2C%20%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D0%B0%2C%20%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%2C%20%E7%B9%81%E9%AB%94%E4%B8%AD%E6%96%87.'; $visitor->setUrl('http://example.org/index.htm?gkwd=' . $crazySearchTerm . '&gcat=' . $crazySearchTerm . '&search_count=1'); self::checkResponse($visitor->doTrackPageView('Site Search with 1 result')); - $visitor->setForceVisitDateTime(Piwik_Date::factory($this->dateTime)->addHour(0.5)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(0.5)->getDatetime()); self::checkResponse($visitor->doTrackSiteSearch("No Result Keyword!", "Bad No Result Category bis :(", $count = 0)); return array($defaultInit, $visitor); } diff --git a/tests/PHPUnit/Fixtures/TwoSitesEcommerceOrderWithItems.php b/tests/PHPUnit/Fixtures/TwoSitesEcommerceOrderWithItems.php index 2000580da82abbb9d9eb227ac675d065c11279a5..33e244d7cac584f5593fb14b8a3e0b2ac60d9d1b 100644 --- a/tests/PHPUnit/Fixtures/TwoSitesEcommerceOrderWithItems.php +++ b/tests/PHPUnit/Fixtures/TwoSitesEcommerceOrderWithItems.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds two sites and tracks some visits with ecommerce orders. @@ -61,16 +62,16 @@ class Test_Piwik_Fixture_TwoSitesEcommerceOrderWithItems extends Test_Piwik_Base self::assertEquals(array('VisitorType', 'NewLoggedOut'), $t->getCustomVariable(5, 'visit')); self::checkResponse($t->doTrackPageView('incredible title!')); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.1)->getDatetime()); $t->setEcommerceView($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', $category, $price = 666); self::checkResponse($t->doTrackPageView('Another Product page')); // Note: here testing to pass a timestamp to the tracking API rather than the datetime string - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.2)->getTimestampUTC()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getTimestampUTC()); $t->setEcommerceView($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', ''); self::checkResponse($t->doTrackPageView('Another Product page with no category')); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getDatetime()); $t->setEcommerceView($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', $categories = array('Multiple Category 1', '', 0, 'Multiple Category 2', 'Electronics & Cameras', 'Multiple Category 4', 'Multiple Category 5', 'SHOULD NOT BE REPORTEDSSSSSSSSSSSSSSssssssssssssssssssssssssssstttttttttttttttttttttttuuuu!')); self::checkResponse($t->doTrackPageView('Another Product page with multiple categories')); @@ -80,22 +81,22 @@ class Test_Piwik_Fixture_TwoSitesEcommerceOrderWithItems extends Test_Piwik_Base $t->setDebugStringAppend("&_idvc=2"); // VIEW category page - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1.6)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(1.6)->getDatetime()); $t->setEcommerceView('', '', $category); self::checkResponse($t->doTrackPageView('Looking at ' . $category . ' page with a page level custom variable')); // VIEW category page again - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1.7)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(1.7)->getDatetime()); $t->setEcommerceView('', '', $category); self::checkResponse($t->doTrackPageView('Looking at ' . $category . ' page again')); // VIEW product page - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1.8)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(1.8)->getDatetime()); $t->setEcommerceView($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', $category = 'Electronics & Cameras', $price = 666); self::checkResponse($t->doTrackPageView('Looking at product page')); // ADD TO CART - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1.9)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(1.9)->getDatetime()); $t->setCustomVariable(3, 'VisitorName', 'Great name!', 'visit'); $t->addEcommerceItem($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', $category = 'Electronics & Cameras', $price = 500, $quantity = 1); $t->addEcommerceItem($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', $category = 'Electronics & Cameras', $price = 500, $quantity = 2); @@ -103,13 +104,13 @@ class Test_Piwik_Fixture_TwoSitesEcommerceOrderWithItems extends Test_Piwik_Base self::checkResponse($t->doTrackEcommerceCartUpdate($grandTotal = 1000)); // ORDER NO 1 - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(2)->getDatetime()); $t->addEcommerceItem($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', $categories, $price = 500, $quantity = 2); $t->addEcommerceItem($sku = 'ANOTHER SKU HERE', $name = 'PRODUCT name BIS', $category = '', $price = 100, $quantity = 6); self::checkResponse($t->doTrackEcommerceOrder($orderId = '937nsjusu 3894', $grandTotal = 1111.11, $subTotal = 1000, $tax = 111, $shipping = 0.11, $discount = 666)); // ORDER NO 2 - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(2.1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(2.1)->getDatetime()); $t->addEcommerceItem($sku = 'SKU2', $name = 'Canon SLR', $category = 'Electronics & Cameras', $price = 1500, $quantity = 1); // Product bought with empty category $t->addEcommerceItem($sku = 'SKU VERY nice indeed', $name = 'PRODUCT name', '', $price = 11.22, $quantity = 1); @@ -125,19 +126,19 @@ class Test_Piwik_Fixture_TwoSitesEcommerceOrderWithItems extends Test_Piwik_Base // ORDER SHOULD DEDUPE // Refresh the page with the receipt for the second order, should be ignored // we test that both the order, and the products, are not updated on subsequent "Receipt" views - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(2.2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(2.2)->getDatetime()); $t->addEcommerceItem($sku = 'SKU2', $name = 'Canon SLR NOT!', $category = 'Electronics & Cameras NOT!', $price = 15000000000, $quantity = 10000); self::checkResponse($t->doTrackEcommerceOrder($orderId = '1037nsjusu4s3894', $grandTotal = 20000000, $subTotal = 1500, $tax = 400, $shipping = 100, $discount = 0)); // Leave with an opened cart // No category - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(2.3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(2.3)->getDatetime()); $t->addEcommerceItem($sku = 'SKU IN ABANDONED CART ONE', $name = 'PRODUCT ONE LEFT in cart', $category = '', $price = 500.11111112, $quantity = 2); self::checkResponse($t->doTrackEcommerceCartUpdate($grandTotal = 1000)); // Record the same visit leaving twice an abandoned cart foreach (array(0, 5, 24) as $offsetHour) { - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour($offsetHour + 2.4)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour($offsetHour + 2.4)->getDatetime()); // Also recording an order the day after if ($offsetHour >= 24) { $t->setDebugStringAppend("&_idvc=1"); @@ -146,20 +147,20 @@ class Test_Piwik_Fixture_TwoSitesEcommerceOrderWithItems extends Test_Piwik_Base } // VIEW PRODUCT PAGES - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour($offsetHour + 2.5)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour($offsetHour + 2.5)->getDatetime()); $t->setEcommerceView($sku = 'SKU VERY nice indeed', $name = 'PRODUCT THREE LEFT in cart', $category = '', $price = 999); self::checkResponse($t->doTrackPageView("View product left in cart")); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour($offsetHour + 2.55)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour($offsetHour + 2.55)->getDatetime()); $t->setEcommerceView($sku = 'SKU VERY nice indeed', $name = 'PRODUCT THREE LEFT in cart', $category = '', $price = 333); self::checkResponse($t->doTrackPageView("View product left in cart")); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour($offsetHour + 2.6)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour($offsetHour + 2.6)->getDatetime()); $t->setEcommerceView($sku = 'SKU IN ABANDONED CART TWO', $name = 'PRODUCT TWO LEFT in cart', $category = 'Category TWO LEFT in cart'); self::checkResponse($t->doTrackPageView("View product left in cart")); // ABANDONED CART - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour($offsetHour + 2.7)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour($offsetHour + 2.7)->getDatetime()); $t->addEcommerceItem($sku = 'SKU IN ABANDONED CART ONE', $name = 'PRODUCT ONE LEFT in cart', $category = '', $price = 500.11111112, $quantity = 1); $t->addEcommerceItem($sku = 'SKU IN ABANDONED CART TWO', $name = 'PRODUCT TWO LEFT in cart', $category = 'Category TWO LEFT in cart', $price = 1000, $quantity = 2); $t->addEcommerceItem($sku = 'SKU VERY nice indeed', $name = 'PRODUCT THREE LEFT in cart', $category = 'Electronics & Cameras', $price = 10, $quantity = 1); @@ -167,17 +168,17 @@ class Test_Piwik_Fixture_TwoSitesEcommerceOrderWithItems extends Test_Piwik_Base } // One more Ecommerce order to check weekly archiving works fine on orders - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(30.7)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(30.7)->getDatetime()); $t->addEcommerceItem($sku = 'TRIPOD SKU', $name = 'TRIPOD - bought day after', $category = 'Tools', $price = 100, $quantity = 2); self::checkResponse($t->doTrackEcommerceOrder($orderId = '666', $grandTotal = 240, $subTotal = 200, $tax = 20, $shipping = 20, $discount = 20)); // One more Ecommerce order, without any product in it, because we still track orders without products - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(30.8)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(30.8)->getDatetime()); self::checkResponse($t->doTrackEcommerceOrder($orderId = '777', $grandTotal = 10000)); // testing the same order in a different website should record $t = self::getTracker($idSite2, $dateTime, $defaultInit = true); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(30.9)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(30.9)->getDatetime()); $t->addEcommerceItem($sku = 'TRIPOD SKU', $name = 'TRIPOD - bought day after', $category = 'Tools', $price = 100, $quantity = 2); self::checkResponse($t->doTrackEcommerceOrder($orderId = '777', $grandTotal = 250)); //------------------------------------- End tracking diff --git a/tests/PHPUnit/Fixtures/TwoSitesManyVisitsOverSeveralDaysWithSearchEngineReferrers.php b/tests/PHPUnit/Fixtures/TwoSitesManyVisitsOverSeveralDaysWithSearchEngineReferrers.php index faf3d45696c08645d3de7fd8831b6f5609438a26..a122bb5436ea1518c1477a1e27cb50686da73d4f 100644 --- a/tests/PHPUnit/Fixtures/TwoSitesManyVisitsOverSeveralDaysWithSearchEngineReferrers.php +++ b/tests/PHPUnit/Fixtures/TwoSitesManyVisitsOverSeveralDaysWithSearchEngineReferrers.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one website and tracks visits on different days over a month @@ -58,7 +59,7 @@ class Test_Piwik_Fixture_TwoSitesManyVisitsOverSeveralDaysWithSearchEngineReferr $t->enableBulkTracking(); for ($daysIntoPast = 30; $daysIntoPast >= 0; $daysIntoPast--) { // Visit 1: referrer website + test page views - $visitDateTime = Piwik_Date::factory($dateTime)->subDay($daysIntoPast)->getDatetime(); + $visitDateTime = Date::factory($dateTime)->subDay($daysIntoPast)->getDatetime(); $t->setNewVisitorId(); $t->setIdSite($idSite); @@ -75,11 +76,11 @@ class Test_Piwik_Fixture_TwoSitesManyVisitsOverSeveralDaysWithSearchEngineReferr // Trigger goal n°2 twice self::assertTrue($t->doTrackGoal(2)); - $t->setForceVisitDateTime(Piwik_Date::factory($visitDateTime)->addHour(0.1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($visitDateTime)->addHour(0.1)->getDatetime()); self::assertTrue($t->doTrackGoal(2)); // VISIT 2: search engine - $t->setForceVisitDateTime(Piwik_Date::factory($visitDateTime)->addHour(3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($visitDateTime)->addHour(3)->getDatetime()); $t->setUrlReferrer('http://google.com/search?q=' . urlencode($this->keywords[$daysIntoPast % 3])); $t->setGenerationTime($daysIntoPast * 100 + 200); self::assertTrue($t->doTrackPageView('not an incredible title ')); diff --git a/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php b/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php index 3c42391c1a691ca3aead3a4f4d6fcdcf1d019630..ad7dfa047607b6902651bf6e6e9748ab2890d4c5 100644 --- a/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php +++ b/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds two websites and tracks visits from two visitors on different days. @@ -68,11 +69,11 @@ class Test_Piwik_Fixture_TwoSitesTwoVisitorsDifferentDays extends Test_Piwik_Bas $visitorA = self::getTracker($idSite, $datetimeSpanOverTwoDays, $defaultInit = true); $visitorA->setUrlReferrer('http://referer.com/page.htm?param=valuewith some spaces'); $visitorA->setUrl('http://example.org/index.htm#ignoredFragment'); - $visitorA->DEBUG_APPEND_URL = '&_idts=' . Piwik_Date::factory($datetimeSpanOverTwoDays)->getTimestamp(); + $visitorA->DEBUG_APPEND_URL = '&_idts=' . Date::factory($datetimeSpanOverTwoDays)->getTimestamp(); $visitorA->setGenerationTime(123); self::checkResponse($visitorA->doTrackPageView('first page view')); - $visitorA->setForceVisitDateTime(Piwik_Date::factory($datetimeSpanOverTwoDays)->addHour(0.1)->getDatetime()); + $visitorA->setForceVisitDateTime(Date::factory($datetimeSpanOverTwoDays)->addHour(0.1)->getDatetime()); // testing with empty URL and empty page title $visitorA->setUrl(' '); $visitorA->setGenerationTime(223); @@ -85,50 +86,50 @@ class Test_Piwik_Fixture_TwoSitesTwoVisitorsDifferentDays extends Test_Piwik_Bas $visitorB->setTokenAuth(self::getTokenAuth()); $visitorB->setIp('100.52.156.83'); $visitorB->setResolution(800, 300); - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(1)->getDatetime()); $visitorB->setUrlReferrer(''); $visitorB->setUserAgent('Opera/9.63 (Windows NT 5.1; U; en) Presto/2.1.1'); $visitorB->setUrl('http://example.org/products'); - $visitorB->DEBUG_APPEND_URL = '&_idts=' . Piwik_Date::factory($dateTime)->addHour(1)->getTimestamp(); + $visitorB->DEBUG_APPEND_URL = '&_idts=' . Date::factory($dateTime)->addHour(1)->getTimestamp(); $visitorB->setGenerationTime(153); self::assertTrue($visitorB->doTrackPageView('first page view')); // - // Second visitor again on Idsite 1: 2 page views 2 days later, 2010-01-05 - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(48)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(48)->getDatetime()); // visitor_returning is set to 1 only when visit count more than 1 // Temporary, until we implement 1st party cookies in PiwikTracker - $visitorB->DEBUG_APPEND_URL .= '&_idvc=2&_viewts=' . Piwik_Date::factory($dateTime)->getTimestamp(); + $visitorB->DEBUG_APPEND_URL .= '&_idvc=2&_viewts=' . Date::factory($dateTime)->getTimestamp(); $visitorB->setUrlReferrer('http://referer.com/Other_Page.htm'); $visitorB->setUrl('http://example.org/index.htm'); $visitorB->setGenerationTime(323); self::assertTrue($visitorB->doTrackPageView('second visitor/two days later/a new visit')); // Second page view 6 minutes later - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(48)->addHour(0.1)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(48)->addHour(0.1)->getDatetime()); $visitorB->setUrl('http://example.org/thankyou'); $visitorB->setGenerationTime(173); self::assertTrue($visitorB->doTrackPageView('second visitor/two days later/second page view')); // testing a strange combination causing an error in r3767 - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(48)->addHour(0.2)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(48)->addHour(0.2)->getDatetime()); self::assertTrue($visitorB->doTrackAction('mailto:test@example.org', 'link')); - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(48)->addHour(0.25)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(48)->addHour(0.25)->getDatetime()); self::assertTrue($visitorB->doTrackAction('mailto:test@example.org/strangelink', 'link')); // Actions.getPageTitle tested with this title - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(48)->addHour(0.25)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(48)->addHour(0.25)->getDatetime()); $visitorB->setGenerationTime(452); self::assertTrue($visitorB->doTrackPageView('Checkout / Purchasing...')); self::checkResponse($visitorB->doBulkTrack()); // - // First visitor on Idsite 2: one page view, with Website referer - $visitorAsite2 = self::getTracker($idSite2, Piwik_Date::factory($dateTime)->addHour(24)->getDatetime(), $defaultInit = true); + $visitorAsite2 = self::getTracker($idSite2, Date::factory($dateTime)->addHour(24)->getDatetime(), $defaultInit = true); $visitorAsite2->setUserAgent('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)'); $visitorAsite2->setUrlReferrer('http://only-homepage-referer.com/'); $visitorAsite2->setUrl('http://example2.com/home#notIgnoredFragment#'); - $visitorAsite2->DEBUG_APPEND_URL = '&_idts=' . Piwik_Date::factory($dateTime)->addHour(24)->getTimestamp(); + $visitorAsite2->DEBUG_APPEND_URL = '&_idts=' . Date::factory($dateTime)->addHour(24)->getTimestamp(); $visitorAsite2->setGenerationTime(193); self::checkResponse($visitorAsite2->doTrackPageView('Website 2 page view')); // test with invalid URL diff --git a/tests/PHPUnit/Fixtures/TwoSitesVisitsInPast.php b/tests/PHPUnit/Fixtures/TwoSitesVisitsInPast.php index d476bb793392ee931f14c189b598a65e250b3069..eae1b9749f7232c8cd7bfde429c0cfe7ea6c71f2 100644 --- a/tests/PHPUnit/Fixtures/TwoSitesVisitsInPast.php +++ b/tests/PHPUnit/Fixtures/TwoSitesVisitsInPast.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds two sites and tracks several visits all in the past. @@ -97,7 +98,7 @@ class Test_Piwik_Fixture_TwoSitesVisitsInPast extends Test_Piwik_BaseFixture self::checkResponse($t->doTrackPageView('Hello')); $t->setUrl('http://example.org/category/Pageyy'); self::checkResponse($t->doTrackPageView('Blabla')); - $t->setForceVisitDateTime(Piwik_Date::factory($this->dateTimeDateInPastWebsite2)->addHour(0.1)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($this->dateTimeDateInPastWebsite2)->addHour(0.1)->getDatetime()); $t->setUrl('http://example.org/category/Pageyy'); self::checkResponse($t->doTrackPageView('Blabla')); } diff --git a/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php b/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php index 2c986b337c504b7c8c7b5aa1ec40face89c010be..83b4eded013142447827f2de6939e0b30a5ba6fd 100644 --- a/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php +++ b/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php @@ -6,6 +6,7 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ use Piwik\Access; +use Piwik\Date; /** * A fixture that adds two websites and annotations for each website. @@ -37,8 +38,8 @@ class Test_Piwik_Fixture_TwoSitesWithAnnotations extends Test_Piwik_BaseFixture // add two annotations per week for three months, starring every third annotation // first month in 2011, second two in 2012 $count = 0; - $dateStart = Piwik_Date::factory('2011-12-01'); - $dateEnd = Piwik_Date::factory('2012-03-01'); + $dateStart = Date::factory('2011-12-01'); + $dateEnd = Date::factory('2012-03-01'); while ($dateStart->getTimestamp() < $dateEnd->getTimestamp()) { $starred = $count % 3 == 0 ? 1 : 0; $site1Text = "$count: Site 1 annotation for " . $dateStart->toString(); diff --git a/tests/PHPUnit/Fixtures/TwoVisitsNoKeywordWithBot.php b/tests/PHPUnit/Fixtures/TwoVisitsNoKeywordWithBot.php index c4399d7f66d303b69969ff03738333e13426d752..fe28c492d9d01e72e2bcc1d056ac2f6262fc3ef7 100644 --- a/tests/PHPUnit/Fixtures/TwoVisitsNoKeywordWithBot.php +++ b/tests/PHPUnit/Fixtures/TwoVisitsNoKeywordWithBot.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site and tracks two visits. One visit is a bot and one has no keyword @@ -49,12 +50,12 @@ class Test_Piwik_Fixture_TwoVisitsNoKeywordWithBot extends Test_Piwik_BaseFixtur $t->setUrl('http://example.org/this%20is%20cool!'); self::checkResponse($t->doTrackPageView('incredible title!')); $idGoal = Piwik_Goals_API::getInstance()->addGoal($idSite, 'triggered js', 'manually', '', ''); - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.3)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.3)->getDatetime()); self::checkResponse($t->doTrackGoal($idGoal, $revenue = 42)); // VISIT 2 = Referrer has keyword, but the URL should be rewritten // in Live Output to point to google search result page - $t->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(2)->getDatetime()); + $t->setForceVisitDateTime(Date::factory($dateTime)->addHour(2)->getDatetime()); $t->setUrlReferrer('http://www.google.com.vn/url?sa=t&rct=j&q=%3C%3E%26%5C%22the%20pdo%20extension%20is%20required%20for%20this%20adapter%20but%20the%20extension%20is%20not%20loaded&source=web&cd=4&ved=0FjAD&url=http%3A%2F%2Fforum.piwik.org%2Fread.php%3F2%2C1011&ei=y-HHAQ&usg=AFQjCN2-nt5_GgDeg&cad=rja'); // Test with empty title, that the output of Live is valid diff --git a/tests/PHPUnit/Fixtures/TwoVisitsWithCustomVariables.php b/tests/PHPUnit/Fixtures/TwoVisitsWithCustomVariables.php index 070d266ecfb859c8ae70b237f2a03e37a580e49c..5ab144c1157ccf361a093891d75ca8f7417fc7f5 100644 --- a/tests/PHPUnit/Fixtures/TwoVisitsWithCustomVariables.php +++ b/tests/PHPUnit/Fixtures/TwoVisitsWithCustomVariables.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one site with two goals and tracks two visits with custom variables. @@ -65,14 +66,14 @@ class Test_Piwik_Fixture_TwoVisitsWithCustomVariables extends Test_Piwik_BaseFix $visitorA->setResolution($this->resolutionWidthToUse, $this->resolutionHeightToUse); // At first, visitor custom var is set to LoggedOut - $visitorA->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.1)->getDatetime()); + $visitorA->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.1)->getDatetime()); $visitorA->setUrl('http://example.org/homepage'); $visitorA->setCustomVariable($id = 1, $name = 'VisitorType', $value = 'LoggedOut'); self::checkResponse($visitorA->doTrackPageView('Homepage')); self::checkResponse($visitorA->doTrackGoal($idGoal2)); // After login, set to LoggedIn, should overwrite previous value - $visitorA->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.2)->getDatetime()); + $visitorA->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getDatetime()); $visitorA->setUrl('http://example.org/user/profile'); $visitorA->setCustomVariable($id = 1, $name = 'VisitorType', $value = 'LoggedIn'); $visitorA->setCustomVariable($id = 4, $name = 'Status user', $value = 'Loggedin', $scope = 'page'); @@ -119,7 +120,7 @@ class Test_Piwik_Fixture_TwoVisitsWithCustomVariables extends Test_Piwik_BaseFix $visitorB->setAttributionInfo(json_encode($attribution)); $visitorB->setResolution($this->resolutionWidthToUse, $this->resolutionHeightToUse); $visitorB->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6'); - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(1)->getDatetime()); $visitorB->setCustomVariable($id = 1, $name = 'VisitorType', $value = 'LoggedOut'); $visitorB->setCustomVariable($id = 2, $name = 'Othercustom value which should be truncated abcdefghijklmnopqrstuvwxyz', $value = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'); $visitorB->setCustomVariable($id = -2, $name = 'not tracked', $value = 'not tracked'); @@ -128,12 +129,12 @@ class Test_Piwik_Fixture_TwoVisitsWithCustomVariables extends Test_Piwik_BaseFix $visitorB->setUrl('http://example.org/homepage'); self::checkResponse($visitorB->doTrackGoal($idGoal, 1000)); - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1.1)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(1.1)->getDatetime()); self::checkResponse($visitorB->doTrackPageView('Homepage')); // DIFFERENT test - // testing that starting the visit with an outlink works (doesn't trigger errors) - $visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(2)->getDatetime()); + $visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour(2)->getDatetime()); self::checkResponse($visitorB->doTrackAction('http://test.com', 'link')); } } diff --git a/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php b/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php index f38fa6a7f194c6b21b2225d5cfa37c4350981a04..c845fabbf1dbfafa3b86fcb7def6234cbff11efe 100644 --- a/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php +++ b/tests/PHPUnit/Fixtures/VisitsOverSeveralDays.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * Adds one website and tracks several visits from one visitor on @@ -70,7 +71,7 @@ class Test_Piwik_Fixture_VisitsOverSeveralDays extends Test_Piwik_BaseFixture $visitor = $this->makeTracker($this->idSite, $dateTime, $debugStringAppend); // FIRST VISIT THIS DAY - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.1)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.1)->getDatetime()); $visitor->setUrl('http://example.org/homepage'); $visitor->setUrlReferrer($this->referrerUrls[$ridx++]); self::checkResponse($visitor->doTrackPageView('ou pas')); @@ -78,19 +79,19 @@ class Test_Piwik_Fixture_VisitsOverSeveralDays extends Test_Piwik_BaseFixture // Test change the IP, the visit should not be split but recorded to the same idvisitor $visitor->setIp('200.1.15.22'); - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.2)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.2)->getDatetime()); $visitor->setUrl('http://example.org/news'); self::checkResponse($visitor->doTrackPageView('ou pas')); // SECOND VISIT THIS DAY - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(1)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(1)->getDatetime()); $visitor->setUrl('http://example.org/news'); $visitor->setUrlReferrer($this->referrerUrls[$ridx++]); self::checkResponse($visitor->doTrackPageView('ou pas')); if ($days <= 3) { $visitor = $this->makeTracker($this->idSite2, $dateTime); - $visitor->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(0.1)->getDatetime()); + $visitor->setForceVisitDateTime(Date::factory($dateTime)->addHour(0.1)->getDatetime()); $visitor->setUrl('http://example.org/homepage'); $visitor->setUrlReferrer($this->referrerUrls[$ridx - 1]); self::checkResponse($visitor->doTrackPageView('Second website')); diff --git a/tests/PHPUnit/Integration/ArchiveCronTest.php b/tests/PHPUnit/Integration/ArchiveCronTest.php index eb49013b5dddd136222f2d0eccca1db91667f6de..dce02cf182b5bcb87e9983971309466a15bb471e 100644 --- a/tests/PHPUnit/Integration/ArchiveCronTest.php +++ b/tests/PHPUnit/Integration/ArchiveCronTest.php @@ -7,6 +7,7 @@ */ use Piwik\Piwik; use Piwik\Access; +use Piwik\Date; /** * Tests the archive.php cron script. @@ -91,7 +92,7 @@ class Test_Piwik_Integration_ArchiveCronTest extends IntegrationTestCase $periodTypes = array('day', 'periods'); $idSites = Piwik_SitesManager_API::getInstance()->getAllSitesId(); - $time = Piwik_Date::factory(self::$fixture->dateTime)->subDay(1)->getTimestamp(); + $time = Date::factory(self::$fixture->dateTime)->subDay(1)->getTimestamp(); foreach ($periodTypes as $period) { foreach ($idSites as $idSite) { diff --git a/tests/PHPUnit/Integration/AutoSuggestAPITest.php b/tests/PHPUnit/Integration/AutoSuggestAPITest.php index af7048059c961e8bc70f058f05a6006ae92c5680..5b97695dd0dba279348fb9161979a0fdac8a4db4 100644 --- a/tests/PHPUnit/Integration/AutoSuggestAPITest.php +++ b/tests/PHPUnit/Integration/AutoSuggestAPITest.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * testing a the auto suggest API for all known segments @@ -129,4 +130,4 @@ class Test_Piwik_Integration_AutoSuggestAPITest extends IntegrationTestCase } Test_Piwik_Integration_AutoSuggestAPITest::$fixture = new Test_Piwik_Fixture_ManyVisitsWithGeoIP(); -Test_Piwik_Integration_AutoSuggestAPITest::$fixture->dateTime = Piwik_Date::yesterday()->subDay(30)->getDatetime(); +Test_Piwik_Integration_AutoSuggestAPITest::$fixture->dateTime = Date::yesterday()->subDay(30)->getDatetime(); diff --git a/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php b/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php index 89eaf8b7f4b4bb74b2e828bdcf11e1f6ea32b89c..0de25f5e4b9188d38f56cb698bb59d68f44c8029 100755 --- a/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php +++ b/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php @@ -6,6 +6,7 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ use Piwik\Piwik; +use Piwik\Date; /** * Tests API methods after ecommerce orders are tracked. @@ -157,7 +158,7 @@ class Test_Piwik_Integration_EcommerceOrderWithItems extends IntegrationTestCase // test Live! output is OK also for the visit that just bought something (other visits leave an abandoned cart) array('Live.getLastVisitsDetails', array('idSite' => $idSite, - 'date' => Piwik_Date::factory($dateTime)->addHour(30.65)->getDatetime(), + 'date' => Date::factory($dateTime)->addHour(30.65)->getDatetime(), 'periods' => array('day'), 'testSuffix' => '_LiveEcommerceStatusOrdered')), // test API.get method diff --git a/tests/PHPUnit/Integration/PeriodIsRange_DateIsLastN_MetadataAndNormalAPITest.php b/tests/PHPUnit/Integration/PeriodIsRange_DateIsLastN_MetadataAndNormalAPITest.php index e8dd0e63bd7b51df270c86e344c83bb6dfc55b06..88d2c5bf766f14abeaeac5f25e63e1feb9bd0403 100755 --- a/tests/PHPUnit/Integration/PeriodIsRange_DateIsLastN_MetadataAndNormalAPITest.php +++ b/tests/PHPUnit/Integration/PeriodIsRange_DateIsLastN_MetadataAndNormalAPITest.php @@ -5,6 +5,7 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Date; /** * test Metadata API + period=range&date=lastN @@ -24,7 +25,7 @@ class Test_Piwik_Integration_PeriodIsRange_DateIsLastN_MetadataAndNormalAPI exte return; } - self::$fixture->dateTime = Piwik_Date::factory('now')->getDateTime(); + self::$fixture->dateTime = Date::factory('now')->getDateTime(); parent::setUpBeforeClass(); } @@ -75,8 +76,8 @@ class Test_Piwik_Integration_PeriodIsRange_DateIsLastN_MetadataAndNormalAPI exte ); $dates = array( 'last7', - Piwik_Date::factory('now')->subDay(6)->toString() . ',today', - Piwik_Date::factory('now')->subDay(6)->toString() . ',now', + Date::factory('now')->subDay(6)->toString() . ',today', + Date::factory('now')->subDay(6)->toString() . ',now', ); $result = array(); diff --git a/tests/PHPUnit/IntegrationTestCase.php b/tests/PHPUnit/IntegrationTestCase.php index fff5efcbcd4739f98991b7ab077e44989a53180a..6385057d3bc69086e36b269b7c410a8779018164 100755 --- a/tests/PHPUnit/IntegrationTestCase.php +++ b/tests/PHPUnit/IntegrationTestCase.php @@ -5,11 +5,15 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; +use Piwik\DataAccess\ArchiveTableCreator; +use Piwik\DataTable\Manager; use Piwik\Piwik; use Piwik\Common; use Piwik\Access; use Piwik\Site; +use Piwik\Translate; require_once PIWIK_INCLUDE_PATH . '/libs/PiwikTracker/PiwikTracker.php'; @@ -74,7 +78,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase */ protected static function installAndLoadPlugins($installPlugins) { - $pluginsManager = PluginsManager::getInstance(); + $pluginsManager = \Piwik\PluginsManager::getInstance(); $plugins = $pluginsManager->readPluginsDirectory(); $pluginsManager->loadPlugins($plugins); @@ -86,7 +90,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase public static function loadAllPlugins() { - $pluginsManager = PluginsManager::getInstance(); + $pluginsManager = \Piwik\PluginsManager::getInstance(); $pluginsToLoad = Config::getInstance()->Plugins['Plugins']; $pluginsToLoad[] = 'DevicesDetection'; @@ -96,11 +100,11 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase public static function unloadAllPlugins() { try { - $plugins = PluginsManager::getInstance()->getLoadedPlugins(); + $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPlugins(); foreach ($plugins AS $plugin) { $plugin->uninstall(); } - PluginsManager::getInstance()->unloadPlugins(); + \Piwik\PluginsManager::getInstance()->unloadPlugins(); } catch (Exception $e) { } } @@ -156,7 +160,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase Piwik::createTables(); Piwik::createLogObject(); - PluginsManager::getInstance()->loadPlugins(array()); + \Piwik\PluginsManager::getInstance()->loadPlugins(array()); } catch (Exception $e) { self::fail("TEST INITIALIZATION FAILED: " . $e->getMessage() . "\n" . $e->getTraceAsString()); } @@ -182,7 +186,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase $_SERVER['HTTP_REFERER'] = ''; // Make sure translations are loaded to check messages in English - Piwik_Translate::getInstance()->reloadLanguage('en'); + Translate::getInstance()->reloadLanguage('en'); Piwik_LanguagesManager_API::getInstance()->setLanguageForUser('superUserLogin', 'en'); // List of Modules, or Module.Method that should not be called as part of the XML output compare @@ -205,7 +209,7 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase Piwik::$piwikUrlCache = null; IntegrationTestCase::unloadAllPlugins(); /* - $plugins = PluginsManager::getInstance()->getLoadedPlugins(); + $plugins = \Piwik\PluginsManager::getInstance()->getLoadedPlugins(); foreach ($plugins AS $plugin) { if ($dropDatabase) { try { @@ -215,21 +219,21 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase } } } - PluginsManager::getInstance()->unloadPlugins();*/ + \Piwik\PluginsManager::getInstance()->unloadPlugins();*/ if ($dropDatabase) { Piwik::dropDatabase(); } - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); Piwik_Option::getInstance()->clearCache(); Site::clearCache(); Piwik_Tracker_Cache::deleteTrackerCache(); Config::getInstance()->clear(); - Piwik_DataAccess_ArchiveTableCreator::clear(); + ArchiveTableCreator::clear(); Piwik_PDFReports_API::$cache = array(); Zend_Registry::_unsetInstance(); $_GET = $_REQUEST = array(); - Piwik_Translate::getInstance()->unloadEnglishTranslation(); + Translate::getInstance()->unloadEnglishTranslation(); // re-enable tag cloud shuffling Piwik_Visualization_Cloud::$debugDisableShuffle = true; @@ -970,10 +974,10 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase $this->_setCallableApi($api); if (isset($params['disableArchiving']) && $params['disableArchiving'] === true) { - Piwik_ArchiveProcessor_Rules::$archivingDisabledByTests = true; + Rules::$archivingDisabledByTests = true; Config::getInstance()->General['browser_archiving_disabled_enforce'] = 1; } else { - Piwik_ArchiveProcessor_Rules::$archivingDisabledByTests = false; + Rules::$archivingDisabledByTests = false; Config::getInstance()->General['browser_archiving_disabled_enforce'] = 0; } @@ -1043,8 +1047,8 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase { if ($this->lastLanguage != $langId) { $_GET['language'] = $langId; - Piwik_Translate::reset(); - Piwik_Translate::getInstance()->reloadLanguage($langId); + Translate::reset(); + Translate::getInstance()->reloadLanguage($langId); } $this->lastLanguage = $langId; @@ -1127,11 +1131,11 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase */ public static function deleteArchiveTables() { - foreach (Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled() as $table) { + foreach (ArchiveTableCreator::getTablesArchivesInstalled() as $table) { Piwik_Query("DROP TABLE IF EXISTS $table"); } - Piwik_DataAccess_ArchiveTableCreator::refreshTableList($forceReload = true); + ArchiveTableCreator::refreshTableList($forceReload = true); } } diff --git a/tests/PHPUnit/Plugins/ActionsTest.php b/tests/PHPUnit/Plugins/ActionsTest.php index ce3acfcf6e91d8936f9ff8a780de1c0dd4c98dc6..cf89fe53173021c447ea91d0443410bd7eadd634 100644 --- a/tests/PHPUnit/Plugins/ActionsTest.php +++ b/tests/PHPUnit/Plugins/ActionsTest.php @@ -5,18 +5,20 @@ * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Translate; + require_once 'Actions/Actions.php'; class ActionsTests extends PHPUnit_Framework_TestCase { public function setUp() { - Piwik_Translate::getInstance()->loadEnglishTranslation(); + Translate::getInstance()->loadEnglishTranslation(); } public function tearDown() { - Piwik_Translate::getInstance()->unloadEnglishTranslation(); + Translate::getInstance()->unloadEnglishTranslation(); } public function getActionNameTestData() diff --git a/tests/PHPUnit/Plugins/MobileMessagingTest.php b/tests/PHPUnit/Plugins/MobileMessagingTest.php index 75c3b8599817661d59093fd705220e9e001913d8..29620e62454415a46b0440cf63a82df5dad3d10d 100644 --- a/tests/PHPUnit/Plugins/MobileMessagingTest.php +++ b/tests/PHPUnit/Plugins/MobileMessagingTest.php @@ -24,8 +24,8 @@ class MobileMessagingTest extends DatabaseTestCase $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("test", "http://test"); - PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging', 'MultiSites')); - PluginsManager::getInstance()->installLoadedPlugins(); + \Piwik\PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging', 'MultiSites')); + \Piwik\PluginsManager::getInstance()->installLoadedPlugins(); } @@ -38,8 +38,8 @@ class MobileMessagingTest extends DatabaseTestCase public function testWarnUserViaSMSMultiSitesDeactivated() { // safety net - PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging')); - $this->assertFalse(PluginsManager::getInstance()->isPluginActivated('MultiSites')); + \Piwik\PluginsManager::getInstance()->loadPlugins(array('PDFReports', 'MobileMessaging')); + $this->assertFalse(\Piwik\PluginsManager::getInstance()->isPluginActivated('MultiSites')); $PdfReportsAPIInstance = Piwik_PDFReports_API::getInstance(); $reportId = $PdfReportsAPIInstance->addReport( diff --git a/tests/PHPUnit/Plugins/MultiSitesTest.php b/tests/PHPUnit/Plugins/MultiSitesTest.php index fffe204f6d1005b6650e2892f0e5992eeeeae288..63d952c8a67caafd9328f3607694db17635a0d1b 100644 --- a/tests/PHPUnit/Plugins/MultiSitesTest.php +++ b/tests/PHPUnit/Plugins/MultiSitesTest.php @@ -21,8 +21,8 @@ class MultiSitesTest extends DatabaseTestCase $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("test", "http://test"); - PluginsManager::getInstance()->loadPlugins(array('MultiSites', 'VisitsSummary', 'Actions')); - PluginsManager::getInstance()->installLoadedPlugins(); + \Piwik\PluginsManager::getInstance()->loadPlugins(array('MultiSites', 'VisitsSummary', 'Actions')); + \Piwik\PluginsManager::getInstance()->installLoadedPlugins(); } diff --git a/tests/PHPUnit/Plugins/PDFReportsTest.php b/tests/PHPUnit/Plugins/PDFReportsTest.php index e2bf0d72a66d64eb98bbd35cdf2fc937582883f6..7d2fc3edfd4868d028f15e933872dfe02bec541f 100644 --- a/tests/PHPUnit/Plugins/PDFReportsTest.php +++ b/tests/PHPUnit/Plugins/PDFReportsTest.php @@ -20,8 +20,8 @@ class PDFReportsTest extends DatabaseTestCase // setup the access layer self::setSuperUser(); - PluginsManager::getInstance()->loadPlugins(array('API', 'UserCountry', 'PDFReports', 'MobileMessaging')); - PluginsManager::getInstance()->installLoadedPlugins(); + \Piwik\PluginsManager::getInstance()->loadPlugins(array('API', 'UserCountry', 'PDFReports', 'MobileMessaging')); + \Piwik\PluginsManager::getInstance()->installLoadedPlugins(); Piwik_SitesManager_API::getInstance()->addSite("Test", array("http://piwik.net")); @@ -194,7 +194,7 @@ class PDFReportsTest extends DatabaseTestCase public function testGetTopMenuTranslationKeyMobileMessagingInactive() { // unload MobileMessaging plugin - PluginsManager::getInstance()->loadPlugins(array('PDFReports')); + \Piwik\PluginsManager::getInstance()->loadPlugins(array('PDFReports')); $pdfReportPlugin = new Piwik_PDFReports(); $this->assertEquals( diff --git a/tests/PHPUnit/Plugins/PrivacyManagerTest.php b/tests/PHPUnit/Plugins/PrivacyManagerTest.php index 08f12fe06670acd65a4678a7733947250c04eec4..c9cdbf86849a8e93d396d0a46f5fd3525806ee3b 100755 --- a/tests/PHPUnit/Plugins/PrivacyManagerTest.php +++ b/tests/PHPUnit/Plugins/PrivacyManagerTest.php @@ -6,9 +6,13 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ use Piwik\Archive; +use Piwik\ArchiveProcessor\Rules; use Piwik\Config; +use Piwik\DataAccess\ArchiveTableCreator; +use Piwik\DataTable\Manager; use Piwik\Piwik; use Piwik\Common; +use Piwik\Date; use Piwik\Site; require_once 'PrivacyManager/PrivacyManager.php'; @@ -50,12 +54,12 @@ class PrivacyManagerTest extends IntegrationTestCase // Temporarily disable the purge of old archives so that getNumeric('nb_visits') // in _addReportData does not trigger the data purge of data we've just imported - Piwik_ArchiveProcessor_Rules::$purgeDisabledByTests = false; + Rules::$purgeDisabledByTests = false; self::_addLogData(); self::_addReportData(); - Piwik_ArchiveProcessor_Rules::$purgeDisabledByTests = true; + Rules::$purgeDisabledByTests = true; self::$dbData = self::getDbTablesWithData(); } @@ -70,10 +74,10 @@ class PrivacyManagerTest extends IntegrationTestCase self::restoreDbTables(self::$dbData); - $dateTime = Piwik_Date::factory(self::$dateTime); + $dateTime = Date::factory(self::$dateTime); // purging depends upon today's date, so 'older_than' parts must be dependent upon today - $today = Piwik_Date::factory('today'); + $today = Date::factory('today'); $daysSinceToday = ($today->getTimestamp() - $dateTime->getTimestamp()) / (24 * 60 * 60); $monthsSinceToday = 0; @@ -106,11 +110,11 @@ class PrivacyManagerTest extends IntegrationTestCase public function tearDown() { parent::tearDown(); - Piwik_DataTable_Manager::getInstance()->deleteAll(); + Manager::getInstance()->deleteAll(); Piwik_Option::getInstance()->clearCache(); Site::clearCache(); Piwik_Tracker_Cache::deleteTrackerCache(); - Piwik_DataAccess_ArchiveTableCreator::clear(); + ArchiveTableCreator::clear(); $tempTableName = Common::prefixTable(Piwik_PrivacyManager_LogDataPurger::TEMP_TABLE_NAME); Piwik_Query("DROP TABLE IF EXISTS " . $tempTableName); @@ -159,7 +163,7 @@ class PrivacyManagerTest extends IntegrationTestCase */ public function testPurgeDataNotTimeToRun() { - $yesterdaySecs = Piwik_Date::factory('yesterday')->getTimestamp(); + $yesterdaySecs = Date::factory('yesterday')->getTimestamp(); Piwik_SetOption(Piwik_PrivacyManager::OPTION_LAST_DELETE_PIWIK_LOGS_INITIAL, 1); Piwik_SetOption(Piwik_PrivacyManager::OPTION_LAST_DELETE_PIWIK_LOGS, $yesterdaySecs); @@ -256,7 +260,7 @@ class PrivacyManagerTest extends IntegrationTestCase public function testPurgeDataDeleteLogsNoData() { Piwik::truncateAllTables(); - foreach (Piwik_DataAccess_ArchiveTableCreator::getTablesArchivesInstalled() as $table) { + foreach (ArchiveTableCreator::getTablesArchivesInstalled() as $table) { Piwik_Exec("DROP TABLE $table"); } @@ -625,7 +629,7 @@ class PrivacyManagerTest extends IntegrationTestCase // - http://whatever.com/_{$daysSinceLastVisit} // - http://whatever.com/42/{$daysSinceLastVisit} - $start = Piwik_Date::factory(self::$dateTime); + $start = Date::factory(self::$dateTime); self::$idSite = Test_Piwik_BaseFixture::createWebsite('2012-01-01', $ecommerce = 1); $idGoal = Piwik_Goals_API::getInstance()->addGoal(self::$idSite, 'match all', 'url', 'http', 'contains'); @@ -658,7 +662,7 @@ class PrivacyManagerTest extends IntegrationTestCase protected static function _addReportData() { - $date = Piwik_Date::factory(self::$dateTime); + $date = Date::factory(self::$dateTime); $archive = Archive::build(self::$idSite, 'year', $date); @@ -685,7 +689,7 @@ class PrivacyManagerTest extends IntegrationTestCase self::$idSite, 'day', '2012-01-14', 'browserCode==FF'); // add range within January - $rangeEnd = Piwik_Date::factory('2012-01-29'); + $rangeEnd = Date::factory('2012-01-29'); $rangeStart = $rangeEnd->subDay(1); $range = $rangeStart->toString('Y-m-d') . "," . $rangeEnd->toString('Y-m-d'); @@ -833,7 +837,7 @@ class PrivacyManagerTest extends IntegrationTestCase protected function _setTimeToRun() { - $lastDateSecs = Piwik_Date::factory('today')->subDay(8)->getTimestamp(); + $lastDateSecs = Date::factory('today')->subDay(8)->getTimestamp(); Piwik_SetOption(Piwik_PrivacyManager::OPTION_LAST_DELETE_PIWIK_LOGS_INITIAL, 1); Piwik_SetOption(Piwik_PrivacyManager::OPTION_LAST_DELETE_PIWIK_LOGS, $lastDateSecs); diff --git a/tests/PHPUnit/Plugins/SEOTest.php b/tests/PHPUnit/Plugins/SEOTest.php index 23010423a1be225e8c331b8af477d2a2be56a0a3..cf4c7d1ff514f8ccfce74b884ebcf31d5c3afe81 100644 --- a/tests/PHPUnit/Plugins/SEOTest.php +++ b/tests/PHPUnit/Plugins/SEOTest.php @@ -6,6 +6,7 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ use Piwik\Access; +use Piwik\DataTable\Renderer; class SEOTest extends PHPUnit_Framework_TestCase { @@ -45,7 +46,7 @@ class SEOTest extends PHPUnit_Framework_TestCase } catch(Exception $e) { $this->markTestSkipped('A SEO http request failed, Skipping this test for now. Error was: '.$e->getMessage()); } - $renderer = Piwik_DataTable_Renderer::factory('php'); + $renderer = Renderer::factory('php'); $renderer->setSerialize(false); $ranks = $renderer->render($dataTable); foreach ($ranks as $rank) { diff --git a/tests/PHPUnit/Plugins/SegmentEditorTest.php b/tests/PHPUnit/Plugins/SegmentEditorTest.php index f379f5b0962686fa60ee766366a22bcb2c2d34f2..e35ffe7b21297e0567c767eb2dbb8fe11a4434f4 100644 --- a/tests/PHPUnit/Plugins/SegmentEditorTest.php +++ b/tests/PHPUnit/Plugins/SegmentEditorTest.php @@ -1,21 +1,23 @@ <?php -use Piwik\Piwik; -use Piwik\Access; - /** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ +use Piwik\Piwik; +use Piwik\Access; +use Piwik\Date; + + class SegmentEditorTest extends DatabaseTestCase { public function setUp() { parent::setUp(); - PluginsManager::getInstance()->loadPlugin('SegmentEditor'); - PluginsManager::getInstance()->installLoadedPlugins(); + \Piwik\PluginsManager::getInstance()->loadPlugin('SegmentEditor'); + \Piwik\PluginsManager::getInstance()->installLoadedPlugins(); // setup the access layer $pseudoMockAccess = new FakeAccess; @@ -123,8 +125,8 @@ class SegmentEditorTest extends DatabaseTestCase 'enable_only_idsite' => '0', 'enable_all_users' => '0', 'auto_archive' => '0', - 'ts_last_edit' => Piwik_Date::now()->getDatetime(), - 'ts_created' => Piwik_Date::now()->getDatetime(), + 'ts_last_edit' => Date::now()->getDatetime(), + 'ts_created' => Date::now()->getDatetime(), 'login' => Piwik::getCurrentUserLogin(), 'deleted' => '0', ); diff --git a/tests/PHPUnit/Plugins/UsersManagerTest.php b/tests/PHPUnit/Plugins/UsersManagerTest.php index ce0423d463e40a4592f959ea0d7dfe3770fd4bc6..eb37aafd76a4348045bb573258344d7638c50781 100644 --- a/tests/PHPUnit/Plugins/UsersManagerTest.php +++ b/tests/PHPUnit/Plugins/UsersManagerTest.php @@ -14,8 +14,8 @@ class UsersManagerTest extends DatabaseTestCase { parent::setUp(); - PluginsManager::getInstance()->loadPlugin('UsersManager'); - PluginsManager::getInstance()->installLoadedPlugins(); + \Piwik\PluginsManager::getInstance()->loadPlugin('UsersManager'); + \Piwik\PluginsManager::getInstance()->installLoadedPlugins(); // setup the access layer $pseudoMockAccess = new FakeAccess; diff --git a/tests/PHPUnit/bootstrap.php b/tests/PHPUnit/bootstrap.php index 67d4e43382bc5b8f713f29557fd8b8f64feeec79..2aacac155bdd9e0d7ed2e8446d82f892bb05fb97 100644 --- a/tests/PHPUnit/bootstrap.php +++ b/tests/PHPUnit/bootstrap.php @@ -54,6 +54,7 @@ if ($useXhprof) { require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php'; require_once PIWIK_INCLUDE_PATH . '/core/testMinimumPhpVersion.php'; require_once PIWIK_INCLUDE_PATH . '/core/Loader.php'; +require_once PIWIK_INCLUDE_PATH . '/core/functions.php'; require_once PIWIK_INCLUDE_PATH . '/core/FrontController.php'; require_once PIWIK_INCLUDE_PATH . '/libs/spyc.php'; require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/DatabaseTestCase.php'; diff --git a/tests/PHPUnit/proxy/index.php b/tests/PHPUnit/proxy/index.php index 859ea8fb0490d24a5d2a80d1ce8a48cf4cd7a7c1..9ecf0050f68ceca9a406e5b80dbda92e54740a91 100644 --- a/tests/PHPUnit/proxy/index.php +++ b/tests/PHPUnit/proxy/index.php @@ -17,6 +17,7 @@ define('PIWIK_USER_PATH', PIWIK_INCLUDE_PATH); require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php'; require_once PIWIK_INCLUDE_PATH . '/core/Loader.php'; +require_once PIWIK_INCLUDE_PATH . '/core/functions.php'; require_once PIWIK_INCLUDE_PATH . '/core/EventDispatcher.php'; Piwik_Visualization_Cloud::$debugDisableShuffle = true; diff --git a/tests/PHPUnit/proxy/libs b/tests/PHPUnit/proxy/libs deleted file mode 120000 index d63817ad19ed795c3b3543396defd9dabcbe63a8..0000000000000000000000000000000000000000 --- a/tests/PHPUnit/proxy/libs +++ /dev/null @@ -1 +0,0 @@ -../../../libs \ No newline at end of file diff --git a/tests/PHPUnit/proxy/piwik.php b/tests/PHPUnit/proxy/piwik.php index 8c5fdb27e31d217867927eec9ea51c5c3ed87529..866038ba829eefbb35a0362d2105113afea97811 100755 --- a/tests/PHPUnit/proxy/piwik.php +++ b/tests/PHPUnit/proxy/piwik.php @@ -12,6 +12,7 @@ // Wrapping the request inside ob_start() calls to ensure that the Test // calling us waits for the full request to process before unblocking use Piwik\Config; +use Piwik\DataTable\Manager; use Piwik\Site; ob_start(); @@ -37,7 +38,7 @@ Config::getInstance()->Plugins_Tracker['Plugins_Tracker'] = $trackerPlugins; Piwik_UserCountry_LocationProvider_GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-files'; Piwik_Tracker::setTestEnvironment(); -Piwik_DataTable_Manager::getInstance()->deleteAll(); +Manager::getInstance()->deleteAll(); Piwik_Option::getInstance()->clearCache(); Site::clearCache(); Piwik_Tracker_Cache::deleteTrackerCache(); diff --git a/tests/PHPUnit/proxy/plugins b/tests/PHPUnit/proxy/plugins deleted file mode 120000 index 842d50c3aea9eaf6575d7e23e360842154dfcab7..0000000000000000000000000000000000000000 --- a/tests/PHPUnit/proxy/plugins +++ /dev/null @@ -1 +0,0 @@ -../../../plugins \ No newline at end of file diff --git a/tests/PHPUnit/proxy/tests b/tests/PHPUnit/proxy/tests deleted file mode 120000 index c25bddb6dd4666c6eb8cc92e33f1d60f64c3162b..0000000000000000000000000000000000000000 --- a/tests/PHPUnit/proxy/tests +++ /dev/null @@ -1 +0,0 @@ -../.. \ No newline at end of file