Friendica-7112 - Missing basepath fix
This commit is contained in:
parent
34360ca46d
commit
076370631f
|
@ -149,7 +149,8 @@ class App
|
|||
*/
|
||||
public function getBasePath()
|
||||
{
|
||||
return $this->config->get('system', 'basepath');
|
||||
// Don't use the basepath of the config table for basepath (it should always be the config-file one)
|
||||
return $this->config->getCache()->get('system', 'basepath');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,6 +12,7 @@ use Friendica\Database\DBA;
|
|||
use Friendica\Database\DBStructure;
|
||||
use Friendica\Model\Register;
|
||||
use Friendica\Module\BaseAdminModule;
|
||||
use Friendica\Util\Config\ConfigFileLoader;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Network;
|
||||
|
||||
|
@ -73,6 +74,40 @@ class Summary extends BaseAdminModule
|
|||
$well_known, $well_known, $a->getBaseURL() . '/help/Install');
|
||||
}
|
||||
|
||||
// check legacy basepath settings
|
||||
$configLoader = new ConfigFileLoader($a->getBasePath(), $a->getMode());
|
||||
$configCache = new Config\Cache\ConfigCache();
|
||||
$configLoader->setupCache($configCache);
|
||||
$confBasepath = $configCache->get('system', 'basepath');
|
||||
$currBasepath = $a->getConfig()->get('system', 'basepath');
|
||||
if ($confBasepath !== $currBasepath || !is_dir($currBasepath)) {
|
||||
if (is_dir($confBasepath) && Config::set('system', 'basepath', $confBasepath)) {
|
||||
$a->getLogger()->info('Friendica\'s system.basepath was updated successfully.', [
|
||||
'from' => $currBasepath,
|
||||
'to' => $confBasepath,
|
||||
]);
|
||||
$warningtext[] = L10n::t('Friendica\'s system.basepath was updated from \'%s\' to \'%s\'. Please remove the system.basepath from your db to avoid differences.',
|
||||
$currBasepath,
|
||||
$confBasepath);
|
||||
} elseif (!is_dir($currBasepath)) {
|
||||
$a->getLogger()->alert('Friendica\'s system.basepath is wrong.', [
|
||||
'from' => $currBasepath,
|
||||
'to' => $confBasepath,
|
||||
]);
|
||||
$warningtext[] = L10n::t('Friendica\'s current system.basepath \'%s\' is wrong and the config file \'%s\' isn\'t used.',
|
||||
$currBasepath,
|
||||
$confBasepath);
|
||||
} else {
|
||||
$a->getLogger()->alert('Friendica\'s system.basepath is wrong.', [
|
||||
'from' => $currBasepath,
|
||||
'to' => $confBasepath,
|
||||
]);
|
||||
$warningtext[] = L10n::t('Friendica\'s current system.basepath \'%s\' is not equal to the config file \'%s\'. Please fix your configuration.',
|
||||
$currBasepath,
|
||||
$confBasepath);
|
||||
}
|
||||
}
|
||||
|
||||
$accounts = [
|
||||
[L10n::t('Normal Account'), 0],
|
||||
[L10n::t('Automatic Follower Account'), 0],
|
||||
|
|
Loading…
Reference in a new issue