<?php
/**
 * Created by Error202
 * Date: 04.06.2018
 */

namespace core\entities;

use Yii;
use yii\db\ActiveRecord;
use yii\behaviors\TimestampBehavior;

/**
 * @property integer $id
 * @property string $type
 * @property string $section
 * @property string $key
 * @property string $value
 * @property integer $active
 * @property integer $created_at
 * @property integer $updated_at
 */

class Settings extends ActiveRecord
{
    public static function tableName(): string
    {
        return '{{%settings}}';
    }

    public function attributeLabels()
    {
        return [
            'id'         => Yii::t('main', 'ID'),
            'type'       => Yii::t('main', 'Type'),
            'section'    => Yii::t('main', 'Section'),
            'key'        => Yii::t('main', 'Key'),
            'value'      => Yii::t('main', 'Value'),
            'active'     => Yii::t('main', 'Active'),
            'created_at' => Yii::t('main', 'Created At'),
            'updated_at' => Yii::t('main', 'Updated At'),
        ];
    }

    public static function create($type, $section, $key, $value, $active): self
    {
        $settings          = new static();
        $settings->type    = $type;
        $settings->section = $section;
        $settings->key     = $key;
        $settings->value   = $value;
        $settings->active  = $active;

        return $settings;
    }

    public function edit($type, $section, $key, $value, $active): void
    {
        $this->type    = $type;
        $this->section = $section;
        $this->key     = $key;
        $this->value   = $value;
        $this->active  = $active;
    }

    public function behaviors(): array
    {
        return [
            TimestampBehavior::class,
        ];
    }
}