Arreglado: Eliminación de instructor de horarios.
[CLab.git] / contenido / usuario+horarios.php
blob5a42259be8ab463e17b202174e3932fc661198ef
1 <?php
2 function OBTENER_TIPO($taller,$dia, $hora) {
3 global $session, $link;
4 // ¿Hay alguien(es) en esa posición?
5 $q = "SELECT users.username, nombre FROM users, horarios WHERE users.username = horarios.username and taller like '%$taller%' AND tipo = '". $_SESSION['tipo']. "' AND dia='$dia' AND posicion='$hora'";
6 //echo $q;
7 $resultados = @mysql_query($q, $link);
8 $num_rows = mysql_numrows($resultados);
10 if($num_rows > 0){
11 $msj="";
12 for($i=0; $i<$num_rows; $i++){
13 $uname = mysql_result($resultados,$i,"nombre");
14 $uinfo = mysql_result($resultados,$i,"username");
15 $msj = $msj.'<a href="./?x=usr+info&amp;usr='.$uinfo.'">'.$uname.'</a>[<a href="./?accion=horarios&amp;t='.$taller.'&amp;d='.$dia.'&amp;h='.$hora.'&amp;o=e&amp;u='.$uinfo.'">X</a>]<br />';
17 }else {
18 if (!$session->isAdmin()||isset($_GET['reporte'])) {$msj="Sin Asignar";}
20 if ($session->isAdmin() && !isset($_GET['reporte'])){
21 if( ($num_rows == 0 && $num_rows < 9) || ($_SESSION['tipo'] == 0 )){
22 $msj=$msj .'<a href="./?accion=horarios&amp;t='.$taller.'&amp;d='.$dia.'&amp;h='.$hora.'&amp;o=a">Asignar</a>';
25 return "<td>".$msj."</td>";
28 function MOSTRAR_HORARIOS() {
29 global $link, $base, $motor, $usuario, $clave;
30 $link = @mysql_connect($motor, $usuario, $clave) or die('Por favor revise sus datos, puesto que se produjo el siguiente error:<br /><pre>' . mysql_error() . '</pre>');
31 mysql_select_db($base, $link) or die('!->La base de datos seleccionada "'.$base.'" no existe');
32 echo '
33 <hr />
34 <h3>Taller '.$_SESSION['taller'].' - ';
35 switch ($_SESSION['tipo'])
37 case 0: echo TI_0; break;
38 case 1: echo TI_1; break;
39 case 2: echo TI_2; break;
40 case 3: echo TI_3; break;
43 echo
44 ' </h3>
45 <hr />
46 <table border="1" cellspacing="0" cellpadding="3">
47 <tr><th>Horario</th><th>Lunes</th><th>Martes</th><th>Miercoles</th><th>Jueves</th><th>Viernes</th><th>Sabado</th></tr>
49 for ($i=450; $i<=1170; $i+=60){
50 echo "<tr><td>". date("h:ia", mktime(0,$i)) . "</td>". OBTENER_TIPO($_SESSION['taller'], 1, $i).OBTENER_TIPO($_SESSION['taller'], 2, $i).OBTENER_TIPO($_SESSION['taller'], 3, $i).OBTENER_TIPO($_SESSION['taller'], 4, $i).OBTENER_TIPO($_SESSION['taller'], 5, $i).OBTENER_TIPO($_SESSION['taller'], 6, $i)."</tr>";
52 echo "</table>";
53 mysql_close($link);
56 function CONTENIDO_horarios() {
57 global $session, $database;
58 // Si no es admin solo mostrarle sus horarios y ya.
59 //El problema es que tenemos que mostrarle los 4 horarios de su tipo (taller y departamento...)
61 if(!$session->isAdmin()||isset($_GET['forzar'])){
62 global $session, $database;
65 if (isset($_GET['forzar'])) {
66 $tmp_usuario = $_GET['forzar'];
67 } else {
68 $tmp_usuario = $session->username;
70 $req_user_info = $database->getUserInfo($tmp_usuario );
71 $_SESSION['tipo'] = $req_user_info['tipo'];
72 switch ($req_user_info['departamento']) {
73 case 0:
74 echo DE_0;
75 $_SESSION['taller'] = 'LSA';
76 MOSTRAR_HORARIOS();
77 $_SESSION['taller'] = 'LID';
78 MOSTRAR_HORARIOS();
79 $_SESSION['taller'] = 'LAI';
80 MOSTRAR_HORARIOS();
81 $_SESSION['taller'] = 'LIV';
82 MOSTRAR_HORARIOS();
83 break;
84 case 1:
85 echo DE_1;
86 $_SESSION['taller'] = 'TPP';
87 MOSTRAR_HORARIOS();
88 $_SESSION['taller'] = 'TIS';
89 MOSTRAR_HORARIOS();
90 $_SESSION['taller'] = 'TAS';
91 MOSTRAR_HORARIOS();
92 $_SESSION['taller'] = 'TEC';
93 MOSTRAR_HORARIOS();
94 break;
98 //Registro del instructor seleccionado.
99 if (isset($_POST['query'])) {
101 global $session, $link;
102 global $link, $base, $motor, $usuario, $clave;
104 echo $_POST['tipo']."<br /><hr />";
106 if(!$_POST['tipo']) {
107 echo '<h3>Registro fallido del Instructor</h3>';
108 return;
111 $link = @mysql_connect($motor, $usuario, $clave) or die('Por favor revise sus datos, puesto que se produjo el siguiente error:<br /><pre>' . mysql_error() . '</pre>');
112 mysql_select_db($base, $link) or die('!->La base de datos seleccionada "'.$base.'" no existe');
113 //Verificamos que no tenga otro laboratorio al mismo tiempo.
114 $q = "SELECT * FROM horarios WHERE username='". $_POST['tipo'] ."' AND dia='".$_SESSION['dia']."' AND posicion='".$_SESSION['posicion']."';";
115 //echo $q."<br />";
116 $resultados = @mysql_query($q, $link) or die('!->Ocurrió un error mientras se revisaba la disponibilidad del instructor.');
117 $num_rows = mysql_numrows($resultados);
118 //$num_rows > 0 significa que el muchacho ya tiene asignado otro laboratorio a la misma hora :)
119 if ($num_rows > 0) {
120 echo
122 <h3>Registro de Intructor abortado</h3><br />
123 Lo sentimos, pero este Instructor ya tiene otros laboratorios asignados el mismo día y hora.
125 echo CONTINUAR;
126 return;
128 //Insertamos al instructor en el horario.
129 $q = "INSERT INTO horarios VALUES ('".$_POST['tipo'] ." ', ' " . $_SESSION['taller'] . "','".$_SESSION['dia']."','".$_SESSION['posicion']."')";
130 @mysql_query($q, $link) or die('!->Ocurrió un error en la ultima etapa de la adición de usuarios.');
131 echo
133 <h3>Registro exitoso del Intrusctor</h3><br />
135 echo CONTINUAR;
136 return;
139 if (isset($_GET['t']) && isset($_GET['d']) && isset($_GET['h'])&& isset($_GET['o'])) {
140 //Agregar o eliminar usuario de horario
141 global $session, $link;
142 global $link, $base, $motor, $usuario, $clave;
143 $_SESSION['taller'] = $_GET['t'];
144 $_SESSION['dia'] = $_GET['d'];
145 $_SESSION['posicion'] = $_GET['h'];
146 $link = @mysql_connect($motor, $usuario, $clave) or die('Por favor revise sus datos, puesto que se produjo el siguiente error:<br /><pre>' . mysql_error() . '</pre>');
147 mysql_select_db($base, $link) or die('!->La base de datos seleccionada "'.$base.'" no existe');
149 //Agregar
150 if ($_GET['o'] == 'a') {
151 // ¿Hay alguien(es) en ese departamente y con ese cargo?
152 $q = "SELECT username, nombre FROM users WHERE departamento='".$_SESSION['dpto'] ."' AND tipo='" . $_SESSION['tipo'] . "'";
153 $resultados = @mysql_query($q, $link);
154 $num_rows = mysql_numrows($resultados);
156 echo
158 <form action="./?accion=horarios" method="post">
159 <table border=0>
160 <tr><td>Instructores disponibles para el filtro actual: </td><td>
161 <select name="tipo">
164 if($num_rows > 0){
165 for($i=0; $i<$num_rows; $i++){
166 $uname = mysql_result($resultados,$i,"username");
167 $unombre = mysql_result($resultados,$i,"nombre");
168 echo '<option value="' . $uname . '">'.$unombre;
171 echo
173 </select>
174 </td></tr>
175 </table>
176 <input type="hidden" name="query" value="insertar">
177 <input type="submit" name="continuar" value="Continuar" />
178 </form>
180 } else {
181 if ($session->isAdmin()) {
182 //eliminar
183 $q = "DELETE FROM horarios WHERE username LIKE '%".$_GET['u']."%' AND taller LIKE '%".$_GET['t']."%' AND dia = ".$_GET['d']." AND posicion = ".$_GET['h'].";";
184 //echo "<br>CONSULTA: '$q'";
185 $resultado = mysql_query($q, $link) or die('!->La operación de eliminación no pudo ser completada');
186 //echo "<br>RESULTADO: $resultado<br>My:".mysql_error($link)."<br>";
187 echo "<h3>".$_GET['u']." ha sido removido del horario.<br />";
188 echo CONTINUAR;
191 return;
194 $paso = $_POST['paso'];
196 0. Selección de departamento.
197 $_POST['dpto']
198 1. Selección de taller.
199 $_POST['taller']
200 2. Filto ocupacion del instructor
201 $_POST['tipo']
203 echo '<h3>Visor de Horarios</h3></b><br />';
204 switch ($paso) {
205 case 0:
206 echo
208 <form action="./?accion=horarios" method="post">
209 <table border=0>
210 <tr><td>Departamento a revisar: </td><td>
211 <select name="dpto">
212 <option value="0">'.DE_0.'
213 <option value="1">'.DE_1.'
214 </select>
215 </td></tr>
216 </table>
217 <input type="hidden" name="paso" value="1">
218 <input type="submit" name="continuar" value="Continuar" />
219 </form>
221 break;
222 case 1:
223 $_SESSION['dpto'] = $_POST['dpto'];
224 echo
226 <form action="./?accion=horarios" method="post">
227 <table border=0>
228 <tr><td>Taller a revisar: </td><td>
229 <select name="taller">
231 if ($_POST['dpto'] == 0) {
232 echo
234 <option value="LSA">'."LSA".'
235 <option value="LID">'."LID".'
236 <option value="LAI">'."LAI".'
237 <option value="LIV">'."LIV".'
239 } else {
240 echo
242 <option value="TPP">'."TPP".'
243 <option value="TIS">'."TIS".'
244 <option value="TAS">'."TAS".'
245 <option value="TEC">'."TEC".'
248 echo
250 </select>
251 </td></tr>
252 </table>
253 <input type="hidden" name="paso" value="2">
254 <input type="submit" name="continuar" value="Continuar" />
255 </form>
257 echo '<hr />'.$_SESSION['dpto'];
258 break;
260 case 2:
261 $_SESSION['taller'] = $_POST['taller'];
262 echo
264 <form action="./?accion=horarios" method="post">
265 <table border=0>
266 <tr><td>Tipo de instructor a revisar: </td><td>
267 <select name="tipo">
268 <option value="0">'.TI_0.'
269 <option value="1">'.TI_1.'
270 <option value="2">'.TI_2.'
271 <option value="3">'.TI_3.'
272 </select>
273 </td></tr>
274 </table>
275 <input type="hidden" name="paso" value="3">
276 <input type="submit" name="continuar" value="Continuar" />
277 </form>
279 echo '<hr />'.$_SESSION['dpto']."->".$_SESSION['taller'];
280 break;
281 case 3:
282 $_SESSION['tipo'] = $_POST['tipo'];
283 MOSTRAR_HORARIOS();
284 echo '<hr />'-$_SESSION['dpto']."->".$_SESSION['taller']."->".$_SESSION['tipo'].'<br />';
285 break;
286 default:
287 exit;