[6e9cc32] | 1 | <? |
---|
[b0dc2e4] | 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 | ?> |
---|