diff options
author | mattab <matthieu.aubry@gmail.com> | 2013-08-02 17:59:33 +0400 |
---|---|---|
committer | mattab <matthieu.aubry@gmail.com> | 2013-08-02 17:59:33 +0400 |
commit | a96ec40e983a8b64f4c25def541a519ff3670e6a (patch) | |
tree | bef2a5f7b1e9532dc96161334e23a553cdff7ea1 /plugins/Referers | |
parent | 61997f45e4c39360000e815c9e0853ae04e2f56f (diff) |
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
Diffstat (limited to 'plugins/Referers')
-rw-r--r-- | plugins/Referers/API.php | 75 | ||||
-rw-r--r-- | plugins/Referers/Archiver.php | 24 | ||||
-rw-r--r-- | plugins/Referers/Controller.php | 16 | ||||
-rw-r--r-- | plugins/Referers/Referers.php | 134 | ||||
-rw-r--r-- | plugins/Referers/functions.php | 51 |
5 files changed, 156 insertions, 144 deletions
diff --git a/plugins/Referers/API.php b/plugins/Referers/API.php index b7a16365bd..fb0cb61847 100644 --- a/plugins/Referers/API.php +++ b/plugins/Referers/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_Referers + * @package Referers */ +namespace Piwik\Plugins\Referers; + +use Exception; use Piwik\API\ResponseBuilder; use Piwik\Archive; use Piwik\DataTable\Row; @@ -16,6 +19,7 @@ use Piwik\Piwik; use Piwik\Common; use Piwik\Date; use Piwik\DataTable; +use Piwik\Plugins\Referers\Archiver; /** * The Referrers API lets you access reports about Websites, Search engines, Keywords, Campaigns used to access your website. @@ -25,9 +29,9 @@ use Piwik\DataTable; * * The methods "getKeywordsForPageUrl" and "getKeywordsForPageTitle" are used to output the top keywords used to find a page. * Check out the widget <a href='http://demo.piwik.org/index.php?module=Widgetize&action=iframe&moduleToWidgetize=Referers&actionToWidgetize=getKeywordsForPage&idSite=7&period=day&date=2011-02-15&disableLink=1' target='_blank'>"Top keywords used to find this page"</a> that you can easily re-use on your website. - * @package Piwik_Referers + * @package Referers */ -class Piwik_Referers_API +class API { static private $instance = null; @@ -78,7 +82,7 @@ class Piwik_Referers_API * @return DataTable */ public function getRefererType($idSite, $period, $date, $segment = false, $typeReferer = false, - $idSubtable = false, $expanded = false) + $idSubtable = false, $expanded = false) { // if idSubtable is supplied, interpret idSubtable as referrer type and return correct report if ($idSubtable !== false) { @@ -103,7 +107,7 @@ class Piwik_Referers_API } // get visits by referrer type - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::REFERER_TYPE_RECORD_NAME, $idSite, $period, $date, $segment); + $dataTable = $this->getDataTable(Archiver::REFERER_TYPE_RECORD_NAME, $idSite, $period, $date, $segment); if ($typeReferer !== false) // filter for a specific referrer type { @@ -117,7 +121,7 @@ class Piwik_Referers_API } // set referrer type column to readable value - $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getRefererTypeLabel')); + $dataTable->queueFilter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getRefererTypeLabel')); return $dataTable; } @@ -144,14 +148,14 @@ class Piwik_Referers_API public function getKeywords($idSite, $period, $date, $segment = false, $expanded = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::KEYWORDS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + $dataTable = $this->getDataTable(Archiver::KEYWORDS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); $dataTable = $this->handleKeywordNotDefined($dataTable); return $dataTable; } protected function handleKeywordNotDefined($dataTable) { - $dataTable->queueFilter('ColumnCallbackReplace', array('label', array('Piwik_Referers_API', 'getCleanKeyword'))); + $dataTable->queueFilter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\API::getCleanKeyword')); return $dataTable; } @@ -182,7 +186,6 @@ class Piwik_Referers_API $table = $this->getKeywords($idSite, $period, $date, $segment); $this->filterOutKeywordNotDefined($table); return $this->getLabelsFromTable($table); - } public function getKeywordsForPageTitle($idSite, $period, $date, $title) @@ -227,31 +230,31 @@ class Piwik_Referers_API public function getSearchEnginesFromKeywordId($idSite, $period, $date, $idSubtable, $segment = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::KEYWORDS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); - $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', 'Piwik_getSearchEngineUrlFromName')); - $dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', 'Piwik_getSearchEngineLogoFromUrl')); + $dataTable = $this->getDataTable(Archiver::KEYWORDS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', __NAMESPACE__ . '\getSearchEngineUrlFromName')); + $dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', __NAMESPACE__ . '\getSearchEngineLogoFromUrl')); // get the keyword and create the URL to the search result page $keywords = $this->getKeywords($idSite, $period, $date, $segment); $subTable = $keywords->getRowFromIdSubDataTable($idSubtable); if ($subTable) { $keyword = $subTable->getColumn('label'); - $dataTable->queueFilter('MetadataCallbackReplace', array('url', 'Piwik_getSearchEngineUrlFromUrlAndKeyword', array($keyword))); + $dataTable->queueFilter('MetadataCallbackReplace', array('url', __NAMESPACE__ . '\getSearchEngineUrlFromUrlAndKeyword', array($keyword))); } return $dataTable; } public function getSearchEngines($idSite, $period, $date, $segment = false, $expanded = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::SEARCH_ENGINES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); - $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', 'Piwik_getSearchEngineUrlFromName')); - $dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', 'Piwik_getSearchEngineLogoFromUrl')); + $dataTable = $this->getDataTable(Archiver::SEARCH_ENGINES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', __NAMESPACE__ . '\getSearchEngineUrlFromName')); + $dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', __NAMESPACE__ . '\getSearchEngineLogoFromUrl')); return $dataTable; } public function getKeywordsFromSearchEngineId($idSite, $period, $date, $idSubtable, $segment = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::SEARCH_ENGINES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + $dataTable = $this->getDataTable(Archiver::SEARCH_ENGINES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); // get the search engine and create the URL to the search result page $searchEngines = $this->getSearchEngines($idSite, $period, $date, $segment); @@ -274,7 +277,7 @@ class Piwik_Referers_API if (!empty($subTableRow)) { $searchEngineUrl = $subTableRow->getMetadata('url'); - $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', 'Piwik_getSearchEngineUrlFromKeywordAndUrl', array($searchEngineUrl))); + $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', __NAMESPACE__ . '\getSearchEngineUrlFromKeywordAndUrl', array($searchEngineUrl))); } $dataTable = $this->handleKeywordNotDefined($dataTable); return $dataTable; @@ -282,29 +285,29 @@ class Piwik_Referers_API public function getCampaigns($idSite, $period, $date, $segment = false, $expanded = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::CAMPAIGNS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + $dataTable = $this->getDataTable(Archiver::CAMPAIGNS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); return $dataTable; } public function getKeywordsFromCampaignId($idSite, $period, $date, $idSubtable, $segment = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::CAMPAIGNS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + $dataTable = $this->getDataTable(Archiver::CAMPAIGNS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); return $dataTable; } public function getWebsites($idSite, $period, $date, $segment = false, $expanded = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + $dataTable = $this->getDataTable(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); return $dataTable; } public function getUrlsFromWebsiteId($idSite, $period, $date, $idSubtable, $segment = false) { - $dataTable = $this->getDataTable(Piwik_Referers_Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); + $dataTable = $this->getDataTable(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = false, $idSubtable); // the htmlspecialchars_decode call is for BC for before 1.1 // as the Referrer URL was previously encoded in the log tables, but is now recorded raw $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'url', create_function('$label', 'return htmlspecialchars_decode($label);'))); - $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'Piwik_getPathFromUrl')); + $dataTable->queueFilter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getPathFromUrl')); return $dataTable; } @@ -323,17 +326,17 @@ class Piwik_Referers_API { require PIWIK_INCLUDE_PATH . '/core/DataFiles/Socials.php'; - $dataTable = $this->getDataTable( Piwik_Referers_Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); + $dataTable = $this->getDataTable(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); - $dataTable->filter('ColumnCallbackDeleteRow', array('label', 'Piwik_Referrers_isSocialUrl')); + $dataTable->filter('ColumnCallbackDeleteRow', array('label', __NAMESPACE__ . '\isSocialUrl')); - $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'url', 'Piwik_Referrers_cleanSocialUrl')); - $dataTable->filter('GroupBy', array('label', 'Piwik_Referrers_getSocialNetworkFromDomain')); + $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'url', __NAMESPACE__ . '\cleanSocialUrl')); + $dataTable->filter('GroupBy', array('label', __NAMESPACE__ . '\getSocialNetworkFromDomain')); $this->setSocialIdSubtables($dataTable); $this->removeSubtableMetadata($dataTable); - $dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', 'Piwik_getSocialsLogoFromUrl')); + $dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', __NAMESPACE__ . '\getSocialsLogoFromUrl')); return $dataTable; } @@ -356,7 +359,7 @@ class Piwik_Referers_API { require PIWIK_INCLUDE_PATH . '/core/DataFiles/Socials.php'; - $dataTable = $this->getDataTable( Piwik_Referers_Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = true); + $dataTable = $this->getDataTable(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded = true); // get the social network domain referred to by $idSubtable $social = false; @@ -372,7 +375,7 @@ class Piwik_Referers_API } // filter out everything but social network indicated by $idSubtable - $dataTable->filter('ColumnCallbackDeleteRow', array('label', 'Piwik_Referrers_isSocialUrl', array($social))); + $dataTable->filter('ColumnCallbackDeleteRow', array('label', __NAMESPACE__ . '\isSocialUrl', array($social))); // merge the datatable's subtables which contain the individual URLs $dataTable = $dataTable->mergeSubtables(); @@ -381,7 +384,7 @@ class Piwik_Referers_API $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'url')); // prettify the DataTable - $dataTable->filter('ColumnCallbackReplace', array('label', 'Piwik_Referrers_removeUrlProtocol')); + $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\removeUrlProtocol')); $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS, 'desc', $naturalSort = false, $expanded)); $dataTable->queueFilter('ReplaceColumnNames'); @@ -390,27 +393,27 @@ class Piwik_Referers_API public function getNumberOfDistinctSearchEngines($idSite, $period, $date, $segment = false) { - return $this->getNumeric(Piwik_Referers_Archiver::METRIC_DISTINCT_SEARCH_ENGINE_RECORD_NAME, $idSite, $period, $date, $segment); + return $this->getNumeric(Archiver::METRIC_DISTINCT_SEARCH_ENGINE_RECORD_NAME, $idSite, $period, $date, $segment); } public function getNumberOfDistinctKeywords($idSite, $period, $date, $segment = false) { - return $this->getNumeric(Piwik_Referers_Archiver::METRIC_DISTINCT_KEYWORD_RECORD_NAME, $idSite, $period, $date, $segment); + return $this->getNumeric(Archiver::METRIC_DISTINCT_KEYWORD_RECORD_NAME, $idSite, $period, $date, $segment); } public function getNumberOfDistinctCampaigns($idSite, $period, $date, $segment = false) { - return $this->getNumeric(Piwik_Referers_Archiver::METRIC_DISTINCT_CAMPAIGN_RECORD_NAME, $idSite, $period, $date, $segment); + return $this->getNumeric(Archiver::METRIC_DISTINCT_CAMPAIGN_RECORD_NAME, $idSite, $period, $date, $segment); } public function getNumberOfDistinctWebsites($idSite, $period, $date, $segment = false) { - return $this->getNumeric(Piwik_Referers_Archiver::METRIC_DISTINCT_WEBSITE_RECORD_NAME, $idSite, $period, $date, $segment); + return $this->getNumeric(Archiver::METRIC_DISTINCT_WEBSITE_RECORD_NAME, $idSite, $period, $date, $segment); } public function getNumberOfDistinctWebsitesUrls($idSite, $period, $date, $segment = false) { - return $this->getNumeric(Piwik_Referers_Archiver::METRIC_DISTINCT_URLS_RECORD_NAME, $idSite, $period, $date, $segment); + return $this->getNumeric(Archiver::METRIC_DISTINCT_URLS_RECORD_NAME, $idSite, $period, $date, $segment); } private function getNumeric($name, $idSite, $period, $date, $segment) diff --git a/plugins/Referers/Archiver.php b/plugins/Referers/Archiver.php index 4da6a19d07..5c7d700eea 100644 --- a/plugins/Referers/Archiver.php +++ b/plugins/Referers/Archiver.php @@ -1,10 +1,4 @@ <?php -use Piwik\Common; -use Piwik\Config; -use Piwik\Metrics; -use Piwik\DataArray; -use Piwik\PluginsArchiver; - /** * Piwik - Open source web analytics * @@ -12,10 +6,20 @@ use Piwik\PluginsArchiver; * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_Referers + * @package Referers */ +namespace Piwik\Plugins\Referers; + +use Exception; +use Piwik\Common; +use Piwik\Config; +use Piwik\Metrics; +use Piwik\DataArray; +use Piwik\Plugins\Referers\API; +use Piwik\PluginsArchiver; + -class Piwik_Referers_Archiver extends PluginsArchiver +class Archiver extends PluginsArchiver { const SEARCH_ENGINES_RECORD_NAME = 'Referers_keywordBySearchEngine'; const KEYWORDS_RECORD_NAME = 'Referers_searchEngineByKeyword'; @@ -88,7 +92,7 @@ class Piwik_Referers_Archiver extends PluginsArchiver switch ($row['referer_type']) { case Common::REFERER_TYPE_SEARCH_ENGINE: if (empty($row['referer_keyword'])) { - $row['referer_keyword'] = Piwik_Referers_API::LABEL_KEYWORD_NOT_DEFINED; + $row['referer_keyword'] = API::LABEL_KEYWORD_NOT_DEFINED; } $searchEnginesArray = $this->getDataArray(self::SEARCH_ENGINES_RECORD_NAME); $searchEnginesArray->sumMetricsVisits($row['referer_name'], $row); @@ -161,7 +165,7 @@ class Piwik_Referers_Archiver extends PluginsArchiver switch ($row['referer_type']) { case Common::REFERER_TYPE_SEARCH_ENGINE: if (empty($row['referer_keyword'])) { - $row['referer_keyword'] = Piwik_Referers_API::LABEL_KEYWORD_NOT_DEFINED; + $row['referer_keyword'] = API::LABEL_KEYWORD_NOT_DEFINED; } $this->getDataArray(self::SEARCH_ENGINES_RECORD_NAME)->sumMetricsGoals($row['referer_name'], $row); diff --git a/plugins/Referers/Controller.php b/plugins/Referers/Controller.php index c9362f4a01..672e6c475f 100644 --- a/plugins/Referers/Controller.php +++ b/plugins/Referers/Controller.php @@ -6,23 +6,24 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_Referers + * @package Referers */ +namespace Piwik\Plugins\Referers; + use Piwik\API\Request; use Piwik\Metrics; use Piwik\Period\Range; use Piwik\Piwik; use Piwik\Common; -use Piwik\Controller; use Piwik\ViewDataTable; use Piwik\View; use Piwik\Url; /** * - * @package Piwik_Referers + * @package Referers */ -class Piwik_Referers_Controller extends Controller +class Controller extends \Piwik\Controller { public function index() { @@ -305,7 +306,7 @@ class Piwik_Referers_Controller extends Controller $view->documentation = Piwik_Translate('Referers_EvolutionDocumentation') . '<br />' . Piwik_Translate('General_BrokenDownReportDocumentation') . '<br />' . Piwik_Translate('Referers_EvolutionDocumentationMoreInfo', '"' - . Piwik_Translate('Referers_DetailsByRefererType') . '"'); + . Piwik_Translate('Referers_DetailsByRefererType') . '"'); return $this->renderView($view, $fetch); } @@ -414,7 +415,7 @@ function DisplayTopKeywords($url = "") <p> <b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a target='_blank' href='$topPageUrl'>$topPageUrl</a>, in format JSON: you would dynamically fetch the data using <a target='_blank' href='$jsonRequest&url=" . urlencode($topPageUrl) . "'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p> - + <p><b>PHP Function ready to use!</b> - If you use PHP on your website, we have prepared a small code snippet that you can copy paste in your Website PHP files. You can then simply call the function <code>DisplayTopKeywords();</code> anywhere in your template, at the bottom of the content or in your blog sidebar. If you run this code in your page $topPageUrl, it would output the following:"; @@ -458,7 +459,6 @@ function DisplayTopKeywords($url = "") <br/>On medium to large traffic websites, we recommend to cache this data, as to minimize the performance impact of calling the Piwik API on each page view. </p> "; - } /** @@ -469,7 +469,7 @@ function DisplayTopKeywords($url = "") */ public static function getTranslatedReferrerTypeLabel($typeReferrer) { - $label = Piwik_getRefererTypeLabel($typeReferrer); + $label = getRefererTypeLabel($typeReferrer); return Piwik_Translate($label); } diff --git a/plugins/Referers/Referers.php b/plugins/Referers/Referers.php index 4f72e81d93..1b1efdc7c4 100644 --- a/plugins/Referers/Referers.php +++ b/plugins/Referers/Referers.php @@ -6,12 +6,14 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_Referers + * @package Referers */ +namespace Piwik\Plugins\Referers; + use Piwik\ArchiveProcessor; use Piwik\Piwik; use Piwik\Common; -use Piwik\Plugin; +use Piwik\Plugins\Referers\Archiver; use Piwik\WidgetsList; /** @@ -20,9 +22,9 @@ use Piwik\WidgetsList; require_once PIWIK_INCLUDE_PATH . '/plugins/Referers/functions.php'; /** - * @package Piwik_Referers + * @package Referers */ -class Piwik_Referers extends Plugin +class Referers extends \Piwik\Plugin { /** * @see Piwik_Plugin::getListHooksRegistered @@ -30,13 +32,13 @@ class Piwik_Referers extends Plugin public function getListHooksRegistered() { $hooks = array( - 'ArchiveProcessing_Day.compute' => 'archiveDay', - 'ArchiveProcessing_Period.compute' => 'archivePeriod', - 'WidgetsList.add' => 'addWidgets', - 'Menu.add' => 'addMenus', - 'Goals.getReportsWithGoalMetrics' => 'getReportsWithGoalMetrics', - 'API.getReportMetadata' => 'getReportMetadata', - 'API.getSegmentsMetadata' => 'getSegmentsMetadata', + 'ArchiveProcessing_Day.compute' => 'archiveDay', + 'ArchiveProcessing_Period.compute' => 'archivePeriod', + 'WidgetsList.add' => 'addWidgets', + 'Menu.add' => 'addMenus', + 'Goals.getReportsWithGoalMetrics' => 'getReportsWithGoalMetrics', + 'API.getReportMetadata' => 'getReportMetadata', + 'API.getSegmentsMetadata' => 'getSegmentsMetadata', 'ViewDataTable.getReportDisplayProperties' => 'getReportDisplayProperties', ); return $hooks; @@ -178,7 +180,7 @@ class Piwik_Referers extends Plugin 'segment' => 'referrerType', 'acceptedValues' => 'direct, search, website, campaign', 'sqlSegment' => 'log_visit.referer_type', - 'sqlFilter' => 'Piwik_getRefererTypeFromShortName', + 'sqlFilter' => __NAMESPACE__ . '\getRefererTypeFromShortName', ); $segments[] = array( 'type' => 'dimension', @@ -274,7 +276,7 @@ class Piwik_Referers extends Plugin */ public function archiveDay(ArchiveProcessor\Day $archiveProcessor) { - $archiving = new Piwik_Referers_Archiver($archiveProcessor); + $archiving = new Archiver($archiveProcessor); if ($archiving->shouldArchive()) { $archiving->archiveDay(); } @@ -286,8 +288,8 @@ class Piwik_Referers extends Plugin */ public function archivePeriod(ArchiveProcessor\Period $archiveProcessor) { - $archiving = new Piwik_Referers_Archiver($archiveProcessor); - if($archiving->shouldArchive()) { + $archiving = new Archiver($archiveProcessor); + if ($archiving->shouldArchive()) { $archiving->archivePeriod(); } } @@ -327,15 +329,15 @@ class Piwik_Referers extends Plugin } return array( - 'default_view_type' => 'tableAllColumns', - 'show_search' => false, - 'show_offset_information' => false, - 'show_pagination_control' => false, - 'show_exclude_low_population' => false, + 'default_view_type' => 'tableAllColumns', + 'show_search' => false, + 'show_offset_information' => false, + 'show_pagination_control' => false, + 'show_exclude_low_population' => false, 'disable_subtable_when_show_goals' => true, - 'show_goals' => true, - 'filter_limit' => 10, - 'translations' => array('label' => $labelColumnTitle) + 'show_goals' => true, + 'filter_limit' => 10, + 'translations' => array('label' => $labelColumnTitle) ); } @@ -344,11 +346,11 @@ class Piwik_Referers extends Plugin $setGetAllHtmlPrefix = array($this, 'setGetAllHtmlPrefix'); return array( 'show_exclude_low_population' => false, - 'translations' => array('label' => Piwik_Translate('Referers_Referrer')), - 'show_goals' => true, - 'filter_limit' => 20, - 'custom_parameters' => array('disable_row_actions' => '1'), - 'filters' => array( + 'translations' => array('label' => Piwik_Translate('Referers_Referrer')), + 'show_goals' => true, + 'filter_limit' => 20, + 'custom_parameters' => array('disable_row_actions' => '1'), + 'filters' => array( array('MetadataCallbackAddMetadata', array('referrer_type', 'html_label_prefix', $setGetAllHtmlPrefix)) ) ); @@ -357,11 +359,11 @@ class Piwik_Referers extends Plugin private function getDisplayPropertiesForGetKeywords() { return array( - 'subtable_controller_action' => 'getSearchEnginesFromKeywordId', - 'show_exclude_low_population' => false, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnKeyword')), - 'show_goals' => true, - 'filter_limit' => 25, + 'subtable_controller_action' => 'getSearchEnginesFromKeywordId', + 'show_exclude_low_population' => false, + 'translations' => array('label' => Piwik_Translate('Referers_ColumnKeyword')), + 'show_goals' => true, + 'filter_limit' => 25, 'disable_subtable_when_show_goals' => true, ); } @@ -369,56 +371,56 @@ class Piwik_Referers extends Plugin private function getDisplayPropertiesForGetSearchEnginesFromKeywordId() { return array( - 'show_search' => false, + 'show_search' => false, 'show_exclude_low_population' => false, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnSearchEngine')) + 'translations' => array('label' => Piwik_Translate('Referers_ColumnSearchEngine')) ); } private function getDisplayPropertiesForGetSearchEngines() { return array( - 'subtable_controller_action' => 'getKeywordsFromSearchEngineId', - 'show_search' => false, - 'show_exclude_low_population' => false, - 'show_goals' => true, - 'filter_limit' => 25, + 'subtable_controller_action' => 'getKeywordsFromSearchEngineId', + 'show_search' => false, + 'show_exclude_low_population' => false, + 'show_goals' => true, + 'filter_limit' => 25, 'disable_subtable_when_show_goals' => true, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnSearchEngine')) + 'translations' => array('label' => Piwik_Translate('Referers_ColumnSearchEngine')) ); } private function getDisplayPropertiesForGetKeywordsFromSearchEngineId() { return array( - 'show_search' => false, + 'show_search' => false, 'show_exclude_low_population' => false, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnKeyword')) + 'translations' => array('label' => Piwik_Translate('Referers_ColumnKeyword')) ); } private function getDisplayPropertiesForGetWebsites() { return array( - 'subtable_controller_action' => 'getUrlsFromWebsiteId', - 'show_exclude_low_population' => false, - 'show_goals' => true, - 'filter_limit' => 25, + 'subtable_controller_action' => 'getUrlsFromWebsiteId', + 'show_exclude_low_population' => false, + 'show_goals' => true, + 'filter_limit' => 25, 'disable_subtable_when_show_goals' => true, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnWebsite')) + 'translations' => array('label' => Piwik_Translate('Referers_ColumnWebsite')) ); } private function getDisplayPropertiesForGetSocials() { $result = array( - 'default_view_type' => 'graphPie', - 'subtable_controller_action' => 'getUrlsForSocial', - 'show_exclude_low_population' => false, - 'filter_limit' => 10, - 'show_goals' => true, + 'default_view_type' => 'graphPie', + 'subtable_controller_action' => 'getUrlsForSocial', + 'show_exclude_low_population' => false, + 'filter_limit' => 10, + 'show_goals' => true, 'disable_subtable_when_show_goals' => true, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnSocial')) + 'translations' => array('label' => Piwik_Translate('Referers_ColumnSocial')) ); $widget = Common::getRequestVar('widget', false); @@ -433,20 +435,20 @@ class Piwik_Referers extends Plugin { return array( 'show_exclude_low_population' => false, - 'filter_limit' => 10, - 'show_goals' => true, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnWebsitePage')) + 'filter_limit' => 10, + 'show_goals' => true, + 'translations' => array('label' => Piwik_Translate('Referers_ColumnWebsitePage')) ); } private function getDisplayPropertiesForGetCampaigns() { $result = array( - 'subtable_controller_action' => 'getKeywordsFromCampaignId', + 'subtable_controller_action' => 'getKeywordsFromCampaignId', 'show_exclude_low_population' => false, - 'show_goals' => true, - 'filter_limit' => 25, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnCampaign')), + 'show_goals' => true, + 'filter_limit' => 25, + 'translations' => array('label' => Piwik_Translate('Referers_ColumnCampaign')), ); if (Common::getRequestVar('viewDataTable', false) != 'graphEvolution') { @@ -463,19 +465,19 @@ class Piwik_Referers extends Plugin private function getDisplayPropertiesForGetKeywordsFromCampaignId() { return array( - 'show_search' => false, + 'show_search' => false, 'show_exclude_low_population' => false, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnKeyword')) + 'translations' => array('label' => Piwik_Translate('Referers_ColumnKeyword')) ); } private function getDisplayPropertiesForGetUrlsFromWebsiteId() { return array( - 'show_search' => false, + 'show_search' => false, 'show_exclude_low_population' => false, - 'translations' => array('label' => Piwik_Translate('Referers_ColumnWebsitePage')), - 'tooltip_metadata_name' => 'url' + 'translations' => array('label' => Piwik_Translate('Referers_ColumnWebsitePage')), + 'tooltip_metadata_name' => 'url' ); } diff --git a/plugins/Referers/functions.php b/plugins/Referers/functions.php index b7038fb360..0a6a50a72c 100644 --- a/plugins/Referers/functions.php +++ b/plugins/Referers/functions.php @@ -6,9 +6,12 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * * @category Piwik_Plugins - * @package Piwik_Referers + * @package Referers */ +namespace Piwik\Plugins\Referers; + use Piwik\Common; +use Piwik\Plugins\Referers\API; /** * Returns path component from a URL @@ -16,7 +19,7 @@ use Piwik\Common; * @param string $url * @return string path */ -function Piwik_getPathFromUrl($url) +function getPathFromUrl($url) { $path = Common::getPathAndQueryFromUrl($url); if (empty($path)) { @@ -31,7 +34,7 @@ function Piwik_getPathFromUrl($url) * @param string $url e.g. http://www.facebook.com/?sdlfk=lksdfj * @return string|false e.g. facebook.com */ -function Piwik_Referrers_cleanSocialUrl($url) +function cleanSocialUrl($url) { $segment = '[^.:\/]+'; preg_match('/(?:https?:\/\/)?(?:' . $segment . '\.)?(' . $segment . '(?:\.' . $segment . ')+)/', $url, $matches); @@ -44,9 +47,9 @@ function Piwik_Referrers_cleanSocialUrl($url) * @param string $url * @return string */ -function Piwik_Referrers_getSocialNetworkFromDomain($url) +function getSocialNetworkFromDomain($url) { - $domain = Piwik_Referrers_cleanSocialUrl($url); + $domain = cleanSocialUrl($url); if (isset($GLOBALS['Piwik_socialUrl'][$domain])) { return $GLOBALS['Piwik_socialUrl'][$domain]; @@ -63,9 +66,9 @@ function Piwik_Referrers_getSocialNetworkFromDomain($url) * for any. * @return bool */ -function Piwik_Referrers_isSocialUrl($url, $socialName = false) +function isSocialUrl($url, $socialName = false) { - $domain = Piwik_Referrers_cleanSocialUrl($url); + $domain = cleanSocialUrl($url); if (isset($GLOBALS['Piwik_socialUrl'][$domain]) && ($socialName === false @@ -83,9 +86,9 @@ function Piwik_Referrers_isSocialUrl($url, $socialName = false) * @return string path * @see plugins/Referers/images/socials/ */ -function Piwik_getSocialsLogoFromUrl($domain) +function getSocialsLogoFromUrl($domain) { - $domain = Piwik_Referrers_cleanSocialUrl($domain); + $domain = cleanSocialUrl($domain); if (isset($GLOBALS['Piwik_socialUrl'][$domain])) { // image names are by first domain in list, so make sure we use the first if $domain isn't it @@ -112,7 +115,7 @@ function Piwik_getSocialsLogoFromUrl($domain) * @param string $name * @return string URL */ -function Piwik_getSearchEngineUrlFromName($name) +function getSearchEngineUrlFromName($name) { $searchEngineNames = Common::getSearchEngineNames(); if (isset($searchEngineNames[$name])) { @@ -129,7 +132,7 @@ function Piwik_getSearchEngineUrlFromName($name) * @param string $url * @return string host */ -function Piwik_getSearchEngineHostFromUrl($url) +function getSearchEngineHostFromUrl($url) { $url = substr($url, strpos($url, '//') + 2); if (($p = strpos($url, '/')) !== false) { @@ -145,10 +148,10 @@ function Piwik_getSearchEngineHostFromUrl($url) * @return string path * @see plugins/Referers/images/searchEnginges/ */ -function Piwik_getSearchEngineLogoFromUrl($url) +function getSearchEngineLogoFromUrl($url) { $pathInPiwik = 'plugins/Referers/images/searchEngines/%s.png'; - $pathWithCode = sprintf($pathInPiwik, Piwik_getSearchEngineHostFromUrl($url)); + $pathWithCode = sprintf($pathInPiwik, getSearchEngineHostFromUrl($url)); $absolutePath = PIWIK_INCLUDE_PATH . '/' . $pathWithCode; if (file_exists($absolutePath)) { return $pathWithCode; @@ -162,7 +165,7 @@ function Piwik_getSearchEngineLogoFromUrl($url) * @param string $url * @return string host */ -function Piwik_getSearchEngineHostPathFromUrl($url) +function getSearchEngineHostPathFromUrl($url) { $url = substr($url, strpos($url, '//') + 2); return $url; @@ -177,15 +180,15 @@ function Piwik_getSearchEngineHostPathFromUrl($url) * @param string $keyword Keyword, e.g., web+analytics * @return string URL, e.g., http://search.piwik.org/q=web+analytics */ -function Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword) +function getSearchEngineUrlFromUrlAndKeyword($url, $keyword) { - if ($keyword === Piwik_Referers_API::LABEL_KEYWORD_NOT_DEFINED) { + if ($keyword === API::LABEL_KEYWORD_NOT_DEFINED) { return 'http://piwik.org/faq/general/#faq_144'; } $searchEngineUrls = Common::getSearchEngineUrls(); $keyword = urlencode($keyword); $keyword = str_replace(urlencode('+'), urlencode(' '), $keyword); - $path = @$searchEngineUrls[Piwik_getSearchEngineHostPathFromUrl($url)][2]; + $path = @$searchEngineUrls[getSearchEngineHostPathFromUrl($url)][2]; if (empty($path)) { return false; } @@ -196,15 +199,15 @@ function Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword) /** * Return search engine URL for keyword and URL * - * @see Piwik_getSearchEngineUrlFromUrlAndKeyword() + * @see Piwik_getSearchEngineUrlFromUrlAndKeyword(getSearchEngineUrlFromUrlAndKeyword * * @param string $keyword Keyword, e.g., web+analytics * @param string $url Domain name, e.g., search.piwik.org * @return string URL, e.g., http://search.piwik.org/q=web+analytics */ -function Piwik_getSearchEngineUrlFromKeywordAndUrl($keyword, $url) +function getSearchEngineUrlFromKeywordAndUrl($keyword, $url) { - return Piwik_getSearchEngineUrlFromUrlAndKeyword($url, $keyword); + return getSearchEngineUrlFromUrlAndKeyword($url, $keyword); } /** @@ -213,7 +216,7 @@ function Piwik_getSearchEngineUrlFromKeywordAndUrl($keyword, $url) * @param string $label * @return string Referrer type */ -function Piwik_getRefererTypeLabel($label) +function getRefererTypeLabel($label) { $indexTranslation = ''; switch ($label) { @@ -243,7 +246,7 @@ function Piwik_getRefererTypeLabel($label) * @throws Exception * @return string */ -function Piwik_getRefererTypeFromShortName($name) +function getRefererTypeFromShortName($name) { $map = array( Common::REFERER_TYPE_SEARCH_ENGINE => 'search', @@ -257,7 +260,7 @@ function Piwik_getRefererTypeFromShortName($name) if ($found = array_search($name, $map)) { return $found; } - throw new Exception("Referrer type '$name' is not valid."); + throw new \Exception("Referrer type '$name' is not valid."); } /** @@ -266,7 +269,7 @@ function Piwik_getRefererTypeFromShortName($name) * @param string $url * @return string */ -function Piwik_Referrers_removeUrlProtocol($url) +function removeUrlProtocol($url) { if (preg_match('/^[a-zA-Z_-]+:\/\//', $url, $matches)) { return substr($url, strlen($matches[0])); |