source: admin/WebConsole/comandos/EliminarImagenCache.php @ e7bfe29

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 e7bfe29 was 9f1274e, checked in by ramon <ramongomez@…>, 7 years ago

#804: Sustituir funciones para compatibilidad con PHP 7 (split por explode y ereg... por preg_...).

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

  • Property mode set to 100644
File size: 20.4 KB
Line 
1<?php
2// *************************************************************************************************************************************************
3// Nombre del fichero: EliminarImagenCache.php
4// Descripci????n :
5//              Implementaci????n?????? del comando "Eliminar Imagen Cache"
6// date: 13-junio-2013
7// Cambio: se incluye mensaje equipos sin configuracion. En la funcion tabla_configuracion incluye cabecera de la tabla.
8// *************************************************************************************************************************************************
9include_once("../includes/ctrlacc.php");
10include_once("../clases/AdoPhp.php");
11include_once("../includes/constantes.php");
12include_once("../includes/comunes.php");
13include_once("../includes/CreaComando.php");
14include_once("../includes/HTMLSELECT.php");
15include_once("../includes/HTMLCTESELECT.php");
16include_once("../includes/TomaDato.php");
17include_once("../idiomas/php/".$idioma."/comandos/eliminarimagencache_".$idioma.".php");
18include_once("../idiomas/php/".$idioma."/comandos/opcionesacciones_".$idioma.".php");
19//________________________________________________________________________________________________________
20include_once("./includes/capturaacciones.php");
21$funcion="EjecutarScript";
22$idc=$_SESSION["widcentro"];
23$ipservidor=$_SERVER['SERVER_ADDR'];
24//________________________________________________________________________________________________________
25$cmd=CreaComando($cadenaconexion);
26if (!$cmd)
27        Header('Location: '.$pagerror.'?herror=2'); // Error de conexi??n con servidor B.D.
28//___________________________________________________________________________________________________
29?>
30<HTML>
31<TITLE>Administraci??n web de aulas</TITLE>
32<HEAD>
33        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
34<LINK rel="stylesheet" type="text/css" href="../estilos.css">
35<SCRIPT language="javascript" src="./jscripts/EliminarImagenCache.js"></SCRIPT>
36<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT>
37<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/eliminarimagencache_'.$idioma.'.js"></SCRIPT>'?>
38<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?>
39<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT>
40</HEAD>
41<BODY>
42<?php
43
44switch($ambito){
45                case $AMBITO_CENTROS :
46                        $urlimg='../images/iconos/centros.gif';
47                        $textambito=$TbMsg[0];
48                        break;
49                case $AMBITO_GRUPOSAULAS :
50                        $urlimg='../images/iconos/carpeta.gif';
51                        $textambito=$TbMsg[1];
52                        $cmd->texto="SELECT DISTINCT ordenadores.idrepositorio
53                                FROM aulas
54                                LEFT JOIN ordenadores ON ordenadores.idaula=aulas.idaula
55                                WHERE aulas.idaula=$idambito";
56                        break;
57                case $AMBITO_AULAS :
58                        $urlimg='../images/iconos/aula.gif';
59                        $textambito=$TbMsg[2];//#agp
60                                $cmd->texto="SELECT DISTINCT ordenadores.idrepositorio
61                                FROM aulas
62                                LEFT JOIN ordenadores ON ordenadores.idaula=aulas.idaula
63                                WHERE aulas.idaula=$idambito";
64                        $rs=new Recordset;
65                        $rs->Comando=&$cmd;
66                        if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
67                        $rs->Primero();
68                        $idx=0;
69                        while (!$rs->EOF){
70                        $rs->Siguiente();
71                        $idx++;     }
72                        $cuentarepos=$idx; // Guarda contador
73                        $rs->Cerrar();
74                                        if ($cuentarepos==1){
75                                        $cmd->texto="SELECT repositorios.ip
76                                        FROM repositorios
77                                        INNER JOIN ordenadores ON ordenadores.idrepositorio=repositorios.idrepositorio
78                                        AND ordenadores.idaula='$idambito'
79                                        GROUP BY ip";
80                                        $rs=new Recordset;
81                                        $rs->Comando=&$cmd;
82                                        if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
83                                        $rs->Primero();
84                                        $iprepositorioord=$rs->campos["ip"];
85                                        if ( $iprepositorioord == $ipservidor ){$cuentarepos=1;}else{$cuentarepos=2;}
86                                        $rs->Cerrar();
87                                                                                }//#agp
88                        break;
89
90                case $AMBITO_GRUPOSORDENADORES :
91                        $urlimg='../images/iconos/carpeta.gif';
92                        $textambito=$TbMsg[3];//#agp
93                                $cmd->texto="SELECT DISTINCT ordenadores.idrepositorio
94                                 FROM aulas
95                                 LEFT JOIN ordenadores ON ordenadores.idaula=aulas.idaula
96                                 WHERE aulas.idaula=ordenadores.idaula
97                                 AND aulas.idcentro='$idc'
98                                 AND ordenadores.grupoid=".$idambito;
99                        $rs=new Recordset;
100                        $rs->Comando=&$cmd;
101                        if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
102                        $rs->Primero();
103                        $idx=0;
104                        while (!$rs->EOF){
105                        $rs->Siguiente();
106                        $idx++;     }
107                        $cuentarepos=$idx; // Guarda contador
108                        $rs->Cerrar();
109                                        if ($cuentarepos==1){
110                                                $cmd->texto="SELECT repositorios.ip
111                                                FROM repositorios
112                                                INNER JOIN ordenadores ON ordenadores.idrepositorio=repositorios.idrepositorio
113                                                AND ordenadores.grupoid='$idambito'
114                                                GROUP BY ip";
115                                                $rs=new Recordset;
116                                                $rs->Comando=&$cmd;
117                                                if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
118                                                $rs->Primero();
119                                                $iprepositorioord=$rs->campos["ip"];
120                                                if ( $iprepositorioord == $ipservidor ){$cuentarepos=1;}else{$cuentarepos=2;}
121                                                $rs->Cerrar();
122                                                                                }//#agp
123                        break;
124
125                case $AMBITO_ORDENADORES :
126                        $urlimg='../images/iconos/ordenador.gif';
127                        $textambito=$TbMsg[4];//#agp
128                                $cmd->texto="SELECT repositorios.ip
129                                 FROM repositorios
130                                 INNER JOIN ordenadores ON ordenadores.idrepositorio=repositorios.idrepositorio
131                                 AND ordenadores.idordenador=$idambito";//#agp
132                        $rs=new Recordset;
133                        $rs->Comando=&$cmd;
134                        if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
135                        $rs->Primero();
136                                                $iprepositorioord=$rs->campos["ip"];
137                                                if ( $iprepositorioord == $ipservidor ){$cuentarepos=1;}else{$cuentarepos=2;}
138                        $rs->Cerrar();//#agp
139                        break;
140        }
141
142        echo '<p align=center><span class=cabeceras>'.$TbMsg[5].'&nbsp;</span><br>';
143        echo '<img src="'.$urlimg.'">&nbsp;&nbsp;<span align=center class=subcabeceras><u>'.$textambito.': '.$nombreambito.'</u></span>&nbsp;&nbsp;</span></p>';
144?>
145<!-- //#agp-->
146<?php
147    // Mensaje aviso limitacion version si hay dos repositorios
148    if ($cuentarepos >1){ ?>
149         <TABLE  id="tabla" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos>
150                <TR>
151                <TH align=center >&nbsp;
152                <?php if ($ambito==16){
153                        echo $TbMsg[17]."</br>".$nombreambito.$TbMsg[16]."</br>".$TbMsg[18];
154                }else{
155                        echo $TbMsg[17]."</br>".$nombreambito.$TbMsg[15]."</br>".$TbMsg[18]; }
156                ?>&nbsp;</TH> </TR>
157
158        </TABLE> 
159<?php }?>
160<!-- //#agp-->
161
162        <P align=center>
163        <SPAN align=center class=subcabeceras><?php echo $TbMsg[7] ?></SPAN>
164        </P>
165
166<form align=center name="fdatos"> 
167     <?php echo tabla_configuraciones($cmd,$idambito); ?>
168</form>
169<P></P>
170<!-- //#agp-->
171
172<?php
173        //________________________________________________________________________________________________________
174        include_once("./includes/formularioacciones.php");
175        //________________________________________________________________________________________________________
176        include_once("./includes/opcionesacciones.php");
177        //________________________________________________________________________________________________________
178?>
179</BODY>
180</HTML>
181
182<?php
183/**************************************************************************************************************************************************
184        Recupera los datos de un ordenador
185                Parametros:
186                - cmd: Una comando ya operativo (con conexi??nabierta) 
187                - ido: El identificador del ordenador
188________________________________________________________________________________________________________*/
189function TomaPropiedades($cmd,$idambito)
190{
191       
192        $rs=new Recordset;
193        $cmd->texto="SELECT     COUNT(ordenadores.idordenador) AS numordenadores, aulas.* ,
194                                GROUP_CONCAT(DISTINCT CAST( ordenadores.idmenu AS char( 11 ) ) 
195                                ORDER BY ordenadores.idmenu SEPARATOR ',' ) AS idmenus,
196                                GROUP_CONCAT(DISTINCT CAST( ordenadores.idrepositorio AS char( 11 ) ) 
197                                ORDER BY ordenadores.idrepositorio SEPARATOR ',' ) AS idrepositorios,
198                                GROUP_CONCAT(DISTINCT CAST( ordenadores.idperfilhard AS char( 11 ) ) 
199                                ORDER BY ordenadores.idperfilhard SEPARATOR ',' ) AS idperfileshard,
200                                GROUP_CONCAT(DISTINCT CAST( ordenadores.cache AS char( 11 ) ) 
201                                ORDER BY ordenadores.cache SEPARATOR ',' ) AS caches,
202                                GROUP_CONCAT(DISTINCT CAST( ordenadores.idproautoexec AS char( 11 ) ) 
203                                ORDER BY ordenadores.idproautoexec SEPARATOR ',' ) AS idprocedimientos
204                        FROM aulas
205                        LEFT OUTER JOIN ordenadores ON ordenadores.idaula = aulas.idaula
206                        WHERE aulas.idaula =".$idambito."
207                        GROUP BY aulas.idaula";
208
209        $rs->Comando=&$cmd;
210        if (!$rs->Abrir()) return(false); // Error al abrir recordset
211        if (!$rs->EOF){
212                $idaula=$rs->campos["idaula"];
213                $nombreaula=$rs->campos["nombreaula"];
214                $urlfoto=$rs->campos["urlfoto"];
215                if ($urlfoto=="" ) $urlfoto="aula.jpg";
216                $cagnon=$rs->campos["cagnon"];
217                $pizarra=$rs->campos["pizarra"];
218                $ubicacion=$rs->campos["ubicacion"];
219                $comentarios=$rs->campos["comentarios"];
220                $puestos=$rs->campos["puestos"];
221                $horaresevini=$rs->campos["horaresevini"];
222                $horaresevfin=$rs->campos["horaresevfin"];
223                $grupoid=$rs->campos["grupoid"];
224                $modomul=$rs->campos["modomul"];
225                $ipmul=$rs->campos["ipmul"];
226                $pormul=$rs->campos["pormul"];
227                $velmul=$rs->campos["velmul"];
228#################### ADV               
229                $router=$rs->campos["router"];
230                $netmask=$rs->campos["netmask"];
231                $modp2p=$rs->campos["modp2p"];
232                $timep2p=$rs->campos["timep2p"];
233###################### ADV
234###################### UHU
235                $validacion=$rs->campos["validacion"];
236                $paginalogin=$rs->campos["paginalogin"];
237                $paginavalidacion=$rs->campos["paginavalidacion"];
238###################### UHU
239
240                $ordenadores=$rs->campos["numordenadores"];
241                $idmenu=$rs->campos["idmenus"];
242                if(count(explode(",",$idmenu))>1) $idmenu=0;             
243                $idrepositorio=$rs->campos["idrepositorios"];
244                if(count(explode(",",$idrepositorio))>1) $idrepositorio=0;               
245                $idperfilhard=$rs->campos["idperfileshard"];           
246                if(count(explode(",",$idperfilhard))>1) $idperfilhard=0;         
247                $cache=$rs->campos["caches"];           
248                if(count(explode(",",$cache))>1) $cache=0;       
249                $idmenu=$rs->campos["idmenus"];
250                if(count(explode(",",$idmenu))>1) $idmenu=0;             
251                $idprocedimiento=$rs->campos["idprocedimientos"];
252                if(count(explode(",",$idprocedimiento))>1) $idprocedimiento=0;   
253       
254                $gidmenu=$idmenu;
255                $gidprocedimiento=$idprocedimiento;
256                $gidrepositorio=$idrepositorio;
257                $gidperfilhard=$idperfilhard;
258                $gcache=$cache;
259       
260                $rs->Cerrar();
261               
262                return(true);
263        }
264        return(false);
265}
266
267/*________________________________________________________________________________________________________
268        Crea la tabla de configuraciones y perfiles a crear
269________________________________________________________________________________________________________*/
270
271function tabla_configuraciones($cmd,$idambito){
272
273        global $TbMsg;
274                global $cuentarepos;
275        global $idc;
276        global $ambito;
277        global $idambito;
278        global $nombreambito;
279
280        global $AMBITO_CENTROS;
281        global $AMBITO_GRUPOSAULAS;
282        global $AMBITO_AULAS;
283        global $AMBITO_GRUPOSORDENADORES;
284        global $AMBITO_ORDENADORES;
285
286switch($ambito){
287                case $AMBITO_CENTROS :
288                        $urlimg='../images/iconos/centros.gif';
289                        break;
290
291                case $AMBITO_GRUPOSAULAS :
292                        $cmd->texto="SELECT * FROM ordenadores,aulas,ordenadores_particiones
293                                        JOIN grupos USING(idgrupo)
294                                        JOIN sistemasficheros USING(idsistemafichero)
295                                        WHERE ordenadores_particiones.idordenador=ordenadores.idordenador
296                                        AND ordenadores.idaula=aulas.idaula
297                                        AND grupos.nombregrupo='$nombreambito'
298                                        AND grupos.idcentro='$idc'
299                                        AND sistemasficheros.nemonico='CACHE'";
300                        break;
301
302                case $AMBITO_AULAS :
303                        $cmd->texto="SELECT * FROM ordenadores,aulas,ordenadores_particiones
304                                        JOIN sistemasficheros USING(idsistemafichero)
305                                        WHERE ordenadores_particiones.idordenador=ordenadores.idordenador
306                                        AND ordenadores.idaula=aulas.idaula
307                                        AND aulas.nombreaula='$nombreambito'
308                                        AND aulas.idcentro='$idc'
309                                        AND sistemasficheros.nemonico='CACHE'";
310                        break;
311
312                case $AMBITO_GRUPOSORDENADORES :
313                        $cmd->texto="SELECT * FROM ordenadores,aulas,ordenadores_particiones,gruposordenadores
314                                        JOIN sistemasficheros USING(idsistemafichero)
315                                        WHERE ordenadores_particiones.idordenador=ordenadores.idordenador
316                                        AND ordenadores.idaula=aulas.idaula
317                                        AND gruposordenadores.idaula=aulas.idaula
318                                        AND aulas.idcentro='$idc'
319                                        AND sistemasficheros.nemonico='CACHE'
320                                        AND ordenadores.grupoid='$idambito'";
321                        break;
322
323                case $AMBITO_ORDENADORES :
324                        $cmd->texto="SELECT * FROM ordenadores,ordenadores_particiones
325                                        JOIN sistemasficheros USING(idsistemafichero)
326                                        WHERE ordenadores_particiones.idordenador=ordenadores.idordenador
327                                        AND ordenadores.nombreordenador='$nombreambito'
328                                        AND sistemasficheros.nemonico='CACHE'";
329                        break;
330        }
331
332        $tablaHtml="";
333
334        $rs->Comando=&$cmd; 
335        $rs=new Recordset;
336        $rs->Comando=&$cmd;
337        if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset
338        $rs->Primero();
339
340        while (!$rs->EOF){
341
342                                                        $cache=$rs->campos["cache"];
343                                                        $idordenador=$rs->campos["idordenador"];
344                                                        $ima=explode(",",$cache);
345                                                        for ($x=0;$x<count($ima); $x++)
346                                                        {
347                                                                if(preg_match("/.img/",$ima[$x])  ) //si contiene .img son ficheros de imagen
348                                                                {
349                                                                        if (preg_match("/.img.sum/",$ima[$x]) or preg_match("/.img.torrent/",$ima[$x]) or preg_match("/.img.full.sum/",$ima[$x]) )//Si el nombre contiene .img.sum o img.torrent o img.full.sum
350                                                                        {}else{$esdir[]="f";
351                                                                                if (preg_match("/.img.diff/",$ima[$x]))
352                                                                                {
353                                                                                        $ima[$x] = str_replace(".img.diff", "", $ima[$x]); //quitar todos los .img
354                                                                                        $ima[$x]=trim($ima[$x]);
355                                                                                        $nombreimagenes[]="f-".$ima[$x];
356                                                                                }else{
357                                                                                        $ima[$x] = str_replace(".img", "", $ima[$x]); //quitar todos los .img
358                                                                                        $ima[$x]=trim($ima[$x]);
359                                                                                        $nombreimagenes[]="f-".$ima[$x];
360                                                                                        }
361                                                                                        }
362                                                                }elseif (preg_match("/.MB/",$ima[$x])){
363                                                                        }else{  // Es un directorio
364                                                                                        $ima[$x]=trim($ima[$x]);
365                                                                                        $nombreimagenes[]="d-".$ima[$x];
366                                                                                        $esdir[]="d";
367                                                                                }
368                                                        }
369       
370                $rs->Siguiente();
371                        }
372                $rs->Cerrar();
373
374        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
375
376                $sin_duplicados=array_unique($nombreimagenes);
377
378                if (empty($sin_duplicados)) {
379                        // Equipo sin configuracion en base de datos.
380                        $inicioTabla='<table id="tabla_conf" width="95%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">'.chr(13);
381                        $inicioTabla.='<tr><th align="center" >'.$TbMsg["CONFIG_NOCONFIG"].'</th><tr>'.chr(13);
382                }else{
383                        // Equipo con configuracion en BD
384                        // Incluimos primera linea de la tabla.
385                        $inicioTabla='<TABLE  id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos>'.chr(13);
386                        $inicioTabla.='         <TR>'.chr(13);
387                        $inicioTabla.='         <TH align=center>&nbsp;'.$TbMsg[11].'&nbsp;</TH>'.chr(13);
388                        $inicioTabla.='         <TH align=center>&nbsp;'.$TbMsg[19].'&nbsp;</TH>'.chr(13);
389                        $inicioTabla.='         <TH align=center>&nbsp;'.$TbMsg[12].'&nbsp;</TH>'.chr(13);
390                        $inicioTabla.='         <TH align=center>&nbsp;'.$TbMsg[10].'&nbsp;</TH>'.chr(13);
391                        if ($cuentarepos==1)
392                                $inicioTabla.='         <TH align=center>&nbsp;'.$TbMsg[13].'&nbsp;</TH>'.chr(13);
393                        }
394
395                echo $inicioTabla;
396                $numdir=0;
397                $contar=1;
398                foreach($sin_duplicados as $value){ //imprimimos $sin_duplicados
399               
400                        // Eliminino las f- y d-
401                        $value=explode("-",$value);
402                        $value=$value[1];
403                       
404                        if (empty($value) && $ambito == $AMBITO_ORDENADORES){
405                                // Equipo sin imagenes en la cache.
406                                $inicioTabla='<table id="tabla_conf" width="25%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">'.chr(13);
407                                $inicioTabla.='<tr><th align="center" >NO '.$TbMsg["7"].'</th><tr>'.chr(13);
408                                echo $inicioTabla;
409                        }elseif (empty($value)){ $numdir++;
410                                }else{
411                                        $nombrefichero=$value.'.img';
412                                        $tamanofich=exec("du -h /opt/opengnsys/images/$nombrefichero");
413                                        if ($tamanofich==""){$tamanofich=$TbMsg[14];}
414                                        $tamanofich=explode("/",$tamanofich);     
415                                        $todo=".*";
416                                        if ($esdir[$numdir] == "d"){$ruta[$numdir]='rm%20-r%20/opt/opengnsys/cache/opt/opengnsys/images/'.$value;}else{$ruta[$numdir]='rm%20-r%20/opt/opengnsys/cache/opt/opengnsys/images/'.$value.$todo;}
417                                        echo '<TR>'.chr(13);
418                                        echo '<TD align=center>&nbsp;'.$contar.'&nbsp;</TD>'.chr(13);
419                                        if ($esdir[$numdir]=="d"){echo '<TD align=center><font color=blue>&nbsp;D&nbsp;</font></TD>'.chr(13);}else{echo '<TD align=center>&nbsp;F&nbsp;</TD>'.chr(13);}
420                                        echo '<TD align=center ><input type="radio" name="codigo"  value='.$ruta[$numdir].'></TD>'.chr(13);
421                                        if ($esdir[$numdir]=="d"){echo '<TD align=center><font color=blue>&nbsp;'.$value.'&nbsp;</font></TD>'.chr(13);}else{echo '<TD align=center>&nbsp;'.$value.'&nbsp;</TD>'.chr(13);}
422                                        if ($cuentarepos==1){echo '<TD align=center>&nbsp;'.$tamanofich[0].'</TD>'.chr(13);}
423                                        echo '</TR>'.chr(13);
424                                        $contar++;$numdir++;
425                                        }
426                }
427                echo "</table>".chr(13);
428                                                       
429
430return($tablaHtml);
431}
432
433?>
434
Note: See TracBrowser for help on using the repository browser.