Multiple small fixes

This commit is contained in:
ArthurHoaro 2020-07-23 16:41:32 +02:00 committed by ArthurHoaro
parent fabff3835d
commit 3ee8351e43
11 changed files with 26 additions and 26 deletions

View file

@ -3,6 +3,7 @@
use Shaarli\Config\Exception\MissingFieldConfigException;
use Shaarli\Config\Exception\UnauthorizedConfigException;
use Shaarli\Thumbnailer;
/**
* Class ConfigManager
@ -361,7 +362,7 @@ protected function setDefaultValues()
$this->setEmpty('security.open_shaarli', false);
$this->setEmpty('security.allowed_protocols', ['ftp', 'ftps', 'magnet']);
$this->setEmpty('general.header_link', '?');
$this->setEmpty('general.header_link', '/');
$this->setEmpty('general.links_per_page', 20);
$this->setEmpty('general.enabled_plugins', self::$DEFAULT_PLUGINS);
$this->setEmpty('general.default_note_title', 'Note: ');
@ -381,6 +382,7 @@ protected function setDefaultValues()
// default state of the 'remember me' checkbox of the login form
$this->setEmpty('privacy.remember_user_default', true);
$this->setEmpty('thumbnails.mode', Thumbnailer::MODE_ALL);
$this->setEmpty('thumbnails.width', '125');
$this->setEmpty('thumbnails.height', '90');

View file

@ -99,7 +99,6 @@ public function build(): ShaarliContainer
$container['pluginManager'] = function (ShaarliContainer $container): PluginManager {
$pluginManager = new PluginManager($container->conf);
// FIXME! Configuration is already injected
$pluginManager->load($container->conf->get('general.enabled_plugins'));
return $pluginManager;

View file

@ -56,7 +56,7 @@ public function __invoke(Request $request, Response $response, callable $next):
} catch (ShaarliFrontException $e) {
// Possible functional error
$this->container->pageBuilder->reset();
$this->container->pageBuilder->assign('message', $e->getMessage());
$this->container->pageBuilder->assign('message', nl2br($e->getMessage()));
$response = $response->withStatus($e->getCode());

View file

@ -98,10 +98,10 @@ public function save(Request $request, Response $response): Response
if ($thumbnailsMode !== Thumbnailer::MODE_NONE
&& $thumbnailsMode !== $this->container->conf->get('thumbnails.mode', Thumbnailer::MODE_NONE)
) {
$this->saveWarningMessage(t(
'You have enabled or changed thumbnails mode. '
.'<a href="'. $this->container->basePath .'/admin/thumbnails">Please synchronize them</a>.'
));
$this->saveWarningMessage(
t('You have enabled or changed thumbnails mode.') .
'<a href="'. $this->container->basePath .'/admin/thumbnails">' . t('Please synchronize them.') .'</a>'
);
}
$this->container->conf->set('thumbnails.mode', $thumbnailsMode);
@ -110,8 +110,13 @@ public function save(Request $request, Response $response): Response
$this->container->history->updateSettings();
$this->container->pageCacheManager->invalidateCaches();
} catch (Throwable $e) {
// TODO: translation + stacktrace
$this->saveErrorMessage('ERROR while writing config file after configuration update.');
$this->assignView('message', t('Error while writing config file after configuration update.'));
if ($this->container->conf->get('dev.debug', false)) {
$this->assignView('stacktrace', $e->getMessage() . PHP_EOL . $e->getTraceAsString());
}
return $response->write($this->render('error'));
}
$this->saveSuccessMessage(t('Configuration was saved.'));

View file

@ -128,13 +128,14 @@ public function save(Request $request, Response $response): Response
$this->container->conf->get('credentials.salt')
)
);
$this->container->conf->set('general.header_link', $this->container->basePath);
try {
// Everything is ok, let's create config file.
$this->container->conf->write($this->container->loginManager->isLoggedIn());
} catch (\Exception $e) {
$this->assignView('message', $e->getMessage());
$this->assignView('stacktrace', $e->getTraceAsString());
$this->assignView('message', t('Error while writing config file after configuration update.'));
$this->assignView('stacktrace', $e->getMessage() . PHP_EOL . $e->getTraceAsString());
return $response->write($this->render('error'));
}
@ -155,18 +156,14 @@ protected function checkPermissions(): bool
{
// Ensure Shaarli has proper access to its resources
$errors = ApplicationUtils::checkResourcePermissions($this->container->conf);
if (empty($errors)) {
return true;
}
// FIXME! Do not insert HTML here.
$message = '<p>'. t('Insufficient permissions:') .'</p><ul>';
$message = t('Insufficient permissions:') . PHP_EOL;
foreach ($errors as $error) {
$message .= '<li>'.$error.'</li>';
$message .= PHP_EOL . $error;
}
$message .= '</ul>';
throw new ResourcePermissionException($message);
}

View file

@ -11,8 +11,6 @@
* Class TagController
*
* Slim controller handle tags.
*
* TODO: check redirections with new helper
*/
class TagController extends ShaarliVisitorController
{

View file

@ -534,7 +534,8 @@ public function updateMethodWebThumbnailer()
if ($thumbnailsEnabled) {
$this->session['warnings'][] = t(
'You have enabled or changed thumbnails mode. <a href="./admin/thumbnails">Please synchronize them</a>.'
t('You have enabled or changed thumbnails mode.') .
'<a href="./admin/thumbnails">' . t('Please synchronize them.') . '</a>'
);
}

View file

@ -28,7 +28,6 @@
use Shaarli\Config\ConfigManager;
use Shaarli\Container\ContainerBuilder;
use Shaarli\Languages;
use Shaarli\Plugin\PluginManager;
use Shaarli\Security\CookieManager;
use Shaarli\Security\LoginManager;
use Shaarli\Security\SessionManager;
@ -65,9 +64,6 @@
RainTPL::$tpl_dir = $conf->get('resource.raintpl_tpl').'/'.$conf->get('resource.theme').'/'; // template directory
RainTPL::$cache_dir = $conf->get('resource.raintpl_tmp'); // cache directory
$pluginManager = new PluginManager($conf);
$pluginManager->load($conf->get('general.enabled_plugins'));
date_default_timezone_set($conf->get('general.timezone', 'UTC'));
$loginManager->checkLoginState(client_ip_id($_SERVER));

View file

@ -162,7 +162,7 @@ public function testSaveWithError(): void
->method('setSessionParameter')
->with(
SessionManager::KEY_ERROR_MESSAGES,
['ERROR while saving plugin configuration: ' . PHP_EOL . $message]
['Error while saving plugin configuration: ' . PHP_EOL . $message]
)
;

View file

@ -189,6 +189,7 @@ public function testSaveInstallValid(): void
'updates.check_updates' => true,
'api.enabled' => true,
'api.secret' => '_NOT_EMPTY',
'general.header_link' => '/subfolder',
];
$request = $this->createMock(Request::class);

View file

@ -9,7 +9,8 @@
{if="count($linksToDisplay)===0 && $is_logged_in"}
<div class="pure-g pure-alert pure-alert-warning page-single-alert">
<div class="pure-u-1 center">
{'There is no cached thumbnail. Try to <a href="{$base_path}/admin/thumbnails">synchronize them</a>.'|t}
{'There is no cached thumbnail.'|t}
<a href="{$base_path}/admin/thumbnails">{'Try to synchronize them.'|t}</a>
</div>
</div>
{/if}