From a96ec40e983a8b64f4c25def541a519ff3670e6a Mon Sep 17 00:00:00 2001 From: mattab Date: Fri, 2 Aug 2013 15:59:33 +0200 Subject: Refs #4059 Converting dozens of plugins/* classes to use Namespaces, \Piwik\Plugins\* Added namespaces to functions.php files in the five plugins that had one Work in progress --- plugins/VisitTime/API.php | 52 +++++++++-------------------- plugins/VisitTime/Archiver.php | 15 +++++---- plugins/VisitTime/Controller.php | 9 ++--- plugins/VisitTime/VisitTime.php | 72 +++++++++++++++++++++------------------- plugins/VisitTime/functions.php | 40 ++++++++++++++++++++++ 5 files changed, 105 insertions(+), 83 deletions(-) create mode 100644 plugins/VisitTime/functions.php (limited to 'plugins/VisitTime') diff --git a/plugins/VisitTime/API.php b/plugins/VisitTime/API.php index 186c378f83..5a24ec36c9 100644 --- a/plugins/VisitTime/API.php +++ b/plugins/VisitTime/API.php @@ -6,8 +6,11 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_VisitTime + * @package VisitTime */ +namespace Piwik\Plugins\VisitTime; + +use Exception; use Piwik\Archive; use Piwik\Metrics; use Piwik\Period; @@ -15,13 +18,16 @@ use Piwik\Piwik; use Piwik\Date; use Piwik\DataTable; use Piwik\Site; +use Piwik\Plugins\VisitTime\Archiver; + +require_once PIWIK_INCLUDE_PATH . '/plugins/VisitTime/functions.php'; /** * VisitTime API lets you access reports by Hour (Server time), and by Hour Local Time of your visitors. * - * @package Piwik_VisitTime + * @package VisitTime */ -class Piwik_VisitTime_API +class API { static private $instance = null; @@ -39,19 +45,19 @@ class Piwik_VisitTime_API $archive = Archive::build($idSite, $period, $date, $segment); $dataTable = $archive->getDataTable($name); $dataTable->filter('Sort', array('label', 'asc', true)); - $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getTimeLabel')); + $dataTable->queueFilter('ColumnCallbackReplace', array('label', __NAMESPACE__ .'\getTimeLabel')); $dataTable->queueFilter('ReplaceColumnNames'); return $dataTable; } public function getVisitInformationPerLocalTime($idSite, $period, $date, $segment = false) { - return $this->getDataTable(Piwik_VisitTime_Archiver::LOCAL_TIME_RECORD_NAME, $idSite, $period, $date, $segment); + return $this->getDataTable(Archiver::LOCAL_TIME_RECORD_NAME, $idSite, $period, $date, $segment); } public function getVisitInformationPerServerTime($idSite, $period, $date, $segment = false, $hideFutureHoursWhenToday = false) { - $table = $this->getDataTable(Piwik_VisitTime_Archiver::SERVER_TIME_RECORD_NAME, $idSite, $period, $date, $segment); + $table = $this->getDataTable(Archiver::SERVER_TIME_RECORD_NAME, $idSite, $period, $date, $segment); if ($hideFutureHoursWhenToday) { $table = $this->removeHoursInFuture($table, $idSite, $period, $date); } @@ -76,7 +82,7 @@ class Piwik_VisitTime_API // metrics to query $metrics = Metrics::getVisitsMetricNames(); unset($metrics[Metrics::INDEX_MAX_ACTIONS]); - + // disabled for multiple dates if (Period::isMultiplePeriod($date, $period)) { throw new Exception("VisitTime.getByDayOfWeek does not support multiple dates."); @@ -100,7 +106,7 @@ class Piwik_VisitTime_API } // group by the day of the week (see below for dayOfWeekFromDate function) - $dataTable->filter('GroupBy', array('label', 'Piwik_VisitTime_dayOfWeekFromDate')); + $dataTable->filter('GroupBy', array('label', __NAMESPACE__ . '\dayOfWeekFromDate')); // create new datatable w/ empty rows, then add calculated datatable $rows = array(); @@ -115,7 +121,7 @@ class Piwik_VisitTime_API $result->filter('ColumnCallbackAddMetadata', array('label', 'day_of_week')); // translate labels - $result->filter('ColumnCallbackReplace', array('label', 'Piwik_VisitTime_translateDayOfWeek')); + $result->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\translateDayOfWeek')); // set datatable metadata for period start & finish $result->setMetadata('date_start', $oPeriod->getDateStart()); @@ -154,31 +160,3 @@ class Piwik_VisitTime_API return $table; } } - -function Piwik_getTimeLabel($label) -{ - return sprintf(Piwik_Translate('VisitTime_NHour'), $label); -} - -/** - * Returns the day of the week for a date string, without creating a new - * Date instance. - * - * @param string $dateStr - * @return int The day of the week (1-7) - */ -function Piwik_VisitTime_dayOfWeekFromDate($dateStr) -{ - return date('N', strtotime($dateStr)); -} - -/** - * Returns translated long name of a day of the week. - * - * @param int $dayOfWeek 1-7, for Sunday-Saturday - * @return string - */ -function Piwik_VisitTime_translateDayOfWeek($dayOfWeek) -{ - return Piwik_Translate('General_LongDay_' . $dayOfWeek); -} diff --git a/plugins/VisitTime/Archiver.php b/plugins/VisitTime/Archiver.php index 77b7659d9b..c51c082967 100644 --- a/plugins/VisitTime/Archiver.php +++ b/plugins/VisitTime/Archiver.php @@ -6,14 +6,16 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_VisitTime + * @package VisitTime */ +namespace Piwik\Plugins\VisitTime; + use Piwik\Date; use Piwik\DataArray; use Piwik\PluginsArchiver; -class Piwik_VisitTime_Archiver extends PluginsArchiver +class Archiver extends PluginsArchiver { const SERVER_TIME_RECORD_NAME = 'VisitTime_serverTime'; const LOCAL_TIME_RECORD_NAME = 'VisitTime_localTime'; @@ -26,8 +28,8 @@ class Piwik_VisitTime_Archiver extends PluginsArchiver protected function aggregateByServerTime() { - $array = $this->getProcessor()->getMetricsForDimension( array("label" => "HOUR(log_visit.visit_last_action_time)" )) ; - $query = $this->getLogAggregator()->queryConversionsByDimension( array("label" => "HOUR(log_conversion.server_time)") ); + $array = $this->getProcessor()->getMetricsForDimension(array("label" => "HOUR(log_visit.visit_last_action_time)")); + $query = $this->getLogAggregator()->queryConversionsByDimension(array("label" => "HOUR(log_conversion.server_time)")); if ($query === false) { return; } @@ -62,13 +64,12 @@ class Piwik_VisitTime_Archiver extends PluginsArchiver return new DataArray($converted); } - - private function ensureAllHoursAreSet( DataArray &$array) + private function ensureAllHoursAreSet(DataArray &$array) { $data = $array->getDataArray(); for ($i = 0; $i <= 23; $i++) { if (empty($data[$i])) { - $array->sumMetricsVisits( $i, DataArray::makeEmptyRow()); + $array->sumMetricsVisits($i, DataArray::makeEmptyRow()); } } } diff --git a/plugins/VisitTime/Controller.php b/plugins/VisitTime/Controller.php index 4c4fa760db..dcc89ac9fb 100644 --- a/plugins/VisitTime/Controller.php +++ b/plugins/VisitTime/Controller.php @@ -6,17 +6,18 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_VisitTime + * @package VisitTime */ -use Piwik\Controller; +namespace Piwik\Plugins\VisitTime; + use Piwik\ViewDataTable; use Piwik\View; /** * - * @package Piwik_VisitTime + * @package VisitTime */ -class Piwik_VisitTime_Controller extends Controller +class Controller extends \Piwik\Controller { public function index() { diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php index 9b652577d3..2cd34adc66 100644 --- a/plugins/VisitTime/VisitTime.php +++ b/plugins/VisitTime/VisitTime.php @@ -6,20 +6,23 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_VisitTime + * @package VisitTime */ +namespace Piwik\Plugins\VisitTime; + +use Exception; use Piwik\ArchiveProcessor; use Piwik\Common; use Piwik\Period; -use Piwik\Plugin; +use Piwik\Plugins\VisitTime\Archiver; use Piwik\Site; use Piwik\WidgetsList; /** * - * @package Piwik_VisitTime + * @package VisitTime */ -class Piwik_VisitTime extends Plugin +class VisitTime extends \Piwik\Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -116,7 +119,7 @@ class Piwik_VisitTime extends Plugin 'acceptedValues' => $acceptedValues ); } - + public function getReportDisplayProperties(&$properties) { $commonProperties = array( @@ -128,33 +131,33 @@ class Piwik_VisitTime extends Plugin 'show_pagination_control' => false, 'default_view_type' => 'graphVerticalBar' ); - + $properties['VisitTime.getVisitInformationPerServerTime'] = array_merge($commonProperties, array( - 'filter_limit' => 24, - 'graph_limit' => null, - 'show_goals' => true, - 'translations' => array('label' => Piwik_Translate('VisitTime_ColumnServerTime')), - - // custom parameter - 'hideFutureHoursWhenToday' => 1, - )); - + 'filter_limit' => 24, + 'graph_limit' => null, + 'show_goals' => true, + 'translations' => array('label' => Piwik_Translate('VisitTime_ColumnServerTime')), + + // custom parameter + 'hideFutureHoursWhenToday' => 1, + )); + $properties['VisitTime.getVisitInformationPerLocalTime'] = array_merge($commonProperties, array( - 'filter_limit' => 24, - 'graph_limit' => null, - 'title' => Piwik_Translate('VisitTime_ColumnLocalTime'), - 'translations' => array('label' => Piwik_Translate('VisitTime_LocalTime')), - )); - + 'filter_limit' => 24, + 'graph_limit' => null, + 'title' => Piwik_Translate('VisitTime_ColumnLocalTime'), + 'translations' => array('label' => Piwik_Translate('VisitTime_LocalTime')), + )); + $properties['VisitTime.getByDayOfWeek'] = array_merge($commonProperties, array( - 'filter_limit' => 7, - 'graph_limit' => null, - 'enable_sort' => false, - 'show_all_ticks' => true, - 'show_footer_message' => - Piwik_Translate('General_ReportGeneratedFrom', self::getDateRangeForFooterMessage()), - 'translations' => array('label' => Piwik_Translate('VisitTime_DayOfWeek')), - )); + 'filter_limit' => 7, + 'graph_limit' => null, + 'enable_sort' => false, + 'show_all_ticks' => true, + 'show_footer_message' => + Piwik_Translate('General_ReportGeneratedFrom', self::getDateRangeForFooterMessage()), + 'translations' => array('label' => Piwik_Translate('VisitTime_DayOfWeek')), + )); // add the visits by day of week as a related report, if the current period is not 'day' if (Common::getRequestVar('period', 'day') != 'day') { @@ -166,21 +169,20 @@ class Piwik_VisitTime extends Plugin public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { - $archiving = new Piwik_VisitTime_Archiver($archiveProcessor); - if($archiving->shouldArchive()) { + $archiving = new Archiver($archiveProcessor); + if ($archiving->shouldArchive()) { $archiving->archivePeriod(); } } - public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { - $archiving = new Piwik_VisitTime_Archiver($archiveProcessor); - if($archiving->shouldArchive()) { + $archiving = new Archiver($archiveProcessor); + if ($archiving->shouldArchive()) { $archiving->archiveDay(); } } - + private static function getDateRangeForFooterMessage() { // get query params diff --git a/plugins/VisitTime/functions.php b/plugins/VisitTime/functions.php new file mode 100644 index 0000000000..f4ccb20d46 --- /dev/null +++ b/plugins/VisitTime/functions.php @@ -0,0 +1,40 @@ +