summaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2015-01-31 20:53:50 +0000
committerGreg Roach <fisharebest@gmail.com>2015-01-31 20:53:50 +0000
commitdc16644d0c9576ade1c540a5ea3552f6739af49f (patch)
treedaa26c988da60ec6585fffbc588a63222c1007ca /library
parent70a771297845d0b0b03635c2430fdcf474d95aaf (diff)
downloadwebtrees-dc16644d0c9576ade1c540a5ea3552f6739af49f.tar.gz
webtrees-dc16644d0c9576ade1c540a5ea3552f6739af49f.tar.bz2
webtrees-dc16644d0c9576ade1c540a5ea3552f6739af49f.zip
#1416735 - The themes are not sorted in page languages
Diffstat (limited to 'library')
-rw-r--r--library/WT/Theme/BaseTheme.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/library/WT/Theme/BaseTheme.php b/library/WT/Theme/BaseTheme.php
index 7b19a77e57..5d066ca8b0 100644
--- a/library/WT/Theme/BaseTheme.php
+++ b/library/WT/Theme/BaseTheme.php
@@ -1591,15 +1591,21 @@ abstract class BaseTheme {
*/
public function menuThemes() {
if ($this->tree && !$this->isSearchEngine() && WT_Site::getPreference('ALLOW_USER_THEMES') && $this->tree->getPreference('ALLOW_THEME_DROPDOWN')) {
- $menu = new WT_Menu(WT_I18N::translate('Theme'), '#', 'menu-theme');
+ $submenus = array();
foreach (Theme::installedThemes() as $theme) {
$submenu = new WT_Menu($theme->themeName(), get_query_url(array('theme' => $theme->themeId()), '&amp;'), 'menu-theme-' . $theme->themeId());
if ($theme === $this) {
$submenu->addClass('', '', 'active');
}
- $menu->addSubmenu($submenu);
+ $submenus[] = $submenu;
}
+ usort($submenus, function(WT_Menu $x, WT_Menu $y) {
+ return WT_I18N::strcasecmp($x->getLabel(), $y->getLabel());
+ });
+
+ $menu = new WT_Menu(WT_I18N::translate('Theme'), '#', 'menu-theme', '', $submenus);
+
return $menu;
} else {
return null;