X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Finstaller.php;h=ff7677dc7d86ba03ef06499d1946c7c5adddd5c0;hb=3326b7b850f538f0e3c2c7969c5e566e2a374ffb;hp=738eb80472d46a4bced35a4fb234ee3395a9853e;hpb=4ea396f8718648ef6b900ea2aa8a7cad9f14d721;p=quix0rs-gnu-social.git diff --git a/lib/installer.php b/lib/installer.php index 738eb80472..ff7677dc7d 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -133,10 +133,16 @@ abstract class Installer } // Check the subdirs used for file uploads - $fileSubdirs = array('avatar', 'background', 'file'); + $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: %s', $fileSubdir, $fileFullPath), sprintf('On your server, try this command: chmod a+w %s', $fileFullPath)); $pass = false; @@ -293,7 +299,10 @@ abstract class Installer } } - if (!$conn instanceof DB_common) { + if (!is_object($conn)) { + // No object at all + throw new Exception('Fatal error: conn is no object.'); + } elseif (!$conn instanceof DB_common) { // Is not the right instance throw new Exception('Cannot connect to database: ' . $conn->getMessage()); } @@ -518,7 +527,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; }