source: admin/WebConsole/comandos/RestaurarImagen.php @ 10972ea

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 10972ea was 581c733, checked in by adv <adv@…>, 13 years ago

ticket #545 Habilitar en la consola web el método unicast-cache desde el comando restaurar.
www/comandos/RestaurarImagen.php
interfaceAdm/RestaurarImagen

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

  • Property mode set to 100644
File size: 15.2 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 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<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?>
65<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/restaurarimagen_'.$idioma.'.js"></SCRIPT>'?>
66</HEAD>
67<BODY>
68<?
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<?
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<?
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                                $swcc=$tbKeys[$k]["clonable"];
168                                echo '<TR>'.chr(13);
169                                if($swcc){
170                                        $icp=$cc."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición
171                                        echo '<TD ><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numpar"].'></TD>'.chr(13);
172                                        echo '<TD align=center>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
173                                        echo '<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
174                                       
175                                        //echo '<TD>&nbsp;'.$tbKeys[$k]["nombreso"].'&nbsp;</TD>'.chr(13);
176                                        echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);       
177                                       
178                                        //echo'<TD align=center>&nbsp;'.$tbKeys[$k]["sistemafichero"].'&nbsp;</TD>'.chr(13);
179                                        echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
180
181                                        //echo'<TD align=rigth>&nbsp;'.formatomiles($tbKeys[$k]["tamano"]).'&nbsp;</TD>'.chr(13);
182                                        echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);   
183                                                                       
184                                        echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
185                                        echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idordenadores,$ambito).'</TD>';
186                                        //Clonación
187
188
189                    $metodos="UNICAST=UNICAST-CACHE".chr(13);
190                    $metodos.="UNICAST-DIRECT=UNICAST-DIRECT".chr(13);
191                    $metodos.="MULTICAST " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-CACHE".chr(13);
192                    $metodos.="MULTICAST-DIRECT " . mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST-DIRECT".chr(13);
193                    $metodos.="TORRENT " . torrent_syntax($cmd,$ambito,$idambito) . "=TORRENT-CACHE";
194
195                    $TBmetodos["UNICAST-CACHE"]=1;
196                    $TBmetodos["UNICAST-DIRECT"]=2;
197                    $TBmetodos["MULTICAST-CACHE"]=3;
198                    $TBmetodos["MULTICAST-DIRECT"]=4;
199                    $TBmetodos["TORRENT-CACHE"]=5;
200
201
202                                        $idxc=$_SESSION["protclonacion"];
203                                        echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>';
204                                }
205                                echo '<TR>'.chr(13);
206                        }
207                }
208        }       
209        echo '<TR height=5><TD colspan='.$colums.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</TD></TR>';
210}
211/*________________________________________________________________________________________________________
212        Crea la etiqueta html <SELECT> de los perfiles softwares
213________________________________________________________________________________________________________*/
214function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idordenadores,$ambito)
215{
216        $SelectHtml="";
217        $cmd->texto="SELECT *,repositorios.ip as iprepositorio  FROM  imagenes
218                                INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio";
219        if($sw) // Imágenes con el mismo tipo de partición
220                $cmd->texto.=   "       WHERE imagenes.codpar=".$codpar;                                                               
221        else
222                $cmd->texto.=   "       WHERE imagenes.codpar<>".$codpar;               
223               
224        $cmd->texto.=" AND imagenes.numpar>0 AND imagenes.codpar>0 AND imagenes.idrepositorio>0 "; // La imagene debe existir y estar creada   
225   
226        $idordenador1 = explode(",",$idordenadores);
227        $idordenador=$idordenador1[0];
228        if ($ambito == 16)
229                $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .") OR repositorios.ip=(select ip from ordenadores where ordenadores.idordenador=". $idordenador .")";
230    else
231        $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .")";
232   
233
234
235        //echo $cmd->texto;
236
237        $rs=new Recordset;
238        $rs->Comando=&$cmd;
239        if($sw) $des=1; else $des=0;
240        $SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$icp.'_'.$des.'" style="WIDTH:220">';
241        $SelectHtml.= '    <OPTION value="0"></OPTION>';
242
243        if ($rs->Abrir()){
244                $rs->Primero();
245                while (!$rs->EOF){
246                        $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["iprepositorio"]."_".$rs->campos["idperfilsoft"].'"';
247                        if($idimagen==$rs->campos["idimagen"]) $SelectHtml.=" selected ";
248                        $SelectHtml.='>';
249                        $SelectHtml.= $rs->campos["descripcion"].'</OPTION>';
250                        $rs->Siguiente();
251                }
252                $rs->Cerrar();
253        }
254        $SelectHtml.= '</SELECT>';
255        return($SelectHtml);
256}
257/*________________________________________________________________________________________________________
258        Crea la etiqueta html <SELECT> de los repositorios
259________________________________________________________________________________________________________*/
260function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){
261        $SelectHtml="";
262        $rs=new Recordset;
263       
264        $cmd->texto="SELECT nombrerepositorio,ip FROM  repositorios";
265        $rs->Comando=&$cmd;
266
267        if (!$rs->Abrir()) return($SelectHtml); // Error al abrir recordset
268        $SelectHtml.= '<SELECT class="formulariodatos" id="desplerepositorios_'.$particion.'" style="WIDTH: 200">';
269        $rs->Primero();
270        while (!$rs->EOF){
271                $SelectHtml.='<OPTION value="'.$rs->campos["ip"].'"';
272                if($rs->campos["idrepositorio"]==$idrepositorio) $SelectHtml.=" selected ";
273                $SelectHtml.='>';
274                $SelectHtml.= $rs->campos["nombrerepositorio"];
275                $SelectHtml.='</OPTION>';
276                $rs->Siguiente();
277        }
278        $SelectHtml.= '</SELECT>';
279        $rs->Cerrar();
280        return($SelectHtml);
281}
282
283
284function mcast_syntax($cmd,$ambito,$idambito)
285{
286//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
287if ($ambito == 4)
288{
289$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas
290                WHERE aulas.idaula=' . $idambito ;
291}
292
293if ($ambito == 8)
294{
295$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas
296                JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula
297                WHERE gruposordenadores.idgrupo=' . $idambito ;
298}
299
300if ($ambito == 16)
301{
302$cmd->texto='SELECT pormul, ipmul, modomul, velmul, puestos FROM aulas
303                JOIN ordenadores ON ordenadores.idaula=aulas.idaula
304                WHERE ordenadores.idordenador=' . $idambito ;
305}
306
307        $rs=new Recordset;
308        $rs->Comando=&$cmd;
309        if ($rs->Abrir()){
310                $rs->Primero();
311                $mcastsyntax.= $rs->campos["pormul"] . ':';
312
313                $rs->Siguiente();
314                switch ($rs->campos["modomul"])
315                {
316                        case 1:
317                                $mcastsyntax.="half-duplex:";
318                                break;
319                        default:
320                                $mcastsyntax.="full-duplex:";
321                                break;
322                }                       
323                $rs->Siguiente();
324                $mcastsyntax.=$rs->campos["ipmul"] . ':';
325               
326                $rs->Siguiente();
327                $mcastsyntax.=$rs->campos["velmul"] .'M:';
328
329                $rs->Siguiente();
330                $mcastsyntax.=$rs->campos["puestos"] . ':';
331
332        $rs->Cerrar();
333        }
334        $mcastsyntax.="60";
335
336        return($mcastsyntax);   
337}
338
339
340function torrent_syntax($cmd,$ambito,$idambito)
341{
342if ($ambito == 4)
343{
344        $cmd->texto='SELECT modp2p, timep2p FROM aulas
345                        WHERE aulas.idaula=' . $idambito ;
346}
347if ($ambito == 8)
348{
349        $cmd->texto='SELECT modp2p, timep2p FROM aulas
350                        JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula
351                        WHERE gruposordenadores.idgrupo=' . $idambito ;
352}
353if ($ambito == 16)
354{
355        $cmd->texto='SELECT modp2p, timep2p FROM aulas
356                        JOIN ordenadores ON ordenadores.idaula=aulas.idaula
357                        WHERE ordenadores.idordenador=' . $idambito ;
358}
359
360$rs=new Recordset;
361$rs->Comando=&$cmd;
362if ($rs->Abrir()){
363        $rs->Primero();
364        $torrentsyntax=$rs->campos["modp2p"] . ':';
365        $rs->Siguiente();
366        $torrentsyntax.=$rs->campos["timep2p"];
367        $rs->Siguiente();
368        $rs->Cerrar();
369}
370return($torrentsyntax);   
371}
372
373?>
374
Note: See TracBrowser for help on using the repository browser.