source: admin/WebConsole/comandos/RestaurarImagen.php @ b2aae05

Last change on this file since b2aae05 was d0df50b6, checked in by ramon <ramongomez@…>, 13 years ago

Versión 1.0.4, #531: Integrar versión 1.0.4 en rama principal.

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

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