X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2Ffront%2Fcontroller%2Fadmin%2FConfigureController.php;h=eb26ef21f56daa2c2d0b6a1994e35eb4eab5e373;hb=53054b2bf6a919fd4ff9b44b6ad1986f21f488b6;hp=5a482d8e01f11c363e2feca5d8869a7059cdc0fb;hpb=8eac2e54882d8adae8cbb45386dca1b465242632;p=github%2Fshaarli%2FShaarli.git
diff --git a/application/front/controller/admin/ConfigureController.php b/application/front/controller/admin/ConfigureController.php
index 5a482d8e..eb26ef21 100644
--- a/application/front/controller/admin/ConfigureController.php
+++ b/application/front/controller/admin/ConfigureController.php
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Shaarli\Front\Controller\Admin;
use Shaarli\Languages;
+use Shaarli\Render\TemplatePage;
use Shaarli\Render\ThemeUtils;
use Shaarli\Thumbnailer;
use Slim\Http\Request;
@@ -19,7 +20,7 @@ use Throwable;
class ConfigureController extends ShaarliAdminController
{
/**
- * GET /configure - Displays the configuration page
+ * GET /admin/configure - Displays the configuration page
*/
public function index(Request $request, Response $response): Response
{
@@ -29,7 +30,7 @@ class ConfigureController extends ShaarliAdminController
'theme_available',
ThemeUtils::getThemes($this->container->conf->get('resource.raintpl_tpl'))
);
- $this->assignView('formatter_available', ['default', 'markdown']);
+ $this->assignView('formatter_available', ['default', 'markdown', 'markdownExtra']);
list($continents, $cities) = generateTimeZoneData(
timezone_identifiers_list(),
$this->container->conf->get('general.timezone')
@@ -50,13 +51,13 @@ class ConfigureController extends ShaarliAdminController
$this->assignView('languages', Languages::getAvailableLanguages());
$this->assignView('gd_enabled', extension_loaded('gd'));
$this->assignView('thumbnails_mode', $this->container->conf->get('thumbnails.mode', Thumbnailer::MODE_NONE));
- $this->assignView('pagetitle', t('Configure') .' - '. $this->container->conf->get('general.title', 'Shaarli'));
+ $this->assignView('pagetitle', t('Configure') . ' - ' . $this->container->conf->get('general.title', 'Shaarli'));
- return $response->write($this->render('configure'));
+ return $response->write($this->render(TemplatePage::CONFIGURE));
}
/**
- * POST /configure - Update Shaarli's configuration
+ * POST /admin/configure - Update Shaarli's configuration
*/
public function save(Request $request, Response $response): Response
{
@@ -94,13 +95,14 @@ class ConfigureController extends ShaarliAdminController
}
$thumbnailsMode = extension_loaded('gd') ? $request->getParam('enableThumbnails') : Thumbnailer::MODE_NONE;
- if ($thumbnailsMode !== Thumbnailer::MODE_NONE
+ 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. '
- .'Please synchronize them.'
- ));
+ $this->saveWarningMessage(
+ t('You have enabled or changed thumbnails mode.') .
+ '' . t('Please synchronize them.') . ''
+ );
}
$this->container->conf->set('thumbnails.mode', $thumbnailsMode);
@@ -109,12 +111,17 @@ class ConfigureController extends ShaarliAdminController
$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.'));
- return $response->withRedirect('./configure');
+ return $this->redirect($response, '/admin/configure');
}
}