source: admin/WebConsole/comandos/RestaurarImagenAula.php @ 5eae07e

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 5eae07e was a6b881e, checked in by alonso <alonso@…>, 16 years ago

primeros archivos de administración

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

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