You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.6 KiB
81 lines
1.6 KiB
<?php |
|
|
|
namespace core\entities; |
|
|
|
use core\entities\queries\ModuleRecordQuery; |
|
use yii\db\ActiveRecord; |
|
|
|
/** |
|
* This is the model class for table "modules". |
|
* |
|
* @property int $id |
|
* @property string $name |
|
* @property string $class |
|
* @property string $type |
|
* @property int $active |
|
* @property int $system |
|
*/ |
|
class ModuleRecord extends ActiveRecord |
|
{ |
|
const STATUS_ENABLED = 1; |
|
const STATUS_DISABLED = 0; |
|
|
|
const SYSTEM_YES = 1; |
|
const SYSTEM_NO = 0; |
|
|
|
public string $description; |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public static function tableName(): string |
|
{ |
|
return '{{%modules}}'; |
|
} |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function rules(): array |
|
{ |
|
return [ |
|
[['name', 'class', 'type'], 'required'], |
|
[['name', 'class', 'type'], 'string', 'max' => 255], |
|
['active', 'integer'], |
|
[['name'], 'unique'], |
|
]; |
|
} |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function attributeLabels(): array |
|
{ |
|
return [ |
|
'id' => 'ID', |
|
'name' => 'Name', |
|
'class' => 'Class', |
|
'type' => 'Type', |
|
]; |
|
} |
|
|
|
public function isEnabled(): bool |
|
{ |
|
return $this->active == $this::STATUS_ENABLED; |
|
} |
|
|
|
public function isDisabled(): bool |
|
{ |
|
return $this->active == $this::STATUS_DISABLED; |
|
} |
|
|
|
public function isSystem(): bool |
|
{ |
|
return $this->system == $this::SYSTEM_YES; |
|
} |
|
|
|
public static function find(): ModuleRecordQuery |
|
{ |
|
return new ModuleRecordQuery(static::class); |
|
} |
|
}
|
|
|