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: Marzo-2005 |
---|
7 | // Nombre del fichero: RestaurarImagenOrdenador.php |
---|
8 | // Descripción : |
---|
9 | // Implementación del comando "RestaurarImagen" (Ordenadores) |
---|
10 | // ************************************************************************************************************************************************* |
---|
11 | include_once("../includes/ctrlacc.php"); |
---|
12 | include_once("../clases/AdoPhp.php"); |
---|
13 | include_once("../includes/constantes.php"); |
---|
14 | include_once("../includes/comunes.php"); |
---|
15 | include_once("../includes/CreaComando.php"); |
---|
16 | include_once("../includes/HTMLSELECT.php"); |
---|
17 | include_once("../includes/HTMLCTESELECT.php"); |
---|
18 | include_once("../idiomas/php/".$idioma."/comandos/restaurarimagen_".$idioma.".php"); |
---|
19 | //________________________________________________________________________________________________________ |
---|
20 | $identificador=0; |
---|
21 | $nombrefuncion=""; |
---|
22 | $ejecutor=""; |
---|
23 | $tipotrama=""; |
---|
24 | $ambito=0; |
---|
25 | $idambito=0; |
---|
26 | $nombreambito=""; |
---|
27 | $cadenaip=""; |
---|
28 | $cadenamac=""; |
---|
29 | |
---|
30 | $fp = fopen($fileparam,"r"); |
---|
31 | $parametros= fread ($fp, filesize ($fileparam)); |
---|
32 | fclose($fp); |
---|
33 | |
---|
34 | $ValorParametros=extrae_parametros($parametros,chr(13),'='); |
---|
35 | $identificador=$ValorParametros["identificador"]; |
---|
36 | $nombrefuncion=$ValorParametros["nombrefuncion"]; |
---|
37 | $ejecutor=$ValorParametros["ejecutor"]; |
---|
38 | $tipotrama=$ValorParametros["tipotrama"]; |
---|
39 | $ambito=$ValorParametros["ambito"]; |
---|
40 | $idambito=$ValorParametros["idambito"]; |
---|
41 | $nombreambito=$ValorParametros["nombreambito"]; |
---|
42 | $cadenaip=$ValorParametros["cadenaip"]; |
---|
43 | $cadenamac=$ValorParametros["cadenamac"]; |
---|
44 | //________________________________________________________________________________________________________ |
---|
45 | $idordenador=$idambito; |
---|
46 | $nombreordenador=""; |
---|
47 | $ip=$cadenaip; |
---|
48 | $mac=$cadenamac; |
---|
49 | $idperfilhard=0; |
---|
50 | $idservidordhcp=0; |
---|
51 | $idservidorrembo=0; |
---|
52 | |
---|
53 | $cmd=CreaComando($cadenaconexion); |
---|
54 | if (!$cmd) |
---|
55 | Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. |
---|
56 | $resul=toma_propiedades($cmd,$idordenador); |
---|
57 | if (!$resul) |
---|
58 | Header('Location: '.$pagerror.'?herror=3'); // Error de recuperaci� de datos. |
---|
59 | //___________________________________________________________________________________________________ |
---|
60 | ?> |
---|
61 | <HTML> |
---|
62 | <TITLE>Administración web de aulas</TITLE> |
---|
63 | <HEAD> |
---|
64 | <LINK rel="stylesheet" type="text/css" href="../estilos.css"> |
---|
65 | <STYLE TYPE="text/css"></STYLE> |
---|
66 | <SCRIPT language="javascript" src="./jscripts/RestaurarImagenOrdenador.js"></SCRIPT> |
---|
67 | <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> |
---|
68 | <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> |
---|
69 | <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/restaurarimagen_'.$idioma.'.js"></SCRIPT>'?> |
---|
70 | </HEAD> |
---|
71 | <BODY> |
---|
72 | <FORM name="fdatosocultos"> |
---|
73 | <INPUT type=hidden name=identificador value=<? echo $identificador ?>> |
---|
74 | <INPUT type=hidden name=nombrefuncion value=<? echo $nombrefuncion ?>> |
---|
75 | <INPUT type=hidden name=ejecutor value=<? echo $ejecutor ?>> |
---|
76 | <INPUT type=hidden name=tipotrama value=<? echo $tipotrama ?>> |
---|
77 | <INPUT type=hidden name=ambito value=<? echo $ambito ?>> |
---|
78 | <INPUT type=hidden name=idambito value=<? echo $idambito ?>> |
---|
79 | <INPUT type=hidden name=cadenaip value=<? echo $cadenaip ?>> |
---|
80 | </FORM> |
---|
81 | <? |
---|
82 | switch($ambito){ |
---|
83 | case $AMBITO_CENTROS : |
---|
84 | $urlimg='../images/iconos/centros.gif'; |
---|
85 | $textambito=$TbMsg[0]; |
---|
86 | break; |
---|
87 | case $AMBITO_GRUPOSAULAS : |
---|
88 | $urlimg='../images/iconos/carpeta.gif'; |
---|
89 | $textambito=$TbMsg[1]; |
---|
90 | break; |
---|
91 | case $AMBITO_AULAS : |
---|
92 | $urlimg='../images/iconos/aula.gif'; |
---|
93 | $textambito=$TbMsg[2]; |
---|
94 | break; |
---|
95 | case $AMBITO_GRUPOSORDENADORES : |
---|
96 | $urlimg='../images/iconos/carpeta.gif'; |
---|
97 | $textambito=$TbMsg[3]; |
---|
98 | break; |
---|
99 | case $AMBITO_ORDENADORES : |
---|
100 | $urlimg='../images/iconos/ordenador.gif'; |
---|
101 | $textambito=$TbMsg[4]; |
---|
102 | break; |
---|
103 | } |
---|
104 | echo '<p align=center><span class=cabeceras>'.$TbMsg[5].'</span><br>'; |
---|
105 | echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; |
---|
106 | ?> |
---|
107 | <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> |
---|
108 | <BR> |
---|
109 | <P align=center><SPAN align=center class=subcabeceras><? echo $TbMsg[7]?></SPAN> |
---|
110 | <BR> |
---|
111 | <FORM name="fdatos"> |
---|
112 | <?echo tabla_particiones($cmd,$idcentro,$idambito);?> |
---|
113 | </FORM> |
---|
114 | <? |
---|
115 | //________________________________________________________________________________________________________ |
---|
116 | include_once("../includes/opcionesacciones.php"); |
---|
117 | //________________________________________________________________________________________________________ |
---|
118 | //________________________________________________________________________________________________________ |
---|
119 | include_once("../includes/opcionesbotones.php"); |
---|
120 | //________________________________________________________________________________________________________ |
---|
121 | //________________________________________________________________________________________________________ |
---|
122 | include_once("../includes/iframecomun.php"); |
---|
123 | //________________________________________________________________________________________________________ |
---|
124 | ?> |
---|
125 | </BODY> |
---|
126 | </HTML> |
---|
127 | <? |
---|
128 | //************************************************************************************************************************************************* |
---|
129 | function tabla_particiones($cmd,$idcentro,$idordenador){ |
---|
130 | global $TbMsg; |
---|
131 | $tablaHtml=""; |
---|
132 | $rs=new Recordset; |
---|
133 | $rsp=new Recordset; |
---|
134 | $cmd->texto="SELECT particiones.particion FROM particiones INNER JOIN ordenadores ON particiones.idparticion=ordenadores.idparticion WHERE ordenadores.idordenador='".$idordenador."'"; |
---|
135 | $rs->Comando=&$cmd; |
---|
136 | if (!$rs->Abrir()) return(""); // Error al abrir recordset |
---|
137 | if ($rs->EOF) return($tablaHtml); |
---|
138 | $particion=$rs->campos["particion"]; |
---|
139 | $tablaHtml.= '<TABLE class=tabla_listados_sin align=center border=0 cellPadding=1 cellSpacing=1 >'; |
---|
140 | $tablaHtml.= '<TR>'; |
---|
141 | $tablaHtml.= '<TH align=center> </TH>'; |
---|
142 | $tablaHtml.= '<TH align=center> P </TH>'; |
---|
143 | $tablaHtml.= '<TH colspan=4 align=center> '.$TbMsg[9].' </TH>'; |
---|
144 | $tablaHtml.= '</TR>'; |
---|
145 | $auxsplit=split(";",$particion); |
---|
146 | |
---|
147 | for($j=0;$j<sizeof($auxsplit)-1;$j++){ |
---|
148 | $dual=split("=",$auxsplit[$j]); |
---|
149 | $particion=$dual[0]; // Toma la partici� |
---|
150 | $tipopart=$dual[1]; // Toma la partici� |
---|
151 | |
---|
152 | if($tipopart== "EMPTY" || $tipopart== "LINUX-SWAP") continue; |
---|
153 | |
---|
154 | $tablaHtml.='<TR >'.chr(13); |
---|
155 | $tablaHtml.='<TD ><input onclick=seleccionar("'.$particion.'") type=checkbox name=particion_'.$particion.' value='.$particion.'></TD>'.chr(13); |
---|
156 | $tablaHtml.='<TD ><b> '.$particion.' </b></TD>'.chr(13); |
---|
157 | $tablaHtml.='<TD align=center><b> ('.$tipopart.") - </b>".$TbMsg[10].'</TD>'; |
---|
158 | $tablaHtml.='<TD align=center> Path</TD>'; |
---|
159 | $tablaHtml.='<TD align=center><b> ('.$tipopart.") -</b> ".$TbMsg[11].'</TD>'; |
---|
160 | $tablaHtml.='</TR>'.chr(13); |
---|
161 | |
---|
162 | $idimagen=TomaImagen($cmd,$idordenador,$particion); |
---|
163 | |
---|
164 | $tablaHtml.='<TR>'.chr(13); |
---|
165 | $tablaHtml.='<TD></TD>'.chr(13); |
---|
166 | $tablaHtml.='<TD></TD>'.chr(13); |
---|
167 | $tablaHtml.='<TD align=cente>'.HTMLSELECT_Imagendis($cmd,$idcentro,$tipopart,$particion,true,$idimagen,$idordenador).'</TD>'; |
---|
168 | |
---|
169 | $parametros="0=".chr(13); |
---|
170 | $parametros.="1=cache".chr(13); |
---|
171 | $parametros.="2=net"; |
---|
172 | $tablaHtml.= '<TD>'.HTMLCTESELECT($parametros,"pathrmb_".$particion,"estilodesple","",0,60).'</TD>'; |
---|
173 | |
---|
174 | $tablaHtml.='<TD align=cente>'.HTMLSELECT_Imagendis($cmd,$idcentro,$tipopart,$particion,false,$idimagen,$idordenador).'</TD>'; |
---|
175 | $tablaHtml.='</TR>'.chr(13); |
---|
176 | } |
---|
177 | $tablaHtml.='</TABLE>'; |
---|
178 | $tablaHtml.='<BR>'; |
---|
179 | return($tablaHtml); |
---|
180 | } |
---|
181 | /*________________________________________________________________________________________________________ |
---|
182 | Crea los desplegables de las imagenes disponibles para la particiones |
---|
183 | ________________________________________________________________________________________________________*/ |
---|
184 | function HTMLSELECT_Imagendis($cmd,$idcentro,$tipopart,$particion,$miso,$idimagen,$idordenador){ |
---|
185 | $SelectHtml=""; |
---|
186 | $rs=new Recordset; |
---|
187 | $cmd->texto="SELECT perfilessoft.idperfilsoft,ordenadores.idperfilhard,imagenes.descripcion,imagenes.idimagen,tiposos.tipopar,tiposos.nemonico FROM ordenadores"; |
---|
188 | $cmd->texto.=" INNER JOIN perfileshard ON ordenadores.idperfilhard = perfileshard.idperfilhard"; |
---|
189 | $cmd->texto.=" INNER JOIN perfileshard_perfilessoft ON perfileshard.idperfilhard = perfileshard_perfilessoft.idperfilhard"; |
---|
190 | $cmd->texto.=" INNER JOIN perfilessoft ON perfileshard_perfilessoft.idperfilsoft = perfilessoft.idperfilsoft"; |
---|
191 | $cmd->texto.=" INNER JOIN imagenes ON perfilessoft.idperfilsoft = imagenes.idperfilsoft"; |
---|
192 | $cmd->texto.=" INNER JOIN perfilessoft_softwares ON perfilessoft.idperfilsoft = perfilessoft_softwares.idperfilsoft"; |
---|
193 | $cmd->texto.=" INNER JOIN softwares ON perfilessoft_softwares.idsoftware = softwares.idsoftware"; |
---|
194 | $cmd->texto.=" INNER JOIN tiposos ON softwares.idtiposo = tiposos.idtiposo"; |
---|
195 | $cmd->texto.=" WHERE imagenes.idcentro=".$idcentro." AND ordenadores.idordenador='".$idordenador."'"; |
---|
196 | |
---|
197 | $swo=substr ($tipopart,0,1); |
---|
198 | if($swo=="H") |
---|
199 | $tipopart=substr ($tipopart,1,strlen($tipopart)-1); |
---|
200 | |
---|
201 | $sufi=""; |
---|
202 | if($miso){ |
---|
203 | $cmd->texto.=" AND (tiposos.tipopar = '".$tipopart."' OR tiposos.tipopar ='H".$tipopart."' )"; |
---|
204 | $sufi="M"; // Mismo sistema |
---|
205 | } |
---|
206 | else{ |
---|
207 | $cmd->texto.=" AND (tiposos.tipopar <> '".$tipopart."' AND tiposos.tipopar <> 'H".$tipopart."')"; |
---|
208 | $sufi="O"; // Otro sistema |
---|
209 | } |
---|
210 | |
---|
211 | $rs->Comando=&$cmd; |
---|
212 | if (!$rs->Abrir()) return(0); // Error al abrir recordset |
---|
213 | $SelectHtml.= '<SELECT onchange="marcar(this,'.$particion.')" class="formulariodatos" id="desple_'.$sufi."_".$particion.'" style="WIDTH: 250">'; |
---|
214 | $SelectHtml.= ' <OPTION value="0"></OPTION>'; |
---|
215 | $rs->Primero(); |
---|
216 | while (!$rs->EOF){ |
---|
217 | if(CuestionIncrementales($cmd,$rs->campos["idperfilhard"],$rs->campos["idperfilsoft"],$rs->campos["idimagen"])){ |
---|
218 | $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["idperfilhard"]."_".$rs->campos["idperfilsoft"]."_".$rs->campos["tipopar"]."_".$rs->campos["nemonico"].'"'; |
---|
219 | if($idimagen==$rs->campos["idimagen"]) $SelectHtml.= " selected "; |
---|
220 | $SelectHtml.=">".$rs->campos["descripcion"].'</OPTION>'; |
---|
221 | } |
---|
222 | $rs->Siguiente(); |
---|
223 | } |
---|
224 | $SelectHtml.= '</SELECT>'; |
---|
225 | $rs->Cerrar(); |
---|
226 | return($SelectHtml); |
---|
227 | } |
---|
228 | //________________________________________________________________________________________________________ |
---|
229 | // Comprueba que la imagen no tiene incrementales o si la tiene que existen para el perfil hardware del ordenador |
---|
230 | //________________________________________________________________________________________________________ |
---|
231 | function CuestionIncrementales($cmd,$idperfilhard,$idperfilsoft,$idimagen){ |
---|
232 | $wrs=new Recordset; |
---|
233 | $cmd->texto=" SELECT idsoftincremental FROM imagenes_softincremental WHERE idimagen=".$idimagen; |
---|
234 | $wrs->Comando=&$cmd; |
---|
235 | if (!$wrs->Abrir()) return(false); // Error al abrir recordset |
---|
236 | if ($wrs->numeroderegistros==0) return(true); |
---|
237 | while (!$wrs->EOF){ |
---|
238 | if(!ExisteIncremental($cmd,$idperfilhard,$idperfilsoft ,$wrs->campos["idsoftincremental"])) return(false); |
---|
239 | $wrs->Siguiente(); |
---|
240 | } |
---|
241 | return(true); |
---|
242 | } |
---|
243 | //________________________________________________________________________________________________________ |
---|
244 | // Comprueba que existe una incremental para cierta combinaci� de perfil software y perfil hardware |
---|
245 | //________________________________________________________________________________________________________ |
---|
246 | function ExisteIncremental($cmd,$idperfilhard,$idperfilsoft ,$idsoftincremental){ |
---|
247 | $rs=new Recordset; |
---|
248 | $cmd->texto="SELECT COUNT(*) as contador FROM perfileshard_perfilessoft INNER JOIN phard_psoft_softincremental ON perfileshard_perfilessoft.idphardidpsoft = phard_psoft_softincremental.idphardidpsoft WHERE (perfileshard_perfilessoft.idperfilhard = ".$idperfilhard.") AND (perfileshard_perfilessoft.idperfilsoft = ".$idperfilsoft.") AND (phard_psoft_softincremental.idsoftincremental = ".$idsoftincremental.")"; |
---|
249 | $rs->Comando=&$cmd; |
---|
250 | if (!$rs->Abrir()) return(false); // Error al abrir recordset |
---|
251 | if ($rs->campos["contador"]==0) return(false); |
---|
252 | return(true); |
---|
253 | } |
---|
254 | /*________________________________________________________________________________________________________ |
---|
255 | Recupera los datos de un ordenador |
---|
256 | Parametros: |
---|
257 | - cmd: Una comando ya operativo (con conexiónabierta) |
---|
258 | - ido: El identificador del ordenador |
---|
259 | ________________________________________________________________________________________________________*/ |
---|
260 | function toma_propiedades($cmd,$ido){ |
---|
261 | global $nombreordenador; |
---|
262 | global $ip; |
---|
263 | global $mac; |
---|
264 | global $idperfilhard; |
---|
265 | global $idservidordhcp; |
---|
266 | global $idservidorrembo; |
---|
267 | $rs=new Recordset; |
---|
268 | $cmd->texto="SELECT nombreordenador,ip,mac,idperfilhard FROM ordenadores WHERE idordenador='".$ido."'"; |
---|
269 | $rs->Comando=&$cmd; |
---|
270 | if (!$rs->Abrir()) return(false); // Error al abrir recordset |
---|
271 | $rs->Primero(); |
---|
272 | if (!$rs->EOF){ |
---|
273 | $nombreordenador=$rs->campos["nombreordenador"]; |
---|
274 | $ip=$rs->campos["ip"]; |
---|
275 | $mac=$rs->campos["mac"]; |
---|
276 | $idperfilhard=$rs->campos["idperfilhard"]; |
---|
277 | $rs->Cerrar(); |
---|
278 | return(true); |
---|
279 | } |
---|
280 | else |
---|
281 | return(false); |
---|
282 | } |
---|
283 | /*________________________________________________________________________________________________________ |
---|
284 | Toma el identificador de la imagen |
---|
285 | ________________________________________________________________________________________________________*/ |
---|
286 | function TomaImagen($cmd,$idordenador,$particion){ |
---|
287 | $rs=new Recordset; |
---|
288 | $cmd->texto="SELECT imagenes.idimagen FROM ordenador_imagen"; |
---|
289 | $cmd->texto.=" INNER JOIN imagenes ON ordenador_imagen.idimagen = imagenes.idimagen "; |
---|
290 | $cmd->texto.=" INNER JOIN ordenadores ON ordenador_imagen.idordenador = ordenadores.idordenador "; |
---|
291 | $cmd->texto.=" WHERE ordenadores.idordenador ='".$idordenador."' AND ordenador_imagen.particion = ".$particion; |
---|
292 | $rs->Comando=&$cmd; |
---|
293 | if (!$rs->Abrir()) return(""); // Error al abrir recordset |
---|
294 | $idimagen=0; |
---|
295 | if(!$rs->EOF) |
---|
296 | $idimagen=$rs->campos["idimagen"]; |
---|
297 | $rs->Cerrar(); |
---|
298 | return($idimagen); |
---|
299 | } |
---|
300 | ?> |
---|