Add default values for avatar and attachment directories in web installer
This commit is contained in:
parent
b3c3af1ef6
commit
ddc3cecfc0
@ -46,6 +46,8 @@ abstract class Installer
|
|||||||
public $sitename, $server, $path, $fancy, $siteProfile, $ssl;
|
public $sitename, $server, $path, $fancy, $siteProfile, $ssl;
|
||||||
/** DB info */
|
/** DB info */
|
||||||
public $host, $database, $dbtype, $username, $password, $db;
|
public $host, $database, $dbtype, $username, $password, $db;
|
||||||
|
/** Storage info */
|
||||||
|
public $avatarDir, $fileDir;
|
||||||
/** Administrator info */
|
/** Administrator info */
|
||||||
public $adminNick, $adminPass, $adminEmail;
|
public $adminNick, $adminPass, $adminEmail;
|
||||||
/** Should we skip writing the configuration file? */
|
/** Should we skip writing the configuration file? */
|
||||||
@ -135,22 +137,28 @@ abstract class Installer
|
|||||||
// Check the subdirs used for file uploads
|
// Check the subdirs used for file uploads
|
||||||
// TODO get another flag for this --skipFileSubdirCreation
|
// TODO get another flag for this --skipFileSubdirCreation
|
||||||
if (!$this->skipConfig) {
|
if (!$this->skipConfig) {
|
||||||
$fileSubdirs = array($this->avatarDir, $this->fileDir);
|
define('GNUSOCIAL', true);
|
||||||
foreach ($fileSubdirs as $fileSubdir) {
|
define('STATUSNET', true);
|
||||||
$fileFullPath = INSTALLDIR."/$fileSubdir";
|
require_once INSTALLDIR . '/lib/language.php';
|
||||||
if (!file_exists($fileFullPath)) {
|
$_server=$this->server; $_path=$this->path; // We won't be using those so it's safe to do this small hack
|
||||||
$pass = $pass && mkdir($fileFullPath);
|
require_once INSTALLDIR.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'default.php';
|
||||||
} elseif (!is_dir($fileFullPath)) {
|
$fileSubdirs = [empty($this->avatarDir) ? $default['avatar']['dir'] : $this->avatarDir,
|
||||||
$this->warning(sprintf('GNU social expected a directory but found something else on this path: %s', $fileFullPath),
|
empty($this->fileDir) ? $default['attachments']['dir'] : $this->fileDir];
|
||||||
'Either make sure it goes to a directory or remove it and a directory will be created.');
|
unset($default);
|
||||||
$pass = false;
|
foreach ($fileSubdirs as $fileFullPath) {
|
||||||
} elseif (!is_writable($fileFullPath)) {
|
if (!file_exists($fileFullPath)) {
|
||||||
$this->warning(sprintf('Cannot write to %s directory: <code>%s</code>', $fileSubdir, $fileFullPath),
|
$pass = $pass && mkdir($fileFullPath);
|
||||||
sprintf('On your server, try this command: <code>chmod a+w %s</code>', $fileFullPath));
|
} elseif (!is_dir($fileFullPath)) {
|
||||||
$pass = false;
|
$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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return $pass;
|
return $pass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user