]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
create storage directories automatically
authorMikael Nordfeldth <mmn@hethane.se>
Sun, 27 Dec 2015 23:35:02 +0000 (00:35 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Sun, 27 Dec 2015 23:35:02 +0000 (00:35 +0100)
lib/installer.php

index 5e09c9732924253fd68136b222a8abb8a03d697a..971e2562b010d6fb5eb1897309943f32d5cbc46b 100644 (file)
@@ -135,8 +135,14 @@ abstract class Installer
         // Check the subdirs used for file uploads
         $fileSubdirs = array('avatar', 'file');
         foreach ($fileSubdirs as $fileSubdir) {
-            $fileFullPath = INSTALLDIR."/$fileSubdir/";
-            if (!is_writable($fileFullPath)) {
+            $fileFullPath = INSTALLDIR."/$fileSubdir";
+            if (!file_exists($fileFullPath)) {
+                $pass = $pass && mkdir($fileFullPath);
+            } elseif (!is_dir($fileFullPath)) {
+                $this->warning(sprintf('GNU social expected a directory but found something else on this path: %s', $fileFullPath),
+                               'Either make sure it goes to a directory or remove it and a directory will be created.');
+                $pass = false;
+            } elseif (!is_writable($fileFullPath)) {
                 $this->warning(sprintf('Cannot write to %s directory: <code>%s</code>', $fileSubdir, $fileFullPath),
                                sprintf('On your server, try this command: <code>chmod a+w %s</code>', $fileFullPath));
                 $pass = false;