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 | |
---|
10 | include_once("../includes/ctrlacc.php"); |
---|
11 | include_once("../clases/AdoPhp.php"); |
---|
12 | include_once("../includes/constantes.php"); |
---|
13 | include_once("../includes/comunes.php"); |
---|
14 | include_once("../includes/CreaComando.php"); |
---|
15 | include_once("../includes/TomaDato.php"); |
---|
16 | include_once("../idiomas/php/".$idioma."/buscar_".$idioma.".php"); |
---|
17 | |
---|
18 | |
---|
19 | # Inicializar variables. |
---|
20 | $criterio=""; |
---|
21 | $valor=""; |
---|
22 | |
---|
23 | # Tomar varlores de sesión. |
---|
24 | if (isset($_POST["criterio"])) $criterio=htmlspecialchars($_POST["criterio"]); |
---|
25 | if (isset($_POST["valor"])) $valor=htmlspecialchars($_POST["valor"]); |
---|
26 | if (!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 | //_________________________________ |
---|
151 | function confirmar(){ |
---|
152 | if (comprobar_datos()) |
---|
153 | document.fdatos.submit(); |
---|
154 | } |
---|
155 | //_________________________________ |
---|
156 | function 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 | //_________________________________ |
---|
165 | function 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 |
---|
184 | if (!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> |
---|