Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobocoder <anthon.pang@gmail.com>2012-03-05 02:04:41 +0400
committerrobocoder <anthon.pang@gmail.com>2012-03-05 02:04:41 +0400
commit884e54cf378bffdea2dd5360af8a260b25352746 (patch)
tree83fe77732234c1c3e858501ab9ab200989732df1 /plugins
parent775978937e1e393ba764968d5d41f261b488b8a8 (diff)
refs #1713 - merge dev branch to trunk (config class refactoring)
git-svn-id: http://dev.piwik.org/svn/trunk@5951 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'plugins')
-rw-r--r--plugins/API/API.php4
-rw-r--r--plugins/API/Controller.php2
-rw-r--r--plugins/Actions/Actions.php12
-rw-r--r--plugins/Actions/tests/Actions.test.php7
-rw-r--r--plugins/AnonymizeIP/AnonymizeIP.php3
-rw-r--r--plugins/CoreAdminHome/Controller.php88
-rw-r--r--plugins/CorePluginsAdmin/Controller.php2
-rw-r--r--plugins/CoreUpdater/Controller.php18
-rw-r--r--plugins/CustomVariables/CustomVariables.php6
-rw-r--r--plugins/DBStats/API.php10
-rw-r--r--plugins/Feedback/Controller.php2
-rw-r--r--plugins/ImageGraph/ImageGraph.php2
-rw-r--r--plugins/Installation/Controller.php34
-rw-r--r--plugins/LanguagesManager/LanguagesManager.php4
-rw-r--r--plugins/Live/Controller.php2
-rw-r--r--plugins/Login/Auth.php4
-rw-r--r--plugins/Login/Controller.php47
-rw-r--r--plugins/Login/Login.php10
-rw-r--r--plugins/Login/tests/Login.test.php14
-rw-r--r--plugins/MultiSites/Controller.php6
-rw-r--r--plugins/PDFReports/API.php6
-rw-r--r--plugins/PDFReports/tests/PDFReports.test.php420
-rw-r--r--plugins/PrivacyManager/Controller.php26
-rw-r--r--plugins/PrivacyManager/PrivacyManager.php10
-rw-r--r--plugins/Provider/Provider.php4
-rw-r--r--plugins/Proxy/tests/Proxy.test.php2
-rw-r--r--plugins/Referers/Referers.php4
-rw-r--r--plugins/UserSettings/UserSettings.php4
-rw-r--r--plugins/UsersManager/API.php2
-rw-r--r--plugins/UsersManager/Controller.php12
-rw-r--r--plugins/UsersManager/tests/UsersManager.test.php27
31 files changed, 402 insertions, 392 deletions
diff --git a/plugins/API/API.php b/plugins/API/API.php
index 56f000a08c..620357102c 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -358,7 +358,7 @@ class Piwik_API_API
public function getLogoUrl($pathOnly=false)
{
$logo = 'themes/default/images/logo.png';
- if(Zend_Registry::get('config')->branding->use_custom_logo == 1
+ if(Piwik_Config::getInstance()->branding['use_custom_logo'] == 1
&& file_exists(Piwik_Common::getPathToPiwikRoot() .'/themes/logo.png'))
{
$logo = 'themes/logo.png';
@@ -378,7 +378,7 @@ class Piwik_API_API
public function getHeaderLogoUrl($pathOnly=false)
{
$logo = 'themes/default/images/logo-header.png';
- if(Zend_Registry::get('config')->branding->use_custom_logo == 1
+ if(Piwik_Config::getInstance()->branding['use_custom_logo'] == 1
&& file_exists(Piwik_Common::getPathToPiwikRoot() .'/themes/logo-header.png'))
{
$logo = 'themes/logo-header.png';
diff --git a/plugins/API/Controller.php b/plugins/API/Controller.php
index 06c9ec6563..163003fa65 100644
--- a/plugins/API/Controller.php
+++ b/plugins/API/Controller.php
@@ -21,7 +21,7 @@ class Piwik_API_Controller extends Piwik_Controller
// when calling the API through http, we limit the number of returned results
if(!isset($_GET['filter_limit']))
{
- $_GET['filter_limit'] = Zend_Registry::get('config')->General->API_datatable_default_limit;
+ $_GET['filter_limit'] = Piwik_Config::getInstance()->General['API_datatable_default_limit'];
}
$request = new Piwik_API_Request('token_auth='.Piwik_Common::getRequestVar('token_auth', 'anonymous', 'string'));
echo $request->process();
diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php
index 08d3c942ad..865b28db5d 100644
--- a/plugins/Actions/Actions.php
+++ b/plugins/Actions/Actions.php
@@ -367,21 +367,21 @@ class Piwik_Actions extends Piwik_Plugin
public function __construct()
{
// for BC, we read the old style delimiter first (see #1067)
- $actionDelimiter = Zend_Registry::get('config')->General->action_category_delimiter;
+ $actionDelimiter = @Piwik_Config::getInstance()->General['action_category_delimiter'];
if(empty($actionDelimiter))
{
- self::$actionUrlCategoryDelimiter = Zend_Registry::get('config')->General->action_url_category_delimiter;
- self::$actionTitleCategoryDelimiter = Zend_Registry::get('config')->General->action_title_category_delimiter;
+ self::$actionUrlCategoryDelimiter = Piwik_Config::getInstance()->General['action_url_category_delimiter'];
+ self::$actionTitleCategoryDelimiter = Piwik_Config::getInstance()->General['action_title_category_delimiter'];
}
else
{
self::$actionUrlCategoryDelimiter = self::$actionTitleCategoryDelimiter = $actionDelimiter;
}
- self::$defaultActionName = Zend_Registry::get('config')->General->action_default_name;
+ self::$defaultActionName = Piwik_Config::getInstance()->General['action_default_name'];
$this->columnToSortByBeforeTruncation = Piwik_Archive::INDEX_NB_VISITS;
- $this->maximumRowsInDataTableLevelZero = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_actions;
- $this->maximumRowsInSubDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_subtable_actions;
+ $this->maximumRowsInDataTableLevelZero = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_actions'];
+ $this->maximumRowsInSubDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_actions'];
}
function archivePeriod( $notification )
diff --git a/plugins/Actions/tests/Actions.test.php b/plugins/Actions/tests/Actions.test.php
index 607676a157..8deefaadeb 100644
--- a/plugins/Actions/tests/Actions.test.php
+++ b/plugins/Actions/tests/Actions.test.php
@@ -6,7 +6,6 @@ if(!defined('PIWIK_CONFIG_TEST_INCLUDED'))
require_once 'Actions/Actions.php';
require_once 'Tracker/Action.php';
-require_once 'Tracker/Config.php';
class Test_Piwik_Actions extends UnitTestCase
{
@@ -15,14 +14,14 @@ class Test_Piwik_Actions extends UnitTestCase
{
$userFile = PIWIK_INCLUDE_PATH . '/tests/resources/plugins/Actions/Actions.config.ini.php';
Piwik::createConfigObject($userFile);
- Piwik_Translate::getInstance()->loadEnglishTranslation();
- Zend_Registry::get('config')->setTestEnvironment();
+ Piwik_Translate::getInstance()->loadEnglishTranslation();
+ Piwik_Config::getInstance()->setTestEnvironment();
}
function tearDown()
{
Piwik::createConfigObject();
- Zend_Registry::get('config')->setTestEnvironment();
+ Piwik_Config::getInstance()->setTestEnvironment();
}
function test_getActionExplodedNames()
diff --git a/plugins/AnonymizeIP/AnonymizeIP.php b/plugins/AnonymizeIP/AnonymizeIP.php
index 821c5efac2..8b0f7c8b9c 100644
--- a/plugins/AnonymizeIP/AnonymizeIP.php
+++ b/plugins/AnonymizeIP/AnonymizeIP.php
@@ -69,7 +69,6 @@ class Piwik_AnonymizeIP extends Piwik_Plugin
function setVisitorIpAddress($notification)
{
$ip =& $notification->getNotificationObject();
- $ip = self::applyIPMask($ip, Piwik_Tracker_Config::getInstance()->Tracker['ip_address_mask_length']);
+ $ip = self::applyIPMask($ip, Piwik_Config::getInstance()->Tracker['ip_address_mask_length']);
}
-
}
diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php
index fb48bc8866..b2a354b4a8 100644
--- a/plugins/CoreAdminHome/Controller.php
+++ b/plugins/CoreAdminHome/Controller.php
@@ -16,9 +16,9 @@
*/
class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin
{
- const LOGO_HEIGHT = 300;
- const LOGO_SMALL_HEIGHT = 100;
-
+ const LOGO_HEIGHT = 300;
+ const LOGO_SMALL_HEIGHT = 100;
+
public function index()
{
return $this->redirectToIndex('UsersManager', 'userSettings');
@@ -31,32 +31,32 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin
if(Piwik::isUserIsSuperUser())
{
- $enableBrowserTriggerArchiving = Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled();
- $todayArchiveTimeToLive = Piwik_ArchiveProcessing::getTodayArchiveTimeToLive();
- $showWarningCron = false;
- if(!$enableBrowserTriggerArchiving
- && $todayArchiveTimeToLive < 3600)
- {
- $showWarningCron = true;
- }
- $view->showWarningCron = $showWarningCron;
- $view->todayArchiveTimeToLive = $todayArchiveTimeToLive;
- $view->enableBrowserTriggerArchiving = $enableBrowserTriggerArchiving;
-
- if(!Zend_Registry::get('config')->isFileWritable())
- {
- $view->configFileNotWritable = true;
- }
- $view->mail = Zend_Registry::get('config')->mail->toArray();
+ $enableBrowserTriggerArchiving = Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled();
+ $todayArchiveTimeToLive = Piwik_ArchiveProcessing::getTodayArchiveTimeToLive();
+ $showWarningCron = false;
+ if(!$enableBrowserTriggerArchiving
+ && $todayArchiveTimeToLive < 3600)
+ {
+ $showWarningCron = true;
+ }
+ $view->showWarningCron = $showWarningCron;
+ $view->todayArchiveTimeToLive = $todayArchiveTimeToLive;
+ $view->enableBrowserTriggerArchiving = $enableBrowserTriggerArchiving;
+
+ if(!Piwik_Config::getInstance()->isFileWritable())
+ {
+ $view->configFileNotWritable = true;
+ }
+ $view->mail = Piwik_Config::getInstance()->mail;
- $view->branding = Zend_Registry::get('config')->branding->toArray();
+ $view->branding = Piwik_Config::getInstance()->branding;
$directoryWritable = is_writable(PIWIK_DOCUMENT_ROOT.'/themes/');
$logoFilesWriteable = is_writeable(PIWIK_DOCUMENT_ROOT.'/themes/logo.png') && is_writeable(PIWIK_DOCUMENT_ROOT.'/themes/logo-header.png');
$view->logosWriteable = ($logoFilesWriteable || $directoryWritable) && ini_get('file_uploads') == 1;
}
- $view->language = Piwik_LanguagesManager::getLanguageCodeForCurrentUser();
+ $view->language = Piwik_LanguagesManager::getLanguageCodeForCurrentUser();
$this->setBasicVariablesView($view);
$view->topMenu = Piwik_GetTopMenu();
$view->menu = Piwik_GetAdminMenu();
@@ -68,28 +68,26 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin
Piwik::checkUserIsSuperUser();
$response = new Piwik_API_ResponseBuilder(Piwik_Common::getRequestVar('format'));
try {
- $this->checkTokenInUrl();
- $enableBrowserTriggerArchiving = Piwik_Common::getRequestVar('enableBrowserTriggerArchiving');
- $todayArchiveTimeToLive = Piwik_Common::getRequestVar('todayArchiveTimeToLive');
+ $this->checkTokenInUrl();
+ $enableBrowserTriggerArchiving = Piwik_Common::getRequestVar('enableBrowserTriggerArchiving');
+ $todayArchiveTimeToLive = Piwik_Common::getRequestVar('todayArchiveTimeToLive');
- Piwik_ArchiveProcessing::setBrowserTriggerArchiving((bool)$enableBrowserTriggerArchiving);
- Piwik_ArchiveProcessing::setTodayArchiveTimeToLive($todayArchiveTimeToLive);
-
- // Update email settings
- $mail = Zend_Registry::get('config')->mail;
- $mail->transport = (Piwik_Common::getRequestVar('mailUseSmtp') == '1') ? 'smtp' : '';
- $mail->port = Piwik_Common::getRequestVar('mailPort', '');
- $mail->host = Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('mailHost', ''));
- $mail->type = Piwik_Common::getRequestVar('mailType', '');
- $mail->username = Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('mailUsername', ''));
- $mail->password = Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('mailPassword', ''));
- $mail->encryption = Piwik_Common::getRequestVar('mailEncryption', '');
- Zend_Registry::get('config')->mail = $mail->toArray();
+ Piwik_ArchiveProcessing::setBrowserTriggerArchiving((bool)$enableBrowserTriggerArchiving);
+ Piwik_ArchiveProcessing::setTodayArchiveTimeToLive($todayArchiveTimeToLive);
+
+ // Update email settings
+ $mail = array();
+ $mail['transport'] = (Piwik_Common::getRequestVar('mailUseSmtp') == '1') ? 'smtp' : '';
+ $mail['port'] = Piwik_Common::getRequestVar('mailPort', '');
+ $mail['host'] = Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('mailHost', ''));
+ $mail['type'] = Piwik_Common::getRequestVar('mailType', '');
+ $mail['username'] = Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('mailUsername', ''));
+ $mail['password'] = Piwik_Common::unsanitizeInputValue(Piwik_Common::getRequestVar('mailPassword', ''));
+ $mail['encryption'] = Piwik_Common::getRequestVar('mailEncryption', '');
+ Piwik_Config_Writer::getInstance()->mail = $mail;
// update branding settings
- $branding = Zend_Registry::get('config')->branding;
- $branding->use_custom_logo = Piwik_Common::getRequestVar('useCustomLogo', '0');
- Zend_Registry::get('config')->branding = $branding->toArray();
+ Piwik_Config_Writer::getInstance()->branding['use_custom_logo'] = Piwik_Common::getRequestVar('useCustomLogo', '0');
$toReturn = $response->getResponse();
} catch(Exception $e ) {
@@ -99,10 +97,10 @@ class Piwik_CoreAdminHome_Controller extends Piwik_Controller_Admin
}
/**
- * Shows the "Track Visits" checkbox.
- */
- public function optOut()
- {
+ * Shows the "Track Visits" checkbox.
+ */
+ public function optOut()
+ {
$trackVisits = !Piwik_Tracker_IgnoreCookie::isIgnoreCookieFound();
$nonce = Piwik_Common::getRequestVar('nonce', false);
diff --git a/plugins/CorePluginsAdmin/Controller.php b/plugins/CorePluginsAdmin/Controller.php
index 51f0f657d2..aa85d01570 100644
--- a/plugins/CorePluginsAdmin/Controller.php
+++ b/plugins/CorePluginsAdmin/Controller.php
@@ -44,7 +44,7 @@ class Piwik_CorePluginsAdmin_Controller extends Piwik_Controller_Admin
$view->pluginsName = $plugins;
$this->setBasicVariablesView($view);
$view->menu = Piwik_GetAdminMenu();
- if(!Zend_Registry::get('config')->isFileWritable())
+ if(!Piwik_Config::getInstance()->isFileWritable())
{
$view->configFileNotWritable = true;
}
diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php
index eb2f4672a2..4042bdee31 100644
--- a/plugins/CoreUpdater/Controller.php
+++ b/plugins/CoreUpdater/Controller.php
@@ -32,7 +32,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
$view = Piwik_View::factory('update_new_version_available');
$view->piwik_version = Piwik_Version::VERSION;
$view->piwik_new_version = $newVersion;
- $view->piwik_latest_version_url = Zend_Registry::get('config')->General->latest_version_url;
+ $view->piwik_latest_version_url = Piwik_Config::getInstance()->General['latest_version_url'];
$view->can_auto_update = Piwik::canAutoUpdate();
$view->makeWritableCommands = Piwik::getAutoUpdateMakeWritableMessage();
echo $view->render();
@@ -45,7 +45,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
Piwik::setMaxExecutionTime(0);
- $url = Zend_Registry::get('config')->General->latest_version_url;
+ $url = Piwik_Config::getInstance()->General['latest_version_url'];
$steps = array(
array('oneClick_Download', Piwik_Translate('CoreUpdater_DownloadingUpdateFromX', $url)),
array('oneClick_Unpack', Piwik_Translate('CoreUpdater_UnpackingTheUpdate')),
@@ -91,7 +91,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
Piwik::checkDirectoriesWritableOrDie( array(self::PATH_TO_EXTRACT_LATEST_VERSION) );
// we catch exceptions in the caller (i.e., oneClickUpdate)
- $url = Zend_Registry::get('config')->General->latest_version_url . '?cb=' . $this->newVersion;
+ $url = Piwik_Config::getInstance()->General['latest_version_url'] . '?cb=' . $this->newVersion;
$fetched = Piwik_Http::fetchRemoteFile($url, $this->pathPiwikZip);
}
@@ -122,11 +122,11 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
private function oneClick_Verify()
{
$someExpectedFiles = array(
- '/config/global.ini.php',
- '/index.php',
- '/core/Piwik.php',
- '/piwik.php',
- '/plugins/API/API.php'
+ '/config/global.ini.php',
+ '/index.php',
+ '/core/Piwik.php',
+ '/piwik.php',
+ '/plugins/API/API.php'
);
foreach($someExpectedFiles as $file)
{
@@ -275,7 +275,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
// handle case of existing database with no tables
if(!Piwik::isInstalled())
{
- $this->errorMessages[] = Piwik_Translate('CoreUpdater_EmptyDatabaseError', Zend_Registry::get('config')->database->dbname);
+ $this->errorMessages[] = Piwik_Translate('CoreUpdater_EmptyDatabaseError', Piwik_Config::getInstance()->database['dbname']);
$this->coreError = true;
$currentVersion = 'N/A';
}
diff --git a/plugins/CustomVariables/CustomVariables.php b/plugins/CustomVariables/CustomVariables.php
index 7b463b81a0..4669f14b05 100644
--- a/plugins/CustomVariables/CustomVariables.php
+++ b/plugins/CustomVariables/CustomVariables.php
@@ -4,7 +4,7 @@
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- * @version $Id: CustomVariables.php 5235 2011-09-27 07:20:45Z matt $
+ * @version $Id$
*
* @category Piwik_Plugins
* @package Piwik_CustomVariables
@@ -131,8 +131,8 @@ class Piwik_CustomVariables extends Piwik_Plugin
function __construct()
{
- $this->maximumRowsInDataTableLevelZero = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_referers;
- $this->maximumRowsInSubDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_subtable_referers;
+ $this->maximumRowsInDataTableLevelZero = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_referers'];
+ $this->maximumRowsInSubDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_referers'];
}
protected $interestByCustomVariables = array();
diff --git a/plugins/DBStats/API.php b/plugins/DBStats/API.php
index bdce31c12a..7ba5ab49ed 100644
--- a/plugins/DBStats/API.php
+++ b/plugins/DBStats/API.php
@@ -33,15 +33,7 @@ class Piwik_DBStats_API
if(function_exists('mysql_connect'))
{
- $configDb = Zend_Registry::get('config')->database->toArray();
- // we decode the password. Password is html encoded because it's enclosed between " double quotes
- $configDb['password'] = htmlspecialchars_decode($configDb['password']);
- if(!isset($configDb['port']))
- {
- // before 0.2.4 there is no port specified in config file
- $configDb['port'] = '3306';
- }
-
+ $configDb = Piwik_Config::getInstance()->database;
$link = mysql_connect($configDb['host'], $configDb['username'], $configDb['password']);
$status = mysql_stat($link);
mysql_close($link);
diff --git a/plugins/Feedback/Controller.php b/plugins/Feedback/Controller.php
index e2f55a8e50..e279429272 100644
--- a/plugins/Feedback/Controller.php
+++ b/plugins/Feedback/Controller.php
@@ -34,7 +34,7 @@ class Piwik_Feedback_Controller extends Piwik_Controller
$nonce = Piwik_Common::getRequestVar('nonce', '', 'string');
$view = Piwik_View::factory('sent');
- $view->feedbackEmailAddress = Zend_Registry::get('config')->General->feedback_email_address;
+ $view->feedbackEmailAddress = Piwik_Config::getInstance()->General['feedback_email_address'];
try
{
$minimumBodyLength = 40;
diff --git a/plugins/ImageGraph/ImageGraph.php b/plugins/ImageGraph/ImageGraph.php
index 96a6c368f3..c28e200ed0 100644
--- a/plugins/ImageGraph/ImageGraph.php
+++ b/plugins/ImageGraph/ImageGraph.php
@@ -77,7 +77,7 @@ class Piwik_ImageGraph extends Piwik_Plugin
$piwikSite = new Piwik_Site($idSite);
if($periodForSinglePeriodGraph == 'range')
{
- $periodForMultiplePeriodGraph = Zend_Registry::get('config')->General->graphs_default_period_to_plot_when_period_range;
+ $periodForMultiplePeriodGraph = Piwik_Config::getInstance()->General['graphs_default_period_to_plot_when_period_range'];
$dateForMultiplePeriodGraph = $dateForSinglePeriodGraph;
}
else
diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php
index 58bd600daa..4da8bed3f8 100644
--- a/plugins/Installation/Controller.php
+++ b/plugins/Installation/Controller.php
@@ -80,7 +80,7 @@ class Piwik_Installation_Controller extends Piwik_Controller
$this->getInstallationSteps(),
__FUNCTION__
);
- $view->newInstall = !file_exists(Piwik_Config::getDefaultUserConfigPath());
+ $view->newInstall = !file_exists(Piwik_Config::getLocalConfigPath());
$view->errorMessage = $message;
$this->skipThisStep( __FUNCTION__ );
$view->showNextStep = $view->newInstall;
@@ -387,7 +387,7 @@ class Piwik_Installation_Controller extends Piwik_Controller
$this->session->superuser_infos = $superUserInfos;
- $url = Zend_Registry::get('config')->General->api_service_url;
+ $url = Piwik_Config::getInstance()->General['api_service_url'];
$url .= '/1.0/subscribeNewsletter/';
$params = array(
'email' => $form->getSubmitValue('email'),
@@ -519,7 +519,7 @@ class Piwik_Installation_Controller extends Piwik_Controller
);
$this->skipThisStep( __FUNCTION__ );
- if(!file_exists(Piwik_Config::getDefaultUserConfigPath()))
+ if(!file_exists(Piwik_Config::getLocalConfigPath()))
{
$this->writeConfigFileFromSession();
}
@@ -551,8 +551,7 @@ class Piwik_Installation_Controller extends Piwik_Controller
protected function createDbFromSessionInformation()
{
$dbInfos = $this->session->db_infos;
- Zend_Registry::get('config')->disableSavingConfigurationFileUpdates();
- Zend_Registry::get('config')->database = $dbInfos;
+ Piwik_Config::getInstance()->database = $dbInfos;
Piwik::createDatabaseObject($dbInfos);
}
@@ -566,14 +565,21 @@ class Piwik_Installation_Controller extends Piwik_Controller
{
return;
}
- $config = Zend_Registry::get('config');
- $config->superuser = $this->session->superuser_infos;
- $dbInfos = $this->session->db_infos;
- $config->database = $dbInfos;
- if(!empty($this->session->general_infos))
- {
- $config->General = $this->session->general_infos;
+ $config = Piwik_Config_Writer::getInstance();
+ try {
+ // expect exception since config.ini.php doesn't exist yet
+ $config->init();
+ } catch(Exception $e) {
+ $config->superuser = $this->session->superuser_infos;
+ $config->database = $this->session->db_infos;
+
+ if(!empty($this->session->general_infos))
+ {
+ $config->General = $this->session->general_infos;
+ }
+
+ $config->forceSave();
}
unset($this->session->superuser_infos);
@@ -613,7 +619,7 @@ class Piwik_Installation_Controller extends Piwik_Controller
}
else
{
- if(file_exists(Piwik_Config::getDefaultUserConfigPath()))
+ if(file_exists(Piwik_Config::getLocalConfigPath()))
{
$error = true;
}
@@ -679,7 +685,7 @@ class Piwik_Installation_Controller extends Piwik_Controller
public static function getSystemInformation()
{
global $piwik_minimumPHPVersion;
- $minimumMemoryLimit = Zend_Registry::get('config')->General->minimum_memory_limit;
+ $minimumMemoryLimit = Piwik_Config::getInstance()->General['minimum_memory_limit'];
$infos = array();
diff --git a/plugins/LanguagesManager/LanguagesManager.php b/plugins/LanguagesManager/LanguagesManager.php
index 96037c91cb..febbd562f7 100644
--- a/plugins/LanguagesManager/LanguagesManager.php
+++ b/plugins/LanguagesManager/LanguagesManager.php
@@ -177,7 +177,7 @@ class Piwik_LanguagesManager extends Piwik_Plugin
*/
static public function getLanguageForSession()
{
- $cookieName = Zend_Registry::get('config')->General->language_cookie_name;
+ $cookieName = Piwik_Config::getInstance()->General['language_cookie_name'];
$cookie = new Piwik_Cookie($cookieName);
if($cookie->isCookieFound())
{
@@ -198,7 +198,7 @@ class Piwik_LanguagesManager extends Piwik_Plugin
return false;
}
- $cookieName = Zend_Registry::get('config')->General->language_cookie_name;
+ $cookieName = Piwik_Config::getInstance()->General['language_cookie_name'];
$cookie = new Piwik_Cookie($cookieName, 0);
$cookie->set('language', $languageCode);
$cookie->save();
diff --git a/plugins/Live/Controller.php b/plugins/Live/Controller.php
index c1d6b42f01..e865af2432 100644
--- a/plugins/Live/Controller.php
+++ b/plugins/Live/Controller.php
@@ -26,7 +26,7 @@ class Piwik_Live_Controller extends Piwik_Controller
$view = Piwik_View::factory('index');
$view->idSite = $this->idSite;
$view = $this->setCounters($view);
- $view->liveRefreshAfterMs = (int)Zend_Registry::get('config')->General->live_widget_refresh_after_seconds * 1000;
+ $view->liveRefreshAfterMs = (int)Piwik_Config::getInstance()->General['live_widget_refresh_after_seconds'] * 1000;
$view->visitors = $this->getLastVisitsStart($fetchPlease = true);
$view->liveTokenAuth = Piwik::getCurrentUserTokenAuth();
return $this->render($view, $fetch);
diff --git a/plugins/Login/Auth.php b/plugins/Login/Auth.php
index bd52367c49..af5bd063ee 100644
--- a/plugins/Login/Auth.php
+++ b/plugins/Login/Auth.php
@@ -36,8 +36,8 @@ class Piwik_Login_Auth implements Piwik_Auth
*/
public function authenticate()
{
- $rootLogin = Zend_Registry::get('config')->superuser->login;
- $rootPassword = Zend_Registry::get('config')->superuser->password;
+ $rootLogin = Piwik_Config::getInstance()->superuser['login'];
+ $rootPassword = Piwik_Config::getInstance()->superuser['password'];
$rootToken = Piwik_UsersManager_API::getInstance()->getTokenAuth($rootLogin, $rootPassword);
if(is_null($this->login))
diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php
index 84dd044484..a727519779 100644
--- a/plugins/Login/Controller.php
+++ b/plugins/Login/Controller.php
@@ -93,16 +93,16 @@ class Piwik_Login_Controller extends Piwik_Controller
*/
private function configureView($view)
{
- $this->setBasicVariablesView($view);
-
+ $this->setBasicVariablesView($view);
+
$view->linkTitle = Piwik::getRandomTitle();
- $view->forceSslLogin = Zend_Registry::get('config')->General->force_ssl_login;
+ $view->forceSslLogin = Piwik_Config::getInstance()->General['force_ssl_login'];
// crsf token: don't trust the submitted value; generate/fetch it from session data
$view->nonce = Piwik_Nonce::getNonce('Piwik_Login.login');
}
-
+
/**
* Form-less login
* @see how to use it on http://piwik.org/faq/how-to/#faq_30
@@ -120,18 +120,18 @@ class Piwik_Login_Controller extends Piwik_Controller
}
$login = Piwik_Common::getRequestVar('login', null, 'string');
- if($login == Zend_Registry::get('config')->superuser->login)
- {
+ if($login == Piwik_Config::getInstance()->superuser['login'])
+ {
throw new Exception(Piwik_TranslateException('Login_ExceptionInvalidSuperUserAuthenticationMethod', array("logme")));
}
$currentUrl = 'index.php';
-
+
if(($idSite = Piwik_Common::getRequestVar('idSite', false, 'int')) !== false)
- {
+ {
$currentUrl .= '?idSite='.$idSite;
}
-
+
$urlToRedirect = Piwik_Common::getRequestVar('url', $currentUrl, 'string');
$urlToRedirect = Piwik_Common::unsanitizeInputValue($urlToRedirect);
@@ -196,7 +196,7 @@ class Piwik_Login_Controller extends Piwik_Controller
{
return Piwik_Translate('Login_InvalidNonceOrHeadersOrReferer', array('<a href="?module=Proxy&action=redirect&url='.urlencode('http://piwik.org/faq/how-to-install/#faq_98').'" target="_blank">', '</a>'));
}
-
+
/**
* Validate user (by username or email address).
*
@@ -241,8 +241,8 @@ class Piwik_Login_Controller extends Piwik_Controller
$mail->setBodyText($bodyText);
- $fromEmailName = Zend_Registry::get('config')->General->login_password_recovery_email_name;
- $fromEmailAddress = Zend_Registry::get('config')->General->login_password_recovery_email_address;
+ $fromEmailName = Piwik_Config::getInstance()->General['login_password_recovery_email_name'];
+ $fromEmailAddress = Piwik_Config::getInstance()->General['login_password_recovery_email_address'];
$mail->setFrom($fromEmailAddress, $fromEmailName);
@$mail->send();
}
@@ -286,7 +286,7 @@ class Piwik_Login_Controller extends Piwik_Controller
$view = Piwik_View::factory('resetPassword');
$view->AccessErrorString = $messageNoAccess;
- $view->forceSslLogin = Zend_Registry::get('config')->General->force_ssl_login;
+ $view->forceSslLogin = Piwik_Config::getInstance()->General['force_ssl_login'];
$view->addForm( $form );
$this->configureView($view);
echo $view->render();
@@ -318,12 +318,13 @@ class Piwik_Login_Controller extends Piwik_Controller
{
if( $user['email'] == Piwik::getSuperUserEmail() )
{
- if(!Zend_Registry::get('config')->isFileWritable())
- {
- throw new Exception(Piwik_Translate('General_ConfigFileIsNotWritable', array("(config/config.ini.php)","<br/>")));
- }
+ if(!Piwik_Config::getInstance()->isFileWritable())
+ {
+ throw new Exception(Piwik_Translate('General_ConfigFileIsNotWritable', array("(config/config.ini.php)","<br/>")));
+ }
+
$user['password'] = md5($password);
- Zend_Registry::get('config')->superuser = $user;
+ Piwik_Config_Writer::getInstance()->superuser = $user;
}
else
{
@@ -352,12 +353,12 @@ class Piwik_Login_Controller extends Piwik_Controller
$user = null;
if( $loginMail == Piwik::getSuperUserEmail()
- || $loginMail == Zend_Registry::get('config')->superuser->login )
+ || $loginMail == Piwik_Config::getInstance()->superuser['login'] )
{
$user = array(
- 'login' => Zend_Registry::get('config')->superuser->login,
+ 'login' => Piwik_Config::getInstance()->superuser['login'],
'email' => Piwik::getSuperUserEmail(),
- 'password' => Zend_Registry::get('config')->superuser->password,
+ 'password' => Piwik_Config::getInstance()->superuser['password'],
);
}
else if( Piwik_UsersManager_API::getInstance()->userExists($loginMail) )
@@ -431,7 +432,7 @@ class Piwik_Login_Controller extends Piwik_Controller
*/
static public function clearSession()
{
- $authCookieName = Zend_Registry::get('config')->General->login_cookie_name;
+ $authCookieName = Piwik_Config::getInstance()->General['login_cookie_name'];
$cookie = new Piwik_Cookie($authCookieName);
$cookie->delete();
@@ -458,7 +459,7 @@ class Piwik_Login_Controller extends Piwik_Controller
*/
protected function checkForceSslLogin()
{
- $forceSslLogin = Zend_Registry::get('config')->General->force_ssl_login;
+ $forceSslLogin = Piwik_Config::getInstance()->General['force_ssl_login'];
if($forceSslLogin
&& !Piwik::isHttps())
{
diff --git a/plugins/Login/Login.php b/plugins/Login/Login.php
index 92dd6bfb95..1f836e72cb 100644
--- a/plugins/Login/Login.php
+++ b/plugins/Login/Login.php
@@ -84,9 +84,9 @@ class Piwik_Login extends Piwik_Plugin
return;
}
- $authCookieName = Zend_Registry::get('config')->General->login_cookie_name;
+ $authCookieName = Piwik_Config::getInstance()->General['login_cookie_name'];
$authCookieExpiry = 0;
- $authCookiePath = Zend_Registry::get('config')->General->login_cookie_path;
+ $authCookiePath = Piwik_Config::getInstance()->General['login_cookie_path'];
$authCookie = new Piwik_Cookie($authCookieName, $authCookieExpiry, $authCookiePath);
$defaultLogin = 'anonymous';
$defaultTokenAuth = 'anonymous';
@@ -119,9 +119,9 @@ class Piwik_Login extends Piwik_Plugin
$auth->setTokenAuth($tokenAuth);
$authResult = $auth->authenticate();
- $authCookieName = Zend_Registry::get('config')->General->login_cookie_name;
- $authCookieExpiry = $rememberMe ? time() + Zend_Registry::get('config')->General->login_cookie_expire : 0;
- $authCookiePath = Zend_Registry::get('config')->General->login_cookie_path;
+ $authCookieName = Piwik_Config::getInstance()->General['login_cookie_name'];
+ $authCookieExpiry = $rememberMe ? time() + Piwik_Config::getInstance()->General['login_cookie_expire'] : 0;
+ $authCookiePath = Piwik_Config::getInstance()->General['login_cookie_path'];
$cookie = new Piwik_Cookie($authCookieName, $authCookieExpiry, $authCookiePath);
if(!$authResult->isValid())
diff --git a/plugins/Login/tests/Login.test.php b/plugins/Login/tests/Login.test.php
index 207bf4124e..ef6815ba15 100644
--- a/plugins/Login/tests/Login.test.php
+++ b/plugins/Login/tests/Login.test.php
@@ -12,12 +12,12 @@ require_once 'Database.test.php';
class Test_Piwik_Login extends Test_Database
{
- function setUp()
- {
- parent::setUp();
+ function setUp()
+ {
+ parent::setUp();
// setup the access layer
- $pseudoMockAccess = new FakeAccess;
+ $pseudoMockAccess = new FakeAccess;
FakeAccess::setIdSitesView( array(1,2));
FakeAccess::setIdSitesAdmin( array(3,4));
@@ -26,12 +26,12 @@ class Test_Piwik_Login extends Test_Database
Zend_Registry::set('access', $pseudoMockAccess);
// we make sure the tests don't depend on the config file content
- Zend_Registry::get('config')->superuser = array(
+ Piwik_Config::getInstance()->superuser = array(
'login'=>'superusertest',
'password'=>md5('passwordsuperusertest'),
'email'=>'superuser@example.com'
);
- }
+ }
public function test_authenticate()
{
@@ -175,7 +175,7 @@ class Test_Piwik_Login extends Test_Database
$rc = $auth->authenticate();
$this->assertEqual( $rc->getCode(), Piwik_Auth_Result::SUCCESS );
- $user = Zend_Registry::get('config')->superuser->toArray();
+ $user = Piwik_Config::getInstance()->superuser;
$password = $user['password'];
$tokenAuth = Piwik_UsersManager_API::getInstance()->getTokenAuth($user['login'], $password);
diff --git a/plugins/MultiSites/Controller.php b/plugins/MultiSites/Controller.php
index fdcd2e5bc9..5ec0c442e0 100644
--- a/plugins/MultiSites/Controller.php
+++ b/plugins/MultiSites/Controller.php
@@ -28,7 +28,7 @@ class Piwik_MultiSites_Controller extends Piwik_Controller
{
parent::__construct();
- $this->limit = Zend_Registry::get('config')->General->all_websites_website_per_page;
+ $this->limit = Piwik_Config::getInstance()->General['all_websites_website_per_page'];
}
function index()
@@ -152,12 +152,12 @@ class Piwik_MultiSites_Controller extends Piwik_Controller
Piwik_Date::factory('now', 'UTC+14')->toString('Y-m-d'))))
{
- $view->autoRefreshTodayReport = Zend_Registry::get('config')->General->multisites_refresh_after_seconds;
+ $view->autoRefreshTodayReport = Piwik_Config::getInstance()->General['multisites_refresh_after_seconds'];
}
$this->setGeneralVariablesView($view);
$this->setMinDateView($minDate, $view);
$this->setMaxDateView($maxDate, $view);
- $view->show_sparklines = Zend_Registry::get('config')->General->show_multisites_sparklines;
+ $view->show_sparklines = Piwik_Config::getInstance()->General['show_multisites_sparklines'];
echo $view->render();
}
diff --git a/plugins/PDFReports/API.php b/plugins/PDFReports/API.php
index b4e54215be..62f511cd0d 100644
--- a/plugins/PDFReports/API.php
+++ b/plugins/PDFReports/API.php
@@ -461,7 +461,7 @@ class Piwik_PDFReports_API
{
$emails[] = Piwik::getCurrentUserEmail();
}
- elseif($report['login'] == Zend_Registry::get('config')->superuser->login)
+ elseif($report['login'] == Piwik_Config::getInstance()->superuser['login'])
{
$emails[] = Piwik::getSuperUserEmail();
}
@@ -506,10 +506,10 @@ class Piwik_PDFReports_API
$mail = new Piwik_Mail();
$mail->setSubject($subject);
- $fromEmailName = Zend_Registry::get('config')->branding->use_custom_logo
+ $fromEmailName = Piwik_Config::getInstance()->branding['use_custom_logo']
? Piwik_Translate('CoreHome_WebAnalyticsReports')
: Piwik_Translate('PDFReports_PiwikReports');
- $fromEmailAddress = Zend_Registry::get('config')->General->noreply_email_address;
+ $fromEmailAddress = Piwik_Config::getInstance()->General['noreply_email_address'];
$attachmentName = $subject;
$mail->setFrom($fromEmailAddress, $fromEmailName);
diff --git a/plugins/PDFReports/tests/PDFReports.test.php b/plugins/PDFReports/tests/PDFReports.test.php
index 373528570a..6311e60b94 100644
--- a/plugins/PDFReports/tests/PDFReports.test.php
+++ b/plugins/PDFReports/tests/PDFReports.test.php
@@ -13,219 +13,223 @@ require_once PIWIK_PATH_TEST_TO_ROOT . '/plugins/PDFReports/PDFReports.php';
class Test_Piwik_PDFReports extends Test_Database
{
protected $idSiteAccess;
- function setUp()
- {
- parent::setUp();
-
+
+ function setUp()
+ {
+ parent::setUp();
+
// setup the access layer
- $pseudoMockAccess = new FakeAccess;
+ $pseudoMockAccess = new FakeAccess;
FakeAccess::$superUser = true;
//finally we set the user as a super user by default
Zend_Registry::set('access', $pseudoMockAccess);
- Piwik_PluginsManager::getInstance()->loadPlugins( array('API', 'UserCountry', 'PDFReports') );
+ Piwik_PluginsManager::getInstance()->loadPlugins( array('API', 'UserCountry', 'LanguagesManager', 'PDFReports') );
+ $plugin = Piwik_PluginsManager::getInstance()->getLoadedPlugin('LanguagesManager');
+ $plugin->install();
+ $plugin = Piwik_PluginsManager::getInstance()->getLoadedPlugin('PDFReports');
+ $plugin->install();
Piwik_PluginsManager::getInstance()->installLoadedPlugins();
- Piwik_PDFReports_API::$cache = array();
-
- $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("Test",array("http://piwik.net"));
-
- $idSite = Piwik_SitesManager_API::getInstance()->addSite("Test",array("http://piwik.net"));
+ Piwik_PDFReports_API::$cache = array();
+
+ $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("Test",array("http://piwik.net"));
+
+ $idSite = Piwik_SitesManager_API::getInstance()->addSite("Test",array("http://piwik.net"));
FakeAccess::setIdSitesView( array($this->idSiteAccess,2));
-
- }
-
- function tearDown()
- {
- Piwik_Query('TRUNCATE '.Piwik_Common::prefixTable('pdf'));
- Piwik_PDFReports_API::$cache = array();
- }
-
- function test_addReport_getReports()
- {
- $data = array(
- 'idsite' => $this->idSiteAccess,
- 'description' => 'test description"',
- 'period' => 'day',
- 'format' => 'pdf',
- 'aggregate_reports_format' => '1',
- 'reports' => 'UserCountry_getCountry',
- 'email_me' => 1,
- 'additional_emails' => 'test@test.com, t2@test.com',
- );
-
- $dataWebsiteTwo = $data;
- $dataWebsiteTwo['idsite'] = 2;
- $dataWebsiteTwo['period'] = 'month';
-
- $idReportTwo = $this->_createReport($dataWebsiteTwo);
- // Testing getReports without parameters
- $tmp = Piwik_PDFReports_API::getInstance()->getReports();
- $report = reset($tmp);
- $this->_checkReportsEqual($report, $dataWebsiteTwo);
-
- $idReport = $this->_createReport($data);
-
- // Passing 3 parameters
- $tmp = Piwik_PDFReports_API::getInstance()->getReports($this->idSiteAccess, $data['period'], $idReport);
- $report = reset($tmp);
- $this->_checkReportsEqual($report, $data);
-
- // Passing only idsite
- $tmp = Piwik_PDFReports_API::getInstance()->getReports($this->idSiteAccess);
- $report = reset($tmp);
- $this->_checkReportsEqual($report, $data);
-
- // Passing only period
- $tmp = Piwik_PDFReports_API::getInstance()->getReports($idSite=false, $data['period']);
- $report = reset($tmp);
- $this->_checkReportsEqual($report, $data);
-
- // Passing only idreport
- $tmp = Piwik_PDFReports_API::getInstance()->getReports($idSite=false,$period=false, $idReport);
- $report = reset($tmp);
- $this->_checkReportsEqual($report, $data);
-
- }
-
- function test_getReports_idReportNotFound()
- {
- try {
- $report = Piwik_PDFReports_API::getInstance()->getReports($idSite=false,$period=false, $idReport = 1);
- var_dump($report);
- $this->fail();
- } catch(Exception $e) {
- $this->pass();
- }
- }
-
- function test_getReports_invalidPermission()
- {
- $data = $this->_getAddReportData();
- $idReport = $this->_createReport($data);
-
- try {
- $report = Piwik_PDFReports_API::getInstance()->getReports($idSite=44,$period=false, $idReport);
- $this->fail();
- } catch(Exception $e){
- $this->pass();
- }
- }
-
- function test_addReport_invalidWebsite()
- {
- $data = $this->_getAddReportData();
- $data['idsite'] = 33;
- try {
- $idReport = $this->_createReport($data);
- $this->fail();
- } catch(Exception $e){
- $this->pass();
- }
- }
-
- function test_addReport_invalidPeriod()
- {
- $data = $this->_getAddReportData();
- $data['period'] = 'dx';
- try {
- $idReport = $this->_createReport($data);
- $this->fail();
- } catch(Exception $e){
- $this->pass();
- }
- }
-
- function test_updateReport()
- {
- $dataBefore = $this->_getAddReportData();
- $idReport = $this->_createReport($dataBefore);
- $dataAfter = $this->_getYetAnotherAddReportData();
- $this->_updateReport($idReport, $dataAfter);
- $tmp = Piwik_PDFReports_API::getInstance()->getReports($idSite=false,$period=false, $idReport);
- $newReport = reset($tmp);
- $this->_checkReportsEqual($newReport, $dataAfter);
- }
-
- function test_deleteReport()
- {
- // Deletes non existing report throws exception
- try {
- Piwik_PDFReports_API::getInstance()->deleteReport($idReport = 1);
- $this->fail();
- } catch(Exception $e) {
- $this->pass();
- }
-
- $idReport = $this->_createReport($this->_getYetAnotherAddReportData());
- $this->assertEqual(1, count(Piwik_PDFReports_API::getInstance()->getReports()));
+
+ }
+
+ function tearDown()
+ {
+ Piwik_Query('TRUNCATE '.Piwik_Common::prefixTable('pdf'));
+ Piwik_PDFReports_API::$cache = array();
+ }
+
+ function test_addReport_getReports()
+ {
+ $data = array(
+ 'idsite' => $this->idSiteAccess,
+ 'description' => 'test description"',
+ 'period' => 'day',
+ 'format' => 'pdf',
+ 'aggregate_reports_format' => '1',
+ 'reports' => 'UserCountry_getCountry',
+ 'email_me' => 1,
+ 'additional_emails' => 'test@test.com, t2@test.com',
+ );
+
+ $dataWebsiteTwo = $data;
+ $dataWebsiteTwo['idsite'] = 2;
+ $dataWebsiteTwo['period'] = 'month';
+
+ $idReportTwo = $this->_createReport($dataWebsiteTwo);
+ // Testing getReports without parameters
+ $tmp = Piwik_PDFReports_API::getInstance()->getReports();
+ $report = reset($tmp);
+ $this->_checkReportsEqual($report, $dataWebsiteTwo);
+
+ $idReport = $this->_createReport($data);
+
+ // Passing 3 parameters
+ $tmp = Piwik_PDFReports_API::getInstance()->getReports($this->idSiteAccess, $data['period'], $idReport);
+ $report = reset($tmp);
+ $this->_checkReportsEqual($report, $data);
+
+ // Passing only idsite
+ $tmp = Piwik_PDFReports_API::getInstance()->getReports($this->idSiteAccess);
+ $report = reset($tmp);
+ $this->_checkReportsEqual($report, $data);
+
+ // Passing only period
+ $tmp = Piwik_PDFReports_API::getInstance()->getReports($idSite=false, $data['period']);
+ $report = reset($tmp);
+ $this->_checkReportsEqual($report, $data);
+
+ // Passing only idreport
+ $tmp = Piwik_PDFReports_API::getInstance()->getReports($idSite=false,$period=false, $idReport);
+ $report = reset($tmp);
+ $this->_checkReportsEqual($report, $data);
+ }
+
+ function test_getReports_idReportNotFound()
+ {
+ try {
+ $report = Piwik_PDFReports_API::getInstance()->getReports($idSite=false,$period=false, $idReport = 1);
+ var_dump($report);
+ $this->fail();
+ } catch(Exception $e) {
+ $this->pass();
+ }
+ }
+
+ function test_getReports_invalidPermission()
+ {
+ $data = $this->_getAddReportData();
+ $idReport = $this->_createReport($data);
+
+ try {
+ $report = Piwik_PDFReports_API::getInstance()->getReports($idSite=44,$period=false, $idReport);
+ $this->fail();
+ } catch(Exception $e){
+ $this->pass();
+ }
+ }
+
+ function test_addReport_invalidWebsite()
+ {
+ $data = $this->_getAddReportData();
+ $data['idsite'] = 33;
+ try {
+ $idReport = $this->_createReport($data);
+ $this->fail();
+ } catch(Exception $e){
+ $this->pass();
+ }
+ }
+
+ function test_addReport_invalidPeriod()
+ {
+ $data = $this->_getAddReportData();
+ $data['period'] = 'dx';
+ try {
+ $idReport = $this->_createReport($data);
+ $this->fail();
+ } catch(Exception $e){
+ $this->pass();
+ }
+ }
+
+ function test_updateReport()
+ {
+ $dataBefore = $this->_getAddReportData();
+ $idReport = $this->_createReport($dataBefore);
+ $dataAfter = $this->_getYetAnotherAddReportData();
+ $this->_updateReport($idReport, $dataAfter);
+ $tmp = Piwik_PDFReports_API::getInstance()->getReports($idSite=false,$period=false, $idReport);
+ $newReport = reset($tmp);
+ $this->_checkReportsEqual($newReport, $dataAfter);
+ }
+
+ function test_deleteReport()
+ {
+ // Deletes non existing report throws exception
+ try {
+ Piwik_PDFReports_API::getInstance()->deleteReport($idReport = 1);
+ $this->fail();
+ } catch(Exception $e) {
+ $this->pass();
+ }
+
+ $idReport = $this->_createReport($this->_getYetAnotherAddReportData());
+ $this->assertEqual(1, count(Piwik_PDFReports_API::getInstance()->getReports()));
Piwik_PDFReports_API::getInstance()->deleteReport($idReport);
- $this->assertEqual(0, count(Piwik_PDFReports_API::getInstance()->getReports()));
- }
-
-
- function _getAddReportData()
- {
- return array(
- 'idsite' => $this->idSiteAccess,
- 'description' => 'test description"',
- 'period' => 'day',
- 'format' => 'pdf',
- 'aggregate_reports_format' => '1',
- 'reports' => 'UserCountry_getCountry',
- 'email_me' => 1,
- 'additional_emails' => 'test@test.com, t2@test.com',
- );
- }
-
- function _getYetAnotherAddReportData()
- {
- return array(
- 'idsite' => $this->idSiteAccess,
- 'description' => 'very very long and possibly truncated description. very very long and possibly truncated description. very very long and possibly truncated description. very very long and possibly truncated description. very very long and possibly truncated description. ',
- 'period' => 'month',
- 'format' => 'pdf',
- 'aggregate_reports_format' => '1',
- 'reports' => 'UserCountry_getContinent',
- 'email_me' => 0,
- 'additional_emails' => 'blabla@ec.fr',
- );
- }
- function _createReport($data)
- {
- $idReport = Piwik_PDFReports_API::getInstance()->addReport(
- $data['idsite'],
- $data['description'],
- $data['period'],
- $data['format'],
- $data['aggregate_reports_format'],
- $data['reports'],
- $data['email_me'],
- $data['additional_emails']);
- return $idReport;
- }
-
- function _updateReport($idReport, $data)
- {
- //$idReport, $idSite, $description, $period, $reports, $emailMe = true, $additionalEmails = false)
- $idReport = Piwik_PDFReports_API::getInstance()->updateReport(
- $idReport,
- $data['idsite'],
- $data['description'],
- $data['period'],
- $data['format'],
- $data['aggregate_reports_format'],
- $data['reports'],
- $data['email_me'],
- $data['additional_emails']);
- return $idReport;
- }
- function _checkReportsEqual($report, $data)
- {
- foreach($data as $key => $value)
- {
- if($key == 'additional_emails') $value = str_replace(' ','', $value);
- if($key == 'description') $value = substr($value,0,250);
- $this->assertEqual($value, $report[$key], "Error for $key for report ".var_export($report ,true)." and data ".var_export($data,true)." ---> %s ");
- }
- }
-
+ $this->assertEqual(0, count(Piwik_PDFReports_API::getInstance()->getReports()));
+ }
+
+
+ function _getAddReportData()
+ {
+ return array(
+ 'idsite' => $this->idSiteAccess,
+ 'description' => 'test description"',
+ 'period' => 'day',
+ 'format' => 'pdf',
+ 'aggregate_reports_format' => '1',
+ 'reports' => 'UserCountry_getCountry',
+ 'email_me' => 1,
+ 'additional_emails' => 'test@test.com, t2@test.com',
+ );
+ }
+
+ function _getYetAnotherAddReportData()
+ {
+ return array(
+ 'idsite' => $this->idSiteAccess,
+ 'description' => 'very very long and possibly truncated description. very very long and possibly truncated description. very very long and possibly truncated description. very very long and possibly truncated description. very very long and possibly truncated description. ',
+ 'period' => 'month',
+ 'format' => 'pdf',
+ 'aggregate_reports_format' => '1',
+ 'reports' => 'UserCountry_getContinent',
+ 'email_me' => 0,
+ 'additional_emails' => 'blabla@ec.fr',
+ );
+ }
+ function _createReport($data)
+ {
+ $idReport = Piwik_PDFReports_API::getInstance()->addReport(
+ $data['idsite'],
+ $data['description'],
+ $data['period'],
+ $data['format'],
+ $data['aggregate_reports_format'],
+ $data['reports'],
+ $data['email_me'],
+ $data['additional_emails']);
+ return $idReport;
+ }
+
+ function _updateReport($idReport, $data)
+ {
+ //$idReport, $idSite, $description, $period, $reports, $emailMe = true, $additionalEmails = false)
+ $idReport = Piwik_PDFReports_API::getInstance()->updateReport(
+ $idReport,
+ $data['idsite'],
+ $data['description'],
+ $data['period'],
+ $data['format'],
+ $data['aggregate_reports_format'],
+ $data['reports'],
+ $data['email_me'],
+ $data['additional_emails']);
+ return $idReport;
+ }
+
+ function _checkReportsEqual($report, $data)
+ {
+ foreach($data as $key => $value)
+ {
+ if($key == 'additional_emails') $value = str_replace(' ','', $value);
+ if($key == 'description') $value = substr($value,0,250);
+ $this->assertEqual($value, $report[$key], "Error for $key for report ".var_export($report ,true)." and data ".var_export($data,true)." ---> %s ");
+ }
+ }
}
diff --git a/plugins/PrivacyManager/Controller.php b/plugins/PrivacyManager/Controller.php
index bdd9bc3e39..172eef809f 100644
--- a/plugins/PrivacyManager/Controller.php
+++ b/plugins/PrivacyManager/Controller.php
@@ -29,20 +29,20 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin
{
case("formMaskLength"):
$this->handlePluginState(Piwik_Common::getRequestVar("anonymizeIPEnable", 0));
- $maskLength = Zend_Registry::get('config')->Tracker;
- $maskLength->ip_address_mask_length = Piwik_Common::getRequestVar("maskLength", 1);
- Zend_Registry::get('config')->Tracker = $maskLength->toArray();
+ $trackerConfig = Piwik_Config_Writer::getInstance()->Tracker;
+ $trackerConfig['ip_address_mask_length'] = Piwik_Common::getRequestVar("maskLength", 1);
+ Piwik_Config::getInstance()->Tracker = $trackerConfig;
break;
case("formDeleteSettings"):
- $deleteLogs = Zend_Registry::get('config')->Deletelogs;
- $deleteLogs->delete_logs_enable = Piwik_Common::getRequestVar("deleteEnable", 0);
- $deleteLogs->delete_logs_schedule_lowest_interval = Piwik_Common::getRequestVar("deleteLowestInterval", 7);
- $deleteLogs->delete_logs_older_than = ((int)Piwik_Common::getRequestVar("deleteOlderThan", 180) < 7) ?
+ $deleteLogs = Piwik_Config_Writer::getInstance()->Deletelogs;
+ $deleteLogs['delete_logs_enable'] = Piwik_Common::getRequestVar("deleteEnable", 0);
+ $deleteLogs['delete_logs_schedule_lowest_interval'] = Piwik_Common::getRequestVar("deleteLowestInterval", 7);
+ $deleteLogs['delete_logs_older_than'] = ((int)Piwik_Common::getRequestVar("deleteOlderThan", 180) < 7) ?
7 : Piwik_Common::getRequestVar("deleteOlderThan", 180);
- $deleteLogs->delete_max_rows_per_run = Piwik_Common::getRequestVar("deleteMaxRows", 100);
+ $deleteLogs['delete_max_rows_per_run'] = Piwik_Common::getRequestVar("deleteMaxRows", 100);
- Zend_Registry::get('config')->Deletelogs = $deleteLogs->toArray();
+ Piwik_Config::getInstance()->Deletelogs = $deleteLogs;
break;
default: //do nothing
@@ -66,8 +66,8 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin
}
$view->language = Piwik_LanguagesManager::getLanguageCodeForCurrentUser();
- if (!Zend_Registry::get('config')->isFileWritable())
- {
+ if (!Piwik_Config::getInstance()->isFileWritable())
+ {
$view->configFileNotWritable = true;
}
@@ -86,7 +86,7 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin
$anonymizeIP["name"] = self::ANONYMIZE_IP_PLUGIN_NAME;
$anonymizeIP["enabled"] = Piwik_PluginsManager::getInstance()->isPluginActivated(self::ANONYMIZE_IP_PLUGIN_NAME);
- $anonymizeIP["maskLength"] = Zend_Registry::get('config')->Tracker->ip_address_mask_length;
+ $anonymizeIP["maskLength"] = Piwik_Config::getInstance()->Tracker['ip_address_mask_length'];
$anonymizeIP["info"] = Piwik_PluginsManager::getInstance()->getLoadedPlugin(self::ANONYMIZE_IP_PLUGIN_NAME)->getInformation();
return $anonymizeIP;
@@ -97,7 +97,7 @@ class Piwik_PrivacyManager_Controller extends Piwik_Controller_Admin
Piwik::checkUserIsSuperUser();
$deleteLogsInfos = array();
$taskScheduler = new Piwik_TaskScheduler();
- $deleteLogsInfos["config"] = Zend_Registry::get('config')->Deletelogs->toArray();
+ $deleteLogsInfos["config"] = Piwik_Config::getInstance()->Deletelogs;
$privacyManager = new Piwik_PrivacyManager();
$deleteLogsInfos["deleteTables"] = implode(", ", $privacyManager->getDeleteTableLogTables());
diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php
index 73965cd6ed..e008922f14 100644
--- a/plugins/PrivacyManager/PrivacyManager.php
+++ b/plugins/PrivacyManager/PrivacyManager.php
@@ -68,10 +68,10 @@ class Piwik_PrivacyManager extends Piwik_Plugin
*/
function deleteLogTables()
{
- $deleteSettings = Zend_Registry::get('config')->Deletelogs;
+ $deleteSettings = Piwik_Config::getInstance()->Deletelogs;
//Make sure, log deletion is enabled
- if ($deleteSettings->delete_logs_enable == 0) {
+ if ($deleteSettings['delete_logs_enable'] == 0) {
return;
}
@@ -84,13 +84,13 @@ class Piwik_PrivacyManager extends Piwik_Plugin
//Make sure, log purging is allowed to run now
$lastDelete = Piwik_GetOption(self::OPTION_LAST_DELETE_PIWIK_LOGS);
- $deleteIntervalSeconds = $this->getDeleteIntervalInSeconds($deleteSettings->delete_logs_schedule_lowest_interval);
+ $deleteIntervalSeconds = $this->getDeleteIntervalInSeconds($deleteSettings['delete_logs_schedule_lowest_interval']);
if ($lastDelete === false ||
($lastDelete !== false && ((int)$lastDelete + $deleteIntervalSeconds) <= time())
) {
- $maxIdVisit = $this->getDeleteIdVisitOffset($deleteSettings->delete_logs_older_than);
+ $maxIdVisit = $this->getDeleteIdVisitOffset($deleteSettings['delete_logs_older_than']);
$logTables = $this->getDeleteTableLogTables();
@@ -111,7 +111,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin
}
foreach ($logTables as $logTable) {
- $this->deleteRowsFromTable($logTable, $maxIdVisit, $deleteSettings->delete_max_rows_per_run * self::DELETE_MAX_ROWS_MULTIPLICATOR);
+ $this->deleteRowsFromTable($logTable, $maxIdVisit, $deleteSettings['delete_max_rows_per_run'] * self::DELETE_MAX_ROWS_MULTIPLICATOR);
}
//optimize table overhead after deletion
diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php
index 139b15e2ec..60214f8268 100644
--- a/plugins/Provider/Provider.php
+++ b/plugins/Provider/Provider.php
@@ -114,7 +114,7 @@ class Piwik_Provider extends Piwik_Plugin
function archivePeriod( $notification )
{
- $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard;
+ $maximumRowsInDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_standard'];
$archiveProcessing = $notification->getNotificationObject();
if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return;
@@ -137,7 +137,7 @@ class Piwik_Provider extends Piwik_Plugin
$interestByProvider = $archiveProcessing->getArrayInterestForLabel($labelSQL);
$tableProvider = $archiveProcessing->getDataTableFromArray($interestByProvider);
$columnToSortByBeforeTruncation = Piwik_Archive::INDEX_NB_VISITS;
- $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard;
+ $maximumRowsInDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_standard'];
$archiveProcessing->insertBlobRecord($recordName, $tableProvider->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation));
destroy($tableProvider);
}
diff --git a/plugins/Proxy/tests/Proxy.test.php b/plugins/Proxy/tests/Proxy.test.php
index b775f5f7aa..d84e15a4d0 100644
--- a/plugins/Proxy/tests/Proxy.test.php
+++ b/plugins/Proxy/tests/Proxy.test.php
@@ -9,7 +9,7 @@ class Test_Piwik_Proxy extends UnitTestCase
public function test_isAcceptableRemoteUrl()
{
Piwik::createConfigObject();
- Zend_Registry::get('config')->setTestEnvironment();
+ Piwik_Config::getInstance()->setTestEnvironment();
$data = array(
// piwik white list (and used in homepage)
diff --git a/plugins/Referers/Referers.php b/plugins/Referers/Referers.php
index 64c39b71f3..eab4c37a0d 100644
--- a/plugins/Referers/Referers.php
+++ b/plugins/Referers/Referers.php
@@ -222,8 +222,8 @@ class Piwik_Referers extends Piwik_Plugin
function __construct()
{
$this->columnToSortByBeforeTruncation = Piwik_Archive::INDEX_NB_VISITS;
- $this->maximumRowsInDataTableLevelZero = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_referers;
- $this->maximumRowsInSubDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_subtable_referers;
+ $this->maximumRowsInDataTableLevelZero = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_referers'];
+ $this->maximumRowsInSubDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_referers'];
}
/**
diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php
index b49dd75cac..68da147ebc 100644
--- a/plugins/UserSettings/UserSettings.php
+++ b/plugins/UserSettings/UserSettings.php
@@ -246,7 +246,7 @@ class Piwik_UserSettings extends Piwik_Plugin
function archiveDay( $notification )
{
require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php';
- $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard;
+ $maximumRowsInDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_standard'];
$columnToSortByBeforeTruncation = Piwik_Archive::INDEX_NB_VISITS;
$archiveProcessing = $notification->getNotificationObject();
@@ -313,7 +313,7 @@ class Piwik_UserSettings extends Piwik_Plugin
if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return;
- $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard;
+ $maximumRowsInDataTable = Piwik_Config::getInstance()->General['datatable_archiving_maximum_rows_standard'];
$dataTableToSum = array(
'UserSettings_configuration',
diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php
index c8ac766e19..5b071f468b 100644
--- a/plugins/UsersManager/API.php
+++ b/plugins/UsersManager/API.php
@@ -622,7 +622,7 @@ class Piwik_UsersManager_API
private function checkUserIsNotSuperUser( $userLogin )
{
- if($userLogin == Zend_Registry::get('config')->superuser->login)
+ if($userLogin == Piwik_Config::getInstance()->superuser['login'])
{
throw new Exception(Piwik_TranslateException("UsersManager_ExceptionSuperUser"));
}
diff --git a/plugins/UsersManager/Controller.php b/plugins/UsersManager/Controller.php
index 63028e8aba..29b29efa96 100644
--- a/plugins/UsersManager/Controller.php
+++ b/plugins/UsersManager/Controller.php
@@ -108,7 +108,7 @@ class Piwik_UsersManager_Controller extends Piwik_Controller_Admin
$userSettingsDate = Piwik_UsersManager_API::getInstance()->getUserPreference($user, Piwik_UsersManager_API::PREFERENCE_DEFAULT_REPORT_DATE);
if($userSettingsDate === false)
{
- return Zend_Registry::get('config')->General->default_day;
+ return Piwik_Config::getInstance()->General['default_day'];
}
return $userSettingsDate;
}
@@ -127,7 +127,7 @@ class Piwik_UsersManager_Controller extends Piwik_Controller_Admin
{
$view->userAlias = $userLogin;
$view->userEmail = Piwik::getSuperUserEmail();
- if(!Zend_Registry::get('config')->isFileWritable())
+ if(!Piwik_Config::getInstance()->isFileWritable())
{
$view->configFileNotWritable = true;
}
@@ -277,24 +277,24 @@ class Piwik_UsersManager_Controller extends Piwik_Controller_Admin
$userLogin = Piwik::getCurrentUserLogin();
if(Piwik::isUserIsSuperUser())
{
- $superUser = Zend_Registry::get('config')->superuser;
+ $superUser = Piwik_Config_Writer::getInstance()->superuser;
$updatedSuperUser = false;
if($newPassword !== false)
{
$newPassword = Piwik_Common::unsanitizeInputValue($newPassword);
$md5PasswordSuperUser = md5($newPassword);
- $superUser->password = $md5PasswordSuperUser;
+ $superUser['password'] = $md5PasswordSuperUser;
$updatedSuperUser = true;
}
if($superUser->email != $email)
{
- $superUser->email = $email;
+ $superUser['email'] = $email;
$updatedSuperUser = true;
}
if($updatedSuperUser)
{
- Zend_Registry::get('config')->superuser = $superUser->toArray();
+ Piwik_Config::getInstance()->superuser = $superUser;
}
}
else
diff --git a/plugins/UsersManager/tests/UsersManager.test.php b/plugins/UsersManager/tests/UsersManager.test.php
index 8641c08a79..af3a6e6629 100644
--- a/plugins/UsersManager/tests/UsersManager.test.php
+++ b/plugins/UsersManager/tests/UsersManager.test.php
@@ -8,26 +8,37 @@ require_once PIWIK_PATH_TEST_TO_ROOT . '/tests/core/Database.test.php';
class Test_Piwik_UsersManager extends Test_Database
{
- function setUp()
- {
- parent::setUp();
+ function __construct()
+ {
+ parent::__construct();
+
+ Piwik_Config::getInstance()->setTestEnvironment();
+ Piwik_PluginsManager::getInstance()->unloadPlugins();
+ Piwik_PluginsManager::getInstance()->loadPlugins( array('LanguagesManager') );
+ $plugin = Piwik_PluginsManager::getInstance()->getLoadedPlugin('LanguagesManager');
+ $plugin->install();
+ }
+
+ function setUp()
+ {
+ parent::setUp();
// setup the access layer
- $pseudoMockAccess = new FakeAccess;
+ $pseudoMockAccess = new FakeAccess;
FakeAccess::setIdSitesView( array(1,2));
FakeAccess::setIdSitesAdmin( array(3,4));
//finally we set the user as a super user by default
FakeAccess::$superUser = true;
Zend_Registry::set('access', $pseudoMockAccess);
-
+
// we make sure the tests don't depend on the config file content
- Zend_Registry::get('config')->superuser = array(
+ Piwik_Config::getInstance()->superuser = array(
'login'=>'superusertest',
'password'=>'passwordsuperusertest',
'email'=>'superuser@example.com'
);
- }
+ }
private function _flatten($sitesAccess)
{
@@ -65,7 +76,7 @@ class Test_Piwik_UsersManager extends Test_Database
function test_all_superUserIncluded()
{
- Zend_Registry::get('config')->superuser = array(
+ Piwik_Config::getInstance()->superuser = array(
'login'=>'superusertest',
'password'=>'passwordsuperusertest',
'email'=>'superuser@example.com'