Phundament App Class Reference
  • Package
  • Class
  • Tree

Packages

  • bootstrap
    • widgets
      • input
  • Image
  • None
  • p3admin
  • p3extensions
    • behaviors
    • commands
    • components
    • helpers
    • widgets
  • p3media
    • actions
    • controllers
    • models
  • p3pages
    • models
  • p3widgets
    • components
    • models
  • PHP
  • system
    • db
      • ar
    • gii
    • web
      • auth
      • helpers
      • widgets
  • yiiext
    • widgets
      • fancybox
      • lipsum
  • zii
    • widgets
      • grid

Classes

  • ActivationController
  • AdminController
  • AssignmentController
  • AssignmentForm
  • AuthChildForm
  • AuthItemController
  • AuthItemForm
  • BaseP3Widget
  • BaseP3WidgetMeta
  • BaseP3WidgetTranslation
  • Bootstrap
  • CImageComponent
  • CKEditor
  • CodeProvider
  • DefaultController
  • EChosen
  • EDbMigration
  • EditableField
  • EditableSaver
  • EMigrateCommand
  • ESelect2
  • EUserFlash
  • FullCrudFieldProvider
  • GenerateForm
  • IdentificationColumnValidator
  • InstallController
  • JSONEditorView
  • JuiJSONEditorInput
  • LoginController
  • LogoutController
  • Metadata
  • P3CrudFieldProvider
  • P3MediaController
  • P3MediaMetaController
  • P3MediaSelect
  • P3PageController
  • P3PageMetaController
  • P3PageTranslationController
  • P3Widget
  • P3WidgetController
  • P3WidgetMetaController
  • P3WidgetTranslation
  • P3WidgetTranslationController
  • ProfileController
  • ProfileFieldController
  • RAuthItemBehavior
  • RAuthItemChildDataProvider
  • RAuthItemDataProvider
  • RAuthItemParentDataProvider
  • RAuthorizer
  • RController
  • RDbAuthManager
  • RecoveryController
  • RegistrationController
  • RegistrationForm
  • RGenerator
  • Rights
  • RightsFilter
  • RightsModule
  • RInstaller
  • RPermissionDataProvider
  • RUserBehavior
  • RWebUser
  • UActiveForm
  • UploadHandler
  • UserChangePassword
  • UserController
  • UserIdentity
  • UserLogin
  • UserModule
  • UserRecoveryForm
  • UWdropDownDep
  • UWfile
  • UWjuiAutoComplete
  • UWjuidate
  • UWrelBelongsTo
  • WebUserBehavior
 1 <?php
 2 
 3 class UWrelBelongsTo {
 4     
 5     public $params = array(
 6         'modelName'=>'',
 7         'optionName'=>'',
 8         'emptyField'=>'',
 9         'relationName'=>'',
10     );
11     
12     /**
13      * Widget initialization
14      * @return array
15      */
16     public function init() {
17         return array(
18             'name'=>__CLASS__,
19             'label'=>UserModule::t('Relation Belongs To',array(),__CLASS__),
20             'fieldType'=>array('INTEGER'),
21             'params'=>$this->params,
22             'paramsLabels' => array(
23                 'modelName'=>UserModule::t('Model Name',array(),__CLASS__),
24                 'optionName'=>UserModule::t('Lable field name',array(),__CLASS__),
25                 'emptyField'=>UserModule::t('Empty item name',array(),__CLASS__),
26                 'relationName'=>UserModule::t('Profile model relation name',array(),__CLASS__),
27             ),
28         );
29     }
30     
31     /**
32      * @param $value
33      * @param $model
34      * @param $field_varname
35      * @return string
36      */
37     public function setAttributes($value,$model,$field_varname) {
38         return $value;
39     }
40     
41     /**
42      * @param $model - profile model
43      * @param $field - profile fields model item
44      * @return string
45      */
46     public function viewAttribute($model,$field) {
47         $relation = $model->relations();
48         if ($this->params['relationName']&&isset($relation[$this->params['relationName']])) {
49             $m = $model->__get($this->params['relationName']);
50         } else {
51             $m = CActiveRecord::model($this->params['modelName'])->findByPk($model->getAttribute($field->varname));
52         }
53         
54         if ($m)
55             return (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id);
56         else
57             return $this->params['emptyField'];
58         
59     }
60     
61     /**
62      * @param $model - profile model
63      * @param $field - profile fields model item
64      * @param $params - htmlOptions
65      * @return string
66      */
67     public function editAttribute($model,$field,$htmlOptions=array()) {
68         $list = array();
69         if ($this->params['emptyField']) $list[0] = $this->params['emptyField'];
70         
71         $models = CActiveRecord::model($this->params['modelName'])->findAll();
72         foreach ($models as $m)
73             $list[$m->id] = (($this->params['optionName'])?$m->getAttribute($this->params['optionName']):$m->id);
74         return CHtml::activeDropDownList($model,$field->varname,$list,$htmlOptions=array());
75     }
76     
77 }
Phundament App Class Reference API documentation generated by ApiGen 2.8.0