Переглянути джерело

Cambio de hashes de horarios

PAAD 1 рік тому
батько
коміт
7071fa1fd8
1 змінених файлів з 18 додано та 3 видалено
  1. 18 3
      rest/horarios.php

+ 18 - 3
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)."<br>";
 
     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)."<br>";
     
@@ -427,4 +442,4 @@ try{
 }
 
 
-?>
+?>