diff --git a/rest/horarios.php b/rest/horarios.php index 2ef619c..f2fe335 100644 --- a/rest/horarios.php +++ b/rest/horarios.php @@ -19,6 +19,14 @@ require_once $ruta_superior."/include/bd_pdo_rest.php"; require_once __DIR__."/token.php"; require_once __DIR__."/LogCambios.php"; +function quitaAcentos($cadena) { + // Normalizar la cadena para descomponer caracteres acentuados en sus formas base y acentos + $cadenaNormalizada = Normalizer::normalize($cadena, Normalizer::FORM_D); + // Utilizar una expresión regular para eliminar los caracteres diacríticos + $cadenaSinAcentos = preg_replace('/\p{M}/u', '', $cadenaNormalizada); + return $cadenaSinAcentos; +} + //--------------ACTUALIZA HORARIOS-------------------------- if(!empty($_GET["fecha"])){ $hoy = $_GET["fecha"]; @@ -271,7 +279,11 @@ try{ //------------------ // Encontrar los "hash" que están en $sgu pero no están en $bd - $hashes_no_en_sgu = array_diff($hashes_bd, $hashes_sgu); + //$hashes_no_en_sgu = array_udiff($hashes_bd, $hashes_sgu, 'strcasecmp'); + $hashes_no_en_sgu = array_udiff($hashes_bd, $hashes_sgu, function($a, $b){ + return strcasecmp(quitaAcentos($a), quitaAcentos($b)); + }); + if($debug) echo "hashes_no_en_sgu ".count($hashes_no_en_sgu)."
"; if(count($hashes_no_en_sgu)>0){ @@ -305,7 +317,10 @@ try{ } // Encontrar los "hash" que están en $sgu pero no están en $bd - $hashes_no_en_bd = array_diff($hashes_sgu, $hashes_bd); + //$hashes_no_en_bd = array_udiff($hashes_sgu, $hashes_bd, 'strcasecmp'); + $hashes_no_en_bd = array_udiff($hashes_sgu, $hashes_bd, function($a, $b){ + return strcasecmp(quitaAcentos($a), quitaAcentos($b)); + }); //echo "hashes_no_en_bd ".count($hashes_no_en_bd)."
"; @@ -427,4 +442,4 @@ try{ } -?> \ No newline at end of file +?>