diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/helper/internationalization_helper.php | 43 | ||||
-rw-r--r-- | includes/pages/guest_login.php | 2 | ||||
-rw-r--r-- | includes/sys_menu.php | 54 |
3 files changed, 66 insertions, 33 deletions
diff --git a/includes/helper/internationalization_helper.php b/includes/helper/internationalization_helper.php new file mode 100644 index 00000000..ae88eb21 --- /dev/null +++ b/includes/helper/internationalization_helper.php @@ -0,0 +1,43 @@ +<?php +$locales = array( + 'de_DE.UTF-8' => "Deutsch", + 'en_US.UTF-8' => "English" +); + +$default_locale = 'en_US.UTF-8'; + +/** + * Initializes gettext for internationalization and updates the sessions locale to use for translation. + */ +function gettext_init() { + global $locales, $default_locale; + + if (isset($_REQUEST['set_locale']) && in_array($_REQUEST['set_locale'], array_keys($locales))) + $_SESSION['locale'] = $_REQUEST['set_locale']; + elseif (! isset($_SESSION['locale'])) + $_SESSION['locale'] = $default_locale; + + putenv('LC_ALL=' . $_SESSION['locale']); + setlocale(LC_ALL, $_SESSION['locale']); + bindtextdomain('default', '../locale'); + bind_textdomain_codeset('default', 'UTF-8'); + textdomain('default'); +} + +/** + * Renders language selection. + * + * @return string + */ +function make_langselect() { + global $locales; + $URL = $_SERVER["REQUEST_URI"] . (strpos($_SERVER["REQUEST_URI"], "?") > 0 ? '&' : '?') . "set_locale="; + + $html = '<p class="content">'; + foreach ($locales as $locale => $name) + $html .= '<a class="sprache" href="' . htmlspecialchars($URL) . $locale . '"><img src="pic/flag/' . $locale . '.png" alt="' . $name . '" title="' . $name . '"></a>'; + $html .= '</p>'; + return '<nav class="container"><h4>' . _("Language") . '</h4>' . $html . '</nav>'; +} + +?>
\ No newline at end of file diff --git a/includes/pages/guest_login.php b/includes/pages/guest_login.php index bdd98d33..8c77cce0 100644 --- a/includes/pages/guest_login.php +++ b/includes/pages/guest_login.php @@ -9,7 +9,7 @@ function guest_register() { $nick = ""; $lastname = ""; $prename = ""; - $age = 23; + $age = ""; $tel = ""; $dect = ""; $mobile = ""; diff --git a/includes/sys_menu.php b/includes/sys_menu.php index f2611397..805888e2 100644 --- a/includes/sys_menu.php +++ b/includes/sys_menu.php @@ -13,24 +13,24 @@ function page_link_to_absolute($page) { */ function header_toolbar() { global $p, $privileges, $user; - + $toolbar_items = array(); - - if(in_array('register', $privileges)) + + if (in_array('register', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('register'), 'register', "Register", $p == 'register'); - - if(in_array('user_myshifts', $privileges)) + + if (in_array('user_myshifts', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('user_myshifts'), 'engel', $user['Nick'], $p == 'user_myshifts'); - - if(in_array('user_settings', $privileges)) + + if (in_array('user_settings', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('user_settings'), 'settings', "Settings", $p == 'user_settings'); - - if(in_array('login', $privileges)) + + if (in_array('login', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('login'), 'login', "Login", $p == 'login'); - - if(in_array('logout', $privileges)) + + if (in_array('logout', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('logout'), 'logout', "Logout", $p == 'logout'); - + return toolbar($toolbar_items); } @@ -38,11 +38,11 @@ function make_navigation() { global $p; global $privileges; $menu = ""; - + $specials = array( - "faq" + "faq" ); - + $pages = array( "news", "user_meetings", @@ -65,28 +65,28 @@ function make_navigation() { "admin_faq", "admin_language", "admin_import", - "admin_log" + "admin_log" ); - + foreach ($pages as $page) if (in_array($page, $privileges) || in_array($page, $specials)) $menu .= '<li' . ($page == $p ? ' class="selected"' : '') . '><a href="' . page_link_to($page) . '">' . Get_Text($page) . '</a></li>'; - + return '<nav><ul>' . $menu . '</ul></nav>'; } function make_navigation_for($name, $pages) { global $privileges, $p; - + $specials = array( - "faq" + "faq" ); - + $menu = ""; foreach ($pages as $page) if (in_array($page, $privileges) || in_array($page, $specials)) $menu .= '<li' . ($page == $p ? ' class="selected"' : '') . '><a href="' . page_link_to($page) . '">' . Get_Text($page) . '</a></li>'; - + if ($menu != "") $menu = '<nav class="container"><h4>' . $name . '</h4><ul class="content">' . $menu . '</ul></nav>'; return $menu; @@ -96,14 +96,4 @@ function make_menu() { return make_navigation() . make_langselect(); } -function make_langselect() { - if (strpos($_SERVER["REQUEST_URI"], "?") > 0) - $URL = $_SERVER["REQUEST_URI"] . "&SetLanguage="; - else - $URL = $_SERVER["REQUEST_URI"] . "?SetLanguage="; - - $html = '<p class="content"><a class="sprache" href="' . htmlspecialchars($URL) . 'DE"><img src="pic/flag/de.png" alt="DE" title="Deutsch"></a>'; - $html .= '<a class="sprache" href="' . htmlspecialchars($URL) . 'EN"><img src="pic/flag/en.png" alt="EN" title="English"></a></p>'; - return '<nav class="container"><h4>' . Get_Text("Sprache") . '</h4>' . $html . '</nav>'; -} ?> |