diff options
author | alonso <alonso@us.es> | 2009-11-04 12:41:19 +0000 |
---|---|---|
committer | alonso <alonso@us.es> | 2009-11-04 12:41:19 +0000 |
commit | b0dc2e4f68d239ce72f138c47d5762973dfa851e (patch) | |
tree | 8b22fe4101e8e527f474291ed19f4446f02a2343 /admin/WebConsole/includes/comunes.php | |
parent | a7fa603b2d3bb05c60c61265f2bf4b561bb00ba3 (diff) |
git-svn-id: https://opengnsys.es/svn/trunk@489 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole/includes/comunes.php')
-rw-r--r-- | admin/WebConsole/includes/comunes.php | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/admin/WebConsole/includes/comunes.php b/admin/WebConsole/includes/comunes.php new file mode 100644 index 00000000..8fbb3674 --- /dev/null +++ b/admin/WebConsole/includes/comunes.php @@ -0,0 +1,190 @@ +<? +//________________________________________________________________________________________ +// +// Trocea en elementos de una matriz la cadena enviada como parametro separando por parametros +// Parámetros: +// - trama: La trama +// Devuelve: +// Una matriz con las parejas de paramertos "nombre=valor" +//________________________________________________________________________________________ +function extrae_parametros($parametros,$chsep,$chval){ + $ParametrosCadena=""; + $auxP=split($chsep,$parametros); + for ($i=0;$i<sizeof($auxP);$i++){ + $dualparam=split($chval,$auxP[$i]); + if (isset($dualparam[0]) && isset($dualparam[1])){ + $streval='$ParametrosCadena["'.$dualparam[0].'"]="'.$dualparam[1].'";'; + eval($streval); + } + } + return($ParametrosCadena); +} +//________________________________________________________________________________________ +// +// Trocea en elementos de una matriz la cadena enviada como parametro separando por parametros y devolviendo el elegido +// Parámetros: +// Devuelve: +//________________________________________________________________________________________ +function extrae_parametro($parametros,$chsep,$chval,$chr){ + $ParametrosCadena=""; + $auxP=split($chsep,$parametros); + for ($i=0;$i<sizeof($auxP);$i++){ + $dualparam=split($chval,$auxP[$i]); + if (isset($dualparam[0]) && isset($dualparam[1])){ + if($dualparam[0]==$chr) + return($dualparam[1]); + } + } + return(""); +} + + +//________________________________________________________________________________________ +// +// Busca una cadena dentro de otra. +// Especificaciones: +// Puede ser sensible a las mayúsculas +// Parametros: +// cadena; cadena donde se va a buscar +// subcadena; cadena a buscar +// swsensible; si es sensible o no a las mayúsculas y minúsculas +// Devuelve: +// La posición de comienzo de la subcadena dentro de la cadena, o (-1) en caso de no estar dentro +//________________________________________________________________________________________ +function EnCadena($cadena,$subcadena,$swsensible = false) { + $i=0; + while (strlen($cadena)>=$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)); +} |