diff options
| author | Greg Roach <fisharebest@gmail.com> | 2015-01-31 20:53:50 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2015-01-31 20:53:50 +0000 |
| commit | dc16644d0c9576ade1c540a5ea3552f6739af49f (patch) | |
| tree | daa26c988da60ec6585fffbc588a63222c1007ca /library | |
| parent | 70a771297845d0b0b03635c2430fdcf474d95aaf (diff) | |
| download | webtrees-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.php | 10 |
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()), '&'), '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; |
