/protected/modules/user/components/UActiveRecord.php
PHP | 35 lines | 28 code | 1 blank | 6 comment | 4 complexity | 589ad5628d259bafff2cf628fa1040b0 MD5 | raw file
Possible License(s): BSD-3-Clause, BSD-2-Clause, LGPL-2.1
- <?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('user')->getBehaviorsFor(get_class($this));
- }
- }