Skip to content
Extraits de code Groupes Projets
Valider ca5adbf3 rédigé par robocoder's avatar robocoder
Parcourir les fichiers

refs #889 - add PIWIK_USER_PATH to relocate config & tmp folders per...

refs #889 - add PIWIK_USER_PATH to relocate config & tmp folders per user/account where Piwik installation is shared


git-svn-id: http://dev.piwik.org/svn/trunk@1401 59fd770c-687e-43c8-a1e3-f5a4ff64c105
parent c81a75dd
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -24,7 +24,7 @@ class Piwik_CacheFile
function __construct($directory)
{
$this->cachePath = PIWIK_INCLUDE_PATH . '/tmp/cache/' . $directory . '/';
$this->cachePath = PIWIK_USER_PATH . '/tmp/cache/' . $directory . '/';
// echo $this->cachePath;exit;
}
......
......@@ -773,6 +773,11 @@ class Piwik_Common
}
$searchEngineName = $GLOBALS['Piwik_SearchEngines'][$refererHost][0];
$variableNames = $GLOBALS['Piwik_SearchEngines'][$refererHost][1];
if(!$variableNames)
{
$url = $GLOBALS['Piwik_SearchEngines_NameToUrl'][$searchEngineName];
$variableNames = $GLOBALS['Piwik_SearchEngines'][$url][1];
}
if(!is_array($variableNames))
{
$variableNames = array($variableNames);
......
......@@ -53,12 +53,12 @@ class Piwik_Config
*/
static public function getDefaultUserConfigPath()
{
return Piwik_Common::getPathToPiwikRoot() . '/config/config.ini.php';
return PIWIK_USER_PATH .'/config/config.ini.php';
}
static public function getDefaultDefaultConfigPath()
{
return Piwik_Common::getPathToPiwikRoot() . '/config/global.ini.php';
return PIWIK_USER_PATH .'/config/global.ini.php';
}
/**
......
......@@ -32,7 +32,7 @@ abstract class Piwik_Log extends Zend_Log
$log_dir = Zend_Registry::get('config')->log->logger_file_path;
if($log_dir[0] != '/' && $log_dir[0] != DIRECTORY_SEPARATOR)
{
$log_dir = PIWIK_INCLUDE_PATH . '/' . $log_dir;
$log_dir = PIWIK_USER_PATH . '/' . $log_dir;
}
$this->logToFileFilename = $log_dir . '/' . $logToFileFilename;
......
......@@ -84,9 +84,9 @@ class Piwik
$resultCheck = array();
foreach($directoriesToCheck as $directoryToCheck)
{
if( !preg_match('/^'.preg_quote(PIWIK_INCLUDE_PATH, '/').'/', $directoryToCheck) )
if( !preg_match('/^'.preg_quote(PIWIK_USER_PATH, '/').'/', $directoryToCheck) )
{
$directoryToCheck = PIWIK_INCLUDE_PATH . $directoryToCheck;
$directoryToCheck = PIWIK_USER_PATH . $directoryToCheck;
}
if(!file_exists($directoryToCheck))
......
......@@ -52,11 +52,11 @@ class Piwik_Tracker_Config
{
if(is_null($pathIniFileUser))
{
$pathIniFileUser = PIWIK_INCLUDE_PATH . '/config/config.ini.php';
$pathIniFileUser = PIWIK_USER_PATH . '/config/config.ini.php';
}
if(is_null($pathIniFileGlobal))
{
$pathIniFileGlobal = PIWIK_INCLUDE_PATH . '/config/global.ini.php';
$pathIniFileGlobal = PIWIK_USER_PATH . '/config/global.ini.php';
}
$this->configUser = parse_ini_file($pathIniFileUser, true);
$this->configGlobal = parse_ini_file($pathIniFileGlobal, true);
......
......@@ -117,7 +117,7 @@ class Piwik_Tracker_Generator
// init GET and REQUEST to the empty array
$this->setFakeRequest();
Piwik::createConfigObject(PIWIK_INCLUDE_PATH . '/config/config.ini.php');
Piwik::createConfigObject(PIWIK_USER_PATH . '/config/config.ini.php');
Zend_Registry::get('config')->disableSavingConfigurationFileUpdates();
// setup database
......
......@@ -186,7 +186,7 @@ class Piwik_View implements Piwik_iView
{
if($value[0] != '/' && $value[0] != DIRECTORY_SEPARATOR)
{
$value = PIWIK_INCLUDE_PATH ."/$value";
$value = PIWIK_USER_PATH ."/$value";
}
}
......
......@@ -26,11 +26,15 @@ if(ini_get('session.save_handler') == 'user')
@ini_set('session.save_path', '');
}
define('PIWIK_DOCUMENT_ROOT', dirname(__FILE__));
if(!defined('PIWIK_USER_PATH'))
{
define('PIWIK_USER_PATH', PIWIK_DOCUMENT_ROOT);
}
if(!defined('PIWIK_INCLUDE_PATH'))
{
define('PIWIK_INCLUDE_PATH', dirname(__FILE__));
define('PIWIK_INCLUDE_PATH', PIWIK_DOCUMENT_ROOT);
}
define('PIWIK_DOCUMENT_ROOT', dirname(__FILE__));
if(!defined('PIWIK_INCLUDE_SEARCH_PATH'))
{
......
......@@ -17,9 +17,14 @@ $GLOBALS['PIWIK_TRACKER_DEBUG'] = false;
define('PIWIK_TRACKER_MODE', true);
error_reporting(E_ALL|E_NOTICE);
define('PIWIK_DOCUMENT_ROOT', dirname(__FILE__));
if(!defined('PIWIK_USER_PATH'))
{
define('PIWIK_USER_PATH', PIWIK_DOCUMENT_ROOT);
}
if(!defined('PIWIK_INCLUDE_PATH'))
{
define('PIWIK_INCLUDE_PATH', dirname(__FILE__));
define('PIWIK_INCLUDE_PATH', PIWIK_DOCUMENT_ROOT);
}
@ignore_user_abort(true);
......
......@@ -77,7 +77,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
private function oneClick_Download()
{
$this->pathPiwikZip = PIWIK_INCLUDE_PATH . self::PATH_TO_EXTRACT_LATEST_VERSION . '/latest.zip';
$this->pathPiwikZip = PIWIK_USER_PATH . self::PATH_TO_EXTRACT_LATEST_VERSION . '/latest.zip';
Piwik::checkDirectoriesWritableOrDie( array(self::PATH_TO_EXTRACT_LATEST_VERSION) );
// we catch exceptions in the caller (i.e., oneClickUpdate)
......@@ -89,7 +89,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
require_once PIWIK_INCLUDE_PATH . '/libs/PclZip/pclzip.lib.php';
$archive = new PclZip($this->pathPiwikZip);
$pathExtracted = PIWIK_INCLUDE_PATH.self::PATH_TO_EXTRACT_LATEST_VERSION;
$pathExtracted = PIWIK_USER_PATH . self::PATH_TO_EXTRACT_LATEST_VERSION;
if ( false == ($archive_files = $archive->extract(
PCLZIP_OPT_PATH, $pathExtracted)) )
{
......@@ -124,8 +124,8 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
private function oneClick_CreateConfigFileBackup()
{
$configFileBefore = PIWIK_INCLUDE_PATH . '/config/global.ini.php';
$configFileAfter = PIWIK_INCLUDE_PATH . self::CONFIG_FILE_BACKUP;
$configFileBefore = PIWIK_USER_PATH . '/config/global.ini.php';
$configFileAfter = PIWIK_USER_PATH . self::CONFIG_FILE_BACKUP;
Piwik::copy($configFileBefore, $configFileAfter);
}
......@@ -139,10 +139,13 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
/*
* These files are visible in the web root and are generally
* served directly by the web server.
* served directly by the web server. May be shared.
*/
if(PIWIK_INCLUDE_PATH !== PIWIK_DOCUMENT_ROOT)
{
/*
* Copy PHP files that expect to be in the document root
*/
$specialCases = array(
'/index.php',
'/piwik.php',
......@@ -151,8 +154,7 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
foreach($specialCases as $file)
{
Piwik::copy($this->pathRootExtractedPiwik . $file,
PIWIK_DOCUMENT_ROOT . $file);
Piwik::copy($this->pathRootExtractedPiwik . $file, PIWIK_DOCUMENT_ROOT . $file);
}
/*
......@@ -161,6 +163,14 @@ class Piwik_CoreUpdater_Controller extends Piwik_Controller
Piwik::copyRecursive($this->pathRootExtractedPiwik, PIWIK_DOCUMENT_ROOT, true);
}
/*
* Config files may be user (account) specific
*/
if(PIWIK_INCLUDE_PATH !== PIWIK_USER_PATH)
{
Piwik::copyRecursive($this->pathRootExtractedPiwik . '/config', PIWIK_USER_PATH . '/config');
}
Piwik::unlinkRecursive($this->pathRootExtractedPiwik, true);
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter