Blame view

common/modules/comment/Module.php 2.79 KB
d8c1a2e0   Yarik   Big commit artbox
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
  <?php
      
      namespace common\modules\comment;
      
      use common\modules\comment\models\CommentModel;
      use common\modules\comment\models\RatingModel;
      use Yii;
      
      /**
       * Class Module
       * @package common\modules\comment
       */
      class Module extends \yii\base\Module
      {
          
          /**
           * @var string module name
           */
          public static $name = 'artbox-comment';
          
          /**
           * User identity class, default to common\models\User
           * @var string|null
           */
          public $userIdentityClass = NULL;
          
          /**
           * Comment model class, default to common\modules\models\CommentModel
           * @var string comment model class
           */
          public $commentModelClass = NULL;
          
          public $ratingModelClass = NULL;
          
          /**
           * This namespace will be used to load controller classes by prepending it to the controller
           * class name.
           * @var string the namespace that controller classes are in.
           */
          public $controllerNamespace = 'common\modules\comment\controllers';
          
          /**
           * @var \yii\db\Connection DB connection, default to \Yii::$app->db
           */
          public $db = NULL;
      
          /**
           * Key, used to encrypt and decrypt comment service data.
           *
           * @var string Encryption key
           */
          public static $encryptionKey = 'artbox-comment';
      
          /**
           * Whether to enable comment rating or not.
           *
           * @var bool
           */
          public static $enableRating = true;
          
          /**
           * Initializes the module.
           * This method is called after the module is created and initialized with property values
           * given in configuration. The default implementation will initialize
           * [[controllerNamespace]] if it is not set. If you override this method, please make sure
           * you call the parent implementation.
           */
          public function init()
          {
              if($this->userIdentityClass === NULL) {
                  $this->userIdentityClass = Yii::$app->getUser()->identityClass;
              }
              if($this->commentModelClass === NULL) {
                  $this->commentModelClass = CommentModel::className();
              }
              if(self::$enableRating && $this->ratingModelClass === NULL) {
                  $this->ratingModelClass = RatingModel::className();
              }
              if(\Yii::$app instanceof \yii\console\Application) {
                  $this->controllerNamespace = 'common\modules\comment\commands';
              }
              if($this->db === NULL) {
                  $this->db = \Yii::$app->db;
              }
              Yii::setAlias('@artbox-comment', __DIR__);
              parent::init();
          }
          
      }