use Shaarli\Config\Exception\MissingFieldConfigException;
use Shaarli\Config\Exception\UnauthorizedConfigException;
+use Shaarli\Thumbnailer;
/**
* Class ConfigManager
$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: ');
// 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');
$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;
} 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());
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);
$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.'));
$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'));
}
{
// 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);
}
* Class TagController
*
* Slim controller handle tags.
- *
- * TODO: check redirections with new helper
*/
class TagController extends ShaarliVisitorController
{
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>'
);
}
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;
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));
->method('setSessionParameter')
->with(
SessionManager::KEY_ERROR_MESSAGES,
- ['ERROR while saving plugin configuration: ' . PHP_EOL . $message]
+ ['Error while saving plugin configuration: ' . PHP_EOL . $message]
)
;
'updates.check_updates' => true,
'api.enabled' => true,
'api.secret' => '_NOT_EMPTY',
+ 'general.header_link' => '/subfolder',
];
$request = $this->createMock(Request::class);
{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}