You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							89 lines
						
					
					
						
							3.6 KiB
						
					
					
				
			
		
		
	
	
							89 lines
						
					
					
						
							3.6 KiB
						
					
					
				| <?php | |
|  | |
| namespace backend\bootstrap; | |
|  | |
| use backend\widgets\dashboard\helpers\UsersLastInfo; | |
| use core\entities\Settings; | |
| use zertex\elfinder\ElFinder; | |
| use zertex\ckeditor\CKEditor; | |
| use yii\base\BootstrapInterface; | |
| use yii\helpers\ArrayHelper; | |
|  | |
| class SetUp implements BootstrapInterface | |
| { | |
|     public function bootstrap($app) | |
|     { | |
|         $container = \Yii::$container; | |
|  | |
|         // init presets | |
|         $presetsPath = \Yii::getAlias('@core/components/ckeditor/presets'); | |
|         // basic | |
|         $app->params['ckeditor']['basic']['toolbar'] = require $presetsPath . '/basic/toolbar.php'; | |
|         $app->params['ckeditor']['basic']['plugins'] = require $presetsPath . '/basic/plugins.php'; | |
|         // editor | |
|         $app->params['ckeditor']['editor']['toolbar'] = require $presetsPath . '/editor/toolbar.php'; | |
|         $app->params['ckeditor']['editor']['plugins'] = require $presetsPath . '/editor/plugins.php'; | |
|         // debeloper | |
|         $app->params['ckeditor']['developer']['toolbar'] = require $presetsPath . '/developer/toolbar.php'; | |
|         $app->params['ckeditor']['developer']['plugins'] = require $presetsPath . '/developer/plugins.php'; | |
|  | |
|         // set preset example | |
|         /*$form->field($model, 'content')->widget(CKEditor::class, [ | |
|             'editorOptions' => \zertex\elfinder\ElFinder::ckeditorOptions('elfinder',[ | |
|                 'toolbar' => Yii::$app->params['ckeditor']['editor']['toolbar'], | |
|                 'extraPlugins' => Yii::$app->params['ckeditor']['editor']['plugins'], | |
|             ]) | |
|         ])*/ | |
|  | |
|         $container->set(CKEditor::class, [ | |
|             'editorOptions' => ElFinder::ckeditorOptions('elfinder', [ | |
|                 'toolbar'      => $app->params['ckeditor']['editor']['toolbar'], | |
|                 'extraPlugins' => $app->params['ckeditor']['editor']['plugins'], | |
|                 'language'     => $app->language, | |
|             ]), | |
|         ]); | |
|  | |
|         // load settings | |
|         $settings = Settings::find()->with('translations')->andWhere(['active' => 1])->all(); | |
|         //$settings = Settings::find()->andWhere(['active' => 1])->all(); | |
|         //$settings_array = []; | |
|         /*foreach ($settings as $setting) { | |
|             if (!isset($settings_array[$setting->section])) { | |
|                 $settings_array[$setting->section] = []; | |
|             } | |
|             //$settings_array[$setting->section][$setting->key] = $setting->translation->value; | |
|         }*/ | |
|  | |
|         $settings_array = $settings ? ArrayHelper::map($settings, 'key', function ($el) { | |
|             return $el->translation->value; | |
|         }, 'section') : []; | |
|  | |
|         //$settings                = ArrayHelper::map(Settings::find()->andWhere(['active' => 1])->all(), 'key', 'value', 'section'); | |
|         $app->params['settings'] = $settings_array; | |
|  | |
|         // Connect backend modules | |
|  | |
|         // Add finish UrlRules | |
|         $app->getUrlManager()->addRules([ | |
|             '<_c:[\w\-]+>'                       => '<_c>/index', | |
|             '<_c:[\w\-]+>/<id:\d+>'              => '<_c>/view', | |
|             '<_c:[\w\-]+>/<_a:[\w-]+>'           => '<_c>/<_a>', | |
|             '<_c:[\w\-]+>/<id:\d+>/<_a:[\w\-]+>' => '<_c>/<_a>', | |
|         ]); | |
|  | |
|         // Add dashboard widgets | |
|         $app->params['dashboard_widgets'][] = [ | |
|                 'name' => \Yii::t('user', 'Users'), | |
|                 'title' => \Yii::t('user', 'Users'), | |
|                 'method' => 'widgetLastUsers', | |
|                 'resizable' => 1, | |
|                 'size' => [ | |
|                     'width' => 4, | |
|                     'height' => 12, | |
|                 ], | |
|                 'icon' => 'fa fa-user', | |
|                 'widget' => UsersLastInfo::class, | |
|                 'category' => 'info', | |
|         ]; | |
|     } | |
| }
 | |
| 
 |