source: admin/WebConsole/comandos/RestaurarImagen.php @ 40bba64

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 40bba64 was 62d43c3, checked in by alonso <alonso@…>, 12 years ago

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

  • Property mode set to 100644
File size: 15.1 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: 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("../includes/TomaDato.php");
19include_once("../includes/ConfiguracionesParticiones.php");
20include_once("../includes/RecopilaIpesMacs.php");
21include_once("../idiomas/php/".$idioma."/comandos/restaurarimagen_".$idioma.".php");
22include_once("../idiomas/php/".$idioma."/comandos/opcionesacciones_".$idioma.".php");
23//________________________________________________________________________________________________________
24include_once("./includes/capturaacciones.php");
25//________________________________________________________________________________________________________
26$cmd=CreaComando($cadenaconexion);
27if (!$cmd)
28        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
29//________________________________________________________________________________________________________
30//
31// Captura parámetros
32//________________________________________________________________________________________________________
33
34$ambito=0;
35$idambito=0;
36
37// Agrupamiento por defecto
38$fk_sysFi=0;
39$fk_tamano=0;
40$fk_nombreSO=0;
41
42if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
43if (isset($_GET["ambito"])) $ambito=$_GET["ambito"];
44
45if (isset($_POST["idambito"])) $idambito=$_POST["idambito"];
46if (isset($_POST["ambito"])) $ambito=$_POST["ambito"];
47
48if (isset($_POST["fk_sysFi"])) $fk_sysFi=$_POST["fk_sysFi"];
49if (isset($_POST["fk_tamano"])) $fk_tamano=$_POST["fk_tamano"];
50if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"];
51
52//________________________________________________________________________________________________________
53?>
54<HTML>
55<TITLE>Administración web de aulas</TITLE>
56<HEAD>
57        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
58<LINK rel="stylesheet" type="text/css" href="../estilos.css">
59<STYLE TYPE="text/css"></STYLE>
60<SCRIPT language="javascript" src="./jscripts/RestaurarImagen.js"></SCRIPT>
61<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT>
62<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT>
63<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT>
64<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?>
65<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/restaurarimagen_'.$idioma.'.js"></SCRIPT>'?>
66</HEAD>
67<BODY>
68<?php
69        echo '<p align=center><span class=cabeceras>'.$TbMsg[5].'&nbsp;</span><br>';
70        //________________________________________________________________________________________________________
71
72        include_once("./includes/FiltradoAmbito.php");
73        //________________________________________________________________________________________________________
74                               
75        echo '<P align=center><SPAN align=center class=subcabeceras>'.$TbMsg[19].'</SPAN></P>';         
76        if($ambito!=$AMBITO_ORDENADORES){       
77                $cadenaid="";
78                $cadenaip="";
79                $cadenamac="";
80                RecopilaIpesMacs($cmd,$ambito,$idambito);               
81        ?>
82                <FORM action="RestaurarImagen.php" name="fdatos" method="POST">
83                                <INPUT type="hidden" name="idambito" value="<? echo $idambito?>">
84                                <INPUT type="hidden" name="ambito" value="<? echo $ambito?>">   
85                                <INPUT type="hidden" name="cadenaid" value="<? echo $cadenaid?>">                               
86                                <TABLE class="tabla_busquedas" align=center border=0 cellPadding=0 cellSpacing=0>
87                                <TR>
88                                        <TH height=15 align="center" colspan=14><? echo $TbMsg[18]?></TH>
89                                </TR>
90                                <TR>
91                                        <TD align=right><? echo $TbMsg[30]?></TD>
92                                        <TD align=center><INPUT type="checkbox" value="<? echo $msk_sysFi?>" name="fk_sysFi" <? if($fk_sysFi==$msk_sysFi) echo " checked "?>></TD>
93                                        <TD width="20" align=center>&nbsp;</TD>
94
95                                        <TD align=right><? echo $TbMsg[32]?></TD>
96                                        <TD align=center><INPUT type="checkbox" value="<? echo $msk_tamano?>" name="fk_tamano" <? if($fk_tamano==$msk_tamano) echo " checked "?>></TD>
97                                        <TD width="20" align=center>&nbsp;</TD>
98                               
99                                        <TD align=right><? echo $TbMsg[31]?></TD>
100                                        <TD align=center><INPUT type="checkbox" value="<? echo $msk_nombreSO?>" name="fk_nombreSO" <? if($fk_nombreSO==$msk_nombreSO) echo " checked "?>></TD>
101                                        <TD width="20" align=center>&nbsp;</TD>                         
102                                </TR>
103                                <TR>
104                                        <TD height=2 style="BORDER-TOP:#999999 1px solid;" align="center" colspan=14>&nbsp;</TD>                       
105                                </TR>
106                                <TR>
107                                        <TD height=20 align="center" colspan=14>
108                                                <A href=#>
109                                                <IMG border=0 src="../images/boton_confirmar_<? echo $idioma ?>.gif" onclick="document.fdatos.submit()"></A></TD>                       
110                                </TR>
111                        </TABLE>
112                </FORM>
113<?php
114        }
115        $sws=$fk_sysFi |  $fk_tamano | $fk_nombreSO;
116        pintaConfiguraciones($cmd,$idambito,$ambito,9,$sws,false);     
117        //________________________________________________________________________________________________________
118        include_once("./includes/formularioacciones.php");
119        //________________________________________________________________________________________________________
120        //________________________________________________________________________________________________________
121        include_once("./includes/opcionesacciones.php");
122        //________________________________________________________________________________________________________
123?>
124<SCRIPT language="javascript">
125        Sondeo();
126</SCRIPT>
127</BODY>
128</HTML>
129<?php
130//________________________________________________________________________________________________________
131//
132//      Descripción:
133//              (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php)
134//              Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador,
135//              grupo de ordenadores o aula
136//      Parametros:
137//              $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato
138//              sería una secuencia de cadenas del tipo "clave de configuración" separados por "@"
139//                      Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
140//      Devuelve:
141//              El código html de la tabla
142//________________________________________________________________________________________________________
143function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
144{
145        global $tbKeys; // Tabla contenedora de claves de configuración
146        global $conKeys; // Contador de claves de configuración
147        global $TbMsg;
148        global $_SESSION;
149        $colums=8;
150        echo '<TR>';
151        echo '<TH align=center>&nbsp;&nbsp;</TH>';
152        echo '<TH align=center>&nbsp;'.$TbMsg[8].'&nbsp;</TH>';
153        echo '<TH align=center>&nbsp;'.$TbMsg[24].'&nbsp;</TH>';
154        echo '<TH align=center>&nbsp;'.$TbMsg[31].'&nbsp;</TH>';
155        echo '<TH align=center>&nbsp;'.$TbMsg[27].'&nbsp;</TH>';
156        echo '<TH align=center>&nbsp;'.$TbMsg[22].'&nbsp;</TH>';
157        echo '<TH align=center>&nbsp;'.$TbMsg[10].'&nbsp;</TH>';
158        echo '<TH align=center>&nbsp;'.$TbMsg[11].'&nbsp;</TH>';
159        echo '<TH align=center>&nbsp;'.$TbMsg[9].'&nbsp;</TH>';
160        echo '</TR>';
161
162        $auxCfg=split("@",$configuraciones); // Crea lista de particiones
163        for($i=0;$i<sizeof($auxCfg);$i++){
164                $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion
165                for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición
166                        if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas
167                            if($tbKeys[$k]["numpar"]!=0){    // No es info. del disco (part. 0)
168                                $swcc=$tbKeys[$k]["clonable"];
169                                if($swcc){
170                                        echo '<TR>'.chr(13);
171                                        $icp=$cc."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición
172                                        echo '<TD ><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numpar"].'></TD>'.chr(13);
173                                        echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
174                                        echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
175                                        echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);       
176                                        echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
177                                        echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);   
178                                        echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
179                                        echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idordenadores,$ambito).'</TD>';
180
181                                        //Clonación
182                                        $metodos="UNICAST=UNICAST-CACHE".chr(13);
183                                        $metodos.="UNICAST-DIRECT=UNICAST-DIRECT".chr(13);
184                                        $metodos.="MULTICAST " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-CACHE".chr(13);
185                                        $metodos.="MULTICAST-DIRECT " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-DIRECT".chr(13);
186                                        $metodos.="TORRENT " . torrent_syntax($cmd,$ambito,$idambito) . "=TORRENT-CACHE";
187
188                                        $TBmetodos["UNICAST-CACHE"]=1;
189                                        $TBmetodos["UNICAST-DIRECT"]=2;
190                                        $TBmetodos["MULTICAST-CACHE"]=3;
191                                        $TBmetodos["MULTICAST-DIRECT"]=4;
192                                        $TBmetodos["TORRENT-CACHE"]=5;
193                                        $idxc=$_SESSION["protclonacion"];
194                                        if ($idxc == "UNICAST") {
195                                                $idxc = "UNICAST-DIRECT";
196                                        }
197                                        echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>';
198                                        echo '</TR>'.chr(13);
199                                }
200                            }
201                        }
202                }
203        }       
204        echo '<TR height=5><TD colspan='.$colums.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</TD></TR>';
205}
206/*________________________________________________________________________________________________________
207        Crea la etiqueta html <SELECT> de los perfiles softwares
208________________________________________________________________________________________________________*/
209function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idordenadores,$ambito)
210{
211        global $IMAGENES_MONOLITICAS;
212
213        $SelectHtml="";
214        $cmd->texto="SELECT *,repositorios.ip as iprepositorio  FROM  imagenes
215                                INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio";
216        if($sw) // Imágenes con el mismo tipo de partición
217                $cmd->texto.=   "       WHERE imagenes.codpar=".$codpar;                                                               
218        else
219                $cmd->texto.=   "       WHERE imagenes.codpar<>".$codpar;               
220               
221        $cmd->texto.=" AND imagenes.numpar>0 AND imagenes.codpar>0 AND imagenes.idrepositorio>0 "; // La imagene debe existir y
222        $cmd->texto.="  AND imagenes.tipo=".$IMAGENES_MONOLITICAS;
223   
224        $idordenador1 = explode(",",$idordenadores);
225        $idordenador=$idordenador1[0];
226        if ($ambito == 16)
227                $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .") OR repositorios.ip=(select ip from ordenadores where ordenadores.idordenador=". $idordenador .")";
228    else
229        $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .")";
230   
231
232
233        //echo $cmd->texto;
234
235        $rs=new Recordset;
236        $rs->Comando=&$cmd;
237        if($sw) $des=1; else $des=0;
238        $SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$icp.'_'.$des.'" style="WIDTH:220">';
239        $SelectHtml.= '    <OPTION value="0"></OPTION>';
240
241        if ($rs->Abrir()){
242                $rs->Primero();
243                while (!$rs->EOF){
244                        $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["iprepositorio"]."_".$rs->campos["idperfilsoft"].'"';
245                        if($idimagen==$rs->campos["idimagen"]) $SelectHtml.=" selected ";
246                        $SelectHtml.='>';
247                        $SelectHtml.= $rs->campos["descripcion"].'</OPTION>';
248                        $rs->Siguiente();
249                }
250                $rs->Cerrar();
251        }
252        $SelectHtml.= '</SELECT>';
253        return($SelectHtml);
254}
255/*________________________________________________________________________________________________________
256        Crea la etiqueta html <SELECT> de los repositorios
257________________________________________________________________________________________________________*/
258function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){
259        $SelectHtml="";
260        $rs=new Recordset;
261       
262        $cmd->texto="SELECT nombrerepositorio,ip FROM  repositorios";
263        $rs->Comando=&$cmd;
264
265        if (!$rs->Abrir()) return($SelectHtml); // Error al abrir recordset
266        $SelectHtml.= '<SELECT class="formulariodatos" id="desplerepositorios_'.$particion.'" style="WIDTH: 200">';
267        $rs->Primero();
268        while (!$rs->EOF){
269                $SelectHtml.='<OPTION value="'.$rs->campos["ip"].'"';
270                if($rs->campos["idrepositorio"]==$idrepositorio) $SelectHtml.=" selected ";
271                $SelectHtml.='>';
272                $SelectHtml.= $rs->campos["nombrerepositorio"];
273                $SelectHtml.='</OPTION>';
274                $rs->Siguiente();
275        }
276        $SelectHtml.= '</SELECT>';
277        $rs->Cerrar();
278        return($SelectHtml);
279}
280
281
282function mcast_syntax($cmd,$ambito,$idambito)
283{
284//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
285if ($ambito == 4)
286{
287$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas
288                WHERE aulas.idaula=' . $idambito ;
289}
290
291if ($ambito == 8)
292{
293$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas
294                JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula
295                WHERE gruposordenadores.idgrupo=' . $idambito ;
296}
297
298if ($ambito == 16)
299{
300$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas
301                JOIN ordenadores ON ordenadores.idaula=aulas.idaula
302                WHERE ordenadores.idordenador=' . $idambito ;
303}
304
305        $rs=new Recordset;
306        $rs->Comando=&$cmd;
307        if ($rs->Abrir()){
308                $rs->Primero();
309                $mcastsyntax = $rs->campos["pormul"] . ':';
310
311                $rs->Siguiente();
312                switch ($rs->campos["modomul"])
313                {
314                        case 1:
315                                $mcastsyntax.="half-duplex:";
316                                break;
317                        default:
318                                $mcastsyntax.="full-duplex:";
319                                break;
320                }                       
321                $rs->Siguiente();
322                $mcastsyntax.=$rs->campos["ipmul"] . ':';
323               
324                $rs->Siguiente();
325                $mcastsyntax.=$rs->campos["velmul"] .'M:';
326
327                $rs->Siguiente();
328                $mcastsyntax.=$rs->campos["puestos"] . ':';
329
330        $rs->Cerrar();
331        }
332        $mcastsyntax.="60";
333
334        return($mcastsyntax);   
335}
336
337
338function torrent_syntax($cmd,$ambito,$idambito)
339{
340if ($ambito == 4)
341{
342        $cmd->texto='SELECT modp2p, timep2p FROM aulas
343                        WHERE aulas.idaula=' . $idambito ;
344}
345if ($ambito == 8)
346{
347        $cmd->texto='SELECT modp2p, timep2p FROM aulas
348                        JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula
349                        WHERE gruposordenadores.idgrupo=' . $idambito ;
350}
351if ($ambito == 16)
352{
353        $cmd->texto='SELECT modp2p, timep2p FROM aulas
354                        JOIN ordenadores ON ordenadores.idaula=aulas.idaula
355                        WHERE ordenadores.idordenador=' . $idambito ;
356}
357
358$rs=new Recordset;
359$rs->Comando=&$cmd;
360if ($rs->Abrir()){
361        $rs->Primero();
362        $torrentsyntax=$rs->campos["modp2p"] . ':';
363        $rs->Siguiente();
364        $torrentsyntax.=$rs->campos["timep2p"];
365        $rs->Siguiente();
366        $rs->Cerrar();
367}
368return($torrentsyntax);   
369}
370
371?>
372
Note: See TracBrowser for help on using the repository browser.