- $fileSubdirs = array('avatar', 'file');
- foreach ($fileSubdirs as $fileSubdir) {
- $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;
+ // TODO get another flag for this --skipFileSubdirCreation
+ if (!$this->skipConfig) {
+ define('GNUSOCIAL', true);
+ define('STATUSNET', true);
+ require_once INSTALLDIR . '/lib/language.php';
+ $_server=$this->server; $_path=$this->path; // We won't be using those so it's safe to do this small hack
+ require_once INSTALLDIR.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'default.php';
+ $fileSubdirs = [empty($this->avatarDir) ? $default['avatar']['dir'] : $this->avatarDir,
+ empty($this->fileDir) ? $default['attachments']['dir'] : $this->fileDir];
+ unset($default);
+ foreach ($fileSubdirs as $fileFullPath) {
+ 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;
+ }