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

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 ea4319c was c25ddaf, checked in by adv <adv@…>, 13 years ago

1.0.3 comando restaurar directo multicast unicast #475

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

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