Вход Регистрация
Файл: silawar.ru/protected/models/Events.php
Строк: 413
<?php

/**
 * This is the model class for table "events".
 *
 * The followings are the available columns in table 'events':
 * @property string $id_event
 * @property string $id_event_cat
 * @property string $created
 * @property string $message_ru
 * @property string $message_ua
 * @property string $id_user
 */
class Events extends CActiveRecord {

    public 
$surname_user;
    public 
$name_user;
    public 
$middlename_user;
    public 
$created_from;
    public 
$created_to;

    
/**
     * @return string the associated database table name
     */
    
public function tableName() {
        return 
'events';
    }

    
/**
     * @return array validation rules for model attributes.
     */
    
public function rules() {
        
// NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        
return array(
            array(
'id_event_cat, message_ru, id_user''required'),
            array(
'id_event_cat, id_user''length''max' => 10),
            array(
'message_ru, message_ua''length''max' => 255),
            
// The following rule is used by search().
            // @todo Please remove those attributes that should not be searched.
            
array('id_event, id_event_cat, created, message_ru, message_ua, id_user, created_from, created_to''safe'),
        );
    }

    
/**
     * @return array relational rules.
     */
    
public function relations() {
        
// NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        
return array(
            
'idEventCat' => array(self::BELONGS_TO'EventCategories''id_event_cat'),
            
'idUser' => array(self::BELONGS_TO'Users''id_user'),
        );
    }

    
/**
     * @return array customized attribute labels (name=>label)
     */
    
public function attributeLabels() {
        return array(
            
'id_event' => Yii::t('admin_events''Номер'),
            
'id_event_cat' => Yii::t('admin_events''Категория'),
            
'created' => Yii::t('admin_events''Дата'),
            
'created_from' => Yii::t('admin_events''От:'),
            
'created_to' => Yii::t('admin_events''До:'),
            
'message_ru' => Yii::t('admin_events''Описание'),
            
'message_ua' => Yii::t('admin_events''Описание'),
            
'id_user' => Yii::t('admin_events''Пользователь'),
        );
    }

    protected function 
afterFind() {
        
// convert to display format
        
if ($this->created != "0000-00-00 00:00:00") {
            
$this->created strtotime($this->created);
            
$this->created date('d.m.Y H:i:s'$this->created);
        } else {
            
$this->created "";
        }
        
        if (
$this->created_from != "0000-00-00 00:00:00") {
            
$this->created_from strtotime($this->created_from);
            
$this->created_from date('d.m.Y H:i:s'$this->created_from);
        } else {
            
$this->created_from "";
        }
        
        if (
$this->created_to != "0000-00-00 00:00:00") {
            
$this->created_to strtotime($this->created_to);
            
$this->created_to date('d.m.Y H:i:s'$this->created_to);
        } else {
            
$this->created_to "";
        }
        
    }

    protected function 
beforeValidate() {
        
// convert to storage format
        
if ($this->created != "") {
            
$this->created strtotime($this->created);
            
$this->created date('Y-m-d'$this->created);
        }
    }
    
    public static function 
addAdminScheduleEdit($user)
    {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' отредактировал даты прохождения тестирования в расписании для пользователя "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' відредагував дати проходження тестування у розкладі для користувача "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->id_event_cat 7;
        
$event->save(false);
    }
    
    public static function 
addAdminTestsInUsersEdit($testsInUsers)
    {
        
$test $testsInUsers->idTest;
        
$user $testsInUsers->idUser;
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru Yii::App()->user->name ' отредактировал количество попыток пользователю "' $user->surname_user " " $user->name_user " " $user->middlename_user '" к тесту "' $test->name_test_ru '"';
        
$event->message_ua Yii::App()->user->name ' відредагував кількість спроб користувачеві "' $user->surname_user " " $user->name_user " " $user->middlename_user '" до тесту "' $test->name_test_ua '"';
        
$event->id_event_cat 16;
        
$event->save(false);
    }
    
    public static function 
addAdminScheduleTestsEdit($scheduleTests)
    {
        
$test $scheduleTests->idTest;
        
$user $scheduleTests->idUser;
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru Yii::App()->user->name ' отредактировал количество попыток пользователю "' $user->surname_user " " $user->name_user " " $user->middlename_user '" к тесту "' $test->name_test_ru '"';
        
$event->message_ua Yii::App()->user->name ' відредагував кількість спроб користувачеві "' $user->surname_user " " $user->name_user " " $user->middlename_user '" до тесту "' $test->name_test_ua '"';
        
$event->id_event_cat 19;
        
$event->save(false);
    }

    public static function 
addAdminUsersAdd($user) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' добавил пользователя "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' додав користувача "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->id_event_cat 7;
        
$event->save(false);
    }

    public static function 
addAdminUsersEdit($user) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' отредактировал пользователя "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' відредагував користувача "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->id_event_cat 7;
        
$event->save(false);
    }

    public static function 
addAdminUsersDelete($user) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' удалил пользователя "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' видалив користувача "' $user->surname_user ' ' $user->name_user ' ' $user->middlename_user '"';
        
$event->id_event_cat 7;
        
$event->save(false);
    }

    public static function 
addAdminTestsAdd($test) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' добавил тест "' $test->name_test_ru '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' додав тест "' $test->name_test_ua '"';
        
$event->id_event_cat 14;
        
$event->save(false);
    }

    public static function 
addAdminTestsEdit($test) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' отредактировал тест "' $test->name_test_ru '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' відредагував тест "' $test->name_test_ua '"';
        
$event->id_event_cat 14;
        
$event->save(false);
    }

    public static function 
addAdminTestsDelete($test) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' удалил тест "' $test->name_test_ru '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' видалив тест "' $test->name_test_ua '"';
        
$event->id_event_cat 14;
        
$event->save(false);
    }

    public static function 
addClientLogin() {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru "Пользователь " Yii::App()->user->name " вошёл в клиентскую часть приложения";
        
$event->message_ua "Користувач " Yii::App()->user->name " увійшов до клієнської частини додатку";
        
$event->id_event_cat 1;

        
$event->save(false);
    }

    public static function 
addAdminLogin() {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru "Пользователь " Yii::App()->user->name " вошёл в панель управления";
        
$event->message_ua "Користувач " Yii::App()->user->name " увійшов до панелі керування";
        
$event->id_event_cat 3;

        
$event->save(false);
    }

    public static function 
addClientBeginTest($test) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        
$event->message_ru 'Пользователь ' Yii::App()->user->name ' начал прохождение теста "' $test->name_test_ru '"';
        
$event->message_ua 'Користувач ' Yii::App()->user->name ' почав прохождення тесту "' $test->name_test_ua '"';
        
$event->id_event_cat 2;

        
$event->save(false);
    }

    public static function 
addClientFinishedTest($test$success$error false) {
        
$event = new Events();
        
$event->id_user Yii::App()->user->id;
        if (
$success) {
            
$event->message_ru 'Пользователь ' Yii::App()->user->name ' успешно прошёл тест "' $test->name_test_ru '"';
            
$event->message_ua 'Користувач ' Yii::App()->user->name ' успішно пройшов теста "' $test->name_test_ua '"';
        } else {
            if (
$error) {
                
$event->message_ru 'Произошла ошибка при прохождении теста "' $test->name_test_ru '" пользователем "' Yii::App()->user->name '"';
                
$event->message_ua 'Виникла помилка підчас прохождення тесту "' $test->name_test_ru '" користувачем "' Yii::App()->user->name '"';
            } else {
                
$event->message_ru 'Пользователь ' Yii::App()->user->name ' провалил тест "' $test->name_test_ru '"';
                
$event->message_ua 'Користувач ' Yii::App()->user->name ' провалив теста "' $test->name_test_ua '"';
            }
        }
        
$event->id_event_cat 2;
        
$event->save(false);
    }
    
   

    public static function 
getUsers() {
        
$criteria = new CDbCriteria();
        
$criteria->with = array("idUser");
        
$criteria->group "t.id_user";
        
$criteria->select = array('*''idUser.surname_user AS surname_user''idUser.name_user AS name_user''idUser.middlename_user AS middlename_user');
        return 
self::model()->findAll($criteria);
    }

    
/**
     * Retrieves a list of models based on the current search/filter conditions.
     *
     * Typical usecase:
     * - Initialize the model fields with values from filter form.
     * - Execute this method to get CActiveDataProvider instance which will filter
     * models according to data in model fields.
     * - Pass data provider to CGridView, CListView or any similar widget.
     *
     * @return CActiveDataProvider the data provider that can return the models
     * based on the search/filter conditions.
     */
    
public function search($pagination true) {
        
// @todo Please modify the following code to remove attributes that should not be searched.
        
        
if ($pagination) {
            
$pagination = array(
                
'pageSize' => (int) Yii::app()->session['pageCount'] ? Yii::app()->session['pageCount'] : 50,
            );
        } else { 
/* для всяких печатей, типа "печать отфильтрованных пользователей". */
            
$pagination = array(
                
'pageSize' => 1000000/* мильён! я не жадный! */
            
);
        }
        
        
$criteria = new CDbCriteria;

        
$criteria->compare('id_event'$this->id_event);
        
$criteria->compare('id_event_cat'$this->id_event_cat);
        
$criteria->compare('DATE_FORMAT(created, "%d.%m.%Y")'$this->createdtrue);
        
$criteria->compare('message_ru'$this->message_rutrue);
        
$criteria->compare('message_ua'$this->message_uatrue);
        
$criteria->compare('id_user'$this->id_user);
        
        if (
$this->created_from != "") {
            
$criteria->addCondition('t.created > "' $this->created_from '"'"AND");
        }

        if (
$this->created_to != "") {
            
$criteria->addCondition('t.created < "' $this->created_to '"'"AND");
        }
        
        return new 
CActiveDataProvider($this, array(
            
'criteria' => $criteria,
            
'sort' => array(
                
'defaultOrder' => 'id_event DESC',
            ),
            
'pagination' => $pagination,
        ));
    }

    
/**
     * Returns the static model of the specified AR class.
     * Please note that you should have this exact method in all your CActiveRecord descendants!
     * @param string $className active record class name.
     * @return Events the static model class
     */
    
public static function model($className __CLASS__) {
        return 
parent::model($className);
    }

}
Онлайн: 1
Реклама