This repository has been archived on 2024-12-01. You can view files and clone it, but cannot push or open issues or pull requests.
factuges_web/www/protected/modules/yii-user-master/components/UWjuidate.php
david e93adbdd4e - Importación inicial
- Registro, activación y entrada de usuarios


git-svn-id: https://192.168.0.254/svn/Rodax.factuges_web/trunk@2 e455b18d-f7fe-5245-9c43-e2c35af70a32
2013-06-13 16:04:48 +00:00

70 lines
2.0 KiB
PHP

<?php
class UWjuidate {
/**
* @var array
*/
public $params = array(
'ui-theme'=>'base',
'language'=>'en',
);
/**
* Initialization
* @return array
*/
public function init() {
return array(
'name'=>__CLASS__,
'label'=>UserModule::t('jQueryUI datepicker'),
'fieldType'=>array('DATE','VARCHAR'),
'params'=>$this->params,
'paramsLabels' => array(
'dateFormat'=>UserModule::t('Date format'),
),
);
}
/**
* @param $model - profile model
* @param $field - profile fields model item
* @return string
*/
public function viewAttribute($model,$field) {
return $model->getAttribute($field->varname);
}
/**
* @param $model - profile model
* @param $field - profile fields model item
* @param $params - htmlOptions
* @return string
*/
public function editAttribute($model,$field,$htmlOptions=array()) {
if (!isset($htmlOptions['size'])) $htmlOptions['size'] = 60;
if (!isset($htmlOptions['maxlength'])) $htmlOptions['maxlength'] = (($field->field_size)?$field->field_size:10);
if (!isset($htmlOptions['id'])) $htmlOptions['id'] = get_class($model).'_'.$field->varname;
$id = $htmlOptions['id'];
$options['dateFormat'] = 'yy-mm-dd';
$options=CJavaScript::encode($options);
$basePath=Yii::getPathOfAlias('user.views.asset');
$baseUrl=Yii::app()->getAssetManager()->publish($basePath);
$cs = Yii::app()->getClientScript();
$cs->registerCssFile($baseUrl.'/css/'.$this->params['ui-theme'].'/jquery-ui.css');
$cs->registerScriptFile($baseUrl.'/js/jquery-ui.min.js');
$language = $this->params['language'];
if ($language!='en') {
$js = "jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false}, jQuery.datepicker.regional['{$language}'], {$options}));";
$cs->registerScriptFile($baseUrl.'/js/jquery-ui-i18n.min.js');
} else $js = "jQuery('#{$id}').datepicker({$options});";
$cs->registerScript('ProfileFieldController'.'#'.$id, $js);
return CHtml::activeTextField($model,$field->varname,$htmlOptions);
}
}