2014-05-07 17:52:13 +10:00
|
|
|
<?php namespace Backend;
|
|
|
|
|
2014-05-14 23:24:20 +10:00
|
|
|
use App;
|
|
|
|
use Lang;
|
|
|
|
use Backend;
|
|
|
|
use BackendMenu;
|
|
|
|
use BackendAuth;
|
|
|
|
use Backend\Classes\WidgetManager;
|
2014-05-07 17:52:13 +10:00
|
|
|
use October\Rain\Support\ModuleServiceProvider;
|
2014-07-04 18:47:46 +10:00
|
|
|
use System\Models\MailTemplate;
|
2014-06-10 19:30:06 +10:00
|
|
|
use System\Classes\SettingsManager;
|
2014-05-07 17:52:13 +10:00
|
|
|
|
|
|
|
class ServiceProvider extends ModuleServiceProvider
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Register the service provider.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function register()
|
|
|
|
{
|
|
|
|
parent::register('backend');
|
2014-05-14 23:24:20 +10:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Register widgets
|
|
|
|
*/
|
|
|
|
WidgetManager::instance()->registerFormWidgets(function($manager){
|
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\CodeEditor', [
|
|
|
|
'label' => 'Code editor',
|
|
|
|
'alias' => 'codeeditor'
|
|
|
|
]);
|
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\RichEditor', [
|
|
|
|
'label' => 'Rich editor',
|
|
|
|
'alias' => 'richeditor'
|
|
|
|
]);
|
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\FileUpload', [
|
|
|
|
'label' => 'File uploader',
|
|
|
|
'alias' => 'fileupload'
|
|
|
|
]);
|
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\Relation', [
|
|
|
|
'label' => 'Relationship',
|
|
|
|
'alias' => 'relation'
|
|
|
|
]);
|
2014-10-03 18:01:37 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\DatePicker', [
|
2014-05-14 23:24:20 +10:00
|
|
|
'label' => 'Date picker',
|
|
|
|
'alias' => 'datepicker'
|
|
|
|
]);
|
2014-10-03 18:01:37 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\ColorPicker', [
|
|
|
|
'label' => 'Color picker',
|
|
|
|
'alias' => 'colorpicker'
|
|
|
|
]);
|
2014-06-20 19:29:03 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\DataGrid', [
|
|
|
|
'label' => 'Data Grid',
|
|
|
|
'alias' => 'datagrid'
|
2014-06-19 21:42:18 +10:00
|
|
|
]);
|
2014-07-02 20:48:45 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\RecordFinder', [
|
|
|
|
'label' => 'Record Finder',
|
|
|
|
'alias' => 'recordfinder'
|
|
|
|
]);
|
2014-05-14 23:24:20 +10:00
|
|
|
});
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Register navigation
|
|
|
|
*/
|
|
|
|
BackendMenu::registerCallback(function($manager) {
|
|
|
|
$manager->registerMenuItems('October.Backend', [
|
|
|
|
'dashboard' => [
|
|
|
|
'label' => 'backend::lang.dashboard.menu_label',
|
|
|
|
'icon' => 'icon-home',
|
|
|
|
'url' => Backend::url('backend'),
|
|
|
|
'permissions' => ['backend.access_dashboard'],
|
|
|
|
'order' => 1
|
|
|
|
]
|
|
|
|
]);
|
|
|
|
});
|
|
|
|
|
2014-06-10 19:30:06 +10:00
|
|
|
/*
|
|
|
|
* Register settings
|
|
|
|
*/
|
|
|
|
SettingsManager::instance()->registerCallback(function($manager){
|
|
|
|
$manager->registerSettingItems('October.Backend', [
|
2014-10-03 18:01:37 +10:00
|
|
|
'backend_settings' => [
|
|
|
|
'label' => 'backend::lang.backend_settings.menu_label',
|
|
|
|
'description' => 'backend::lang.backend_settings.menu_description',
|
|
|
|
'category' => SettingsManager::CATEGORY_SYSTEM,
|
|
|
|
'icon' => 'icon-paint-brush',
|
|
|
|
'class' => 'Backend\Models\BackendSettings',
|
|
|
|
'order' => 500,
|
|
|
|
],
|
2014-06-10 19:30:06 +10:00
|
|
|
'editor' => [
|
|
|
|
'label' => 'backend::lang.editor.menu_label',
|
|
|
|
'description' => 'backend::lang.editor.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_MYSETTINGS,
|
2014-06-10 19:30:06 +10:00
|
|
|
'icon' => 'icon-code',
|
2014-07-01 17:17:53 +10:00
|
|
|
'url' => Backend::URL('backend/editorpreferences'),
|
2014-07-19 15:51:43 +10:00
|
|
|
'order' => 600,
|
2014-07-01 17:17:53 +10:00
|
|
|
'context' => 'mysettings'
|
|
|
|
],
|
|
|
|
'backend_preferences' => [
|
|
|
|
'label' => 'backend::lang.backend_preferences.menu_label',
|
|
|
|
'description' => 'backend::lang.backend_preferences.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_MYSETTINGS,
|
2014-07-01 17:17:53 +10:00
|
|
|
'icon' => 'icon-laptop',
|
|
|
|
'class' => 'Backend\Models\BackendPreferences',
|
2014-07-19 15:51:43 +10:00
|
|
|
'order' => 500,
|
2014-07-01 17:17:53 +10:00
|
|
|
'context' => 'mysettings'
|
|
|
|
],
|
|
|
|
'myaccount' => [
|
|
|
|
'label' => 'backend::lang.myaccount.menu_label',
|
|
|
|
'description' => 'backend::lang.myaccount.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_MYSETTINGS,
|
2014-07-01 17:17:53 +10:00
|
|
|
'icon' => 'icon-user',
|
|
|
|
'url' => Backend::URL('backend/users/myaccount'),
|
2014-07-19 15:51:43 +10:00
|
|
|
'order' => 400,
|
2014-07-27 11:11:16 +11:00
|
|
|
'context' => 'mysettings',
|
|
|
|
'keywords' => 'backend::lang.myaccount.menu_keywords',
|
2014-06-10 19:30:06 +10:00
|
|
|
],
|
2014-07-30 17:19:29 +10:00
|
|
|
'access_logs' => [
|
|
|
|
'label' => 'backend::lang.access_log.menu_label',
|
|
|
|
'description' => 'backend::lang.access_log.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_LOGS,
|
2014-07-30 17:19:29 +10:00
|
|
|
'icon' => 'icon-lock',
|
|
|
|
'url' => Backend::url('backend/accesslogs'),
|
|
|
|
'permissions' => ['backend.access_admin_logs'],
|
|
|
|
'order' => 800
|
|
|
|
],
|
2014-06-10 19:30:06 +10:00
|
|
|
]);
|
|
|
|
});
|
|
|
|
|
2014-05-14 23:24:20 +10:00
|
|
|
/*
|
|
|
|
* Register permissions
|
|
|
|
*/
|
|
|
|
BackendAuth::registerCallback(function($manager) {
|
|
|
|
$manager->registerPermissions('October.Backend', [
|
2014-08-09 03:02:15 +01:00
|
|
|
'backend.access_dashboard' => ['label' => 'system::lang.permissions.view_the_dashboard', 'tab' => 'System'],
|
|
|
|
'backend.manage_users' => ['label' => 'system::lang.permissions.manage_other_administrators', 'tab' => 'System'],
|
2014-05-14 23:24:20 +10:00
|
|
|
]);
|
|
|
|
});
|
2014-06-06 21:38:34 +10:00
|
|
|
|
|
|
|
/*
|
2014-07-04 18:47:46 +10:00
|
|
|
* Register mail templates
|
2014-06-06 21:38:34 +10:00
|
|
|
*/
|
2014-07-04 18:47:46 +10:00
|
|
|
MailTemplate::registerCallback(function($template){
|
|
|
|
$template->registerMailTemplates([
|
|
|
|
'backend::mail.invite' => 'Invitation for newly created administrators.',
|
|
|
|
'backend::mail.restore' => 'Password reset instructions for backend-end administrators.',
|
2014-06-06 21:38:34 +10:00
|
|
|
]);
|
|
|
|
});
|
2014-05-07 17:52:13 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Bootstrap the module events.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function boot()
|
|
|
|
{
|
|
|
|
parent::boot('backend');
|
|
|
|
}
|
2014-05-14 23:24:20 +10:00
|
|
|
|
2014-05-07 17:52:13 +10:00
|
|
|
}
|