X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Finstaller.php;h=ff7677dc7d86ba03ef06499d1946c7c5adddd5c0;hb=3326b7b850f538f0e3c2c7969c5e566e2a374ffb;hp=eb7c5c8690160a77f0c52c0b7a36a512b7731cd8;hpb=19e7cf5f4a743268defc385dd546e39c6f3e29e8;p=quix0rs-gnu-social.git diff --git a/lib/installer.php b/lib/installer.php index eb7c5c8690..ff7677dc7d 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -96,8 +96,8 @@ abstract class Installer } } - if (version_compare(PHP_VERSION, '5.3.2', '<')) { - $this->warning('Require PHP version 5.3.2 or greater.'); + if (version_compare(PHP_VERSION, '5.5.0', '<')) { + $this->warning('Require PHP version 5.5.0 or greater.'); $pass = false; } @@ -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; } @@ -622,7 +631,7 @@ abstract class Installer $this->updateStatus("GNU social has been installed at $link"); $this->updateStatus( - 'DONE! You can visit your new GNU social site (log in as "'.htmlspecialchars($this->adminNick).'"). If this is your first GNU social install, make your experience the best possible by visiting our resource site to join the mailing list and good documentation.' + 'DONE! You can visit your new GNU social site (log in as "'.htmlspecialchars($this->adminNick).'"). If this is your first GNU social install, make your experience the best possible by visiting our resource site to join the mailing list or IRC. FAQ is found here.' ); return true;