summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/includes/comunes.php
diff options
context:
space:
mode:
authoralonso <alonso@us.es>2009-11-04 12:41:19 +0000
committeralonso <alonso@us.es>2009-11-04 12:41:19 +0000
commitb0dc2e4f68d239ce72f138c47d5762973dfa851e (patch)
tree8b22fe4101e8e527f474291ed19f4446f02a2343 /admin/WebConsole/includes/comunes.php
parenta7fa603b2d3bb05c60c61265f2bf4b561bb00ba3 (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.php190
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));
+}