From e2921472f8678228eea4d9d744d85725ca16016d Mon Sep 17 00:00:00 2001 From: Sam Georges Date: Wed, 6 Aug 2014 18:33:11 +1000 Subject: [PATCH] Create allocated Settings category constants for translation --- modules/backend/ServiceProvider.php | 8 ++-- modules/cms/ServiceProvider.php | 2 +- modules/system/ServiceProvider.php | 40 +++++++++---------- modules/system/classes/SettingsManager.php | 26 ++++++++++++ modules/system/lang/en/lang.php | 14 +++++++ .../system/partials/_settings_menu_items.htm | 6 +-- 6 files changed, 67 insertions(+), 29 deletions(-) diff --git a/modules/backend/ServiceProvider.php b/modules/backend/ServiceProvider.php index 2c6f0f0ea..5bed5d86b 100644 --- a/modules/backend/ServiceProvider.php +++ b/modules/backend/ServiceProvider.php @@ -79,7 +79,7 @@ class ServiceProvider extends ModuleServiceProvider 'editor' => [ 'label' => 'backend::lang.editor.menu_label', 'description' => 'backend::lang.editor.menu_description', - 'category' => 'My Settings', + 'category' => SettingsManager::CATEGORY_MYSETTINGS, 'icon' => 'icon-code', 'url' => Backend::URL('backend/editorpreferences'), 'order' => 600, @@ -88,7 +88,7 @@ class ServiceProvider extends ModuleServiceProvider 'backend_preferences' => [ 'label' => 'backend::lang.backend_preferences.menu_label', 'description' => 'backend::lang.backend_preferences.menu_description', - 'category' => 'My Settings', + 'category' => SettingsManager::CATEGORY_MYSETTINGS, 'icon' => 'icon-laptop', 'class' => 'Backend\Models\BackendPreferences', 'order' => 500, @@ -97,7 +97,7 @@ class ServiceProvider extends ModuleServiceProvider 'myaccount' => [ 'label' => 'backend::lang.myaccount.menu_label', 'description' => 'backend::lang.myaccount.menu_description', - 'category' => 'My Settings', + 'category' => SettingsManager::CATEGORY_MYSETTINGS, 'icon' => 'icon-user', 'url' => Backend::URL('backend/users/myaccount'), 'order' => 400, @@ -107,7 +107,7 @@ class ServiceProvider extends ModuleServiceProvider 'access_logs' => [ 'label' => 'backend::lang.access_log.menu_label', 'description' => 'backend::lang.access_log.menu_description', - 'category' => 'Logs', + 'category' => SettingsManager::CATEGORY_LOGS, 'icon' => 'icon-lock', 'url' => Backend::url('backend/accesslogs'), 'permissions' => ['backend.access_admin_logs'], diff --git a/modules/cms/ServiceProvider.php b/modules/cms/ServiceProvider.php index fede08556..e162910c0 100644 --- a/modules/cms/ServiceProvider.php +++ b/modules/cms/ServiceProvider.php @@ -109,7 +109,7 @@ class ServiceProvider extends ModuleServiceProvider 'theme' => [ 'label' => 'cms::lang.theme.settings_menu', 'description' => 'cms::lang.theme.settings_menu_description', - 'category' => 'CMS', + 'category' => SettingsManager::CATEGORY_CMS, 'icon' => 'icon-picture-o', 'url' => Backend::URL('cms/themes'), 'order' => 200 diff --git a/modules/system/ServiceProvider.php b/modules/system/ServiceProvider.php index 97a4761dd..ff263c730 100644 --- a/modules/system/ServiceProvider.php +++ b/modules/system/ServiceProvider.php @@ -214,26 +214,10 @@ class ServiceProvider extends ModuleServiceProvider */ SettingsManager::instance()->registerCallback(function($manager){ $manager->registerSettingItems('October.System', [ - 'mail_settings' => [ - 'label' => 'system::lang.mail.menu_label', - 'description' => 'system::lang.mail.menu_description', - 'category' => 'System', - 'icon' => 'icon-envelope', - 'class' => 'System\Models\MailSettings', - 'order' => 400, - ], - 'mail_templates' => [ - 'label' => 'system::lang.mail_templates.menu_label', - 'description' => 'system::lang.mail_templates.menu_description', - 'category' => 'System', - 'icon' => 'icon-envelope-square', - 'url' => Backend::url('system/mailtemplates'), - 'order' => 500, - ], 'administrators' => [ 'label' => 'backend::lang.user.menu_label', 'description' => 'backend::lang.user.menu_description', - 'category' => 'System', + 'category' => SettingsManager::CATEGORY_SYSTEM, 'icon' => 'icon-users', 'url' => Backend::url('backend/users'), 'permissions' => ['backend.manage_users'], @@ -242,7 +226,7 @@ class ServiceProvider extends ModuleServiceProvider 'updates' => [ 'label' => 'system::lang.updates.menu_label', 'description' => 'system::lang.updates.menu_description', - 'category' => 'System', + 'category' => SettingsManager::CATEGORY_SYSTEM, 'icon' => 'icon-cloud-download', 'url' => Backend::url('system/updates'), 'permissions' => ['system.manage_updates'], @@ -251,7 +235,7 @@ class ServiceProvider extends ModuleServiceProvider 'event_logs' => [ 'label' => 'system::lang.event_log.menu_label', 'description' => 'system::lang.event_log.menu_description', - 'category' => 'Logs', + 'category' => SettingsManager::CATEGORY_LOGS, 'icon' => 'icon-exclamation-triangle', 'url' => Backend::url('system/eventlogs'), 'permissions' => ['system.access_event_logs'], @@ -260,12 +244,28 @@ class ServiceProvider extends ModuleServiceProvider 'request_logs' => [ 'label' => 'system::lang.request_log.menu_label', 'description' => 'system::lang.request_log.menu_description', - 'category' => 'Logs', + 'category' => SettingsManager::CATEGORY_LOGS, 'icon' => 'icon-file-o', 'url' => Backend::url('system/requestlogs'), 'permissions' => ['system.access_request_logs'], 'order' => 800 ], + 'mail_settings' => [ + 'label' => 'system::lang.mail.menu_label', + 'description' => 'system::lang.mail.menu_description', + 'category' => SettingsManager::CATEGORY_MAIL, + 'icon' => 'icon-envelope', + 'class' => 'System\Models\MailSettings', + 'order' => 400, + ], + 'mail_templates' => [ + 'label' => 'system::lang.mail_templates.menu_label', + 'description' => 'system::lang.mail_templates.menu_description', + 'category' => SettingsManager::CATEGORY_MAIL, + 'icon' => 'icon-envelope-square', + 'url' => Backend::url('system/mailtemplates'), + 'order' => 500, + ], ]); }); diff --git a/modules/system/classes/SettingsManager.php b/modules/system/classes/SettingsManager.php index 30459ffcb..d8517c7d8 100644 --- a/modules/system/classes/SettingsManager.php +++ b/modules/system/classes/SettingsManager.php @@ -14,6 +14,22 @@ class SettingsManager { use \October\Rain\Support\Traits\Singleton; + /** + * Allocated category types + */ + const CATEGORY_CMS = 'system::lang.system.categories.cms'; + const CATEGORY_MISC = 'system::lang.system.categories.misc'; + const CATEGORY_MAIL = 'system::lang.system.categories.mail'; + const CATEGORY_LOGS = 'system::lang.system.categories.logs'; + const CATEGORY_SHOP = 'system::lang.system.categories.shop'; + const CATEGORY_TEAM = 'system::lang.system.categories.team'; + const CATEGORY_USERS = 'system::lang.system.categories.users'; + const CATEGORY_SOCIAL = 'system::lang.system.categories.social'; + const CATEGORY_SYSTEM = 'system::lang.system.categories.system'; + const CATEGORY_EVENTS = 'system::lang.system.categories.events'; + const CATEGORY_CUSTOMERS = 'system::lang.system.categories.customers'; + const CATEGORY_MYSETTINGS = 'system::lang.system.categories.my_settings'; + /** * @var array Cache of registration callbacks. */ @@ -29,9 +45,19 @@ class SettingsManager */ protected $allItems; + /** + * @var string Active plugin or module owner. + */ protected $contextOwner; + + /** + * @var string Active item code. + */ protected $contextItemCode; + /** + * @var array Settings item defaults. + */ static $itemDefaults = [ 'code' => null, 'label' => null, diff --git a/modules/system/lang/en/lang.php b/modules/system/lang/en/lang.php index 142661ed3..c2f2ffc65 100644 --- a/modules/system/lang/en/lang.php +++ b/modules/system/lang/en/lang.php @@ -24,6 +24,20 @@ return [ 'system' => [ 'name' => 'System', 'menu_label' => 'System', + 'categories' => [ + 'cms' => 'CMS', + 'misc' => 'Misc', + 'logs' => 'Logs', + 'mail' => 'Mail', + 'shop' => 'Shop', + 'team' => 'Team', + 'users' => 'Users', + 'system' => 'System', + 'social' => 'Social', + 'events' => 'Events', + 'customers' => 'Customers', + 'my_settings' => 'My Settings', + ], ], 'plugin' => [ 'unnamed' => 'Unnamed plugin', diff --git a/modules/system/partials/_settings_menu_items.htm b/modules/system/partials/_settings_menu_items.htm index 12f05dda1..2ab36a167 100644 --- a/modules/system/partials/_settings_menu_items.htm +++ b/modules/system/partials/_settings_menu_items.htm @@ -1,7 +1,7 @@ getContext(); - $collapsedGroups = explode('|', + $collapsedGroups = explode('|', isset($_COOKIE['sidenav_treegroupStatus']) ? $_COOKIE['sidenav_treegroupStatus'] : null ); @@ -12,7 +12,7 @@ ?>
  • >
    -

    +

    -
  • \ No newline at end of file