Catch errors

This commit is contained in:
Andreas Gohr
2023-08-23 17:08:50 +02:00
parent 6668f27c88
commit b83cea8ccb
2 changed files with 24 additions and 17 deletions

View File

@ -3,6 +3,7 @@
$lang['pages'] = 'Gallery Pages:'; $lang['pages'] = 'Gallery Pages:';
$lang['js']['addgal'] = 'Add namespace as gallery'; $lang['js']['addgal'] = 'Add namespace as gallery';
$lang['nothingfound'] = 'No images found.'; $lang['nothingfound'] = 'No images found.';
$lang['fail'] = 'Failed to load gallery';
$lang['js']['label_toolbar_button'] = 'Insert Gallery'; $lang['js']['label_toolbar_button'] = 'Insert Gallery';

View File

@ -4,9 +4,9 @@ use dokuwiki\File\PageResolver;
use dokuwiki\plugin\gallery\classes\BasicFormatter; use dokuwiki\plugin\gallery\classes\BasicFormatter;
use dokuwiki\plugin\gallery\classes\FeedGallery; use dokuwiki\plugin\gallery\classes\FeedGallery;
use dokuwiki\plugin\gallery\classes\ListGallery; use dokuwiki\plugin\gallery\classes\ListGallery;
use dokuwiki\plugin\gallery\classes\XHTMLFormatter;
use dokuwiki\plugin\gallery\classes\NamespaceGallery; use dokuwiki\plugin\gallery\classes\NamespaceGallery;
use dokuwiki\plugin\gallery\classes\Options; use dokuwiki\plugin\gallery\classes\Options;
use dokuwiki\plugin\gallery\classes\XHTMLFormatter;
/** /**
* Embed an image gallery * Embed an image gallery
@ -81,6 +81,8 @@ class syntax_plugin_gallery_main extends DokuWiki_Syntax_Plugin
{ {
[$src, $options] = $data; [$src, $options] = $data;
try {
if (is_array($src)) { if (is_array($src)) {
$gallery = new ListGallery($src, $options); $gallery = new ListGallery($src, $options);
} elseif (preg_match('/^https?:\/\//i', $src)) { } elseif (preg_match('/^https?:\/\//i', $src)) {
@ -99,6 +101,10 @@ class syntax_plugin_gallery_main extends DokuWiki_Syntax_Plugin
$formatter = new BasicFormatter($R, $options); $formatter = new BasicFormatter($R, $options);
} }
$formatter->render($gallery); $formatter->render($gallery);
} catch (Exception $e) {
msg(hsc($e->getMessage()), -1);
$R->cdata($this->getLang('fail'));
}
return true; return true;
} }
} }