Esempio n. 1
0
 /**
  * Singleton
  *
  * @return Piwik_Option
  */
 public static function getInstance()
 {
     if (self::$instance == null) {
         self::$instance = new self();
     }
     return self::$instance;
 }
Esempio n. 2
0
 /**
  * @return Piwik_Option
  */
 public static function getInstance()
 {
     if (self::$instance == null) {
         $c = __CLASS__;
         self::$instance = new $c();
     }
     return self::$instance;
 }
Esempio n. 3
0
 public function tearDown()
 {
     parent::tearDown();
     Piwik_DataTable_Manager::getInstance()->deleteAll();
     Piwik_Option::getInstance()->clearCache();
     Piwik_Common::deleteTrackerCache();
     Piwik_Site::clearCache();
     Piwik::truncateAllTables();
     Piwik_TablePartitioning::$tablesAlreadyInstalled = null;
 }
Esempio n. 4
0
 public function tearDown()
 {
     parent::tearDown();
     Piwik_DataTable_Manager::getInstance()->deleteAll();
     Piwik_Option::getInstance()->clearCache();
     Piwik_Site::clearCache();
     Piwik_Common::deleteTrackerCache();
     Piwik_TablePartitioning::$tablesAlreadyInstalled = null;
     $tempTableName = Piwik_Common::prefixTable(Piwik_PrivacyManager_LogDataPurger::TEMP_TABLE_NAME);
     Piwik_Query("DROP TABLE IF EXISTS " . $tempTableName);
 }
Esempio n. 5
0
 /**
  * Resets all caches and drops the database
  */
 public function tearDown()
 {
     parent::tearDown();
     try {
         $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
         foreach ($plugins as $plugin) {
             $plugin->uninstall();
         }
         Piwik_PluginsManager::getInstance()->unloadPlugins();
     } catch (Exception $e) {
     }
     Piwik::dropDatabase();
     Piwik_DataTable_Manager::getInstance()->deleteAll();
     Piwik_Option::getInstance()->clearCache();
     Piwik_Site::clearCache();
     Piwik_Common::deleteTrackerCache();
     Piwik_Config::getInstance()->clear();
     Piwik_TablePartitioning::$tablesAlreadyInstalled = null;
     Zend_Registry::_unsetInstance();
 }
Esempio n. 6
0
 public static function tearDownAfterClass()
 {
     try {
         $plugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
         foreach ($plugins as $plugin) {
             $plugin->uninstall();
         }
         Piwik_PluginsManager::getInstance()->unloadPlugins();
     } catch (Exception $e) {
     }
     Piwik::dropDatabase();
     Piwik_DataTable_Manager::getInstance()->deleteAll();
     Piwik_Option::getInstance()->clearCache();
     Piwik_Site::clearCache();
     Piwik_Common::deleteTrackerCache();
     Piwik_Config::getInstance()->clear();
     Piwik_TablePartitioning::$tablesAlreadyInstalled = null;
     Zend_Registry::_unsetInstance();
     $_GET = $_REQUEST = array();
     Piwik_Translate::getInstance()->unloadEnglishTranslation();
     // re-enable tag cloud shuffling
     Piwik_Visualization_Cloud::$debugDisableShuffle = true;
 }
Esempio n. 7
0
	/**
	 * Delete user preferences associated with a particular site
	 *
	 * @param Event_Notification $notification
	 */
	function deleteSite( $notification )
	{
		$idSite = &$notification->getNotificationObject();

		Piwik_Option::getInstance()->deleteLike('%\_'.Piwik_UsersManager_API::PREFERENCE_DEFAULT_REPORT, $idSite);
	}
Esempio n. 8
0
 public function test_deleteLike()
 {
     // empty table, expect false (i.e., not found)
     $this->assertTrue(Piwik_GetOption('anonymous_defaultReport') === false);
     $this->assertTrue(Piwik_GetOption('admin_defaultReport') === false);
     $this->assertTrue(Piwik_GetOption('visitor_defaultReport') === false);
     // insert guard - to test unescaped underscore
     Piwik_SetOption('adefaultReport', '0', true);
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // populate table, expect '1'
     Piwik_SetOption('anonymous_defaultReport', '1', true);
     Piwik_Option::getInstance()->deleteLike('\\_defaultReport');
     $this->assertTrue(Piwik_Option::getInstance()->get('anonymous_defaultReport') === '1');
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // populate table, expect '2'
     Piwik_SetOption('admin_defaultReport', '2', false);
     Piwik_Option::getInstance()->deleteLike('\\_defaultReport');
     $this->assertTrue(Piwik_Option::getInstance()->get('admin_defaultReport') === '2');
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // populate table, expect '3'
     Piwik_SetOption('visitor_defaultReport', '3', false);
     Piwik_Option::getInstance()->deleteLike('\\_defaultReport');
     $this->assertTrue(Piwik_Option::getInstance()->get('visitor_defaultReport') === '3');
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // delete with non-matching value, expect '1'
     Piwik_Option::getInstance()->deleteLike('%\\_defaultReport', '4');
     $this->assertTrue(Piwik_Option::getInstance()->get('anonymous_defaultReport') === '1');
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // delete with matching pattern, expect false
     Piwik_Option::getInstance()->deleteLike('%\\_defaultReport', '1');
     $this->assertTrue(Piwik_Option::getInstance()->get('anonymous_defaultReport') === false);
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // this shouldn't have been deleted, expect '2' and '3'
     $this->assertTrue(Piwik_Option::getInstance()->get('admin_defaultReport') === '2');
     $this->assertTrue(Piwik_Option::getInstance()->get('visitor_defaultReport') === '3');
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // deleted, expect false (except for the guard)
     Piwik_Option::getInstance()->deleteLike('%\\_defaultReport');
     $this->assertTrue(Piwik_Option::getInstance()->get('admin_defaultReport') === false);
     $this->assertTrue(Piwik_Option::getInstance()->get('visitor_defaultReport') === false);
     // unescaped backslash (single quotes)
     Piwik_Option::getInstance()->deleteLike('%\\_defaultReport');
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // escaped backslash (single quotes)
     Piwik_Option::getInstance()->deleteLike('%\\_defaultReport');
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // unescaped backslash (double quotes)
     Piwik_Option::getInstance()->deleteLike("%\\_defaultReport");
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
     // escaped backslash (double quotes)
     Piwik_Option::getInstance()->deleteLike("%\\_defaultReport");
     $this->assertTrue(Piwik_GetOption('adefaultReport') === '0');
 }
Esempio n. 9
0
 /**
  * Removes stored password reset info if it exists.
  * 
  * @param string $login The user login to check for.
  */
 public static function removePasswordResetInfo($login)
 {
     $optionName = self::getPasswordResetInfoOptionName($login);
     Piwik_Option::getInstance()->delete($optionName);
 }
Esempio n. 10
0
/**
 *  Proxy to normal piwik.php, but in testing mode
 *  
 *  - Use the tests database to record Tracking data
 *  - Allows to overwrite the Visitor IP, and Server datetime 
 *  
 * @see Main.test.php
 * 
 */
// Wrapping the request inside ob_start() calls to ensure that the Test
// calling us waits for the full request to process before unblocking
ob_start();
define('PIWIK_INCLUDE_PATH', '../../..');
define('PIWIK_USER_PATH', PIWIK_INCLUDE_PATH);
require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php';
require_once PIWIK_INCLUDE_PATH . '/core/Loader.php';
// Config files forced to use the test database
// Note that this also provides security for Piwik installs containing tests files:
// this proxy will not record any data in the production database.
Piwik::createConfigObject();
Piwik_Config::getInstance()->setTestEnvironment();
Piwik_Config::getInstance()->PluginsInstalled['PluginsInstalled'] = array();
Piwik_UserCountry_LocationProvider_GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-files';
Piwik_Tracker::setTestEnvironment();
Piwik_DataTable_Manager::getInstance()->deleteAll();
Piwik_Option::getInstance()->clearCache();
Piwik_Site::clearCache();
Piwik_Common::deleteTrackerCache();
include PIWIK_INCLUDE_PATH . '/piwik.php';
ob_end_flush();