Your IP : 216.73.216.48


Current Path : /srv/www/codedit/models/
Upload File :
Current File : //srv/www/codedit/models/MembersLogins.php

<?php

namespace app\models;

use Yii;
use yii\behaviors\TimestampBehavior;
use vendor\custom\BrowserDetection;

class MembersLogins extends \yii\db\ActiveRecord {

    public static function tableName() {
        return '{{%members_logins}}';
    }

    public function behaviors() {
        return [
            [
                'class' => TimestampBehavior::className(),
                'createdAtAttribute' => 'time',
                'updatedAtAttribute' => NULL
            ],
        ];
    }

    public function rules() {
        return [
            [['member_id', 'ip_address', 'browser', 'os'], 'required'],
            [['member_id', 'ip_address', 'is_successful', 'time'], 'integer'],
            [['browser', 'os'], 'string', 'max' => 255]
        ];
    }

    public function attributeLabels() {
        return [
            'login_id' => Yii::t('app', 'ID'),
            'member_id' => Yii::t('app', 'ID на потребителя'),
            'ip_address' => Yii::t('app', 'IP адрес'),
            'browser' => Yii::t('app', 'Браузър'),
            'os' => Yii::t('app', 'OS'),
            'is_successful' => Yii::t('app', 'Успешен?'),
            'time' => Yii::t('app', 'Дата и час'),
        ];
    }

    public function addLogin($memberID, $ipAddress, $isSuccessful) {
        $this->member_id = $memberID;
        $this->ip_address = ip2long($ipAddress);
        $browserDetection = new BrowserDetection();
        $this->browser = $browserDetection->getBrowser() . ' ' . $browserDetection->getVersion();
        $this->os = $browserDetection->getPlatform();
        $this->is_successful = $isSuccessful;

        return $this->save();
    }

    public function getLogins($where = []) {
        $logins = $this->find()->where($where)->orderBy('time DESC');
        return $logins;
    }

    public function getLoginInfo($loginID) {
        return $this->findOne($loginID);
    }

    public function deleteLogin($loginInfo) {
        return $loginInfo->delete();
    }

    public function getMember() {
        return $this->hasOne(Members::className(), ['member_id' => 'member_id']);
    }

}