}
}
- 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;
}
}
// 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: <code>%s</code>', $fileSubdir, $fileFullPath),
sprintf('On your server, try this command: <code>chmod a+w %s</code>', $fileFullPath));
$pass = false;
$this->updateStatus("GNU social has been installed at $link");
$this->updateStatus(
- '<strong>DONE!</strong> You can visit your <a href="'.htmlspecialchars($link).'">new GNU social site</a> (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 <a href="https://gnu.io/social/resources/">mailing list or IRC.</a>. <a href="'.htmlspecialchars($link).'/doc/faq/">FAQ is found here</a>.'
+ '<strong>DONE!</strong> You can visit your <a href="'.htmlspecialchars($link).'">new GNU social site</a> (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 <a href="https://gnu.io/social/resources/">mailing list or IRC</a>. <a href="'.htmlspecialchars($link).'/doc/faq">FAQ is found here</a>.'
);
return true;