<?php /** * User model * */ class User extends ActiveRecord { /** * REST behavior */ public function behaviors() { return array( 'RestModelBehavior' => array( 'class' => 'WRestModelBehavior', ) ); } /** * Returns current model */ public static function model( $className = __CLASS__ ) { return parent::model($className); } /** * Return table name to which this model is related */ public function tableName() { return 'users'; } /** * Return table primary key name */ public function primaryKey() { return 'id'; } /** * Transport relation */ public function relations() { return array( "transport" => array( self::HAS_ONE, "Transport", array( "id" => "domid" ), "joinType" => "LEFT JOIN" ) ); } /** * Model rules */ public function rules() { return array( array('name, login, passwd, uid, gid, domid, smtp, imap, pop3, sieve, quota, manager, backup', 'default', 'on' => 'update'), array('login, passwd, domid', 'required', 'on' => 'update'), array('smtp, imap, pop3, sieve, manager', 'numerical', 'on' => 'update', 'allowEmpty' => false, 'integerOnly' => true), array('name, login, passwd, uid, gid, domid, smtp, imap, pop3, sieve, quota, manager', 'default', 'on' => 'insert'), array('login, passwd, domid', 'required', 'on' => 'insert'), array('smtp, imap, pop3, sieve, domid, manager', 'numerical', 'on' => 'insert', 'allowEmpty' => false, 'integerOnly' => true) ); } }