/** * Crea un nuevo toba_fecha en base a una fecha d/m/a * @return toba_fecha */ static function desde_pantalla($fecha) { $fecha = cambiar_fecha($fecha, '/', '-'); $salida = new toba_fecha(); $salida->set_fecha($fecha); return $salida; }
function generar_html_info_operacion($res) { $encabezado = $this->controlador->get_analizador()->analizar_encabezado($res); $string = ''; if (isset($encabezado['operacion'])) { $string .= "<span id='div_lapso' style='font-weight:bold;font-size:18px;'>{$encabezado['operacion']}</span><br>"; } if (isset($encabezado['fecha'])) { $fecha_ref = new toba_fecha(); $fecha_log = new toba_fecha(); $fecha_log->set_timestamp(strtotime($encabezado['fecha'])); $fecha = $fecha_log->get_timestamp_pantalla(); if ($fecha_ref->es_igual_que($fecha_log)) { $fecha = 'Hoy ' . date('H:i:s', strtotime($encabezado['fecha'])); } $string .= "<span id='div_lapso' style='font-weight:bold;font-size:12px;'>{$fecha}</span><br>"; } return $string; }
/** * Función de ayuda que comprueba si un dia es feriado */ function validar_dia($dia, &$mensaje) { if (trim($dia) == '') { return true; } $es_valido = true; $fecha = toba_fecha::desde_pantalla($dia); $anio = $fecha->get_parte('año'); //--- Se forma un cache de feriados por año para evitar ir al WS en cada pedido, esto es un ejemplo de juguete! if (!isset($this->s__cache_feriados[$anio])) { $client = new SoapClient('http://webservices.mininterior.gov.ar/Feriados/Service.svc?wsdl'); $d1 = mktime(0, 0, 0, 1, 1, $anio); $d2 = mktime(0, 0, 0, 12, 31, $anio); $feriados = $client->FeriadosEntreFechasAsXml(array('d1' => $d1, 'd2' => $d2)); $this->s__cache_feriados[$anio] = $feriados->FeriadosEntreFechasAsXmlResult; } $feriados = simplexml_load_string($this->s__cache_feriados[$anio]); foreach ($feriados as $feriado) { $fecha_feriado = new toba_fecha((string) $feriado->FechaEfectiva); if ($fecha_feriado->es_igual_que($fecha)) { $es_valido = false; $mensaje = 'El ' . $fecha->get_fecha_pantalla() . ' es ' . trim((string) utf8_decode($feriado->Descripcion)) . ' por ' . trim((string) utf8_decode($feriado->TipoDescripcion)); break; } } return $es_valido; }