source: admin/WebConsole/varios/buscar.php @ 5d05b06

Last change on this file since 5d05b06 was 6694784, checked in by Ramón M. Gómez <ramongomez@…>, 6 years ago

#834: Fixing more code cleanup: CSS units, HTML tags; Javascript comparisons, and PHP variables.

  • Property mode set to 100644
File size: 8.0 KB
Line 
1<?php
2// *********************************************************************
3// Aplicación WEB: ogAdmWebCon
4// Autor: Ramón M. Gómez, ETSII - Universidad de Sevilla
5// Fecha Creación: Noviembre 2011
6// Nombre del fichero: buscar.php
7// Descripción : Buscador de equipos.
8// *********************************************************************
9
10include_once("../includes/ctrlacc.php");
11include_once("../clases/AdoPhp.php");
12include_once("../includes/constantes.php");
13include_once("../includes/comunes.php");
14include_once("../includes/CreaComando.php");
15include_once("../includes/TomaDato.php");
16include_once("../idiomas/php/".$idioma."/buscar_".$idioma.".php");
17
18
19# Inicializar variables.
20$criterio="";
21$valor="";
22
23# Tomar varlores de sesión.
24if (isset($_POST["criterio"])) $criterio=htmlspecialchars($_POST["criterio"]);
25if (isset($_POST["valor"])) $valor=htmlspecialchars($_POST["valor"]);
26if (!empty ($valor) or $criterio == "duplic" or $criterio == "profe" or $criterio == "norepo") {
27    $cmd=CreaComando($cadenaconexion);
28    if ($cmd) {
29        $rs=new Recordset;
30        switch ($criterio) {
31                case "nombre":  // Buscar por nombre de equipo.
32                        $cmd->texto="SELECT grupos.nombregrupo AS grupo,
33                                            aulas.nombreaula AS aula,
34                                            ordenadores.idordenador AS id,
35                                            ordenadores.nombreordenador AS nombre,
36                                            ordenadores.ip AS ip,
37                                            ordenadores.mac AS mac
38                                        FROM ordenadores
39                                        JOIN aulas ON aulas.idaula=ordenadores.idaula
40                                   LEFT JOIN grupos ON grupos.idgrupo=aulas.grupoid
41                                        WHERE ordenadores.nombreordenador='$valor'
42                                          AND aulas.idcentro='$idcentro'
43                                        ORDER BY ordenadores.nombreordenador";
44                        break;
45                case "ip":      // Buscar por IP.
46                        $cmd->texto="SELECT grupos.nombregrupo AS grupo,
47                                            aulas.nombreaula AS aula,
48                                            ordenadores.idordenador AS id,
49                                            ordenadores.nombreordenador AS nombre,
50                                            ordenadores.ip AS ip,
51                                            ordenadores.mac AS mac
52                                        FROM ordenadores
53                                        JOIN aulas ON aulas.idaula=ordenadores.idaula
54                                   LEFT JOIN grupos ON grupos.idgrupo=aulas.grupoid
55                                        WHERE ordenadores.ip='$valor'
56                                          AND aulas.idcentro='$idcentro'
57                                        ORDER BY ordenadores.nombreordenador";
58                        break;
59                case "mac":     // Buscar por dirección MAC (Ethernet).
60                        $cmd->texto="SELECT grupos.nombregrupo AS grupo,
61                                            aulas.nombreaula AS aula,
62                                            ordenadores.idordenador AS id,
63                                            ordenadores.nombreordenador AS nombre,
64                                            ordenadores.ip AS ip,
65                                            ordenadores.mac AS mac
66                                        FROM ordenadores
67                                        JOIN aulas ON aulas.idaula=ordenadores.idaula
68                                   LEFT JOIN grupos ON grupos.idgrupo=aulas.grupoid
69                                        WHERE ordenadores.mac='".strtoupper($valor)."'
70                                          AND aulas.idcentro='$idcentro'
71                                        ORDER BY ordenadores.nombreordenador";
72                        break;
73                case "duplic":  // Mostrar duplicados.
74                        $cmd->texto="SELECT grupos.nombregrupo AS grupo,
75                                            aulas.nombreaula AS aula,
76                                            ordenadores.idordenador AS id,
77                                            ordenadores.nombreordenador AS nombre,
78                                            ordenadores.ip AS ip,
79                                            ordenadores.mac AS mac
80                                        FROM ordenadores
81                                        JOIN aulas ON aulas.idaula=ordenadores.idaula
82                                   LEFT JOIN grupos ON grupos.idgrupo=aulas.grupoid
83                                        WHERE nombreordenador IN
84                                                (SELECT nombreordenador
85                                                   FROM ordenadores
86                                                  GROUP BY nombreordenador
87                                                 HAVING count(*) > 1)
88                                           OR ip in
89                                                (SELECT ip FROM ordenadores
90                                                  GROUP BY ip HAVING count(*) > 1)
91                                           OR mac in
92                                                (SELECT mac FROM ordenadores
93                                                  GROUP BY mac HAVING count(*) > 1)
94                                          AND aulas.idcentro='$idcentro'";
95                        break;
96                case "profe":   // Mostrar ordenadores de profesor.
97                        $cmd->texto="SELECT grupos.nombregrupo AS grupo,
98                                            aulas.nombreaula AS aula,
99                                            ordenadores.idordenador AS id,
100                                            ordenadores.nombreordenador AS nombre,
101                                            ordenadores.ip AS ip,
102                                            ordenadores.mac AS mac
103                                        FROM ordenadores
104                                        JOIN aulas ON aulas.idaula=ordenadores.idaula
105                                   LEFT JOIN grupos ON grupos.idgrupo=aulas.grupoid
106                                        WHERE aulas.idordprofesor=ordenadores.idordenador
107                                          AND aulas.idcentro='$idcentro'
108                                        ORDER BY aulas.nombreaula";
109                        break;
110                case "norepo":   // Mostrar ordenadores sin repositorio
111                        $cmd->texto="SELECT grupos.nombregrupo AS grupo,
112                                            aulas.nombreaula AS aula,
113                                            ordenadores.idordenador AS id,
114                                            ordenadores.nombreordenador AS nombre,
115                                            ordenadores.ip AS ip,
116                                            ordenadores.mac AS mac
117                                        FROM ordenadores
118                                        JOIN aulas ON aulas.idaula=ordenadores.idaula
119                                   LEFT JOIN grupos ON grupos.idgrupo=aulas.grupoid
120                                       WHERE aulas.idcentro='$idcentro'
121                                          AND idrepositorio=0
122                                        ORDER BY aulas.nombreaula;";
123                        break;
124        }
125        $rs->Comando=&$cmd;
126        if ($rs->Abrir()) {
127                while (!$rs->EOF) {
128                        if (empty ($rs->campos["grupo"])) {
129                                $aula[]=$rs->campos["aula"];
130                        } else {
131                                $aula[]=$rs->campos["grupo"]." / ".$rs->campos["aula"];
132                        }
133                        $id[]=$rs->campos["id"];
134                        $nombre[]=$rs->campos["nombre"];
135                        $ip[]=$rs->campos["ip"];
136                        $mac[]=$rs->campos["mac"];
137                        $rs->Siguiente();
138                }
139        }
140    }
141}
142//_________________________________
143?>
144<html>
145<head>
146        <title>Administración web de aulas</title>
147        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
148        <link rel="stylesheet" type="text/css" href="../estilos.css">
149        <script languaje="javascript">
150//_________________________________
151function confirmar(){
152        if (comprobar_datos())
153                document.fdatos.submit();
154}
155//_________________________________
156function comprobar_datos(){
157        if (document.fdatos.valor.value==="" && document.fdatos.criterio.value!=="duplic" && document.fdatos.criterio.value!="profe" && document.fdatos.criterio.value!=="norepo") {
158                alert("<?php echo $TbMsg["SEARCH_NOVALUE"] ?>");
159                document.fdatos.valor.focus();
160                return(false)
161        }
162        return(true)
163}
164//_________________________________
165function PulsaEnter(oEvento){
166    var iAscii;
167    if (oEvento.keyCode)
168        iAscii = oEvento.keyCode;
169    else{
170        if (oEvento.which)
171                iAscii = oEvento.which;
172        else
173                return false;
174        }
175    if (iAscii === 13)  confirmar();
176        return true;
177}
178        </script>
179</head>
180<body>
181<p align="center"><u><span class="cabeceras"><?php echo $TbMsg["SEARCH_TITLE"] ?></span></u></p>
182
183<?php
184if (!empty ($valor) or $criterio == "duplic" or $criterio == "profe" or $criterio == "norepo") {
185        if (empty ($aula)) {
186                echo '<p class="subcabeceras" align="center">'.$TbMsg["SEARCH_NOMATCHES"].'</p>';
187        } else {
188?>
189<div align="center" style="margin: 20px;">
190<table class="tabla_listados">
191  <caption><?php echo $TbMsg["SEARCH_RESULTS"];?></caption>
192  <tr>
193    <th colspan="2"><?php echo $TbMsg["SEARCH_LAB"];?></th>
194    <th><?php echo $TbMsg["SEARCH_NAME"];?></th>
195    <th><?php echo $TbMsg["SEARCH_IP"];?></th>
196    <th><?php echo $TbMsg["SEARCH_MAC"];?></th>
197  </tr>
198<?php
199                for ($i=0; !empty($aula[$i]); $i++) {
200                        echo "  <tr>\n    <td><img src=\"../images/iconos/ordenador.gif\" alt=\"PC\"></td>\n";
201                        echo "    <td>".$aula[$i]."</td>\n";
202                        echo "    <td><a href=\"../propiedades/propiedades_ordenadores.php?opcion=2&identificador=".$id[$i]."\">".$nombre[$i]."</a></td>\n";
203                        echo "    <td>".$ip[$i]."</td>\n";
204                        echo "    <td>".$mac[$i]."</td>\n  </tr>\n";
205                }
206        }
207?>
208</table>
209</div>
210<hr width="50%">
211<?php } ?>
212
213<div align="center" style="margin: 20px;">
214        <form action="#" class="formulariodatos" name="fdatos" method="post">
215                <?php echo $TbMsg["SEARCH_CRITERIA"] ?>:
216                <select name="criterio" id="criterio" onchange="document.fdatos.valor.disabled=document.fdatos.criterio.value==='duplic' || document.fdatos.criterio.value=='profe' || document.fdatos.criterio.value==='norepo';">
217                        <option value="nombre"> <?php echo $TbMsg["SEARCH_NAME"] ?> </option>
218                        <option value="ip"> <?php echo $TbMsg["SEARCH_IP"] ?> </option>
219                        <option value="mac"> <?php echo $TbMsg["SEARCH_MAC"] ?> </option>
220                        <option value="duplic"> <?php echo $TbMsg["SEARCH_DUPLICATES"] ?> </option>
221                        <option value="profe"> <?php echo $TbMsg["SEARCH_PROFESSOR"] ?> </option>
222                        <option value="norepo"> <?php echo $TbMsg["SEARCH_NOREPO"] ?> </option>
223                </select>
224                <input type="text" name="valor" id="valor" size="20" />
225                <div align="center">
226                        <img onclick="confirmar()" src="../images/botonok.png" style="margin: 20px; cursor: hand" />
227                </div>
228        </form>
229</div>
230</body>
231</html>
Note: See TracBrowser for help on using the repository browser.