Blame view

common/modules/blog/controllers/AjaxController.php 4.54 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;
      }
  
498b0133   Yarik   Добавлен виджет м...
30
      public function actionCategoryForm($lang_id, $widget_id)
18ac4398   Yarik   Добавлен блог (ча...
31
      {
4921cad4   Yarik   Добален блог v 0....
32
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_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
      }
  
498b0133   Yarik   Добавлен виджет м...
40
      public function actionArticleForm($lang_id, $widget_id)
4921cad4   Yarik   Добален блог v 0....
41
42
43
44
45
46
      {
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one();
          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
      }
  
6506d20d   Yarik   Коммит 25.15.2015...
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
      public function actionArticleMediaForm($lang_id, $widget_id, $type)
      {
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one();
          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]);
      }
  
      public function actionArticleCategoryMediaForm($lang_id, $widget_id, $type)
      {
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one();
          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
126
      }
  }