Blame view

common/modules/blog/controllers/AjaxController.php 2.62 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;
18ac4398   Yarik   Добавлен блог (ча...
10
  use yii\web\Controller;
4921cad4   Yarik   Добален блог v 0....
11
  use yii\web\ForbiddenHttpException;
18ac4398   Yarik   Добавлен блог (ча...
12
13
14
15
  use yii\web\NotFoundHttpException;
  
  class AjaxController extends Controller
  {
4921cad4   Yarik   Добален блог v 0....
16
17
18
19
20
21
22
23
24
25
26
27
28
      public function beforeAction($action)
      {
          if(!\Yii::$app->request->getIsAjax()) {
              //throw new ForbiddenHttpException('Permission denied');
          }
  
          if(!parent::beforeAction($action)) {
              return false;
          }
  
          return true;
      }
  
18ac4398   Yarik   Добавлен блог (ча...
29
30
      public function actionCategoryForm($lang_id)
      {
4921cad4   Yarik   Добален блог v 0....
31
          $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one();
18ac4398   Yarik   Добавлен блог (ча...
32
33
34
35
          if(!$model) {
              throw new NotFoundHttpException('Language not found');
          }
          $category_lang = new ArticleCategoryLang();
4921cad4   Yarik   Добален блог v 0....
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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
76
77
78
79
80
          return $this->renderAjax('_category_form', ['model' => $model, 'category_lang' => $category_lang]);
      }
  
      public function actionArticleForm($lang_id)
      {
          $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();
          return $this->renderAjax('_article_form', ['model' => $model, 'article_lang' => $article_lang]);
      }
  
      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;
          }
      }
  
      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   Добавлен блог (ча...
81
82
      }
  }