<?php
class UActiveRecord extends CActiveRecord
{
        /**
         * Extends setAttributes to handle active date fields
         *
         * @param $values array
         * @param $safeOnly boolean
         */
        public function setAttributes($values,$safeOnly=true)
        {
			foreach ($this->widgetAttributes() as $fieldName=>$className) {
				if (isset($values[$fieldName])&&class_exists($className)) {
					$class = new $className;
					$arr = $this->widgetParams($fieldName);
					if ($arr) {
						$newParams = $class->params;
						$arr = (array)CJavaScript::jsonDecode($arr);
						foreach ($arr as $p=>$v) {
							if (isset($newParams[$p])) $newParams[$p] = $v;
						}
						$class->params = $newParams;
					}
					if (method_exists($class,'setAttributes')) {
						$values[$fieldName] = $class->setAttributes($values[$fieldName],$this,$fieldName); 
					}
				}
			}
			parent::setAttributes($values,$safeOnly);
		}
		
		public function behaviors(){
			return Yii::app()->getModule('panel')->getBehaviorsFor(get_class($this));
		}
}