source: admin/WebConsole/comandos/RestaurarImagenOrdenador.php @ 5701de1

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 5701de1 was 90f061f6, checked in by alonso <alonso@…>, 15 years ago

git-svn-id: https://opengnsys.es/svn/trunk@921 a21b9725-9963-47de-94b9-378ad31fedc9

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