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

<?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',
];
}
}