1 | <? |
---|
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 2003-2004 |
---|
6 | // Fecha Última modificación: Febrero-2005 |
---|
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 | // ************************************************************************************************************************************************* |
---|
11 | include_once("../includes/ctrlacc.php"); |
---|
12 | include_once("../clases/AdoPhp.php"); |
---|
13 | include_once("../includes/CreaComando.php"); |
---|
14 | include_once("../idiomas/php/".$idioma."/incorporaordenadores_".$idioma.".php"); |
---|
15 | //________________________________________________________________________________________________________ |
---|
16 | $cmd=CreaComando($cadenaconexion); |
---|
17 | if (!$cmd) |
---|
18 | Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. |
---|
19 | //___________________________________________________________________________________________________ |
---|
20 | $swf=0; |
---|
21 | $idaula=0; |
---|
22 | $nombreaula=""; |
---|
23 | $contenido=""; |
---|
24 | |
---|
25 | if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; |
---|
26 | if (isset($_GET["nombreaula"])) $nombreaula=$_GET["nombreaula"]; |
---|
27 | |
---|
28 | if (isset($_POST["swf"])) $swf=$_POST["swf"]; // Recoge parametros |
---|
29 | if (isset($_POST["contenido"])) $contenido=$_POST["contenido"]; |
---|
30 | if (isset($_POST["idaula"])) $idaula=$_POST["idaula"]; |
---|
31 | if (isset($_POST["nombreaula"])) $nombreaula=$_POST["nombreaula"]; |
---|
32 | |
---|
33 | $resul=0; |
---|
34 | |
---|
35 | if(!empty($contenido)){ // Se ha introducido contenido en lugar de fichero |
---|
36 | $resul=procesaLineas($cmd,$idaula,$contenido); |
---|
37 | } |
---|
38 | else{ |
---|
39 | if(!empty($swf)){ // Se ha enviado un fichero de configuración |
---|
40 | // Se envía fichero de script |
---|
41 | $ficheroPOST = $HTTP_POST_FILES['userfile']['tmp_name']; |
---|
42 | $nombreOriginal_archivo = $HTTP_POST_FILES['userfile']['name']; |
---|
43 | $URLPATHFILECFG="../includes"; |
---|
44 | $FISPATHFILECFG=realpath($URLPATHFILECFG); |
---|
45 | $NOMBREFILESCFG="filedhcp.cfg"; |
---|
46 | $ficheroLOCAL=$FISPATHFILECFG."/".$NOMBREFILESCFG; |
---|
47 | $resul=Gestiona($cmd,$idaula); |
---|
48 | } |
---|
49 | } |
---|
50 | //___________________________________________________________________________________________________ |
---|
51 | ?> |
---|
52 | <HTML> |
---|
53 | <TITLE>Administración web de aulas</TITLE> |
---|
54 | <HEAD> |
---|
55 | <LINK rel="stylesheet" type="text/css" href="../estilos.css"> |
---|
56 | </HEAD> |
---|
57 | <BODY> |
---|
58 | <FORM action="incorporaordenadores.php" method="post" enctype="multipart/form-data" name="fdatos"> |
---|
59 | <INPUT type=hidden name=swf value=1> |
---|
60 | <INPUT type=hidden name=idaula value=<?echo $idaula?>> |
---|
61 | <INPUT type=hidden name=nombreaula value=<?echo $nombreaula?>> |
---|
62 | <BR> |
---|
63 | <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> |
---|
64 | <SPAN align=center class=subcabeceras><IMG src="../images/iconos/aula.gif"> <?echo $TbMsg[1].":".$nombreaula ?></SPAN></P> |
---|
65 | <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> |
---|
66 | <table align=center class=tabla_datos border="0" cellpadding="0" cellspacing="1"> |
---|
67 | <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> |
---|
68 | <tr> |
---|
69 | <th> <? echo $TbMsg[8]?> </th> |
---|
70 | <td><textarea class="cajatexto" name="contenido" cols="70" rows="18"></textarea></td></tr> |
---|
71 | <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> |
---|
72 | <tr> |
---|
73 | <th> <? echo $TbMsg[2]?> </th> |
---|
74 | <td ><input class="cajatexto" name="userfile" type="file" size="52"></td></tr> |
---|
75 | <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> |
---|
76 | </TABLE> |
---|
77 | </FORM> |
---|
78 | <TABLE align=center> |
---|
79 | <TR> |
---|
80 | <TD><IMG src="../images/boton_cancelar.gif" style="cursor:hand" onclick=""></TD> |
---|
81 | <TD width=20></TD> |
---|
82 | <TD><IMG src="../images/boton_confirmar.gif" style="cursor:hand" onclick="javascript:document.fdatos.submit();"></TD> |
---|
83 | </TR> |
---|
84 | </TABLE> |
---|
85 | <? |
---|
86 | //________________________________________________________________________________________________________ |
---|
87 | // Mensaje con el resultado del proceso |
---|
88 | echo '<SCRIPT LANGUAGE="javascript">'; |
---|
89 | if (!empty($resul)) |
---|
90 | echo " alert('".$TbMsg[$resul]."');"; |
---|
91 | echo '</SCRIPT>'; |
---|
92 | //________________________________________________________________________________________________________ |
---|
93 | ?> |
---|
94 | </BODY> |
---|
95 | </HTML> |
---|
96 | <? |
---|
97 | // ************************************************************************************************************************************************* |
---|
98 | function Gestiona($cmd,$idaula){ |
---|
99 | global $ficheroPOST; |
---|
100 | global $ficheroLOCAL; |
---|
101 | |
---|
102 | $codigo=""; |
---|
103 | // Se envía fichero de script |
---|
104 | if(!empty($ficheroPOST)){ |
---|
105 | if (salvafichero_POST($ficheroPOST,$ficheroLOCAL)){ |
---|
106 | $fp = fopen ($ficheroLOCAL, "r"); |
---|
107 | $codigo = fread ($fp, filesize ($ficheroLOCAL)); |
---|
108 | fclose ($fp); |
---|
109 | return(procesaLineas($cmd,$idaula,$codigo)); |
---|
110 | } |
---|
111 | else |
---|
112 | return(6); |
---|
113 | } |
---|
114 | else |
---|
115 | return(4); |
---|
116 | } |
---|
117 | //________________________________________________________________________________________________________ |
---|
118 | function procesaLineas($cmd,$idaula,$buffer){ |
---|
119 | $nombre=""; |
---|
120 | $MAC=""; |
---|
121 | $IP=""; |
---|
122 | $sw=false; |
---|
123 | $posa=-1; |
---|
124 | |
---|
125 | while($posa<strlen($buffer)){ |
---|
126 | if ('host'==substr($buffer,$posa,4)){ |
---|
127 | $posa=$posa+4; |
---|
128 | $posb=$posa; |
---|
129 | while( substr($buffer,$posb,1)!="{") $posb++; |
---|
130 | $nombre=substr($buffer,$posa,$posb-$posa); |
---|
131 | } |
---|
132 | if ('hardware ethernet'==substr($buffer,$posa,17)){ |
---|
133 | $posa=$posa+17; |
---|
134 | $posb=$posa; |
---|
135 | while( substr($buffer,$posb,1)!=";") $posb++; |
---|
136 | $MAC=substr($buffer,$posa,$posb-$posa); |
---|
137 | } |
---|
138 | |
---|
139 | if ('fixed-address'==substr($buffer,$posa,13)){ |
---|
140 | $posa=$posa+13; |
---|
141 | $posb=$posa; |
---|
142 | while( substr($buffer,$posb,1)!=";") $posb++; |
---|
143 | $IP=substr($buffer,$posa,$posb-$posa); |
---|
144 | } |
---|
145 | if(!empty($nombre) && !empty($MAC) && !empty($IP)){ |
---|
146 | if(!Inserta($cmd,$idaula,$nombre,$MAC,$IP)) return(3); |
---|
147 | $sw=true; |
---|
148 | $nombre=""; |
---|
149 | $MAC=""; |
---|
150 | $IP=""; |
---|
151 | $resul=true; |
---|
152 | } |
---|
153 | $posa++; |
---|
154 | } |
---|
155 | if($sw) |
---|
156 | return(7); |
---|
157 | else |
---|
158 | return(5); |
---|
159 | |
---|
160 | } |
---|
161 | //________________________________________________________________________________________________________ |
---|
162 | function Inserta($cmd,$idaula,$nombre,$lamac,$laip){ |
---|
163 | $grupoid=0; |
---|
164 | $nombreordenador=trim($nombre); |
---|
165 | $ip=trim($laip); |
---|
166 | $auxmac=trim($lamac); |
---|
167 | $mac=""; |
---|
168 | for($i=0;$i<strlen($auxmac);$i++) |
---|
169 | if(substr($auxmac,$i,1)!=":") |
---|
170 | $mac.=substr($auxmac,$i,1); |
---|
171 | $idperfilhard=0; |
---|
172 | $idservidordhcp=0; |
---|
173 | $idservidorrembo=0; |
---|
174 | $idconfiguracion=0; |
---|
175 | $cmd->CreaParametro("@grupoid",$grupoid,1); |
---|
176 | $cmd->CreaParametro("@idaula",$idaula,1); |
---|
177 | $cmd->CreaParametro("@nombreordenador",$nombreordenador,0); |
---|
178 | $cmd->CreaParametro("@ip",$ip,0); |
---|
179 | $cmd->CreaParametro("@mac",$mac,0); |
---|
180 | $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); |
---|
181 | $cmd->CreaParametro("@idservidordhcp",$idservidordhcp,1); |
---|
182 | $cmd->CreaParametro("@idservidorrembo",$idservidorrembo,1); |
---|
183 | $cmd->CreaParametro("@idconfiguracion",$idconfiguracion,1); |
---|
184 | |
---|
185 | $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,idperfilhard,idservidordhcp,idservidorrembo,idaula,grupoid) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idservidordhcp,@idservidorrembo,@idaula,@grupoid)"; |
---|
186 | $resul=$cmd->Ejecutar(); |
---|
187 | return($resul); |
---|
188 | } |
---|
189 | //________________________________________________________________________________________________________ |
---|
190 | // |
---|
191 | // Salva un fichero enviado por POST |
---|
192 | //________________________________________________________________________________________________________ |
---|
193 | function salvafichero_POST($ficheroPost,$ficheroLocal){ |
---|
194 | if (file_exists($ficheroLocal)) // Borra el fichero si existe |
---|
195 | unlink($ficheroLocal); |
---|
196 | return(move_uploaded_file($ficheroPost,$ficheroLocal)); // salva el fichero |
---|
197 | } |
---|
198 | ?> |
---|