]> source.dussan.org Git - nextcloud-server.git/commitdiff
Checks if config folder is writable on begin of the installation.
authorMarvin Thomas Rabe <mrabe@marvinrabe.de>
Tue, 1 May 2012 12:47:40 +0000 (14:47 +0200)
committerMarvin Thomas Rabe <mrabe@marvinrabe.de>
Tue, 1 May 2012 14:35:46 +0000 (16:35 +0200)
lib/util.php

index 2c05eb02599191b2098ec89a2c11f15fa7f33ed9..5de5b8df384f671e94f25cd40c7faf9faac30224 100644 (file)
@@ -20,10 +20,18 @@ class OC_Util {
                $CONFIG_DATADIRECTORY_ROOT = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" );
                $CONFIG_BACKUPDIRECTORY = OC_Config::getValue( "backupdirectory", OC::$SERVERROOT."/backup" );
 
-               // Create root dir
+               // Check if config folder is writable.
+               if(!is_writable(OC::$SERVERROOT."/config/")) {
+                       $tmpl = new OC_Template( '', 'error', 'guest' );
+                       $tmpl->assign('errors',array(1=>array('error'=>"Can't write into config directory 'config'",'hint'=>"You can usually fix this by giving the webserver user write access to the config directory in owncloud")));
+                       $tmpl->printPage();
+                       exit;
+               }
+               
+               // Create root dir.
                if(!is_dir($CONFIG_DATADIRECTORY_ROOT)){
                        $success=@mkdir($CONFIG_DATADIRECTORY_ROOT);
-                        if(!$success) {
+            if(!$success) {
                                $tmpl = new OC_Template( '', 'error', 'guest' );
                                $tmpl->assign('errors',array(1=>array('error'=>"Can't create data directory (".$CONFIG_DATADIRECTORY_ROOT.")",'hint'=>"You can usually fix this by giving the webserver write access to the ownCloud directory '".OC::$SERVERROOT."' (in a terminal, use the command 'chown -R www-data:www-data /path/to/your/owncloud/install/data' ")));
                                $tmpl->printPage();