Blame view

common/modules/blog/controllers/AjaxController.php 4.82 KB
77d30544   Yarik   Начата разработка...
1
  <?php
18ac4398   Yarik   Добавлен блог (ча...
2
3
4
  namespace common\modules\blog\controllers;
  
  use common\models\Language;
4921cad4   Yarik   Добален блог v 0....
5
  use common\modules\blog\models\ArticleCategory;
18ac4398   Yarik   Добавлен блог (ча...
6
  use common\modules\blog\models\ArticleCategoryLang;
4921cad4   Yarik   Добален блог v 0....
7
8
9
  use common\modules\blog\models\ArticleCategoryMedia;
  use common\modules\blog\models\ArticleLang;
  use common\modules\blog\models\ArticleMedia;
6506d20d   Yarik   Коммит 25.15.2015...
10
  use yii\base\InvalidParamException;
18ac4398   Yarik   Добавлен блог (ча...
11
  use yii\web\Controller;
4921cad4   Yarik   Добален блог v 0....
12
  use yii\web\ForbiddenHttpException;
18ac4398   Yarik   Добавлен блог (ча...
13
14
15
16
  use yii\web\NotFoundHttpException;
  
  class AjaxController extends Controller
  {
4921cad4   Yarik   Добален блог v 0....
17
18
19
20
21
22
23
24
25
26
27
28
29
      public function beforeAction($action)
      {
          if(!\Yii::$app->request->getIsAjax()) {
              //throw new ForbiddenHttpException('Permission denied');
          }
  
          if(!parent::beforeAction($action)) {
              return false;
          }
  
          return true;
      }
  
f1ea4c01   andryeyev   lang_id => langua...
30
      public function actionCategoryForm($language_id, $widget_id)
18ac4398   Yarik   Добавлен блог (ча...
31
      {
f1ea4c01   andryeyev   lang_id => langua...
32
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $language_id])->one();
18ac4398   Yarik   Добавлен блог (ча...
33
34
35
36
          if(!$model) {
              throw new NotFoundHttpException('Language not found');
          }
          $category_lang = new ArticleCategoryLang();
498b0133   Yarik   Добавлен виджет м...
37
          return $this->renderAjax('_category_form', ['model' => $model, 'category_lang' => $category_lang, 'widget_id' => $widget_id]);
4921cad4   Yarik   Добален блог v 0....
38
39
      }
  
f1ea4c01   andryeyev   lang_id => langua...
40
      public function actionArticleForm($language_id, $widget_id)
4921cad4   Yarik   Добален блог v 0....
41
      {
f1ea4c01   andryeyev   lang_id => langua...
42
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $language_id])->one();
4921cad4   Yarik   Добален блог v 0....
43
44
45
46
          if(!$model) {
              throw new NotFoundHttpException('Language not found');
          }
          $article_lang = new ArticleLang();
498b0133   Yarik   Добавлен виджет м...
47
          return $this->renderAjax('_article_form', ['model' => $model, 'article_lang' => $article_lang, 'widget_id' => $widget_id]);
4921cad4   Yarik   Добален блог v 0....
48
49
      }
  
f1ea4c01   andryeyev   lang_id => langua...
50
      public function actionArticleMediaForm($language_id, $widget_id, $type)
6506d20d   Yarik   Коммит 25.15.2015...
51
      {
f1ea4c01   andryeyev   lang_id => langua...
52
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $language_id])->one();
6506d20d   Yarik   Коммит 25.15.2015...
53
54
55
56
57
58
59
60
61
62
          if(!$model) {
              throw new NotFoundHttpException('Language not found');
          }
          if(!in_array($type, ['full', 'preview'])) {
              throw new InvalidParamException('Type must only be full/preview');
          }
          $article_lang = new ArticleMedia();
          return $this->renderAjax('_article_media_form', ['model' => $model, 'article_lang' => $article_lang, 'widget_id' => $widget_id, 'type' => $type]);
      }
  
f1ea4c01   andryeyev   lang_id => langua...
63
      public function actionArticleCategoryMediaForm($language_id, $widget_id, $type)
6506d20d   Yarik   Коммит 25.15.2015...
64
      {
f1ea4c01   andryeyev   lang_id => langua...
65
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['status' => 1, 'language_id' => $language_id])->one();
6506d20d   Yarik   Коммит 25.15.2015...
66
67
68
69
70
71
72
73
74
75
          if(!$model) {
              throw new NotFoundHttpException('Language not found');
          }
          if(!in_array($type, ['full', 'preview'])) {
              throw new InvalidParamException('Type must only be full/preview');
          }
          $article_lang = new ArticleCategoryMedia();
          return $this->renderAjax('_article_media_form', ['model' => $model, 'article_lang' => $article_lang, 'widget_id' => $widget_id, 'type' => $type]);
      }
  
4921cad4   Yarik   Добален блог v 0....
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
      public function actionRemoveImage()
      {
          $post = \Yii::$app->request->post();
          if(!empty($post['article_media_id'])) {
              $article_media = ArticleMedia::findOne($post['article_media_id']);
              if($post['remove_media']) {
                  $media = $article_media->media->delete();
              }
              if(!empty($article_media)) {
                  $article_media->delete();
              }
              return true;
          } else {
              return false;
          }
      }
  
6506d20d   Yarik   Коммит 25.15.2015...
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
      public function actionRemoveCategoryImage()
      {
          $post = \Yii::$app->request->post();
          if(!empty($post['category_media_id'])) {
              $category_media = ArticleCategoryMedia::findOne($post['category_media_id']);
              if($post['remove_media']) {
                  $media = $category_media->media->delete();
              }
              if(!empty($category_media)) {
                  $category_media->delete();
              }
              return true;
          } else {
              return false;
          }
      }
  
4921cad4   Yarik   Добален блог v 0....
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
      public function actionRemoveImageCategory()
      {
          $post = \Yii::$app->request->post();
          if(!empty($post['category_media_id'])) {
              $category_media = ArticleCategoryMedia::findOne($post['category_media_id']);
              if($post['remove_media']) {
                  $media = $category_media->media->delete();
              }
              if(!empty($category_media)) {
                  $category_media->delete();
              }
              return true;
          } else {
              return false;
          }
18ac4398   Yarik   Добавлен блог (ча...
125
      }
e3105834   Yarik   Стандартизация
126
  
f1ea4c01   andryeyev   lang_id => langua...
127
      public function actionMultilangForm($model, $ajaxView, $widget_id, $language_id = NULL)
e3105834   Yarik   Стандартизация
128
      {
f1ea4c01   andryeyev   lang_id => langua...
129
          $model = new $model(['language_id' => $language_id]);
e3105834   Yarik   Стандартизация
130
131
          return $this->renderAjax($ajaxView, ['model' => $model, 'widget_id' => $widget_id]);
      }
18ac4398   Yarik   Добавлен блог (ча...
132
  }