Blame view

behaviors/ParentBehavior.php 1.1 KB
a2cde075   Yarik   first commit
1
  <?php
a2cde075   Yarik   first commit
2
      
faff2c48   Yarik   Artbox comment cr...
3
4
5
      namespace artbox\webcomment\behaviors;
      
      use artbox\webcomment\models\CommentModel;
a2cde075   Yarik   first commit
6
      use yii\base\Behavior;
a2cde075   Yarik   first commit
7
8
9
10
11
12
13
14
15
16
17
18
19
      use yii\db\ActiveRecord;
      
      class ParentBehavior extends Behavior
      {
          
          public function events()
          {
              return [
                  ActiveRecord::EVENT_AFTER_VALIDATE => 'afterValidate',
              ];
          }
          
          /**
faff2c48   Yarik   Artbox comment cr...
20
           * After validate event
a2cde075   Yarik   first commit
21
           */
faff2c48   Yarik   Artbox comment cr...
22
          public function afterValidate()
a2cde075   Yarik   first commit
23
24
25
26
27
          {
              /**
               * @var CommentModel $owner
               */
              $owner = $this->owner;
faff2c48   Yarik   Artbox comment cr...
28
              if (!empty($owner->parent_id)) {
a2cde075   Yarik   first commit
29
30
31
32
                  /**
                   * @var CommentModel $parent
                   */
                  $parent = CommentModel::find()
faff2c48   Yarik   Artbox comment cr...
33
                                        ->where([ 'id' => $owner->parent_id ])
a2cde075   Yarik   first commit
34
                                        ->one();
faff2c48   Yarik   Artbox comment cr...
35
36
37
                  if (!empty($parent->parent_id)) {
                      $owner->related_id = $owner->parent_id;
                      $owner->parent_id = $parent->parent_id;
a2cde075   Yarik   first commit
38
39
40
                  }
              }
          }
0bacad2e   Yarik   Namespaces
41
42
      }