Commit e3105834f75a6ef4b2a9de2853745d4dd53e0d1c
1 parent
172683d7
Стандартизация
Showing
42 changed files
with
575 additions
and
356 deletions
Show diff stats
backend/controllers/AdminMenuController.php
... | ... | @@ -64,7 +64,7 @@ class AdminMenuController extends Controller |
64 | 64 | { |
65 | 65 | $model = new AdminMenu(); |
66 | 66 | if ($model->load(Yii::$app->request->post()) && $model->save()) { |
67 | - return $this->redirect(['view', 'id' => $model->id]); | |
67 | + return $this->redirect(['view', 'id' => $model->admin_menu_id]); | |
68 | 68 | } else { |
69 | 69 | return $this->render('create', [ |
70 | 70 | 'model' => $model, |
... | ... | @@ -83,7 +83,7 @@ class AdminMenuController extends Controller |
83 | 83 | $model = $this->findModel($id); |
84 | 84 | |
85 | 85 | if ($model->load(Yii::$app->request->post()) && $model->save()) { |
86 | - return $this->redirect(['view', 'id' => $model->id]); | |
86 | + return $this->redirect(['view', 'id' => $model->adminmenu_id]); | |
87 | 87 | } else { |
88 | 88 | return $this->render('update', [ |
89 | 89 | 'model' => $model, | ... | ... |
backend/controllers/LanguageController.php
... | ... | @@ -54,7 +54,7 @@ class LanguageController extends Controller |
54 | 54 | { |
55 | 55 | if(!empty(Yii::$app->request->get('id'))) { |
56 | 56 | $model = $this->findModel(Yii::$app->request->get('id')); |
57 | - $model->active = 1; | |
57 | + $model->status = 1; | |
58 | 58 | $model->save(); |
59 | 59 | return $this->redirect(['index']); |
60 | 60 | } else { |
... | ... | @@ -77,7 +77,7 @@ class LanguageController extends Controller |
77 | 77 | public function actionDelete($id) |
78 | 78 | { |
79 | 79 | $model = $this->findModel($id); |
80 | - $model->active = 0; | |
80 | + $model->status = 0; | |
81 | 81 | $model->save(); |
82 | 82 | |
83 | 83 | return $this->redirect(['index']); |
... | ... | @@ -152,18 +152,18 @@ class LanguageController extends Controller |
152 | 152 | public function actionDeleteAdress($id) |
153 | 153 | { |
154 | 154 | $model = $this->findModelAdress($id); |
155 | - $children = $model->hasMany(Option::className(), ['parent_id' => 'option_id'])->all(); | |
155 | + $children = $model->hasMany(Option::className(), ['option_pid' => 'option_id'])->all(); | |
156 | 156 | $langs = array(); |
157 | 157 | if(!empty($children)) { |
158 | 158 | foreach($children as $child) { |
159 | - $langs = OptionLang::findAll(['id' => $child->option_id]); | |
159 | + $langs = OptionLang::findAll(['option_lang_id' => $child->option_id]); | |
160 | 160 | foreach($langs as $lang) { |
161 | 161 | $lang->delete(); |
162 | 162 | } |
163 | 163 | $child->delete(); |
164 | 164 | } |
165 | 165 | } |
166 | - $langs = OptionLang::findAll(['id' => $id]); | |
166 | + $langs = OptionLang::findAll(['option_lang_id' => $id]); | |
167 | 167 | foreach($langs as $lang) { |
168 | 168 | $lang->delete(); |
169 | 169 | } | ... | ... |
backend/models/AdminMenu.php
... | ... | @@ -7,14 +7,14 @@ use Yii; |
7 | 7 | /** |
8 | 8 | * This is the model class for table "admin_menu". |
9 | 9 | * |
10 | - * @property integer $id | |
11 | - * @property integer $parent_id | |
12 | - * @property integer $active | |
10 | + * @property integer $admin_menu_id | |
11 | + * @property integer $admin_menu_pid | |
12 | + * @property integer $status | |
13 | 13 | * @property integer $hide_min |
14 | 14 | * @property integer $sort |
15 | 15 | * @property string $name |
16 | 16 | * @property string $path |
17 | - * @property string $params | |
17 | + * @property string $param | |
18 | 18 | * |
19 | 19 | * @property AdminMenu $parent |
20 | 20 | * @property AdminMenu[] $adminMenus |
... | ... | @@ -39,9 +39,9 @@ class AdminMenu extends \yii\db\ActiveRecord |
39 | 39 | public function rules() |
40 | 40 | { |
41 | 41 | return [ |
42 | - [['parent_id', 'active', 'hide_min', 'sort'], 'integer'], | |
42 | + [['admin_menu_pid', 'status', 'hide_min', 'sort'], 'integer'], | |
43 | 43 | [['name'], 'required'], |
44 | - [['name', 'path', 'params','parentt'], 'string'] | |
44 | + [['name', 'path', 'param','parentt'], 'string'] | |
45 | 45 | ]; |
46 | 46 | } |
47 | 47 | |
... | ... | @@ -51,14 +51,14 @@ class AdminMenu extends \yii\db\ActiveRecord |
51 | 51 | public function attributeLabels() |
52 | 52 | { |
53 | 53 | return [ |
54 | - 'id' => Yii::t('app', 'ID'), | |
55 | - 'parent_id' => Yii::t('app', 'Parent ID'), | |
56 | - 'active' => Yii::t('app', 'Active'), | |
54 | + 'admin_menu_id' => Yii::t('app', 'Admin menu ID'), | |
55 | + 'admin_menu_pid' => Yii::t('app', 'Admin menu parent ID'), | |
56 | + 'status' => Yii::t('app', 'Status'), | |
57 | 57 | 'hide_min' => Yii::t('app', 'Hide Min'), |
58 | 58 | 'sort' => Yii::t('app', 'Sort'), |
59 | 59 | 'name' => Yii::t('app', 'Name'), |
60 | 60 | 'path' => Yii::t('app', 'Path'), |
61 | - 'params' => Yii::t('app', 'Params'), | |
61 | + 'param' => Yii::t('app', 'Params'), | |
62 | 62 | 'parentt' => Yii::t('app', 'Parent item') |
63 | 63 | ]; |
64 | 64 | } |
... | ... | @@ -68,7 +68,7 @@ class AdminMenu extends \yii\db\ActiveRecord |
68 | 68 | */ |
69 | 69 | public function getParent() |
70 | 70 | { |
71 | - return $this->hasOne(AdminMenu::className(), ['id' => 'parent_id']); | |
71 | + return $this->hasOne(AdminMenu::className(), ['admin_menu_id' => 'admin_menu_pid']); | |
72 | 72 | } |
73 | 73 | |
74 | 74 | /** |
... | ... | @@ -76,7 +76,7 @@ class AdminMenu extends \yii\db\ActiveRecord |
76 | 76 | */ |
77 | 77 | public function getAdminMenus() |
78 | 78 | { |
79 | - return $this->hasMany(AdminMenu::className(), ['parent_id' => 'id']); | |
79 | + return $this->hasMany(AdminMenu::className(), ['admin_menu_pid' => 'admin_menu_id']); | |
80 | 80 | } |
81 | 81 | |
82 | 82 | /** |
... | ... | @@ -84,7 +84,7 @@ class AdminMenu extends \yii\db\ActiveRecord |
84 | 84 | */ |
85 | 85 | public function getAdminMenuAccessGroups() |
86 | 86 | { |
87 | - return $this->hasMany(AdminMenuAccessGroup::className(), ['menu_id' => 'id']); | |
87 | + return $this->hasMany(AdminMenuAccessGroup::className(), ['admin_menu_id' => 'admin_menu_id']); | |
88 | 88 | } |
89 | 89 | |
90 | 90 | /** |
... | ... | @@ -92,26 +92,26 @@ class AdminMenu extends \yii\db\ActiveRecord |
92 | 92 | */ |
93 | 93 | public function getAdminMenuAccessUsers() |
94 | 94 | { |
95 | - return $this->hasMany(AdminMenuAccessUser::className(), ['menu_id' => 'id']); | |
95 | + return $this->hasMany(AdminMenuAccessUser::className(), ['admin_menu_id' => 'admin_menu_id']); | |
96 | 96 | } |
97 | 97 | |
98 | 98 | public static function buildMenu($withValues = false) |
99 | 99 | { |
100 | 100 | $result = []; |
101 | - $roots = self::find()->where(['parent_id' => NULL])->with(['adminMenus'])->all(); | |
101 | + $roots = self::find()->where(['admin_menu_pid' => NULL])->with(['adminMenus'])->all(); | |
102 | 102 | foreach($roots as $root) { |
103 | 103 | if($root->adminMenus) { |
104 | - $result[] = ['label' => Yii::t('app', $root->name), 'id' => $root->id, 'options' => ['class' => 'header']]; | |
104 | + $result[] = ['label' => Yii::t('app', $root->name), 'id' => $root->admin_menu_id, 'options' => ['class' => 'header']]; | |
105 | 105 | foreach($root->adminMenus as $submenu) { |
106 | 106 | if($submenu->adminMenus) { |
107 | 107 | $items = []; |
108 | 108 | foreach($submenu->adminMenus as $item) { |
109 | - $items[] = ['label' => Yii::t('app', $item->name), 'id' => $item->id, 'icon' => 'fa fa-circle-o', 'url' => array_merge([$item->path], \common\models\Tools::parseUrlParams($item->params))]; | |
109 | + $items[] = ['label' => Yii::t('app', $item->name), 'id' => $item->admin_menu_id, 'icon' => 'fa fa-circle-o', 'url' => array_merge([$item->path], \common\models\Tools::parseUrlParams($item->param))]; | |
110 | 110 | } |
111 | - $result[] = ['label' => Yii::t('app', $submenu->name), 'id' => $submenu->id, 'icon' => 'fa fa-circle-o', 'url' => '#', 'items' => $items]; | |
111 | + $result[] = ['label' => Yii::t('app', $submenu->name), 'id' => $submenu->admin_menu_id, 'icon' => 'fa fa-circle-o', 'url' => '#', 'items' => $items]; | |
112 | 112 | unset($items); |
113 | 113 | } else { |
114 | - $result[] = ['label' => Yii::t('app', $submenu->name), 'id' => $submenu->id, 'icon' => 'fa fa-circle-o', 'url' => array_merge([$submenu->path], \common\models\Tools::parseUrlParams($submenu->params))]; | |
114 | + $result[] = ['label' => Yii::t('app', $submenu->name), 'id' => $submenu->admin_menu_id, 'icon' => 'fa fa-circle-o', 'url' => array_merge([$submenu->path], \common\models\Tools::parseUrlParams($submenu->param))]; | |
115 | 115 | } |
116 | 116 | } |
117 | 117 | } |
... | ... | @@ -122,17 +122,17 @@ class AdminMenu extends \yii\db\ActiveRecord |
122 | 122 | public static function buildMenuSelect() |
123 | 123 | { |
124 | 124 | $result = []; |
125 | - $roots = self::find()->where(['parent_id' => NULL])->with(['adminMenus'])->all(); | |
125 | + $roots = self::find()->where(['admin_menu_pid' => NULL])->with(['adminMenus'])->all(); | |
126 | 126 | foreach($roots as $root) { |
127 | 127 | if($root->adminMenus) { |
128 | 128 | $items = []; |
129 | 129 | foreach($root->adminMenus as $submenu) { |
130 | - $items[] = ['label' => Yii::t('app', $submenu->name), 'id' => $submenu->id]; | |
130 | + $items[] = ['label' => Yii::t('app', $submenu->name), 'id' => $submenu->admin_menu_id]; | |
131 | 131 | } |
132 | - $result[] = ['label' => Yii::t('app', $root->name), 'id' => $root->id, 'items' => $items]; | |
132 | + $result[] = ['label' => Yii::t('app', $root->name), 'id' => $root->admin_menu_id, 'items' => $items]; | |
133 | 133 | unset($items); |
134 | 134 | } else { |
135 | - $result[] = ['label' => Yii::t('app', $root->name), 'id' => $root->id]; | |
135 | + $result[] = ['label' => Yii::t('app', $root->name), 'id' => $root->admin_menu_id]; | |
136 | 136 | } |
137 | 137 | } |
138 | 138 | return $result; |
... | ... | @@ -141,8 +141,8 @@ class AdminMenu extends \yii\db\ActiveRecord |
141 | 141 | public function beforeSave($insert) |
142 | 142 | { |
143 | 143 | if (parent::beforeSave($insert)) { |
144 | - if(!$this->parent_id) { | |
145 | - $this->parent_id = NULL; | |
144 | + if(!$this->admin_menu_pid) { | |
145 | + $this->admin_menu_pid = NULL; | |
146 | 146 | } |
147 | 147 | return true; |
148 | 148 | } else { | ... | ... |
backend/models/AdminMenuAccessGroup.php
... | ... | @@ -7,8 +7,8 @@ use Yii; |
7 | 7 | /** |
8 | 8 | * This is the model class for table "admin_menu_access_group". |
9 | 9 | * |
10 | - * @property integer $id | |
11 | - * @property integer $menu_id | |
10 | + * @property integer $admin_menu_access_group_id | |
11 | + * @property integer $admin_menu_id | |
12 | 12 | * @property string $group |
13 | 13 | * |
14 | 14 | * @property AdminMenu $menu |
... | ... | @@ -30,7 +30,7 @@ class AdminMenuAccessGroup extends \yii\db\ActiveRecord |
30 | 30 | public function rules() |
31 | 31 | { |
32 | 32 | return [ |
33 | - [['menu_id'], 'integer'], | |
33 | + [['admin_menu_id'], 'integer'], | |
34 | 34 | [['group'], 'string'] |
35 | 35 | ]; |
36 | 36 | } |
... | ... | @@ -41,8 +41,8 @@ class AdminMenuAccessGroup extends \yii\db\ActiveRecord |
41 | 41 | public function attributeLabels() |
42 | 42 | { |
43 | 43 | return [ |
44 | - 'id' => Yii::t('app', 'ID'), | |
45 | - 'menu_id' => Yii::t('app', 'Menu ID'), | |
44 | + 'admin_menu_access_group_id' => Yii::t('app', 'Admin Access Group ID'), | |
45 | + 'admin_menu_id' => Yii::t('app', 'Admin Menu ID'), | |
46 | 46 | 'group' => Yii::t('app', 'Group'), |
47 | 47 | ]; |
48 | 48 | } |
... | ... | @@ -52,7 +52,7 @@ class AdminMenuAccessGroup extends \yii\db\ActiveRecord |
52 | 52 | */ |
53 | 53 | public function getMenu() |
54 | 54 | { |
55 | - return $this->hasOne(AdminMenu::className(), ['id' => 'menu_id']); | |
55 | + return $this->hasOne(AdminMenu::className(), ['admin_menu_id' => 'admin_menu_id']); | |
56 | 56 | } |
57 | 57 | |
58 | 58 | /** | ... | ... |
backend/models/AdminMenuAccessUser.php
... | ... | @@ -2,14 +2,15 @@ |
2 | 2 | |
3 | 3 | namespace backend\models; |
4 | 4 | |
5 | +use common\models\User; | |
5 | 6 | use Yii; |
6 | 7 | |
7 | 8 | /** |
8 | 9 | * This is the model class for table "admin_menu_access_user". |
9 | 10 | * |
10 | - * @property integer $menu_id | |
11 | + * @property integer $admin_menu_id | |
11 | 12 | * @property integer $user_id |
12 | - * @property integer $id | |
13 | + * @property integer $admin_menu_access_user_id | |
13 | 14 | * |
14 | 15 | * @property AdminMenu $menu |
15 | 16 | * @property User $user |
... | ... | @@ -30,7 +31,7 @@ class AdminMenuAccessUser extends \yii\db\ActiveRecord |
30 | 31 | public function rules() |
31 | 32 | { |
32 | 33 | return [ |
33 | - [['menu_id', 'user_id'], 'integer'] | |
34 | + [['admin_menu_id', 'user_id'], 'integer'] | |
34 | 35 | ]; |
35 | 36 | } |
36 | 37 | |
... | ... | @@ -40,9 +41,9 @@ class AdminMenuAccessUser extends \yii\db\ActiveRecord |
40 | 41 | public function attributeLabels() |
41 | 42 | { |
42 | 43 | return [ |
43 | - 'menu_id' => Yii::t('app', 'Menu ID'), | |
44 | + 'admin_menu_id' => Yii::t('app', 'Admin Menu ID'), | |
44 | 45 | 'user_id' => Yii::t('app', 'User ID'), |
45 | - 'id' => Yii::t('app', 'ID'), | |
46 | + 'admin_menu_access_user_id' => Yii::t('app', 'Admin Menu Access User ID'), | |
46 | 47 | ]; |
47 | 48 | } |
48 | 49 | |
... | ... | @@ -51,7 +52,7 @@ class AdminMenuAccessUser extends \yii\db\ActiveRecord |
51 | 52 | */ |
52 | 53 | public function getMenu() |
53 | 54 | { |
54 | - return $this->hasOne(AdminMenu::className(), ['id' => 'menu_id']); | |
55 | + return $this->hasOne(AdminMenu::className(), ['admin_menu_id' => 'admin_menu_id']); | |
55 | 56 | } |
56 | 57 | |
57 | 58 | /** | ... | ... |
backend/models/AdminMenuSearch.php
... | ... | @@ -20,8 +20,8 @@ class AdminMenuSearch extends AdminMenu |
20 | 20 | public function rules() |
21 | 21 | { |
22 | 22 | return [ |
23 | - [['id', 'parent_id', 'active', 'hide_min', 'sort'], 'integer'], | |
24 | - [['name', 'path', 'params','parentt'], 'safe'], | |
23 | + [['admin_menu_id', 'admin_menu_pid', 'status', 'hide_min', 'sort'], 'integer'], | |
24 | + [['name', 'path', 'param','parentt'], 'safe'], | |
25 | 25 | ]; |
26 | 26 | } |
27 | 27 | |
... | ... | @@ -52,11 +52,11 @@ class AdminMenuSearch extends AdminMenu |
52 | 52 | ], |
53 | 53 | 'sort' => [ |
54 | 54 | 'attributes' => [ |
55 | - 'id', | |
55 | + 'admin_menu_id', | |
56 | 56 | 'name', |
57 | 57 | 'path', |
58 | - 'params', | |
59 | - 'active', | |
58 | + 'param', | |
59 | + 'status', | |
60 | 60 | 'hide_min', |
61 | 61 | 'parentt' => [ |
62 | 62 | 'asc' => ['name' => SORT_ASC], |
... | ... | @@ -76,9 +76,9 @@ class AdminMenuSearch extends AdminMenu |
76 | 76 | } |
77 | 77 | |
78 | 78 | $query->andFilterWhere([ |
79 | - 'id' => $this->id, | |
80 | - 'parent_id' => $this->parent_id, | |
81 | - 'active' => $this->active, | |
79 | + 'admin_menu_id' => $this->admin_menu_id, | |
80 | + 'admin_menu_pid' => $this->admin_menu_pid, | |
81 | + 'status' => $this->status, | |
82 | 82 | 'hide_min' => $this->hide_min, |
83 | 83 | 'sort' => $this->sort |
84 | 84 | ]); |
... | ... | @@ -86,8 +86,8 @@ class AdminMenuSearch extends AdminMenu |
86 | 86 | |
87 | 87 | $query->andFilterWhere(['like', 'name', $this->name]) |
88 | 88 | ->andFilterWhere(['like', 'path', $this->path]) |
89 | - ->andFilterWhere(['like', 'params', $this->params]) | |
90 | - ->andFilterWhere(['in', 'parent_id', $this->find()->select(['id'])->andFilterWhere(['like', 'name', $this->parentt])->column()]); | |
89 | + ->andFilterWhere(['like', 'param', $this->param]) | |
90 | + ->andFilterWhere(['in', 'admin_menu_pid', $this->find()->select(['admin_menu_id'])->andFilterWhere(['like', 'name', $this->parentt])->column()]); | |
91 | 91 | |
92 | 92 | return $dataProvider; |
93 | 93 | } | ... | ... |
backend/models/LanguageSearch.php
... | ... | @@ -19,8 +19,8 @@ class LanguageSearch extends Language |
19 | 19 | { |
20 | 20 | return [ |
21 | 21 | [['language_id'], 'integer'], |
22 | - [['lang_code', 'language_name'], 'safe'], | |
23 | - [['is_default', 'active'], 'boolean'], | |
22 | + [['language_code', 'language_name'], 'safe'], | |
23 | + [['is_default', 'status'], 'boolean'], | |
24 | 24 | ]; |
25 | 25 | } |
26 | 26 | |
... | ... | @@ -59,12 +59,12 @@ class LanguageSearch extends Language |
59 | 59 | $query->andFilterWhere([ |
60 | 60 | 'language_id' => $this->language_id, |
61 | 61 | 'is_default' => $this->is_default, |
62 | - 'active' => $this->active, | |
62 | + 'status' => $this->status, | |
63 | 63 | ]); |
64 | 64 | |
65 | - $query->andFilterWhere(['like', 'lang_code', $this->lang_code]) | |
65 | + $query->andFilterWhere(['like', 'language_code', $this->language_code]) | |
66 | 66 | ->andFilterWhere(['like', 'language_name', $this->language_name]) |
67 | - ->andWhere(['active' => '1']) | |
67 | + ->andWhere(['status' => '1']) | |
68 | 68 | ->andWhere(['>', 'language_id', '0']); |
69 | 69 | |
70 | 70 | return $dataProvider; |
... | ... | @@ -89,12 +89,12 @@ class LanguageSearch extends Language |
89 | 89 | $query->andFilterWhere([ |
90 | 90 | 'language_id' => $this->language_id, |
91 | 91 | 'is_default' => $this->is_default, |
92 | - 'active' => $this->active, | |
92 | + 'status' => $this->status, | |
93 | 93 | ]); |
94 | 94 | |
95 | - $query->andFilterWhere(['like', 'lang_code', $this->lang_code]) | |
95 | + $query->andFilterWhere(['like', 'language_code', $this->language_code]) | |
96 | 96 | ->andFilterWhere(['like', 'language_name', $this->language_name]) |
97 | - ->andWhere(['active' => '0']); | |
97 | + ->andWhere(['status' => '0']); | |
98 | 98 | |
99 | 99 | return $dataProvider; |
100 | 100 | } | ... | ... |
backend/views/admin-menu/_form.php
... | ... | @@ -16,13 +16,13 @@ use yii\widgets\ActiveForm; |
16 | 16 | |
17 | 17 | <?= $form->field($model, 'name')->textInput() ?> |
18 | 18 | |
19 | - <?= $form->field($model, 'active')->checkbox() ?> | |
19 | + <?= $form->field($model, 'status')->checkbox() ?> | |
20 | 20 | |
21 | 21 | <?= $form->field($model, 'hide_min')->checkbox() ?> |
22 | 22 | |
23 | 23 | <?= $form->field($model, 'path')->textInput() ?> |
24 | 24 | |
25 | - <?= $form->field($model, 'params')->textInput() ?> | |
25 | + <?= $form->field($model, 'param')->textInput() ?> | |
26 | 26 | |
27 | 27 | <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> |
28 | 28 | <div class="panel panel-default"> |
... | ... | @@ -37,12 +37,12 @@ use yii\widgets\ActiveForm; |
37 | 37 | <ul class="list-group checkboxer"> |
38 | 38 | <?php |
39 | 39 | $roots = AdminMenu::buildMenuSelect(); |
40 | - echo $form->field($model, 'parent_id', ['options' => ['class' => 'form-group list-group-item level0 checkboxer_container', 'tag' => 'li']])->error(false)->radio(['value' => 0, 'uncheck' => null, 'label' => Yii::t('app', 'root'), 'labelOptions' => ['class' => 'checkboxer_label']]); | |
40 | + echo $form->field($model, 'admin_menu_pid', ['options' => ['class' => 'form-group list-group-item level0 checkboxer_container', 'tag' => 'li']])->error(false)->radio(['value' => 0, 'uncheck' => null, 'label' => Yii::t('app', 'root'), 'labelOptions' => ['class' => 'checkboxer_label']]); | |
41 | 41 | foreach($roots as $root) { |
42 | - echo $form->field($model, 'parent_id', ['options' => ['class' => 'form-group list-group-item level1 checkboxer_container', 'tag' => 'li']])->error(false)->radio(['value' => $root['id'], 'uncheck' => null, 'label' => Yii::t('app', $root['label']), 'labelOptions' => ['class' => 'checkboxer_label']]); | |
42 | + echo $form->field($model, 'admin_menu_pid', ['options' => ['class' => 'form-group list-group-item level1 checkboxer_container', 'tag' => 'li']])->error(false)->radio(['value' => $root['id'], 'uncheck' => null, 'label' => Yii::t('app', $root['label']), 'labelOptions' => ['class' => 'checkboxer_label']]); | |
43 | 43 | if($root['items']) { |
44 | 44 | foreach($root['items'] as $submenu) { |
45 | - echo $form->field($model, 'parent_id', ['options' => ['class' => 'form-group list-group-item level2 checkboxer_container', 'tag' => 'li']])->error(false)->radio(['value' => $submenu['id'], 'uncheck' => null, 'label' => Yii::t('app', $submenu['label']), 'labelOptions' => ['class' => 'checkboxer_label']]); | |
45 | + echo $form->field($model, 'admin_menu_pid', ['options' => ['class' => 'form-group list-group-item level2 checkboxer_container', 'tag' => 'li']])->error(false)->radio(['value' => $submenu['id'], 'uncheck' => null, 'label' => Yii::t('app', $submenu['label']), 'labelOptions' => ['class' => 'checkboxer_label']]); | |
46 | 46 | } |
47 | 47 | } |
48 | 48 | } | ... | ... |
backend/views/admin-menu/index.php
... | ... | @@ -39,10 +39,10 @@ $this->params['breadcrumbs'][] = $this->title; |
39 | 39 | </div>", |
40 | 40 | 'columns' => [ |
41 | 41 | ['class' => 'yii\grid\ActionColumn'], |
42 | - 'id', | |
42 | + 'admin_menu_id', | |
43 | 43 | 'name', |
44 | 44 | 'path', |
45 | - 'params', | |
45 | + 'param', | |
46 | 46 | [ |
47 | 47 | 'format' => 'raw', |
48 | 48 | 'filter' => [ |
... | ... | @@ -50,20 +50,20 @@ $this->params['breadcrumbs'][] = $this->title; |
50 | 50 | '0'=>'Скрытые', |
51 | 51 | ], |
52 | 52 | 'value' => function($data){ |
53 | - if($data->active){ | |
53 | + if($data->status){ | |
54 | 54 | $status_img = '<i style="color: #008000" class="glyphicon glyphicon-ok"></i>'; |
55 | 55 | } else { |
56 | 56 | $status_img = '<i style="color: red" class="glyphicon glyphicon-remove"></i>'; |
57 | 57 | } |
58 | 58 | return $status_img; |
59 | 59 | }, |
60 | - 'attribute'=>'active', | |
60 | + 'attribute'=>'status', | |
61 | 61 | ], |
62 | 62 | [ |
63 | 63 | 'attribute' => 'parentt', |
64 | 64 | 'content' => |
65 | 65 | function($model, $key, $index, $column) { |
66 | - if($model->parent->id) { | |
66 | + if($model->parent->admin_menu_id) { | |
67 | 67 | return $model->parent->name; |
68 | 68 | } else { |
69 | 69 | return '<i class="small">'.Yii::t('app', 'Корневой элемент').'</i>'; | ... | ... |
backend/views/admin-menu/update.php
... | ... | @@ -7,7 +7,7 @@ use yii\helpers\Html; |
7 | 7 | |
8 | 8 | $this->title = Yii::t('app', 'Update') . ': ' . $model->name; |
9 | 9 | $this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Admin Menus'), 'url' => ['index']]; |
10 | -$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->id]]; | |
10 | +$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->admin_menu_id]]; | |
11 | 11 | $this->params['breadcrumbs'][] = Yii::t('app', 'Update'); |
12 | 12 | ?> |
13 | 13 | <div class="admin-menu-update"> | ... | ... |
backend/views/language/index.php
backend/web/js/option.js
... | ... | @@ -14,7 +14,6 @@ function readURL(input) { |
14 | 14 | } |
15 | 15 | function checkboxerInit() { |
16 | 16 | $.each($('.checkboxer input[type=radio]:checked'), function(index, value) { |
17 | - console.log(value); | |
18 | 17 | $(value).trigger('change'); |
19 | 18 | }); |
20 | 19 | } |
... | ... | @@ -64,7 +63,31 @@ $(function() { |
64 | 63 | $(value).find('li').append('<span class="glyphicon glyphicon-remove-circle remove-lang"></span>'); |
65 | 64 | } |
66 | 65 | }); |
67 | - $(document).on('click', '.dropdown-menu.f32 li a[data-lang]', function() { | |
66 | + $(document).on('click', '.dropdown-menu.f32:not(.old) li a[data-lang]', function() { | |
67 | + var lang = $(this).data('lang'); | |
68 | + var flag = $(this).find('span').first().clone(); | |
69 | + var el = $(this); | |
70 | + var id = $(this).attr('href').substr(1); | |
71 | + var path = form[id].handler; | |
72 | + var view = form[id].view; | |
73 | + var model = form[id].model; | |
74 | + $.get(path, { lang_id: lang, widget_id: id, ajaxView: view, model: model }, function(data) { | |
75 | + $('#'+id+'-tabs li').removeClass('active'); | |
76 | + $('#'+id+'-tabs').append('<li role="lang_inputs" class="active" data-lang="'+lang+'"><a href="#'+id+'-'+lang+'" aria-controls="'+id+'-'+lang+'" role="tab" data-toggle="tab">'+$('<p>').append($(flag)).html()+'</a></li>'); | |
77 | + $('#tab-content-'+id+' .tab-pane.active').removeClass('active'); | |
78 | + $('#tab-content-'+id).append($(data).find('.ajax-loaded').first()); | |
79 | + $('body').append($(data).filter('script')); | |
80 | + $(el).parent().remove(); | |
81 | + if(!$('#lang-'+id+' li').length) { | |
82 | + $('#'+id+'Lang').addClass('disabled'); | |
83 | + } | |
84 | + if($('#'+id+'-tabs li').length > 1) { | |
85 | + $('#'+id+'-tabs li').append('<span class="glyphicon glyphicon-remove-circle remove-lang"></span>') | |
86 | + } | |
87 | + }); | |
88 | + }); | |
89 | + $(document).on('click', '.dropdown-menu.f32.old li a[data-lang]', function(e) { | |
90 | + e.preventDefault(); | |
68 | 91 | var lang = $(this).data('lang'); |
69 | 92 | var flag = $(this).find('span').first().clone(); |
70 | 93 | var el = $(this); |
... | ... | @@ -100,9 +123,11 @@ $(function() { |
100 | 123 | } |
101 | 124 | }); |
102 | 125 | $(document).on('change', '.checkboxer .checkboxer_label input[type=radio]', function() { |
103 | - console.log($(this).val()); | |
104 | 126 | $(this).parents('.checkboxer').find('.checkboxer_container').removeClass('active'); |
105 | 127 | $(this).parents('.checkboxer_container').addClass('active'); |
106 | 128 | }); |
129 | + $.each($('.f32'), function(i, val) { | |
130 | + $(val).find('a[role=tab]').first().trigger('click'); | |
131 | + }); | |
107 | 132 | checkboxerInit(); |
108 | 133 | }); |
109 | 134 | \ No newline at end of file | ... | ... |
common/components/LangRequest.php
... | ... | @@ -3,6 +3,7 @@ |
3 | 3 | namespace common\components; |
4 | 4 | |
5 | 5 | use Yii; |
6 | +use yii\base\InvalidConfigException; | |
6 | 7 | use yii\web\Request; |
7 | 8 | use common\models\Language; |
8 | 9 | use common\models\Page; |
... | ... | @@ -29,10 +30,10 @@ class LangRequest extends Request |
29 | 30 | |
30 | 31 | Language::setCurrent($lang_url); |
31 | 32 | |
32 | - if ($lang_url !== null && $lang_url === Language::getCurrent()->lang_code | |
33 | - && strpos($this->_lang_url, Language::getCurrent()->lang_code) === 1) | |
33 | + if ($lang_url !== null && $lang_url === Language::getCurrent()->language_code | |
34 | + && strpos($this->_lang_url, Language::getCurrent()->language_code) === 1) | |
34 | 35 | { |
35 | - $this->_lang_url = substr ($this->_lang_url, strlen (Language::getCurrent()->lang_code) + 1); | |
36 | + $this->_lang_url = substr ($this->_lang_url, strlen (Language::getCurrent()->language_code) + 1); | |
36 | 37 | } |
37 | 38 | } |
38 | 39 | ... | ... |
common/models/Language.php
... | ... | @@ -8,7 +8,11 @@ use Yii; |
8 | 8 | * This is the model class for table "language". |
9 | 9 | * |
10 | 10 | * @property integer $language_id |
11 | - * @property string $lang_code | |
11 | + * @property string $language_code | |
12 | + * @property string $is_default | |
13 | + * @property string $language_name | |
14 | + * @property string $status | |
15 | + * @property string $country_code | |
12 | 16 | */ |
13 | 17 | class Language extends \yii\db\ActiveRecord |
14 | 18 | { |
... | ... | @@ -32,8 +36,8 @@ class Language extends \yii\db\ActiveRecord |
32 | 36 | $language = self::getLangByUrl($lang_code); |
33 | 37 | self::$current = ($language === null) ? self::getDefaultLang() : $language; |
34 | 38 | // задаем |
35 | - Yii::$app->language = self::$current->lang_code; | |
36 | - Yii::$app->params['lang_id'] = self::$current->language_id; | |
39 | + Yii::$app->language = self::$current->language_code; | |
40 | + Yii::$app->params['language_id'] = self::$current->language_id; | |
37 | 41 | } |
38 | 42 | |
39 | 43 | //Получения объекта языка по умолчанию |
... | ... | @@ -48,7 +52,7 @@ class Language extends \yii\db\ActiveRecord |
48 | 52 | if ($lang_code === null) { |
49 | 53 | return null; |
50 | 54 | } else { |
51 | - $language = Language::find()->where('lang_code = :what', [':what' => $lang_code])->one(); | |
55 | + $language = Language::find()->where('language_code = :what', [':what' => $lang_code])->one(); | |
52 | 56 | return $language === null ? null : $language; |
53 | 57 | } |
54 | 58 | } |
... | ... | @@ -67,8 +71,8 @@ class Language extends \yii\db\ActiveRecord |
67 | 71 | public function rules() |
68 | 72 | { |
69 | 73 | return [ |
70 | - [['lang_code'], 'required'], | |
71 | - [['lang_code'], 'string', 'max' => 4] | |
74 | + [['language_code', 'language_name', 'country_code'], 'required'], | |
75 | + [['language_code', 'country_code'], 'string', 'max' => 4] | |
72 | 76 | ]; |
73 | 77 | } |
74 | 78 | |
... | ... | @@ -79,13 +83,17 @@ class Language extends \yii\db\ActiveRecord |
79 | 83 | { |
80 | 84 | return [ |
81 | 85 | 'language_id' => Yii::t('app/Lang', 'Language ID'), |
82 | - 'lang_code' => Yii::t('app/Lang', 'Lang Code'), | |
86 | + 'language_code' => Yii::t('app/Lang', 'Lang Code'), | |
87 | + 'is_default' => Yii::t('app/Lang', 'Default lang'), | |
88 | + 'language_name' => Yii::t('app/Lang', 'Language Name'), | |
89 | + 'status' => Yii::t('app/Lang', 'Language Status'), | |
90 | + 'country_code' => Yii::t('app/Lang', 'Country Code'), | |
83 | 91 | ]; |
84 | 92 | } |
85 | 93 | |
86 | 94 | public static function getActiveLanguages() |
87 | 95 | { |
88 | - return Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1])->orderBy('is_default DESC')->indexBy('language_id')->all(); | |
96 | + return Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1])->orderBy('is_default DESC')->indexBy('language_id')->all(); | |
89 | 97 | } |
90 | 98 | |
91 | 99 | } | ... | ... |
common/models/Media.php
... | ... | @@ -12,8 +12,9 @@ use yii\web\UploadedFile; |
12 | 12 | /** |
13 | 13 | * This is the model class for table "media". |
14 | 14 | * |
15 | - * @property integer $id | |
15 | + * @property integer $media_id | |
16 | 16 | * @property string $hash |
17 | + * @property string $extension | |
17 | 18 | * |
18 | 19 | * @property ArticleCategoryMedia[] $articleCategoryMedia |
19 | 20 | * @property ArticleMedia[] $articleMedia |
... | ... | @@ -39,8 +40,8 @@ class Media extends ActiveRecord |
39 | 40 | public function rules() |
40 | 41 | { |
41 | 42 | return [ |
42 | - [['id'], 'integer'], | |
43 | - [['hash'], 'string'], | |
43 | + [['media_id'], 'integer'], | |
44 | + [['hash', 'extension'], 'string'], | |
44 | 45 | [['imageFile'], 'file', 'extensions' => 'png, gif, jpeg, jpg', 'skipOnEmpty' => true], |
45 | 46 | ]; |
46 | 47 | } |
... | ... | @@ -51,8 +52,9 @@ class Media extends ActiveRecord |
51 | 52 | public function attributeLabels() |
52 | 53 | { |
53 | 54 | return [ |
54 | - 'id' => Yii::t('app', 'ID'), | |
55 | + 'media_id' => Yii::t('app', 'ID'), | |
55 | 56 | 'hash' => Yii::t('app', 'Hash'), |
57 | + 'extension' => Yii::t('app', 'Extension'), | |
56 | 58 | ]; |
57 | 59 | } |
58 | 60 | |
... | ... | @@ -61,7 +63,7 @@ class Media extends ActiveRecord |
61 | 63 | */ |
62 | 64 | public function getArticleCategoryMedia() |
63 | 65 | { |
64 | - return $this->hasMany(ArticleCategoryMedia::className(), ['media_id' => 'id']); | |
66 | + return $this->hasMany(ArticleCategoryMedia::className(), ['media_id' => 'media_id']); | |
65 | 67 | } |
66 | 68 | |
67 | 69 | /** |
... | ... | @@ -69,12 +71,12 @@ class Media extends ActiveRecord |
69 | 71 | */ |
70 | 72 | public function getArticleMedia() |
71 | 73 | { |
72 | - return $this->hasMany(ArticleMedia::className(), ['media_id' => 'id']); | |
74 | + return $this->hasMany(ArticleMedia::className(), ['media_id' => 'media_id']); | |
73 | 75 | } |
74 | 76 | |
75 | 77 | public function getArticle() |
76 | 78 | { |
77 | - return $this->hasMany(Article::className(), ['id' => 'article_id'])->via('articleMedia'); | |
79 | + return $this->hasMany(Article::className(), ['article_id' => 'article_id'])->via('articleMedia'); | |
78 | 80 | } |
79 | 81 | |
80 | 82 | public function upload() | ... | ... |
common/modules/blog/controllers/AjaxController.php
... | ... | @@ -29,7 +29,7 @@ class AjaxController extends Controller |
29 | 29 | |
30 | 30 | public function actionCategoryForm($lang_id, $widget_id) |
31 | 31 | { |
32 | - $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one(); | |
32 | + $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $lang_id])->one(); | |
33 | 33 | if(!$model) { |
34 | 34 | throw new NotFoundHttpException('Language not found'); |
35 | 35 | } |
... | ... | @@ -39,7 +39,7 @@ class AjaxController extends Controller |
39 | 39 | |
40 | 40 | public function actionArticleForm($lang_id, $widget_id) |
41 | 41 | { |
42 | - $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one(); | |
42 | + $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $lang_id])->one(); | |
43 | 43 | if(!$model) { |
44 | 44 | throw new NotFoundHttpException('Language not found'); |
45 | 45 | } |
... | ... | @@ -49,7 +49,7 @@ class AjaxController extends Controller |
49 | 49 | |
50 | 50 | public function actionArticleMediaForm($lang_id, $widget_id, $type) |
51 | 51 | { |
52 | - $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one(); | |
52 | + $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $lang_id])->one(); | |
53 | 53 | if(!$model) { |
54 | 54 | throw new NotFoundHttpException('Language not found'); |
55 | 55 | } |
... | ... | @@ -62,7 +62,7 @@ class AjaxController extends Controller |
62 | 62 | |
63 | 63 | public function actionArticleCategoryMediaForm($lang_id, $widget_id, $type) |
64 | 64 | { |
65 | - $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one(); | |
65 | + $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $lang_id])->one(); | |
66 | 66 | if(!$model) { |
67 | 67 | throw new NotFoundHttpException('Language not found'); |
68 | 68 | } |
... | ... | @@ -123,4 +123,10 @@ class AjaxController extends Controller |
123 | 123 | return false; |
124 | 124 | } |
125 | 125 | } |
126 | + | |
127 | + public function actionMultilangForm($model, $ajaxView, $widget_id, $lang_id = NULL) | |
128 | + { | |
129 | + $model = new $model(['language_id' => $lang_id]); | |
130 | + return $this->renderAjax($ajaxView, ['model' => $model, 'widget_id' => $widget_id]); | |
131 | + } | |
126 | 132 | } | ... | ... |
common/modules/blog/controllers/ArticleController.php
... | ... | @@ -39,18 +39,18 @@ class ArticleController extends Controller |
39 | 39 | if(!empty(\Yii::$app->request->post())) { |
40 | 40 | $isValid = true; |
41 | 41 | $article->load(\Yii::$app->request->post()); |
42 | - $article->author = \Yii::$app->user->getId(); | |
42 | + $article->user_id = \Yii::$app->user->getId(); | |
43 | 43 | $isValid = $article->validate(); |
44 | 44 | foreach(\Yii::$app->request->post()['ArticleMedia'] as $lang => $value) { |
45 | 45 | foreach($value as $type => $fields) { |
46 | 46 | $images[$lang][$type] = new ArticleMedia(['scenario' => $type]); |
47 | 47 | $images[$lang][$type]->type = $type; |
48 | - $images[$lang][$type]->lang_id = $lang; | |
48 | + $images[$lang][$type]->language_id = $lang; | |
49 | 49 | $images[$lang][$type]->imageFile = UploadedFile::getInstance($images[$lang][$type], "[{$lang}][{$type}]imageFile"); |
50 | 50 | $isValid = $images[$lang][$type]->validate(['imageFile']) && $isValid; |
51 | 51 | } |
52 | 52 | } |
53 | - $images[0]['additional']->lang_id = 0; | |
53 | + $images[0]['additional']->language_id = 0; | |
54 | 54 | $images[0]['additional']->type = 'additional'; |
55 | 55 | $images[0]['additional']->imageFile = UploadedFile::getInstances($images[0]['additional'], "[0][additional]imageFile"); |
56 | 56 | if(empty(\Yii::$app->request->post()['ArticleLang'])) { |
... | ... | @@ -72,20 +72,20 @@ class ArticleController extends Controller |
72 | 72 | if(!empty($article_categories)) { |
73 | 73 | foreach($article_categories as $article_category) { |
74 | 74 | $articletocategory[$article_category] = new ArticleToCategory(); |
75 | - $articletocategory[$article_category]->category_id = $article_category; | |
75 | + $articletocategory[$article_category]->article_category_id = $article_category; | |
76 | 76 | $articletocategory[$article_category]->link('article', $article); |
77 | 77 | } |
78 | 78 | } |
79 | 79 | $first = 1; |
80 | 80 | foreach($images as $lang => $value) { |
81 | 81 | foreach($value as $type => $fields) { |
82 | - $images[$lang][$type]->upload($article->id); | |
82 | + $images[$lang][$type]->upload($article->article_id); | |
83 | 83 | if($first && $type != 'additional') { |
84 | 84 | $media_clone = clone $images[$lang][$type]; |
85 | 85 | $media_clone->setIsNewRecord(true); |
86 | - unset($media_clone->id); | |
87 | - $media_clone->lang_id = 0; | |
88 | - $media_clone->upload($article->id); | |
86 | + unset($media_clone->article_media_id); | |
87 | + $media_clone->language_id = 0; | |
88 | + $media_clone->upload($article->article_id); | |
89 | 89 | unset($media_clone); |
90 | 90 | $first = 0; |
91 | 91 | } |
... | ... | @@ -95,7 +95,7 @@ class ArticleController extends Controller |
95 | 95 | foreach($article_langs as $article_lang) { |
96 | 96 | if($first) { |
97 | 97 | $article_lang_clone = clone $article_lang; |
98 | - $article_lang_clone->lang_id = 0; | |
98 | + $article_lang_clone->language_id = 0; | |
99 | 99 | $article_lang_clone->link('article', $article); |
100 | 100 | unset($article_lang_clone); |
101 | 101 | } |
... | ... | @@ -121,45 +121,45 @@ class ArticleController extends Controller |
121 | 121 | $images = []; |
122 | 122 | $images[0]['additional'][0] = new ArticleMedia(['scenario' => ArticleMedia::SCENARIO_ADDITIONAL]); |
123 | 123 | $images[0]['additional'][0]->type = 'additional'; |
124 | - $images[0]['additional'][0]->lang_id = 0; | |
124 | + $images[0]['additional'][0]->language_id = 0; | |
125 | 125 | foreach($imagestack as $image) { |
126 | 126 | if(in_array($image->type, ['full', 'preview'])) { |
127 | - $images[$image->lang_id][$image->type] = $image; | |
128 | - $images[$image->lang_id][$image->type]->scenario = $image->type; | |
127 | + $images[$image->language_id][$image->type] = $image; | |
128 | + $images[$image->language_id][$image->type]->scenario = $image->type; | |
129 | 129 | } else { |
130 | - $images[$image->lang_id][$image->type][$image->id] = $image; | |
131 | - $images[$image->lang_id][$image->type][$image->id]->scenario = $image->type; | |
130 | + $images[$image->language_id][$image->type][$image->article_media_id] = $image; | |
131 | + $images[$image->language_id][$image->type][$image->article_media_id]->scenario = $image->type; | |
132 | 132 | } |
133 | 133 | } |
134 | 134 | foreach($images as $lang => $value) { |
135 | 135 | $images[$lang]['additional'][0] = new ArticleMedia(['scenario' => ArticleMedia::SCENARIO_ADDITIONAL]); |
136 | 136 | } |
137 | - $article_langs = $article->getArticleLangs()->where(['>=', 'lang_id', '1'])->indexBy('lang_id')->all(); | |
137 | + $article_langs = $article->getArticleLangs()->where(['>=', 'language_id', '1'])->indexBy('language_id')->all(); | |
138 | 138 | $langs = Language::getActiveLanguages(); |
139 | 139 | $default_lang = Language::getDefaultLang(); |
140 | 140 | $isValid = false; |
141 | 141 | if(!empty(\Yii::$app->request->post())) { |
142 | 142 | $isValid = true; |
143 | 143 | $article->load(\Yii::$app->request->post()); |
144 | - ArticleToCategory::deleteAll(['article_id' => $article->id]); | |
144 | + ArticleToCategory::deleteAll(['article_id' => $article->article_id]); | |
145 | 145 | $article_categories = \Yii::$app->request->post('Article')['articleCategoriesArray']; |
146 | 146 | if(!empty($article_categories)) { |
147 | 147 | foreach($article_categories as $article_category) { |
148 | 148 | $articletocategory[$article_category] = new ArticleToCategory(); |
149 | - $articletocategory[$article_category]->category_id = $article_category; | |
149 | + $articletocategory[$article_category]->article_category_id = $article_category; | |
150 | 150 | $articletocategory[$article_category]->link('article', $article); |
151 | 151 | } |
152 | 152 | } |
153 | 153 | $isValid = $article->validate(); |
154 | 154 | $images[0]['additional'][0]->type = 'additional'; |
155 | - $images[0]['additional'][0]->lang_id = 0; | |
155 | + $images[0]['additional'][0]->language_id = 0; | |
156 | 156 | $images[0]['additional'][0]->imageFile = UploadedFile::getInstances($images[0]['additional'][0], "[0][additional]imageFile"); |
157 | 157 | $isValid = $images[0]['additional'][0]->validate(['imageFile']) && $isValid; |
158 | 158 | foreach(\Yii::$app->request->post()['ArticleMedia'] as $lang => $value) { |
159 | 159 | foreach($value as $type => $fields) { |
160 | 160 | if(!in_array($type, ['full', 'preview'])) continue; |
161 | 161 | $images[$lang][$type] = new ArticleMedia(['scenario' => $type]); |
162 | - $images[$lang][$type]->lang_id = $lang; | |
162 | + $images[$lang][$type]->language_id = $lang; | |
163 | 163 | $images[$lang][$type]->type = $type; |
164 | 164 | $images[$lang][$type]->imageFile = UploadedFile::getInstance($images[$lang][$type], "[{$lang}][{$type}]imageFile"); |
165 | 165 | $isValid = $images[$lang][$type]->validate(['imageFile']) && $isValid; |
... | ... | @@ -171,7 +171,7 @@ class ArticleController extends Controller |
171 | 171 | foreach(\Yii::$app->request->post()['ArticleLang'] as $index => $article_lang) { |
172 | 172 | if (!array_key_exists($index, $article_langs)) { |
173 | 173 | $article_langs[$index] = new ArticleLang(); |
174 | - $article_langs[$index]->article_id = $article->id; | |
174 | + $article_langs[$index]->article_id = $article->article_id; | |
175 | 175 | } |
176 | 176 | } |
177 | 177 | ArticleLang::loadMultiple($article_langs, \Yii::$app->request->post()); |
... | ... | @@ -186,7 +186,7 @@ class ArticleController extends Controller |
186 | 186 | $images[$lang][$type][0]->upload($article->id); |
187 | 187 | } else { |
188 | 188 | if(!empty($images[$lang][$type]->imageFile)) { |
189 | - $images[$lang][$type]->replace($article->id); | |
189 | + $images[$lang][$type]->replace($article->article_id); | |
190 | 190 | } |
191 | 191 | } |
192 | 192 | } | ... | ... |
common/modules/blog/controllers/CategoryController.php
... | ... | @@ -58,12 +58,12 @@ class CategoryController extends Controller |
58 | 58 | foreach($value as $type => $fields) { |
59 | 59 | $images[$lang][$type] = new ArticleCategoryMedia(['scenario' => $type]); |
60 | 60 | $images[$lang][$type]->type = $type; |
61 | - $images[$lang][$type]->lang_id = $lang; | |
61 | + $images[$lang][$type]->language_id = $lang; | |
62 | 62 | $images[$lang][$type]->imageFile = UploadedFile::getInstance($images[$lang][$type], "[{$lang}][{$type}]imageFile"); |
63 | 63 | $isValid = $images[$lang][$type]->validate(['imageFile']) && $isValid; |
64 | 64 | } |
65 | 65 | } |
66 | - $images[0]['additional']->lang_id = 0; | |
66 | + $images[0]['additional']->language_id = 0; | |
67 | 67 | $images[0]['additional']->type = 'additional'; |
68 | 68 | $images[0]['additional']->imageFile = UploadedFile::getInstances($images[0]['additional'], "[0][additional]imageFile"); |
69 | 69 | if(empty(\Yii::$app->request->post()['ArticleCategoryLang'])) { |
... | ... | @@ -84,13 +84,13 @@ class CategoryController extends Controller |
84 | 84 | $first = 1; |
85 | 85 | foreach($images as $lang => $value) { |
86 | 86 | foreach($value as $type => $fields) { |
87 | - $images[$lang][$type]->upload($category->id); | |
87 | + $images[$lang][$type]->upload($category->article_category_id); | |
88 | 88 | if($first && $type != 'additional') { |
89 | 89 | $media_clone = clone $images[$lang][$type]; |
90 | 90 | $media_clone->setIsNewRecord(true); |
91 | - unset($media_clone->id); | |
92 | - $media_clone->lang_id = 0; | |
93 | - $media_clone->upload($category->id); | |
91 | + unset($media_clone->article_category_media_id); | |
92 | + $media_clone->language_id = 0; | |
93 | + $media_clone->upload($category->article_category_id); | |
94 | 94 | unset($media_clone); |
95 | 95 | $first = 0; |
96 | 96 | } |
... | ... | @@ -100,7 +100,7 @@ class CategoryController extends Controller |
100 | 100 | foreach($category_langs as $category_lang) { |
101 | 101 | if($first) { |
102 | 102 | $category_lang_clone = clone $category_lang; |
103 | - $category_lang_clone->lang_id = 0; | |
103 | + $category_lang_clone->language_id = 0; | |
104 | 104 | $category_lang_clone->link('category', $category); |
105 | 105 | unset($category_lang_clone); |
106 | 106 | } |
... | ... | @@ -126,20 +126,20 @@ class CategoryController extends Controller |
126 | 126 | $images = []; |
127 | 127 | $images[0]['additional'][0] = new ArticleCategoryMedia(['scenario' => ArticleCategoryMedia::SCENARIO_ADDITIONAL]); |
128 | 128 | $images[0]['additional'][0]->type = 'additional'; |
129 | - $images[0]['additional'][0]->lang_id = 0; | |
129 | + $images[0]['additional'][0]->language_id = 0; | |
130 | 130 | foreach($imagestack as $image) { |
131 | 131 | if(in_array($image->type, ['full', 'preview'])) { |
132 | - $images[$image->lang_id][$image->type] = $image; | |
133 | - $images[$image->lang_id][$image->type]->scenario = $image->type; | |
132 | + $images[$image->language_id][$image->type] = $image; | |
133 | + $images[$image->language_id][$image->type]->scenario = $image->type; | |
134 | 134 | } else { |
135 | - $images[$image->lang_id][$image->type][$image->id] = $image; | |
136 | - $images[$image->lang_id][$image->type][$image->id]->scenario = $image->type; | |
135 | + $images[$image->language_id][$image->type][$image->article_category_media_id] = $image; | |
136 | + $images[$image->language_id][$image->type][$image->article_category_media_id]->scenario = $image->type; | |
137 | 137 | } |
138 | 138 | } |
139 | 139 | foreach($images as $lang => $value) { |
140 | 140 | $images[$lang]['additional'][0] = new ArticleCategoryMedia(['scenario' => ArticleCategoryMedia::SCENARIO_ADDITIONAL]); |
141 | 141 | } |
142 | - $category_langs = $category->getArticleCategoryLangs()->where(['>=', 'lang_id', '1'])->indexBy('lang_id')->all(); | |
142 | + $category_langs = $category->getArticleCategoryLangs()->where(['>=', 'language_id', '1'])->indexBy('language_id')->all(); | |
143 | 143 | $langs = Language::getActiveLanguages(); |
144 | 144 | $default_lang = Language::getDefaultLang(); |
145 | 145 | $isValid = false; |
... | ... | @@ -148,14 +148,14 @@ class CategoryController extends Controller |
148 | 148 | $category->load(\Yii::$app->request->post()); |
149 | 149 | $isValid = $category->validate(); |
150 | 150 | $images[0]['additional'][0]->type = 'additional'; |
151 | - $images[0]['additional'][0]->lang_id = 0; | |
151 | + $images[0]['additional'][0]->language_id = 0; | |
152 | 152 | $images[0]['additional'][0]->imageFile = UploadedFile::getInstances($images[0]['additional'][0], "[0][additional]imageFile"); |
153 | 153 | $isValid = $images[0]['additional'][0]->validate(['imageFile']) && $isValid; |
154 | 154 | foreach(\Yii::$app->request->post()['ArticleCategoryMedia'] as $lang => $value) { |
155 | 155 | foreach($value as $type => $fields) { |
156 | 156 | if(!in_array($type, ['full', 'preview'])) continue; |
157 | 157 | $images[$lang][$type] = new ArticleCategoryMedia(['scenario' => $type]); |
158 | - $images[$lang][$type]->lang_id = $lang; | |
158 | + $images[$lang][$type]->language_id = $lang; | |
159 | 159 | $images[$lang][$type]->type = $type; |
160 | 160 | $images[$lang][$type]->imageFile = UploadedFile::getInstance($images[$lang][$type], "[{$lang}][{$type}]imageFile"); |
161 | 161 | $isValid = $images[$lang][$type]->validate(['imageFile']) && $isValid; |
... | ... | @@ -167,7 +167,7 @@ class CategoryController extends Controller |
167 | 167 | foreach(\Yii::$app->request->post()['ArticleCategoryLang'] as $index => $category_lang) { |
168 | 168 | if(!array_key_exists($index, $category_langs)) { |
169 | 169 | $category_langs[$index] = new ArticleCategoryLang(); |
170 | - $category_langs[$index]->category_id = $category->id; | |
170 | + $category_langs[$index]->article_category_id = $category->article_category_id; | |
171 | 171 | } |
172 | 172 | } |
173 | 173 | ArticleCategoryLang::loadMultiple($category_langs, \Yii::$app->request->post()); |
... | ... | @@ -179,10 +179,10 @@ class CategoryController extends Controller |
179 | 179 | foreach($images as $lang => $value) { |
180 | 180 | foreach($value as $type => $fields) { |
181 | 181 | if($type == 'additional') { |
182 | - $images[$lang][$type][0]->upload($category->id); | |
182 | + $images[$lang][$type][0]->upload($category->article_category_id); | |
183 | 183 | } else { |
184 | 184 | if(!empty($images[$lang][$type]->imageFile)) { |
185 | - $images[$lang][$type]->replace($category->id); | |
185 | + $images[$lang][$type]->replace($category->article_category_id); | |
186 | 186 | } |
187 | 187 | } |
188 | 188 | } | ... | ... |
common/modules/blog/models/Article.php
... | ... | @@ -11,21 +11,21 @@ use yii\db\Query; |
11 | 11 | /** |
12 | 12 | * This is the model class for table "article". |
13 | 13 | * |
14 | - * @property integer $id | |
14 | + * @property integer $article_id | |
15 | 15 | * @property integer $sort |
16 | - * @property string $create_at | |
17 | - * @property string $update_at | |
16 | + * @property string $date_add | |
17 | + * @property string $date_update | |
18 | 18 | * @property string $code |
19 | - * @property integer $author | |
20 | - * @property string $tags | |
21 | - * @property integer $parent_id | |
22 | - * @property integer $active | |
23 | - * @property integer $comments | |
24 | - * @property integer $voting | |
19 | + * @property integer $user_id | |
20 | + * @property string $tag | |
21 | + * @property integer $article_pid | |
22 | + * @property integer $status | |
23 | + * @property integer $comment | |
24 | + * @property integer $vote | |
25 | 25 | * |
26 | 26 | * @property Article $parent |
27 | 27 | * @property Article[] $articles |
28 | - * @property User $author0 | |
28 | + * @property User $user | |
29 | 29 | * @property ArticleLang[] $articleLangs |
30 | 30 | * @property ArticleMedia[] $articleMedia |
31 | 31 | * @property ArticleToCategory[] $articleToCategories |
... | ... | @@ -58,10 +58,10 @@ class Article extends \yii\db\ActiveRecord |
58 | 58 | public function rules() |
59 | 59 | { |
60 | 60 | return [ |
61 | - [['sort', 'parent_id', 'active', 'comments', 'voting'], 'integer'], | |
62 | - [['create_at', 'update_at'], 'safe'], | |
61 | + [['sort', 'article_pid', 'status', 'comment', 'vote'], 'integer'], | |
62 | + [['date_add', 'date_update'], 'safe'], | |
63 | 63 | [['code'], 'required'], |
64 | - [['code', 'tags'], 'string'] | |
64 | + [['code', 'tag'], 'string'] | |
65 | 65 | ]; |
66 | 66 | } |
67 | 67 | |
... | ... | @@ -71,17 +71,17 @@ class Article extends \yii\db\ActiveRecord |
71 | 71 | public function attributeLabels() |
72 | 72 | { |
73 | 73 | return [ |
74 | - 'id' => Yii::t('app', 'ID'), | |
74 | + 'article_id' => Yii::t('app', 'ID'), | |
75 | 75 | 'sort' => Yii::t('app', 'Sort'), |
76 | - 'create_at' => Yii::t('app', 'Create At'), | |
77 | - 'update_at' => Yii::t('app', 'Update At'), | |
76 | + 'date_add' => Yii::t('app', 'Create At'), | |
77 | + 'date_update' => Yii::t('app', 'Update At'), | |
78 | 78 | 'code' => Yii::t('app', 'Code'), |
79 | - 'author' => Yii::t('app', 'Author'), | |
80 | - 'tags' => Yii::t('app', 'Tags'), | |
81 | - 'parent_id' => Yii::t('app', 'Parent ID'), | |
82 | - 'active' => Yii::t('app', 'Active'), | |
83 | - 'comments' => Yii::t('app', 'Comments'), | |
84 | - 'voting' => Yii::t('app', 'Voting'), | |
79 | + 'user_id' => Yii::t('app', 'Author'), | |
80 | + 'tag' => Yii::t('app', 'Tags'), | |
81 | + 'article_pid' => Yii::t('app', 'Parent ID'), | |
82 | + 'status' => Yii::t('app', 'Active'), | |
83 | + 'comment' => Yii::t('app', 'Comments'), | |
84 | + 'vote' => Yii::t('app', 'Voting'), | |
85 | 85 | ]; |
86 | 86 | } |
87 | 87 | |
... | ... | @@ -90,7 +90,7 @@ class Article extends \yii\db\ActiveRecord |
90 | 90 | */ |
91 | 91 | public function getParent() |
92 | 92 | { |
93 | - return $this->hasOne(Article::className(), ['id' => 'parent_id']); | |
93 | + return $this->hasOne(Article::className(), ['article_id' => 'article_pid']); | |
94 | 94 | } |
95 | 95 | |
96 | 96 | /** |
... | ... | @@ -98,15 +98,15 @@ class Article extends \yii\db\ActiveRecord |
98 | 98 | */ |
99 | 99 | public function getArticles() |
100 | 100 | { |
101 | - return $this->hasMany(Article::className(), ['parent_id' => 'id']); | |
101 | + return $this->hasMany(Article::className(), ['article_pid' => 'article_id']); | |
102 | 102 | } |
103 | 103 | |
104 | 104 | /** |
105 | 105 | * @return \yii\db\ActiveQuery |
106 | 106 | */ |
107 | - public function getAuthor0() | |
107 | + public function getUser() | |
108 | 108 | { |
109 | - return $this->hasOne(User::className(), ['id' => 'author']); | |
109 | + return $this->hasOne(User::className(), ['id' => 'user_id']); | |
110 | 110 | } |
111 | 111 | |
112 | 112 | /** |
... | ... | @@ -114,7 +114,7 @@ class Article extends \yii\db\ActiveRecord |
114 | 114 | */ |
115 | 115 | public function getArticleLangs() |
116 | 116 | { |
117 | - return $this->hasMany(ArticleLang::className(), ['article_id' => 'id']); | |
117 | + return $this->hasMany(ArticleLang::className(), ['article_id' => 'article_id']); | |
118 | 118 | } |
119 | 119 | |
120 | 120 | /** |
... | ... | @@ -122,40 +122,40 @@ class Article extends \yii\db\ActiveRecord |
122 | 122 | */ |
123 | 123 | public function getArticleMedia() |
124 | 124 | { |
125 | - return $this->hasMany(ArticleMedia::className(), ['article_id' => 'id']); | |
125 | + return $this->hasMany(ArticleMedia::className(), ['article_id' => 'article_id']); | |
126 | 126 | } |
127 | 127 | |
128 | 128 | public function getMedia() |
129 | 129 | { |
130 | - return $this->hasMany(Media::className(), ['id' => 'media_id'])->via('articleMedia'); | |
130 | + return $this->hasMany(Media::className(), ['article_id' => 'media_id'])->via('articleMedia'); | |
131 | 131 | } |
132 | 132 | /** |
133 | 133 | * @return \yii\db\ActiveQuery |
134 | 134 | */ |
135 | 135 | public function getArticleToCategories() |
136 | 136 | { |
137 | - return $this->hasMany(ArticleToCategory::className(), ['article_id' => 'id']); | |
137 | + return $this->hasMany(ArticleToCategory::className(), ['article_id' => 'article_id']); | |
138 | 138 | } |
139 | 139 | |
140 | 140 | public function getArticleCategories() |
141 | 141 | { |
142 | - return $this->hasMany(ArticleCategory::className(), ['id' => 'category_id'])->viaTable('article_to_category', ['article_id' => 'id']); | |
142 | + return $this->hasMany(ArticleCategory::className(), ['article_category_id' => 'article_category_id'])->viaTable('article_to_category', ['article_id' => 'article_category_id']); | |
143 | 143 | } |
144 | 144 | |
145 | 145 | public static function findArticleDropdown($id) |
146 | 146 | { |
147 | 147 | $query = new Query(); |
148 | - return $query->select(['l.name', 'a.id']) | |
148 | + return $query->select(['l.name', 'a.article_id']) | |
149 | 149 | ->from(['article a']) |
150 | - ->leftJoin(['article_lang l'], 'a.id = l.article_id') | |
151 | - ->where(['l.lang_id' => 0, 'a.active' => 1]) | |
152 | - ->andWhere(['not', ['a.id' => $id]]) | |
153 | - ->indexBy('a.id') | |
150 | + ->leftJoin(['article_lang l'], 'a.article_id = l.article_id') | |
151 | + ->where(['l.language_id' => 0, 'a.status' => 1]) | |
152 | + ->andWhere(['not', ['a.article_id' => $id]]) | |
153 | + ->indexBy('article_id') | |
154 | 154 | ->column(); |
155 | 155 | } |
156 | 156 | |
157 | 157 | public function getArticleCategoriesArray() |
158 | 158 | { |
159 | - return $this->getArticleToCategories()->select('category_id')->column(); | |
159 | + return $this->getArticleToCategories()->select('article_category_id')->column(); | |
160 | 160 | } |
161 | 161 | } | ... | ... |
common/modules/blog/models/ArticleCategory.php
... | ... | @@ -11,14 +11,14 @@ use yii\db\Query; |
11 | 11 | /** |
12 | 12 | * This is the model class for table "article_category". |
13 | 13 | * |
14 | - * @property integer $id | |
15 | - * @property integer $active | |
14 | + * @property integer $article_category_id | |
15 | + * @property integer $status | |
16 | 16 | * @property integer $sort |
17 | 17 | * @property string $code |
18 | - * @property string $created_at | |
19 | - * @property string $updated_at | |
20 | - * @property string $tags | |
21 | - * @property integer $parent_id | |
18 | + * @property string $date_add | |
19 | + * @property string $date_update | |
20 | + * @property string $tag | |
21 | + * @property integer $artucle_category_pid | |
22 | 22 | * |
23 | 23 | * @property Article[] $articles |
24 | 24 | * @property ArticleCategory $parent |
... | ... | @@ -53,11 +53,11 @@ class ArticleCategory extends ActiveRecord |
53 | 53 | public function rules() |
54 | 54 | { |
55 | 55 | return [ |
56 | - [['active', 'sort', 'parent_id'], 'integer'], | |
56 | + [['status', 'sort', 'article_category_pid'], 'integer'], | |
57 | 57 | [['code'], 'required'], |
58 | - [['code', 'tags'], 'string'], | |
59 | - [['created_at', 'updated_at'], 'safe'], | |
60 | - [['active'], 'boolean'], | |
58 | + [['code', 'tag'], 'string'], | |
59 | + [['date_add', 'date_update'], 'safe'], | |
60 | + [['status'], 'boolean'], | |
61 | 61 | ]; |
62 | 62 | } |
63 | 63 | |
... | ... | @@ -67,14 +67,14 @@ class ArticleCategory extends ActiveRecord |
67 | 67 | public function attributeLabels() |
68 | 68 | { |
69 | 69 | return [ |
70 | - 'id' => Yii::t('app', 'ID'), | |
71 | - 'active' => Yii::t('app', 'Active'), | |
70 | + 'article_category_id' => Yii::t('app', 'ID'), | |
71 | + 'status' => Yii::t('app', 'Active'), | |
72 | 72 | 'sort' => Yii::t('app', 'Sort'), |
73 | 73 | 'code' => Yii::t('app', 'Code'), |
74 | - 'created_at' => Yii::t('app', 'Created At'), | |
75 | - 'updated_at' => Yii::t('app', 'Updated At'), | |
76 | - 'tags' => Yii::t('app', 'Tags'), | |
77 | - 'parent_id' => Yii::t('app', 'Parent ID'), | |
74 | + 'date_add' => Yii::t('app', 'Created At'), | |
75 | + 'date_update' => Yii::t('app', 'Updated At'), | |
76 | + 'tag' => Yii::t('app', 'Tags'), | |
77 | + 'article_category_pid' => Yii::t('app', 'Parent ID'), | |
78 | 78 | ]; |
79 | 79 | } |
80 | 80 | |
... | ... | @@ -83,7 +83,7 @@ class ArticleCategory extends ActiveRecord |
83 | 83 | */ |
84 | 84 | public function getArticles() |
85 | 85 | { |
86 | - return $this->hasMany(Article::className(), ['category_id' => 'id']); | |
86 | + return $this->hasMany(Article::className(), ['article_id' => 'article_id'])->viaTable('article_to_category', ['article_category_id' => 'article_category_id']) ; | |
87 | 87 | } |
88 | 88 | |
89 | 89 | /** |
... | ... | @@ -91,7 +91,7 @@ class ArticleCategory extends ActiveRecord |
91 | 91 | */ |
92 | 92 | public function getParent() |
93 | 93 | { |
94 | - return $this->hasOne(ArticleCategory::className(), ['id' => 'parent_id']); | |
94 | + return $this->hasOne(ArticleCategory::className(), ['article_category_id' => 'article_category_pid']); | |
95 | 95 | } |
96 | 96 | |
97 | 97 | /** |
... | ... | @@ -99,7 +99,7 @@ class ArticleCategory extends ActiveRecord |
99 | 99 | */ |
100 | 100 | public function getArticleCategories() |
101 | 101 | { |
102 | - return $this->hasMany(ArticleCategory::className(), ['parent_id' => 'id']); | |
102 | + return $this->hasMany(ArticleCategory::className(), ['article_category_pid' => 'article_category_id']); | |
103 | 103 | } |
104 | 104 | |
105 | 105 | /** |
... | ... | @@ -107,7 +107,7 @@ class ArticleCategory extends ActiveRecord |
107 | 107 | */ |
108 | 108 | public function getArticleCategoryLangs() |
109 | 109 | { |
110 | - return $this->hasMany(ArticleCategoryLang::className(), ['category_id' => 'id']); | |
110 | + return $this->hasMany(ArticleCategoryLang::className(), ['article_category_id' => 'article_category_id']); | |
111 | 111 | } |
112 | 112 | |
113 | 113 | /** |
... | ... | @@ -115,18 +115,18 @@ class ArticleCategory extends ActiveRecord |
115 | 115 | */ |
116 | 116 | public function getArticleCategoryMedia() |
117 | 117 | { |
118 | - return $this->hasMany(ArticleCategoryMedia::className(), ['category_id' => 'id']); | |
118 | + return $this->hasMany(ArticleCategoryMedia::className(), ['article_category_id' => 'article_category_id']); | |
119 | 119 | } |
120 | 120 | |
121 | 121 | public static function findArticleCategoryDropdown($id) |
122 | 122 | { |
123 | 123 | $query = new Query(); |
124 | - return $query->select(['l.name', 'c.id']) | |
124 | + return $query->select(['l.name', 'c.article_category_id']) | |
125 | 125 | ->from(['article_category c']) |
126 | - ->leftJoin(['article_category_lang l'], 'c.id = l.category_id') | |
127 | - ->where(['l.lang_id' => 0, 'c.active' => 1]) | |
128 | - ->andWhere(['not', ['c.id' => $id]]) | |
129 | - ->indexBy('id') | |
126 | + ->leftJoin(['article_category_lang l'], 'c.article_category_id = l.article_category_id') | |
127 | + ->where(['l.language_id' => 0, 'c.status' => 1]) | |
128 | + ->andWhere(['not', ['c.article_category_id' => $id]]) | |
129 | + ->indexBy('article_category_id') | |
130 | 130 | ->column(); |
131 | 131 | } |
132 | 132 | ... | ... |
common/modules/blog/models/ArticleCategoryLang.php
... | ... | @@ -8,18 +8,18 @@ use Yii; |
8 | 8 | /** |
9 | 9 | * This is the model class for table "article_category_lang". |
10 | 10 | * |
11 | - * @property integer $id | |
12 | - * @property integer $lang_id | |
13 | - * @property integer $category_id | |
11 | + * @property integer $article_category_lang_id | |
12 | + * @property integer $language_id | |
13 | + * @property integer $article_category_id | |
14 | 14 | * @property string $text |
15 | 15 | * @property string $preview |
16 | 16 | * @property string $seo_url |
17 | 17 | * @property string $name |
18 | 18 | * @property string $meta_title |
19 | 19 | * @property string $meta_descr |
20 | - * @property string $meta_keywords | |
20 | + * @property string $meta_keyword | |
21 | 21 | * @property string $h1_tag |
22 | - * @property string $tags | |
22 | + * @property string $tag | |
23 | 23 | * |
24 | 24 | * @property ArticleCategory $category |
25 | 25 | * @property Language $lang |
... | ... | @@ -51,9 +51,9 @@ class ArticleCategoryLang extends \yii\db\ActiveRecord |
51 | 51 | public function rules() |
52 | 52 | { |
53 | 53 | return [ |
54 | - [['lang_id', 'category_id'], 'integer'], | |
54 | + [['language_id', 'article_category_id'], 'integer'], | |
55 | 55 | [['text', 'name'], 'required'], |
56 | - [['text', 'preview', 'seo_url', 'name', 'meta_title', 'meta_descr', 'meta_keywords', 'h1_tag', 'tags'], 'string'], | |
56 | + [['text', 'preview', 'seo_url', 'name', 'meta_title', 'meta_descr', 'meta_keyword', 'h1_tag', 'tag'], 'string'], | |
57 | 57 | ['seo_url', function($attribute, $params) { |
58 | 58 | $pattern = "/^[a-zA-Z\d_-]+$/"; |
59 | 59 | if(!preg_match($pattern, $this->$attribute)) { |
... | ... | @@ -69,18 +69,18 @@ class ArticleCategoryLang extends \yii\db\ActiveRecord |
69 | 69 | public function attributeLabels() |
70 | 70 | { |
71 | 71 | return [ |
72 | - 'id' => Yii::t('app', 'ID'), | |
73 | - 'lang_id' => Yii::t('app', 'Lang ID'), | |
74 | - 'category_id' => Yii::t('app', 'Category ID'), | |
72 | + 'article_category_lang_id' => Yii::t('app', 'ID'), | |
73 | + 'language_id' => Yii::t('app', 'Lang ID'), | |
74 | + 'article_category_id' => Yii::t('app', 'Category ID'), | |
75 | 75 | 'text' => Yii::t('app', 'Text'), |
76 | 76 | 'preview' => Yii::t('app', 'Preview'), |
77 | 77 | 'seo_url' => Yii::t('app', 'Seo Url'), |
78 | 78 | 'name' => Yii::t('app', 'Name'), |
79 | 79 | 'meta_title' => Yii::t('app', 'Meta Title'), |
80 | 80 | 'meta_descr' => Yii::t('app', 'Meta Descr'), |
81 | - 'meta_keywords' => Yii::t('app', 'Meta Keywords'), | |
81 | + 'meta_keyword' => Yii::t('app', 'Meta Keywords'), | |
82 | 82 | 'h1_tag' => Yii::t('app', 'H1 Tag'), |
83 | - 'tags' => Yii::t('app', 'Tags'), | |
83 | + 'tag' => Yii::t('app', 'Tags'), | |
84 | 84 | ]; |
85 | 85 | } |
86 | 86 | |
... | ... | @@ -89,7 +89,7 @@ class ArticleCategoryLang extends \yii\db\ActiveRecord |
89 | 89 | */ |
90 | 90 | public function getCategory() |
91 | 91 | { |
92 | - return $this->hasOne(ArticleCategory::className(), ['id' => 'category_id']); | |
92 | + return $this->hasOne(ArticleCategory::className(), ['article_category_id' => 'article_category_id']); | |
93 | 93 | } |
94 | 94 | |
95 | 95 | /** |
... | ... | @@ -97,6 +97,6 @@ class ArticleCategoryLang extends \yii\db\ActiveRecord |
97 | 97 | */ |
98 | 98 | public function getLang() |
99 | 99 | { |
100 | - return $this->hasOne(Language::className(), ['language_id' => 'lang_id']); | |
100 | + return $this->hasOne(Language::className(), ['language_id' => 'language_id']); | |
101 | 101 | } |
102 | 102 | } | ... | ... |
common/modules/blog/models/ArticleCategoryMedia.php
... | ... | @@ -8,16 +8,18 @@ use Yii; |
8 | 8 | /** |
9 | 9 | * This is the model class for table "article_category_media". |
10 | 10 | * |
11 | - * @property integer $id | |
12 | - * @property integer $category_id | |
11 | + * @property integer $article_category_media_id | |
12 | + * @property integer $article_category_id | |
13 | 13 | * @property integer $media_id |
14 | 14 | * @property string $media_alt |
15 | 15 | * @property string $media_title |
16 | 16 | * @property string $media_caption |
17 | 17 | * @property string $type |
18 | + * @property string $language_id | |
18 | 19 | * |
19 | 20 | * @property ArticleCategory $category |
20 | 21 | * @property Media $media |
22 | + * @property Language $lang | |
21 | 23 | */ |
22 | 24 | class ArticleCategoryMedia extends \yii\db\ActiveRecord |
23 | 25 | { |
... | ... | @@ -36,9 +38,9 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
36 | 38 | public function scenarios() |
37 | 39 | { |
38 | 40 | $scenarios = parent::scenarios(); |
39 | - $scenarios[self::SCENARIO_FULL] = ['id', 'category_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile']; | |
40 | - $scenarios[self::SCENARIO_PREVIEW] = ['id', 'category_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile']; | |
41 | - $scenarios[self::SCENARIO_ADDITIONAL] = ['id', 'category_id', 'media_id', 'type', 'imageFile']; | |
41 | + $scenarios[self::SCENARIO_FULL] = ['article_category_media_id', 'article_category_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile']; | |
42 | + $scenarios[self::SCENARIO_PREVIEW] = ['article_category_media_id', 'article_category_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile']; | |
43 | + $scenarios[self::SCENARIO_ADDITIONAL] = ['article_category_media_id', 'article_category_id', 'media_id', 'type', 'imageFile']; | |
42 | 44 | return $scenarios; |
43 | 45 | } |
44 | 46 | |
... | ... | @@ -48,8 +50,8 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
48 | 50 | public function rules() |
49 | 51 | { |
50 | 52 | return [ |
51 | - [['category_id', 'media_id'], 'required'], | |
52 | - [['category_id', 'media_id'], 'integer'], | |
53 | + [['article_category_id', 'media_id'], 'required'], | |
54 | + [['article_category_id', 'media_id'], 'integer'], | |
53 | 55 | [['media_alt', 'media_title', 'media_caption'], 'string'], |
54 | 56 | [['type'], 'string', 'max' => 10], |
55 | 57 | [['imageFile'], 'file', 'extensions' => 'png, gif, jpg, jpeg', 'skipOnEmpty' => true, 'on' => self::SCENARIO_FULL], |
... | ... | @@ -64,14 +66,15 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
64 | 66 | public function attributeLabels() |
65 | 67 | { |
66 | 68 | return [ |
67 | - 'id' => Yii::t('app', 'ID'), | |
68 | - 'category_id' => Yii::t('app', 'Category ID'), | |
69 | + 'article_category_media_id' => Yii::t('app', 'ID'), | |
70 | + 'article_category_id' => Yii::t('app', 'Category ID'), | |
69 | 71 | 'media_id' => Yii::t('app', 'Media ID'), |
70 | 72 | 'media_alt' => Yii::t('app', 'Media Alt'), |
71 | 73 | 'media_title' => Yii::t('app', 'Media Title'), |
72 | 74 | 'media_caption' => Yii::t('app', 'Media Caption'), |
73 | 75 | 'type' => Yii::t('app', 'Type'), |
74 | 76 | 'imageFile' => Yii::t('app', 'Image File'), |
77 | + 'language_id' => Yii::t('app', 'Language ID'), | |
75 | 78 | ]; |
76 | 79 | } |
77 | 80 | |
... | ... | @@ -80,7 +83,7 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
80 | 83 | */ |
81 | 84 | public function getCategory() |
82 | 85 | { |
83 | - return $this->hasOne(ArticleCategory::className(), ['id' => 'category_id']); | |
86 | + return $this->hasOne(ArticleCategory::className(), ['article_category_id' => 'article_category_id']); | |
84 | 87 | } |
85 | 88 | |
86 | 89 | /** |
... | ... | @@ -88,12 +91,12 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
88 | 91 | */ |
89 | 92 | public function getMedia() |
90 | 93 | { |
91 | - return $this->hasOne(Media::className(), ['id' => 'media_id']); | |
94 | + return $this->hasOne(Media::className(), ['media_id' => 'media_id']); | |
92 | 95 | } |
93 | 96 | |
94 | 97 | public function upload($category_id) |
95 | 98 | { |
96 | - $this->category_id = $category_id; | |
99 | + $this->article_category_id = $category_id; | |
97 | 100 | if(is_array($this->imageFile)) { |
98 | 101 | $ok = true; |
99 | 102 | foreach($this->imageFile as $image) { |
... | ... | @@ -101,7 +104,7 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
101 | 104 | $media = new Media(); |
102 | 105 | $media->imageFile = $image; |
103 | 106 | $media->upload(); |
104 | - $media_category->media_id = $media->id; | |
107 | + $media_category->media_id = $media->media_id; | |
105 | 108 | $ok = $media_category->save() && $ok; |
106 | 109 | unset($media_category); |
107 | 110 | } |
... | ... | @@ -110,19 +113,19 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
110 | 113 | $media = new Media(); |
111 | 114 | $media->imageFile = $this->imageFile; |
112 | 115 | $media->upload(); |
113 | - $this->media_id = $media->id; | |
116 | + $this->media_id = $media->media_id; | |
114 | 117 | return $this->save(); |
115 | 118 | } |
116 | 119 | } |
117 | 120 | |
118 | 121 | public function replace($category_id, $removeMedia = false) |
119 | 122 | { |
120 | - $this->category_id = $category_id; | |
123 | + $this->article_category_id = $category_id; | |
121 | 124 | if($removeMedia) { |
122 | - $category_media = ArticleCategoryMedia::find()->select('media_id')->where(['category_id' => $this->category_id, 'type' => $this->type])->column(); | |
125 | + $category_media = ArticleCategoryMedia::find()->select('media_id')->where(['article_category_id' => $this->article_category_id, 'type' => $this->type])->column(); | |
123 | 126 | $media = array(); |
124 | 127 | foreach($category_media as $media_id) { |
125 | - $media[] = Media::findOne(['id' => $media_id]); | |
128 | + $media[] = Media::findOne(['media_id' => $media_id]); | |
126 | 129 | } |
127 | 130 | $media = array_unique($media); |
128 | 131 | foreach($media as $one_media) { |
... | ... | @@ -140,17 +143,17 @@ class ArticleCategoryMedia extends \yii\db\ActiveRecord |
140 | 143 | $media = new Media(); |
141 | 144 | $media->imageFile = $image; |
142 | 145 | $media->upload(); |
143 | - $media_category->media_id = $media->id; | |
146 | + $media_category->media_id = $media->media_id; | |
144 | 147 | $ok = $media_category->save() && $ok; |
145 | 148 | unset($media_category); |
146 | 149 | } |
147 | 150 | return $ok; |
148 | 151 | } elseif(!empty($this->imageFile)) { |
149 | - ArticleCategoryMedia::deleteAll(['category_id' => $this->category_id, 'type' => $this->type]); | |
152 | + ArticleCategoryMedia::deleteAll(['category_id' => $this->article_category_id, 'type' => $this->type]); | |
150 | 153 | $media = new Media(); |
151 | 154 | $media->imageFile = $this->imageFile; |
152 | 155 | $media->upload(); |
153 | - $this->media_id = $media->id; | |
156 | + $this->media_id = $media->media_id; | |
154 | 157 | $this->setIsNewRecord(true); |
155 | 158 | return $this->save(); |
156 | 159 | } | ... | ... |
common/modules/blog/models/ArticleLang.php
... | ... | @@ -8,8 +8,8 @@ use common\models\Language; |
8 | 8 | /** |
9 | 9 | * This is the model class for table "article_lang". |
10 | 10 | * |
11 | - * @property integer $id | |
12 | - * @property integer $lang_id | |
11 | + * @property integer $article_lang_id | |
12 | + * @property integer $language_id | |
13 | 13 | * @property integer $article_id |
14 | 14 | * @property string $text |
15 | 15 | * @property string $seo_url |
... | ... | @@ -17,9 +17,9 @@ use common\models\Language; |
17 | 17 | * @property string $preview |
18 | 18 | * @property string $meta_title |
19 | 19 | * @property string $meta_descr |
20 | - * @property string $meta_keywords | |
20 | + * @property string $meta_keyword | |
21 | 21 | * @property string $h1_tag |
22 | - * @property string $tags | |
22 | + * @property string $tag | |
23 | 23 | * |
24 | 24 | * @property Article $article |
25 | 25 | * @property Language $lang |
... | ... | @@ -40,9 +40,9 @@ class ArticleLang extends \yii\db\ActiveRecord |
40 | 40 | public function rules() |
41 | 41 | { |
42 | 42 | return [ |
43 | - [['lang_id', 'text', 'name'], 'required'], | |
44 | - [['lang_id', 'article_id'], 'integer'], | |
45 | - [['text', 'seo_url', 'name', 'preview', 'meta_title', 'meta_descr', 'meta_keywords', 'h1_tag', 'tags'], 'string'] | |
43 | + [['language_id', 'text', 'name'], 'required'], | |
44 | + [['language_id', 'article_id'], 'integer'], | |
45 | + [['text', 'seo_url', 'name', 'preview', 'meta_title', 'meta_descr', 'meta_keyword', 'h1_tag', 'tag'], 'string'] | |
46 | 46 | ]; |
47 | 47 | } |
48 | 48 | |
... | ... | @@ -52,8 +52,8 @@ class ArticleLang extends \yii\db\ActiveRecord |
52 | 52 | public function attributeLabels() |
53 | 53 | { |
54 | 54 | return [ |
55 | - 'id' => Yii::t('app', 'ID'), | |
56 | - 'lang_id' => Yii::t('app', 'Lang ID'), | |
55 | + 'article_lang_id' => Yii::t('app', 'ID'), | |
56 | + 'language_id' => Yii::t('app', 'Lang ID'), | |
57 | 57 | 'article_id' => Yii::t('app', 'Article ID'), |
58 | 58 | 'text' => Yii::t('app', 'Text'), |
59 | 59 | 'seo_url' => Yii::t('app', 'Seo Url'), |
... | ... | @@ -61,9 +61,9 @@ class ArticleLang extends \yii\db\ActiveRecord |
61 | 61 | 'preview' => Yii::t('app', 'Preview'), |
62 | 62 | 'meta_title' => Yii::t('app', 'Meta Title'), |
63 | 63 | 'meta_descr' => Yii::t('app', 'Meta Descr'), |
64 | - 'meta_keywords' => Yii::t('app', 'Meta Keywords'), | |
64 | + 'meta_keyword' => Yii::t('app', 'Meta Keywords'), | |
65 | 65 | 'h1_tag' => Yii::t('app', 'H1 Tag'), |
66 | - 'tags' => Yii::t('app', 'Tags'), | |
66 | + 'tag' => Yii::t('app', 'Tags'), | |
67 | 67 | ]; |
68 | 68 | } |
69 | 69 | |
... | ... | @@ -72,7 +72,7 @@ class ArticleLang extends \yii\db\ActiveRecord |
72 | 72 | */ |
73 | 73 | public function getArticle() |
74 | 74 | { |
75 | - return $this->hasOne(Article::className(), ['id' => 'article_id']); | |
75 | + return $this->hasOne(Article::className(), ['article_id' => 'article_id']); | |
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
... | ... | @@ -80,6 +80,6 @@ class ArticleLang extends \yii\db\ActiveRecord |
80 | 80 | */ |
81 | 81 | public function getLang() |
82 | 82 | { |
83 | - return $this->hasOne(Language::className(), ['language_id' => 'lang_id']); | |
83 | + return $this->hasOne(Language::className(), ['language_id' => 'language_id']); | |
84 | 84 | } |
85 | 85 | } | ... | ... |
common/modules/blog/models/ArticleMedia.php
... | ... | @@ -9,13 +9,14 @@ use yii\web\UploadedFile; |
9 | 9 | /** |
10 | 10 | * This is the model class for table "article_media". |
11 | 11 | * |
12 | - * @property integer $id | |
12 | + * @property integer $article_media_id | |
13 | 13 | * @property integer $article_id |
14 | 14 | * @property integer $media_id |
15 | 15 | * @property string $type |
16 | 16 | * @property string $media_alt |
17 | 17 | * @property string $media_title |
18 | 18 | * @property string $media_caption |
19 | + * @property integer $language_id | |
19 | 20 | * |
20 | 21 | * @property Article $article |
21 | 22 | * @property Media $media |
... | ... | @@ -37,9 +38,9 @@ class ArticleMedia extends \yii\db\ActiveRecord |
37 | 38 | public function scenarios() |
38 | 39 | { |
39 | 40 | $scenarios = parent::scenarios(); |
40 | - $scenarios[self::SCENARIO_FULL] = ['id', 'article_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile', 'lang_id']; | |
41 | - $scenarios[self::SCENARIO_PREVIEW] = ['id', 'article_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile', 'lang_id']; | |
42 | - $scenarios[self::SCENARIO_ADDITIONAL] = ['id', 'article_id', 'media_id', 'type', 'imageFile', 'lang_id']; | |
41 | + $scenarios[self::SCENARIO_FULL] = ['article_media_id', 'article_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile', 'language_id']; | |
42 | + $scenarios[self::SCENARIO_PREVIEW] = ['article_media_id', 'article_id', 'media_id', 'type', 'media_alt', 'media_title', 'media_caption', 'imageFile', 'language_id']; | |
43 | + $scenarios[self::SCENARIO_ADDITIONAL] = ['article_media_id', 'article_id', 'media_id', 'type', 'imageFile', 'language_id']; | |
43 | 44 | return $scenarios; |
44 | 45 | } |
45 | 46 | |
... | ... | @@ -50,7 +51,7 @@ class ArticleMedia extends \yii\db\ActiveRecord |
50 | 51 | { |
51 | 52 | return [ |
52 | 53 | [['article_id', 'media_id'], 'required'], |
53 | - [['article_id', 'media_id', 'lang_id'], 'integer'], | |
54 | + [['article_id', 'media_id', 'language_id'], 'integer'], | |
54 | 55 | [['media_alt', 'media_title', 'media_caption'], 'string'], |
55 | 56 | [['type'], 'string', 'max' => 10], |
56 | 57 | [['imageFile'], 'file', 'extensions' => 'png, gif, jpg, jpeg', 'skipOnEmpty' => true, 'on' => self::SCENARIO_FULL], |
... | ... | @@ -65,7 +66,7 @@ class ArticleMedia extends \yii\db\ActiveRecord |
65 | 66 | public function attributeLabels() |
66 | 67 | { |
67 | 68 | return [ |
68 | - 'id' => Yii::t('app', 'ID'), | |
69 | + 'article_media_id' => Yii::t('app', 'ID'), | |
69 | 70 | 'article_id' => Yii::t('app', 'Article ID'), |
70 | 71 | 'media_id' => Yii::t('app', 'Media ID'), |
71 | 72 | 'type' => Yii::t('app', 'Type'), |
... | ... | @@ -81,7 +82,7 @@ class ArticleMedia extends \yii\db\ActiveRecord |
81 | 82 | */ |
82 | 83 | public function getArticle() |
83 | 84 | { |
84 | - return $this->hasOne(Article::className(), ['id' => 'article_id']); | |
85 | + return $this->hasOne(Article::className(), ['article_id' => 'article_id']); | |
85 | 86 | } |
86 | 87 | |
87 | 88 | /** |
... | ... | @@ -89,7 +90,7 @@ class ArticleMedia extends \yii\db\ActiveRecord |
89 | 90 | */ |
90 | 91 | public function getMedia() |
91 | 92 | { |
92 | - return $this->hasOne(Media::className(), ['id' => 'media_id']); | |
93 | + return $this->hasOne(Media::className(), ['media_id' => 'media_id']); | |
93 | 94 | } |
94 | 95 | |
95 | 96 | public function upload($article_id) |
... | ... | @@ -102,7 +103,7 @@ class ArticleMedia extends \yii\db\ActiveRecord |
102 | 103 | $media = new Media(); |
103 | 104 | $media->imageFile = $image; |
104 | 105 | $media->upload(); |
105 | - $media_article->media_id = $media->id; | |
106 | + $media_article->media_id = $media->media_id; | |
106 | 107 | $ok = $media_article->save() && $ok; |
107 | 108 | unset($media_article); |
108 | 109 | } |
... | ... | @@ -111,7 +112,7 @@ class ArticleMedia extends \yii\db\ActiveRecord |
111 | 112 | $media = new Media(); |
112 | 113 | $media->imageFile = $this->imageFile; |
113 | 114 | $media->upload(); |
114 | - $this->media_id = $media->id; | |
115 | + $this->media_id = $media->media_id; | |
115 | 116 | return $this->save(); |
116 | 117 | } |
117 | 118 | } |
... | ... | @@ -120,10 +121,10 @@ class ArticleMedia extends \yii\db\ActiveRecord |
120 | 121 | { |
121 | 122 | $this->article_id = $article_id; |
122 | 123 | if($removeMedia && !$this->getIsNewRecord()) { |
123 | - $article_media = ArticleMedia::find()->select('media_id')->where(['article_id' => $this->article_id, 'type' => $this->type, 'lang_id' => $this->lang_id])->column(); | |
124 | + $article_media = ArticleMedia::find()->select('media_id')->where(['article_id' => $this->article_id, 'type' => $this->type, 'language_id' => $this->language_id])->column(); | |
124 | 125 | $media = array(); |
125 | 126 | foreach($article_media as $media_id) { |
126 | - $media[] = Media::findOne(['id' => $media_id]); | |
127 | + $media[] = Media::findOne(['media_id' => $media_id]); | |
127 | 128 | } |
128 | 129 | $media = array_unique($media); |
129 | 130 | foreach($media as $one_media) { |
... | ... | @@ -141,17 +142,17 @@ class ArticleMedia extends \yii\db\ActiveRecord |
141 | 142 | $media = new Media(); |
142 | 143 | $media->imageFile = $image; |
143 | 144 | $media->upload(); |
144 | - $media_article->media_id = $media->id; | |
145 | + $media_article->media_id = $media->media_id; | |
145 | 146 | $ok = $media_article->save() && $ok; |
146 | 147 | unset($media_article); |
147 | 148 | } |
148 | 149 | return $ok; |
149 | 150 | } elseif(!empty($this->imageFile)) { |
150 | - ArticleMedia::deleteAll(['article_id' => $this->article_id, 'type' => $this->type, 'lang_id' => $this->lang_id]); | |
151 | + ArticleMedia::deleteAll(['article_id' => $this->article_id, 'type' => $this->type, 'language_id' => $this->language_id]); | |
151 | 152 | $media = new Media(); |
152 | 153 | $media->imageFile = $this->imageFile; |
153 | 154 | $media->upload(); |
154 | - $this->media_id = $media->id; | |
155 | + $this->media_id = $media->media_id; | |
155 | 156 | $this->setIsNewRecord(true); |
156 | 157 | return $this->save(); |
157 | 158 | } | ... | ... |
common/modules/blog/models/ArticleToCategory.php
... | ... | @@ -8,7 +8,7 @@ use Yii; |
8 | 8 | * This is the model class for table "article_to_category". |
9 | 9 | * |
10 | 10 | * @property integer $article_id |
11 | - * @property integer $category_id | |
11 | + * @property integer $article_category_id | |
12 | 12 | * |
13 | 13 | * @property Article $article |
14 | 14 | * @property ArticleCategory $category |
... | ... | @@ -29,7 +29,7 @@ class ArticleToCategory extends \yii\db\ActiveRecord |
29 | 29 | public function rules() |
30 | 30 | { |
31 | 31 | return [ |
32 | - [['article_id', 'category_id'], 'integer'] | |
32 | + [['article_id', 'article_category_id'], 'integer'] | |
33 | 33 | ]; |
34 | 34 | } |
35 | 35 | |
... | ... | @@ -40,7 +40,7 @@ class ArticleToCategory extends \yii\db\ActiveRecord |
40 | 40 | { |
41 | 41 | return [ |
42 | 42 | 'article_id' => Yii::t('app', 'Article ID'), |
43 | - 'category_id' => Yii::t('app', 'Category ID'), | |
43 | + 'article_category_id' => Yii::t('app', 'Category ID'), | |
44 | 44 | ]; |
45 | 45 | } |
46 | 46 | |
... | ... | @@ -49,7 +49,7 @@ class ArticleToCategory extends \yii\db\ActiveRecord |
49 | 49 | */ |
50 | 50 | public function getArticle() |
51 | 51 | { |
52 | - return $this->hasOne(Article::className(), ['id' => 'article_id']); | |
52 | + return $this->hasOne(Article::className(), ['article_id' => 'article_id']); | |
53 | 53 | } |
54 | 54 | |
55 | 55 | /** |
... | ... | @@ -57,6 +57,6 @@ class ArticleToCategory extends \yii\db\ActiveRecord |
57 | 57 | */ |
58 | 58 | public function getCategory() |
59 | 59 | { |
60 | - return $this->hasOne(ArticleCategory::className(), ['id' => 'category_id']); | |
60 | + return $this->hasOne(ArticleCategory::className(), ['article_category_id' => 'article_category_id']); | |
61 | 61 | } |
62 | 62 | } | ... | ... |
common/modules/blog/views/ajax/_article_form.php
... | ... | @@ -3,31 +3,36 @@ |
3 | 3 | use yii\bootstrap\ActiveField; |
4 | 4 | use mihaildev\ckeditor\CKEditor; |
5 | 5 | |
6 | -$form = \yii\bootstrap\ActiveForm::begin(); | |
6 | +if(empty($form)) { | |
7 | + $new_form = true; | |
8 | + $form = \yii\bootstrap\ActiveForm::begin(); | |
9 | +} | |
7 | 10 | ?> |
8 | 11 | <div role="" class="tab-pane active ajax-loaded" id="<?=$widget_id?>-<?=$model->language_id?>"> |
9 | 12 | |
10 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]lang_id"]))->label(false)->hiddenInput(['value' => $model->language_id]) ?> | |
13 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]language_id"]))->label(false)->hiddenInput(['value' => $model->language_id]) ?> | |
11 | 14 | |
12 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]text", 'form' => $form]))->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ]]); ?> | |
15 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]text", 'form' => $form]))->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ]]); ?> | |
13 | 16 | |
14 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]preview", 'form' => $form]))->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ]]); ?> | |
17 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]preview", 'form' => $form]))->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ]]); ?> | |
15 | 18 | |
16 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]seo_url"]))->textInput() ?> | |
19 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]seo_url"]))->textInput() ?> | |
17 | 20 | |
18 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]name"]))->textInput() ?> | |
21 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]name"]))->textInput() ?> | |
19 | 22 | |
20 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]meta_title"]))->textInput() ?> | |
23 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]meta_title"]))->textInput() ?> | |
21 | 24 | |
22 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]meta_descr"]))->textarea() ?> | |
25 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]meta_descr"]))->textarea() ?> | |
23 | 26 | |
24 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]meta_keywords"]))->textInput() ?> | |
27 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]meta_keyword"]))->textInput() ?> | |
25 | 28 | |
26 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]h1_tag"]))->textInput() ?> | |
29 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]h1_tag"]))->textInput() ?> | |
27 | 30 | |
28 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id]tags"]))->textInput() ?> | |
31 | + <?= (new ActiveField(['model' => $model, 'attribute' => "[$model->language_id]tag"]))->textInput() ?> | |
29 | 32 | |
30 | 33 | </div> |
31 | 34 | <?php |
32 | -$form->end(); | |
35 | + if($new_form) { | |
36 | + $form->end(); | |
37 | + } | |
33 | 38 | ?> | ... | ... |
common/modules/blog/views/ajax/_article_media_form.php
... | ... | @@ -7,7 +7,7 @@ $form = \yii\bootstrap\ActiveForm::begin(); |
7 | 7 | ?> |
8 | 8 | <div role="" class="tab-pane active ajax-loaded" id="<?=$widget_id?>-<?=$model->language_id?>"> |
9 | 9 | |
10 | - <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id][$type]lang_id"]))->label(false)->hiddenInput(['value' => $model->language_id]) ?> | |
10 | + <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id][$type]language_id"]))->label(false)->hiddenInput(['value' => $model->language_id]) ?> | |
11 | 11 | |
12 | 12 | <?= (new ActiveField(['model' => $article_lang, 'attribute' => "[$model->language_id][$type]imageFile"]))->fileInput(['class' => 'image_inputs_field']) ?> |
13 | 13 | ... | ... |
common/modules/blog/views/ajax/_category_form.php
... | ... | @@ -7,7 +7,7 @@ $form = \yii\bootstrap\ActiveForm::begin(); |
7 | 7 | ?> |
8 | 8 | <div role="" class="tab-pane active ajax-loaded" id="<?=$widget_id?>-<?=$model->language_id?>"> |
9 | 9 | |
10 | - <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]lang_id"]))->label(false)->hiddenInput(['value' => $model->language_id]) ?> | |
10 | + <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]language_id"]))->label(false)->hiddenInput(['value' => $model->language_id]) ?> | |
11 | 11 | |
12 | 12 | <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]text", 'form' => $form]))->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ]]); ?> |
13 | 13 | |
... | ... | @@ -21,11 +21,11 @@ $form = \yii\bootstrap\ActiveForm::begin(); |
21 | 21 | |
22 | 22 | <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]meta_descr"]))->textarea() ?> |
23 | 23 | |
24 | - <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]meta_keywords"]))->textInput() ?> | |
24 | + <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]meta_keyword"]))->textInput() ?> | |
25 | 25 | |
26 | 26 | <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]h1_tag"]))->textInput() ?> |
27 | 27 | |
28 | - <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]tags"]))->textInput() ?> | |
28 | + <?= (new ActiveField(['model' => $category_lang, 'attribute' => "[$model->language_id]tag"]))->textInput() ?> | |
29 | 29 | |
30 | 30 | </div> |
31 | 31 | <?php | ... | ... |
common/modules/blog/views/article/_form.php
... | ... | @@ -2,7 +2,8 @@ |
2 | 2 | use common\modules\blog\models\ArticleCategory; |
3 | 3 | use common\modules\blog\models\ArticleMedia; |
4 | 4 | use common\widgets\Multilang; |
5 | -use yii\bootstrap\ActiveForm; | |
5 | + use common\widgets\Multilanguage; | |
6 | + use yii\bootstrap\ActiveForm; | |
6 | 7 | use common\modules\blog\models\Article; |
7 | 8 | use yii\bootstrap\Html; |
8 | 9 | use mihaildev\ckeditor\CKEditor; |
... | ... | @@ -19,17 +20,17 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
19 | 20 | |
20 | 21 | <?= $form->field($article, 'code')->hint(Yii::t('app', 'Insensitive latin non-space'))->textInput() ?> |
21 | 22 | |
22 | - <?= $form->field($article, 'tags')->hint(Yii::t('app', 'Comma-separated'))->textInput() ?> | |
23 | + <?= $form->field($article, 'tag')->hint(Yii::t('app', 'Comma-separated'))->textInput() ?> | |
23 | 24 | |
24 | 25 | <?= $form->field($article, 'sort')->input('number') ?> |
25 | 26 | |
26 | - <?= $form->field($article, 'parent_id') | |
27 | - ->dropDownList(Article::findArticleDropdown($article->id), ['prompt' => Yii::t('app', 'Select parent')]) ?> | |
27 | + <?= $form->field($article, 'article_pid') | |
28 | + ->dropDownList(Article::findArticleDropdown($article->article_id), ['prompt' => Yii::t('app', 'Select parent')]) ?> | |
28 | 29 | |
29 | 30 | <?= $form->field($article, 'articleCategoriesArray') |
30 | 31 | ->dropDownList(ArticleCategory::findArticleCategoryDropdown(NULL), ['multiple' => 'multiple'])->label(\Yii::t('app', 'Article Categories Array')); ?> |
31 | 32 | |
32 | - <?= $form->field($article, 'active')->checkbox() ?> | |
33 | + <?= $form->field($article, 'status')->checkbox() ?> | |
33 | 34 | |
34 | 35 | <ul class="nav nav-tabs" id="image-tabs" role="tablist"> |
35 | 36 | <li role="image_inputs" class="active" data-type="full"><a href="#image-full" aria-controls="image-full" role="tab" data-toggle="tab"><span><?= \Yii::t('app', 'full')?></span></a></li> |
... | ... | @@ -42,7 +43,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
42 | 43 | $imagelang = Multilang::begin([ |
43 | 44 | 'ajaxpath' => Url::to(['/blog/ajax/article-media-form?type=full']), |
44 | 45 | 'form' => $form, |
45 | - 'data_langs' => $article->getIsNewRecord()?$images:ArticleMedia::find()->where(['article_id' => $article->id, 'type' => 'full'])->indexBy('lang_id')->all() | |
46 | + 'data_langs' => $article->getIsNewRecord()?$images:ArticleMedia::find()->where(['article_id' => $article->article_id, 'type' => 'full'])->indexBy('language_id')->all() | |
46 | 47 | ]); |
47 | 48 | $first = 1; |
48 | 49 | foreach($images as $lang => $value) { |
... | ... | @@ -50,9 +51,9 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
50 | 51 | ?> |
51 | 52 | <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="<?=$imagelang->id?>-<?=$lang?>"> |
52 | 53 | <?php |
53 | - echo $form->field($images[$lang]['full'], "[{$lang}][full]lang_id")->label(false)->hiddenInput(['value' => $lang]); | |
54 | + echo $form->field($images[$lang]['full'], "[{$lang}][full]language_id")->label(false)->hiddenInput(['value' => $lang]); | |
54 | 55 | echo $form->field($images[$lang]['full'], "[{$lang}][full]imageFile")->fileInput(['class' => 'image_inputs_field']); |
55 | - if(!empty($images[$lang]['full']->id)) { | |
56 | + if(!empty($images[$lang]['full']->article_media_id)) { | |
56 | 57 | echo "<img src='/images/upload/{$images[$lang]['full']->media->hash}/original.{$images[$lang]['full']->media->extension}' width='100' class='image_inputs_prev'>"; |
57 | 58 | } |
58 | 59 | ?> |
... | ... | @@ -68,7 +69,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
68 | 69 | $imagelang = Multilang::begin([ |
69 | 70 | 'ajaxpath' => Url::to(['/blog/ajax/article-media-form?type=preview']), |
70 | 71 | 'form' => $form, |
71 | - 'data_langs' => $article->getIsNewRecord()?$images:ArticleMedia::find()->where(['article_id' => $article->id, 'type' => 'preview'])->indexBy('lang_id')->all() | |
72 | + 'data_langs' => $article->getIsNewRecord()?$images:ArticleMedia::find()->where(['article_id' => $article->article_id, 'type' => 'preview'])->indexBy('language_id')->all() | |
72 | 73 | ]); |
73 | 74 | $first = 1; |
74 | 75 | foreach($images as $lang => $value) { |
... | ... | @@ -76,9 +77,9 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
76 | 77 | ?> |
77 | 78 | <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="<?=$imagelang->id?>-<?=$lang?>"> |
78 | 79 | <?php |
79 | - echo $form->field($images[$lang]['preview'], "[{$lang}][preview]lang_id")->label(false)->hiddenInput(['value' => $lang]); | |
80 | + echo $form->field($images[$lang]['preview'], "[{$lang}][preview]language_id")->label(false)->hiddenInput(['value' => $lang]); | |
80 | 81 | echo $form->field($images[$lang]['preview'], "[{$lang}][preview]imageFile")->fileInput(['class' => 'image_inputs_field']); |
81 | - if(!empty($images[$lang]['preview']->id)) { | |
82 | + if(!empty($images[$lang]['preview']->article_media_id)) { | |
82 | 83 | echo "<img src='/images/upload/{$images[$lang]['preview']->media->hash}/original.{$images[$lang]['preview']->media->extension}' width='100' class='image_inputs_prev'>"; |
83 | 84 | } |
84 | 85 | ?> |
... | ... | @@ -101,7 +102,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
101 | 102 | <a |
102 | 103 | href="<?= Url::to(['ajax/remove-image']) ?>" |
103 | 104 | class="remove_image glyphicon glyphicon-remove-circle" |
104 | - data-params='<?= Json::encode(['article_media_id' => $oneimage->id, 'remove_media' => true]) ?>', | |
105 | + data-params='<?= Json::encode(['article_media_id' => $oneimage->article_media_id, 'remove_media' => true]) ?>', | |
105 | 106 | ></a> |
106 | 107 | </div> |
107 | 108 | <?php |
... | ... | @@ -115,6 +116,12 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
115 | 116 | <hr> |
116 | 117 | |
117 | 118 | <?php |
119 | + echo Multilanguage::widget([ | |
120 | + 'data' => $article_langs, | |
121 | + 'form' => $form, | |
122 | + 'ajaxView' => '@common/modules/blog/views/ajax/_article_form', | |
123 | + ]); | |
124 | + /* | |
118 | 125 | $multilang = Multilang::begin(['ajaxpath' => Url::to(['/blog/ajax/article-form']), 'form' => $form, 'data_langs' => $article_langs]); |
119 | 126 | ?> |
120 | 127 | <?php |
... | ... | @@ -150,6 +157,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
150 | 157 | ?> |
151 | 158 | <?php |
152 | 159 | $multilang->end(); |
160 | + */ | |
153 | 161 | ?> |
154 | 162 | |
155 | 163 | <div class="form-group"> | ... | ... |
common/modules/blog/views/article/index.php
... | ... | @@ -8,12 +8,12 @@ use common\models\Language; |
8 | 8 | echo GridView::widget([ |
9 | 9 | 'dataProvider' => $dataProvider, |
10 | 10 | 'columns' => [ |
11 | - 'id', | |
11 | + 'article_id', | |
12 | 12 | 'code', |
13 | - 'create_at', | |
13 | + 'date_add', | |
14 | 14 | [ |
15 | 15 | 'value' => function($data) { |
16 | - return $data->author0->firstname.' '.$data->author0->lastname; | |
16 | + return $data->user->firstname.' '.$data->user->lastname; | |
17 | 17 | }, |
18 | 18 | 'header' => Yii::t('app', 'Author') |
19 | 19 | ], |
... | ... | @@ -21,7 +21,7 @@ echo GridView::widget([ |
21 | 21 | 'class' => Column::className(), |
22 | 22 | 'header' => Yii::t('app', 'Name'), |
23 | 23 | 'content' => function($model, $key, $index, $column) { |
24 | - return $model->getArticleLangs()->where(['lang_id' => Language::getDefaultLang()->language_id])->one()->name; | |
24 | + return $model->getArticleLangs()->where(['language_id' => Language::getDefaultLang()->language_id])->one()->name; | |
25 | 25 | } |
26 | 26 | ], |
27 | 27 | [ | ... | ... |
common/modules/blog/views/category/_form.php
... | ... | @@ -17,14 +17,14 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
17 | 17 | |
18 | 18 | <?= $form->field($category, 'code')->hint(Yii::t('app', 'Insensitive latin non-space'))->textInput() ?> |
19 | 19 | |
20 | - <?= $form->field($category, 'tags')->hint(Yii::t('app', 'Comma-separated'))->textInput() ?> | |
20 | + <?= $form->field($category, 'tag')->hint(Yii::t('app', 'Comma-separated'))->textInput() ?> | |
21 | 21 | |
22 | 22 | <?= $form->field($category, 'sort')->input('number') ?> |
23 | 23 | |
24 | - <?= $form->field($category, 'parent_id') | |
25 | - ->dropDownList(ArticleCategory::findArticleCategoryDropdown($category->id), ['prompt' => Yii::t('app', 'Select parent')]) ?> | |
24 | + <?= $form->field($category, 'article_category_pid') | |
25 | + ->dropDownList(ArticleCategory::findArticleCategoryDropdown($category->article_category_id), ['prompt' => Yii::t('app', 'Select parent')]) ?> | |
26 | 26 | |
27 | - <?= $form->field($category, 'active')->checkbox() ?> | |
27 | + <?= $form->field($category, 'status')->checkbox() ?> | |
28 | 28 | |
29 | 29 | <ul class="nav nav-tabs" id="image-tabs" role="tablist"> |
30 | 30 | <li role="image_inputs" class="active" data-type="full"><a href="#image-full" aria-controls="image-full" role="tab" data-toggle="tab"><span><?= \Yii::t('app', 'full')?></span></a></li> |
... | ... | @@ -37,7 +37,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
37 | 37 | $imagelang = Multilang::begin([ |
38 | 38 | 'ajaxpath' => Url::to(['/blog/ajax/article-category-media-form?type=full']), |
39 | 39 | 'form' => $form, |
40 | - 'data_langs' => $category->getIsNewRecord()?$images:ArticleCategoryMedia::find()->where(['category_id' => $category->id, 'type' => 'full'])->indexBy('lang_id')->all() | |
40 | + 'data_langs' => $category->getIsNewRecord()?$images:ArticleCategoryMedia::find()->where(['article_category_id' => $category->article_category_id, 'type' => 'full'])->indexBy('language_id')->all() | |
41 | 41 | ]); |
42 | 42 | $first = 1; |
43 | 43 | foreach($images as $lang => $value) { |
... | ... | @@ -45,9 +45,9 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
45 | 45 | ?> |
46 | 46 | <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="<?=$imagelang->id?>-<?=$lang?>"> |
47 | 47 | <?php |
48 | - echo $form->field($images[$lang]['full'], "[{$lang}][full]lang_id")->label(false)->hiddenInput(['value' => $lang]); | |
48 | + echo $form->field($images[$lang]['full'], "[{$lang}][full]language_id")->label(false)->hiddenInput(['value' => $lang]); | |
49 | 49 | echo $form->field($images[$lang]['full'], "[{$lang}][full]imageFile")->fileInput(['class' => 'image_inputs_field']); |
50 | - if(!empty($images[$lang]['full']->id)) { | |
50 | + if(!empty($images[$lang]['full']->article_category_media_id)) { | |
51 | 51 | echo "<img src='/images/upload/{$images[$lang]['full']->media->hash}/original.{$images[$lang]['full']->media->extension}' width='100' class='image_inputs_prev'>"; |
52 | 52 | } |
53 | 53 | ?> |
... | ... | @@ -63,7 +63,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
63 | 63 | $imagelang = Multilang::begin([ |
64 | 64 | 'ajaxpath' => Url::to(['/blog/ajax/article-category-media-form?type=preview']), |
65 | 65 | 'form' => $form, |
66 | - 'data_langs' => $category->getIsNewRecord()?$images:ArticleCategoryMedia::find()->where(['category_id' => $category->id, 'type' => 'preview'])->indexBy('lang_id')->all() | |
66 | + 'data_langs' => $category->getIsNewRecord()?$images:ArticleCategoryMedia::find()->where(['article_category_id' => $category->article_category_id, 'type' => 'preview'])->indexBy('language_id')->all() | |
67 | 67 | ]); |
68 | 68 | $first = 1; |
69 | 69 | foreach($images as $lang => $value) { |
... | ... | @@ -71,9 +71,9 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
71 | 71 | ?> |
72 | 72 | <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="<?=$imagelang->id?>-<?=$lang?>"> |
73 | 73 | <?php |
74 | - echo $form->field($images[$lang]['preview'], "[{$lang}][preview]lang_id")->label(false)->hiddenInput(['value' => $lang]); | |
74 | + echo $form->field($images[$lang]['preview'], "[{$lang}][preview]language_id")->label(false)->hiddenInput(['value' => $lang]); | |
75 | 75 | echo $form->field($images[$lang]['preview'], "[{$lang}][preview]imageFile")->fileInput(['class' => 'image_inputs_field']); |
76 | - if(!empty($images[$lang]['preview']->id)) { | |
76 | + if(!empty($images[$lang]['preview']->article_category_media_id)) { | |
77 | 77 | echo "<img src='/images/upload/{$images[$lang]['preview']->media->hash}/original.{$images[$lang]['preview']->media->extension}' width='100' class='image_inputs_prev'>"; |
78 | 78 | } |
79 | 79 | ?> |
... | ... | @@ -96,7 +96,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
96 | 96 | <a |
97 | 97 | href="<?= Url::to(['ajax/remove-image']) ?>" |
98 | 98 | class="remove_image glyphicon glyphicon-remove-circle" |
99 | - data-params='<?= Json::encode(['category_media_id' => $oneimage->id, 'remove_media' => true]) ?>', | |
99 | + data-params='<?= Json::encode(['article_category_media_id' => $oneimage->article_category_media_id, 'remove_media' => true]) ?>', | |
100 | 100 | ></a> |
101 | 101 | </div> |
102 | 102 | <?php |
... | ... | @@ -117,7 +117,7 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
117 | 117 | foreach($category_langs as $index => $category_lang) { |
118 | 118 | ?> |
119 | 119 | <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="lang-<?=$index?>"> |
120 | - <?= $form->field($category_langs[$index], "[$index]lang_id")->label(false)->hiddenInput(['value' => $index]) ?> | |
120 | + <?= $form->field($category_langs[$index], "[$index]language_id")->label(false)->hiddenInput(['value' => $index]) ?> | |
121 | 121 | |
122 | 122 | <?= $form->field($category_langs[$index], "[$index]text")->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ], ]); ?> |
123 | 123 | |
... | ... | @@ -131,11 +131,11 @@ $uploaddir = \Yii::getAlias('@saveImageDir'); |
131 | 131 | |
132 | 132 | <?= $form->field($category_langs[$index], "[$index]meta_descr")->textarea(); ?> |
133 | 133 | |
134 | - <?= $form->field($category_langs[$index], "[$index]meta_keywords")->textInput() ?> | |
134 | + <?= $form->field($category_langs[$index], "[$index]meta_keyword")->textInput() ?> | |
135 | 135 | |
136 | 136 | <?= $form->field($category_langs[$index], "[$index]h1_tag")->textInput() ?> |
137 | 137 | |
138 | - <?= $form->field($category_langs[$index], "[$index]tags")->textInput() ?> | |
138 | + <?= $form->field($category_langs[$index], "[$index]tag")->textInput() ?> | |
139 | 139 | |
140 | 140 | </div> |
141 | 141 | <?php | ... | ... |
common/modules/blog/views/category/index.php
... | ... | @@ -7,15 +7,15 @@ use common\models\Language; |
7 | 7 | echo GridView::widget([ |
8 | 8 | 'dataProvider' => $dataProvider, |
9 | 9 | 'columns' => [ |
10 | - 'id', | |
10 | + 'article_category_id', | |
11 | 11 | 'code', |
12 | - 'created_at', | |
13 | - 'updated_at', | |
12 | + 'date_add', | |
13 | + 'date_update', | |
14 | 14 | [ |
15 | 15 | 'class' => Column::className(), |
16 | 16 | 'header' => Yii::t('app', 'Name'), |
17 | 17 | 'content' => function($model, $key, $index, $column) { |
18 | - return $model->getArticleCategoryLangs()->where(['lang_id' => Language::getDefaultLang()->language_id])->one()->name; | |
18 | + return $model->getArticleCategoryLangs()->where(['language_id' => Language::getDefaultLang()->language_id])->one()->name; | |
19 | 19 | } |
20 | 20 | ], |
21 | 21 | [ | ... | ... |
1 | +<?php | |
2 | +namespace common\widgets; | |
3 | +use common\models\Language; | |
4 | +use common\modules\blog\controllers\AjaxController; | |
5 | +use yii\base\InvalidParamException; | |
6 | +use yii\base\Widget; | |
7 | +use yii\bootstrap\ActiveForm; | |
8 | + | |
9 | +class Multilanguage extends Widget | |
10 | +{ | |
11 | + public $id; | |
12 | + | |
13 | + public $model_name; | |
14 | + | |
15 | + public $table_name; | |
16 | + | |
17 | + public $langs; | |
18 | + | |
19 | + public $default_lang; | |
20 | + | |
21 | + public $data; | |
22 | + | |
23 | + public $handler = '/blog/ajax/multilang-form'; | |
24 | + | |
25 | + public $form; | |
26 | + | |
27 | + public $ajaxView; | |
28 | + | |
29 | + public function init() | |
30 | + { | |
31 | + parent::init(); | |
32 | + $this->default_lang = Language::getDefaultLang(); | |
33 | + if(empty($this->langs)) { | |
34 | + $this->langs = Language::getActiveLanguages(); | |
35 | + } | |
36 | + if(empty($this->form)) { | |
37 | + throw new InvalidParamException('Form must be set'); | |
38 | + } | |
39 | + if(empty($this->ajaxView)) { | |
40 | + throw new InvalidParamException('Ajaxview must be set'); | |
41 | + } | |
42 | + if(empty($this->data) || !is_array($this->data)) { | |
43 | + throw new InvalidParamException('Data must be set and be array'); | |
44 | + } else { | |
45 | + $first = 1; | |
46 | + foreach ($this->data as $lang => $item) { | |
47 | + if ($first) { | |
48 | + $this->model_name = $item->className(); | |
49 | + $this->table_name = $item->tableName(); | |
50 | + $first = 0; | |
51 | + } else { | |
52 | + if($item->className() !== $this->model_name || $item->tableName() !== $this->table_name) { | |
53 | + throw new InvalidParamException('Every data element must have the same class and table'); | |
54 | + } | |
55 | + } | |
56 | + } | |
57 | + } | |
58 | + } | |
59 | + | |
60 | + public function run() | |
61 | + { | |
62 | + echo $this->render('multilanguage-begin', [ | |
63 | + 'id' => $this->id, | |
64 | + 'model_name' => $this->model_name, | |
65 | + 'table_name' => $this->table_name, | |
66 | + 'data' => $this->data, | |
67 | + 'langs' => $this->langs, | |
68 | + 'handler' => $this->handler, | |
69 | + 'default_lang' => $this->default_lang, | |
70 | + 'ajaxView' => $this->ajaxView, | |
71 | + ]); | |
72 | + foreach($this->data as $lang => $item) { | |
73 | + $item->language_id = $lang; | |
74 | + echo $this->render($this->ajaxView, ['model' => $item, 'form' => $this->form, 'widget_id' => $this->id]); | |
75 | + } | |
76 | + echo $this->render('multilanguage-end', [ | |
77 | + 'id' => $this->id, | |
78 | + 'model_name' => $this->model_name, | |
79 | + 'table_name' => $this->table_name, | |
80 | + 'data' => $this->data, | |
81 | + 'langs' => $this->langs, | |
82 | + 'handler' => $this->handler, | |
83 | + 'default_lang' => $this->default_lang, | |
84 | + 'ajaxView' => $this->ajaxView, | |
85 | + ]); | |
86 | + } | |
87 | +} | |
0 | 88 | \ No newline at end of file | ... | ... |
common/widgets/views/multilang-begin.php
... | ... | @@ -6,7 +6,7 @@ use yii\helpers\Url; |
6 | 6 | <?= Yii::t('app', 'Add language') ?> |
7 | 7 | <span class="caret"></span> |
8 | 8 | </button> |
9 | - <ul class="dropdown-menu f32" id="lang-<?=$id?>" aria-labelledby="<?=$id?>Menu"> | |
9 | + <ul class="dropdown-menu f32 old" id="lang-<?=$id?>" aria-labelledby="<?=$id?>Menu"> | |
10 | 10 | <?php foreach($langs as $index => $lang) { |
11 | 11 | if(in_array($index, array_keys($data_langs))) continue; |
12 | 12 | ?> | ... | ... |
1 | +<?php | |
2 | +use yii\helpers\Url; | |
3 | +?> | |
4 | +<div class="dropdown pull-right"> | |
5 | + <button class="btn btn-default dropdown-toggle" type="button" id="<?=$id?>Lang" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> | |
6 | + <?= Yii::t('app', 'Add language') ?> | |
7 | + <span class="caret"></span> | |
8 | + </button> | |
9 | + <ul class="dropdown-menu f32" id="lang-<?=$id?>" aria-labelledby="<?=$id?>Menu"> | |
10 | + <?php foreach($langs as $index => $lang) { | |
11 | + if(in_array($index, array_keys($data))) continue; | |
12 | + ?> | |
13 | + <li><a href="#<?=$id?>" data-lang="<?=$lang->language_id?>"><span class="flag <?=$lang->country_code?>"></span></a></li> | |
14 | + <?php } ?> | |
15 | + </ul> | |
16 | +</div> | |
17 | +<ul class="nav nav-tabs f32" id="<?=$id?>-tabs" role="tablist"> | |
18 | + <?php | |
19 | + foreach($data as $index => $data_lang) { | |
20 | + if(!$index) continue; | |
21 | + ?> | |
22 | + <li role="lang_inputs" data-lang="<?=$index?>"><a href="#<?=$id?>-<?=$index?>" aria-controls="<?=$id?>-<?=$index?>" role="tab" data-toggle="tab"><span class="flag <?=$langs[$index]->country_code?>"></span></a></li> | |
23 | + <?php | |
24 | + } | |
25 | + ?> | |
26 | +</ul> | |
27 | +<div class="tab-content lang-tab-content" id="tab-content-<?=$id?>"> | |
28 | + | ... | ... |
1 | +<?php | |
2 | +use yii\helpers\Url; | |
3 | +?> | |
4 | +</div> | |
5 | +<script> | |
6 | + if(typeof form === 'undefined') { | |
7 | + var form = []; | |
8 | + } | |
9 | + form['<?=$id?>'] = {handler:'<?=$handler?>', view:'<?=$ajaxView?>', model: '<?=str_replace("\\", "\\\\", $model_name)?>'}; | |
10 | +</script> | |
0 | 11 | \ No newline at end of file | ... | ... |
db-migration/yarik/public.backup
No preview for this file type
frontend/models/Option.php
... | ... | @@ -31,7 +31,7 @@ class Option extends \yii\db\ActiveRecord |
31 | 31 | { |
32 | 32 | return [ |
33 | 33 | [['model', 'model_id', 'name', 'template'], 'required'], |
34 | - [['model_id', 'parent_id'], 'integer'], | |
34 | + [['model_id', 'option_pid'], 'integer'], | |
35 | 35 | [['model', 'name', 'template'], 'string', 'max' => 200] |
36 | 36 | ]; |
37 | 37 | } |
... | ... | @@ -47,29 +47,30 @@ class Option extends \yii\db\ActiveRecord |
47 | 47 | 'model_id' => Yii::t('app', 'Model ID'), |
48 | 48 | 'name' => Yii::t('app', 'Name'), |
49 | 49 | 'template' => Yii::t('app', 'Template'), |
50 | - 'parent_id' => Yii::t('app', 'Parent ID'), | |
51 | - 'created_at' => Yii::t('app', 'Date created'), | |
50 | + 'option_pid' => Yii::t('app', 'Parent ID'), | |
51 | + 'date_add' => Yii::t('app', 'Date created'), | |
52 | + 'translate' => Yii::t('app', 'Translatable'), | |
52 | 53 | ]; |
53 | 54 | } |
54 | 55 | |
55 | 56 | public function getLangs() { |
56 | - return (new Language())->find()->where(['>', 'language_id', 0])->andWhere(['active' => 1])->asArray()->all(); | |
57 | + return (new Language())->find()->where(['>', 'language_id', 0])->andWhere(['status' => 1])->asArray()->all(); | |
57 | 58 | } |
58 | 59 | |
59 | 60 | public static function change($id, $post, $modeldb, $model_id) { |
60 | 61 | $models[$id] = Option::findOne($id); |
61 | 62 | $modellang[$id] = array(); |
62 | - $langs = OptionLang::findAll(['id' => $id]); | |
63 | + $langs = OptionLang::findAll(['option_lang_id' => $id]); | |
63 | 64 | foreach($langs as $lang) { |
64 | - $modellang[$id][$lang->lang_id] = $lang; | |
65 | + $modellang[$id][$lang->language_id] = $lang; | |
65 | 66 | } |
66 | - $children = (new Option())->find()->where(['parent_id' => $id])->all(); | |
67 | + $children = (new Option())->find()->where(['option_pid' => $id])->all(); | |
67 | 68 | foreach($children as $child) { |
68 | 69 | $models[$child->option_id] = $child; |
69 | 70 | $modellang[$child->option_id] = array(); |
70 | - $langs = OptionLang::findAll(['id' =>$child->option_id]); | |
71 | + $langs = OptionLang::findAll(['option_id' =>$child->option_id]); | |
71 | 72 | foreach($langs as $lang) { |
72 | - $modellang[$child->option_id][$lang->lang_id] = $lang; | |
73 | + $modellang[$child->option_id][$lang->language_id] = $lang; | |
73 | 74 | } |
74 | 75 | } |
75 | 76 | $ok = 1; |
... | ... | @@ -94,8 +95,8 @@ class Option extends \yii\db\ActiveRecord |
94 | 95 | foreach($option['lang'] as $lang_id => $lang) { |
95 | 96 | if(empty($modellang[$key][$lang_id])) { |
96 | 97 | $modellang[$key][$lang_id] = new OptionLang(); |
97 | - $modellang[$key][$lang_id]->id = $models[$key]->option_id; | |
98 | - $modellang[$key][$lang_id]->lang_id = $lang_id; | |
98 | + $modellang[$key][$lang_id]->option_id = $models[$key]->option_id; | |
99 | + $modellang[$key][$lang_id]->language_id = $lang_id; | |
99 | 100 | $modellang[$key][$lang_id]->value = $lang; |
100 | 101 | } else { |
101 | 102 | $modellang[$key][$lang_id]->value = $lang; |
... | ... | @@ -146,7 +147,7 @@ class Option extends \yii\db\ActiveRecord |
146 | 147 | $models[$index][$key]->translate = $option[$key]['translate']?1:0; |
147 | 148 | $models[$index][$key]->name = $key; |
148 | 149 | if(!$first) { |
149 | - $models[$index][$key]->parent_id = $parentid; | |
150 | + $models[$index][$key]->option_pid = $parentid; | |
150 | 151 | } |
151 | 152 | $modelslang[$index][$key][0] = new OptionLang(); |
152 | 153 | if(!empty($option['lang'][$key])) { |
... | ... | @@ -161,16 +162,16 @@ class Option extends \yii\db\ActiveRecord |
161 | 162 | if($first) { |
162 | 163 | $parentid = $models[$index][$key]->option_id; |
163 | 164 | } |
164 | - $modelslang[$index][$key][0]->id = $models[$index][$key]->option_id; | |
165 | - $modelslang[$index][$key][0]->lang_id = 0; | |
165 | + $modelslang[$index][$key][0]->option_id = $models[$index][$key]->option_id; | |
166 | + $modelslang[$index][$key][0]->language_id = 0; | |
166 | 167 | $modelslang[$index][$key][0]->value = $value; |
167 | 168 | if($modelslang[$index][$key][0]->save()) { |
168 | 169 | if(!empty($option['lang'][$key])) { |
169 | 170 | foreach($option['lang'][$key] as $code => $lang) { |
170 | 171 | if(!empty($lang)) { |
171 | 172 | $modelslang[$index][$key][$code] = new OptionLang(); |
172 | - $modelslang[$index][$key][$code]->id = $models[$index][$key]->option_id; | |
173 | - $modelslang[$index][$key][$code]->lang_id = $code; | |
173 | + $modelslang[$index][$key][$code]->option_id = $models[$index][$key]->option_id; | |
174 | + $modelslang[$index][$key][$code]->language_id = $code; | |
174 | 175 | $modelslang[$index][$key][$code]->value = $lang; |
175 | 176 | if(!$modelslang[$index][$key][$code]->save()) { |
176 | 177 | $ok = 0; |
... | ... | @@ -187,8 +188,8 @@ class Option extends \yii\db\ActiveRecord |
187 | 188 | foreach($option['lang'][$key] as $code => $lang) { |
188 | 189 | if(!empty($lang)) { |
189 | 190 | $modelslang[$index][$key][$code] = new OptionLang(); |
190 | - $modelslang[$index][$key][$code]->id = $models[$index][$key]->option_id; | |
191 | - $modelslang[$index][$key][$code]->lang_id = $code; | |
191 | + $modelslang[$index][$key][$code]->option_id = $models[$index][$key]->option_id; | |
192 | + $modelslang[$index][$key][$code]->language_id = $code; | |
192 | 193 | $modelslang[$index][$key][$code]->value = $lang; |
193 | 194 | } |
194 | 195 | } |
... | ... | @@ -205,12 +206,12 @@ class Option extends \yii\db\ActiveRecord |
205 | 206 | $newflag->model_id = $model_id; |
206 | 207 | $newflag->name = 'is_new'; |
207 | 208 | $newflag->template = 'checkbox'; |
208 | - $newflag->parent_id = $parentid; | |
209 | + $newflag->option_pid = $parentid; | |
209 | 210 | $newflag->translate = 0; |
210 | 211 | if($newflag->save()) { |
211 | 212 | $newflaglang = new OptionLang(); |
212 | - $newflaglang->id = $newflag->option_id; | |
213 | - $newflaglang->lang_id = 0; | |
213 | + $newflaglang->option_id = $newflag->option_id; | |
214 | + $newflaglang->language_id = 0; | |
214 | 215 | $newflaglang->value = '1'; |
215 | 216 | if(!$newflaglang->save()) { |
216 | 217 | $newflag->delete(); |
... | ... | @@ -242,19 +243,19 @@ class Option extends \yii\db\ActiveRecord |
242 | 243 | } |
243 | 244 | |
244 | 245 | public function getOptions() { |
245 | - return $this->hasMany(Option::className(), ['parent_id' => 'option_id'])->indexBy('name'); | |
246 | + return $this->hasMany(Option::className(), ['option_pid' => 'option_id'])->indexBy('name'); | |
246 | 247 | } |
247 | 248 | |
248 | 249 | public function getOption() { |
249 | - return $this->hasOne(Option::className(), ['option_id' => 'parent_id']); | |
250 | + return $this->hasOne(Option::className(), ['option_id' => 'option_pid']); | |
250 | 251 | } |
251 | 252 | |
252 | 253 | public function getOptionLangs() { |
253 | - return $this->hasMany(OptionLang::className(), ['id' => 'option_id']); | |
254 | + return $this->hasMany(OptionLang::className(), ['option_id' => 'option_id']); | |
254 | 255 | } |
255 | 256 | |
256 | 257 | public function getOptionDefaultLang($array = false) { |
257 | - $query = $this->getOptionLangs()->where(['lang_id' => 0]); | |
258 | + $query = $this->getOptionLangs()->where(['language_id' => 0]); | |
258 | 259 | if($array) { |
259 | 260 | $query->asArray(); |
260 | 261 | } | ... | ... |
frontend/models/OptionLang.php
... | ... | @@ -27,8 +27,8 @@ class OptionLang extends \yii\db\ActiveRecord |
27 | 27 | public function rules() |
28 | 28 | { |
29 | 29 | return [ |
30 | - [['id', 'lang_id'], 'required'], | |
31 | - [['id', 'lang_id'], 'integer'], | |
30 | + [['option_id', 'language_id'], 'required'], | |
31 | + [['option_id', 'language_id'], 'integer'], | |
32 | 32 | [['value'], 'string'] |
33 | 33 | ]; |
34 | 34 | } |
... | ... | @@ -39,8 +39,8 @@ class OptionLang extends \yii\db\ActiveRecord |
39 | 39 | public function attributeLabels() |
40 | 40 | { |
41 | 41 | return [ |
42 | - 'id' => Yii::t('app', 'ID'), | |
43 | - 'lang_id' => Yii::t('app', 'Lang ID'), | |
42 | + 'option_id' => Yii::t('app', 'ID'), | |
43 | + 'language_id' => Yii::t('app', 'Lang ID'), | |
44 | 44 | 'value' => Yii::t('app', 'Value'), |
45 | 45 | ]; |
46 | 46 | } | ... | ... |
frontend/models/OptionLangSearch.php
... | ... | @@ -18,7 +18,7 @@ class OptionLangSearch extends OptionLang |
18 | 18 | public function rules() |
19 | 19 | { |
20 | 20 | return [ |
21 | - [['primary', 'id', 'lang_id'], 'integer'], | |
21 | + [['option_lang_id', 'option_id', 'language_id'], 'integer'], | |
22 | 22 | [['value'], 'safe'], |
23 | 23 | ]; |
24 | 24 | } |
... | ... | @@ -56,9 +56,9 @@ class OptionLangSearch extends OptionLang |
56 | 56 | } |
57 | 57 | |
58 | 58 | $query->andFilterWhere([ |
59 | - 'primary' => $this->primary, | |
60 | - 'id' => $this->id, | |
61 | - 'lang_id' => $this->lang_id, | |
59 | + 'option_lang_id' => $this->option_lang_id, | |
60 | + 'option_id' => $this->option_id, | |
61 | + 'language_id' => $this->language_id, | |
62 | 62 | ]); |
63 | 63 | |
64 | 64 | $query->andFilterWhere(['like', 'value', $this->value]); | ... | ... |
frontend/models/OptionSearch.php
... | ... | @@ -18,7 +18,7 @@ class OptionSearch extends Option |
18 | 18 | public function rules() |
19 | 19 | { |
20 | 20 | return [ |
21 | - [['option_id', 'model_id', 'parent_id'], 'integer'], | |
21 | + [['option_id', 'model_id', 'option_pid'], 'integer'], | |
22 | 22 | [['model', 'name', 'template'], 'safe'], |
23 | 23 | ]; |
24 | 24 | } |
... | ... | @@ -60,12 +60,12 @@ class OptionSearch extends Option |
60 | 60 | return $dataProvider; |
61 | 61 | } |
62 | 62 | |
63 | - $query->andWhere(['parent_id' => null]); | |
63 | + $query->andWhere(['option_pid' => null]); | |
64 | 64 | |
65 | 65 | $query->andFilterWhere([ |
66 | 66 | 'option_id' => $this->option_id, |
67 | 67 | 'model_id' => $this->model_id, |
68 | - 'parent_id' => $this->parent_id, | |
68 | + 'option_pid' => $this->option_pid, | |
69 | 69 | ]); |
70 | 70 | |
71 | 71 | $query->andFilterWhere(['like', 'model', $this->model]) | ... | ... |
frontend/web/js/option.js
... | ... | @@ -12,6 +12,12 @@ function readURL(input) { |
12 | 12 | } |
13 | 13 | return urls; |
14 | 14 | } |
15 | +function checkboxerInit() { | |
16 | + $.each($('.checkboxer input[type=radio]:checked'), function(index, value) { | |
17 | + console.log(value); | |
18 | + $(value).trigger('change'); | |
19 | + }); | |
20 | +} | |
15 | 21 | $(function() { |
16 | 22 | var counter = 0; |
17 | 23 | $(document).on('click', '.add_row', function() { |
... | ... | @@ -58,7 +64,30 @@ $(function() { |
58 | 64 | $(value).find('li').append('<span class="glyphicon glyphicon-remove-circle remove-lang"></span>'); |
59 | 65 | } |
60 | 66 | }); |
61 | - $(document).on('click', '.dropdown-menu.f32 li a[data-lang]', function() { | |
67 | + $(document).on('click', '.dropdown-menu.f32:not(.old) li a[data-lang]', function() { | |
68 | + var lang = $(this).data('lang'); | |
69 | + var flag = $(this).find('span').first().clone(); | |
70 | + var el = $(this); | |
71 | + var id = $(this).attr('href').substr(1); | |
72 | + var path = form[id].handler; | |
73 | + var view = form[id].view; | |
74 | + var model = form[id].model; | |
75 | + $.get(path, { lang_id: lang, widget_id: id, ajaxView: view, model: model }, function(data) { | |
76 | + $('#'+id+'-tabs li').removeClass('active'); | |
77 | + $('#'+id+'-tabs').append('<li role="lang_inputs" class="active" data-lang="'+lang+'"><a href="#'+id+'-'+lang+'" aria-controls="'+id+'-'+lang+'" role="tab" data-toggle="tab">'+$('<p>').append($(flag)).html()+'</a></li>'); | |
78 | + $('#tab-content-'+id+' .tab-pane.active').removeClass('active'); | |
79 | + $('#tab-content-'+id).append($(data).find('.ajax-loaded').first()); | |
80 | + $('body').append($(data).filter('script')); | |
81 | + $(el).parent().remove(); | |
82 | + if(!$('#lang-'+id+' li').length) { | |
83 | + $('#'+id+'Lang').addClass('disabled'); | |
84 | + } | |
85 | + if($('#'+id+'-tabs li').length > 1) { | |
86 | + $('#'+id+'-tabs li').append('<span class="glyphicon glyphicon-remove-circle remove-lang"></span>') | |
87 | + } | |
88 | + }); | |
89 | + }); | |
90 | + $(document).on('click', '.dropdown-menu.f32.old li a[data-lang]', function() { | |
62 | 91 | var lang = $(this).data('lang'); |
63 | 92 | var flag = $(this).find('span').first().clone(); |
64 | 93 | var el = $(this); |
... | ... | @@ -98,4 +127,8 @@ $(function() { |
98 | 127 | $(this).parents('.checkboxer').find('.checkboxer_container').removeClass('active'); |
99 | 128 | $(this).parents('.checkboxer_container').addClass('active'); |
100 | 129 | }); |
130 | + $.each($('.f32'), function(i, val) { | |
131 | + $(val).find('a[role=tab]').first().trigger('click'); | |
132 | + }); | |
133 | + checkboxerInit(); | |
101 | 134 | }); |
102 | 135 | \ No newline at end of file | ... | ... |