source: admin/WebConsole/comandos/RestaurarImagenGrupoOrdenadores.php @ e02f9b4

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 e02f9b4 was 6e9cc32, checked in by ramon <ramongomez@…>, 16 years ago

Borrar caracteres BOM de UTF-8 en ficheros PHP de WebConsole?.

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

  • Property mode set to 100644
File size: 18.3 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: RestaurarImagenGrupoOrdenadores.php
8// Descripción :
9//              Implementación del comando "RestaurarImagen" ( Grupo de 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
29$fp = fopen($fileparam,"r");
30$parametros= fread ($fp, filesize ($fileparam));
31fclose($fp);
32
33$ValorParametros=extrae_parametros($parametros,chr(13),'=');
34$identificador=$ValorParametros["identificador"];
35$nombrefuncion=$ValorParametros["nombrefuncion"];
36$ejecutor=$ValorParametros["ejecutor"];
37$tipotrama=$ValorParametros["tipotrama"];
38$ambito=$ValorParametros["ambito"];
39$idambito=$ValorParametros["idambito"];
40$nombreambito=$ValorParametros["nombreambito"];
41$cadenaip=$ValorParametros["cadenaip"];
42//___________________________________________________________________________________________________
43$idgrupo=$idambito;
44$nombregrupoordenador="";
45$ordenadores=0;
46
47$cmd=CreaComando($cadenaconexion);
48if (!$cmd)
49        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
50$resul=toma_propiedades($cmd,$idgrupo);
51if (!$resul)
52                Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos.
53//________________________________________________________________________________________________________
54?>
55<HTML>
56<TITLE>Administración web de aulas</TITLE>
57<HEAD>
58<LINK rel="stylesheet" type="text/css" href="../estilos.css">
59<SCRIPT language="javascript" src="./jscripts/RestaurarImagenGrupoOrdenadores.js"></SCRIPT>
60<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT>
61<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?>
62<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/restaurarimagen_'.$idioma.'.js"></SCRIPT>'?>
63</HEAD>
64<BODY>
65<FORM name="fdatosocultos"> 
66        <INPUT type=hidden name=identificador value=<? echo $identificador ?>>
67        <INPUT type=hidden name=nombrefuncion value=<? echo $nombrefuncion ?>>
68        <INPUT type=hidden name=ejecutor value=<? echo $ejecutor ?>>
69        <INPUT type=hidden name=tipotrama value=<? echo $tipotrama ?>>
70        <INPUT type=hidden name=ambito value=<? echo $ambito ?>>
71        <INPUT type=hidden name=idambito value=<? echo $idambito ?>>
72        <INPUT type=hidden name=cadenaip value=<? echo $cadenaip ?>>
73</FORM>
74<?
75switch($ambito){
76                case $AMBITO_CENTROS :
77                        $urlimg='../images/iconos/centros.gif';
78                        $textambito=$TbMsg[0];
79                        break;
80                case $AMBITO_GRUPOSAULAS :
81                        $urlimg='../images/iconos/carpeta.gif';
82                        $textambito=$TbMsg[1];
83                        break;
84                case $AMBITO_AULAS :
85                        $urlimg='../images/iconos/aula.gif';
86                        $textambito=$TbMsg[2];
87                        break;
88                case $AMBITO_GRUPOSORDENADORES :
89                        $urlimg='../images/iconos/carpeta.gif';
90                        $textambito=$TbMsg[3];
91                        break;
92                case $AMBITO_ORDENADORES :
93                        $urlimg='../images/iconos/ordenador.gif';
94                        $textambito=$TbMsg[4];
95                        break;
96}
97echo '<p align=center><span class=cabeceras>'.$TbMsg[5].'</span><br>';
98echo '<IMG src="'.$urlimg.'">&nbsp;&nbsp;<span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span>&nbsp;&nbsp;</span></p>';
99?>     
100<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
101<P align=center><SPAN align=center class=subcabeceras><? echo $TbMsg[7]?></SPAN>
102<BR>
103<FORM name="fdatos"> 
104                <? echo tabla_imagenes($cmd,$idcentro,$idambito);?>
105</FORM>
106<?
107//________________________________________________________________________________________________________
108include_once("../includes/opcionesacciones.php");
109//________________________________________________________________________________________________________
110//________________________________________________________________________________________________________
111include_once("../includes/opcionesbotones.php");
112//________________________________________________________________________________________________________
113//________________________________________________________________________________________________________
114include_once("../includes/iframecomun.php");
115//________________________________________________________________________________________________________
116?>
117</BODY>
118</HTML>
119<?
120//*************************************************************************************************************************************************
121function tabla_imagenes($cmd,$idcentro,$idgrupo){
122        global $cadenaip;
123        $tablaHtml="";
124        $rs=new Recordset;
125        $numorde=0;
126        $cmd->texto="SELECT COUNT(*) AS numorde FROM ordenadores WHERE grupoid=".$idgrupo;
127        $rs->Comando=&$cmd;
128        if (!$rs->Abrir()) return(""); // Error al abrir recordset
129        if(!$rs->EOF)
130                $numorde=$rs->campos["numorde"];
131        $descripcion="";
132        $cmd->texto="SELECT COUNT(*) AS cuenta,perfileshard.descripcion,perfileshard.idperfilhard, ordenadores.idparticion FROM gruposordenadores";
133        $cmd->texto.=" INNER JOIN ordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid";
134        $cmd->texto.=" INNER JOIN perfileshard ON ordenadores.idperfilhard = perfileshard.idperfilhard";
135        $cmd->texto.=" WHERE (gruposordenadores.idgrupo = ".$idgrupo.") AND idparticion>0";
136        $cmd->texto.=" GROUP BY perfileshard.descripcion,perfileshard.idperfilhard,ordenadores.idparticion";
137        $cmd->texto.=" ORDER BY perfileshard.descripcion";
138        $rs->Comando=&$cmd;
139        if (!$rs->Abrir()) return(""); // Error al abrir recordset
140        if(!$rs->EOF){
141                if($numorde!=$rs->campos["cuenta"]){
142                        while (!$rs->EOF){
143                                if($descripcion!=$rs->campos["descripcion"]){
144                                        if($descripcion!="")
145                                                $tablaHtml.="</TABLE><br><br>";
146                                        $tablaHtml.= '<TABLE  align=center border=0 cellPadding=1 cellSpacing=1';
147                                        $descripcion=$rs->campos["descripcion"];
148                                        $tablaHtml.= "<TR>";
149                                        $tablaHtml.= '<TD align=center><IMG  src="../images/iconos/perfilhardware.gif">';
150                                        $tablaHtml.='<span style="COLOR: #000000;FONT-FAMILY: Verdana;FONT-SIZE: 12px; "><U><b>&nbsp;Perfil Hardware:</b>&nbsp;'.$rs->campos["descripcion"].'</U></SPAN></TD>';
151                                        $tablaHtml.= "</TR>";
152                                }
153                                $tablaHtml.= '<TR><TD>';
154                                $tablaHtml.=PintaOrdenadores($cmd,$idgrupo,$rs->campos["idperfilhard"],$rs->campos["idparticion"],$rs->campos["cuenta"]);
155                                $tablaHtml.= '</TD></TR>';
156                                $tablaHtml.= '<TR><TD>';
157                                $tablaHtml.=tabla_particiones($cmd,$idcentro,$idgrupo,$rs->campos["idperfilhard"],$rs->campos["idparticion"],$rs->campos["cuenta"]);
158                                $tablaHtml.= '</TD></TR>';
159                                $rs->Siguiente();
160                        }
161                        $tablaHtml.="</TABLE>";
162                }
163                else{
164                        $tablaHtml.=tabla_particiones($cmd,$idcentro,$idgrupo,$rs->campos["idperfilhard"],$rs->campos["idparticion"],$rs->campos["cuenta"]);
165                        $tablaHtml.='<INPUT type=hidden name="nuevasipes" id="ipes_'.$rs->campos["idperfilhard"].'_'.$rs->campos["idparticion"].'" value="'.$cadenaip.'">';
166                }
167        }
168        echo $tablaHtml;
169        $rs->Cerrar();
170}
171/*________________________________________________________________________________________________________
172        Crea los desplegables de las imagenes disponibles para la particiones
173________________________________________________________________________________________________________*/
174function HTMLSELECT_Imagendis($cmd,$idcentro,$tipopart,$particion,$miso,$idimagen,$idgrupo,$idperfilhard,$idparticion,$cuenta){
175        $SelectHtml="";
176        $rs=new Recordset;
177        $cmd->texto="SELECT COUNT(*) AS contador, perfilessoft.idperfilsoft, imagenes.descripcion, imagenes.idimagen,tiposos.tipopar,tiposos.nemonico FROM ordenadores";
178        $cmd->texto.=" INNER JOIN perfileshard ON ordenadores.idperfilhard = perfileshard.idperfilhard";
179        $cmd->texto.=" INNER JOIN perfileshard_perfilessoft ON perfileshard.idperfilhard = perfileshard_perfilessoft.idperfilhard";
180        $cmd->texto.=" INNER JOIN perfilessoft ON perfileshard_perfilessoft.idperfilsoft = perfilessoft.idperfilsoft";
181        $cmd->texto.=" INNER JOIN imagenes ON perfilessoft.idperfilsoft = imagenes.idperfilsoft";
182        $cmd->texto.=" INNER JOIN perfilessoft_softwares ON perfilessoft.idperfilsoft = perfilessoft_softwares.idperfilsoft";
183        $cmd->texto.=" INNER JOIN softwares ON perfilessoft_softwares.idsoftware = softwares.idsoftware";
184        $cmd->texto.=" INNER JOIN tiposos ON softwares.idtiposo = tiposos.idtiposo";
185        $cmd->texto.=" WHERE (imagenes.idcentro = ".$idcentro.") AND (ordenadores.grupoid = ".$idgrupo.") AND (ordenadores.idperfilhard = ".$idperfilhard.") AND (ordenadores.idparticion=".$idparticion.")";
186
187  $swo=substr ($tipopart,0,1);
188  if($swo=="H")
189         $tipopart=substr ($tipopart,1,strlen($tipopart)-1);
190
191        $sufi="";
192        if($miso){
193                $cmd->texto.=" AND (tiposos.tipopar = '".$tipopart."'  OR tiposos.tipopar ='H".$tipopart."' )";
194                $sufi="M"; // Mismo sistema
195                }
196        else{
197                $cmd->texto.=" AND (tiposos.tipopar <> '".$tipopart."' AND tiposos.tipopar <> 'H".$tipopart."')";
198                $sufi="O"; // Otro sistema
199        }
200        $cmd->texto.=" GROUP BY perfilessoft.idperfilsoft, imagenes.descripcion, imagenes.idimagen,tiposos.tipopar,tiposos.nemonico ";
201        $rs->Comando=&$cmd;
202        if (!$rs->Abrir()) return(0); // Error al abrir recordset
203        $SelectHtml.= '<SELECT onchange="marcar(this,'."'".$particion."_".$idperfilhard."_".$idparticion."'".')" class="formulariodatos" id="desple_'.$sufi."_".$particion."_".$idperfilhard."_".$idparticion.'" style="WIDTH: 250">';
204        $SelectHtml.= '    <OPTION value="0"></OPTION>';
205        $rs->Primero();
206        while (!$rs->EOF){
207                if($rs->campos["contador"]==$cuenta){
208                        if(CuestionIncrementales($cmd,$idperfilhard,$rs->campos["idperfilsoft"],$rs->campos["idimagen"])){
209                                $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$idperfilhard."_".$rs->campos["idperfilsoft"]."_".$rs->campos["tipopar"]."_".$rs->campos["nemonico"].'"';
210                                if($idimagen==$rs->campos["idimagen"]) $SelectHtml.= " selected ";
211                                $SelectHtml.=">".$rs->campos["descripcion"].'</OPTION>';
212                        }
213                }
214                $rs->Siguiente();
215        }
216        $SelectHtml.= '</SELECT>';
217        $rs->Cerrar();
218        return($SelectHtml);
219}
220/*________________________________________________________________________________________________________
221        Crea la tabla de ordenadores ( iconos pequeños cuando en el aula no hay uniformidad
222________________________________________________________________________________________________________*/
223function PintaOrdenadores($cmd,$idgrupo,$idperfilhard,$idparticion){
224        $ipidpidc="";
225        $rs=new Recordset;
226        $contor=0;
227        $cmd->texto=" SELECT nombreordenador,ip FROM ordenadores WHERE idperfilhard=".$idperfilhard." AND idparticion=".$idparticion." AND grupoid=".$idgrupo." ORDER BY nombreordenador";
228        $rs->Comando=&$cmd;
229        if (!$rs->Abrir()) return(""); // Error al abrir recordset
230        $tablaHtml='<TABLE align=center border=0 ><TR>';
231        while (!$rs->EOF){
232                $contor++;
233                $tablaHtml.= '<TD><IMG src="../images/iconos/ordenador.gif"><span style="COLOR: #000000;FONT-FAMILY:Verdana;FONT-SIZE:9px; ">&nbsp;'.$rs->campos["nombreordenador"].'&nbsp;</TD>';
234                if($contor>10){
235                        $contor=0;
236                        $tablaHtml.='</TR><TR>';
237                }
238                $ipidpidc.=$rs->campos["ip"].";";
239                $rs->Siguiente();
240        }
241        $tablaHtml.='</TR>';
242        $tablaHtml.= '</TR></TABLE>';
243        $tablaHtml.='<INPUT type=hidden name="nuevasipes" id="ipes_'.$idperfilhard.'_'.$idparticion.'" value="'.$ipidpidc.'">';
244        return($tablaHtml);
245}
246/*________________________________________________________________________________________________________
247        Crea la tabla de particiones
248________________________________________________________________________________________________________*/
249function tabla_particiones($cmd,$idcentro,$idgrupo,$idperfilhard,$idparticion,$cuenta){
250        global $TbMsg;
251        $tablaHtml="";
252        $particion="";
253        $rs=new Recordset;
254        $cmd->texto="SELECT particion FROM particiones WHERE idparticion=".$idparticion;
255        $rs->Comando=&$cmd;
256        if (!$rs->Abrir()) return(""); // Error al abrir recordset
257        if(!$rs->EOF)
258                $particion=$rs->campos["particion"];
259        $rs->Cerrar();
260        $tablaHtml.= '<TABLE  class=tabla_listados_sin  align=center border=0 cellPadding=1 cellSpacing=1>';
261        $tablaHtml.= '<TR>';
262        $tablaHtml.= '<TH  align=center>&nbsp;&nbsp;</TH>';
263        $tablaHtml.= '<TH  align=center>&nbsp;P&nbsp;</TH>';
264        $tablaHtml.= '<TH colspan=3 align=center>&nbsp;'.$TbMsg[9].'&nbsp;</TH>';
265        $tablaHtml.= '</TR>';
266        $auxsplit=split(";",$particion);
267        for($j=0;$j<sizeof($auxsplit)-1;$j++){
268                $dual=split("=",$auxsplit[$j]);
269                $particion=$dual[0]; // Toma la partición
270                $tipopart=$dual[1]; // Toma la partición
271                if($tipopart== "EMPTY" ||  $tipopart== "LINUX-SWAP") continue;
272
273                $tablaHtml.='<TR >'.chr(13);
274                $tablaHtml.='<TD ><input onclick=seleccionar("'.$particion.'_'.$idperfilhard.'_'.$idparticion.'") type=checkbox name=particion_'.$particion.'_'.$idperfilhard.'_'.$idparticion.' value='.$particion.'_'.$idperfilhard.'_'.$idparticion.'></TD>'.chr(13);
275                $tablaHtml.='<TD ><b>&nbsp;'.$particion.'&nbsp;</b></TD>'.chr(13);
276                $tablaHtml.='<TD  align=center><b>&nbsp;('.$tipopart.") - </b>".$TbMsg[10].'</TD>';
277                $tablaHtml.='<TD  align=center>&nbsp;Path</TD>';
278                $tablaHtml.='<TD   align=center><b>&nbsp;('.$tipopart.") -</b> ".$TbMsg[11].'</TD>';
279                $tablaHtml.='</TR>'.chr(13);
280
281                $idimagen=TomaImagen($cmd,$idgrupo,$idperfilhard,$idparticion,$particion,$cuenta);
282
283                $tablaHtml.='<TR>'.chr(13);
284                $tablaHtml.='<TD></TD>'.chr(13);
285                $tablaHtml.='<TD></TD>'.chr(13);
286                $tablaHtml.='<TD  align=center>'. HTMLSELECT_Imagendis($cmd,$idcentro,$tipopart,$particion,true,$idimagen,$idgrupo,$idperfilhard,$idparticion,$cuenta).'</TD>';
287
288                $parametros="0=".chr(13);
289                $parametros.="1=cache".chr(13);
290                $parametros.="2=net";
291                $tablaHtml.= '<TD>'.HTMLCTESELECT($parametros, "pathrmb_".$particion.'_'.$idperfilhard.'_'.$idparticion,"estilodesple","",0,60).'</TD>';
292                $tablaHtml.= '<TD'.chr(13);
293
294                $tablaHtml.='<TD  align=center>'. HTMLSELECT_Imagendis($cmd,$idcentro,$tipopart,$particion,false,$idimagen,$idgrupo,$idperfilhard,$idparticion,$cuenta).'</TD>';
295                $tablaHtml.='</TR>'.chr(13);
296        }
297        $tablaHtml.='</TABLE>';
298        $tablaHtml.='<BR>';
299        return($tablaHtml);
300}
301//________________________________________________________________________________________________________
302//      Comprueba que la imagen no tiene incrementales o si la tiene que existen para el perfil hardware del ordenador
303//________________________________________________________________________________________________________
304function CuestionIncrementales($cmd,$idperfilhard,$idperfilsoft,$idimagen){
305        $wrs=new Recordset;
306        $cmd->texto=" SELECT idsoftincremental FROM imagenes_softincremental WHERE idimagen=".$idimagen;
307        $wrs->Comando=&$cmd;
308        if (!$wrs->Abrir()) return(false); // Error al abrir recordset
309        if ($wrs->numeroderegistros==0) return(true);
310        while (!$wrs->EOF){
311                if(!ExisteIncremental($cmd,$idperfilhard,$idperfilsoft ,$wrs->campos["idsoftincremental"])) return(false);
312                $wrs->Siguiente();
313        }
314        return(true);
315}
316//________________________________________________________________________________________________________
317//      Comprueba que existe una incremental para cierta combinación de perfil software y perfil hardware
318//________________________________________________________________________________________________________
319function ExisteIncremental($cmd,$idperfilhard,$idperfilsoft ,$idsoftincremental){
320        $rs=new Recordset;
321        $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.")";
322        $rs->Comando=&$cmd;
323        if (!$rs->Abrir()) return(false); // Error al abrir recordset
324        if ($rs->campos["contador"]==0) return(false);
325        return(true);
326}
327/*________________________________________________________________________________________________________
328        Recupera los datos de un grupo de ordenadores
329                Parametros:
330                - cmd:Una comando ya operativo (con conexión abierta) 
331                - idg:El identificador del grupo
332________________________________________________________________________________________________________*/
333function toma_propiedades($cmd,$idg){
334        global $nombregrupoordenador;
335        global $ordenadores;
336        $rs=new Recordset;
337        $cmd->texto="SELECT * FROM gruposordenadores WHERE idgrupo=".$idg;
338        $rs->Comando=&$cmd;
339        if (!$rs->Abrir()) return(false); // Error al abrir recordset
340        $rs->Primero();
341        if (!$rs->EOF){
342                $nombregrupoordenador=$rs->campos["nombregrupoordenador"];
343                $rs->Cerrar();
344                $cmd->texto="SELECT count(*) as numordenadores FROM ordenadores WHERE grupoid=".$idg;
345                $rs->Comando=&$cmd;
346                if (!$rs->Abrir()) return(false); // Error al abrir recordset
347                $rs->Primero();
348                if (!$rs->EOF)
349                        $ordenadores=$rs->campos["numordenadores"];
350                return(true);
351        }
352        else
353                return(false);
354}
355/*________________________________________________________________________________________________________
356        Toma el identificador de la imagen
357________________________________________________________________________________________________________*/
358function TomaImagen($cmd,$idgrupo,$idperfilhard,$idparticion,$particion,$cuenta){
359        $rs=new Recordset;
360        $cmd->texto="SELECT COUNT(*) AS contador,  imagenes.idimagen FROM ordenadores INNER JOIN ordenador_imagen ON ordenadores.idordenador = ordenador_imagen.idordenador INNER JOIN imagenes ON ordenador_imagen.idimagen = imagenes.idimagen WHERE ordenadores.idperfilhard = ".$idperfilhard." AND ordenadores.idparticion = ".$idparticion." AND ordenadores.grupoid =".$idgrupo." AND ordenador_imagen.particion = ".$particion." GROUP BY imagenes.idimagen" ;
361        $rs->Comando=&$cmd;
362        if (!$rs->Abrir()) return(""); // Error al abrir recordset
363        $idimagen=0;
364        if(!$rs->EOF){
365                if($rs->campos["contador"]==$cuenta){
366                        $idimagen=$rs->campos["idimagen"];
367                }
368        }
369        $rs->Cerrar();
370        return($idimagen);
371}
372?>
Note: See TracBrowser for help on using the repository browser.