=$i) { unset($substring); if ($swsensible) { $subcadena=strtolower($subcadena); $cadena=strtolower($cadena); } $substring=substr($cadena,$i,strlen($subcadena)); if ($substring==$subcadena) return$i; $i++; } return -1; } //_____________________________________________________________________________________________ // Búsqueda binaria o dicotómica en una tabla y devuelve el índice del elemento buscado tabla de una dimension //_____________________________________________________________________________________________ function busca_indicebinario($dato,$tabla,$cont){ if (empty($tabla)) return(-1); $a=0; $b=$cont-1; do{ $p=round(($a+$b)/2,0); if ($tabla[$p]==$dato) return($p); else{ if ($tabla[$p]<$dato){ $a=$p+1; } else $b=$p-1; } }while($b>=$a); return(-1); } //_____________________________________________________________________________________________ // Búsqueda binaria o dicotómica en una tabla y devuelve el índice del elemento buscado tabla de dos dimensiones //_____________________________________________________________________________________________ function busca_indicebinariodual($dato,$tabla,$cont){ $a=0; $b=$cont-1; do{ $p=round(($a+$b)/2,0); if ($tabla[$p][0]==$dato) return($p); else{ if ($tabla[$p][0]<$dato){ $a=$p+1; } else $b=$p-1; } }while($b>=$a); return(-1); } //___________________________________________________________________________________ function CreaTablaParametros($cmd){ global $tabla_parametros; global $cont_parametros; $rs=new Recordset; $cmd->texto="SELECT * FROM parametros"; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); $cont=0; while (!$rs->EOF){ $auxtabla_parametros=""; $auxtabla_parametros["nemonico"]=$rs->campos["nemonico"]; $auxtabla_parametros["descripcion"]=$rs->campos["descripcion"]; $auxtabla_parametros["nomidentificador"]=$rs->campos["nomidentificador"]; $auxtabla_parametros["nomtabla"]=$rs->campos["nomtabla"]; $auxtabla_parametros["nomliteral"]=$rs->campos["nomliteral"]; $auxtabla_parametros["tipopa"]=$rs->campos["tipopa"]; $tabla_parametros[$cont][0]=$auxtabla_parametros["nemonico"]; $tabla_parametros[$cont][1]=$auxtabla_parametros; $cont++; $rs->Siguiente(); } $auxnemonico=""; // Ordena según el nemonico for ($i=0;$i<$cont-1;$i++){ for ($j=$i+1;$j<$cont;$j++){ if($tabla_parametros[$i][0]>$tabla_parametros[$j][0]){ $auxnemonico=$tabla_parametros[$i][0]; $tabla_parametros[$i][0]=$tabla_parametros[$j][0]; $tabla_parametros[$j][0]=$auxnemonico; $auxtabla_parametros=$tabla_parametros[$i][1]; $tabla_parametros[$i][1]=$tabla_parametros[$j][1]; $tabla_parametros[$j][1]=$auxtabla_parametros; } } } $cont_parametros=$cont; } /*______________________________________________________________________ Redirecciona a la página de error Parametros: - Literal del error _______________________________________________________________________*/ function RedireccionaError($herror){ $urlerror=urldecode($herror); $wurl="../seguridad/logerror.php?herror=".$urlerror; Header('Location: '.$wurl); } /*______________________________________________________________________ Elimina de la cadena de parametros, el parametro iph ( que debe ser el ultimo) Parametros: - cadena de parametros de un comando Devuelve: - la cadena sin el parametro iph y su valor _______________________________________________________________________*/ function Sin_iph($cadena){ $pos=EnCadena($cadena,"iph=") ; if($pos==-1) return($cadena); return(substr($cadena,0,$pos)); } /*______________________________________________________________________ Elimina de la cadena de parametros, el parametro mac ( que debe ser el ultimo) Parametros: - cadena de parametros de un comando Devuelve: - la cadena sin el parametro iph y su valor _______________________________________________________________________*/ function Sin_mac($cadena){ $pos=EnCadena($cadena,"mac=") ; if($pos==-1) return($cadena); return(substr($cadena,0,$pos)); }