<?php

class ExternalNumber extends PhonalisaRecord
{

    public $id;
    public $userId;
    public $pattern;
    public $callThrough;
    public $forward;
    public $useParallelCall;

    public static function myAttributes()
    {
        return array(
            'id' => 'id',
            'pattern' => 'pattern',
            'userId' => 'userId',
            'callThrough' => 'callThrough',
            'forward' => 'forward',
            'useParallelCall' => 'useParallelCall',
        );
    }

    /**
     * Returns the static model of the specified AR class.
     * @param string $className active record class name.
     * @return Calendar the static model class
     */
    public static function model($className = __CLASS__)
    {
        return parent::model($className);
    }

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

    /**
     * @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('pattern', 'required'),
            array('userId, forward, callThrough, useParallelCall', '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(
        );
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels()
    {
        return array(
            'id' => __('ID'),
            'pattern' => __('EXTERNAL_NUMBER_MODEL_PATTERN'),
            'userId' => __('EXTERNAL_NUMBER_MODEL_USER_ID'),
            'forward' => __('EXTERNAL_NUMBER_MODEL_FORWARD'),
            'callThrough' => __('EXTERNAL_NUMBER_MODEL_CALL_TROUGH'),
            'useParallelCall' => __('EXTERNAL_NUMBER_MODEL_PARALLEL_CALL')
        );
    }

    /**
     * Retrieves a list of models based on the current search/filter conditions.
     * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
     */
    public function search($userId, $order = 'id')
    {
        // Warning: Please modify the following code to remove attributes that
        // should not be searched.
        $data = $this->findAllByAttributes(array('userId' => $userId));
        if (empty($data)) {
            $data = array($this);
        }
        return new CArrayDataProvider($data, array('pagination' => false));
    }
}
