コード例 #1
0
 /**
  * Devuelve un arreglo con opciones por defecto para ser utilizadas por el componente {@see SelectorDatepickerWidget}
  * para habilitar un calendario dinámico en campos de texto. Los valores por defecto configuran al calendario
  * para que esté en español, la fecha esté en formato ISO, muestre combos de meses y años y genere una función reutilizable. 
  * El argumento $tipo puede tener tres opciones:
  * 'fecha': todas las fechas, selector jQuery 'input.fecha'
  * 'pasado': solo fechas antes de hoy, selector 'input.fecha-pasado'
  * 'futuro': solo fechas luego de hoy, selector 'input.fecha-futuro'
  * @param string $tipo 
  * @param array $adicionales Opciones extra que se combinarán con las opciones por defecto
  * @return array Opciones para el widget de fechas
  */
 public static function defaultDateOptions($tipo = 'fecha', $adicionales = array())
 {
     $dateoptions = array('selector' => 'input.fecha', 'function' => 'date_set', 'language' => 'es', 'options' => array('dateFormat' => 'yy-mm-dd', 'changeMonth' => true, 'changeYear' => true, 'buttonImage' => Yii::app()->baseurl . '/images/icons/calendar.png', 'buttonImageOnly' => true, 'showOn' => 'both', 'buttonText' => 'Ver Calendario'));
     if ($tipo == 'pasado') {
         $dateoptions['function'] = 'date_set_pasado';
         $dateoptions['selector'] = 'input.fecha-pasado';
         $dateoptions['options']['maxDate'] = DateUtils::now();
     }
     if ($tipo == 'futuro') {
         $dateoptions['function'] = 'date_set_futuro';
         $dateoptions['selector'] = 'input.fecha-futuro';
         $dateoptions['options']['minDate'] = DateUtils::now();
     }
     if ($tipo == 'tabla') {
         $dateoptions['function'] = 'date_set_futuro';
         $dateoptions['selector'] = 'input.fecha-futuro';
         $dateoptions['options']['minDate'] = DateUtils::now();
         $dateoptions['options']['maxDate'] = DateUtils::future();
     }
     if ($adicionales) {
         $dateoptions = array_merge($dateoptions, $adicionales);
     }
     return $dateoptions;
 }