[Piwik-svn] r467 - trunk/modules
svnmaster at piwik.org
svnmaster at piwik.org
Thu May 8 23:39:34 CEST 2008
Author: matt
Date: 2008-05-08 23:39:32 +0200 (Thu, 08 May 2008)
New Revision: 467
Modified:
trunk/modules/Piwik.php
Log:
- fix #202 it seems this fix does the trick or suggesting the right directories at installation. Please apply the diff and report any problem.
Modified: trunk/modules/Piwik.php
===================================================================
--- trunk/modules/Piwik.php 2008-05-06 23:37:22 UTC (rev 466)
+++ trunk/modules/Piwik.php 2008-05-08 21:39:32 UTC (rev 467)
@@ -52,8 +52,6 @@
// path without trailing slash!!
static public function mkdir( $path, $mode = 0755, $denyAccess = true )
{
- $path = '/' . $path;
-
if(!is_dir($path))
{
$directoryParent = realpath(dirname($path));
@@ -72,33 +70,43 @@
}
/**
- * Throws an exception if the directories are not writable
+ * Checks if directories are writable and create them if they do not exist.
+ *
+ * @param array $directoriesToCheck array of directories to check - if not given default Piwik directories that needs write permission are checked
+ *
+ * @return array direcory name => true|false (is writable)
*/
- static public function checkDirectoriesWritable()
- {
- $directoriesToCheck = array(
- '/config',
- '/tmp',
- '/tmp/templates_c',
- '/tmp/cache',
- );
+ static public function checkDirectoriesWritable($directoriesToCheck = null)
+ {
+ if( $directoriesToCheck == null )
+ {
+ $directoriesToCheck = array(
+ '/',
+ '/config',
+ '/tmp',
+ '/tmp/templates_c',
+ '/tmp/cache',
+ );
+ }
$resultCheck = array();
- foreach($directoriesToCheck as $name)
+ foreach($directoriesToCheck as $directoryToCheck)
{
- $directoryToCheck = PIWIK_INCLUDE_PATH . $name;
+ if( !ereg('^'.preg_quote(PIWIK_INCLUDE_PATH), $directoryToCheck) )
+ {
+ $directoryToCheck = PIWIK_INCLUDE_PATH . $directoryToCheck;
+ }
$directory = realpath($directoryToCheck);
- $resultCheck[$directory] = false;
- if(!is_writable($directoryToCheck))
+ if(!file_exists($directoryToCheck))
{
Piwik::mkdir($directoryToCheck, 0755, false);
}
-
+ $resultCheck[$directory] = false;
if(is_writable($directoryToCheck))
{
$resultCheck[$directory] = true;
@@ -107,7 +115,7 @@
return $resultCheck;
}
-
+
static public function getJavascriptCode($idSite, $piwikUrl, $actionName = "''")
{
$jsTag = file_get_contents( "modules/LogStats/javascriptTag.tpl");
More information about the Piwik-svn
mailing list