diff --git a/admin_index.php b/admin_index.php index bd77fa7a..02bf93cd 100644 --- a/admin_index.php +++ b/admin_index.php @@ -182,7 +182,6 @@ if ($page == 'overview') { 'uptime' => $uptime ]; - // @fixme add all the overview/dashboard data from above UI::Twig()->addGlobal('userinfo', $userinfo); UI::TwigBuffer('user/index.html.twig', [ 'sysinfo' => $sysinfo, @@ -239,7 +238,8 @@ if ($page == 'overview') { )); } } else { - eval("echo \"" . \Froxlor\UI\Template::getTemplate("index/change_password") . "\";"); + UI::TwigBuffer('user/change_password.html.twig'); + UI::TwigOutputBuffer(); } } elseif ($page == 'change_language') { @@ -279,11 +279,11 @@ if ($page == 'overview') { $default_lang = $userinfo['def_language']; } - foreach ($languages as $language_file => $language_name) { - $language_options .= \Froxlor\UI\HTML::makeoption($language_name, $language_file, $default_lang, true); - } - - eval("echo \"" . \Froxlor\UI\Template::getTemplate("index/change_language") . "\";"); + UI::TwigBuffer('user/change_language.html.twig', [ + 'languages' => $languages, + 'default_lang' => $default_lang + ]); + UI::TwigOutputBuffer(); } } elseif ($page == 'change_theme') { @@ -322,11 +322,12 @@ if ($page == 'overview') { } $themes_avail = \Froxlor\UI\Template::getThemes(); - foreach ($themes_avail as $t => $d) { - $theme_options .= \Froxlor\UI\HTML::makeoption($d, $t, $default_theme, true); - } - eval("echo \"" . \Froxlor\UI\Template::getTemplate("index/change_theme") . "\";"); + UI::TwigBuffer('user/change_theme.html.twig', [ + 'themes' => $themes_avail, + 'default_theme' => $default_theme + ]); + UI::TwigOutputBuffer(); } } elseif ($page == 'send_error_report' && Settings::Get('system.allow_error_report_admin') == '1') { diff --git a/lib/Froxlor/UI/Response.php b/lib/Froxlor/UI/Response.php index 86e0e58a..6ef20d47 100644 --- a/lib/Froxlor/UI/Response.php +++ b/lib/Froxlor/UI/Response.php @@ -81,7 +81,7 @@ class Response */ public static function standard_error($errors = '', $replacer = '', $throw_exception = false) { - global $userinfo, $s, $header, $footer, $lng, $theme; + global $lng; $_SESSION['requestData'] = $_POST; $replacer = htmlentities($replacer); @@ -92,9 +92,9 @@ class Response ); } - $link = ''; + $link_ref = ''; if (isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']) !== false) { - $link = '' . $lng['panel']['back'] . ''; + $link_ref = htmlentities($_SERVER['HTTP_REFERER']); } $error = ''; @@ -119,8 +119,15 @@ class Response if ($throw_exception) { throw new \Exception(strip_tags($error), 400); } - eval("echo \"" . Template::getTemplate('misc/error', '1') . "\";"); - exit(); + \Froxlor\UI\Panel\UI::TwigBuffer('misc/alert.html.twig', [ + 'type' => 'danger', + 'btntype' => 'light', + 'heading' => $lng['error']['error'], + 'alert_msg' => $error, + 'redirect_link' => $link_ref + ]); + \Froxlor\UI\Panel\UI::TwigOutputBuffer(); + exit; } public static function dynamic_error($message) diff --git a/lib/init.php b/lib/init.php index 86eb6f60..28acb427 100644 --- a/lib/init.php +++ b/lib/init.php @@ -500,6 +500,10 @@ if ($page == '') { $page = 'overview'; } +UI::Twig()->addGlobal('action', $action); +UI::Twig()->addGlobal('page', $page); +UI::Twig()->addGlobal('s', $s); + /** * Initialize the mailingsystem */ diff --git a/templates/Froxlor/misc/alert.html.twig b/templates/Froxlor/misc/alert.html.twig new file mode 100644 index 00000000..00e4dba3 --- /dev/null +++ b/templates/Froxlor/misc/alert.html.twig @@ -0,0 +1,25 @@ +{% extends "Froxlor/userarea.html.twig" %} + +{% set body_class = "min-vh-100 d-flex align-items-center" %} + +{% block content %} + +{% endblock %} diff --git a/templates/Froxlor/user/change_language.html.twig b/templates/Froxlor/user/change_language.html.twig new file mode 100644 index 00000000..3f6405c0 --- /dev/null +++ b/templates/Froxlor/user/change_language.html.twig @@ -0,0 +1,34 @@ +{% extends "Froxlor/userarea.html.twig" %} + +{% block content %} +
+
+
+
+
+
{{ lng('menue.main.changelanguage') }}
+ +
+ + +
+
+ +
+ + + + +
+
+
+
+
+{% endblock %} diff --git a/templates/Froxlor/user/change_password.html.twig b/templates/Froxlor/user/change_password.html.twig new file mode 100644 index 00000000..9b8e8712 --- /dev/null +++ b/templates/Froxlor/user/change_password.html.twig @@ -0,0 +1,37 @@ +{% extends "Froxlor/userarea.html.twig" %} + +{% block content %} +
+
+
+
+
+
{{ lng('menue.main.changepassword') }}
+ +
+ + +
+
+ + +
+
+ + +
+
+ +
+ + + + +
+
+
+
+
+{% endblock %} diff --git a/templates/Froxlor/user/change_theme.html.twig b/templates/Froxlor/user/change_theme.html.twig new file mode 100644 index 00000000..8b6c124c --- /dev/null +++ b/templates/Froxlor/user/change_theme.html.twig @@ -0,0 +1,33 @@ +{% extends "Froxlor/userarea.html.twig" %} + +{% block content %} +
+
+
+
+
+
{{ lng('menue.main.changetheme') }}
+ +
+ + +
+
+ +
+ + + + +
+
+
+
+
+{% endblock %}