PageRenderTime 123ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/protected/modules/user/components/UActiveRecord.php

https://bitbucket.org/mkwiek/hairdresser
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
  1. <?php
  2. class UActiveRecord extends CActiveRecord
  3. {
  4. /**
  5. * Extends setAttributes to handle active date fields
  6. *
  7. * @param $values array
  8. * @param $safeOnly boolean
  9. */
  10. public function setAttributes($values,$safeOnly=true)
  11. {
  12. foreach ($this->widgetAttributes() as $fieldName=>$className) {
  13. if (isset($values[$fieldName])&&class_exists($className)) {
  14. $class = new $className;
  15. $arr = $this->widgetParams($fieldName);
  16. if ($arr) {
  17. $newParams = $class->params;
  18. $arr = (array)CJavaScript::jsonDecode($arr);
  19. foreach ($arr as $p=>$v) {
  20. if (isset($newParams[$p])) $newParams[$p] = $v;
  21. }
  22. $class->params = $newParams;
  23. }
  24. if (method_exists($class,'setAttributes')) {
  25. $values[$fieldName] = $class->setAttributes($values[$fieldName],$this,$fieldName);
  26. }
  27. }
  28. }
  29. parent::setAttributes($values,$safeOnly);
  30. }
  31. public function behaviors(){
  32. return Yii::app()->getModule('user')->getBehaviorsFor(get_class($this));
  33. }
  34. }