/** * 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; }