source: admin/WebConsole/varios/incorporaordenadores.php @ 09f40008

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 09f40008 was 4a81502, checked in by ramon <ramongomez@…>, 12 years ago

#555: Incluir aviso de longitud de nombre de equipo en formulario de incorporar ordenadores.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@3727 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 7.2 KB
Line 
1<?php
2// *************************************************************************************************************************************************
3// Aplicación WEB: ogAdmWebCon
4// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
5// Fecha Creación: Año 2009-2010
6// Fecha Última modificación: Agosto-2010
7// Nombre del fichero: incorporaordenadores.php
8// Descripción :
9//              Da de alta en la base de datos nuevos ordenadores desde un fichero de configuración dhcp
10// *************************************************************************************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/AdoPhp.php");
13include_once("../includes/CreaComando.php");
14include_once("../idiomas/php/".$idioma."/incorporaordenadores_".$idioma.".php");
15include_once("../idiomas/php/".$idioma."/avisos_".$idioma.".php");
16//________________________________________________________________________________________________________
17$cmd=CreaComando($cadenaconexion);
18if (!$cmd)
19        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
20//___________________________________________________________________________________________________
21$swf=0;
22$idaula=0;
23$nombreaula="";
24$contenido="";
25
26if (isset($_GET["idaula"])) $idaula=$_GET["idaula"];
27if (isset($_GET["nombreaula"])) $nombreaula=$_GET["nombreaula"];
28
29if (isset($_POST["swf"])) $swf=$_POST["swf"]; // Recoge parametros
30if (isset($_POST["contenido"])) $contenido=$_POST["contenido"];
31if (isset($_POST["idaula"])) $idaula=$_POST["idaula"];
32if (isset($_POST["nombreaula"])) $nombreaula=$_POST["nombreaula"];
33
34$resul=0;
35$ordDup="";
36
37if(!empty($contenido)){ // Se ha introducido contenido en lugar de fichero
38        $resul=procesaLineas($cmd,$idaula,$contenido);
39}
40//___________________________________________________________________________________________________
41?>
42<HTML>
43<TITLE>Administración web de aulas</TITLE>
44<HEAD>
45        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
46<LINK rel="stylesheet" type="text/css" href="../estilos.css">
47</HEAD>
48<BODY>
49<FORM action="incorporaordenadores.php" method="post" name="fdatos">
50        <INPUT type=hidden name=swf value=1>
51        <INPUT type=hidden name=idaula value=<?echo $idaula?>>
52        <INPUT type=hidden name=nombreaula value=<?echo $nombreaula?>>
53        <BR>
54        <P align=center class=cabeceras><?echo $TbMsg[0]?><BR>
55        <SPAN align=center class=subcabeceras><IMG src="../images/iconos/aula.gif">&nbsp;<?echo $TbMsg[1].":".$nombreaula ?></SPAN></P>
56<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
57<table align="center" class="tabla_datos" border="0" cellpadding="0" cellspacing="1">
58<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
59        <tr>
60            <th>&nbsp;<?php echo $TbMsg[2]?>&nbsp;</th>
61                <td><textarea class="cajatexto" name="contenido" cols="70" rows="18"></textarea></td></tr>
62        <tr><th colspan="2">&nbsp;<?php echo $TbMsg["WARN_NETBOOT"]?>&nbsp;</th></tr>
63        <tr><th colspan="2">&nbsp;<?php echo $TbMsg["WARN_NAMELENGTH"]?>&nbsp;</th></tr>
64<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
65</table>
66 </FORM>
67<TABLE align=center>
68        <TR>
69                <TD><IMG src="../images/boton_cancelar.gif" style="cursor:hand"  onclick=""></TD>
70                <TD width=20></TD>
71                <TD><IMG src="../images/boton_confirmar.gif" style="cursor:hand"  onclick="javascript:document.fdatos.submit();"></TD>
72        </TR>
73</TABLE>
74<?php
75//________________________________________________________________________________________________________
76// Mensaje con el resultado del proceso
77echo '<SCRIPT LANGUAGE="javascript">';
78if (!empty($resul))
79        echo "  alert('".$TbMsg[$resul]."');";
80if (!empty($ordDup))
81        echo "  alert('".$TbMsg[5]."\\n".$ordDup."');";
82echo '</SCRIPT>';
83//________________________________________________________________________________________________________
84?>
85</BODY>
86</HTML>
87<?php
88// *************************************************************************************************************************************************
89function procesaLineas($cmd,$idaula,$buffer)
90{
91        $nombre="";
92        $MAC="";
93        $IP="";
94        $sw=false;
95        $posa=-1;
96
97        while($posa<strlen($buffer)){
98                        if ('host'==substr($buffer,$posa,4)){
99                                $posa=$posa+4;
100                                $posb=$posa;
101                                while(  substr($buffer,$posb,1)!="{") $posb++;
102                                $nombre=substr($buffer,$posa,$posb-$posa);
103                        }
104                        if ('hardware ethernet'==substr($buffer,$posa,17)){
105                                $posa=$posa+17;
106                                $posb=$posa;
107                                while(  substr($buffer,$posb,1)!=";") $posb++;
108                                $MAC=substr($buffer,$posa,$posb-$posa);
109                        }
110
111                        if ('fixed-address'==substr($buffer,$posa,13)){
112                                $posa=$posa+13;
113                                $posb=$posa;
114                                while(  substr($buffer,$posb,1)!=";") $posb++;
115                                $IP=substr($buffer,$posa,$posb-$posa);
116                        }
117                        if(!empty($nombre) && !empty($MAC) && !empty($IP)){
118                                if(!Inserta($cmd,$idaula,$nombre,$MAC,$IP)) return(4);
119                                $sw=true;
120                                $nombre="";
121                                $MAC="";
122                                $IP="";
123                                $resul=true;
124                        }
125                        $posa++;
126        }
127        if($sw)
128                return(3);
129        else
130                return(4);
131
132}
133//________________________________________________________________________________________________________
134function Inserta($cmd,$idaula,$nombre,$lamac,$laip)
135{
136        global $ordDup;
137       
138        $grupoid=0;
139        $nombreordenador=trim($nombre);
140        $ip=trim($laip);
141        $auxmac=trim($lamac);
142        $mac="";
143        for($i=0;$i<strlen($auxmac);$i++)
144                if(substr($auxmac,$i,1)!=":")
145                        $mac.=substr($auxmac,$i,1);
146       
147        if(existeOrdenador($cmd,$nombreordenador,$mac,$ip)){
148                $ordDup.="Nombre=".$nombre.",Mac=".$mac.",Dirección ip=".$ip." \\n";
149                return(true);   
150        }                       
151        $idperfilhard=0;
152## ADV: modificacion para asignar a los ordenadores, cuando se crean desde "incorpoar ordenadores" el repositorio "default"
153        $idrepositorio=1;
154        $idconfiguracion=0;
155        $cmd->CreaParametro("@grupoid",$grupoid,1);
156        $cmd->CreaParametro("@idaula",$idaula,1);
157        $cmd->CreaParametro("@nombreordenador",$nombreordenador,0);
158        $cmd->CreaParametro("@ip",$ip,0);
159        $cmd->CreaParametro("@mac",$mac,0);
160        $cmd->CreaParametro("@idperfilhard",$idperfilhard,1);
161        $cmd->CreaParametro("@idrepositorio",$idrepositorio,1);
162        $cmd->CreaParametro("@idconfiguracion",$idconfiguracion,1);
163       
164        $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,idperfilhard,idrepositorio,idaula,grupoid) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idrepositorio,@idaula,@grupoid)";
165        $resul=$cmd->Ejecutar();
166        return($resul);
167}
168//________________________________________________________________________________________________________
169//      Recupera los datos de un ordenador
170//              Parametros:
171//              - cmd: Una comando ya operativo (con conexión abierta) 
172//              - ip: Dirección IP
173//________________________________________________________________________________________________________
174function existeOrdenador($cmd,$nombre,$MAC,$IP){
175        $rs=new Recordset;
176        $cmd->texto="SELECT * FROM ordenadores WHERE nombreordenador='".$nombre."' OR mac='".$MAC."' OR ip='".$IP."'";
177        $rs->Comando=&$cmd;
178        if (!$rs->Abrir()) return(false); // Error al abrir recordset
179        $rs->Primero();
180        if (!$rs->EOF){
181                $rs->Cerrar();
182                return(true);
183        }
184        else
185                return(false);
186}
187?>
Note: See TracBrowser for help on using the repository browser.