]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/installer.php
Merge remote-tracking branch 'upstream/nightly' into nightly
[quix0rs-gnu-social.git] / lib / installer.php
index 5e09c9732924253fd68136b222a8abb8a03d697a..d2fda9256094a0dfff2b2e2454a71511a3add094 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;
@@ -399,7 +405,7 @@ abstract class Installer
             'sitename' => $this->sitename,
             'server' => $this->server,
             'path' => $this->path,
-            'ssl' => in_array($this->ssl, array('never', 'sometimes', 'always'))
+            'ssl' => in_array($this->ssl, array('never', 'always'))
                      ? $this->ssl
                      : 'never',
             'db_database' => $this->db['database'],
@@ -518,7 +524,7 @@ abstract class Installer
             $data['email'] = $this->adminEmail;
         }
         try {
-            $user = User::register($data);
+            $user = User::register($data, true);    // true to skip email sending verification
         } catch (Exception $e) {
             return false;
         }