esta es la tercera parte espero que ahora si acabe les pasaria los dos archivos a un servidor pero no tengo :_(
Código PHP:
/*-----------Separamos en partes la fecha para poder evaluar cada una de ellas por separado------------*/
$partes = explode( '-', $fecha );
/*--------Contamos el número de partes con que cuenta la fecha para saber que hacer dependiendo--------*/
/*------------del número de estas, el formato correcto debera de ser: parte1-parte2-parte3-------------*/
/*---------------------------------es decir, debe haber sólo 3 partes----------------------------------*/
$cant = count( $partes );
if ( $cant == 2 )
{
if( $tipo == 1 ) // Si la fecha debe comenzar por día
{
$uno = valida_dia( $partes[0], $garabato, $color );
$falta = $a; // Como solo se enviaron 2 partes falta el año
}
else
{
$uno = valida_anio( $partes[0], $garabato, $color );
$falta = $d_m; // Como solo se enviaron 2 partes falta el dia
}
$dos = valida_mes( $partes[1], $garabato, $color ); // Ahora evaluamos el mes
// Si no se encontraron errores en dia y mes nos aseguramos que el día sea válido para el mes
if( $tipo == 1 && ( !$uno[0] && !$dos[0] ) )
{
if( $uno[1] > 29 && $dos[1] == '02' ) // ERROR: El mes de febrero nunca tiene más de 29 días
$uno[1] = colorea_cadena( $uno[1], $color );
// ERROR: Los meses de Abril, Junio, Septiembre y Noviembre no tienen 31 días
if( $uno[1] == 31 && ( $dos[1] == '04' || $dos[1] == '06' || $dos[1] == '09' || $dos[1] == '11' ) )
$uno[1] = colorea_cadena( $uno[1], $color );
}
$fecha = $uno[1]."-".$dos[1]."-".$falta;
$validada[] = 1;
$validada[] = $fecha;
return $validada;
}
/*/////////////////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
elseif ( $cant == 3 ) // Si se enviaron las tres partes
{
// Damos formato a $dia, $mes y $anio para que se correspondan con el tipo a evaluar
if( $tipo == 1 )
{
$dia = $partes[0];
$mes = $partes[1];
$anio = $partes[2];
}
else
{
$dia = $partes[2];
$mes = $partes[1];
$anio = $partes[0];
}
$dia = valida_dia( $dia, $garabato, $color );
$mes = valida_mes( $mes, $garabato, $color );
$anio = valida_anio( $anio, $garabato, $color );
if( $dia[0] || $mes[0] || $anio[0] ) // ERROR: Se encontraron errores en las partes de la fecha
{
if( $tipo == 1 )
$fecha = $dia[1]."-".$mes[1]."-".$anio[1];
else
$fecha = $anio[1]."-".$mes[1]."-".$dia[1];
$validada[] = 1;
$validada[] = $fecha;
return $validada;
}
else
{
$valida = checkdate( $mes[1], $dia[1], $anio[1] ); // Válidamos la fecha
if( $tipo == 1 )
$fecha = $dia[1]."-".$mes[1]."-".$anio[1];
else
$fecha = $anio[1]."-".$mes[1]."-".$dia[1];
if( !$valida ) // ERROR: Fecha inválida
{
$validada[] = 1;
$validada[] = $fecha;
return $validada;
}
else // Si la fecha es valida
{
if( $tipo == 1 )
$fecha = $anio[1]."-".$mes[1]."-".$dia[1];
$validada[] = 0;
$validada[] = $fecha;
return $validada;
}
}
}
/*/////////////////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
elseif( $cant > 3 )
{
$fecha = colorea_cadena( $fecha, $color );
$validada[] = 1;
$validada[] = $fecha;
return $validada; // ERROR: La fecha no tiene un formato correcto
}
}
?>