Blame view

frontend/controllers/CommentController.php 1.73 KB
8a34dff0   Aleksandr   + коментарии (fro...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
  <?php
  
  namespace frontend\controllers;
  
  use Yii;
  use common\models\Comment;
  
  class CommentController extends \yii\web\Controller
  {
      public function actionIndex()
      {
          $post = Comment::find()->with('user')->orderBy('created_at ASC')->all();
  
          $comments = array();
  
          foreach($post as $p)
          {
              $comments[$p['comment_id']] = array(
                  'id' => $p['comment_id'],
                  'parent' => $p['comment_pid'],
                  'content' => $p['content'],
                  'username' => $p->user->username,
                  'created_at' => $p['created_at'],
                  'childs' => array()
              );
          }
  
          foreach ($comments as $key => &$val)
          {
              if ($val['parent'] != 0)
              {
                  $comments[$val['parent']]['childs'][] =& $val;
              }
          }
          unset($val);
  
          foreach ($comments as $key => $val)
          {
              if ($val['parent'] != 0)
              {
                  unset($comments[$key]);
              }
          }
  
          if (Yii::$app->request->get('action') == 'reload')
          {
              return $this->renderAjax('index', array('data' => $comments));
          }
          else
          {
              return $this->render('index', array('data' => $comments, 'reload' => false));
          }
      }
  
      public function actionCreate()
      {
          $comment = new Comment;
  
          $comment->user_id = Yii::$app->user->identity->id;
          $comment->content = Yii::$app->request->post('content');
          $comment->entity_id = 3;//Yii::$app->request->post('entity_id');
          $comment->comment_pid = Yii::$app->request->post('parent_id');
          $comment->created_at = date('Y-m-d H:i:s', time());
  
          $comment->save();
  
      }
  
  }