P. 1
MemoriaWebCole

MemoriaWebCole

|Views: 317|Likes:
Publicado porMax Castillo Garcia

More info:

Published by: Max Castillo Garcia on Nov 18, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/06/2013

pdf

text

original

Sections

  • 1. Introducción
  • 2. Especificación de Requisitos
  • 3. Análisis
  • 3.1. Diagrama de clases
  • Figura 1 Diagrama de Clases de la aplicación
  • 3.2. Diagrama de casos de uso
  • Figura 2 Actores del sistema
  • 3.2.1. Casos de uso del usuario
  • Figura 3 Caso de uso para Usuario
  • 3.2.2. Casos de uso del usuario registrado
  • Figura 4 Caso de uso Usuario Registrado
  • 3.2.3. Casos de uso del administrador
  • Figura 5 Caso de uso del Administrador
  • 3.2.4. Casos de uso del alumno y del progenitor
  • Figura 6 Caso de uso del Alumno y del Progenitor
  • 3.2.5. Casos de uso del profesor
  • Figura 7 Caso de uso para Profesor
  • 3.2.6. Casos de uso del equipo directivo
  • Figura 8 Caso de uso para Equipo Directivo
  • 3.3. Diagrama de Secuencia
  • 3.3.1. Iniciar sesión
  • Figura 9 Diagrama de secuencia: Iniciar sesión
  • 3.3.2. Añadir anuncio al tablón de anuncios
  • Figura 10 Diagrama de secuencia: Añadir anuncio
  • 3.3.3. Consultar horario
  • Figura 11 Diagrama de Secuencia: Consultar Horario
  • 3.3.4. Dar de baja alumnos
  • Figura 12 Diagrama de Secuencia: Dar de baja alumnos
  • 3.3.5. Mostrar notas
  • Figura 13 Diagrama de Secuencia: Mostrar notas
  • 3.3.6. Poner notas
  • Figura 14 Diagrama de Secuencia: Poner notas
  • 3.3.7. Poner faltas de asistencia
  • Figura 15 Diagrama de Secuencia: Poner faltas de asistencia
  • 3.3.8. Reservar equipaciones
  • Figura 16 Diagrama de Secuencia: Reservar equipación
  • 3.3.9. Anular reserva de instalaciones
  • Figura 17 Diagrama de secuencia: Anular reserva de instalaciones
  • 4. Diseño
  • Figura 18 - Arquitectura a tres capas
  • 4.1. Nivel de presentación
  • Figura 19 Captura de la página de inicio
  • Figura 20 Cabecera de la página
  • Figura 21 Menú del sitio web
  • Figura 22 Formulario de inicio de sesión
  • Figura 23 Zona de información de la página de inicio
  • Figura 24 Captura de la página donde se muestra el calendario escolar
  • Figura 25 Captura del horario de clase en la zona privada de un alumno
  • Figura 26 Captura del formulario de notas de la zona privada del profesor
  • 4.2. Nivel de aplicación
  • Figura 27 Capas del proyecto
  • 4.3. Nivel de persistencia
  • Figura 28 Diagrama entidad-relación
  • 5. Implementación
  • 5.1. Tecnologías
  • 5.1.1. HTML
  • 5.1.2. XHTML
  • 5.1.3. CSS
  • 5.1.4. JavaScript
  • 5.1.5. PHP
  • 5.1.6. MySQL
  • 5.2. Descripción de la implementación
  • 5.2.1. Sección pública
  • Figura 29 - Cabecera del sitio web
  • Figura 30 Menú de la zona anónima
  • 5.2.2. Sección privada
  • Figura 31 Formulario de identificación
  • Figura 32 Página principal con la zona de noticias en la parte inferior
  • 6. Pruebas
  • 6.1 Tamaño de la ventana
  • Figura 33 Resolución a 600x480
  • Figura 34 Resolución 800x600
  • Figura 35 Resolución 1024x768
  • 6.2 Comprobador de links
  • 6.3 Estándar XHTML
  • Figura 36 XHTML - página con errores
  • Figura 37 XHTML - página válida
  • Figura 38 xhtml
  • 6.4 Estándar CSS
  • Figura 39 Resultado de la validación CSS
  • 6.5 Navegadores
  • Figura 40 Explorer 6 - Problemas visualización
  • Figura 41 Explorer 7 - página inicial
  • Figura 42 Opera - página inicial
  • Figura 43 Mozilla - página inicial
  • 7. Conclusiones
  • 8. Bibliografía
  • 9. Anexos
  • A. W3C
  • B. Anexo II (Herramientas usadas)
  • Figura 44 B.1 - Logotipo de StarUML
  • Figura 45 B.2 - Logotipo de Dreamweaver 8
  • Figura 46 B.3 Pantalla inicial Eclipse 3.2
  • Figura 47 B.4 Eclipse - Pantalla principal
  • Figura 48 B.5 Eclipse Auto completado de variable
  • Figura 49 B.6 Dia – Pantalla de Inicio
  • Figura 50 B.7 Dia – Eligiendo tipo de diagrama
  • Figura 51 B.7 Dia – Espacio de trabajo
  • C. XAMPP
  • Figura 52 C.1 - Logotipo de XAMPP
  • Figura 53 C.2 - Panel de Control de XAMPP
  • Figura 54 C.3 - Logotipo del servidor web Apache
  • Figura 55 C.4 - Logotipo de phpMyAdmin
  • D. Plantillas de los casos de uso
  • E. Guía del usuario
  • Usuario anónimo
  • Figura 56 Usuario anónimo – inicio
  • Figura 57 Usuario anónimo - menú navegacional
  • Figura 58 Usuario anónimo – Historia
  • Figura 59 Usuario anónimo - Equipo directivo
  • Figura 60 Usuario anónimo - reglamento
  • Figura 61 Usuario anónimo – Calendario
  • Figura 62 Usuario anónimo – localización
  • Figura 63 Usuario anónimo – contacto
  • Figura 64 Usuario anónimo – enlaces
  • Intranet del profesor
  • Figura 65 Pantalla Inicial
  • Figura 66 Intranet del profesor
  • Figura 67 Menú navegacional
  • Figura 68 Intranet Profesor - Alumnos
  • Figura 69 Escogiendo asignatura
  • Figura 70 Intranet Profesor - datos cargados
  • Figura 71 Intranet Profesor – profesores
  • Figura 72 Intranet Profesor – Notas
  • Figura 73 Intranet Profesor - notas - mensaje error
  • Figura 74 Intranet Profesor - falta – Calendario
  • Figura 75 Intranet profesor – falta
  • Figura 76 Intranet Profesor – instalaciones
  • Figura 77 Intranet Profesor - reserva de instalaciones
  • Figura 78 Intranet Profesor - reserva confirmada
  • Figura 79 Intranet Profesor – equipaciones
  • Figura 80 Intranet Profesor - reserva de equipaciones
  • Figura 81 Intranet Profesor - reserva confirmada
  • Figura 82 Intranet Profesor - tablón anuncios
  • Figura 83 Intranet Profesor - Insertar anuncio
  • Intranet de alumno
  • Figura 84 Pantalla Inicial
  • Figura 85 Intranet del alumno
  • Figura 86 Menú navegacional
  • Figura 87 Intranet alumno – horario
  • Figura 88 Intranet alumno - listado alumno
  • Figura 89 Intranet alumno - listado profesores
  • Figura 90 Intranet alumno – notas
  • Figura 91 Intranet alumno - faltas asistencia
  • Figura 92 Intranet alumno – menú
  • Figura 93 Intranet Alumno – instalaciones
  • Figura 94 Intranet alumno - reserva de instalaciones
  • Figura 95 Intranet alumno - reserva confirmada
  • Figura 96 Intranet Profesor - tablón anuncios
  • Figura 97 Intranet Profesor - Insertar anuncio
  • F. Código Setup.php (Base de datos)
  • Interfaz_db.php
  • Connexion_i.php
  • Conexión.php
  • G. Código PHP
  • Index.php
  • Historia.php
  • Equipodirectivo.php
  • Reglamento.php
  • Calendarioescolar.php
  • Localizacion.php
  • Contactar.php
  • Enlaces.php
  • Prohibido.php
  • Anonimo_inc.php
  • Analizadorlogin.php
  • Bd.php
  • Cerrar_sesion_alumno.php
  • Cerrar_sesion.php
  • calendarioscript.php
  • Alumno_inc.php
  • intranetAlumno.php
  • Alumno_horario.php
  • Alumno_alumnos.php
  • Alumno_profes.php
  • Alumno_notas.php
  • Alumno_faltas.php
  • Alumno_menu.php
  • Alumno_instalaciones.php
  • Alumno_reserva.php
  • Alumno_reservar_instalacion.php
  • Alumno_tablon.php
  • Alumno_tablon_insertar.php
  • Alumno_anular_reserva.php
  • calendario_faltas.php
  • calendario_ins.php
  • profesor_inc.php
  • intranetProfe.php
  • Profesor_alumnos.php
  • Profesor_profesores.php
  • guardar_notas.php
  • Profesor_notas.php
  • Profesor_faltas.php
  • poner_faltas.php
  • Profesor_instalaciones.php
  • Profesor_reservar_instalacion.php
  • Profesor_reserva.php
  • Profesor_anular_reserva.php
  • Profesor_equipaciones.php
  • Profesor_reservar_equipacion.php
  • Profesor_tablon.php
  • Profesor_tablon_insertar.php
  • H. Código CSS
  • Calendario.css
  • general.css
  • principal.css
  • Professor.css
  • I. JavaScript
  • fecha.js
  • profesor.js
  • reservas.js

PROYECTO FINAL DE CARRERA

DESARROLLO DE UN SITIO WEB PARA UN COLEGIO
EMILIO LLUCH (NÁQUERA)
CURSO 2006/2007
Código proyecto: DISCA-24

Autores Vicente Sancho Guijarro Vicente Blasco Sánchez Director Félix Buendía García

Vicente Sancho Guijarro - Vicente Blasco Sánchez

Proyecto Final de Carrera

INDICE
1. 2. 3. Introducción.............................................................................................................. 6 Especificación de Requisitos .................................................................................... 8 Análisis ................................................................................................................... 15 3.1. Diagrama de clases. ........................................................................................ 15 3.2. Diagrama de casos de uso............................................................................... 18 3.2.1. Casos de uso del usuario......................................................................... 19 3.2.2. Casos de uso del usuario registrado........................................................ 20 3.2.3. Casos de uso del administrador .............................................................. 21 3.2.4. Casos de uso del alumno y del progenitor.............................................. 22 3.2.5. Casos de uso del profesor ....................................................................... 23 3.2.6. Casos de uso del equipo directivo .......................................................... 24 3.3. Diagrama de Secuencia .................................................................................. 25 3.3.1. Iniciar sesión........................................................................................... 25 3.3.2. Añadir anuncio al tablón de anuncios .................................................... 26 3.3.3. Consultar horario .................................................................................... 27 3.3.4. Dar de baja alumnos ............................................................................... 28 3.3.5. Mostrar notas .......................................................................................... 29 3.3.6. Poner notas ............................................................................................. 30 3.3.7. Poner faltas de asistencia........................................................................ 31 3.3.8. Reservar equipaciones ............................................................................ 32 3.3.9. Anular reserva de instalaciones .............................................................. 33 4. Diseño..................................................................................................................... 34 4.1. Nivel de presentación ..................................................................................... 34 4.2. Nivel de aplicación ......................................................................................... 39 4.3. Nivel de persistencia....................................................................................... 40 5. Implementación ...................................................................................................... 43 5.1. Tecnologías..................................................................................................... 43 5.1.1. HTML..................................................................................................... 43 5.1.2. XHTML .................................................................................................. 43 5.1.3. CSS ......................................................................................................... 45 5.1.4. JavaScript ............................................................................................... 46 5.1.5. PHP......................................................................................................... 46 5.1.6. MySQL ................................................................................................... 48 5.2. Descripción de la implementación ................................................................. 50 5.2.1. Sección pública....................................................................................... 50 5.2.2. Sección privada ...................................................................................... 52 6. Pruebas ................................................................................................................... 57 6.1 Tamaño de la ventana ..................................................................................... 57 6.2 Comprobador de links .................................................................................... 59 6.3 Estándar XHTML ........................................................................................... 59 6.4 Estándar CSS .................................................................................................. 61 6.5 Navegadores ................................................................................................... 62 7. Conclusiones........................................................................................................... 66 8. Bibliografía............................................................................................................. 67 9. Anexos .................................................................................................................... 68 A. W3C.................................................................................................................... 68 B. Anexo II (Herramientas usadas) ......................................................................... 70 C. XAMPP .............................................................................................................. 77 E.T.S. de Informática Aplicada (U.P.V.) i

Vicente Sancho Guijarro - Vicente Blasco Sánchez

Proyecto Final de Carrera

D. E.

Plantillas de los casos de uso.............................................................................. 79 Guía del usuario.................................................................................................. 87 Usuario anónimo .................................................................................................... 87 Intranet del profesor................................................................................................ 93 Intranet de alumno ................................................................................................ 103 F. Código Setup.php (Base de datos).................................................................... 110 Interfaz_db.php..................................................................................................... 137 Connexion_i.php .................................................................................................. 141 Conexión.php........................................................................................................ 142 G. Código PHP ...................................................................................................... 143 Index.php .............................................................................................................. 143 Historia.php .......................................................................................................... 145 Equipodirectivo.php ............................................................................................. 146 Reglamento.php.................................................................................................... 147 Calendarioescolar.php .......................................................................................... 148 Localizacion.php .................................................................................................. 150 Contactar.php........................................................................................................ 151 Enlaces.php........................................................................................................... 153 Prohibido.php ....................................................................................................... 154 Anonimo_inc.php ................................................................................................. 155 Analizadorlogin.php ............................................................................................. 157 Bd.php .................................................................................................................. 158 Cerrar_sesion_alumno.php ................................................................................... 160 Cerrar_sesion.php ................................................................................................. 160 calendarioscript.php.............................................................................................. 161 Alumno_inc.php ................................................................................................... 166 intranetAlumno.php.............................................................................................. 173 Alumno_horario.php ............................................................................................ 174 Alumno_alumnos.php .......................................................................................... 182 Alumno_profes.php .............................................................................................. 184 Alumno_notas.php................................................................................................ 186 Alumno_faltas.php ............................................................................................... 188 Alumno_menu.php ............................................................................................... 190 Alumno_instalaciones.php ................................................................................... 191 Alumno_reserva.php ............................................................................................ 193 Alumno_reservar_instalacion.php........................................................................ 196 Alumno_tablon.php .............................................................................................. 199 Alumno_tablon_insertar.php ................................................................................ 201 Alumno_anular_reserva.php................................................................................. 202 calendario_faltas.php............................................................................................ 204 calendario_ins.php................................................................................................ 209 profesor_inc.php ................................................................................................... 214 intranetProfe.php .................................................................................................. 228 Profesor_alumnos.php .......................................................................................... 230 Profesor_profesores.php ....................................................................................... 233 guardar_notas.php ................................................................................................ 235 Profesor_notas.php ............................................................................................... 236 Profesor_faltas.php ............................................................................................... 240 poner_faltas.php ................................................................................................... 245 Profesor_instalaciones.php ................................................................................... 247 E.T.S. de Informática Aplicada (U.P.V.) ii

Vicente Sancho Guijarro - Vicente Blasco Sánchez

Proyecto Final de Carrera

Profesor_reservar_instalacion.php ....................................................................... 249 Profesor_reserva.php ............................................................................................ 252 Profesor_anular_reserva.php ................................................................................ 255 Profesor_equipaciones.php................................................................................... 257 Profesor_reservar_equipacion.php ....................................................................... 259 Profesor_tablon.php.............................................................................................. 262 Profesor_tablon_insertar.php................................................................................ 264 H. Código CSS ...................................................................................................... 265 Calendario.css....................................................................................................... 265 general.css ............................................................................................................ 267 principal.css .......................................................................................................... 270 Professor.css ......................................................................................................... 271 I. JavaScript ......................................................................................................... 272 fecha.js.................................................................................................................. 272 profesor.js ............................................................................................................. 273 reservas.js ............................................................................................................. 278

E.T.S. de Informática Aplicada (U.P.V.)

iii

..................T.....4 Eclipse .................................................................................. ................. 24 Figura 9 Diagrama de secuencia: Iniciar sesión ........................ 57 Figura 34 Resolución 800x600.............................1 ...... 26 Figura 11 Diagrama de Secuencia: Consultar Horario........ 30 Figura 15 Diagrama de Secuencia: Poner faltas de asistencia............ 36 Figura 22 Formulario de inicio de sesión .................................................................................................... 37 Figura 25 Captura del horario de clase en la zona privada de un alumno...........P.................. ............................... ................................................ 20 Figura 5 Caso de uso del Administrador ........................................................................Arquitectura a tres capas..................................................................... ............. 18 Figura 3 Caso de uso para Usuario.........................................................................................................................................................................Cabecera del sitio web..... 60 Figura 37 XHTML .................. 22 Figura 7 Caso de uso para Profesor .........2 ....................................................................................................................................................................... 61 Figura 39 Resultado de la validación CSS ...................................... 41 Figura 29 ........................................................................... 52 Figura 32 Página principal con la zona de noticias en la parte inferior.......................................Logotipo de Dreamweaver 8.................................. 58 Figura 35 Resolución 1024x768................. 31 Figura 16 Diagrama de Secuencia: Reservar equipación .......................................................................... 73 Figura 47 B... 36 Figura 23 Zona de información de la página de inicio...... 25 Figura 10 Diagrama de secuencia: Añadir anuncio... 60 Figura 38 xhtml .. 36 Figura 24 Captura de la página donde se muestra el calendario escolar...............................página inicial.................................................................................... .......................................................................Logotipo de StarUML .......... de Informática Aplicada (U................................. 64 Figura 43 Mozilla ...................3 Pantalla inicial Eclipse 3................................S.... 74 E............................Problemas visualización .... 32 Figura 17 Diagrama de secuencia: Anular reserva de instalaciones................................................ 21 Figura 6 Caso de uso del Alumno y del Progenitor...V........................... 37 Figura 26 Captura del formulario de notas de la zona privada del profesor.........................................................página válida................ 35 Figura 20 Cabecera de la página........ 34 Figura 19 Captura de la página de inicio.................................................... 33 Figura 18 .........................................página inicial ................. 35 Figura 21 Menú del sitio web............................. 70 Figura 45 B............................................. .................Pantalla principal..... 62 Figura 41 Explorer 7 ....................... 71 Figura 46 B.......................................................................................................................................................................................................................................................... 52 Figura 31 Formulario de identificación......página con errores......................................................................................Vicente Blasco Sánchez Proyecto Final de Carrera INDICE DE FIGURAS Figura 1 Diagrama de Clases de la aplicación...................... 29 Figura 14 Diagrama de Secuencia: Poner notas ........... ............ 56 Figura 33 Resolución a 600x480 ...... 51 Figura 30 Menú de la zona anónima................................ 63 Figura 42 Opera ..................) iv ............................................................................................. ........................ ..................... 23 Figura 8 Caso de uso para Equipo Directivo. ............................página inicial ................ 27 Figura 12 Diagrama de Secuencia: Dar de baja alumnos................................................................ 65 Figura 44 B............................................................................................................................ 16 Figura 2 Actores del sistema ................................................2 ............Vicente Sancho Guijarro .. 39 Figura 28 Diagrama entidad-relación.................... 38 Figura 27 Capas del proyecto .......................................................... 19 Figura 4 Caso de uso Usuario Registrado ................................................................................. 61 Figura 40 Explorer 6 ... 58 Figura 36 XHTML ........................................................................................................................... 28 Figura 13 Diagrama de Secuencia: Mostrar notas...........................................................................

........7 Dia – Espacio de trabajo...Logotipo del servidor web Apache ...................... 95 Figura 71 Intranet Profesor – profesores ....reserva confirmada........... 76 Figura 52 C................. 89 Figura 60 Usuario anónimo ...................................................................reserva de instalaciones...............reserva de equipaciones....... 107 Figura 94 Intranet alumno ..............................notas .......................................... 109 E.......................................... 106 Figura 92 Intranet alumno – menú ............................................ 97 Figura 74 Intranet Profesor ..................... 75 Figura 50 B............. 100 Figura 80 Intranet Profesor ............................................................. 96 Figura 73 Intranet Profesor ....................................................................................................... 109 Figura 97 Intranet Profesor .........................................................................faltas asistencia...................................tablón anuncios .....................................6 Dia – Pantalla de Inicio .............................................................................Equipo directivo.......................................................Alumnos...................reserva confirmada .......................................................... 101 Figura 82 Intranet Profesor ...Insertar anuncio............falta – Calendario....... 106 Figura 91 Intranet alumno ....... 104 Figura 87 Intranet alumno – horario........................................................................................Logotipo de XAMPP ............................................................................ 78 Figura 56 Usuario anónimo – inicio........................................................................................................................................................................................ 94 Figura 69 Escogiendo asignatura.................................................. 90 Figura 62 Usuario anónimo – localización..................................................................................... 78 Figura 55 C................... 99 Figura 78 Intranet Profesor .....3 ....reserva de instalaciones.......................................................................... 98 Figura 75 Intranet profesor – falta.............................. 105 Figura 89 Intranet alumno ........T........................ 87 Figura 57 Usuario anónimo ................................... 102 Figura 84 Pantalla Inicial................................ 92 Figura 64 Usuario anónimo – enlaces ..................... 94 Figura 68 Intranet Profesor ....................V...................tablón anuncios ............... 103 Figura 85 Intranet del alumno .................... .........................................datos cargados............................................... 92 Figura 65 Pantalla Inicial.......................................... 107 Figura 93 Intranet Alumno – instalaciones .................................................................................4 ..................... 91 Figura 63 Usuario anónimo – contacto ......Vicente Blasco Sánchez Proyecto Final de Carrera Figura 48 B........................................................Insertar anuncio......................................................... 105 Figura 90 Intranet alumno – notas........................ 108 Figura 96 Intranet Profesor ..................reserva confirmada...............S.......... 74 Figura 49 B......................................................................................................................... 96 Figura 72 Intranet Profesor – Notas ... 88 Figura 58 Usuario anónimo – Historia ............................. 104 Figura 88 Intranet alumno ............................................................................................................................ 103 Figura 86 Menú navegacional ............................) v .....................................................menú navegacional.......................listado alumno ...........................5 Eclipse Auto completado de variable ............................................................... 93 Figura 66 Intranet del profesor ........................................Vicente Sancho Guijarro ...........reglamento............................................... 88 Figura 59 Usuario anónimo ...............................mensaje error.... 99 Figura 77 Intranet Profesor .................. ..........................2 ........................... 100 Figura 79 Intranet Profesor – equipaciones.................................................................................... 98 Figura 76 Intranet Profesor – instalaciones ........................................................... 75 Figura 51 B....................... 77 Figura 53 C.7 Dia – Eligiendo tipo de diagrama.................Logotipo de phpMyAdmin............ 102 Figura 83 Intranet Profesor ......................................................................................1 ...................................... 101 Figura 81 Intranet Profesor ..Panel de Control de XAMPP ..................................................listado profesores......... 94 Figura 67 Menú navegacional ..................... 89 Figura 61 Usuario anónimo – Calendario .............................................................................................................. 108 Figura 95 Intranet alumno .................................................................... de Informática Aplicada (U.............................................. 77 Figura 54 C................................................... 95 Figura 70 Intranet Profesor .....P................ .............

Será un proyecto muy bien acogido. Para ello. y puede hacer reservas de los equipamientos del centro entre otras cosas. Valencia). El objetivo de este sitio web es dar a conocer el centro a través de Internet. El centro sobre el que se basa el sitio es el Colegio Público Emilio Lluch. así como información de contacto para que los usuarios que no pertenezcan al colegio puedan contactar con él para informarse de una forma más personalizada o con dudas más concretas. Ésta se diferencia según el grupo al que pertenezca el usuario. en el cual la mayoría de colegios e institutos ya tienen su sitio web. La parte privada del sitio es una intranet para los usuarios que se autentiquen.madrid. y a la vez favorecer la comunicación tanto con los profesores de sus hijos como con los padres de los compañeros de clase de sus hijos. horarios. antes de realizar nuestro proyecto nos fijamos en los sitios web de otros centros como: Colegio Público Llanares http://web. Introducción Este proyecto trata sobre el desarrollo de un sitio web de un colegio público. etc. lo consideramos un proyecto motivador para que los alumnos del colegio puedan tener una buena educación con la supervisión más activa de los padres. ya que será muy usado por los profesores y los padres de los alumnos. También los profesores podrán agilizar sus trámites como son las faltas de asistencia o poner las notas. Muchos colegios ya tienen su propia web. Por último. situado en Náquera (Camp de Túria.princast.es/cp/llaranes/ Colegio Público San Blas http://www.Vicente Sancho Guijarro Proyecto Final de Carrera 1. así como hacer más accesible información personalizada a los componentes del centro.org/portal/web/cp_sanblas_ajalvir Colegio Público Migjorn http://www.net/ . habiendo una comunicación más constante con los padres. pudiendo realizar acciones como dar de alta usuarios o visualizar estadísticas del sitio web.educastur.educa. el administrador también tiene su propia intranet desde la cual puede administrar el sitio. La motivación de este tipo de proyecto es el seguimiento más activo por parte de los padres sobre la educación de sus hijos. como son los profesores. En ella puede encontrar información personalizada sobre las asignaturas que tiene. Por ello.cpmigjorn. Entre la información de la cual consta destaca la información general sobre el centro. los alumnos y los padres de los mismos. en un medio muy extendido como es Internet. El sitio web consta de una parte pública accesible a todos los usuarios que accedan al portal sin registrarse. ya sea profesor o padre/alumno.

V. podemos decir que se ha dividido en los apartados que hemos tratado en la realización del proyecto. En nuestro caso el visto bueno nos lo dio el director del proyecto. Tras realizar el diseño nos adentramos en la fase de implementación del proyecto a partir de los diagramas obtenidos en la etapa anterior. Aquí explicamos las tecnologías utilizadas y cómo son usadas. ya que ellos son los que dictan los estándares que hemos usado para desarrollar el proyecto como son HTML y CSS por ejemplo. Para ello. En el primero de ellos se habla del consorcio llamado W3C.S. de Informática Aplicada (U. En ella se realizó un análisis del problema y el modelado conceptual de nuestra solución mediante diagramas. Por último.Vicente Sancho Guijarro Proyecto Final de Carrera 1. Con esto ya tenemos una visión global de cómo va a estar estructurado nuestro proyecto por lo que ya nos ponemos a realizar el diseño de cómo vamos a implementar el sitio web. E.P. exponemos el código fuente de las páginas desarrolladas. se han incluido unos anexos que creemos pueden ser interesantes sobre el desarrollo del proyecto. También dedicamos un anexo para hablar del paquete XAMPP que nos ha sido de gran utilidad para probar el correcto funcionamiento del proyecto en local. En otro anexo presentamos brevemente las herramientas usadas para la elaboración del diseño y del desarrollo del proyecto.1 Estructura del documento Sobre la estructura de la memoria. antes de subirlo al servidor prestado por el director. La siguiente etapa en la realización del proyecto fue la de análisis.) 7 . el primer paso fue redactar la especificación de requisitos en la cual redactamos una primera visión del proyecto donde especificamos las funcionalidades y los requisitos que debía tener. Por último. Tras todo esto. por lo que ya podemos redactar las conclusiones sacadas en la realización del mismo.T. La finalidad de este documento es plasmar el acuerdo entre el desarrollador y el cliente acerca de las funcionalidades del proyecto. Los diagramas realizados fueron el diagrama de clases y los diagramas de los casos de uso. damos por finalizado el proyecto.

1) Ámbito La aplicación que vamos a desarrollar con el nombre WebCole. • Acrónimos HTML . Usuario Registrado . [2] Ejemplos de otros proyectos. Será la encargada de proporcionar información general sobre el colegio Emilio Lluch de Náquera (Valencia) e información más especializada a los usuarios registrados.Usuario que se encarga del mantenimiento del portal.S. IEEE . acrónimos y abreviaturas • Definiciones Interfaz .P. De esta forma. así como una especificación de los requisitos que debe cumplir.V. Especificación de Requisitos 2.Aplicación software que permite al usuario recuperar y visualizar documentos de hipertexto.Usuario que se ha autentificado en el portal mediante su nombre de usuario y contraseña que previamente se le ha sido asignada. Portal Web . Así los padres podrán tener un mayor control de lo que hacen sus hijos pudiendo consultar por ejemplo sus faltas de asistencia.World Wide Web. blogs etc Usuario Administrador .) 8 . PHP . W3C . los profesores también pueden agilizar la forma de comunicarles estos datos a los padres de sus alumnos. WWW .HyperText Markup Language. típicamente comunes a un dominio de Internet o subdominio en la World Wide Web en Internet.1.1 Propósito El propósito de la especificación de requisitos expuesta a continuación es mostrar al usuario cual va a ser la funcionalidad del proyecto. etc.PHP Hypertext Pre-processor. 4) Visión global E. Guía del IEEE para la especificación de requerimientos software.conjunto de páginas web. 3) Referencias [1] ANSI/IEEE Std.Página de inicio que permite el acceso a las distintas secciones de un sitio web. Sitio Web . e-mail. De esta forma.Institute of Electrical and Electronics Engineers.1984.1 Introducción 2. el usuario puede obtener información desde su propia casa sobre el colegio proporcionándole una mayor comodidad. Puede tener servicios como: Chat.Vicente Sancho Guijarro Proyecto Final de Carrera 2. 830 . Navegador .Parte del programa informático que permite el flujo de información entre varias aplicaciones o entre el propio programa y el usuario.T. sus notas. 2) Definiciones. foros. de Informática Aplicada (U.World Wide Web Consortium. En esta ERS se realizará una descripción general del mismo.

etc. Listado de alumnos Se mostrará un listado de los alumnos que van a la misma clase que el usuario que esté conectado a la aplicación en esos momentos. También se expondrá una especificación detallada de los requisitos detectados..1 Perspectiva del producto La aplicación pretende proporcionar información general sobre el centro.) 9 . remodelaciones. o Padres y alumnos Horario En este apartado se mostrará el horario de las clases del alumno. Otra parte de la aplicación suministrará información más específica para cada tipo de usuario que acceda a esta sección del portal. características del usuario.S.2.V..P. Faltas de asistencia E. utilizando para ello un navegador Web.2.) Reglamento de régimen interno Se expondrá un resumen del reglamento básico del centro Calendario escolar En esta parte de la aplicación se podrá visualizar el calendario escolar con los festivos del centro y otras actividades que consideren importantes.Vicente Sancho Guijarro Proyecto Final de Carrera Posteriormente en este documento se realizará la descripción general del sistema que va desarrollarse con sus funciones.) Equipo de dirección Se dispondrá el organigrama directivo con información de contacto de cada uno de los componentes del equipo directivo (e-mail. Nuestra aplicación podrá ser accedida desde cualquier sistema operativo. Listado de profesores Los usuarios podrán visualizar un listado de los profesores que imparten clase al alumno Notas Se mostrarán las calificaciones de las asignaturas matriculadas por el alumno conectado. de Informática Aplicada (U. Localización Se especificará la dirección y un pequeño mapa de la localización del centro Contactar En esta sección se proporcionará un pequeño formulario para poder mandar correos electrónicos al centro con consultas y/o sugerencias. 2.2 Funciones del producto • Usuarios no registrados Información general En esta sección se presentará el centro Historia Se escribirá un pequeño resumen de la historia del colegio (año de fundación. restricciones generales..T.2 Descripción general 2. supuestos y dependencias. 1. Enlaces Se listarán las direcciones de otros sitios Web que el centro considere de interés.

Los profesores también tendrán acceso a su zona restringida desde la cual podrán consultar información propia y sobre los grupos de alumnos a los que imparte clases. También podrá hacer reservas de instalaciones y equipamientos del colegio para su uso en las distintas clases. las notas y las faltas de asistencia.V.P. etc. de Informática Aplicada (U.3 Características del usuario Los tipos de usuarios registrados se pueden dividir en los padres y alumnos. gimnasio.T. o Profesores Listado de alumnos Los profesores dispondrán de un listado de los alumnos ordenados por grupos Listado de profesores Se listarán los profesores que imparten clases en el centro Poner notas En esta sección el profesor podrá calificar a los alumnos de las asignaturas que imparte Poner faltas de asistencia En este apartado el profesor tutor de cada alumno podrá poner las faltas de asistencia. Por otra parte estarán los usuarios no registrados.2. sin poder acceder a la información personalizada. que sólo tendrán acceso a la información general del centro. Los padres y alumnos que podrán consultar información acerca del alumno a través de la zona privada y hacer reservas de instalaciones del centro en horario extraescolar. como la composición. gimnasio. Reserva de instalaciones Aquí se podrán realizar reservas de las instalaciones del centro (campo de fútbol sala. aulas.S. etc.) Tablón de anuncios Desde aquí se podrá acceder al foro donde el usuario redactará anuncios para pedir voluntarios para actividades por ejemplo o Administrador Dar de alta usuarios Dar de baja usuarios Modificar usuarios Dar de alta noticias Ver estadísticas de la Web Mantenimiento del foro 2. etc. proyector. los profesores y el administrador.) Reserva de equipamientos Se podrán efectuar reservas de los equipamientos disponibles en el centro (radio-cd.) 10 . E.) Tablón de anuncios Desde aquí se podrá acceder al foro donde los usuarios pueden poner anuncios para buscar gente para practicar algún deporte.Vicente Sancho Guijarro Proyecto Final de Carrera Se podrá llevar a cabo un control sobre las faltas de asistencia del alumno conectado Menú semanal Se podrá consultar el menú del comedor Reserva de instalaciones En esta sección se podrán realizar reservas de las instalaciones del centro (campo de fútbol sala.

2.4 Reglamento de régimen interno Se podrá acceder al reglamento de régimen interno redactado por el centro.1.4 Restricciones generales Se requiere un ordenador con conexión a Internet.5 Supuestos y dependencias Se necesita un navegador de Internet.3.2. 2.5 Calendario escolar Se mostrará el calendario escolar donde se podrán consultar los días festivos y los no lectivos del centro. de Informática Aplicada (U.3. acontecimientos que ellos consideren más importantes.3.2.2.T.1 Interfaces de usuario Habrá dos partes diferenciadas: el portal Web y la intranet.3.1. 2.3 Equipo de dirección Se mostrará el organigrama directivo del centro en el que aparecerá la organización interna del centro con todos sus componentes como el director. De cada uno se mostrará información como su teléfono interno. Los usuarios deberán de tener conocimientos mínimos de informática y de navegación por la Web para poder acceder al sitio Web. mientras que para acceder a la intranet habrá que identificarse como padre/alumno. preferiblemente que respete los estándares de W3C. así como las remodelaciones y traslados que haya podido sufrir el centro en el transcurso de su historia.3 Requerimientos específicos 2. el jefe de estudios. Se dispondrá de varios formatos. En el mismo calendario se podrá ver la fecha de las actividades E. uno de ellos para poder visualizarlo desde el navegador mismo y otro para su posible descarga en el ordenador del usuario.Vicente Sancho Guijarro Proyecto Final de Carrera El administrador será el que gestiones las altas.2 Requisitos funcionales 2.3. 2. las modificaciones y las bajas de los usuarios registrados. el teléfono y otros datos de interés. 2. 2. anteriores equipos directivos. 2. su e-mail.3.1 Información general En está sección se hará una presentación del centro acompañada de una foto.2.P.1 Usuarios no registrados 2.2. Entre la información que podemos encontrar estará la dirección.2.3.1.2 Historia Se hará un breve resumen de la historia del centro indicando el año de fundación.S.1.2.1.V. su despacho y sus horarios de atención.) 11 . 2. etc. El portal Web será visible a todos los usuarios.2.3. profesor o administrador.

1 Horario Aquí se mostrará el horario de clases correspondiente al grupo en el cual está matriculado el alumno.2. 2.2. La dirección completa también se podrá consultar en este apartado.P. También aparecerá la nota media del grupo para poder tener una idea de la marcha del grupo en general. 2. la Conselleria de Educación. así como los periodos de evaluación o de los plazos de matriculación y presentación de becas.2.2.) 12 . de Informática Aplicada (U.4 Notas Aquí se podrán consultar las notas obtenidas por el alumno en las asignaturas en las que esté matriculado.5 Faltas de asistencia En este apartado habrá constancia de las faltas de asistencia a clases que ha tenido el alumno a lo largo del curso. así como líneas de transporte público.2.3. 2.7 Contactar Se dispondrá de un pequeño formulario a través del cual se pueden hacer llegar las dudas o consultas por e-mail al centro. También se podrán consultar las rutas de autobuses existentes para recoger a los alumnos. 2.3.2 Listado de alumnos Se mostrará una lista con los alumnos del mismo grupo al que pertenece.S. su dirección de correo electrónico y su despacho. como pueden ser las webs del Ministerio de Educación.2.2. 2.2 Usuarios registrados como alumno/padre Las funcionalidades descritas a continuación sólo son accesibles para los usuarios que se identifiquen como alumno/padre que hayan sido dados de alta por el administrador previamente.3. webs de recursos educativos y los que el colegio considere oportunos.V. 2.3.2. Además se colocarán los diferentes accesos por carretera al colegio.3 Listado de profesores Se mostrará una lista con los profesores que imparten clase al alumno.T.3.2. Los datos mostrados serán nombre y apellidos del alumno.3.Vicente Sancho Guijarro Proyecto Final de Carrera realizadas en el centro. 2.1.2.2.8 Enlaces Aquí aparecerán enlaces a otras webs de interés para el usuario.2.3. Estos enlaces estarán ordenados por área de interés.2. 2. Los datos mostrados serán nombre y apellidos del alumno. 2. 2.2.3.2. su dirección de correo electrónico. También se podrá diferenciar entre las justificadas y las no justificadas.3.2.1.3.1.6 Menú semanal E. También se mostrarán los teléfonos del centro para los usuarios que prefieran ponerse en contacto con el centro por teléfono.6 Localización Aquí se pondrá la dirección del centro acompañada de un mapa para facilitar la localización.

Los datos mostrados serán nombre y apellidos del profesor. como pueden ser la pista de fútbol. 2. su dirección de correo electrónico incluido el teléfono de contacto de los padres. el aula de usos múltiples.2.3. etc.3.2. En esta sección también se podrán modificar notas que hayan sido previamente introducidas.3.2. También se podrá anular reservas.3. También podrán eliminar mensajes creados por ellos mismos. Además se dispondrá de las normas a la hora de usar las instalaciones y de hacer la reserva. como pueden ser la pista de fútbol.V.3.2 Listado de profesores Se mostrará un listado del resto de profesores que imparten clase en el centro. Además aparecerán los precios del comedor diferenciados por días.6 Reserva de equipamientos E.2. Por ejemplo. 2.3.3. de Informática Aplicada (U.P.1 Listado de alumnos Se mostrará una lista de los alumnos a los que imparte clase ordenados por el grupo al que pertenecen. 2.3. 2. el aula de usos múltiples. Los datos mostrados serán nombre y apellidos del alumno.3. 2.2.3. Los alumnos aparecerán ordenados por grupos.2. el gimnasio. semanas o meses según se quiera consultar.) 13 .3 Usuarios registrados como profesores A continuación describimos las funcionalidades accesibles desde la intranet de los usuarios identificados como profesores que hayan sido dados de alta por el administrador previamente.T. 2.3. etc. su dirección de correo electrónico y su despacho.3 Poner notas Desde aquí se podrá introducir las notas de cada alumno que podrán ser visualizadas posteriormente por los alumnos desde su intranet.3.2. Además se dispondrá de las normas a la hora de usar las instalaciones y de hacer la reserva. Las reservas sólo pueden hacerse en horario extraescolar.2.S.5 Reserva de instalaciones Desde aquí se podrá reservar las instalaciones del centro. También aparecerá el nombre del encargado del comedor para poder consultar con él cualquier tipo de duda o queja. 2. También se podrá anular reservas. el gimnasio.Vicente Sancho Guijarro Proyecto Final de Carrera En esta sección aparecerá el menú del comedor escolar.2.2. Así como la normativa vigente del comedor.3.2.7 Reserva de instalaciones Desde aquí se podrán reservar las instalaciones del centro.3. 2.3.4 Poner faltas de asistencia Desde aquí se podrá introducir las faltas de asistencia de cada alumno. También se podrá justificar las faltas que aún no lo están.8 Tablón de anuncios Aquí se publicarán anuncios en general. 2. un alumno puede publicar un anuncio para buscar gente para practicar algún deporte. En caso de error también estará la posibilidad de poder modificar dichas faltas.

2.3 Modificar usuarios Podrá modificar atributos a los usuarios. de Informática Aplicada (U. También podrán eliminar mensajes creados por ellos mismos.) 14 . 2.4 Dar de alta noticias Se podrá introducir noticias nuevas que serán visibles en la página principal del portal.5 Ver estadísticas de la Web Aquí aparecerán estadísticas de la Web. Los usuarios a los que podrá dar de alta serán aquellos profesores que estén impartiendo clases en el centro o a aquellos alumnos/padres que estén matriculados en el centro. Esto es útil para cambios de domicilio.2. las siguientes funcionalidades sólo serán accesibles al administrador del portal. E.3. o por errores a la hora de dar de alta a algún usuario.1 Dar de alta usuarios El administrador podrá dar de alta a usuarios de cualquier tipo e introducir su correspondiente información. etc. ya sea porque se han dado de baja en el centro en el caso de los alumnos o porque ya no trabajen allí en el caso de los profesores.2.2.3.3.P.3. También se podrán anular reservas que haya efectuado antes el profesor.4 Administrador del portal Por último. aparecerá quien lo ha reservado.3.4.2.3.3. proyectores de diapositivas.2. Otra opción desde esta sección es poder sancionar a usuarios restringiéndole el acceso al tablón de anuncios si éste pone anuncios obscenos o de otra índole que no se considere apropiada para los alumnos o quitar el permiso de reservar instalaciones o equipaciones si este hace una reserva pero no la lleva a cabo.4. como el número de accesos. 2.4.Vicente Sancho Guijarro Proyecto Final de Carrera Desde aquí se podrá reservar los equipamientos del centro.7 Tablón de anuncios Se podrá acceder y publicar anuncios al mismo tablón de los alumnos/padres.2. En el caso de ya estar reservado en la franja horaria requerida. teléfono.V. 2.3. 2.S.6 Mantenimiento del foro Aquí el administrador podrá eliminar los anuncios del foro que el considere inapropiados. etc. 2.2.2 Dar de baja a usuarios El administrador podrá eliminar usuarios para que ya no puedan acceder a su correspondiente información personalizada. con las mismas funcionalidades que ellos. Al comienzo de cada curso el administrador podrá eliminar todos los anuncios del curso pasado del foro.3.4.T.2.4. Además se dispondrá de las normas a la hora de usar las instalaciones y de hacer la reserva. 2.4. tales como el radio-CD. 2.

en la medida de los permisos que les concedamos. el “login” que deberá ser único dentro del sistema y la “contrasenya” ya que serán necesarios a la hora de poder acceder a la intranet del colegio. en nuestro caso nos centraremos en tres tipos de diagrama: • • • Diagrama de clases Diagrama de casos de usos Diagrama de secuencia Cada uno de estos diagramas pertenece una clase de diagramas (de estructura.P. requisitos y demás características que hemos detectado en el sistema. Diagrama de clases. Profesor. de Informática Aplicada (U. También nos permitirá conocer a grandes rasgos las clases u objetos de nuestro sistema. Instalación: Este objeto representa aquellas infraestructuras del colegio que pueden ser reservadas. Equipo directivo y Administrador. Usuario Registrado: Esta clase representa a aquellos usuarios que pueden acceder a la intranet de la aplicación y que podrán interactuar con el sistema. Progenitor. permitiéndonos plasmar en un lenguaje estándar aquellas funcionalidades. por ejemplo. que pueda ser reservada por un profesor para realizar una clase especial en ella. Los resultados producidos por UML son el equivalente a los planos con los que trabajan los arquitectos. en principio por todos los usuarios registrados.) 15 . A continuación describiremos brevemente dichas clases para conocer mejor la aplicación. De esta clase se derivan las siguientes subclases: Alumno. Estos modelos nos permitirán comprender mejor la aplicación.V. de comportamiento y de interacción respectivamente). siendo los más importantes. E.Vicente Sancho Guijarro Proyecto Final de Carrera 3. 3.T. Este modelo dispone de multitud de diagramas que nos ayudarán a comprender la complejidad del futuro sistema. especialmente en grandes aplicaciones.S. desde el punto del sistema. Aunque UML define una gran cantidad de diagramas para representar los distintos aspectos del desarrollo de la aplicación.1. así como la ampliación del sistema si fuera necesario. lo que nos permitirá cubrir los distintos aspectos del desarrollo. Análisis Para realizar el análisis de esta aplicación Web se ha optado por seguir las recomendaciones definidas por UML (Unified Modeling Language o Lenguaje Unificado de Modelado en castellano). Un posible ejemplo de infraestructura reservable podría ser el caso de un aula informática. Tiene una serie de atributos que permite definirlos. El diagrama de clases nos permite visualizar las relaciones que involucran el sistema. lo que nos facilitará la tarea de implementación.

E.) 16 . de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 1 Diagrama de Clases de la aplicación Anuncio: Esta clase representa aquellos mensajes que pueden publicar los usuarios registrados en el sitio Web.P.T. Estos mensajes serán públicos para todos los usuarios registrados de la aplicación.S.V.

exámenes. E. Grupo: Este objeto contendrá la información necesaria para identificar a los distintos grupos de alumnos que conforman el colegio. como eventos de un mayor alcance. Administrador: Esta clase representa a aquellos usuarios que administrarán el sitio Web del colegio y que tendrá los permisos suficientes para realizar cualquier acción. autonómicos y nacionales. Alumno: Una de las clases derivadas de Usuario Registrado es alumno. por ejemplo excursiones. Esta clase se deriva de Usuario Registrado. Equipo directivo: De esta clase se derivarán otras tres (director. Esta clase solamente podrá ser modificada por los usuarios que pertenezcan a la clase Equipo directivo o a la clase de Administradores. Esta clase representa a aquellos alumnos matriculados en el centro que pueden acceder a la intranet de la aplicación.) 17 . Profesor: Esta clase. Este objeto podrá contener tanto eventos que se producen en el centro. etc. derivada también de la súper clase Usuario Registrado. Falta de asistencia: Este objeto permitirá identificar las ausencias de los alumnos en horario escolar. por ejemplo. Equipación: Esta clase al igual que las instalaciones. jefe estudios. fiesta locales. ya sean sin justificar o justificándolas más adelante.Vicente Sancho Guijarro Proyecto Final de Carrera Progenitor: Esta entidad identifica a los padres. madres o tutores de los alumnos del centro que pueden acceder a la sección privada del sitio.S. De esta forma se podrá llevar un control de las asistencias de los alumnos a clase y que podrá ser consultado por sus padres o tutores.T. Un ejemplo de equipación que puede ser reservado sería un radio-cd o televisor. separando los grupos tanto por el curso como por una letra. representa a aquellos profesores del colegio que acceden a la sección privada de la aplicación. aunque en este caso únicamente podrá realizar la operación profesores. Asignatura: Esta clase representa a las materias que se imparten en el centro y a las que asisten los alumnos y que son impartidas por los profesores del centro.V. etc. de Informática Aplicada (U. Seguirá la distribución normal de los colegios. Evento: Esta clase identificará aquellas noticias que el colegio considere de interés para el conjunto del colegio. Esta clase solamente podrá ser modificada por los profesores al poner las faltas. secretario) Dichas clases representarán a dichos cargos en la aplicación. permite realizar reservadas de objetos del colegio.P.

No se han colocado todas las plantillas.T.) 18 .P. que proporciona información adicional sobre dichos casos de uso.V. de Informática Aplicada (U. Todos ellos derivan de Usuario. así como las relaciones que aparecerán entre los distintos casos de uso.2. ya que muchas prácticamente son idénticas. Diagrama de casos de uso Los diagramas de casos de uso nos permitirán conocer los distintos tipos de actores que podrán acceder y/o utilizar nuestra aplicación. Figura 2 Actores del sistema En la Figura 2 Actores del sistema se puede ver los distintos tipos de actores (entidades externas al sistema que interactúan con él) que podrán acceder a la aplicación.Vicente Sancho Guijarro Proyecto Final de Carrera 3. además se incluye su plantilla. ya sea porque todavía no hayan iniciado la sesión o porque sean usuarios que estén de paso o buscando información. También nos servirá para especificar las acciones que tendrán dichos usuarios dentro de nuestra aplicación. Para algunos casos de uso.S. E. Este actor representa para la aplicación Web a todos aquellos usuarios que no se han identificado ante el sistema.

P. centrándose en la obtención de información general del centro.1. las acciones que podrá realizar serán en consecuencia muy limitadas.V.Vicente Sancho Guijarro Proyecto Final de Carrera 3. de Informática Aplicada (U.2.T. Casos de uso del usuario Figura 3 Caso de uso para Usuario En la Figura 3 Caso de uso para Usuario se puede ver los casos de usos a los que podrá acceder el actor Usuario.) 19 . E. Dado que este tipo de actor no se ha identificado ante el sistema.S.

E. De esta forma podemos asignar a este actor todos los casos de usos que serán comunes a todos los actores que utilizarán esta aplicación (con excepción del actor usuario).T.2.V. Casos de uso del usuario registrado Figura 4 Caso de uso Usuario Registrado En la Figura 4 Caso de uso Usuario Registrado pueden verse todos los casos de usos a los que tendrá acceso el usuario registrado.P.Vicente Sancho Guijarro Proyecto Final de Carrera 3. ya que en realidad. este usuario será el que más casos de uso disponga.S. Como puede verse. este actor nos permite crear un usuario genérico del que dependerán del resto de usuarios que pueden acceder a la intranet.) 20 .2. de Informática Aplicada (U.

además de las funcionalidades que posee todo usuario registrado. Este actor será el que más funcionalidades posea.) 21 . puede verse el caso de uso del actor Administrador. de Informática Aplicada (U.T. ya que.P.Vicente Sancho Guijarro Proyecto Final de Carrera 3. Casos de uso del administrador Figura 5 Caso de uso del Administrador En la imagen anterior.S.V.2.3. E. como administrador tendrá acceso total al sistema.

V.P. o tutores.2.S.) 22 . Casos de uso del alumno y del progenitor Figura 6 Caso de uso del Alumno y del Progenitor Este caso de uso.T. madres. E.4. muestra las funcionalidades que tendrán a su disposición tanto los alumnos como sus padres. Los padres podrán acceder a la misma información que sus hijos para así poder realizar un control sobre ciertos aspectos como el control de asistencia a clase. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 3.

5.S. de Informática Aplicada (U. ya que el profesor dispondrá de varios casos de uso que le permitirán modificar la información de los alumnos de sus respectivas asignaturas.2. E.) 23 .P.T.Vicente Sancho Guijarro Proyecto Final de Carrera 3.V. Casos de uso del profesor Figura 7 Caso de uso para Profesor En la Figura 7 Caso de uso para Profesor pueden verse las funcionalidades de las que dispondrá el profesor. En este caso será el que más pueda modificar el sistema (aparte del administrador).

Casos de uso del equipo directivo Figura 8 Caso de uso para Equipo Directivo El equipo directivo será el actor que menos casos de usos propios dispone (hay que recordar que todos los actores a excepción de usuario.V. de Informática Aplicada (U.T.P.2.6.Vicente Sancho Guijarro Proyecto Final de Carrera 3.) 24 .S. heredan los casos de uso del usuario registrado) E.

de Informática Aplicada (U. ya que éste será el escenario que les permitirá acceder a la intranet del colegio.) 25 .S.V. E. No se colocarán todos los diagramas de secuencia.1.Vicente Sancho Guijarro Proyecto Final de Carrera 3.3.3. Diagrama de Secuencia Este tipo de diagrama nos ayudará a identificar las comunicaciones que se producen dentro del sistema y las operaciones de clase. ya que muchos son prácticamente idénticos unos de otros. en el caso de que introduzcan correctamente sus datos (login y password). Iniciar sesión Figura 9 Diagrama de secuencia: Iniciar sesión En la Figura 9 Diagrama de secuencia: Iniciar sesión se puede ver el diagrama de secuencia que será más utilizado por los usuarios registrados. 3.P. También nos mostrará la secuencia temporal del flujo de mensajes.T.

) 26 . E.2.P. Añadir anuncio al tablón de anuncios Figura 10 Diagrama de secuencia: Añadir anuncio En este escenario. El Usuario Registrado deberá proporcionar el título del anuncio y el contenido del mismo. de Informática Aplicada (U.3. el Usuario Registrado podrá crear nuevos anuncios que aparecerán en el tablón de anuncios del colegio.V.T.S.Vicente Sancho Guijarro Proyecto Final de Carrera 3.

Una vez que el sistema tenga los horarios del grupo del alumno.P.3.S. Con los datos del grupo solicitará el horario de cada asignatura que tenga ese grupo en cuestión. de Informática Aplicada (U.V. se los devolverá al alumno E. Consultar horario Figura 11 Diagrama de Secuencia: Consultar Horario Este escenario permitirá tanto a los alumnos como a sus tutores consultar el horario de las clases del alumno.3. El sistema obtendrá los datos del grupo del alumno que solicita el horario.) 27 .Vicente Sancho Guijarro Proyecto Final de Carrera 3.T.

S. de Informática Aplicada (U.T. Dar de baja alumnos Figura 12 Diagrama de Secuencia: Dar de baja alumnos En este escenario el administrador podrá eliminar o dar de baja a alumnos de la aplicación.Vicente Sancho Guijarro Proyecto Final de Carrera 3.4. En esta situación el administrador solicitará los datos del alumno a eliminar. si el administrador confirma la eliminación del alumno.3.P. El sistema le devolverá todos los datos del alumno.V. E.) 28 . el sistema lo intentará suprimir del sistema devolviendo el resultado de la eliminación al administrador.

5. El escenario comienza cuando el alumno desea ver sus notas. se las devolverá al alumno. Mostrar notas Figura 13 Diagrama de Secuencia: Mostrar notas En la Figura 13 Diagrama de Secuencia: Mostrar notas podemos ver el diagrama de secuencia necesario para que los alumnos puedan ver las notas de las asignaturas en las que están matriculados. Para cada asignatura que se imparta en ese grupo se obtendrá sus notas correspondientes. el sistema obtendrá los datos del alumno y con éstos los del grupo al que pertenece el alumno.V.3.) 29 .T.S. E. Una vez que el sistema haya obtenido todas las notas.Vicente Sancho Guijarro Proyecto Final de Carrera 3.P. de Informática Aplicada (U.

En este momento el profesor podrá calificar a cada uno de los alumnos.S.) 30 .Vicente Sancho Guijarro Proyecto Final de Carrera 3. de Informática Aplicada (U. E. Una vez que haya acabado de puntuar a los alumnos de una asignatura puede pasar a la siguiente asignatura que imparta.6.P. El sistema le devolverá el listado de alumnos para esa asignatura.V. Poner notas Figura 14 Diagrama de Secuencia: Poner notas Este diagrama representa los pasos que deberá seguir el profesor a fin de poder calificar a sus alumnos. El profesor pedirá al sistema que le proporcione los alumnos que tiene en cada asignatura que imparte ese profesor.3.T.

S. El profesor solicitará al sistema que le proporcione el listado de alumnos que asisten a la asignatura que el elija (de las que el profesor imparte).V.) 31 . de Informática Aplicada (U. Una vez que el sistema le dé el listado de alumnos.Vicente Sancho Guijarro Proyecto Final de Carrera 3. Poner faltas de asistencia Figura 15 Diagrama de Secuencia: Poner faltas de asistencia Este diagrama de secuencia es muy parecido al que podía verse en la Figura 14 Diagrama de Secuencia: Poner notas.T. para ello deberá indicar la fecha de la falta (por defecto la fecha del sistema) y si ha sido justificada. E. el profesor podrá ir indicando al sistema los alumnos que han faltado a la asignatura.3.7.P. El profesor podrá repetir este proceso por cada asignatura que imparta.

P. el profesor pedirá al sistema que le muestre la disponibilidad de la equipación que está interesado en reservar. etc. televisores. En este momento el profesor deberá escoger una de las fechas disponibles y escribir el motivo de su petición. A continuación el profesor confirmará los datos de la reserva. Reservar equipaciones Figura 16 Diagrama de Secuencia: Reservar equipación En este escenario el profesor será capaz de realizar la reserva de equipaciones del colegio como puedan ser radio-cd.3.8. a lo que el sistema le responderá si fue posible realizar la reserva de la equipación requerida.) 32 . de Informática Aplicada (U. E.Vicente Sancho Guijarro Proyecto Final de Carrera 3.V.T. El sistema le devolverá un listado con los días en que se puede reservar la equipación. En el primer paso.S.

puede verse los pasos que necesitará seguir un usuario registrado para poder eliminar una reserva que haya efectuado él mismo. Como último paso el sistema le proporcionará el listado de reserva actualizado.3. E.P.Vicente Sancho Guijarro Proyecto Final de Carrera 3. En el diagrama mostrado en la Figura 17 Diagrama de secuencia: Anular reserva. éste podrá escoger la reserva de la instalación para anular y el sistema quitará la reserva. El primer paso que seguirá el usuario registrado será pedir al sistema que le proporciones todas las reservas que tiene.9. Anular reserva de instalaciones Figura 17 Diagrama de secuencia: Anular reserva de instalaciones.V.S.T. de Informática Aplicada (U.) 33 . Cuando el sistema le devuelva el listado con las reservas del usuario.

4. Nivel de presentación La primera capa es la de presentación. A continuación presentamos algunas capturas de pantalla representativas del proyecto.V.1.Arquitectura a tres capas. Esta capa es la encargada de interaccionar con el usuario a través de una representación visual. E.P.T. En esta capa también se ofrecen servicios al usuario.Vicente Sancho Guijarro Proyecto Final de Carrera 4. Diseño Para el diseño del sitio Web se ha escogido una arquitectura de tres capas. PRESENTACIÓN APLICACIÓN PERSISTENCIA Figura 18 . Estas capas se corresponden con la de presentación. Se ha elegido esta arquitectura debido al desacoplamiento entre las distintas capas. de Informática Aplicada (U. De esta forma se pueden cambiar fácilmente el comportamiento de las clases en el nivel de aplicación sin que ello influya en las otras capas. aplicación y persistencia.S.) 34 .

T. • En la parte izquierda de la página encontramos la zona de navegación representada por un menú desde el cual podemos acceder a las diferentes secciones.P. con el logotipo del colegio. en la parte central el nombre del colegio (C.S. la cual se va actualizando cada segundo.V. que consta de tres elementos. Emilio Lluch) y debajo de ambos una barra amarilla donde aparece la fecha y la hora actual. A la parte izquierda encontramos la zona institucional.) 35 . de Informática Aplicada (U.P. La podemos dividir en varias partes.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 19 Captura de la página de inicio. E. Esta es la pantalla principal del sitio web. • La cabecera. Figura 20 Cabecera de la página.

Para ello se ha utilizado un script que forma un calendario. E. En la parte superior se ubica la información principal que ofrece la página.S. mostrando los sábados y domingos en rojo. Figura 23 Zona de información de la página de inicio. de Informática Aplicada (U. Justo debajo del menú se encuentra una pequeña zona de entrada de datos para que los usuarios registrados en la base de datos puedan identificarse introduciendo su login y su contraseña y acceder a su zona privada. mientras que en la parte inferior aparecen las cinco últimas noticias introducidas en la base de datos. en la zona central de la página se haya la zona de información. La siguiente página se corresponde con la que muestra el calendario escolar. así como los festivos marcados como tales en la base de datos. que a su vez la podemos dividir en dos partes. A continuación presentamos otros ejemplos de las páginas web implementadas en nuestro proyecto. Si pinchamos en un festivo o un día en el cual hay un evento programado. nos dice de qué se trata en la parte inferior de la página.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 21 Menú del sitio web.P.) 36 . También se marcan de otro color los eventos introducidos por el centro en la base de datos. • Figura 22 Formulario de inicio de sesión Por último.V.T.

S. La siguiente captura de pantalla se corresponde con un ejemplo de página de la zona privada del alumno. ofertando ahora las opciones de la zona privada del alumno. de Informática Aplicada (U.V. En esta pantalla por ejemplo. Para ello el alumno debe haberse identificado antes. Como podemos comprobar. ahora aparece “Bienvenido” seguido de su nombre de pila. se muestra el horario de un alumno. Figura 25 Captura del horario de clase en la zona privada de un alumno. E.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 24 Captura de la página donde se muestra el calendario escolar. como por ejemplo la fecha de inicio del próximo curso que es lo que hemos puesto en la captura de pantalla adjunta. leyendo el horario de cada asignatura de la base de datos. sólo se muestran los próximos eventos referentes al desarrollo del curso ya que son los que más interés tienen para el alumno.P. volviendo tras ello a la página inicial del sitio web.T.) 37 . el menú ha cambiado. También observamos que en la zona donde se ha identificado el usuario. Otro cambio es que ahora en vez de mostrar en la parte inferior noticias. También da la opción de cerrar sesión.

Vicente Sancho Guijarro Proyecto Final de Carrera Por último. de Informática Aplicada (U.T. En este ejemplo. Al igual que la zona privada del alumno.V. podemos apreciar la pantalla de la que dispone el profesor para poner calificaciones a los alumnos que imparte clase. E. esta parte del sitio también dispone de su propio menú. pudiendo elegir el trimestre correspondiente y pudiendo guardar cada nota individualmente o todas a la vez. la siguiente captura de pantalla pertenece a la zona privada del profesor.P. Figura 26 Captura del formulario de notas de la zona privada del profesor.S.) 38 .

2.P. sino que ésta se comunica con la capa de aplicación para demandarle el servicio deseado y la capa de aplicación se comunica con la capa de persistencia para recuperar los datos necesarios.) 39 . ya que la capa de presentación no accede a la base de datos directamente. Los siguientes E.Vicente Sancho Guijarro Proyecto Final de Carrera 4. Nivel de aplicación Esta capa es la encargada de implementar el comportamiento de nuestro sitio web. El analizador del login será el encargado de comprobar el usuario y luego redirigir a su zona privada correspondiente cuando un usuario de identifique desde la zona anónima. de Informática Aplicada (U. También sirve de enlace entre las otras dos capas.V.S. Capa de presentación Zona anónima Zona alumno Zona profesor Analizadorlogin Anonimo_inc Alumno_inc Profesor_inc Capa de aplicación bd Capa de persistencia Base de datos Figura 27 Capas del proyecto La capa de aplicación está organizada en cinco componentes.T.

para adaptarnos a la base de datos del servidor simplemente teníamos que cambiar la clase bd sin tener que tocar ningún fichero más.) o el nombre de la base de datos por ejemplo. A continuación mostramos el diagrama entidad-relación utilizado para la implementación de la base de datos de nuestro proyecto. Este patrón consiste en utilizar la clase bd para todas las operaciones que interactúen con la base de datos. lo hará a través de bd. SQL Server. De esta forma.P. ya que en ambos accedíamos a la base de datos con usuarios distintos. E. de mantener información de una sesión a otra aunque el sistema no esté en uso. para hacer pruebas en nuestro servidor local y luego subirlas al servidor prestado por el director del proyecto. Cuando alguno de estos ficheros necesite acceder a la base de datos ya sea para realizar una consulta o para modificar datos. Este componente surge de aplicar el patrón de diseño llamado Fachada o Façade. por ejemplo. El uso de este patrón es muy útil para actualizar cambios en la base de datos como pueden ser el tipo de base de datos (MySQL.) 40 . alumno_inc y profesor_inc) son los encargados de implementar la lógica de las zonas correspondientes. de Informática Aplicada (U.T.V.Vicente Sancho Guijarro Proyecto Final de Carrera tres componentes (anonimo_inc.3. 4. es decir.S. Nivel de persistencia La capa de persistencia es la que dota al sistema de poder mantener los datos de una forma persistente como su propio nombre indica. En nuestro caso nos ha sido muy útil. etc.

En el diagrama podemos observar los tipos de personal que existen en el colegio. el administrador. el padre. el alumno y E.T.P.) 41 . como son los pertenecientes al equipo directivo.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 28 Diagrama entidad-relación.V. de Informática Aplicada (U.S.

ya que por ejemplo. el cual se caracteriza por su número de curso y su letra.etc. los cuales se muestran en las zonas privadas y muestran información de interés a los usuarios registrados.) 42 .). Los alumnos están matriculados en un grupo. los cuales se muestran en la parte inferior de la zona pública o de tipo evento del curso. Cada grupo también tendrá un profesor que lo tutorice. Estos eventos pueden ser de varios tipos según su atributo evento. pudiendo un profesor impartir múltiples asignaturas.Vicente Sancho Guijarro Proyecto Final de Carrera el profesor. el alumno podrá obtener una nota por trimestre. cada vez que falte a una clase se le pondrá una falta de asistencia que estará por defecto sin justificar hasta que los padres la justifiquen al tutor del grupo. junto con el administrador. por lo que también puede ser padre. mientras que los profesores serán los únicos que puedan reservar equitaciones (radio-cd. un profesor puede formar parte del equipo directivo del centro o un profesor puede llevar a su hijo a ese colegio.T. Esta especialización de usuario registrado es disjunta.S. Los miembros del equipo directivo. los cuales se utilizan en el calendario escolar para marcar los festivos en rojo. son los únicos que pueden introducir eventos. como puede ser el día de inicio de las clases. las cuales son impartidas por un profesor. así como reservar una instalación del colegio. Por cada asignatura y curso. . E. Los grupos están compuestos por asignaturas. será el delegado del mismo. Uno de ellos.P. Pueden ser del tipo festivo.V. proyector. También podrán ser de tipo noticia. de Informática Aplicada (U. además. Todos los usuarios identificados en el sistema podrán publicar anuncios en el tablón de anuncios. Asimismo.

Tecnologías Dada la necesidad de crear contenidos dinámicos. mediante las cuales se determinan la forma en la que debe aparecer en su navegador el texto. En general las etiquetas se pueden aplicar de las siguientes formas: • Se abren y se cierran.P.S. Toda etiqueta se identifica porque está encerrada entre los signos menor que y mayor que (<>). acrónimo inglés de HyperText Markup Language (lenguaje de marcas hipertextuales). y algunas tienen atributos que pueden tomar algún valor. Firefox o Netscape. que es el formato estándar de las páginas web. Implementación 5. otros programas para la realización de sitios Web o edición de código HTML. como puede ser Gedit. como por ejemplo Microsoft FrontPage o Macromedia Dreamweaver. como por ejemplo <p>. que consisten en breves instrucciones de comienzo y final. XHTML E.1. Opera.) 43 . HTML utiliza etiquetas o marcas.Vicente Sancho Guijarro Proyecto Final de Carrera 5.1. El lenguaje HTML puede ser creado y editado con cualquier editor de textos básico. También cabe destacar el hecho de que sean tecnologías de libre distribución y uso.2. Gracias a Internet y a los navegadores del tipo Internet Explorer. Para este proyecto se ha optado por el lenguaje PHP acompañado de una base de datos MySQL.V. Microsoft Wordpad. como por ejemplo: <b>negrita</b> que se vería en su navegador como negrita. es un lenguaje de marcación diseñado para estructurar textos y presentarlos en forma de hipertexto. el HTML se ha convertido en uno de los formatos más populares que existen para la construcción de documentos y también de los más fáciles de aprender.HTML es una aplicación de SGML conforme al estándar internacional ISO 8879. HTML El HTML. como <hr> que se vería en su navegador como una línea horizontal. • Otras que pueden abrirse y cerrarse. en la pantalla del ordenador. por lo que no supondrá una dificultad encontrar documentación en la cual apoyarnos durante el desarrollo del sitio web. o cualquier otro editor que admita texto sin formato como GNU Emacs. 5. debemos utilizar otros lenguajes a parte de HTML. Estas tecnologías cumplen sobradamente con nuestras necesidades y están muy extendidas. el Bloc de Notas de Windows (o Notepad). 5. Existen además. • No pueden abrirse y cerrarse.1. así como también las imágenes y los demás elementos. de Informática Aplicada (U. etc.T.1.

se usa <option selected="selected">. pero cumple las especificaciones. XHTML 1. la recomendación XHTML ha definido todos los nombres de etiqueta en minúsculas. Por tanto. las mismas funcionalidades.).T. dejando para hojas de estilo y JavaScript su aspecto y diseño en distintos medios (ordenadores. básicamente. impresoras.) 44 . y HTML 4. Como las etiquetas en XML distinguen entre mayúsculas y minúsculas (case-sensitive). En XHTML. respetuosos con los estándares u ofrecer contenido que se visualice correctamente en la mayor parte de los navegadores. principalmente. El mayor inconveniente es que el Internet Explorer de Microsoft es incompatible con XHTML. Esto puede hacerse añadiendo una barra a la etiqueta: <img … /> y <br />. en lugar de eso. teléfonos móviles. El cambio más importante es el requisito de que el documento esté bien formado y que todas las etiquetas estén explícitamente cerradas. pero algunas versiones más antiguas solo pueden leer el XHTML como si se tratara de HTML. incluyendo elementos vacíos como pueden ser img o br. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica. por lo que tiene. pero es una recomendación aparte y a la vez paralela. La minimización de atributos (como <option selected>) está también prohibida. Al contrario ocurría en SGML y por consecuencia en HTML. Todos los elementos han de ser explícitamente cerrados. de XML. ya que el atributo “selected” no contiene ningún valor explícito.01 para publicar en la web.0. La mayoría de las versiones recientes de los navegadores web más populares soportan XHTML adecuadamente. donde las comillas podían omitirse en algunos casos.1. XHTML es la versión XML de HTML.S. es el lenguaje de marcado pensado para sustituir a HTML como estándar para las páginas web. es indiferente). más estrictas.. Los cambios de HTML a la primera generación de XHTML (es decir. están destinados a conseguir la conformidad con XML. de Informática Aplicada (U.V. acrónimo inglés de eXtensible Hypertext Markup Language (lenguaje extensible de marcado de hipertexto). como se requiere en XML. XHTML 1. PDAs. La necesidad de una versión más estricta de HTML se sintió principalmente porque el contenido de la World Wide Web ahora puede visualizarse desde numerosos dispositivos (como móviles) aparte de los ordenadores tradicionales. a pesar de que esta empresa sea miembro de la W3C. donde no pueden dedicarse recursos suplementarios para afrontar la complejidad añadida de la sintaxis del HTML. E.x) son menores ya que.. Es por eso que muchos lo consideran la “versión actual” del HTML. XHTML serviría únicamente para transmitir la información que contiene un documento. En este sentido. y la forma de presentarla estén claramente separadas. la W3C continúa recomendando el uso de XHTML 1. los valores de los atributos deben encerrarse entre comillas ('simples' o "dobles". donde la información. XHTML es el sucesor de HTML. gran parte de los autores de sitios web se ven forzados a elegir entre la escritura de documentos válidos.P.Vicente Sancho Guijarro Proyecto Final de Carrera XHTML.

está solo parcialmente implementado en los más recientes. Por ejemplo. o ser "leída" por un sintetizador de voz. No obstante. La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación. y otras características no visuales como definir el volumen de un sintetizador de voz (véase Sintetización del habla). Los navegadores modernos implementan CSS1 bastante bien. fuente. CSS Las hojas de estilo en cascada (Cascading Style Sheets. con lo que aumenta considerablemente la accesibilidad.Vicente Sancho Guijarro Proyecto Final de Carrera 5. Por ejemplo.S.X del popular navegador Internet Explorer que utiliza un modelo no estándar para el cálculo de las medidas. solamente marca la estructura del documento. cada etiqueta <H1> debía disponer de la información si se deseaba un diseño consistente para una página. personas con deficiencias visuales pueden configurar su propia hoja de estilo para aumentar el tamaño del texto o remarcar más los enlaces.V. CSS2.1.P. Por ejemplo. y además. el elemento de HTML <H1> indica que un bloque de texto es un encabezamiento y que es más importante que un bloque etiquetado como <H2>. La información de estilo separada en una hoja de estilo. aunque existen pequeñas diferencias de implementación según marcas y versiones de los navegadores. sin embargo. de Informática Aplicada (U. E. El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirá de estándar para los agentes de usuario o navegadores. para ser impresa. especifica cómo se ha de mostrar <H1> : color. La información de estilo puede ser adjuntada tanto como un documento separado o en el mismo documento HTML. • Hay varias versiones: CSS1 y CSS2. Un problema muy conocido de implementación de CSS es el de la versión 5. CSS) son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). Cuando se utiliza CSS.T. con CSS3 en desarrollo por el World Wide Web Consortium (W3C). mostrada en un dispositivo móvil. la etiqueta <H1> no debería proporcionar información sobre como va a ser visualizado. • Una página puede disponer de diferentes hojas de estilo según el dispositivo que la muestre o incluso a elección del usuario. • Los Navegadores permiten a los usuarios especificar su propia hoja de estilo local que será aplicada a un sitio web remoto.) 45 .3. alineación del texto. • El documento HTML en sí mismo es más claro de entender y se consigue reducir considerablemente su tamaño. una persona que lea esa página con un navegador pierde totalmente el control sobre la visualización del texto. tamaño. por ejemplo. Las ventajas de utilizar CSS (u otro lenguaje de estilo) son: Control centralizado de la presentación de un sitio web completo con lo que se agiliza de forma considerable la actualización del mismo. Versiones más antiguas de HTML permitían atributos extra dentro de la etiqueta abierta para darle formato (como el color o el tamaño de fuente). En este último podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "style".

sin acceso a funciones del servidor. Últimamente también para la creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica usando la biblioteca GTK+. utilizado principalmente en páginas web. que incorporan Konqueror. el 4 de diciembre de 1995. es decir. y Mozilla desde su primera versión.S. que a pesar de su nombre no es europeo sino internacional. Los autores inicialmente lo llamaron Mocha y más tarde LiveScript pero fue rebautizado como JavaScript en un anuncio conjunto entre Sun Microsystems y Netscape. ó Modelo de Objetos del Documento en castellano). que no requiere compilación. o. para realizar tareas y operaciones en el marco de la aplicación únicamente cliente. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del DOM. Para evitar estas incompatibilidades. E.5. Poco después también lo fue como un estándar ISO.T. ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad. JavaScript se ejecuta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML.Vicente Sancho Guijarro Proyecto Final de Carrera 5. PHP PHP es un lenguaje de programación usado generalmente para la creación de contenido para sitios web. que es la que fabricó los primeros navegadores web comerciales. JScript es la implementación de ECMAScript de Microsoft. Al contrario que Java. o creación de contenido dinámico para sitios web.1. muy similar al JavaScript de Netscape. Opera versión 7. las versiones 6 de Internet Explorer y Netscape Navigator. de Informática Aplicada (U. con el nombre de ECMAScript.V. es más bien un lenguaje basado en prototipos. El lenguaje fue inventado por Brendan Eich en la empresa Netscape Communications. Todos los navegadores interpretan el código JavaScript integrado dentro de las páginas web. con sede en Ginebra. Tradicionalmente. ya que no dispone de Herencia. y se trata de un lenguaje interpretado usado para la creación de aplicaciones para servidores. 5. el World Wide Web Consortium (W3C) diseñó el estándar Document Object Model (DOM. se venía utilizando en páginas web HTML. pero con ciertas diferencias en el modelo de objetos del navegador que hacen a ambas versiones con frecuencia incompatibles.1. En 1997 los autores propusieron JavaScript para que fuera adoptado como estándar de la the European Computer Manufacturers' Association ECMA.) 46 . con una sintaxis semejante a la del lenguaje Java. Personal Home Page Tools). JavaScript no es un lenguaje orientado a objetos propiamente dicho. En junio de 1997 fue adoptado como un estándar ECMA. PHP es un acrónimo recurrente que significa "PHP Hypertext Pre-processor" (inicialmente PHP Tools.4. JavaScript JavaScript es un lenguaje interpretado.P.

utilizando la extensión PHP-GTK.P. incluyendo el estándar ODBC. lo cual permite la creación de Aplicaciones web muy robustas. por medio de la combinación de PHP y GTK (GIMP Tool Kit). Cuando el cliente hace una petición al servidor para que le envíe una página web. esta versión de PHP se llama PHP CLI (Command Line Interface). y regresa el resultado al servidor. Postgres. Los principales usos del PHP son los siguientes: • Programación de páginas web dinámicas. Oracle. DB2. • Programación en consola. así como imágenes en diferentes formatos. habitualmente en combinación con el motor de base datos MySQL. pudiendo modificar el contenido a enviar.) 47 . y al famoso CGI/Perl. Firebird y SQLite. en el cual se encuentra almacenado el script. Windows y Mac OS X. PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos tales como UNIX (y de ese tipo. y el cliente sólo recibe el resultado de la ejecución. Además es posible utilizar PHP para generar archivos PDF. Su interpretación y ejecución se da en el servidor. destaca su conectividad con MySQL • Leer y manipular datos desde diversas fuentes. el cual se encarga de regresárselo al cliente. como Linux). e ISAPI. • Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad. a JSP/Java de Sun Microsystems. incluyendo datos que pueden ingresar los usuarios desde formularios HTML. bajo la licencia GNU.NET. También puede ser usado desde la línea de órdenes. a ColdFusion de la compañía Macromedia. Entre las ventajas de PHP podemos encontrar: • Es un lenguaje multiplataforma. Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL. Debido al diseño de PHP. lo que permite desarrollar aplicaciones de escritorio en los sistemas operativos en los que está soportado. E. de la misma manera como Perl o Python pueden hacerlo. • Creación de aplicaciones gráficas independientes del navegador. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres. aunque cuenta con soporte nativo para otros motores. permiten a la mayoría de los programadores experimentados crear aplicaciones complejas con una curva de aprendizaje muy suave. Flash. al estilo de Perl o Shell scripting. ODBC. y puede interactuar con los servidores de web más populares ya que existe en versión CGI. entre otras cosas. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones y prácticas. el cual procesa el script solicitado que generará el contenido de manera dinámica.S.Vicente Sancho Guijarro Proyecto Final de Carrera El fácil uso y la similitud con los lenguajes más comunes de programación estructurada. también es posible crear aplicaciones con una interfaz gráfica para el usuario (también llamada GUI). como C y Perl.NET/C#/VB.T. existe además un IDE comercial llamado Zend Optimizer.V. generada por un script PHP. El modelo PHP puede ser visto como una alternativa al sistema de Microsoft que utiliza ASP. módulo para Apache. Microsoft SQL Server. lo que amplía en gran medida sus posibilidades de conexión. el servidor ejecuta el intérprete de PHP. de Informática Aplicada (U.

y Michael "Monty" Widenius. 5. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Está desarrollado en su mayor parte en ANSI C. el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92. fiabilidad o usabilidad. Desde 1986. las herramientas han mantenido el prefijo My. SQL:99. Al contrario de proyectos como el Apache. de Informática Aplicada (U. y Michael Widenius.Vicente Sancho Guijarro Proyecto Final de Carrera • Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones). mSQL no era rápido y flexible para sus necesidades. Por otro lado. MySQL AB fue fundado por David Axmark. La procedencia del nombre de MySQL no es clara. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL. • Posee una amplia documentación en su página oficial ([1]). empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso. pero sin sacrificar velocidad. Michael Widenius en la década de los 90 trató de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM. que posee el copyright de la mayor parte del código. • Permite crear los formularios para la web. • Es libre. • Permite las técnicas de Programación Orientada a Objetos. el nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. MySQL MySQL es un sistema de gestión de base de datos. la compañía ofrece soporte y servicios. También. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual.T. multihilo y multiusuario con más de seis millones de instalaciones. se cree que tiene relación con el nombre de la hija del cofundador Monty Widenius quien se llama My.1. Esto lo conllevó a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero más portable.V.) 48 . Este nombre fue E. MySQL está poseído y patrocinado por una empresa privada.6. Además de la venta de licencias privativas. Por un lado lo ofrece bajo la GNU GPL. por lo que se presenta como una alternativa de fácil acceso para todos. • Biblioteca nativa de funciones sumamente amplia e incluida • No requiere definición de tipos de variables ni manejo detallado del bajo nivel. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda. y el copyright del código está en poder del autor individual. Por más de 10 años. donde el software es desarrollado por una comunidad pública.P. sin embargo. SQL:2003. MySQL es una idea originaria de la empresa opensource MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark. el cual fue presentado a ANSI y desde ese entonces ha sido considerado como un estándar para las bases de datos relacionales. Allan Larsson.S. pero. Allan Larsson. SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM.

MySQL es muy utilizado en aplicaciones web como MediaWiki. un desarrollador de Opensource Africano. en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python).) 49 . pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. el idioma local de Swaziland y corresponde al nombre de una ciudad en Arusha. de Informática Aplicada (U. Su popularidad como aplicación web está muy ligada a PHP. derivado del idioma SiSwate.V. lo que hace a MySQL ideal para este tipo de aplicaciones. Tanzania.P. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos. Amazon. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM.S.T. Flickr o Drupal. Yahoo. E. que a menudo aparece en combinación con MySQL. y por herramientas de seguimiento de errores como Bugzilla.Vicente Sancho Guijarro Proyecto Final de Carrera enviado por Ambrose Twebaze. cerca de Uganda la ciudad origen de Ambrose.

php).js"> </script> E. En la parte inferior de la cabecera se ha implementado la fecha y la hora.getMinutes(). las cuales se actualizan en tiempo real. para que la hora se actualice cada segundo llamamos a la función setTimeout pasándole como parámetros la misma función en la que estamos y un intervalo de 1000 milisegundos. if (segundos < 10) segundos = "0" + segundos.</div></td> Esta capa es rellenada por el script programado en Javascript llamado fecha.js. document. contactar.php y enlaces. index. var segundos = hora.php. el cual cada segundo lee la fecha del sistema y la plasma en la capa que hemos llamado campoHora./js/fecha.1000).) 50 .Vicente Sancho Guijarro Proyecto Final de Carrera 5. Por último. historia. Se ha intentado que el uso de las CSS sean lo más compatibles posibles con los diferentes navegadores existentes en el mercado ya que por desgracia no todos siguen completamente los estándares.php.getHours(). } Esta función obtiene la fecha (obtenida a su vez de la función displayDate()) y la hora y las guarda en la variable cadena. calendario. aplicando los estilos con hojas de estilo CSS. reglamento. Finalmente. de Informática Aplicada (U.php. tiempo = setTimeout("displayTime()".T.getElementById('campoHora'). equipodirectivo. var minutos = hora. para que la página HTML ejecute el Javascript al cargarse basta con poner estas líneas: <head> … <script type="text/javascript" src=". Para ello se ha definido una capa en HTML: <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php. Esta capa está representada por los ficheros Alumno_* (menos Alumno_inc.php.1. Profesor_* (menos Profesor_inc. Sección pública La capa de presentación se ha implementado en HTML.php.innerHTML = cadena.getSeconds().S. y con PHP.php. La cabecera simplemente se compone de dos imágenes (el logotipo del colegio y el nombre del colegio).2.2. La función encargada de leer la fecha es la siguiente: function displayTime() { var hora = new Date().V.php). var horas = hora. Descripción de la implementación 5. asignamos dicha variable a la propiedad innerHTML de la capa campoHora. cadena = displayDate() + " " + horas + ":" + minutos + ":" + segundos. localización. if (minutos < 10) minutos = "0" + minutos. Para volcar el contenido de esa variable en la capa correpondiente.P.

color: #003399. Arial.Vicente Sancho Guijarro … </head> <body onload="javascript:displayTime(). } Cuando pasamos el curso por encima de un elemento podemos observar que cambia el color de fondo del elemento. color: #FF66CC. la alineación y el tipo de lista entre otras cosas. Para ello hemos aplicado los siguientes estilos descritos en el fichero general.Cabecera del sitio web. background-color: #99CC00. la cual se activa cuando pasamos el cursor por encima del elemento.T. margin-left: -40px. sans-serif. vertical-align: middle. Helvetica. ul li { border: medium ridge #CCFF66. padding-top: 8px. de Informática Aplicada (U. El primero se aplica a los ítems que estén dentro de una lista desordenada.css. El menú es una lista desordenada. Arial. la cual hemos modificado para que no salga la viñeta al principio de cada elemento y salga cada uno con borde y fondo verde. el tipo de letra.P.V. como es el caso de los elementos del menú. font-size: 14px. sans-serif. width: 140px. text-align: left. font-family: Verdana. list-style-type: none. height: 24px. } E. Para ello especificamos para el último estilo la propiedad hover. font-weight: bold. tamaño de la letra. En estos estilos definimos el color. } ul li a { font-family: Verdana. Helvetica. ul li:hover { background-color: #CCFFCC. El segundo se aplica a los ítems de la lista desordenada que sean enlaces. font-size: 13px.) 51 .S."> Proyecto Final de Carrera Figura 29 .

de Informática Aplicada (U. <?php if($_COOKIE['login'] == "Error") { echo '<span class="fechaNoticia">Autenticación errónea</span>'. mientras que el segundo es de tipo password que.php. se crea una cookie y se devuelve al usuario a index. que al encontrar esta cookie muestra un mensaje advirtiéndolo. E. Si la autentificación es errónea.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 30 Menú de la zona anónima.) 52 .2. es para introducir la contraseña. El código HTML del formulario es el siguiente. cuando nos centremos en los ficheros correspondientes a la capa de aplicación.T.php"> <p> <label>Login <input type="text" name="log" /> </label> <br/> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p> Cuando se pulsa sobre identificarse.P. el cual será explicado más abajo.V. <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin. como su propio nombre indica. como se muestra en el código siguiente.S.2. 5. } ?> Figura 31 Formulario de identificación. se redirige al usuario al archivo analizadorlogin. El primero es para introducir el login del usuario. Sección privada El formulario de identificación consta de dos campos.

} Con esta función. function sacarFecha($fecha_datetime) { $fecha = split("-". con el usuario cole1 y su correspondiente contraseña.php.S.$link)) { echo "Error seleccionando la base de datos. function Desconectar($link) { mysql_close($link). también le añadimos funciones para facilitar la lectura de datos de la base de datos. Alumno_inc. $fecha_hora=split(" ". al realizar una consulta. { if (!($link=mysql_connect("localhost". Esta función se encarga de realizar la conexión con la base de datos."cole1". de Informática Aplicada (U. avanza al siguiente registro de las filas devueltas por la consulta.php y bd.php.) 53 .T.$fecha_datetime).$hora[0]). $hora = split(":". E.". con esta función podemos cerrar la conexión con la base de datos cuando hemos terminado de trabajar con ella. //cierra la conexion } Según avanzamos en el proyecto. Profesor_inc. Si la conexión falla por cualquier motivo. function consulta($sql. ya que en ella se implementan las funciones necesarias para acceder a la base de datos.Vicente Sancho Guijarro Proyecto Final de Carrera La capa de aplicación se ha desarrollado íntegramente en PHP.". como son las vocales acentuadas o las eñes. exit(). Esta capa la forman los ficheros Anonimo_inc.php. } Por último. $c) { $res = mysql_query($sql.php se comunica con la capa de persistencia. $c)."webcole"))) { echo "Error conectando a la base de datos. devuelve un mensaje de error. } Esta función recibe como parámetros la sentencia sql a ejecutar y la conexión sobre la cual realizarla. return $res. Las funciones implementadas para acceder a la base de datos son las siguientes. analizadorlogin.php. } return $link. mientras que bd. exit(). function Conectar() //realiza la conexion con la base de datos.P. function siguiente($res) { return mysql_fetch_assoc($res).V. Los cuatro primeros se comunican directamente con la capa de presentación.$fecha[2]). } if (!mysql_select_db("webcole". como por ejemplo funciones para sacar la fecha de los campos de tipo DateTime en el formato deseado o para convertir los caracteres especiales a formato HTML.

'Í'.S. buscamos en la tabla profesor y en la tabla alumno para comprobar que tipo de usuario es y finalmente lo redirigimos a su zona privada correspondiente mediante la cabecera http llamada Location. $resultado2 = consulta($sql2.'í'.P. include("bd.'&Uacute .'&ua cute.php"). $conn = conectar().'. } . $sql = 'SELECT * FROM usuario'.'ó'. $resultado = consulta($sql. '-' .'.'.'ò'.'ú'.'è'.T. donde buscamos si coincide el login y la contraseña. while($row3 = siguiente($resultado3)) el cookie con el nombre del usuario E.' &Ograve. $traducir=array('&aacute.'. $conn). while($row2 = siguiente($resultado2)) { if($_POST['log'] == $row2['login']) { //mysql_close($dp).'&agrave.V. que su contraseña es la correcta y que tipo de usuario es.'. // se han encontrado en la base de datos session_start(). return str_replace($especial.'. return $fecha_convertida.'&egrave.$traducir. $conn).'.'Á'.'.'. } El fichero analizadorlogin.'&Oacute.'ñ'.'&Eacute.'. } } //Comprobamos si es alumno $sql3 = 'SELECT * FROM alumno'.'.'&Ntilde. $ok = 0.'&Agrave. $conn).'&eacute.Vicente Sancho Guijarro $fecha_convertida=$fecha_hora[0] $fecha[0].'Ú'. $fecha[1] . '-' Proyecto Final de Carrera .'.'&ntilde. while($row = siguiente($resultado)) { if($_POST['pass'] == $row['contrasenya'] && $_POST['log'] == $row['login']) { $ok = 1.php es el encargado de redireccionar a un usuario cuando se identifica a su zona privada.'Ñ'.'È'. $resultado3 = consulta($sql3. Si ambos coinciden.) 54 .'é'.'. break.'É'.'Ó'. de Informática Aplicada (U. header('Location: intranetProfe.'Ò'). //Comprobamos si es profesor $sql2 = 'SELECT * FROM profesor'.'.'.$texto). 'à'.'&Iacute.'À'. Para ello consultamos la tabla usuario.php').'&iacute.'&ograve.'&Egrave.'&Aacute.'.'. $_SESSION["tipo"] = "Profesor".'&oacute. //Reemplaza en un texto las tildes y caracteres especiales por su equivalente en html function tohtml($texto) { $especial=array('á'. //Guardamos conectado $_SESSION["id"] = $row["login"]. Esta clase utiliza la clase bd para hacer una consulta en la base de datos para cerciorar que el usuario existe.').

function noticias() { $conn=Conectar(). $sql="SELECT * FROM evento WHERE titulo = 'Noticia' ORDER BY idevento DESC".php de la siguiente forma: <h3>Noticias</h3> <p> <?php require_once ("Anonimo_inc. Cuando en la zona del alumno se requiere alguna función php para cargar los contenidos de la base de datos.$i++) { E.php. Para esto llama a la función noticias() que se encuentra en el fichero Anonimo_inc. </script>'. Luego mediante el bucle for hacemos que lea las cinco primeras noticias que.php. carga esta función del fichero Alumno_inc.php"). $res=consulta($sql. en este caso es el fichero Anonimo_inc.T. Del mismo modo en la zona del profesor los carga del fichero Profesor_inc.php'). En la parte inferior encontramos las noticias más recientes introducidas en la base de datos.S. Un ejemplo de la llamada a estas funciones lo podemos encontrar en todas las páginas del usuario anónimo. Primero conecta con la base de datos y realiza una consulta de todos los eventos de tipo ‘Noticia’ ordenados descendentemente.php. $i<5 && $i<numeroFilas($res). for($i=0.Vicente Sancho Guijarro { Proyecto Final de Carrera if($_POST['log'] == $row3['login']) { $_SESSION["tipo"] = "Alumno". Ponemos las noticias en la página y para terminar nos desconectamos de la base de datos.P. 'Error'. noticias(). header("Location: index.php").$conn). de Informática Aplicada (U. } } } } if($ok == 0) { setcookie('login'. echo '<script language="Javascript"> alert("Autenticación errónea"). header('Location: intranetAlumno.V. time()+1). como están ordenadas en orden descendente. También la zona del usuario anónimo tiene su fichero de funciones para implementar la capa de aplicación.) 55 . } desconectar($conn). ?> </p> La función noticias() está implementada de la siguiente forma. serán las cinco noticias más recientes.

S. echo class='fechaNoticia'>". Hemos elegido MySQL por tratarse de una base de datos libre y gratuita. } "<p><span Figura 32 Página principal con la zona de noticias en la parte inferior." </span>".V.sacarFecha($row["fecha"]).cnf. my. llamado setup.tohtml($row["descripcion"]). de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera $row = siguiente($res).) 56 . E. la capa de persistencia viene implementada como una base de datos en MySQL. En este caso. Para crear la base de datos hemos usado PHPMyAdmin.P. En el anexo se detalla el fichero de creación de la base de datos. así como por su buena integración de su uso con PHP." </p>". Se ha cambiado el tipo de tablas por defecto (MyISAM). Para ello simplemente hemos tenido que descomentar las líneas referentes a InnoDB del fichero de configuración de MySQL.php. por lo que hemos puesto tablas de tipo InnoDB. ya que la original no aceptaba las restricciones que queríamos imponer en las tablas.T. } desconectar($conn).

E.com/ podemos ver como quedaría nuestra Web con distintos tamaños de ventana sin la necesidad de tener que cambiar la resolución de nuestro monitor. Pruebas Con el fin de comprobar cómo responde nuestra aplicación a las distintas situaciones en las que se puede encontrar hemos decidido realizar una serie de pruebas.T. se puede ver que si se representa adecuadamente. Con una resolución de 600x480 la página inicial de nuestra Web se vería de la siguiente forma: Figura 33 Resolución a 600x480 Como podemos ver se aprecian problemas con la cabecera. de Informática Aplicada (U.) 57 .1 Tamaño de la ventana Gracias a la página Web http://www. que consistirán en las siguientes: • • Tamaño de la ventana. Comprobador de links 6.V. aunque hay que señalar de desde tiempo estas resoluciones tan bajas son cada vez menos frecuentes.S.anybrowser.P.Con una resolución de 800x600.Vicente Sancho Guijarro Proyecto Final de Carrera 6.

) 58 .Vicente Sancho Guijarro Proyecto Final de Carrera Figura 34 Resolución 800x600 A partir de esta resolución (800x600) la Web se desplegará adecuadamente en los navegadores.T. Figura 35 Resolución 1024x768 E. de Informática Aplicada (U.S.P.V.

php: OK http://pion.upv. Esta aplicación se puede encontrar en la siguiente dirección: http://validator.upv.disca.upv.disca.php: OK http://pion.upv.php: OK http://pion.upv.upv.es/webcole/calendario. de Informática Aplicada (U.) 59 .S.php: OK Total Number of links for this page: 13 Con lo que todos los enlaces de la sección pública son válidos.disca.es/webcole/enlaces.es/webcole/: • • • • • • • • • • • • View View View View View View View View View View View View http://pion.js: OK http://pion.disca.disca. E.3 Estándar XHTML Para comprobar si nuestra aplicación cumplía con dicho estándar utilizamos una aplicación en línea proporcionado por el World Wide Web Consortium (W3c).upv.disca.2 Comprobador de links Debido a que en aplicación la mayoría de las páginas están en la intranet (con acceso restringido.php: OK http://pion.upv. que fueron los responsables del estándar.org/ Como esta aplicación no podía entrar en la intranet del colegio.disca.P.Vicente Sancho Guijarro Proyecto Final de Carrera 6.upv.php: OK http://pion.php: OK http://pion.T.disca.disca.es/webcole/historia.php: OK http://pion.w3.es/webcole/contactar.es/webcole/reglamento.es/webcole/css/principal.es/webcole/analizadorlogin.disca.es/webcole/#: OK http://pion.disca.V.es/webcole/js/fecha. tuvimos que entrar en cada página y copiar el código fuente de la página para introducirlo en el validador.upv. Siendo el resultado obtenido el siguiente: http://pion.upv.es/webcole/localizacion.disca.css: OK http://pion.upv.disca.es/webcole/css/general. solamente realizaremos esta prueba sobre la parte pública de nuestra Web.upv.es/webcole/equipoDirectivo.css: OK http://pion. 6.

) 60 . El principal motivo de este cambio fue hacer posible mantener sin cambios el código javascript que hacia uso de la propiedad “name” en los formularios.S.0 Transitional.T.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 36 XHTML . de Informática Aplicada (U.página con errores Donde más problemas tuvimos fue en la parte del profesor.página válida E. Esta propiedad no está permitida en el XHTML 1. llegando a ser necesario el pasar del XHTML 1.V.P. que tiene menos restricciones que el estricto.0 Strict. Figura 37 XHTML .0 Strict al XHTML 1.

) 61 .Vicente Sancho Guijarro Proyecto Final de Carrera Páginas que cumple con el XHTML 1.4 Estándar CSS Los css nos permiten cambiar el estilo de las distintas etiquetas que se encuentran en las páginas HTML.V.0 Transitional: Profesor_equipaciones.P.php Alumno_reserva_instalacion. y por tanto podría colocarse esta imagen en el sitio Web 6.php Profesor_instalaciones.org/css-validator/ .php Profesor_reserva_equipacion.php Figura 38 xhtml Esta imagen indica que ha superado el estándar XHTML 1. al igual que en el estándar XHTML. siempre que estas páginas agreguen las css. de Informática Aplicada (U. El resultado obtenido al pasarle el css de la Web se puede ver en la siguiente imagen.0.php Profesor_faltas. se ha utilizado una aplicación online del w3c.php Profesor_notas. La dirección para acceder a esta aplicación es la siguiente: http://jigsaw.php Profesor_reserva_instalacion. En este caso.T.w3.S. Figura 39 Resultado de la validación CSS E.

) 62 .Vicente Sancho Guijarro Proyecto Final de Carrera 6.Problemas visualización E.P. de Informática Aplicada (U.5. 6.5. así como su visualización.V.7 6.T.2 página. En concreto comprobaremos los siguientes navegadores: • • • • • Firefox 2 Explorer 6 Explorer 7 Opera 9 Mozilla 1.1 Firefox 2 Durante el desarrollo de la aplicación se utilizó Firefox como navegador predeterminado con lo que todas las funcionalidades del sistema son correctas en este navegador.S.5 Navegadores Esta prueba consiste en comprobar el correcto funcionamiento en los navegadores más utilizados. Explorer 6 En este navegador se pueden ver algunos problemas con la cabecera de la Figura 40 Explorer 6 .

6. siendo capaz de ejecutar algunas de ellas y dando errores en otras.) 63 . aunque en esta versión si es posible efectuar las reservas de instalaciones y equipaciones. Figura 41 Explorer 7 .página inicial Las limitaciones por el código Javascript son prácticamente las mismas que en la versión anterior.3 Explorer 7 A diferencia de lo que hacia su predecesor. No se pueden poner ni quitar faltas a alumnos aislados.P.5. página de reservas de equipaciones (Intranet de profesores).V.Vicente Sancho Guijarro Proyecto Final de Carrera En cuanto a la capacidad de ejecutar las funcionalidades que hacen uso de Javascript.S. Explorer 7 si representa correctamente la página inicial de la aplicación Web. Explorer 6 se queda a medias.T. Se han encontrado problemas para ejecutar las siguientes páginas: • • • • Página de inserción de notas (Intranet de profesores) Página de inserción de faltas de asistencia (Intranet de profesores). E. de Informática Aplicada (U. sin embargo si se pueden poner falta a varios alumnos utilizando el botón “Poner faltas a todos” Página de reservas de instalaciones (Intranet de profesores y alumnos). No se pueden anular las reservas No se pueden realizar nuevas reservas de instalaciones y equipaciones.

de Informática Aplicada (U.5. Opera también presenta algunas incompatibilidades con el Javascript.T.) 64 . Figura 42 Opera .página inicial Como en el caso de Explorer 6.S. como puede verse en la siguiente figura. siendo estas las más importantes.4 Opera 9 La visualización de la página principal es correcta. sin embargo si se pueden poner falta a varios alumnos utilizando el botón “Poner faltas a todos” E. No se pueden poner ni quitar faltas a alumnos aislados.P. • • Página de inserción de notas (Intranet de profesores) Página de inserción de faltas de asistencia (Intranet de profesores).V.Vicente Sancho Guijarro Proyecto Final de Carrera 6.

5 Mozilla 1.Vicente Sancho Guijarro Proyecto Final de Carrera 6.) 65 . de Informática Aplicada (U. Figura 43 Mozilla .V.P. Mozilla interpreta correctamente la página inicial de nuestra aplicación.7 Como puede verse en la figura.página inicial En este caso no hay ningún tipo de compatibilidad con el Javascript.S. E.5.T.

Los problemas teóricos han sido sobre todo a la hora de aplicar los conocimientos que hemos ido adquiriendo en el transcurso de nuestra carrera como informáticos a un proyecto más cercano a la vida real de lo que habitualmente se puede ver en las distintas asignaturas de la carrera.V.P. dejándonos ciertas partes del proyecto sin poder implementar. Los problemas prácticos han aparecido debido a la necesidad que los miembros del proyecto han tenido para aprender un nuevo lenguaje de programación como es php y a la circunstancia de tener que refrescar las nociones que poseíamos de html. de Informática Aplicada (U.S. Hacer seguro la transmisión de datos sensibles de la aplicación como puedan ser las contraseñas. Conclusiones La realización de este proyecto de final de carrera nos ha permitido conocer de primera mano los pasos necesarios que deben seguirse para el desarrollo de una aplicación Web. En cuanto a las dificultades interpersonales eran debidas a que al inicio del proyecto ningún miembro del equipo conocía a los restantes miembros. que nos ayudó señalándonos los fallos que cometimos durante el desarrollo de la aplicación. obligándonos a tomar decisiones en cuanto al análisis. Nos ha dado la oportunidad de iniciar una aplicación desde sus inicios hasta casi su final. práctico e incluso interpersonal. tanto de índole teórico.) 66 . Otro problema con el que hemos tenido que enfrentarnos ha sido al hecho de no disponer del suficiente tiempo para completar el proyecto como hubiéramos querido. Como conclusión final podemos decir que la realización de este proyecto nos ha permitido crecer profesionalmente y también en ciertos aspectos personalmente. aunque siempre con la guía de nuestro tutor del proyecto. y del equipo directivo. lo que nos obligó a hacer un esfuerzo con el fin de adaptarnos unos a otros. Entre las principales faltas destacan: • • Implementación de la parte del administrador.T. lo que nos ayudará en nuestro futuro como profesionales del sector de la informática. mediante técnicas de encriptación de datos utilizando protocolos como ssl. diseño e implementación de la misma. Durante el trabajo en este proyecto nos hemos tenido que afrontar una serie de problemas. css y javascript o de adquirirlos desde cero en algunos casos. E.Vicente Sancho Guijarro Proyecto Final de Carrera 7.

de Informática Aplicada (U.wikipedia.V. DBD.) 67 .S. CDH Wikipedia. Johann-Christian Hanke PC Cuadernos Proyectos Profesionales PHP 5. Bibliografía • PHP 5. Johann-Christian Hanke.P. Sitios web dinámicos.T.Vicente Sancho Guijarro Proyecto Final de Carrera 8.org Página oficial de PHP www. Francisco Charte Ojeda ANAYA Multimedia JavaScript Tom Negrino.es. la enciclopedia libre www.php. Dori Smith Prentice Hall Apuntes de BDA.org • • • • • • E. PC Cuadernos Los secretos de PHP y MySQL.

directorios. registros). es un consorcio internacional que produce estándares para la World Wide Web.0 y CSS respectivamente. En el sitio web del consocio se pueden validar páginas web para comprobar si cumplen los estándares. un nuevo estándar público y abierto para la Web.Logotipos que la W3C le concede a las páginas web que cumplen con los estándares XHTML 1.Vicente Sancho Guijarro Proyecto Final de Carrera 9.V. Está dirigida por Tim Berners-Lee.1 .T. abreviado W3C. de Informática Aplicada (U.Logotipo de la W3C El World Wide Web Consortium. HTTP (HyperText Transfer Protocol. Algunas importantes recomendaciones son: • HTML • Hojas de Estilo en Cascada o Cascading Style Sheets (CSS) • DOM • RDF Marco de Descripción de Recursos • SOAP Simple Object Access Protocol • SVG • XForms • XML • WSDL Web Services Description Language Figura A. buscadores) y tecnologías (servicios Web. La mayoría de estas recomendaciones son secundadas por los fabricantes de herramientas (navegadores. lo que equivale a una homologación de la propuesta. Localizador Uniforme de Recursos). es decir. pues de ella depende que ningún fabricante alcance nunca el monopolio de explotación de la Web.) 68 . Anexos A. Esta competencia en exclusiva del W3C para crear estándares abiertos es crucial. Protocolo de Transferencia de HiperTexto) y HTML (Lenguaje de Marcado de HiperTexto) que son las principales tecnologías sobre las que se basa la Web.P. Un estándar pasa por los siguientes estados : • Working Draft (Borrador de trabajo) • Last Call (Última convocatoria) • Proposed Recommendation (Propuesta de recomendación) y • Candidate Recommendation (Recomendación candidata) Finaliza con la aprobación de la "Recomendación". E.W3C Figura A.S. el creador original de URL (Uniform Resource Locator.2 . editores.

Centros regionales establecidos en Alemania y Austria (oficina cojunta). establecida en el 2003. reemplazado por el ERCIM en el 2003 como el huésped europeo del consorocio y Universidad de Keio (Shonan Fujisawa Campus) en Japón en septiembre de 1996 como huésped asiatico. Hungría. Grecia.Oficina española del consorcio E. Estos organismos adminstran el consorcio el cual está integrado por: • Miembros del W3C.org .T. Uniéndose posteriormente en abril de 1995 INRIA en Francia. Marruecos. actual sede central del consorcio. de Informática Aplicada (U. Australia.Vicente Sancho Guijarro Proyecto Final de Carrera La W3C fue creada el 1 de octubre de 1994 por Tim Berners-Lee en el MIT.World Wide Web Consortium • www. A septiembre de 2006 contaba con 417 miembros (lista completa) • Equipo W3C (W3C Team) 65 investigadores y expertos a través del mundo (Directorio) • Oficinas W3C (W3C Offices). Más información: • www. China.w3c. Benelux (oficina conjunta). India. Corea del Sur. Israel. Italia.V. Hong Kong.P.es . Finlandia. España.S.w3c. esta albergada por la Fundación CTIC en el Parque Científico Tecnológico de Gijón (Principado de Asturias).) 69 . Suecia y Reino Unido e Irlanda (oficina conjunta) (Oficinas W3C) La oficina española del W3C.

Java. Anexo II (Herramientas usadas) • StarUML Figura 44 B.NET.1 . Dispone de una serie de módulos para tener funcionalidad añadida.V. C#. JScript. La hemos elegido debido a que es una aplicación libre y cumplía a la perfección con nuestras necesidades.) 70 .T.com E. etc. StarUML es capaz de generar código fuente a partir de diagramas en los siguientes lenguajes: C/C++. al mismo tiempo que es sencilla de utilizar y pese a ser usuarios nuevos en la aplicación no nos ha costado adaptarnos a la manera de trabajar con ella para la realización del diagrama de clases.Vicente Sancho Guijarro Proyecto Final de Carrera B. Visual Basic.P.Logotipo de StarUML StarUML es un proyecto de software libre disponible para Windows. VB.S. más concretamente para la realización del diagrama de clases. Esta aplicación ha sido utilizada en el desarrollo del proyecto en la fase de análisis. VBScript. aunque su funcionalidad básica es muy completa. Delphi. Se trata de una herramienta CASE (Computer-Aided Software Engineering) de modelado similar a otros como Rational Rose. de Informática Aplicada (U.staruml. Su sitio web oficial es: www.

lo que ves es lo que obtienes) de páginas web. por sus funcionalidades. fue duramente criticado por su escaso soporte de los estándares de la web.2 . La gran baza de este editor sobre otros es su gran poder de ampliación y personalización del mismo. puesto que este programa.P. Tiene soporte tanto para edición de imágenes como para animación a través de su integración con otras herramientas. sin embargo. rutinas de Javascript que hace que sea un programa muy fluido. ya que el código que generaba era con frecuencia sólo válido para Internet Explorer.V. una imagen o añadir un comportamiento) están hechas en Javascript-C lo que le ofrece una gran flexibilidad en estas materias.Logotipo de Dreamweaver 8 Adobe Dreamweaver es un editor WYSIWYG (What You See Is What You Get. Esto hace que los archivos del programa no sean instrucciones de C++ sino.) 71 . Las versiones originales de la aplicación se utilizaban como simples editores WYSIWYG. que todo ello hace.S. Esto se ha ido corrigiendo en las versiones recientes. recientemente.Vicente Sancho Guijarro Proyecto Final de Carrera • Dreamweaver Figura 45 B. creado por Adobe (anteriormente por Macromedia). versiones más recientes soportan otras tecnologías Web como CSS. por su soporte de los estándares del World Wide Web Consortium. sus rutinas (como la de insertar un hipervínculo. Es el programa de este tipo más utilizado en el sector del diseño y la programación web.T. E. Hasta la versión MX. aunque también se puede ejecutar en plataformas basadas en UNIX utilizando emuladores como Wine. Esta aplicación está disponible tanto para la plataforma MAC como Windows. JavaScript y algunos frameworks del lado servidor. de Informática Aplicada (U. que programadores y editores Web hagan extensiones para su programa y lo ponga a su gusto. Dreamweaver ha tenido un gran éxito desde finales de los 90 y actualmente mantiene el 90% del mercado de editores HTML. y no validaba como HTML estándar. su integración con otras herramientas como Adobe Flash y.

Un aspecto de alta consideración de Dreamweaver es su arquitectura extensible.S. El panel de comportamientos también permite crear JavaScript básico sin conocimientos de código. Dreamweaver oculta el código HTML de cara al usuario. ofreciendo así funcionalidades añadidas a la aplicación. algunos desarrolladores Web han criticado Dreamweaver en el pasado porque creaba código que no cumplía con los estándares del consorcio Web (W3C).PHP sin necesidad de tener experiencia previa en programación. también permite la conexión a Bases de Datos como MySQL y Microsoft Access. Macromedia incorporó herramientas de creación de contenido dinámico en Dreamweaver.) 72 . son pequeños programas. Dreamweaver permite al usuario utilizar la mayoría de los navegadores Web instalados en su ordenador para previsualizar las páginas Web.V. Dreamweaver goza del apoyo de una gran comunidad de desarrolladores de extensiones que hacen posible la disponibilidad de extensiones gratuitas y de pago para la mayoría de las tareas de desarrollo Web. Además de sus capacidades WYSIWYG. Adobe ha aumentado el soporte CSS y otras maneras de diseñar páginas sin tablas en versiones posteriores de la aplicación. Con la llegada de la versión MX. Un cliente FTP integrado. ASP. También ofrece la funcionalidad de subir las páginas al servidor de una manera sencilla por FTP. haciendo posible que alguien no entendido pueda crear páginas y sitios Web fácilmente. por ejemplo.Vicente Sancho Guijarro Proyecto Final de Carrera Como editor WYSIWYG que es. En lo fundamental de las herramientas HTML WYSIWYG. Esta herramienta ha sido usada para el desarrollo de las páginas web en PHP debido a que es la más extendida y cumple como editor PHP ofreciéndote ayuda en línea mientras escribes líneas de código. que permite subir los archivos editados inmediatamente al sitio en Internet. También dispone de herramientas de administración de sitios dirigidas a principiantes como. JSP (JavaServer Pages). JSP o ASP. que van desde simple efectos rollover hasta completas cartas de compra.P. ASP (Active Server Pages). Además. permite el uso de "Extensiones". Es decir. Función de autocompletar y resaltado de la sintaxis para instrucciones en HTML y lenguajes de programación como PHP. para filtrar y mostrar el contenido utilizando tecnología de script como. hasta el sitio Web completo. No obstante. ColdFusion. tal y como se conocen. Las extensiones. E. tiene las funciones típicas de un editor de código fuente para la Web: Un administrador de sitios. de Informática Aplicada (U. lo cual va en detrimento de la ejecución de las páginas en el navegador Web. que cualquier desarrollador Web puede escribir (normalmente en HTML y Javascript) y que cualquiera puede descargar e instalar. por lo que cubría nuestras necesidades. Esto puede ser especialmente cierto ya que la aplicación facilita en exceso el diseño de las páginas mediante tablas. la habilidad de encontrar y reemplazar líneas de texto y código por cualquier tipo de parámetro especificado.NET. Algunos desarrolladores Web critican esta propuesta ya que crean páginas HTML más largas de lo que solían ser al incluir mucho código inútil. Características. por ejemplo. para agrupar los archivos según el proyecto al que pertenezcan.T.

Vicente Sancho Guijarro Proyecto Final de Carrera • Eclipse Figura 46 B. Este último proyecto y el PHP Project Tools son los que han sido utilizados en este trabajo como interfaz de programación en php. multiplataforma. E. existen otros proyectos que permite ampliar las capacidades del entorno.S. de Informática Aplicada (U.P.3 Pantalla inicial Eclipse 3.0 metamodel para la plataforma Eclipse diseñada para soportar el desarrollo de herramientas de modelado y el Proyecto Plataforma de Herramientas Web (WTP). Entre ellas cabría destacar UML2 una implementación de UML 2.T.2 Eclipse es un entorno de desarrollo integrado (IDE en inglés) en código abierto. Entre los principales lenguajes de programación que soporta actualmente eclipse se encuentran: Java ANSI C C++ JSP PHP Además de la variedad de lenguajes de programación soportados. En un principio eclipse fue desarrollado para la programación en Java.) 73 . sin embargo con el tiempo se fueron incorporando nuevos lenguajes de programación gracias a pluging que fue aportando la comunidad eclipse. Aparte de los lenguajes de programación mencionados anteriormente. eclipse ha sido traducido a un gran número de idiomas lo que permite una mayor configuración y adaptabilidad al usuario.V.

5 Eclipse Auto completado de variable La página inicial de esta aplicación es: http://www.eclipse.S.T.org/ E.P.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 47 B.) 74 .4 Eclipse .V. de Informática Aplicada (U.Pantalla principal El motivo de la elección de este entorno para el desarrollo de los ficheros php fueron diversos destacando los siguientes: Utilizar una herramienta en código abierto Resaltado de sintaxis de php Auto completado de variables php Figura 48 B.

6 Dia – Pantalla de Inicio Dia es un programa para dibujar diagramas.) 75 . Figura 50 B. el cual permite escoger entre una elevada variedad de diagramas.T. Este programa es de código abierto y múltiplataforma. de Informática Aplicada (U.P.Vicente Sancho Guijarro Proyecto Final de Carrera • Dia Figura 49 B.V.S.7 Dia – Eligiendo tipo de diagrama E. Originalmente este proyecto fue desarrollado para utilizarse dentro del proyecto Gnome de Linux.

incluidos los diagramas entidad-relación que hemos desarrollado durante este proyecto.Vicente Sancho Guijarro Proyecto Final de Carrera Como se ha dicho anteriormente.de/index_en.) 76 . de Informática Aplicada (U.V. esta aplicación permite crear diagramas. Figura 51 B. La dirección inicial esta aplicación es: http://dia-installer. Desde un punto estético. sin embargo es capaz de llevar a cabo las tareas que se esperan de él.html E.7 Dia – Espacio de trabajo.S.P.T. el programa deja que desear.

en E.org/en/xampp.3. de Informática Aplicada (U. es decir.).1 y la noción de sitio virtual. La instalación es sencilla y es bastante limpia ya que existe la posibilidad de únicamente copiando los ficheros al ordenador ponerlo en marcha.S. en nuestro ordenador doméstico antes de subirlo al servidor suministrado por el director del proyecto. pero más tarde fue reescrito por completo.html.Panel de Control de XAMPP El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD. De esta forma podemos comprobar el estado de cada servidor. Figura 53 C. Su nombre se debe a que originalmente Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. centrándonos únicamente en los tres primeros servidores.T.) 77 . Se trata de un servidor libre bajo licencia GNU y se puede descargar gratuitamente desde www. Otra de las ventajas es que es multiplataforma y existen múltiples módulos que se le pueden añadir como son phpMyAdmin u OpenSSL. El paquete también nos ofrece un sencillo panel de control desde donde podemos controlar los distintos servidores que lo componen.1 . acompañado de un servidor PHP y otro MySQL. además de otros como el servidor FTP pero que a nosotros no nos interesan en este proyecto.XAMPP Figura 52 C. Era. iniciarlo.P.Logotipo de XAMPP Xampp es un paquete que integra un servidor web. pararlo o administrarlo.apachefriends. como es Apache. GNU/Linux. que implementa el protocolo HTTP/1.Vicente Sancho Guijarro Proyecto Final de Carrera C. En nuestro proyecto lo hemos usado para poder probar las páginas que hemos generado en local. Macintosh y otras. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.2 . etc. Windows.V.

eliminar y alterar tablas. Figura 54 C. utilizando Internet.S. a patchy server (un servidor "parcheado"). administrar privilegios. La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas puede en la mayoría de los casos ser abusada solamente por los usuarios locales y no puede ser accionada remotamente. También ha sido la herramienta ofrecida por el director del proyecto para manejar la base de datos en el servidor donde debíamos colgar la aplicación final. Figura 55 C. exportar datos en varios formatos y está disponible en 50 idiomas. de Informática Aplicada (U.3 . bases de datos de autenticación y negociado de contenido. Apache es el servidor HTTP más usado.) 78 . siendo el servidor HTTP del 70% de los sitios web en el mundo y creciendo aún su cuota de mercado (estadísticas históricas y de uso diario proporcionadas por Netcraft). Se encuentra disponible bajo la licencia GPL.Logotipo de phpMyAdmin E. borrar. pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Esta herramienta nos ha sido de gran ayuda tanto para crear como para introducir datos de prueba o para comprobar que las operaciones de borrado e inserción desde PHP se hacían correctamente. crear. ejecutar cualquier sentencia SQL. Actualmente puede crear y eliminar Bases de Datos. Como esta herramienta se ejecuta en máquinas con Servidores Webs y Soporte de PHP y MySQL. Apache presenta entre otras características mensajes de error altamente configurables. editar y añadir campos. Apache tiene amplia aceptación en la red: en el 2005.Vicente Sancho Guijarro Proyecto Final de Carrera inglés.V. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.Logotipo del servidor web Apache PhpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas webs.P. Este proyecto se encuentra vigente desde el año 1998.T. la tecnología utilizada ha ido variando durante su desarrollo. administrar claves en campos.4 .

así como el motivo de la reserva. el gimnasio. etc.T.P. El usuario confirma la reserva. 7.Vicente Sancho Guijarro Proyecto Final de Carrera D.S. el número de horas que se quieren reservar. Si está disponible 7. como pueden ser la pista de fútbol. el aula de usos múltiples. de Informática Aplicada (U.Plantillas de los casos de uso Caso de Uso Actores Actores secundarios Propósito Resumen Reservar Instalaciones Usuario Registrado (iniciador) Ninguno Permitir la reserva o anulación de instalaciones del centro. También deberá proporcionar el motivo de la reserva. El usuario deberá seleccionar una instalación. 3. síncronas Ext. Precondiciones Postcondiciones El sistema deberá guardar la reserva. Únicamente E. El sistema muestra una lista con las instalaciones que se pueden reservar. Para dicha instalación. El sistema comprueba si la instalación está disponible para dicha fecha 6. la hora de inicio. Ext. En la reserva se hará constar la fecha.1 El sistema guardará la reserva. El Usuario Registrado debe haber iniciado sesión correctamente. 5.V. Incluye Extiende Hereda de 1. 4. el usuario deberá seleccionar una fecha de las disponibles (días en que dicha instalación no esta reservada). Se podrán reservar las instalaciones del centro. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Anular Reservas Usuario Registrado (iniciador) Ninguno Anular reservas efectuadas por el profesor o por el alumno Permite la cancelación de las reservas realizadas tanto sobre instalaciones como de equipamientos de la escuela (esta última posibilidad disponible únicamente para profesores).) 79 . El caso de uso comienza cuando el usuario registrado selecciona “Reservar Instalaciones” 2.

Ninguna 1. El sistema eliminará la reserva seleccionada.) 80 . Ext.P. El sistema eliminará las reservas anuladas por los usuarios registrados. Si es un profesor 3. El usuario registrado confirmará la cancelación de la reserva 6. síncronas Ext. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos Mostrar Tablón de Anuncios Usuario Registrado (iniciador) Ninguno Permite la visualización del tablón de anuncios. sincronas E. Se mostrarán los anuncios aparecidos en el tablón de anuncios del colegio. Mostrar Reservas Ext. El sistema mostrará las reservas efectuadas por el usuario registrado 3. El sistema devuelve los anuncios publicados en el tablón de anuncios. # En 4 el usuario registrado puede cancelar la anulación de reservas El profesor o por el alumno deben haber iniciado sesión correctamente.S.Vicente Sancho Guijarro Proyecto Final de Carrera podrán eliminar aquellas reservas que hayan efectuado ellos mismos Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos 1. El usuario registrado debe haber iniciado sesión correctamente. de Informática Aplicada (U.T.V. El caso de uso comienza cuando el usuario registrado selecciona “Anular Reserva” 2.1 El sistema mostrará las reservas de material realizadas por el profesor 4. El usuario registrado seleccionará una reserva 5. El caso de uso comienza cuando el usuario registrado selecciona “Mostrar Tablón de Anuncios” 2.

asíncronas Proyecto Final de Carrera Caso de Uso Actores Actores secundarios Propósito Resumen Dar de alta Alumno Administrador (iniciador) Ninguno Dar de alta a un nuevo alumno en el colegio. El administrador confirmará la creación de un nuevo usuario profesor 4. # En 2 el código de alumno es asignado automáticamente. El administrador será el encargado de dar de alta a nuevo alumnos en el centro.Vicente Sancho Guijarro Ext. El administrador rellenará los campos del formulario de alta de alumnos (nombre.) 81 . código postal. E. teléfono de contacto. aunque no necesariamente todas en este instante. población. nombre de los padres. nombre de los padres. El sistema guardará los datos del nuevo usuario profesor. porque se han dado de baja en el centro en el caso de los alumnos. # En 3 el administrador puede cancelar la acción. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Dar de Baja Alumno Administrador (iniciador) Ninguno Eliminar a un alumno del sistema El administrador podrá eliminar usuarios para que ya no puedan acceder a su correspondiente información personalizada.T. curso. apellidos. Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos 1. contraseña) El administrador debe haber iniciado sesión correctamente.S. apellidos. síncronas Ext.P. población. de Informática Aplicada (U. domicilio. código del grupo al que asistirá. El sistema almacenará la información del nuevo profesor. El caso de uso comienza cuando el administrador selecciona “Dar de Alta Alumnos” 2. Para ello se deberá de dar ciertos datos del alumno a ingresar (nombre. curso. código del grupo al que asistirá. Ext. El sistema comprobará que todos los datos tengan una estructura correcta 5. 3.V. teléfono de contacto. código postal. contraseña)). domicilio.

S. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Mostrar Notas Alumno/Progenitor (iniciador) Ninguno Mostrar las notas del alumno Se podrán consultar las notas obtenidas por el alumno en las asignaturas en las que esté matriculado. El administrador confirma que desea eliminar a ese alumno 5. El sistema borra los datos del alumno. También aparecerá la nota media del grupo para poder tener una idea de la marcha del grupo en general. El administrador selecciona el alumno a eliminar 3. 1. # En 2 el administrador puede obtener una lista con todos los alumnos y buscar al que quiere dar de baja o bien puede introducir parte o el nombre completo del alumno y que el sistema le devuelva un listado con los alumnos que coincidan con el término de búsqueda.V.Vicente Sancho Guijarro Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos Proyecto Final de Carrera El administrador debe haber iniciado sesión correctamente. Ext.) 82 . El caso de uso comienza cuando el administrador selecciona “Eliminar alumno/padre” 2. El alumno/Progenitor debe haber iniciado sesión correctamente. Ext. El sistema deberá eliminar al alumno. El sistema devuelve los datos del alumno a eliminar 4.P. de Informática Aplicada (U. Ninguna Precondiciones Postcondiciones Incluye Extiende Hereda de E. síncronas # En 5 el administrador puede cancelar la acción.T.

Ninguna Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos A.V. También devolverá la nota media de todos los alumnos de cada asignatura. síncronas Ext.) 83 . síncronas Ext. solamente se mostrarán las notas del alumno que haya iniciado el caso de uso. El sistema devolverá las notas de las asignaturas que tenga el alumno. apellidos y dirección de correo electrónico de todos los alumnos del mismo grupo del alumno que inicia el caso de uso.P. de Informática Aplicada (U.T. El caso de uso comienza cuando el alumno selecciona “Listar Alumnos” B. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Listar Alumnos Alumno/Progenitor (iniciador) Ninguno Mostrar la lista de alumnos del mismo grupo al que acude el alumno Se mostrará una lista con los alumnos del mismo grupo al que pertenece.S. Ext. asíncronas Caso de Uso Actores Actores secundarios Propósito Poner Notas Profesor (iniciador) Ninguno Calificar a los alumnos del profesor E. Ext. El sistema devuelve el nombre. # En 2. El alumno/Progenitor debe haber iniciado sesión correctamente.Vicente Sancho Guijarro Flujo de eventos Proyecto Final de Carrera 1. El caso de uso comienza cuando el alumno selecciona “Mostrar Notas” 2. sin mostrar las notas del resto de alumnos de su grupo. su dirección de correo electrónico. Los datos mostrados serán nombre y apellidos del alumno.

Vicente Sancho Guijarro Resumen

Proyecto Final de Carrera

Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos

Desde aquí se podrá introducir las notas de cada alumno que podrán ser visualizadas posteriormente por los alumnos desde su intranet. Los alumnos aparecerán ordenados por grupos. En esta sección también se podrán modificar notas que hayan sido previamente introducidas. El profesor debe haber iniciado sesión correctamente. Las notas se almacenan en el sistema.

Listar Alumnos del Profesor 1. El caso de uso comienza cuando el profesor selecciona “Poner Notas” 2. Para cada alumno de un grupo 2.1. Escribe la nota del alumno en un formulario 2.2. Acepta la calificación del alumno 3. El sistema almacena cada nota de los alumnos antes de pasar al siguiente alumno # En 2.1 puede cancelar la calificación de un alumno. # En 2 puede cambiar la nota de un alumno al que ya hubiera calificado.

Ext. síncronas

Ext. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Poner Faltas de Asistencia Profesor (iniciador) Ninguno Poner las faltas de asistencia de los alumnos del profesor. Desde aquí se podrá introducir las faltas de asistencia de cada alumno. Las faltas de asistencia podrán justificarse a la vez que se introducen si el profesor tenía constancia de que el alumno iba a faltar. En caso contrario dejará el apartado de justificar sin cumplimentar a la espera de que el alumno presente la justificación. El profesor debe haber iniciado sesión correctamente. Las faltas de asistencia se guardan en el sistema.

Precondiciones Postcondiciones Incluye Extiende Hereda de

Listar Alumnos del Profesor

E.T.S. de Informática Aplicada (U.P.V.)

84

Vicente Sancho Guijarro Flujo de eventos

Proyecto Final de Carrera

1. El caso de uso comienza cuando el profesor selecciona “Poner Faltas de Asistencia” 2. Para cada alumno que haya faltado 2.1. El profesor escribe la fecha de la falta, la asignatura y si está justificada en el formulario 2.2. Confirma la falta de asistencia. 3. El sistema guarda la falta de asistencia # En 2.1 el profesor puede cancelar la inclusión de la falta de asistencia # En 2.1 la fecha que aparecerá por defecto será la actual del sistema, aunque el profesor podrá cambiarla.

Ext. síncronas

Ext. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Quitar/Modificar Faltas de Asistencia Profesor (iniciador) Ninguno Quitar o modificar las faltas de asistencia de los alumnos del profesor. Se podrán quitar las faltas de asistencia de alumnos, por ejemplo si se han introducido erróneamente. También se podrán modificar las faltas de asistencia, normalmente si el alumno presenta un justificante, o para cambiar otro valores (fecha, asignatura) El profesor debe haber iniciado sesión correctamente. Las faltas de asistencia modificadas se guardan en el sistema. En caso de quitar la falta de asistencia, ésta se eliminará del sistema. Listar Alumnos del Profesor

Precondiciones Postcondiciones Incluye Extiende Hereda de

E.T.S. de Informática Aplicada (U.P.V.)

85

Vicente Sancho Guijarro Flujo de eventos

Proyecto Final de Carrera

Intenciones de usuario Obligaciones del sistema 1. El caso de uso comienza cuando el profesor selecciona “Quitar/Modificar Faltas de Asistencia” 2. El sistema devuelve una lista con todos los alumnos de ese profesor, ordenados por grupos y que tengan alguna falta de asistencia en el último mes (si fuera necesario se podrían pedir de meses anteriores) 3. El profesor selecciona el alumno al que modificar o quitar la falta 3.1. Se mostrarán los detalles de la falta de asistencia que tiene guardado el sistema (fecha, asignatura, si está justificada) 3.2. Si el profesor quiere quitar esta falta de asistencia 3.2.1. Confirma que desea quitar la falta de asistencia 3.3. Si no 3.3.1. El profesor podrá cambiar los detalles de la falta de asistencia (fecha, asignatura, si está justificada) 3.3.2. Confirma la falta de asistencia. 4. El sistema se actualiza (borrando la falta si que profesor la eliminó, o actualizando los campos en caso contrario En 3, 3.1, 3.2, 3.3.1 el profesor puede actualización/eliminación de la falta de asistencia cancelar la

Ext. síncronas Ext. asíncronas

E.T.S. de Informática Aplicada (U.P.V.)

86

Vicente Sancho Guijarro

Proyecto Final de Carrera

E. Guía del usuario
Usuario anónimo
Este tipo de usuario (podría tratarse de alumnos o profesores todavía no identificados) solamente podrán acceder a la parte pública del colegio.

a. Inicio
Será esta la página a la que se accederá cuando el usuario anónimo acceda a la Web, si no introduce alguna otra dirección.

Figura 56 Usuario anónimo – inicio

Durante su recorrido por las secciones públicas de la Web el usuario siempre dispondrá de un menú navegación que le ayudará en su recorrido por la Web. En la parte inferior de la ventana aparecen una serie de noticias que el colegio considera de interés para todos sus miembros.

E.T.S. de Informática Aplicada (U.P.V.)

87

Vicente Sancho Guijarro

Proyecto Final de Carrera

Figura 57 Usuario anónimo - menú navegacional

b. Historia
En página el usuario podrá conocer aquellos hechos históricos que han sucedido en la vida de la escuela.

Figura 58 Usuario anónimo – Historia

c. Equipo directivo
Aquí el usuario podrá conocer los datos de las personas que pertenecen al equipo directivo del centro (al director, jefe de estudios y al secretario)

E.T.S. de Informática Aplicada (U.P.V.)

88

) 89 .Vicente Sancho Guijarro Proyecto Final de Carrera Figura 59 Usuario anónimo . Figura 60 Usuario anónimo .T. Se dispone de la normativa en dos formatos: tipo Word y tipo pdf.S. Reglamento Desde aquí se podrá tener acceso a la normativa que rige en el colegio.reglamento E.P.Equipo directivo d. de Informática Aplicada (U.V.

Vicente Sancho Guijarro

Proyecto Final de Carrera

e. Calendario escolar
Esta página muestra calendario con la fecha actual. Los días especiales como pueden ser eventos importantes para el colegio o festivos, se remarcan de forma distinta al resto para que destaque. Si el usuario hace clic en cualquiera de ellos, en la parte inferior de la ventana indicando el tipo de evento asociado a ese día, si tiene asociado algún evento.

Figura 61 Usuario anónimo – Calendario

f. Localización
Esta página proporciona información acerca de la localización del colegio. Además dispone de un enlace al ayuntamiento de Náquera que proporciona un callejero de su localidad a fin de poder encontrar el colegio.

E.T.S. de Informática Aplicada (U.P.V.)

90

Vicente Sancho Guijarro

Proyecto Final de Carrera

Figura 62 Usuario anónimo – localización

La ventana desplegada muestra dos imágenes. La de la izquierda representa todo el pueblo a una escala menor. En esta imagen se dispone de un recuadro que puede moverse por dicha imagen, esto provoca que la imagen de la derecha muestre el plano contenido en el recuadro a una mayor escala que permite poder ver mejor el nombre de las calles y sitios de consideración.

Contactar
Esta página dispone de un pequeño formulario que permite a los usuarios enviar información, quejas, sugerencias al colegio. Sólo hace falta introducir el correo electrónico y el texto con los datos que el usuario considere de interés. Una vez efectuado esto, pulsar el botón de enviar.

E.T.S. de Informática Aplicada (U.P.V.)

91

Vicente Sancho Guijarro

Proyecto Final de Carrera

Figura 63 Usuario anónimo – contacto

g. Enlaces
Esta página muestra aquellos enlaces que el colegio considera del interes de toda su comunidad (padres, profesores, alumnos)

Figura 64 Usuario anónimo – enlaces

E.T.S. de Informática Aplicada (U.P.V.)

92

Vicente Sancho Guijarro

Proyecto Final de Carrera

Intranet del profesor
En primer lugar, para poder acceder a la intranet del profesor es necesario identificarse. Esto puede hacer introduciendo el nombre de usuario y contraseña en la página de inicio. En las cajas de texto que aparece en la esquina izquierda inferior, como puede verse en la imagen.

Figura 65 Pantalla Inicial

Una vez que el sistema confirme nuestra identidad, automáticamente nos llevará a la intranet del profesor

E.T.S. de Informática Aplicada (U.P.V.)

93

Vicente Sancho Guijarro
Figura 66 Intranet del profesor

Proyecto Final de Carrera

Donde podremos ver el nombre completo del profesor conectado. A la izquierda puede verse un menú de navegación, que nos permitirá movernos por toda la aplicación y que siempre estará disponible.

Figura 67 Menú navegacional

La primera opción “Inicio” nos llevará devuelta a la página inicial de la intranet del profesor, en la que nos encontramos ahora.

a. Alumnos
La siguiente opción, “Alumnos”, nos llevará a una página, donde podremos consultar los alumnos a los que imparte clase el profesor, organizados por asignatura que da el profesor.

Figura 68 Intranet Profesor - Alumnos

E.T.S. de Informática Aplicada (U.P.V.)

94

datos cargados E.V. Figura 69 Escogiendo asignatura Una vez escogida una asignatura automáticamente se cargarán los datos de los alumnos y la asignatura y si como de donde se imparte.S.Vicente Sancho Guijarro Proyecto Final de Carrera Hay que escoger una asignatura de las disponibles. Figura 70 Intranet Profesor . como puede verse en la siguiente imagen.T.P. De los alumnos se muestran los apellidos el nombre y el nombre de usuario. de Informática Aplicada (U.) 95 .

) 96 . Figura 72 Intranet Profesor – Notas E. Si no está seleccionado el cuatrimestre las notas que se introduzcan no se guardarán en sistema. Profesores El siguiente elemento del menú navegacional es “Profesores”. Aquí podemos ver los datos públicos de todos los profesores del centro. Para poder comenzar a asignar notas es necesario haber escogido previamente la asignatura. Además hará falta seleccionar el cuatrimestre que se quiere puntuar.S. Desde aquí se podrán introducir las notas de los alumnos que asisten a alguna asignatura que imparte el profesor conectado. tal como sucedía en la página de los alumnos. Los alumnos se encuentran organizados por asignaturas.V.Vicente Sancho Guijarro Proyecto Final de Carrera b.T. Cuando se seleccione el cuatrimestre. Figura 71 Intranet Profesor – profesores c. Notas El siguiente elemento del menú es “Notas”.P. se mostrarán las notas que ya hubieran sido asignadas. de Informática Aplicada (U.

Para ello habrá que pulsar el “Selecciona Dia”. de Informática Aplicada (U. Lo siguiente es escoger la fecha de la falta.) 97 .S. y esta falta quedaría asociada con la asignatura en la que cometió la falta de asistencia.P.T. el profesor podrá rellenar los datos de las faltas de asistencia de los alumnos.V. es necesario escoger la asignatura que se quiera consultar. si tienen decimales se puede utilizar indistintamente el punto o la coma (automáticamente esto cambiará a un punto para que el sistema pueda trabajar con el valor) La nota debe estar entre 0 y 10.Vicente Sancho Guijarro Proyecto Final de Carrera Se podrá optar por dos modos para guardar las notas. que desplegará un calendario donde habrá que hacer clic en el día escogido. El primero consistiría en ir alumno a alumno introducir la nota y hacer clic en el botón de “Guardar”. Únicamente podrá poner faltas de asistencia a aquellos alumnos que tengan clase con el profesor. E. Los valores a introducir deben ser números.mensaje error d. Faltas asistencia En esta página. El segundo método consiste en puntuar a todos los alumnos de una vez y pulsar el botón “Guardar Todos” que guardaría las notas de todos los alumnos a la vez.notas . En caso de introducir un valor no válido el sistema mostrará un mensaje como el siguiente: Figura 73 Intranet Profesor . Como sucedía en páginas anteriores.

T. Figura 75 Intranet profesor – falta Después de cada alumno aparecen una serie de elementos que permiten el manejo de las faltas.S. de Informática Aplicada (U. Para conseguir poner la falta a los alumnos seleccionados será necesario pulsar el botón “Poner falta a todos”. no hace falta tocarlo. A continuación viene un checkbox que indica si la falta a sido justificada (si esta marcada) o todavía no (si no está seleccionada.) 98 . El siguiente elemento es la fecha.P.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 74 Intranet Profesor . porque el sistema coge la fecha seleccionada inicialmente en el calendario.falta – Calendario Una vez se haya escogido el día y la asignatura se cargarán los alumnos. por defecto) A continuación vienen dos botones que permiten poner la falta o quitarla (si tenia) al alumno que esté en la misma fila que el botón pulsado.V. E. El primero por la izquierda permite seleccionar varios alumnos a la vez para ponerles la falta. También aparecerán si para la fecha escogida los alumnos ya le habían puesto una falta de asistencia.

de Informática Aplicada (U. E. pulsando en “Reservar instalación”. si lo desea.P. Esto producirá que el calendario marque en azul oscuro aquellos días en que esa instalación en concreto ha sido previamente reservada.reserva de instalaciones.T. Instalaciones Esta página permite ver las reservas de las instalaciones que ha efectuado el profesor. no pudiendo seleccionarlos. También le permite anular la reserva.S. Deberemos escoger una instalación que queramos reservar del menú desplegable.) 99 .V. Figura 77 Intranet Profesor .Vicente Sancho Guijarro Proyecto Final de Carrera e. Figura 76 Intranet Profesor – instalaciones Desde aquí podremos acceder a reservar nuevas instalaciones.

V. para hacer efectiva la reserva deberemos de indicarle el motivo por el que deseamos realizar la reserva. Esto producirá que el calendario marque en azul oscuro aquellos días en que esa instalación en concreto ha sido previamente reservada.reserva confirmada f. no pudiendo seleccionarlos. Deberemos escoger una equipación de las disponibles del menú desplegable.Vicente Sancho Guijarro Proyecto Final de Carrera A continuación.P. Figura 79 Intranet Profesor – equipaciones Desde aquí podremos acceder a reservar nuevas equipaciones. Como mínimo harán falta 5 caracteres. Esta funcionalidad es prácticamente idéntica a la de instalaciones.S. También le permite anular la reserva. si lo desea. Equipaciones Esta página permite ver las reservas de las equitaciones que ha efectuado el profesor. E. pulsando en “Reservar equipación”. Una vez efectuada la reserva nos redirigirá directamente a la página de instalaciones donde podremos ver que efectivamente se tiene una nueva reserva.) 100 . Figura 78 Intranet Profesor . de Informática Aplicada (U.T.

de Informática Aplicada (U.T.) 101 . Una vez efectuada la reserva nos redirigirá directamente a la página de equipaciones donde podremos ver que efectivamente se tiene una nueva reserva. para hacer efectiva la reserva deberemos de indicarle el motivo por el que deseamos realizar la reserva.reserva confirmada E.V.S. Figura 81 Intranet Profesor .Vicente Sancho Guijarro Proyecto Final de Carrera Figura 80 Intranet Profesor .reserva de equipaciones. A continuación.P. Como mínimo harán falta 5 caracteres.

de Informática Aplicada (U. Para insertar uno nuevo únicamente hay que rellenar dos campos que se encuentran al final de la página. E.S.tablón anuncios En la figura anterior puede verse como quedaría un nuevo anuncio. Figura 82 Intranet Profesor . La información restante que podía verse en el anuncio anterior la obtendrá el sistema de forma automática.) 102 . Tablón de anuncios Esta página nos permitirá insertar nuevos anuncios.T. Figura 83 Intranet Profesor .V.Insertar anuncio Sólo hay que rellenar el campo de título y el de texto (que contendrá el anuncio en sí).Vicente Sancho Guijarro Proyecto Final de Carrera g. que podrán ser consultados por todos los miembros del colegio cuando accedan a sus respectivas intranets.P.

S. Figura 84 Pantalla Inicial Una vez que el sistema confirme nuestra identidad.P. para poder acceder a la intranet del profesor es necesario identificarse.) 103 .T. En las cajas de texto que aparece en la esquina izquierda inferior. de Informática Aplicada (U. automáticamente nos llevará a la intranet del alumno Figura 85 Intranet del alumno E. como puede verse en la imagen.Vicente Sancho Guijarro Proyecto Final de Carrera Intranet de alumno En primer lugar. Esto puede hacer introduciendo el nombre de usuario y contraseña en la página de inicio.V.

V.S. de Informática Aplicada (U. Horario Esta página nos mostrará el horario semanal que tiene el alumno conectado Figura 87 Intranet alumno – horario E.) 104 . A la izquierda puede verse un menú de navegación.Vicente Sancho Guijarro Proyecto Final de Carrera Donde podremos ver el nombre completo del alumno conectado. que nos permitirá movernos por toda la aplicación y que siempre estará disponible. Figura 86 Menú navegacional La primera opción “Inicio” nos llevará devuelta a la página inicial de la intranet del alumno. a.T. en la que nos encontramos ahora.P.

Figura 88 Intranet alumno . el profesor. Listado profesores Desde aquí obtendremos la información acerca de los profesores que impartan clase de alguna asignatura al grupo al que asiste el alumno actualmente conectado.P. el horario de tutorías.S. el tutor y el listado de alumnos matriculados con él en dicho grupo.listado profesores Entre la información que aparece se encuentra la asignatura impartidas.listado alumno c.) 105 . el delegado. de Informática Aplicada (U. E. Figura 89 Intranet alumno . Listado alumnos Esta página el alumno podrá consultar los datos del grupo en el que está matriculado: el curso y letra del grupo.Vicente Sancho Guijarro Proyecto Final de Carrera b. si tiene. y su correo electrónico.V.T.

Faltas de asistencia Desde aquí el alumno podrá consultar las faltas de asistencia que haya podido cometer y si las faltas las tiene justificadas o no. e.faltas asistencia E.) 106 .S.V. Figura 91 Intranet alumno .T. así como la asignatura a la que falto y la fecha.P. Notas Esta página mostrará las notas que tenga el alumno de las distintas asignaturas Figura 90 Intranet alumno – notas Sólo aparecerán aquellas asignaturas que tengan alguna nota puesta. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera d.

si ha realizado alguna. Menú semanal Desde aquí se podrá consultar el menú que servirá el comedor del colegio los próximos días.Vicente Sancho Guijarro Proyecto Final de Carrera f.V. También le permite anular la reserva.T.P. si lo desea.S. Instalaciones Esta página permite ver las reservas de las instalaciones que ha efectuado el alumno. de Informática Aplicada (U. Figura 92 Intranet alumno – menú h.) 107 . Figura 93 Intranet Alumno – instalaciones E.

T. Una vez efectuada la reserva nos redirigirá directamente a la página de instalaciones donde podremos ver que efectivamente se tiene una nueva reserva.P. Figura 94 Intranet alumno . de Informática Aplicada (U.S. Esto producirá que el calendario marque en azul oscuro aquellos días en que esa instalación en concreto ha sido previamente reservada. para hacer efectiva la reserva deberemos de indicarle el motivo por el que deseamos realizar la reserva. Como mínimo harán falta 5 caracteres.reserva confirmada E.) 108 . Figura 95 Intranet alumno .V.Vicente Sancho Guijarro Proyecto Final de Carrera Desde aquí podremos acceder a reservar nuevas instalaciones. no pudiendo seleccionarlos. pulsando en “Reservar instalación”. A continuación. Deberemos escoger una instalación que queramos reservar del menú desplegable.reserva de instalaciones.

Figura 97 Intranet Profesor . de Informática Aplicada (U. que podrán ser consultados por todos los miembros del colegio cuando accedan a sus respectivas intranets.) 109 . La información restante que podía verse en el anuncio anterior la obtendrá el sistema de forma automática.Insertar anuncio Sólo hay que rellenar el campo de título y el de texto (que contendrá el anuncio en sí).T. Para insertar uno nuevo únicamente hay que rellenar dos campos que se encuentran al final de la página. Tablón de anuncios Esta página nos permitirá insertar nuevos anuncios. Figura 96 Intranet Profesor .P.V.tablón anuncios En la figura anterior puede verse como quedaría un nuevo anuncio.S.Vicente Sancho Guijarro Proyecto Final de Carrera i. E.

echo "<td style='text-align: center.' border='1' cellpadding='2' cellspacing='2'>". echo "<tbody> <tr> <td style='text-align: center.T.PHP . echo "<td style='width: 255px. echo "<title>Cambio de base de datos</title></head>". if(!$db) { E.Vicente Sancho Guijarro Proyecto Final de Carrera F. echo " " . $db = cambiar_a_bd_i($link). text-align: center. require_once ('interfaz_db. width: 281px. echo "</tr>". echo "<font><b>Cambio a la base de datos de WebCole </b></font><br>\n".'><big><span style='font-weight: bold.'>".php". text-align: left. text-align: center.php". echo "<tbody> <tr> <td style='text-align: center. text-align: center. echo "<td style='text-align: center. echo "<tr><td style='width: 281px.'>". function pasar_a_webcole($link) { echo "<html><head>". echo "<td style='width: 255px. width: 100%. echo "<tr><td style='width: 281px. width: 255px. "\n".php'). width: 163px. text-align: left. width: 281px. text-align: center. require_once "conexion_i. echo "<table style='text-align: left.'>&nbsp.php (Base de datos) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php /* * Created on 06/05/2007 * * To change the template for this generated file go to * Window .Code Templates */ require_once "conexion.Preferences .</td></tr> \n".'>Error</span></big></td>". } else { echo "<td style='width: 163px. echo "</td>".' border='1' cellpadding='2' cellspacing='2'>". echo "</td>".'>".'>".PHPeclipse . fontweight: bold.S. Código Setup. width: 255px. fontweight: bold. echo "</td>".'>Error</span></big></td>". echo "<table style='text-align: left. echo "</tr>".V. width: 163px. de Informática Aplicada (U.'><big>Descripcion</big></td>". echo "<td style='text-align: center. width: 100%.P.'><big><span style='font-weight: bold. echo "<font color=red>Error </font>\n".'><big><span style='font-weight: bold. echo "<td style='text-align: center.) 110 . $db =cambiar_a_bd($link). echo "<font color=green>Correcto</font>\n". mysql_error() .'><big><span style='font-weight: bold. } } function pasar_a_webcole_i($link) { echo "<html><head>". echo "<title>Cambio de base de datos</title></head>". echo "<font><b>Cambio a la base de datos de WebCole </b></font><br>\n".'>Estado</span></big></td>".'><big>Descripcion</big></td>". echo "</td>\n".'>".'>Estado</span></big></td>". echo "</td>\n". if(!$db) { echo "<td style='width: 163px.

\'2\'.S. ' `telefono` VARCHAR(9) NULL. ' 101 .'. ' TYPE = innodb.\'4\'.V. 83 echo "</td>". ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci 142 NULL. ' 97 .' 121 .' 120 . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 127 NOT NULL. ' 140 . ' `direccion` VARCHAR(50) CHARACTER SET utf8 COLLATE 102 utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' 122 .</td></tr> 85 \n". text-align: center.Vicente Sancho Guijarro Proyecto Final de Carrera 72 echo "<td style='width: 163px. ' 141 . ' PRIMARY KEY (`login`). ' `apellido1` VARCHAR(30) CHARACTER SET utf8 COLLATE 98 utf8_spanish_ci NOT NULL. 136 137 $sql_padre = 'CREATE TABLE `padre` (' 138 . 76 echo " " .'. ' PRIMARY KEY (`login`)' 109 . ' 103 . ' `dni` VARCHAR(8) NOT NULL. text-align: center.\'D\'. text-align: center. ' )' 146 . ' `contrasenya` VARCHAR(20) NOT NULL. 84 echo "<td style='width: 255px. 73 echo "<font color=red>Error </font>\n". '`letra` enum(\'A\'. ' TYPE = innodb. 82 echo "<font color=green>Correcto</font>\n". ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 114 NOT NULL. 111 112 $sql_profesor = 'CREATE TABLE `profesor` (' 113 .'. 86 } 87 88 } 89 90 function crear_tablas () 91 { 92 $sql_usuario = 'CREATE TABLE `usuario` (' 93 .' 130 . CHECK (cp > 40000). de Informática Aplicada (U. ' TYPE = innodb. ' )' 123 . ' )' 135 .) 111 . ' `tutorias` VARCHAR(50) CHARACTER SET utf8 COLLATE 119 utf8_spanish_ci NULL. ' TYPE = innodb.\'3\'.'>&nbsp. text-align: center.' 108 . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' 145 . ' 105 . 75 echo "<td style='width: 255px. ' 115 . ' `dni` VARCHAR(8) NOT NULL. 77 echo "</td>". 74 echo "</td>". ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 94 NOT NULL. 78 } 79 else 80 { 81 echo "<td style='width: 163px. ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' 134 . "\n". ' 107 .\'F\') collate 131 latin1_general_ci NOT NULL. ' `poblacion` VARCHAR(30) CHARACTER SET utf8 COLLATE 104 utf8_spanish_ci NOT NULL.' 133 . ' `cp` SMALLINT UNSIGNED NOT NULL.\'6\') collate 129 latin1_general_ci NOT NULL. mysql_error() .\'B\'.T.\'C\'. ' `nombre` VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_spanish_ci 96 NOT NULL. ' )' 110 . ' 116 .' 132 . ' 106 . ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci 117 NULL.'>". ' PRIMARY KEY (`login`).'. '`curso` enum(\'1\'.' 144 .'>". ' 118 . ' PRIMARY KEY (`login`).' 128 . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 139 NOT NULL.\'5\'. ' `apellido2` VARCHAR(30) CHARACTER SET utf8 COLLATE 100 utf8_spanish_ci NULL. 147 148 $sql_admin = 'CREATE TABLE `administrador` (' E.'>". 124 125 $sql_alumno = 'CREATE TABLE `alumno` (' 126 .P. ' 99 . ' 95 . ' 143 .\'E\'.

' . ' . ' . ' `dni` VARCHAR(8) NOT NULL.' .Vicente Sancho Guijarro 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 Proyecto Final de Carrera . ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' TYPE = innodb.'. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. $sql_anuncio = 'CREATE TABLE `anuncio` (' . ' `equipacion` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.P. ' PRIMARY KEY (`idanuncio`)' . ' TYPE = innodb. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' . ' `fecha` DATETIME NOT NULL. de Informática Aplicada (U. ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' `normas` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL .'.' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' )' .V. ' `texto` TEXT NULL. ' `dni` VARCHAR(8) NOT NULL. $sql_instalacion = 'CREATE TABLE `instalacion` (' . ' `idequipacion` TINYINT UNSIGNED NOT NULL. ' PRIMARY KEY (`login`).'. ' TYPE = innodb. ' . ' )' . ' PRIMARY KEY (`login`).' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' . ' )' . $sql_secretario = 'CREATE TABLE `secretario` (' . ' )' . ' PRIMARY KEY (`idinstalacion`). ' . ' . ' )' . ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' .'.'. ' TYPE = innodb. ' .' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' `instalacion` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' `idanuncio` MEDIUMINT UNSIGNED NOT NULL.' .'. ' .'.' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' . ' TYPE = innodb. ' `titulo` VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' . $sql_director = 'CREATE TABLE `director` (' . ' )' . ' . ' `estado` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' `normas` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' PRIMARY KEY (`login`).' . ' PRIMARY KEY (`login`). ' `idinstalacion` TINYINT UNSIGNED NOT NULL.T. ' . $sql_jefe = 'CREATE TABLE `jefeestudio` (' . ' TYPE = innodb.' . $sql_equipacion = 'CREATE TABLE `equipacion` (' .S. ' . ' PRIMARY KEY (`login`). ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' .' . ' TYPE = innodb. ' )' . $sql_eq = 'CREATE TABLE `equipodirectivo` (' . ' .' .) 112 . ' PRIMARY KEY (`idequipacion`)' E.' . ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' .

' .`fecha`).\'2\'. ' TYPE = innodb. ' `curso` ENUM(\'1\'.' . ' `curso` ENUM(\'1\'. ' .S. ' FOREIGN KEY (`padre`) REFERENCES `usuario`(`login`). Proyecto Final de Carrera $sql_res_ins = 'CREATE TABLE `res_ins` (' . ' )' . ' )' .' . ' `fecha` DATETIME NOT NULL. ' FOREIGN KEY (`idequipacion`) REFERENCES `equipacion`( `idequipacion`)' .' .T. ' FOREIGN KEY (`alumno`) REFERENCES `usuario`(`login`)' . ' . $sql_res_equi = 'CREATE TABLE `res_equi` (' . ' )' . ' `asignatura` TINYINT UNSIGNED NOT NULL. ' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`). `idinstalacion`.\'2\'. ' TYPE = innodb. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.\'4\') collate utf8_spanish_ci NOT NULL. ' `idinstalacion` TINYINT UNSIGNED NOT NULL.\'6\') NOT NULL. ' PRIMARY KEY (`padre`.' .`fecha`). ' )' .\'6\') NOT NULL.'.'.\'3\'. de Informática Aplicada (U.`trimestre`). ' FOREIGN KEY (`alumno`) REFERENCES `alumno`(`login`). ' . ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.' .'.\'2\'. `idequipacion`. ' PRIMARY KEY (`login`. ' `codigoasignatura` TINYINT UNSIGNED NOT NULL.\'3\'. $sql_imparte = 'CREATE TABLE `imparte` (' . ' TYPE = innodb. ' TYPE = innodb. ' FOREIGN KEY (`idinstalacion`) REFERENCES `instalacion`( `idinstalacion`)' .' .' . ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`). ' TYPE = innodb. ' FOREIGN KEY (`login`) REFERENCES `profesor`(`login`).' .\'5\'. ' PRIMARY KEY (`asignatura`. E. ' `profesor` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' .'. ' . ' FOREIGN KEY (`profesor`) REFERENCES `profesor`(`login`)' .\'5\'.P.'. ' . ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' .\'4\'. ' `idequipacion` TINYINT UNSIGNED NOT NULL. `alumno`). ' `fecha` DATETIME NOT NULL. $sql_nota = 'CREATE TABLE `nota` (' .'.' .' . ' PRIMARY KEY (`login`. ' TYPE = innodb.'. ' PRIMARY KEY (`alumno`. ' )' . ' . ' `proposito` TEXT NOT NULL. ' `horario` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL.' . ' `trimestre` enum(\'1\'. ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.Vicente Sancho Guijarro 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 . $sql_responsable = 'CREATE TABLE `responsable` (' . ' `proposito` TEXT NOT NULL. `asignatura`. ' `nota` FLOAT NOT NULL. ' )' .' . ' . ' TYPE = innodb.' . $sql_asignatura = 'CREATE TABLE `asignatura` (' . ' `nombre` VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.' .' .' . ' . ' . ' `asignatura` TINYINT UNSIGNED NOT NULL. ' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' )' .\'3\'. ' PRIMARY KEY (`codigoasignatura`)' .\'4\'. ' `padre` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.' .V. ' . `profesor`).) 113 .

' `titulo` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.S.'><big><span style='font-weight: bold. $sql_impartida = 'CREATE TABLE `impartida` (' .\'B\'. ' `justificada` BOOL NOT NULL DEFAULT \'0\'.' . ' . ' )' . echo "</tr>".\'D\'.\'C\'. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' PRIMARY KEY (`curso`. ///// // Ejecucion de las creaciones de tablas //// echo "<html><head>". ' TYPE = innodb DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci. `asignatura`).`fecha`).\'D\'.' . de Informática Aplicada (U.'.' .T. ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' `lugar` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.\'E\'.\'C\'. ' .\'B\'.\'5\'.) 114 . width: 163px. ' `descripcion` TEXT NOT NULL. ' TYPE = innodb. ' `idevento` SMALLINT UNSIGNED NOT NULL. ' PRIMARY KEY (`login`.\'4\'. ' . ' `asignatura` TINYINT UNSIGNED NOT NULL. ' . ' FOREIGN KEY (`alumno`) REFERENCES `alumno`(`login`).\'3\'. ' `letra` ENUM(\'A\'. ' `fecha` DATE NOT NULL. ' .\'6\') NOT NULL. ' `curso` ENUM(\'1\'. ' .\'5\'. width: 100%. $sql_evento = 'CREATE TABLE `evento` (' .'><big>Descripcion</big></td>".'.Vicente Sancho Guijarro 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 Proyecto Final de Carrera $sql_faltaasistencia = 'CREATE TABLE `faltaasistencia` (' . ' `fecha` DATETIME NOT NULL. ' .' . ' PRIMARY KEY (`curso`.' . ' . ' )' . ' `tutor` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' )' . ' .\'6\') NOT NULL. echo "<td style='text-align: center. ' `delegado` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL.'. ' FOREIGN KEY (`evento`) REFERENCES `evento`(`idevento`)' . width: 281px.' . $sql_gen_even = 'CREATE TABLE `gen_even` (' . ' .' . ' . ' . ' `asignatura` TINYINT UNSIGNED NOT NULL. ' `evento` SMALLINT UNSIGNED NOT NULL.' .\'F\') NOT NULL.' . `letra`).' . width: 255px.P.\'E\'. ' TYPE = innodb. ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' .`asignatura`. ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' .\'4\'. ' )' . ' `curso` ENUM(\'1\'. `letra`).\'2\'. ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`). E. ' PRIMARY KEY (`idevento`)' . ' FOREIGN KEY (`delegado`) REFERENCES `alumno`(`login`). fontweight: bold.'. echo "<td style='text-align: center. ' FOREIGN KEY (`tutor`) REFERENCES `profesor`(`login`)' . $sql_grupo = 'CREATE TABLE `grupo` (' .'>Estado</span></big></td>". ' .V. echo "<tbody> <tr> <td style='text-align: center. `evento`).' . ' `letra` ENUM(\'A\'. ' )' .' . ' TYPE = innodb.' border='1' cellpadding='2' cellspacing='2'>". ' PRIMARY KEY (`alumno`. ' FOREIGN KEY (`curso`.' .'>Error</span></big></td>".\'F\') NOT NULL. ' TYPE = innodb.\'2\'. `letra`. ' `aula` VARCHAR(5) NOT NULL.'. `letra`) REFERENCES `grupo`(`curso`.'><big><span style='font-weight: bold. ' . echo "<title>Creacion de las tablas de base de datos WebCole</title>< /head>".\'3\'. echo "<table style='text-align: left.

echo "" .'>". text-align: left.'>". text-align: center. echo "<font><b>Creacion de la tabla de padre </b></font><br>\n".'>". text-align: center. echo "<td style='width: 255px. text-align: center.'>". de Informática Aplicada (U. echo "</td>\n". echo "<font><b>Creacion de la tabla de profesores </b></font><br>\n". echo "<font color=red>Error </font>\n". echo "</td>". echo "<font color=red>Error </font>\n".P.'>&nbsp. if(!$result) { echo "<td style='width: 163px. echo "<tr><td style='width: 281px. text-align: center. echo "<tr><td style='width: 281px. } else { echo "<td style='width: 163px. echo "<td style='width: 255px.T. if(!$result) { echo "<td style='width: 163px.'>&nbsp. text-align: center. echo "</td>". mysql_error() . text-align: left. echo "<font color=green>Correcto</font>\n". text-align: center. text-align: center. echo "</td>".) 115 . mysql_error() . echo "<font color=green>Correcto</font>\n". echo "<td style='width: 255px. echo "" .'>". "\n". echo "<td style='width: 255px. echo "</td>\n". } $result = mysql_query($sql_profesor).'>".V. echo "</td>\n". echo "" .Vicente Sancho Guijarro 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 Proyecto Final de Carrera $result = mysql_query($sql_usuario). echo "<tr><td style='width: 281px. text-align: center. } else { echo "<td style='width: 163px. text-align: center.</td></tr> \n". echo "<font><b>Creacion de la tabla de alumnos </b></font><br>\n". echo "<font color=green>Correcto</font>\n".'>". "\n". "\n". echo "</td>". text-align: center. echo "<td style='width: 255px. text-align: center. echo "</td>".'>&nbsp. echo "</td>\n". echo "<td style='width: 255px. echo "<tr><td style='width: 281px.'>". echo "</td>".</td></tr> \n". echo "</td>". } $result = mysql_query($sql_alumno).'>".'>". echo "<font color=red>Error </font>\n". if(!$result) { echo "<td style='width: 163px. echo "</td>". echo "" .S. mysql_error() . text-align: center. text-align: center. echo "</td>".'>". echo "<font><b>Creacion de la tabla de usuarios </b></font><br>\n". text-align: left. E. text-align: center. echo "<font color=red>Error </font>\n".'>". "\n". } $result = mysql_query($sql_padre).'>". echo "<td style='width: 255px.</td></tr> \n". echo "</td>". if(!$result) { echo "<td style='width: 163px. text-align: left.'>". mysql_error() . } else { echo "<td style='width: 163px.'>".

echo "" . text-align: center.'>". echo "<font><b>Creacion de la tabla de equipo directivo </b></font><br> \n". echo "</td>". echo "</td>\n". de Informática Aplicada (U.</td></tr> \n". echo "</td>". echo "<td style='width: 255px.'>".Vicente Sancho Guijarro 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 echo "</td>". echo "<td style='width: 255px.'>". } else { echo "<td style='width: 163px. mysql_error() . echo "</td>". text-align: center. echo "<td style='width: 255px.'>".'>".'>". mysql_error() . E. text-align: left. text-align: center.'>&nbsp.</td></tr> $result = mysql_query($sql_admin). text-align: center. echo "<font><b>Creacion de la tabla de administrador </b></font><br>\n". echo "<font color=red>Error </font>\n".'>". echo "</td>\n". } Proyecto Final de Carrera "<td style='width: 163px. text-align: center.T. text-align: center. } $result = mysql_query($sql_eq). echo "<tr><td style='width: 281px. echo "</td>". mysql_error() . "\n". if(!$result) { echo "<td style='width: 163px.'>".'>". "<td style='width: 255px.'>". echo "<font><b>Creacion de la tabla de director </b></font><br>\n". echo "" .'>&nbsp. text-align: center. text-align: left. } else { echo "<td style='width: 163px. echo "</td>". echo "<tr><td style='width: 281px. if(!$result) { echo "<td style='width: 163px. text-align: center. text-align: center. echo "<td style='width: 255px. "<font color=green>Correcto</font>\n". echo "</td>". echo "</td>".</td></tr> \n". text-align: center. echo "<td style='width: 255px. text-align: left. echo "<font color=green>Correcto</font>\n".) 116 .S. text-align: center. if(!$result) { echo "<td style='width: 163px. echo "<font color=green>Correcto</font>\n".'>". echo "</td>\n". "</td>". text-align: center. text-align: center.</td></tr> \n".'>&nbsp. echo "<tr><td style='width: 281px.'>". echo "<font color=green>Correcto</font>\n". echo "<font color=red>Error </font>\n".'>". "\n". "\n". text-align: center.P. echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". } else { echo "<td style='width: 163px. echo "" .V.'>&nbsp. echo "</td>". } $result = mysql_query($sql_director). echo "</td>". } else { echo echo echo echo \n".

echo "<font color=red>Error </font>\n". echo "<font><b>Creacion de la tabla de Jefe de estudios </b></font><br> \n". echo "<font><b>Creacion de la tabla de instalacion </b></font><br>\n". text-align: left. text-align: left.'>".'>&nbsp.'>". } $result = mysql_query($sql_instalacion).'>&nbsp. echo "</td>\n". echo "</td>". mysql_error() .Vicente Sancho Guijarro 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 } Proyecto Final de Carrera $result = mysql_query($sql_jefe). text-align: center.'>". text-align: center. echo "</td>".'>".'>&nbsp.</td></tr> \n". echo "<td style='width: 255px. if(!$result) { echo "<td style='width: 163px. echo "<font color=green>Correcto</font>\n".'>". echo "<tr><td style='width: 281px. text-align: center. echo "" . text-align: center. text-align: center. echo "<font color=red>Error </font>\n". echo "</td>".'>". if(!$result) { echo "<td style='width: 163px.P. "\n". echo "</td>". echo "<font color=green>Correcto</font>\n". text-align: left.'>". } else { echo "<td style='width: 163px.) 117 . if(!$result) { echo "<td style='width: 163px. echo "" . text-align: center. if(!$result) { echo "<td style='width: 163px.V. E.'>".S. text-align: center.T. mysql_error() . echo "<tr><td style='width: 281px. text-align: center. echo "<td style='width: 255px. text-align: center. } else { echo "<td style='width: 163px. echo "</td>". echo "<td style='width: 255px.'>". echo "</td>\n". de Informática Aplicada (U. echo "</td>". "\n". echo "<font color=green>Correcto</font>\n". echo "" . echo "</td>\n". echo "<font><b>Creacion de la tabla de secretario </b></font><br>\n". text-align: center.'>". } else { echo "<td style='width: 163px.'>".'>". echo "<tr><td style='width: 281px.</td></tr> \n". "\n". echo "</td>".'>". echo "</td>". echo "<font><b>Creacion de la tabla de tabla de anuncios </b></font><br> \n". } $result = mysql_query($sql_secretario). echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". text-align: left. text-align: center. echo "<td style='width: 255px. echo "</td>\n". mysql_error() . text-align: center. echo "<td style='width: 255px. echo "<tr><td style='width: 281px. text-align: center. } $result = mysql_query($sql_anuncio).</td></tr> \n". echo "</td>".'>".

echo "</td>".Vicente Sancho Guijarro 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 echo echo echo echo echo } else { echo echo echo echo \n".'>". echo "</td>". "<td style='width: 163px.P. text-align: center.'>". echo "<font color=green>Correcto</font>\n". echo "<font><b>Creacion de la tabla de res_equi </b></font><br>\n". text-align: center.</td></tr> \n". } else { echo "<td style='width: 163px. "\n".) 118 .'>". mysql_error() . "<font color=green>Correcto</font>\n".'>". } else { echo "<td style='width: 163px. text-align: center. text-align: center. "\n". echo "</td>".V. } Proyecto Final de Carrera "<font color=red>Error </font>\n".'>". echo "<font color=red>Error </font>\n". E. echo "<tr><td style='width: 281px.'>". echo "<tr><td style='width: 281px. echo "<font color=green>Correcto</font>\n". echo "</td>\n".'>&nbsp. echo "<td style='width: 255px. text-align: center. } $result = mysql_query($sql_res_equi). text-align: left. echo "</td>". de Informática Aplicada (U. echo "<td style='width: 255px. } $result = mysql_query($sql_res_ins).</td></tr> \n". text-align: center.S.'>". echo "</td>". echo "<tr><td style='width: 281px. echo "<font color=green>Correcto</font>\n". echo "</td>". "</td>". echo "<font color=red>Error </font>\n". text-align: center. echo "</td>". "<td style='width: 255px. echo "</td>". text-align: center. if(!$result) { echo "<td style='width: 163px. mysql_error() . text-align: center.'>". "" . text-align: center.'>". text-align: center. echo "<td style='width: 255px. text-align: center. mysql_error() . echo "" .'>". text-align: center.T. if(!$result) { echo "<td style='width: 163px. echo "</td>\n".'>&nbsp. echo "" . "</td>". echo "<td style='width: 255px. text-align: center. "\n". echo "<font><b>Creacion de la tabla de equipacion </b></font><br>\n". "</td>".'>". echo "<td style='width: 255px.</td></tr> $result = mysql_query($sql_equipacion). echo "<font color=red>Error </font>\n".'>&nbsp. "<td style='width: 255px.'>". echo "</td>\n". text-align: left. "\n". mysql_error() .'>". text-align: left. if(!$result) { echo "<td style='width: 163px. echo "</td>". echo "" . echo "<font><b>Creacion de la tabla de res_ins </b></font><br>\n".'>". } else { echo "<td style='width: 163px.

echo "<font><b>Creacion de la tabla de imparte </b></font><br>\n". echo "</td>". text-align: center. } else { echo "<td style='width: 163px. E. echo "<tr><td style='width: 281px. text-align: center. echo "</td>\n". mysql_error() . echo "</td>". if(!$result) { echo "<td style='width: 163px. text-align: left.'>". if(!$result) { echo "<td style='width: 163px.'>&nbsp. echo "<font><b>Creacion de la tabla de asignatura </b></font><br>\n". echo "<font color=green>Correcto</font>\n". text-align: center.Vicente Sancho Guijarro 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 Proyecto Final de Carrera echo "<td style='width: 255px.'>".'>". echo "<td style='width: 255px.'>". text-align: center. text-align: left.T.</td></tr> \n". text-align: center. echo "</td>". text-align: center.V.'>". text-align: left. mysql_error() . echo "<td style='width: 255px. if(!$result) { echo "<td style='width: 163px. "\n". echo "<td style='width: 255px.'>". text-align: center. echo "<font color=green>Correcto</font>\n". text-align: center. echo "</td>\n". echo "</td>". echo "<font color=red>Error </font>\n". } else { echo "<td style='width: 163px. echo "<font color=red>Error </font>\n". echo "</td>". } $result = mysql_query($sql_asignatura).) 119 .'>".S. echo "<tr><td style='width: 281px. echo "<font><b>Creacion de la tabla de responsable </b></font><br>\n". echo "<font color=green>Correcto</font>\n". text-align: center. echo "<font color=red>Error </font>\n". text-align: center. echo "" . text-align: left. echo "</td>\n". echo "<td style='width: 255px. } $result = mysql_query($sql_responsable). de Informática Aplicada (U. echo "<td style='width: 255px. text-align: center. echo "<tr><td style='width: 281px. echo "<font><b>Creacion de la tabla de nota </b></font><br>\n".P.'>". echo "</td>". echo "<tr><td style='width: 281px. echo "" . echo "" .</td></tr> \n".'>". echo "</td>". echo "</td>". echo "</td>\n". mysql_error() .'>".'>&nbsp. } $result = mysql_query($sql_nota). } $result = mysql_query($sql_imparte). "\n".'>&nbsp.'>".'>&nbsp.'>". echo "<td style='width: 255px.'>". text-align: center. if(!$result) { echo "<td style='width: 163px.</td></tr> \n". text-align: center. text-align: center.</td></tr> \n". "\n". } else { echo "<td style='width: 163px. echo "</td>".'>".

Vicente Sancho Guijarro
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 echo echo echo echo echo } else { echo echo echo echo \n"; }

Proyecto Final de Carrera

"<font color=red>Error </font>\n"; "</td>"; "<td style='width: 255px; text-align: center;'>"; "" . mysql_error() . "\n"; "</td>";

"<td style='width: 163px; text-align: center;'>"; "<font color=green>Correcto</font>\n"; "</td>"; "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr>

$result = mysql_query($sql_faltaasistencia); echo "<tr><td style='width: 281px; text-align: left;'>"; echo "<font><b>Creacion de la tabla de falta asistencia </b></font><br> \n"; echo "</td>\n"; if(!$result) { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=red>Error </font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>"; echo "" . mysql_error() . "\n"; echo "</td>"; } else { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=green>Correcto</font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> \n"; } $result = mysql_query($sql_grupo); echo "<tr><td style='width: 281px; text-align: left;'>"; echo "<font><b>Creacion de la tabla de grupo </b></font><br>\n"; echo "</td>\n"; if(!$result) { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=red>Error </font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>"; echo "" . mysql_error() . "\n"; echo "</td>"; } else { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=green>Correcto</font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> \n"; } $result = mysql_query($sql_impartida); echo "<tr><td style='width: 281px; text-align: left;'>"; echo "<font><b>Creacion de la tabla de impartida </b></font><br>\n"; echo "</td>\n"; if(!$result) { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=red>Error </font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>"; echo "" . mysql_error() . "\n"; echo "</td>"; } else { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=green>Correcto</font>\n";

E.T.S. de Informática Aplicada (U.P.V.)

120

Vicente Sancho Guijarro

Proyecto Final de Carrera

842 echo "</td>"; 843 echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> 844 \n"; 845 } 846 847 $result = mysql_query($sql_evento); 848 echo "<tr><td style='width: 281px; text-align: left;'>"; 849 echo "<font><b>Creacion de la tabla de evento </b></font><br>\n"; 850 echo "</td>\n"; 851 if(!$result) 852 { 853 echo "<td style='width: 163px; text-align: center;'>"; 854 echo "<font color=red>Error </font>\n"; 855 echo "</td>"; 856 echo "<td style='width: 255px; text-align: center;'>"; 857 echo "" . mysql_error() . "\n"; 858 echo "</td>"; 859 } 860 else 861 { 862 echo "<td style='width: 163px; text-align: center;'>"; 863 echo "<font color=green>Correcto</font>\n"; 864 echo "</td>"; 865 echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> 866 \n"; 867 } 868 869 $result = mysql_query($sql_gen_even); 870 echo "<tr><td style='width: 281px; text-align: left;'>"; 871 echo "<font><b>Creacion de la tabla de gen_even </b></font><br>\n"; 872 echo "</td>\n"; 873 if(!$result) 874 { 875 echo "<td style='width: 163px; text-align: center;'>"; 876 echo "<font color=red>Error </font>\n"; 877 echo "</td>"; 878 echo "<td style='width: 255px; text-align: center;'>"; 879 echo "" . mysql_error() . "\n"; 880 echo "</td>"; 881 } 882 else 883 { 884 echo "<td style='width: 163px; text-align: center;'>"; 885 echo "<font color=green>Correcto</font>\n"; 886 echo "</td>"; 887 echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> 888 \n"; 889 } 890 891 echo " </tbody></table><br><br>"; 892 } 893 894 function borrar_tablas () 895 { 896 echo "<html><head>"; 897 echo "<title>Eliminacion de las tablas de base de datos WebCole</title>< 898 /head>"; 899 echo "<table style='text-align: left; width: 100%;' border='1' 900 cellpadding='2' cellspacing='2'>"; 901 echo "<tbody> <tr> <td style='text-align: center; width: 281px; font902 weight: bold;'><big>Descripcion</big></td>"; 903 echo "<td style='text-align: center; width: 163px;'><big><span 904 style='font-weight: bold;'>Estado</span></big></td>"; 905 echo "<td style='text-align: center; width: 255px;'><big><span 906 style='font-weight: bold;'>Error</span></big></td>"; 907 echo "</tr>"; 908 909 $i = 0; 910 911 $prueba[$i]["sql"] = 'DROP TABLE `gen_even`'; 912 $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de gen_even"; 913 914 $prueba[$i]["sql"] = 'DROP TABLE `evento`'; 915 $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de evento"; 916 917 $prueba[$i]["sql"] = 'DROP TABLE `impartida`'; 918 $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de impartida";

E.T.S. de Informática Aplicada (U.P.V.)

121

Vicente Sancho Guijarro
919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995

Proyecto Final de Carrera

$prueba[$i]["sql"] = 'DROP TABLE `grupo`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de grupo"; $prueba[$i]["sql"] = 'DROP TABLE `faltaasistencia`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de falta asistencia"; $prueba[$i]["sql"] = 'DROP TABLE `nota`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de nota"; $prueba[$i]["sql"] = 'DROP TABLE `imparte`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de imparte"; $prueba[$i]["sql"] = 'DROP TABLE `asignatura`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de asignatura"; $prueba[$i]["sql"] = 'DROP TABLE `responsable`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de responsable"; $prueba[$i]["sql"] = 'DROP TABLE `res_equi`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de res_Equi"; $prueba[$i]["sql"] = 'DROP TABLE `res_ins`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de res_ins"; $prueba[$i]["sql"] = 'DROP TABLE `equipacion`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de equipacion "; $prueba[$i]["sql"] = 'DROP TABLE `instalacion`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de instalacion"; $prueba[$i]["sql"] = 'DROP TABLE `anuncio`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de anuncio"; $prueba[$i]["sql"] = 'DROP TABLE `secretario`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de secretario"; $prueba[$i]["sql"] = 'DROP TABLE `jefeestudio`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de Jefe de estudios "; $prueba[$i]["sql"] = 'DROP TABLE `director`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de director"; $prueba[$i]["sql"] = 'DROP TABLE `equipodirectivo`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de equipo directivo"; $prueba[$i]["sql"] = 'DROP TABLE `administrador`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de administrador"; $prueba[$i]["sql"] = 'DROP TABLE `padre`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de padre"; $prueba[$i]["sql"] = 'DROP TABLE `alumno`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de alumno"; $prueba[$i]["sql"] = 'DROP TABLE `profesor`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de profesor"; $prueba[$i]["sql"] = 'DROP TABLE `usuario`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de usuario"; ejecutar ($prueba, $link); echo " </tbody></table><br><br>"; } // crea la base de datos (no crea nada mas) function crear_bd($link) { echo "<html><head>"; echo "<title>Creacion de la base de datos Webcole</title></head>"; echo "<table style='text-align: left; width: 100%;' border='1' cellpadding='2' cellspacing='2'>";

E.T.S. de Informática Aplicada (U.P.V.)

122

Vicente Sancho Guijarro
996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072

Proyecto Final de Carrera

echo "<tbody> <tr> <td style='text-align: center; width: 281px; fontweight: bold;'><big>Descripcion</big></td>"; echo "<td style='text-align: center; width: 163px;'><big><span style='font-weight: bold;'>Estado</span></big></td>"; echo "<td style='text-align: center; width: 255px;'><big><span style='font-weight: bold;'>Error</span></big></td>"; echo "</tr>"; $i = 0; $prueba[$i]["sql"] = 'CREATE DATABASE `webcole`;'; $prueba[$i++]["descripcion"] = "Creacion de la base de datos de WebCole"; ejecutar ($prueba, $link); echo " </tbody></table><br><br>"; } //permite borrar la base de datos ( y todas las tablas ) //no borra las perfiles de los usuarios que pueden acceder a la base de datos //no confundir con los datos que hay dentro de las tablas de "usuario", "alumno", "padre" ... function borrar_bd($link) { echo "<html><head>"; echo "<title>Elimanacion de la base de datos Webcole</title></head>"; echo "<table style='text-align: left; width: 100%;' border='1' cellpadding='2' cellspacing='2'>"; echo "<tbody> <tr> <td style='text-align: center; width: 281px; fontweight: bold;'><big>Descripcion</big></td>"; echo "<td style='text-align: center; width: 163px;'><big><span style='font-weight: bold;'>Estado</span></big></td>"; echo "<td style='text-align: center; width: 255px;'><big><span style='font-weight: bold;'>Error</span></big></td>"; echo "</tr>"; $i = 0; $prueba[$i]["sql"] = 'DROP DATABASE `webcole`'; $prueba[$i++]["descripcion"] = "Eliminacion de la base de datos"; ejecutar ($prueba, $link); echo " </tbody></table><br><br>"; } //las opciones de la tabla function inicio_html () { echo "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'> \n"; echo "<html>\n"; echo "<head>\n"; echo "<meta content='text/html; charset=ISO-8859-1'\n"; echo " http-equiv='content-type'>\n"; echo "<title>Setup para Webcole</title>\n"; echo "</head>\n"; echo "<body>\n"; echo "<div style='text-align: center;'><big><big><span\n"; echo " style='font-weight: bold;'>Fichero para la\n"; echo "inicializaci&oacute;n de la base de datos para el PFC WebCole<br> \n"; echo "<br>\n"; echo "</span></big></big>\n"; echo "<div style='text-align: left;'>\n"; echo "<table style='text-align: left; width: 952px; height: 171px;'\n"; echo " border='1' cellpadding='2' cellspacing='2'>\n"; echo " <tbody>\n"; echo " <tr>\n"; echo " <td style='font-weight: bold; width: 633px;'>Crear\n"; echo "la base de\n"; echo "datos de 'WebCole'</td>\n"; echo " <td style='width: 318px;'>\n"; echo " <form method='get' action='setup.php'\n"; echo " name='crear_db'><button value='1' name='opcion'>Crear\n"; echo "base de datos </button></form>\n"; echo " </td>\n";

E.T.S. de Informática Aplicada (U.P.V.)

123

Vicente Sancho Guijarro
1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo

Proyecto Final de Carrera

" </tr>\n"; " <tr>\n"; " <td style='width: 633px;'><span\n"; " style='font-weight: bold;'>Crear las\n"; "tablas de la base de datos </span><span \n"; " style='font-weight: bold;'>(si la base de \n"; "datos no existe, se crear&aacute;)</span></td> \n"; " <td style='width: 318px;'> \n"; " <form method='get' action='setup.php' \n"; " name='crear_tablas'><button value='2' name='opcion'>Crear \n"; "tablas</button></form> \n"; " </td> \n"; " </tr> \n"; " <tr> \n"; " <td style='font-weight: bold; width: 633px;'>Destruir \n"; "las tablas de la base de datos</td> \n"; " <td style='width: 318px;'> \n"; " <form method='get' action='setup.php' \n"; " name='Destruir_tablas'><button value='3' \n"; " name='opcion'>Destruir tablas</button></form> \n"; " </td> \n"; " </tr> \n"; " <tr> \n"; " <td style='font-weight: bold; width: 633px;'>Destruir \n"; "la base de datos de 'Webcole' (se destruir&aacute;n \n"; "tambi&eacute;n las tablas)</td> \n"; " <td style='width: 318px;'> \n"; " <form method='get' action='setup.php' \n"; " name='Destruir_db'><button value='4' name='opcion'>Destruir \n"; "base de datos</button></form> \n"; " </td> \n"; " </tr> \n";

echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'> Ejemplos </td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='5' name='opcion'>"; echo " Ejemplos</button></form> \n"; echo " </td> \n"; echo " </tr> \n";

echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'> Crear Perfiles usuarios </td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='6' name='opcion'>"; echo " Crear Perfiles Usuarios</button></form> \n"; echo " </td> \n"; echo " </tr> \n"; echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'> Borrar Perfiles usuarios </td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='7' name='opcion'>"; echo " Borrar Perfiles Usuarios</button></form> \n"; echo " </td> \n"; echo " </tr> \n";

echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'>Pruebas</td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='99' name='opcion'>"; echo " Pruebas</button></form> \n"; echo " </td> \n"; echo " </tr> \n";

E.T.S. de Informática Aplicada (U.P.V.)

124

$datos["nombre"] = "viblasan". echo "<div style='text-align: center. $datos["poblacion"] = "alboraya". echo "</td>". $resultado = insertar_usuario($datos. $datos["tutorias"] = "null". echo "</body> \n".Vicente Sancho Guijarro 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 Proyecto Final de Carrera echo " </tbody> \n".) 125 . echo "<font color=green>Correcto</font>\n". echo "<table style='text-align: left. $resultado["descripcion"].</a><br> ". echo "</body></html>".). $datos["password"] = "password". echo "<tr><td style='width: 281px. echo "</td>".'></span></big></big></div> \n". } //final de la pagina html function fin_html () { echo "<br>".'><big><span style='font-weight: bold.S. width: 281px. text-align: center. echo "<tbody> <tr> <td style='text-align: center. echo " style='font-weight: bold.'>Error</span></big></td>".es". } else { echo "<td style='width: 163px. echo "<big><big><span style='font-weight: bold.' border='1' cellpadding='2' cellspacing='2'>".'>". echo "</tr>".'> ". echo "" . width: 100%. $datos["telefono"] = "699161799". } // Carga varios usuarios en la base de datos function ejemplos ($link) { echo "<html><head>". echo "</div> \n". width: 163px. $datos["dni"] = "3312". "\n". $datos["cp"] = "46120". $datos = array("login" => "viblasan".'><big><span style='font-weight: bold. $datos["apellido1"] = "Blasco". echo "<font><b>Ejemplo Usuario-Profesor(viblasan) </b></font><br>\n". echo "<title>Ejemplos para la base de datos Webcole</title></head>". echo "</td>".upv. fontweight: bold. echo "<td style='text-align: center. echo "</td>\n". text-align: left. echo "<td style='width: 255px. echo "</html> \n". if(!$resultado["estado"]) { echo "<td style='width: 163px. width: 255px. echo "<font color=red>Error </font>\n". echo "</table> \n". PROFESOR).'><big>Descripcion</big></td>". text-align: center.'>". text-align: center.'></span></big></big>< big><big><span \n". echo "</div> ".V.'>&nbsp. echo "Vuelve al inicio pulsando <a href='setup. echo "<td style='text-align: center. $datos["email"] = "viblasan@ei.'>".php'>aqu&iacute. $datos["direccion"] = "Maria Pastor". } E.'>Estado</span></big></td>".T. de Informática Aplicada (U.</td></tr> \n".'>". echo "<td style='width: 255px. text-align: center.P. $datos["apellido2"] = "Sánchez".

V.) 126 . text-align: center. $datos["password"] = "password". $datos["telefono"] = "654161799". } else { echo "<td style='width: 163px.'>".'>". if(!$resultado["estado"]) { echo "<td style='width: 163px. echo "" . $datos["poblacion"] = "Valencia". $datos["tutorias"] = "null". $datos["tutorias"] = "null". $datos["apellido1"] = "Apellido1Alumno1". } else { echo "<td style='width: 163px.es". "\n". echo "<font color=red>Error </font>\n". echo "<td style='width: 255px.Vicente Sancho Guijarro 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 $datos = array("login" => "visangui"). echo "</td>". if(!$resultado["estado"]) { echo "<td style='width: 163px.T. E. text-align: center. $datos["telefono"] = "63456777". $datos["nombre"] = "Vicente". text-align: center. $datos["dni"] = "3312".'>&nbsp. echo "</td>". $datos["cp"] = "46456". } $datos = array("login" => "pater"). $datos["email"] = "Alumno1@ei. echo "</td>\n". echo "<td style='width: 255px.upv. $datos["apellido2"] = "Apellido2Padre1".P.'>". } $datos = array("login" => "visebo"). $datos["direccion"] = "Colon". text-align: center. $datos["nombre"] = "Alumno1". PROFESOR). $resultado = insertar_usuario($datos. echo "<td style='width: 255px. de Informática Aplicada (U.'>".'>". $datos["apellido2"] = "Guijarro". text-align: center. $datos["direccion"] = "Colon". echo "<font color=red>Error </font>\n". echo "</td>".'>".'>". echo "<font><b>Ejemplo Usuario-Profesor(visangui) </b></font><br>\n". echo "" . echo "<td style='width: 255px. $datos["password"] = "password". text-align: center.</td></tr> \n".'>". Proyecto Final de Carrera echo "<tr><td style='width: 281px.upv. $datos["email"] = "visangui@ei. $resultado["descripcion"].S. text-align: center. echo "</td>". echo "</td>". $datos["apellido1"] = "Apellido1Padre1". $datos["dni"] = "3312". $resultado = insertar_usuario($datos. echo "<tr><td style='width: 281px. text-align: left. echo "<font color=green>Correcto</font>\n". ALUMNO). text-align: left. $resultado["descripcion"]. $datos["poblacion"] = "Valencia". $datos["apellido1"] = "Sancho".'>&nbsp. echo "<font><b>Ejemplo Usuario-Alumno(visebo) </b></font><br>\n". echo "</td>". $datos["nombre"] = "Padre1". $datos["cp"] = "46123". echo "<font color=green>Correcto</font>\n". echo "</td>\n".</td></tr> \n". "\n". text-align: center. $datos["apellido2"] = "Apellido2Alumno1".es". $datos["direccion"] = "Colon".

} else { echo "<td style='width: 163px. $datos["direccion"] = "Colon". echo "<td style='width: 255px. text-align: center.'>". "apellido1"=>"Blasco". echo "</td>".P. "\n". $resultado = insertar_usuario($datos. echo "<font color=red>Error </font>\n". text-align: center. $datos["tutorias"] = "null". text-align: center. if(!$resultado["estado"]) { echo "<td style='width: 163px. if(!$resultado["estado"]) { echo "<td style='width: 163px. echo "</td>\n".</td></tr> \n".upv. $datos["email"] = "viblasan@ei. $resultado["descripcion"]. $datos["email"] = "pater@ei. } else { echo "<td style='width: 163px.'>". echo "<td style='width: 255px.T. $datos["dni"] = "3312". echo "<tr><td style='width: 281px. $datos["poblacion"] = "Valencia". text-align: center. text-align: center. "\n". $datos["nombre"] = "Vicente". echo "<font><b>Ejemplo Usuario-Padre(pater) </b></font><br>\n". echo "</td>".'>". $datos["telefono"] = "63456777". $datos["password"] = "password". $datos["apellido2"] = "Guijarro".upv. E. echo "<td style='width: 255px. $datos["dni"] = "3312". echo "<font color=green>Correcto</font>\n". "apellido2"=>"Sánchez"). text-align: center.es". "nombre"=>"viblasan".'>&nbsp.'>". Proyecto Final de Carrera echo "<tr><td style='width: 281px.es". text-align: center. $resultado = insertar_usuario($datos. ADMINISTRADOR). $datos["password"] = "password".'>". PADRE). $datos["telefono"] = "699161799".) 127 . echo "<font color=green>Correcto</font>\n". echo "<td style='width: 255px.Vicente Sancho Guijarro 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 $datos["poblacion"] = "Valencia". $datos["password"] = "password".'>". $datos["cp"] = "46123". text-align: left. $datos["cp"] = "46120".es". $datos["apellido1"] = "Sancho". echo "" . echo "" . echo "</td>\n". echo "<font color=red>Error </font>\n". } $datos = array("login" => "viblasan2". $datos["poblacion"] = "alboraya".S.V.'>&nbsp. echo "</td>". echo "</td>". $datos["email"] = "visangui@ei.'>". $datos["tutorias"] = "null". $datos["dni"] = "3312". $resultado["descripcion"].upv. $datos["telefono"] = "654161799". de Informática Aplicada (U. text-align: left. $datos["direccion"] = "Maria Pastor". $datos["cp"] = "46456". } $datos = array("login" => "visangui2").</td></tr> \n". echo "</td>".'>". echo "<font><b>Ejemplo Usuario-ADMINISTRADOR(viblasan2) </b></font><br> \n". echo "</td>". text-align: center.

echo "</td>". $resultado = insertar_usuario($datos. $datos["password"] = "password". } else { echo "<td style='width: 163px. echo "</td>\n". '/webcole/normas/Televisor. } $datos = array("login" => "visebo2"). text-align: center. $prueba[$i++]["descripcion"] = "Creando equipaciones: Radio-CD y Televisor".P. text-align: left. text-align: center.'>". $datos["apellido2"] = "Apellido2Alumno2". 'Pabellon Cubierto'. `equipacion`. 'Disponible'. '/webcole/normas/Radio_cd. $resultado["descripcion"]. 'Televisor'. `normas`) VALUES (1. '/webcole/normas/Pabellon_cubierto. echo "<tr><td style='width: 281px. echo "" .". `estado`.</td></tr> \n". $resultado["descripcion"]. $datos["telefono"] = "63456777". } else { echo "<td style='width: 163px.upv. echo "<font color=green>Correcto</font>\n". $prueba[$i]["sql"] = "INSERT INTO `instalacion` (`idinstalacion`. text-align: center. text-align: center. echo "<font color=red>Error </font>\n". if(!$resultado["estado"]) { echo "<td style='width: 163px. $datos["email"] = "Alumno1@ei. $datos["cp"] = "46123". echo "<td style='width: 255px.". echo "</td>". `instalacion`. "\n". text-align: center. Proyecto Final de Carrera $resultado = insertar_usuario($datos. echo "<font><b>Ejemplo Usuario-ALUMNO(visebo2) </b></font><br>\n". $datos["tutorias"] = "null".'>".) 128 .'>".'>&nbsp. 'Gimnasio'.'>".S. '/webcole/normas/Gimnasio. $datos["nombre"] = "Alumno2".'>". ADMINISTRADOR). $datos["direccion"] = "Colon". echo "</td>". echo "<td style='width: 255px.'>".pdf'). echo "<font color=red>Error </font>\n". echo "</td>".Vicente Sancho Guijarro 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 $datos["tutorias"] = "null".es".V. echo "<td style='width: 255px. (2. text-align: left. $datos["dni"] = "3312". 'Radio-CD'.'>". ALUMNO).T. `normas`) VALUES (1. "\n". echo "<tr><td style='width: 281px. echo "<td style='width: 255px. $datos["apellido1"] = "Apellido1Alumno2". text-align: center. echo "<font><b>Ejemplo Usuario-ADMINISTRADOR(visangui2) </b></font><br> \n". echo "</td>\n". if(!$resultado["estado"]) { echo "<td style='width: 163px.</td></tr> \n". text-align: center. $prueba[$i]["sql"] = "INSERT INTO `equipacion` (`idequipacion`. echo "</td>". echo "<font color=green>Correcto</font>\n". (2. } $i = 0. 'Disponible'. $datos["poblacion"] = "Valencia".'>&nbsp.pdf'). $prueba[$i++]["descripcion"] = "Creando instalacion: gimnasio y pabellon cubierto".pdf'). echo "</td>". echo "" .'>".pdf'). E. de Informática Aplicada (U. text-align: center.

'Calle principal'. `direccion`. $prueba[$i]["sql"] = "INSERT INTO `usuario` (`login`. '2000-12-08 19:35:45'. `contrasenya`.es'). 'Noticia'. '46502365'. 'Web'. 'ep'. 'Mayor. 'juan@emiliolluch. 'Inicio del curso académico 2007/2008'). ('jose'. `dni`. 46119. '2000-03-19 19:33:47'. 'Inmaculada Concepción') . 'Menor. (5. $prueba[$i]["sql"] = "INSERT INTO `alumno` (`login`. 'Martes 10:30-13:00'). ".Vicente Sancho Guijarro 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 Proyecto Final de Carrera $prueba[$i]["sql"] = "INSERT INTO `evento` (`idevento`. '46502365'. 'Festivo'. 'nimda'. 23'. 'web'. (10. `lugar`. 46002. `email`. '00000000'. ".S. 'Valencia'. $prueba[$i++]["descripcion"] = "Jefe Estudios ". 'Administrador'. 'epep'. '2007-05-06 13:31:54'. '12345678'. `nombre`. ('juan'. `dni`. 'C/ Mestral. 'esoj'. $prueba[$i++]["descripcion"] = " Alumno Miguelito y pepito ". '2000-05-01 13:49:41'. `apellido1`. 'García'. '96300101'). 'A'). 'UPV'. $prueba[$i]["sql"] = "INSERT INTO `secretario` (`login`) VALUES ('jose') . 'nauj'.". $prueba[$i]["sql"] = "INSERT INTO `profesor` (`login`. 'Festivo'. $prueba[$i++]["descripcion"] = "Eventos del colegio". 'Sánchez'. 'Posibilidad de reservar.'). 'Reparado el problema de las tildes en la web. ". 'Implementado el calendario escolar. 'España'.V. (4. `curso`. '2007-06-17 19:31:05'. 'Juan'. ". `tutorias`) VALUES ('pepe'. 46550. $prueba[$i++]["descripcion"] = "Varios Usuarios". 46005. 'juan@emiliolluch. '2007-09-10 18:12:19'.) 129 .". $prueba[$i]["sql"] = "INSERT INTO `jefeestudio` (`login`) VALUES ( 'juan'). '1'. 'Día del trabajador'). anular reservas de instalaciones y equipamientos(solo para profesores)') . (3. 'pepe@emiliolluch. '1'. 'Noticia'. 12'.'). '96158020'). `titulo`. 'Todos los santos'). (7. 23'. '87654321'. 'Jueves 9:30 . 'Valencia'. (11. ('pepito'. 'admin@emiliolluch. '96123457').es'. '961652020'). 'José'. `descripcion`) VALUES (1. 'Pérez'. '2000-12-06 19:34:46'. 'mig'. ('juan'. 'España'. `cp`. $prueba[$i++]["descripcion"] = " Director ".es'). 'Curso'.'). $prueba[$i++]["descripcion"] = " equipodirectivo ". 'Festivo'. 'Pepito'. 'Día de la Constitución'). 'Peris'. 'Festivo'. `poblacion`. $prueba[$i]["sql"] = "INSERT INTO `equipodirectivo` (`login`. 'adm'.es'. '2000-10-09 17:06:08'. `email`) VALUES ('admin'. '2000-10-12 19:31:05'. `telefono`) VALUES ('pepe'.T. (8. `fecha`. 'Festividad Virgen del Pilar'). 25'.es'). ('miguelito'. ". 'C/ Menorca. $prueba[$i++]["descripcion"] = " Profesores ". '2007-07-01 13:04:09'. 46001. 'Miguelito'. 'Festivo'. `letra`) VALUES ('pepito'. 'Viernes 9:00-12:00'). 'San José'). s/n'. '12345678'. 'Náquera'. `email`) VALUES ('pepe'. ('admin'. ('jose'. 46119. (12. 'España'.es'). $prueba[$i++]["descripcion"] = "Administrador ". `dni`. (9. (6. $prueba[$i]["sql"] = " INSERT INTO `director` (`login`) VALUES ('pepe'). '2007-06-11 13:32:53'. ('miguelito'. `apellido2`. 'Cazorla'. $prueba[$i]["sql"] = "INSERT INTO `asignatura` (`codigoasignatura`. 'Valencia'.P. de Informática Aplicada (U. $prueba[$i]["sql"] = " INSERT INTO `administrador` (`login`. 'pepe@emiliolluch. 'Colegio'. ('juan'. 'Festivo'. 'España'.13:30'). 'Serra'. 'España'. 'Presentada la primera maqueta de la web. 'jose@emiliolluch. 'Martínez'. '961652335'). 'Sánchez'. 'Noticia'. 'Noticia'.es'. 'Día de la Comunitat Valenciana'). 'Gómez'. '2000-11-01 19:37:00'. 'Valencia'. (2. 'C/ Polideportivo. 'jose@emiliolluch. 'Martínez'. 'A'). E. '961680076'). 'Festivo'. 'UPV'. 'Valencia'. 'Nàquera'. 'adm'. ('jose'. '87654321'.".". $prueba[$i++]["descripcion"] = "Secretario ". 'Crespo'. 'Pepe'.

('1'. \'viblasan\').T. `tutor`) VALUES ('1'. $prueba[$i]["sql"] = "INSERT INTO `grupo` (`curso`. 'Inglés'. 'Valencià'. 'B1'. "<br>". echo "<font color=red>Error </font>\n". echo '<font><b>' . 'A'. 7). text-align: center. ('1'. 'Martes 15 Martes 16'). ('1'. 2). echo "" . 'A'. $prueba[$i]["sql"] = "INSERT INTO `impartida` (`curso`. } //// // Funcion que permite ejecutar cualquier sentencia sql. $result = mysql_query($actual["sql"]). '1'. `profesor`) VALUES (\'1\'. echo "<tr><td style='width: 281px. echo "<font color=green>Correcto</font>\n". $prueba[$i]["sql"] = "INSERT INTO `webcole`. 'Matemáticas'.". $prueba[$i++]["descripcion"] = "Grupo". 'A'. 3). '1'. '1'. (2.) 130 . 'Castellano'. 'A'. ('1'. '1'.S.'>". text-align: left. 'Lunes 10 Miércoles 11 Viernes 9'). `delegado`. (5. $prueba[$i++]["descripcion"] = "Imparte = Viblasan". `asignatura`) VALUES ('1'.". 9).`imparte` (`asignatura`. 'A'.P. $link) { foreach ( $datos as $actual) { //echo "sql: " . Plástica'. 'B1'.Vicente Sancho Guijarro 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 Proyecto Final de Carrera `nombre`. Física'. (7. $actual["descripcion"] . ('1'. 'A'. \'viblasan\'). 'A'. de Informática Aplicada (U. 'A'. '1'. } else { echo "<td style='width: 163px. 'Martes 10 Viernes 16'). 'Tutoría'. $prueba[$i++]["descripcion"] = "Clases impartidas". 'Martes 11 Miércoles 15 Jueves 9 Viernes 10'). (6. `letra`. 5). $link). text-align: center. 'Lunes 16 Viernes 15'). (8. "\n". 1). 'Miércoles 9 Jueves 11 Viernes 11'). 'juan'). `aula`. '1'. 'pepito'. 'pepito'. 'Ed. echo "<td style='width: 255px. '1'.</td>< E. $prueba[$i++]["descripcion"] = "Asignaturas".". `letra`. 'Lunes 9 Martes 9 Jueves 10'). text-align: center. (\'2\'. 'A'. 'A'.'>". 'Jueves 16'). `tutor`) VALUES ('1'. ('1'.V. echo " </tbody></table><br><br>". Ciudadanía'.". 'Lunes 11 Miércoles 16'). `letra`. `aula`. echo "<td style='width: 255px. echo "</td>\n".". // Los parametros que recibe son: // $datos: es una matriz con la forma array (array ( sql => descripcion )) // sql contiene la sentencia sql // descripcion muestra el texto explicativo que aparecera en la tabla // $link: el link con la base de datos //// function ejecutar ($datos.'>". 'A'.'>". `curso`. 4). '1'. 6). 8). 'Ed. 'juan'). (3. 'Lunes 15 Miércoles 10 Jueves 15'). ('1'. `horario`) VALUES (1.'>&nbsp. (4. $prueba[$i++]["descripcion"] = "Grupo". '</b></font><br>'. text-align: center. 'A'. mysql_error() . 'Ed. `delegado`. ejecutar($prueba. '1'. 10). if(!$result) { echo "<td style='width: 163px. echo "</td>". (9. ('1'. ('1'. $prueba[$i]["sql"] = "INSERT INTO `grupo` (`curso`. 'Conocimiento del medio'. echo "</td>". $actual["sql"] . (10. echo "</td>". '1'. 'Ética/Religión'.

'</b></font><br>'. "<br>".'><big>Descripcion</big></td>".'>". echo "</td>". echo "</td></tr>". text-align: center. width: 255px.T.'>".V. echo '<font><b>' .S. text-align: center. fontweight: bold. $actual["sql"] . echo "</td>\n". echo "<td style='text-align: center. echo "<font color=green>Correcto</font>\n". echo "<td style='text-align: center. text-align: center. de Informática Aplicada (U. } } } function crear_perfiles($link) { echo "<html><head>". por ejemplo todos los profesores // accederan a la base de datos con el perfil de profesores y con los privilegios que eso supone E. width: 281px.'><big><span style='font-weight: bold. echo "<title>Creacion de perfiles para la base de datos Webcole</title> </head>".'>Estado</span></big></td>".'>". //// // Creando usuarios genericos // Los administradores utilizaran root para acceder a la base de datos ( por el momento al menos) // Todos los usuarios de cada grupo accederan con el mismo perfil. echo "<td style='width: 255px.) 131 . echo "<tbody> <tr> <td style='text-align: center. // Los parametros que recibe son: // $datos: es una matriz con la forma array (array ( sql => descripcion )) // sql contiene la sentencia sql // descripcion muestra el texto explicativo que aparecera en la tabla // $link: el link con la base de datos //// function ejecutar_leer_resultados ($datos. echo "<tr><td style='width: 281px. width: 163px. } else { echo "<td style='width: 163px. echo "</td>". width: 100%. text-align: center. if(!$result) { echo "<td style='width: 163px.' border='1' cellpadding='2' cellspacing='2'>". echo "</td>". echo $row[0].Vicente Sancho Guijarro 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 /tr>\n". } } } Proyecto Final de Carrera //// // Funcion que permite ejecutar cualquier sentencia sql que devuelven resultados. $actual["descripcion"] .'>Error</span></big></td>". echo"</td></tr>\n".'><big><span style='font-weight: bold. text-align: left. mysql_error() . echo "</tr>". echo "<font color=red>Error </font>\n". "\n". echo "<table style='text-align: left. echo "" .'>".P.'>". } echo "</table>". while ($row = mysql_fetch_row($result)) { echo "<tr><td>". $link) { foreach ( $datos as $actual) { //echo "sql: " . echo "<td style='width: 255px. $result = mysql_query($actual["sql"]). echo "<table><tr><td>Resultados</td></tr>".

$prueba[$i]["sql"] = 'CREATE USER \'equipodirectivo\'@\'localhost\' IDENTIFIED BY \'equipodirectivo\'. $prueba[$i]["sql"] = 'GRANT SELECT. UPDATE. INSERT. $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`.Vicente Sancho Guijarro 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 /// $i = 0.* TO \'alumno\'@\'localhost\' IDENTIFIED BY \'alumno\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0. $prueba[$i++]["descripcion"] = "Profesor: Permisos generales". $prueba[$i++]["descripcion"] = "Padre: Permisos generales". INSERT. INSERT. $prueba[$i]["sql"] = 'CREATE USER \'alumno\'@\'localhost\' IDENTIFIED BY \'alumno\'. Proyecto Final de Carrera $prueba[$i]["sql"] = 'CREATE USER \'profesor\'@\'localhost\' IDENTIFIED BY \'profesor\'. $prueba[$i]["sql"] = 'CREATE USER \'padre\'@\'localhost\' IDENTIFIED BY \'padre\'. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla faltaasistencia ".'.'.P. $prueba[$i++]["descripcion"] = "Creando el perfil padre". $prueba[$i++]["descripcion"] = "Creando el perfil profesor". UPDATE. DELETE ON `webcole`.'. DELETE ON `webcole`. $prueba[$i++]["descripcion"] = "Equipo Directivo: Permisos tabla anuncio ".* TO \'equipodirectivo\'@\'localhost\' IDENTIFIED BY \'equipodirectivo\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0. //// // Permisos generales /// $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`.'.V.* TO \'profesor\'@\'localhost\' IDENTIFIED BY \'profesor\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0. $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla anuncio ". INSERT. `faltaasistencia` TO \'profesor\'@\'localhost\'. $prueba[$i++]["descripcion"] = "Alumno: Permisos generales".'.'. DELETE ON `webcole`. UPDATE. $prueba[$i++]["descripcion"] = "Alumno: Permisos tabla anuncio ". $prueba[$i]["sql"] = 'GRANT SELECT. de Informática Aplicada (U.'.S. DELETE ON `webcole`. `anuncio` TO \'alumno\'@\'localhost\'.* TO \'padre\'@\'localhost\' IDENTIFIED BY \'padre\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0. `anuncio` TO \'padre\'@\'localhost\'.'. $prueba[$i++]["descripcion"] = "Equipo Directivo: Permisos generales".'. //// // Permisos especificos para cada perfil en cada tabla //// //// // Profesor //// $prueba[$i]["sql"] = 'GRANT SELECT. E. $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`.) 132 . UPDATE. $prueba[$i]["sql"] = 'GRANT SELECT. $prueba[$i++]["descripcion"] = "Creando el perfil Equipo Directivo". UPDATE.T. $prueba[$i]["sql"] = 'GRANT SELECT. $prueba[$i++]["descripcion"] = "Creando el perfil alumno".'. DELETE ON `webcole`. INSERT.'.'. `anuncio` TO \'equipodirectivo\'@\'localhost\'. $prueba[$i++]["descripcion"] = "Padre: Permisos tabla anuncio ". `anuncio` TO \'profesor\'@\'localhost\'.'.

' border='1' cellpadding='2' cellspacing='2'>".' border='1' E. } function { echo echo echo pruebas ($link) "<html><head>". width: 255px. INSERT. ejecutar ($prueba.Vicente Sancho Guijarro 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 Proyecto Final de Carrera $prueba[$i]["sql"] = 'GRANT SELECT. INSERT. } function borrar_perfiles($link) { echo "<html><head>". $prueba[$i++]["descripcion"] = "Borrando el perfil equipodirectivo". $prueba[$i]["sql"] = 'DROP USER \'alumno\'@\'localhost\'. ejecutar ($prueba. $prueba[$i++]["descripcion"] = "Alumno: Permisos tabla res_ins ".'.'>Error</span></big></td>". UPDATE.'. $prueba[$i++]["descripcion"] = "Borrando el perfil alumno".'. UPDATE.'. width: 100%. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla anuncio ". $prueba[$i++]["descripcion"] = "Borrando el perfil profesor". `res_ins` TO \'profesor\'@\'localhost\'. $prueba[$i]["sql"] = 'DROP USER \'equipodirectivo\'@\'localhost\'. DELETE ON `webcole`. UPDATE.'.'. $prueba[$i]["sql"] = 'DROP USER \'profesor\'@\'localhost\'.'. Ademas se deberia // de comprobar que el profesor que lo haga sea el tutor del grupo $prueba[$i]["sql"] = 'GRANT UPDATE (`delegado`) ON `webcole`.V. $i = 0. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla res_equi ". width: 163px. $prueba[$i]["sql"] = 'GRANT SELECT.'>Estado</span></big></td>". `res_ins` TO \'alumno\'@\'localhost\'.`grupo` TO \'profesor\'@\'localhost\'. DELETE ON `webcole`. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla res_ins ". UPDATE. echo "</tr>". width: 100%. UPDATE. `anuncio` TO \'profesor\'@\'localhost\'. `res_ins` TO \'padre\'@\'localhost\'. que puede variar durante el curso. DELETE ON `webcole`.'. $prueba[$i]["sql"] = 'GRANT SELECT.S. $prueba[$i++]["descripcion"] = "Padre: Permisos tabla res_ins ". fontweight: bold. de Informática Aplicada (U. DELETE ON `webcole`. $prueba[$i]["sql"] = 'GRANT SELECT.'. $prueba[$i++]["descripcion"] = "Profesor: Permisos para cambiar el delegado del grupo ". echo "<td style='text-align: center. INSERT.P.T. INSERT. width: 281px. INSERT. echo "<td style='text-align: center.'. echo "<title>Borrado de perfiles para la base de datos Webcole</title>< /head>". `nota` TO \'profesor\'@\'localhost\'. echo "<table style='text-align: left.'. $prueba[$i++]["descripcion"] = "Borrando el perfil padre". // Un profesor no puede tocar los grupos creados.) 133 . `res_equi` TO \'profesor\'@\'localhost\'. DELETE ON `webcole`. UPDATE. $link). "<table style='text-align: left. $link). echo " </tbody></table><br><br>".'><big><span style='font-weight: bold. echo "<tbody> <tr> <td style='text-align: center. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla nota ". echo " </tbody></table><br><br>". $prueba[$i]["sql"] = 'GRANT SELECT.'><big>Descripcion</big></td>". DELETE ON `webcole`.'><big><span style='font-weight: bold. $prueba[$i]["sql"] = 'GRANT SELECT. excepto el campo // delegado. INSERT. $prueba[$i]["sql"] = 'DROP USER \'padre\'@\'localhost\'. "<title>PRUEBAS</title></head>".

echo "<tbody> <tr> <td style='text-align: center. delete from padre where login = @padre. OUT mensaje VARCHAR(100) ) BEGIN DECLARE dep INT. ejecutar ($prueba. width: 281px.P.'><big>Descripcion</big></td>". $prueba[$i]["sql"] = "set @mensaje='a'. IF dep = 0 THEN delete from padre where login = padre. width: 163px. END. $prueba[$i]["sql"] = "call borrar_padre(@pater. END IF. $link). ELSE set mensaje := concat('No se puedo borrar al padre'.". width: 255px.Vicente Sancho Guijarro 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 Proyecto Final de Carrera cellpadding='2' cellspacing='2'>". $sql2 = "CREATE PROCEDURE prueba (inout mensaje INT ) BEGIN DECLARE dep INT. $i = 0.T. select count(*) into dep from responsable where padre = padre.S. */ $sql = "CREATE PROCEDURE borrar_padre (IN padre VARCHAR(20). $prueba[$i++]["descripcion"] = "Borrando procedimiento: borrar_padre". E. $prueba[$i++]["descripcion"] = "creando @mensaje". set mensaje = "inicio". select count(*) into dep from responsable where padre = padre. $prueba[$i++]["descripcion"] = "Llamando al procedimiento: borrar_padre".) 134 .'>Error</span></big></td>".'><big><span style='font-weight: bold.".'. $prueba[$i]["sql"] = "drop procedure borrar_padre. @mensaje). select count(*) into mensaje from usuario. END IF. END.". OUT mensaje VARCHAR(100) ) BEGIN DECLARE dep INT. set mensaje = "Padre eliminado". fontweight: bold. de Informática Aplicada (U. delete from usuario where login = @padre. $prueba[$i]["sql"] = $sql2. DECLARE m VARCHAR(20). @padre). set m := 'alter'.".".'>Estado</span></big></td>". $prueba[$i++]["descripcion"] = "creando @padre".". $prueba[$i++]["descripcion"] = "Creando un procedimiento: prueba".V.".'><big><span style='font-weight: bold. echo "<td style='text-align: center. /* $sql = 'CREATE PROCEDURE borrar_padre (padre VARCHAR(20). echo "<td style='text-align: center. echo "</tr>". $prueba[$i]["sql"] = "drop procedure prueba. $prueba[$i]["sql"] = $sql. $prueba[$i++]["descripcion"] = "Creando un procedimiento: borrar_padre". $prueba[$i++]["descripcion"] = "Borrando procedimiento: prueba". ELSE set mensaje = "No se pudo borrar". END. IF dep = 0 THEN set mensaje := 'antes'. $prueba[$i]["sql"] = "set @padre='pater'. set mensaje := concat('Padre borrado: '. @padre).

1932 $prueba4[$i++]["descripcion"] = "Llamando al procedimiento: prueba". 1985 exit. 1936 1937 $prueba5[$j]["sql"] = "select @mensaje. 1956 exit. 1973 fin_html (). 1986 1987 case '7': 1988 borrar_perfiles($link). 1955 cerrar_db ($link). 1989 cerrar_db ($link). 1974 exit. 1924 $prueba3[$j]["sql"] = "select @mensaje. 1928 $i=0. 1963 exit. 1983 cerrar_db ($link).Vicente Sancho Guijarro Proyecto Final de Carrera 1920 1921 1922 1923 $j = 0. 1959 cambiar_a_bd($link). 1926 1927 ejecutar_leer_resultados($prueba3. 1972 cerrar_db ($link).P.) 135 . 1957 case '2': 1958 crear_bd($link).". 1950 switch ($opcion) 1951 { 1952 case '1': 1953 crear_bd($link). 1991 exit. 1960 crear_tablas (). $link). 1931 $prueba4[$i]["sql"] = "call prueba(@mensaje).V.". 1977 ejemplos($link). 1940 1941 echo " </tbody></table><br><br>". 1954 fin_html (). de Informática Aplicada (U. 1947 if (isset($opcion)) 1948 { 1949 $link = conexion ().". 1967 cerrar_db ($link). 1992 1993 case '99': 1994 cambiar_a_bd($link). $link). 1970 case '4': 1971 borrar_bd($link). 1979 fin_html (). 1975 case '5': 1976 cambiar_a_bd($link). 1990 fin_html(). E. 1938 $prueba5[$j++]["descripcion"] = "Leyendo resultado: prueba". 1996 cerrar_db ($link). 1980 exit. 1930 $prueba4[$i++]["descripcion"] = "creando @mensaje". 1939 ejecutar_leer_resultados($prueba5.T. 1966 borrar_tablas (). 1961 cerrar_db ($link). 1933 1934 ejecutar ($prueba4. 1978 cerrar_db ($link).". 1925 $prueba3[$j++]["descripcion"] = "Leyendo resultado: borrar_padre". 1929 $prueba4[$i]["sql"] = "set @mensaje=1. 1962 fin_html (). 1969 exit. 1942 } 1943 1944 function leeropciones () 1945 { 1946 $opcion = $_GET['opcion']. 1995 pruebas($link).S. 1984 fin_html(). 1968 fin_html (). 1935 $j = 0. $link). 1981 case '6': 1982 crear_perfiles($link). 1964 case '3': 1965 cambiar_a_bd($link).

'> ". '> ".T.</big></big> </big><br> ". de Informática Aplicada (U. inicio_html().Vicente Sancho Guijarro 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 fin_html(). color: rgb(255. echo "</div> ".S. echo "<big><big><big>Opci&oacute. echo "</div> ".php'>aqu&iacute. echo "</body></html>".n desconociada.P. echo "<big><big><big>Vuelve al inicio pulsando <a href='setup. Proyecto Final de Carrera default: echo "<div style='text-align: center. echo "<div style='text-align: center. exit. 0).</a></big></big></big><br> ".) 136 .V. 0. exit. ?> E. } } } leeropciones (). echo "</body></html>".

} $poblacion = $datos['poblacion']. define('DIRECTOR'. '" .} $apellido2 = $datos['apellido2']. '" .T. $faltandatos .= "Falta Nombre <br>". "'."."'. $descripcion = "". } $direccion = $datos['direccion'].} $cp = $datos['cp']. $link = conexion_i(). '" . } $sql_usuario = "INSERT INTO `webcole`.= "Falta Codigo Postal < br>". if (empty($login)){ $error = true. 1).} $nombre = $datos['nombre']. if (empty($password)){ $error = true. `nombre`. define('ADMINISTRADOR'.= "Falta Password < br>". $apellido1 . $faltandatos = "". '" . de Informática Aplicada (U. $tipo) { $error = false.= "Falta Login <br>". `direccion`. 2). $eq = false. $faltandatos .) 137 . $direccion . //indicara si el usuario a registrar es uno de los tres tipo de equipo directivo //(porque hay que hacer una insercion mas. $nombre . "'. $faltandatos . $faltandatos . if (empty($nombre)){ $error = true.php". define('ALUMNO'. if (empty($poblacion)){ $error = true. if (empty($telefono)){ $telefono = 'null'. 6). require_once "conexion_i. if (empty($apellido1)){ $error = true. "'. `poblacion`.} $password = $datos['password'].= "Falta Direccion <br>". //datos generales del usuario $login = $datos['login']. define('SECRETARIO'. if (empty($apellido2)){ $apellido2 = 'null'. $cp . $password . $apellido2 . $faltandatos . define('PADRE'. '" . "'. function insertar_usuario($datos.`usuario` (`login`. "'). "'. if (empty($direccion)){ $error = true. $telefono . `apellido1`. cambiar_a_bd_i($link).= "Falta Poblacion <br>".S. `cp`. 4). 7). '" . switch ($tipo) { case PROFESOR: //tipo profesor E. if (empty($cp)){ $error = true. $faltandatos .php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php define('PROFESOR'. `apellido2`. '" . } $apellido1 = $datos['apellido1']. $login . "'.} $telefono = $datos['telefono']. $faltandatos . "'. define('JEFEESTUDIO'. $poblacion .P.Vicente Sancho Guijarro Proyecto Final de Carrera Interfaz_db. 5). '" . `contrasenya`. 3).= "Falta Apellido1 <br>". `telefono`) VALUES ('" .V.

"'. $dni . `dni`.`administrador` (`login`.`profesor` (`login`. '" .} $email = $datos['email']. '" .} $email = $datos['email']. if (empty($dni)){ $error = true. $login . if (empty($email)){ $email = 'null'. "'.P. "').T.`padre` (`login`.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera $dni = $datos['dni']. $login . "'. $login .= "Falta DNI <br> ". `email`) VALUES ('" . $login .". '" . if (empty($email)){ $email = 'null'. $login . break.". '" . case ADMINISTRADOR: $dni = $datos['dni']. "')."').". if (empty($tutorias)){ $tutorias = 'null'. case ALUMNO: //alumno $sql_especifico = "INSERT INTO `webcole`. $dni . `dni`.} E. '" . if (empty($dni)){ $error = true.S. '" .". $faltandatos . break. `dni`. } $sql_especifico = "INSERT INTO `webcole`. if (empty($dni)){ $error = true. "'.`equipodirectivo` (`login`.`alumno` (`login`) VALUES ('" . $faltandatos . case JEFEESTUDIO: $dni = $datos['dni'].} $email = $datos['email']. "'). `dni`. $login . $dni . $sql_ed = "INSERT INTO `webcole`. if (empty($email)){ $email = 'null'. break.= "Falta DNI <br> ".} $email = $datos['email']. if (empty($dni)){ $error = true.) 138 . case PADRE: $dni = $datos['dni'].". '" . `email`. $email . $faltandatos . "'). break. '" . `email`) VALUES ('" .V. } $sql_especifico = "INSERT INTO `webcole`. $email . $tutorias . $dni .= "Falta DNI <br> ". $faltandatos . "'. `email`) VALUES ('" . "'). "'. if (empty($email)){ $email = 'null'. } $tutorias = $datos['tutorias']. $email . de Informática Aplicada (U. "'. $faltandatos .= "Falta DNI <br> ".`director` (`login`) VALUES ( '" .". case DIRECTOR: $dni = $datos['dni']. `tutorias`) VALUES ('" .= "Falta DNI <br> ". } $sql_especifico = "INSERT INTO `webcole`. $email . } $sql_especifico = "INSERT INTO `webcole`. "'. "'. break. '" . $eq = true. if (empty($dni)){ $error = true.

= mysqli_error($link) . $dni ."). "SET AUTOCOMMIT=0.". '" . " <br>". "'. "'). $descripcion .`secretario` (`login`) VALUES ('" .P. break. $sql_ed). }//fin switch //Si ha ocurrido algun error no continuamos //por el momento solo false si ha ocurrido algun error en //en los datos mismos. $sql_ed = "INSERT INTO `webcole`.V. $email . } $sql_especifico = "INSERT INTO `webcole`. $faltandatos. $result = mysqli_query($link. if (!$result) { $descripcion . $resultado = array("estado"=>!$error. "descripcion"=>$descripcion).`equipodirectivo` (`login`. "BEGIN. } if ($eq == true) //este usuario pertenece al equipo directivo { $result = mysqli_query($link. if (!$result) { $error = true.". } $result = mysqli_query($link. return $resultado. $result=mysqli_query($link. if ( $error == true) { $descripcion = "Faltan datos importantes: <br>" . de Informática Aplicada (U.) 139 . "<br>". } //empieza la transacci� de las inserciones $result=mysqli_query($link. $eq = true.". "'. "'). "'). `email`) VALUES ('" . $dni . `email`) VALUES ('" . } } //si no ha ocurrido ningun error finalizamos la transaccion if ($error == false) E.`equipodirectivo` (`login`. } $sql_especifico = "INSERT INTO `webcole`. if (!$result) { $error = true. if (empty($email)){ $email = 'null'."). $sql_ed = "INSERT INTO `webcole`.S. '" .". $faltandatos . $login . "'. $descripcion .Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 Proyecto Final de Carrera $email = $datos['email']. '" .= mysqli_error($link) . $login . $login . if (empty($dni)){ $error = true. '" .T. $sql_usuario). $eq = true. $email . "'). $sql_especifico). case SECRETARIO: $dni = $datos['dni']. default: break.} $email = $datos['email']. if (empty($email)){ $email = 'null'.= mysqli_error($link) . `dni`. break.= "Falta DNI <br> ". "'. `dni`. $login . " <br>".`jefeestudio` (`login`) VALUES ('" .

mysqli_autocommit($link.S.").")."). con lo que //la base de datos deber� de quedar sin rastros de las operaciones //que hemos intentado hacer.P. else { $result = mysqli_query($link. $resultado = array("estado"=>!$error.V.Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 } 247 248 249 ?> { mysqli_query($link. Proyecto Final de Carrera } //si se ha producido algun error hacemos un rollback. mysqli_commit($link). mysqli_close($link). } $result=mysqli_query($link. E."ROLLBACK. "descripcion"=>$descripcion). "SET AUTOCOMMIT=1.) 140 . TRUE).T."COMMIT. return $resultado. de Informática Aplicada (U.

if(!$link_i) { echo "Error en la conexion con la bd <br>\n". $user. } return $link_i. $link_i = mysqli_connect($maquina. die. } ?> E. $user. $maquina. 'webcole').$pass) { $link_i = mysqli_connect($maquina.Vicente Sancho Guijarro Proyecto Final de Carrera Connexion_i. $pass). } return $db.V.S. } function cerrar_db_i ($link) { mysqli_close($link).P. if(!$db) { echo "No se ha podido cambiar a la base de datos WebCole<br>". de Informática Aplicada (U. } function cambiar_a_bd_i($link_i) { $db = mysqli_select_db($link_i. $pass).T. $maquina = "localhost". if(!$link_i) { echo "Error en la conexion con la bd <br>\n". die. die. $pass = "webcole".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <?php function conexion_i () { $user = "cole1".) 141 . } function conexion_i_login ($user. } return $link_i.

php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 <?php function conexion () { $user = "cole1".P. $user. die. $nombre . } return $link. $maquina = "localhost". if(!$db) { echo "No se ha podido cambiar a la base de datos WebCole<br>". if(!$link) { echo "Error en la conexion con la bd <br>\n". die. de Informática Aplicada (U. $pass). } function cerrar_db ($link) { mysql_close($link). } ?> E. } return $db. $link). } function conexion_login ($user. } return $link. $nombre){ $db = mysql_select_db($nombre. die. } function cambiar_a_bd_concreta($link.T. } function cambiar_a_bd($link){ $db = mysql_select_db('webcole'. $pass). if(!$link) { echo "Error en la conexion con la bd <br>\n". $user. "<br> ".Vicente Sancho Guijarro Proyecto Final de Carrera Conexión. if(!$db) { echo "No se ha podido cambiar a la base de datos " . $maquina. $pass = "webcole". $pass ) { $link = mysql_connect($maquina.) 142 . $link = mysql_connect($maquina.V. die. } return $db. $link).S.

P.php">Localizaci&oacute. P. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.V.php">Historia</a></li> <li><a href="equipoDirectivo.) 143 .es"> 46005788@servicec.</td> <td colspan="2" class="titulo">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp. s/n.fono 96 168 00 76<br /> e-mail: <a href="mailto:46005788@servicec.cult./js/fecha.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Equipo directivo</a></li> <li><a href="reglamento.php").S.php">Calendario escolar</a></li> <li><a href="localizacion.php">Reglamento</a></li> <li><a href="calendario.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 <?php require_once ("Anonimo_inc.js"> </script> <link href="css/principal.php">Enlaces</a></li> </ul> </td> <td class="general"><p>Bienvenido al sitio web del Colegio P&uacute. de Informática Aplicada (U.quera (Valencia) </p> <p>Tel&eacute.php"> <p> <label>Login <input type="text" name="log" /> </label> <br/> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> E. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.gva.n</a></li> <li><a href="contactar.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.quera (Valencia).org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.T.</td> </tr> <tr> <td class="fecha">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".Vicente Sancho Guijarro Proyecto Final de Carrera G. org/TR/xhtml1/DTD/xhtml1-strict. blico Emilio Lluch de N&agrave.cult.0 Strict//EN" "http://www.w3. Código PHP Index.N&agrave.php">Contactar</a></li> <li><a href="enlaces. </p> <p>46119 . </p> <p>C.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="#">Inicio</a></li> <li><a href="historia.es</a></p> </td> <td class="foto">&nbsp.gva.w3.dtd"> <html xmlns="http://www. EMILIO LLUCH </p> <p>Calle Polideportivo.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.

de Informática Aplicada (U.S.Vicente Sancho Guijarro Proyecto Final de Carrera 69 </label> 70 </p> 71 </form> 72 <p> 73 <?php 74 if($_COOKIE['login'] == "Error") 75 { 76 echo '<span class="fechaNoticia">Autenticación errónea</span>'.P.T. 85 ?> 86 </p> 87 </tr> 88 </table> 89 </body> 90 </html> E.V. 77 } 78 ?> 79 </p></td> 80 <td colspan="2" class="noticias"> 81 <h3>Noticias</h3> 82 <p> 83 <?php 84 noticias().) 144 .

"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp.a. como duchas o enfermer&iacute.n</a></li> <li><a href="contactar.T.0 Strict//EN" "http://www.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Calendario escolar</a></li> <li><a href="localizacion.V.P.php">Contactar</a></li> <li><a href="enlaces. </p></td> <td class="general">&nbsp.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Historia del centro</h1> <p>El centro fue inaugurado el a&ntilde.S. org/TR/xhtml1/DTD/xhtml1-strict.php">Localizaci&oacute.php">Reglamento</a></li> <li><a href="calendario.</p></td> <td colspan="2" class="noticias"> <h3>Noticias</h3> <?php noticias().</td> <td colspan="2" class="titulo">&nbsp.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html./js/fecha.w3.php">Equipo directivo</a></li> <li><a href="reglamento.o XXXX.php").Vicente Sancho Guijarro Proyecto Final de Carrera Historia.) 145 .</td> </tr> <tr> <td class="fecha">&nbsp.dtd"> <html xmlns="http://www.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.n del gimnasio para mejorar las instalaciones con servicios de los cuales antes se carec&iacute. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. ?></td> </tr> </table> </body> </html> E.</p> <p>El a&ntilde.js"> </script> <link href="css/principal.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 <?php require_once ("Anonimo_inc.o xxxx se hizo una ampliaci&oacute.a. de Informática Aplicada (U.php">Inicio</a></li> <li><a href="#">Historia</a></li> <li><a href="equipoDirectivo.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".w3.

n</a></li> <li><a href="contactar.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().w3.V.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp.php">Localizaci&oacute.js"> </script> <link href="css/principal. </p></td> <td class="general">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.dtd"> <html xmlns="http://www. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.w3.S.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index./js/fecha. ?> <p>&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</td> </tr> <tr> <td class="fecha">&nbsp.php">Reglamento</a></li> <li><a href="calendario.php">Historia</a></li> <li><a href="#">Equipo directivo</a></li> <li><a href="reglamento.Vicente Sancho Guijarro Proyecto Final de Carrera Equipodirectivo.T. org/TR/xhtml1/DTD/xhtml1-strict. de Informática Aplicada (U. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general."><p style="font-weight: bold. ?> </td> </tr> </table> </body> </html> E.php">Calendario escolar</a></li> <li><a href="localizacion.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".0 Strict//EN" "http://www. font-size:30px">Equipo directivo</p> <?php equipo_directivo().php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once ("Anonimo_inc.</td> <td colspan="2" class="titulo">&nbsp.) 146 .php").php">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general" style="text-align: left .P.</p></td> <td colspan="2" class="noticias"> <h3>Noticias</h3> <?php noticias().php">Inicio</a></li> <li><a href="historia.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.

Vicente Sancho Guijarro

Proyecto Final de Carrera

Reglamento.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php require_once ("Anonimo_inc.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="#">Reglamento</a></li> <li><a href="calendario.php">Calendario escolar</a></li> <li><a href="localizacion.php">Localizaci&oacute;n</a></li> <li><a href="contactar.php">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><p style="font-weight: bold; font-size:30px"> Reglamento de r&eacute;gimen interno</p> <p>Para descargar en formato PDF, pulse <a href="docs/rri.pdf"> aqu&iacute;. <img src="img/word_logo.jpg" alt="Word" /></a></p> <p>Para descargar en formato DOC, pulse <a href="docs/rri.doc"> aqu&iacute;. <img src="img/pdf_logo.gif" alt="PDF" /></a></p> </td> <td class="imagenReglamento">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp;</p></td> <td colspan="2" class="noticias"><h3>Noticias</h3> <?php noticias(); ?></td> </tr> </table> </body> </html>

E.T.S. de Informática Aplicada (U.P.V.)

147

Vicente Sancho Guijarro

Proyecto Final de Carrera

Calendarioescolar.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="reglamento.php">Reglamento</a></li> <li><a href="#">Calendario escolar</a></li> <li><a href="localizacion.php">Localizaci&oacute;n</a></li> <li><a href="contactar.php">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Calendario escolar </h1> <?php require ("calendarioscript.php"); if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ $tiempo_actual = time(); $mes = date("n", $tiempo_actual); $ano = date("Y", $tiempo_actual); $dia=date("d"); $fecha=$ano . "-" . $mes . "-" . $dia; }else { $mes = $_GET["nuevo_mes"]; $ano = $_GET["nuevo_ano"]; $dia = $_GET["dia"]; $fecha=$ano . "-" . $mes . "-" . $dia; } //echo"Fecha Seleccionada <input type=text name=fecha value=$fecha>"; mostrar_calendario($dia,$mes,$ano); ?> </td> <td class="imagenCalendario">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" />

E.T.S. de Informática Aplicada (U.P.V.)

148

Vicente Sancho Guijarro

Proyecto Final de Carrera

74 </label> 75 </p> 76 </form> <p>&nbsp;</p></td> 77 <td colspan="2" class="noticias"> 78 <p><strong>Eventos del d&iacute;a:</strong> </p> 79 80 <?php 81 $conn=Conectar(); 82 $sql="SELECT * FROM evento WHERE titulo = '"."Curso"."' OR titulo = 83 '"."Festivo"."'"; 84 $res=consulta($sql,$conn); 85 $hayEventos = 0; //¿Hay eventos para el dia seleccionado? 86 while($row=siguiente($res)) 87 { 88 $fecha = split("-",sacarFecha($row["fecha"])); 89 if($dia == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == 90 "2000" || $fecha[2] == $ano)) 91 { 92 echo "<p><span class='fechaNoticia'>".sacarDiaMes($row[ 93 "fecha"])."-".$ano."</span> ".tohtml($row["descripcion"])."< 94 /p>"; 95 $hayEventos = 1; // SI hay eventos 96 } 97 } 98 if($hayEventos == 0) //Si no hay eventos para el dia seleccionado 99 echo "<p>No hay eventos para el d&iacute;a seleccionado</p>"; 100 Desconectar($conn); 101 ?> 102 </td> 103 </tr> 104 </table> 105 </body> 106 </html>

E.T.S. de Informática Aplicada (U.P.V.)

149

Vicente Sancho Guijarro

Proyecto Final de Carrera

Localizacion.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 <?php require_once ("Anonimo_inc.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="reglamento.php">Reglamento</a></li> <li><a href="calendario.php">Calendario escolar</a></li> <li><a href="#">Localizaci&oacute;n</a></li> <li><a href="contactar.php">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Localizaci&oacute;n</h1> <p>C. P. EMILIO LLUCH </p> <p>Calle Polideportivo, s/n. </p> <p>46119 - N&agrave;quera (Valencia)</p> <p><a href="javascript:;" onclick="window.open('http://www.naquera. com/servicios/plano_callejero_v.asp','Mapa','width=500,height=325')"> Ver mapa de N&agrave;quera</a> </p></td> <td class="imagenLocalizacion">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp;</p></td> <td colspan="2" class="noticias"><h3>Noticias</h3> <?php noticias(); ?></td> </tr> </table> </body> </html>

E.T.S. de Informática Aplicada (U.P.V.)

150

Vicente Sancho Guijarro

Proyecto Final de Carrera

Contactar.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once ("Anonimo_inc.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="reglamento.php">Reglamento</a></li> <li><a href="calendario.php">Calendario escolar</a></li> <li><a href="localizacion.php">Localizaci&oacute;n</a></li> <li><a href="#">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Contacto</h1> <p>Para cualquier duda o sugerencia no dude en ponerse en contacto con nosotros. Con el formulario que le ofrecemos a continuaci&oacute; n puede hacernos llegar sus inquietudes. </p> <p>O si lo prefiere puede ponerse en contacto con el centro con el siguiente tel&eacute;fono: 96 168 00 76</p> <form id="form2" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <p> Introduzca su e-mail <input type="text" name="Mail" value="<?php echo $_POST["Mail"] ?> "/> </p> <p>Introduzca el mensaje que desee enviar: </p> <p> <textarea name="Texto" cols="50" rows="8"><?php echo $_POST[ "Texto"] ?></textarea> </p> <p> <input type="submit" name="Submit" value="Enviar" /> </p> </form> <?php

?> <p>&nbsp;</p></td> <td class="imagenEmail">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p>

E.T.S. de Informática Aplicada (U.P.V.)

151

de Informática Aplicada (U.) 152 .P. 89 ?></td> 90 </tr> 91 </table> 92 </body> 93 </html> E.V.T.</p></td> 85 <td colspan="2" class="noticias"><h3>Noticias</h3> 86 <?php 87 88 noticias().S.Vicente Sancho Guijarro Proyecto Final de Carrera 74 <label>Login 75 <input type="text" name="log" /> 76 </label> 77 <label>Password 78 <input type="password" name="pass" /> 79 </label> 80 <label> 81 <input type="submit" value="Identificarse" name="b" /> 82 </label> 83 </p> 84 </form> <p>&nbsp.

php">Historia</a></li> <li><a href="equipoDirectivo.php">Calendario escolar</a></li> <li><a href="localizacion. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. org/TR/xhtml1/DTD/xhtml1-strict.V.Vicente Sancho Guijarro Proyecto Final de Carrera Enlaces.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin. ?></td> </tr> </table> </body> </html> E.php">Localizaci&oacute.0 Strict//EN" "http://www.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".) 153 .es">Conselleria d'Educaci&oacute.naquera.P.</p></td> <td colspan="2" class="noticias"><h3>Noticias</h3> <?php noticias().mec.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.s </h1> <h3>Institucionales</h3> <p><a href="www.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp.cult.T.dtd"> <html xmlns="http://www.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</td> </tr> <tr> <td class="fecha">&nbsp.</a> </p> <p><a href="www.php">Inicio</a></li> <li><a href="historia.js"> </script> <link href="css/principal.quera</a> </p> <h3>Recursos educativos </h3> <p><a href="www.w3.php">Contactar</a></li> <li><a href="#">Enlaces</a></li> </ul> </td> <td class="general"><h1>Enlaces de inter&eacute.w3.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.n del vago</a> </p>< /td> <td class="imagenEnlaces">&nbsp./js/fecha.es">Ministerio de Educaci&oacute.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().com">Ayuntamiento de N&agrave.n</a></li> <li><a href="contactar. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.rincondelvago.php">Reglamento</a></li> <li><a href="calendario.php">Equipo directivo</a></li> <li><a href="reglamento.com">El Rinc&oacute.php").n</a></p> <p><a href="www.gva.S. de Informática Aplicada (U.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php require_once ("Anonimo_inc.</td> <td colspan="2" class="titulo">&nbsp.

charset=iso-8859-1" /> <title>Documento sin t&iacute. </p> Volver al <a href="/webcole/index.php 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.dtd"> <html xmlns="http://www.0 Transitional//EN" "http://www.org/TR/xhtml1/DTD/xhtml1-transitional.P.V.php">inicio</a> </body> </html> E. w3.) 154 .tulo</title> </head> <body> <p>Acceso prohibido.T.w3.Vicente Sancho Guijarro Proyecto Final de Carrera Prohibido.S.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. de Informática Aplicada (U.

"< /p>"). login = D. equipodirectivo E WHERE U.login = S."</a></p>"). echo tohtml("<p>". for($i=0." ".login = J. echo tohtml("<p>Horario de atenci&oacute. $dir["horario"] .$dir["apellido1"].n: " ." </p>". echo tohtml("<p>Horario de atenci&oacute. equipodirectivo E WHERE U." ".$sec["email"]. "< /p>").login". echo tohtml("<p>".$dir[ "email"].$conn). director D. $i<3 || $i<numeroFilas($res). } desconectar($conn)."'>".) 155 . font-size:22px'>Director: </p>". "</p> ").sacarFecha($row["fecha"]).login AND D. //JEFE DE ESTUDIOS $sql="SELECT * FROM usuario U. echo "<p style='font-weight: bold. echo "<hr />"." ".login". $sql="SELECT * FROM administrador".login"."'>"."</p>"). echo tohtml("<p>E-mail: <a href='mailto:". echo "<hr />". if(isset($_POST["Mail"]) && $_POST["Mail"] != "") { E. $sql="SELECT * FROM evento WHERE titulo = 'Noticia' ORDER BY idevento DESC"."</a></p>").P. font-size:22px'>Jefe de Estudios: </p>".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "bd. $res=consulta($sql. echo "<p style='font-weight: bold. echo tohtml("<p>".$sec[ "apellido2"]." ". secretario S. echo "<p style='font-weight: bold. echo tohtml("<p>Horario de atenci&oacute. } function mandar_correo() { $conn=Conectar()."</p>")."</a></p>"). font-size:22px'>Secretario: </p>". desconectar($conn). echo tohtml("<p>E-mail: <a href='mailto:".$je["nombre"].php".login=E.$i++) { $row = siguiente($res). $je["horario"] .$sec["nombre"].login AND S.Vicente Sancho Guijarro Proyecto Final de Carrera Anonimo_inc.$je[ "email"]. $director = consulta($sql. //SECRETARIO $sql="SELECT * FROM usuario U.$dir["email"].$conn).$dir[ "apellido2"]. $secretario = consulta($sql.$sec["apellido1"]. } function noticias() { $conn=Conectar()." "."'>". equipodirectivo E WHERE U.$dir["nombre"].n: " . $sec = siguiente($secretario). $dir = siguiente($director).S.$conn).T.$je[ "apellido2"]. jefeestudio J. $res=consulta($sql. de Informática Aplicada (U.$je["email"]. $je = siguiente($je).login = E."</p>"). $je = consulta($sql.login = E. $mailAdmin = $res["email"]. function equipo_directivo() { $conn = Conectar().n: " .login AND J.$conn). echo tohtml("<p>E-mail: <a href='mailto:".V." ". $sec["horario"] . // DIRECTOR $sql="SELECT * FROM usuario U.$sec[ "email"]. echo "<p><span class='fechaNoticia'>"." < /span>". $res=siguiente($res).tohtml($row["descripcion"]).$je["apellido1"].$conn).

de Informática Aplicada (U.T. ha ocurrido un error. "From: ". else echo "<p>Lo siento.</p>". "Consulta de la Web". } else if($HTTP_POST_VARS) echo "<p>Debe rellenar todos los campos. E. Le contestaremos con la mayor brevedad posible. desconectar($conn). $_POST["Texto"].$_POST['Mail'])) echo "<p>Gracias por ponerse en contacto con nosotros.</p>".S.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 } 85 86 ?> Proyecto Final de Carrera if(@mail($mailAdmin.V.P.</p>".) 156 .

42 } 43 } 44 } 45 } 46 47 48 if($ok == 0) 49 { 50 setcookie('login'. 21 while($row2 = siguiente($resultado2)) 22 { 23 if($_POST['log'] == $row2['login']) 24 { 25 //mysql_close($dp). 52 echo '<script language="Javascript"> alert("Autenticación errónea"). 29 } 30 } 31 32 //Comprobamos si es alumno 33 $sql3 = 'SELECT * FROM alumno'. 5 $conn = conectar(). 6 $sql = 'SELECT * FROM usuario'. 18 //Comprobamos si es profesor 19 $sql2 = 'SELECT * FROM profesor'.Vicente Sancho Guijarro Proyecto Final de Carrera Analizadorlogin. 58 ?> E. $conn).php").php').V. 54 } 55 56 57 desconectar($conn).) 157 .T. 26 $_SESSION["tipo"] = "Profesor". 27 header('Location: intranetProfe. 8 while($row = siguiente($resultado)) 9 { 10 if($_POST['pass'] == $row['contrasenya'] && $_POST['log'] == $row[ 11 'login']) 12 { 13 $ok = 1. $row['login']). //Guardamos el cookie con 16 el nombre del usuario conectado 17 $_SESSION["id"] = $row["login"]. 34 $resultado3 = consulta($sql3.P. 'Error'. $conn).php"). 51 header("Location: index. 14 15 //setcookie('log'. $conn).php'). 4 include("bd. time()+1). 7 $resultado = consulta($sql.S.php 1 <?php 2 $ok = 0. 28 break. 41 header('Location: intranetAlumno. 35 while($row3 = siguiente($resultado3)) 36 { 37 if($_POST['log'] == $row3['login']) 38 { 39 40 $_SESSION["tipo"] = "Alumno". de Informática Aplicada (U. 53 </script>'. // se han encontrado en la base de datos 3 session_start(). 20 $resultado2 = consulta($sql2.

} function siguiente($res) { return mysql_fetch_assoc($res).V.$fecha[1]. $fecha[0]."webcole"))) { echo "Error conectando a la base de datos. $fecha_convertida=$fecha_hora[0]. $c). '-' . $hora = split(":".$fecha[2]).':'.". } function sacarDiaMes($fecha_datetime) { $fecha = split("-". $fecha_convertida=$fecha_hora[0] .$fecha[2]). '-' . $fecha_hora=split(" ".'ñ'. return $res. de Informática Aplicada (U.$fecha[0].php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php function Conectar() //realiza la conexion con la base de datos.) 158 . exit().'é'.'Ñ'. } function Desconectar($link) { mysql_close($link). return $fecha_convertida.T.$hora[0]).'Í'. $c) { $res = mysql_query($sql.S. } //Reemplaza en un texto las tildes y caracteres especiales por su equivalente en html function tohtml($texto) { $especial=array('á'.'É'. $fecha[1]. return $fecha_convertida. $fecha_convertida=$fecha_hora[0] . return $fecha_convertida. '-' . $fecha[1] . } function consulta($sql.'-'.$hora[0]).$hora[1]. E.$fecha_datetime).$fecha_datetime).'è'.".'Á'.$hora[2].'í'.$link)) { echo "Error seleccionando la base de datos.' '. $hora = split(":". $fecha_hora=split(" ".$fecha[2]). exit(). $fecha_hora[1]. } //Devuelve solo la fecha de un datetime function sacarFecha($fecha_datetime) { $fecha = split("-". } if (!mysql_select_db("webcole".':'.'ú'.'-'.$fecha_datetime).'Ó'."cole1".$hora[0]). $fecha_hora=split(" ". { if (!($link=mysql_connect("localhost".P. //cierra la conexion } //Esta función convierte la fecha del formato DATETIME de SQL //a formato DD-MM-YYYY HH:mm:ss function convertir_fecha($fecha_datetime) { $fecha = split("-".'ó'. } function numeroFilas($res) { return mysql_num_rows($res). } return $link.Vicente Sancho Guijarro Proyecto Final de Carrera Bd.'Ú'. $hora = split(":".'à'.

) 159 . // Finalmente.'Ò').$traducir.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 Proyecto Final de Carrera 'ò'.n session_destroy(). $traducir=array('&aacute.'. '&ntilde.'&iacute.n session_unset().'&Agrave.'.'.'&uacute.'.'. borrando los datos que hubiera en ella function cerrarSesion () { // Destruye todas las variables de la sesi&oacute.'. '&Ograve.$texto). return str_replace($especial.'.'.'&agrave.'.'&ograve.'.'&Eacute.'&Aacute.'&oacute.'&Iacute.'.'.'.'&eacute.'. de Informática Aplicada (U.'&Egrave. destruye la sesi&oacute.P.'È'.'.').'&egrave.'.'.'À'.T.'&Oacute.V. } //cierra la sesion del usuario.S. } ?> E. '&Ntilde.'&Uacute.

Vicente Sancho Guijarro Proyecto Final de Carrera Cerrar_sesion_alumno.php"). 4 ?> E. 5 ?> 6 <head> 7 <meta http-equiv="refresh" content="1.php"> 8 </head> Cerrar_sesion.V.P. 3 header("Location: /webcole/index.) 160 .URL=index.php".php").T.S. de Informática Aplicada (U.php 1 <?php 2 session_start().php 1 <?php 2 require_once "profesor_inc. 4 cerrarSesion(). 3 include("bd.

} return $ultimo_dia. while (checkdate($mes. break.0. } function mostrar_calendario($dia.0. case 2: $nombre_mes="Febrero". case 3: $nombre_mes="Marzo". case 4: $nombre_mes="Abril".$ano){ $numerodiasemana = date('w'.$ano){ $mes_hoy=date("m").$dia. break. break.php"). case 9: $nombre_mes="Septiembre". break. break. if ($numerodiasemana == 0) $numerodiasemana = 6. case 10: $nombre_mes="Octubre".S. case 11: $nombre_mes="Noviembre". $ano_hoy=date("Y"). case 7: $nombre_mes="Julio".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 <?php include_once("bd. } return $nombre_mes. } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes. break. break. break.$ano){ $ultimo_dia=28. case 6: $nombre_mes="Junio".$mes.$ultimo_dia + 1. if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0.$mes.$ano)). return $numerodiasemana. else $numerodiasemana--.$ano)){ $ultimo_dia++. break. break.T. mktime(0. case 8: $nombre_mes="Agosto".Vicente Sancho Guijarro Proyecto Final de Carrera calendarioscript. break.P. de Informática Aplicada (U.$mes.V. } else { E.) 161 . case 12: $nombre_mes="Diciembre". break. } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero". case 5: $nombre_mes="Mayo". function calcula_numero_dia_semana($dia.

88 $ano_anterior = $ano.nuevo_mes=$mes_siguiente&amp.text-align: center . 94 php?dia=$dia&amp. 126 127 //Variable para llevar la cuenta del dia actual 128 $dia_actual = 1.Vicente Sancho Guijarro Proyecto Final de Carrera 76 $hoy=date("d").T. 91 $mes_anterior=12. 129 130 //calculo el numero del dia de la semana del primer dia 131 $numero_dia = calcula_numero_dia_semana(1.text-align: center . 102 $ano_siguiente = $ano.$ano). 100 //calculo el mes y ano del mes siguiente 101 $mes_siguiente = $mes + 1.$mes. 152 } E. font-size:10pt. 110 echo ' <tr> 111 <td style="width: 14%. 86 //calculo el mes y ano del mes anterior 87 $mes_anterior = $mes .nuevo_mes=$mes_anterior&amp.nuevo_ano=$ano_siguiente'> 109 &gt.V. 136 137 //escribo la primera fila de la semana 138 echo "<tr>". 108 php?dia=$dia&amp.nuevo_mes=$mes&amp.text-decoration:none' href='calendario.</a></td></tr></table></td></tr>"." class="altn">Ma< 114 /td> 115 <td style="width: 14%.font-weight:bold. 133 134 //calculo el último dia del mes 135 $ultimo_dia = ultimoDia($mes. 96 echo "<td style='text-align: center .&lt.</a></td>".$i++){ 140 if ($i < $numero_dia){ 141 //si el dia de la semana i es menor que el numero del primer 142 dia de la semana no pongo nada en la celda 143 echo "<td></td>". 98 echo "<td style='text-align: right . 144 } else { 145 if (($i == 5) || ($i == 6)) 146 { 147 if ($dia_actual == $hoy) 148 { 149 echo "<td class='da'><a href='calendario.&gt.color:white'>". 106 } 107 echo "<a style='color:white.text-align: center .1.) 162 ." class="altn">Vi< 120 /td> 121 <td style="width: 14%." class="altn">Sa< 122 /td> 123 <td style="width: 14%." class="altn">Mi< 116 /td> 117 <td style="width: 14%. 139 for ($i=0.text-align: center . 89 if ($mes_anterior==0){ 90 $ano_anterior--.text-align: center .text-decoration:none' href='calendario.' class='tit'>$nombre_mes $ano< 97 /td>". 151 nuevo_ano=$ano'>$dia_actual</a></td>".S. 92 } 93 echo "<a style='color:white." class="altn">Lu< 112 /td> 113 <td style="width: 14%.$i<7. 105 $mes_siguiente=1.P. 77 } 78 //tomo el nombre del mes que hay que imprimir 79 $nombre_mes = dame_nombre_mes($mes). 84 echo "<table width='100%' cellspacing='2' cellpadding='2' border='0'>< 85 tr><td style='font-size:10pt. 103 if ($mes_siguiente==13){ 104 $ano_siguiente++.text-align: center .text-align: center . 132 //echo "Numero del dia de demana del primer: $numero_dia <br>".font-weight:bold.' class='tit'>". 80 81 //construyo la cabecera de la tabla 82 echo "<table width='200px' cellspacing='3' cellpadding='2' border='0'>< 83 tr><td colspan='7' style='text-align: center . de Informática Aplicada (U. 99 color:white'>".nuevo_ano=$ano_anterior'> 95 &lt. 150 php?dia=$dia_actual&amp." class="altn">Do< 124 /td> 125 </tr>'." class="altn">Ju< 118 /td> 119 <td style="width: 14%.$ano).

} else { $escrito=0. nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp.nuevo_mes=$mes&amp.sacarFecha($row["fecha"])).nuevo_mes=$mes&amp.nuevo_mes=$mes&amp. } } $sql = "SELECT * FROM evento WHERE NOT titulo = 'Festivo' AND NOT titulo='Noticia'".$conn). php?dia=$dia_actual&amp.nuevo_mes=$mes&amp.V. } } else { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario.P. nuevo_ano=$ano'>$dia_actual</a></td>".S. break. $res = consulta($sql. } } Desconectar($conn).) 163 .nuevo_mes=$mes&amp. de Informática Aplicada (U. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='curso'><a href='calendario. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario. if($escrito==0) { echo "<td style='text-align: center . nuevo_ano=$ano'>$dia_actual</a></td>". nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp. nuevo_ano=$ano'>$dia_actual</a></td>".sacarFecha($row["fecha"])).T. nuevo_ano=$ano'>$dia_actual</a></td>". E. while($row = siguiente($res)) { $fecha = split("-".$conn).' class='laborable'><a href='calendario. $conn=Conectar(). } else { echo "<td class='fs'><a href='calendario. php?dia=$dia_actual&amp. $escrito=1. $escrito=1. php?dia=$dia_actual&amp. php?dia=$dia_actual&amp. $res = consulta($sql. } } } $dia_actual++. } } echo "</tr>".Vicente Sancho Guijarro 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 Proyecto Final de Carrera else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario. nuevo_ano=$ano'>$dia_actual</a></td>".nuevo_mes=$mes&amp. while($row = siguiente($res)) { $fecha = split("-". php?dia=$dia_actual&amp. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='fs'><a href='calendario. break. $sql = "SELECT * FROM evento WHERE titulo = 'Festivo'".nuevo_mes=$mes&amp.

while($row = siguiente($res)) { $fecha = split("-". } } $sql = "SELECT * FROM evento WHERE NOT titulo = 'Festivo' AND NOT titulo='Noticia'".P.T. php?dia=$dia_actual&amp.nuevo_mes=$mes&amp. php?dia=$dia_actual&amp. php?dia=$dia_actual&amp. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario.sacarFecha($row["fecha"])). php?dia=$dia_actual&amp. while($row = siguiente($res)) { $fecha = split("-".sacarFecha($row["fecha"])). php?dia=$dia_actual&amp. while ($dia_actual <= $ultimo_dia){ //si estamos a principio de la semana escribo el <TR> if ($numero_dia == 0) echo "<tr>". } else { echo "<td class='fs' ><a href='calendario. nuevo_ano=$ano'>$dia_actual</a></td>".$conn).nuevo_mes=$mes&amp.S. php?dia=$dia_actual&amp. } else { $escrito=0. $escrito=1. $res = consulta($sql.nuevo_mes=$mes&amp. $res = consulta($sql.) 164 . php?dia=$dia_actual&amp. } } else { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario.nuevo_mes=$mes&amp. $escrito=1.Vicente Sancho Guijarro 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 Proyecto Final de Carrera //recorro todos los demás días hasta el final del mes $numero_dia = 0. nuevo_ano=$ano'>$dia_actual</a></td>". nuevo_ano=$ano'>$dia_actual</a></td>". de Informática Aplicada (U.nuevo_mes=$mes&amp. $sql = "SELECT * FROM evento WHERE titulo = 'Festivo'". //si es el uñtimo de la semana. $conn=Conectar(). nuevo_ano=$ano'>$dia_actual</a></td>". nuevo_ano=$ano'>$dia_actual</a></td>". break. E. nuevo_ano=$ano'>$dia_actual</a></td>".nuevo_mes=$mes&amp.$conn). me pongo al principio de la semana y escribo el </tr> if (($numero_dia == 5) || ($numero_dia == 6)) { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='curso'><a href='calendario.nuevo_mes=$mes&amp. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='fs'><a href='calendario.V. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario. nuevo_ano=$ano'>$dia_actual</a></td>".

echo "</table>". if($escrito==0) { echo "<td style='text-align: center . if ($numero_dia == 7) { $numero_dia = 0.S. } Proyecto Final de Carrera } Desconectar($conn). echo "</tr>".nuevo_mes=$mes&amp.$i<7. } echo "</tr>".T.$i++){ echo "<td></td>".) 165 . de Informática Aplicada (U. } } } $dia_actual++.P.Vicente Sancho Guijarro 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 } break. nuevo_ano=$ano'>$dia_actual</a></td>". E.V. php?dia=$dia_actual&amp. $numero_dia++.' class='laborable'><a href='calendario. } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes for ($i=$numero_dia.

php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 <?php require_once "bd."'". //el nombre de la instalacion y las normas //Acceso: // idinstalacion => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas. //$tabla[$i]["fecha"] = $fila["fecha"]. apunta al fichero // que las tiene) // fecha => fecha de la reserva con formato "mm-dd-aa hh:mm:ss" // proposito => Motivo de la reserva (introducido por el usuario // cuando realiza la reserva. define (INST.S. $tabla[$i]["instalacion"] = $ins["instalacion"]. "EQUIPACION"). apunta al fichero // que las tiene) function listado_instalacion() { $link = Conectar().Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_inc. define (ALUM. //El usuario se obtiene de la sesion iniciada //Acceso: // idinst => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas. $sql = "SELECT * FROM instalacion". //ejecutamos la consulta $resultado = consulta ($sql. $res_ins = consulta ($sql_ins.V.T. "'". define (EQUIP. } else { $tabla[$i]["idinst"] = -1. de Informática Aplicada (U. $ins = siguiente($res_ins). $link). "INSTALACION"). $tabla[$i]["proposito"] = $fila["proposito"]. "Alumno"). $fila["idinstalacion"] . $tabla[$i++]["normas"] = $ins["normas"]. //ejecutamos la consulta E. $tabla[$i++]["normas"] = "Normas no encontradas". $_SESSION["id"] . $tabla[$i]["instalacion"] = "Instalacion desconocida". //Devuelve una tabla con las reservas de instalaciones que //ha efectuado el usuario. $tabla = null.) 166 . return $tabla. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. $link). } } Desconectar ($link). function listado_reservas_instalaciones() { $link = Conectar().php".P. if ($ins) { $tabla[$i]["idinst"] = $ins["idinstalacion"]. } //devuelve una tabla con el id de las instalaciones. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $sql_ins = "SELECT * FROM instalacion WHERE idinstalacion = '" . $sql = "SELECT * FROM res_ins WHERE login = '" .

P. $tabla[$i++]["anyo"] = $trozo[2].) 167 .$hora. $tabla[$i++]["normas"] = $fila["normas"]. seg) //el codigo del item a reservar (puede ser una instalacion o un //equipamiento y el motivo //Devuelve: // True si reveserva se pudo hacer // Falso en caso contrario function reservar_instalacion($login.`idinstalacion`=$iditem" .V. E. "\n<br>". $item) { if ( !isset($iditem) || $iditem == -1) { return. $item) { $fecha = $anyo . if ($item == INST) { $sql = "SELECT fecha FROM `res_ins` WHERE `res_ins`. $link). //echo " fecha: " . } else { $sql = "SELECT fecha FROM `res_equi` WHERE `res_equi`. $tabla[$i]["dia"] = $trozo[0].$anyo. mes. while ($fila = siguiente($resultado)) { $tabla[$i]["idinstalacion"] = $fila["idinstalacion"]. $fecha). $dia . //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. } //Permite hacer una reserva //Recibe como parametros //Login del usuario. $link).$motivo. "-" . while ($fila = siguiente($result)) { $fecha = sacarFecha($fila["fecha"]). $tabla.`idequipacion`=$iditem" . fecha(dia. } $link = Conectar(). } Desconectar ($link). Proyecto Final de Carrera //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. ": " . $fecha .S. $min . return $tabla.Vicente Sancho Guijarro 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 $resultado = consulta ($sql. $mes . $hora . ":" . } Desconectar ($link). anyo) y hora(hora.T. $tabla[$i]["instalacion"] = $fila["instalacion"].$iditem. $seg.$min. " " . de Informática Aplicada (U. } //Obtiene los dias en que esta reservado una instalacion dada //Devuelve una tabla con las fechas //Acceso: // dia // mes // anyo //Parametros recibido // id de una instalacion function fecha_reservas($iditem. "-" .$dia. min. $tabla[$i]["mes"] = $trozo[1]. } $result = consulta ($sql. $seg. $trozo = explode ("-". return $tabla.$mes.

$link = Conectar(). $fecha.) 168 .`idinstalacion`=$iditem AND `res_ins`.S. } $result = consulta ($sql. $link). if ( $filas == 0 ) { //echo "La reserva ya hab&iacute.`idequipacion`=$iditem AND `res_equi`. $iditem. '$motivo').`res_ins` (`login`. } else E. '$fecha'. `proposito`) VALUES (\'$login\'. \'$motivo\'). } $result = consulta ($sql. /*$sql = "INSERT INTO `webcole`. `fecha`.P. $link). de Informática Aplicada (U. `proposito`) VALUES ('$login'.V.". '$fecha'. $correcto =false. $item) { $link = Conectar().T. \'$fecha\'. `proposito`) VALUES ('$login'.".a sido eliminada". mysql_error($link). `fecha`.`login` USING utf8)='$login' AND `res_ins`.`fecha`='$fecha' ". Proyecto Final de Carrera return $result. '$iditem'. '$motivo'). `idinstalacion`.`res_ins` (`login`. '$iditem'. if($result) { $filas = mysql_affected_rows(). `idinstalacion`. */ if ($item == INST) { $sql = "INSERT INTO `webcole`. if ($item == INST) { $sql = "DELETE FROM `res_ins` WHERE CONVERT(`res_ins`.`res_equi` (`login`. } else { $sql = "DELETE FROM `res_equi` WHERE CONVERT(`res_equi`.`fecha`='$fecha' ".". echo "error: " . `idequipacion`. $correcto =false.`login` USING utf8)='$login' AND `res_equi`. } //Esta funcion elimina una reserva del usuario dado una fecha y el //id del item y el tipo (instalacion o equipamiento function anular_reserva($login.Vicente Sancho Guijarro 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 echo "fecha vale: $fecha<br>\n". `fecha`. } else { $sql = "INSERT INTO `webcole`. \'$idins\'.

desconectar($dp). "</p>\n". } desconectar($conn). } } else { ha sido eliminada". $sql = "SELECT * FROM faltaasistencia WHERE alumno = '".P. $i<3 && $i<numeroFilas($res)." </p> ".$fecha[1]. else echo "<td>S&Iacute. //echo"<p>Error: " ."</td>"."' ORDER BY fecha". $res=consulta($sql."'".sacarFecha($row["fecha"]).V. if($fechaComparar >= date("Ymd")) for($i=0.tohtml($asignatura["nombre"]).T. } function rellenar_eventos_curso() { $conn = Conectar().".$conn). echo "</tr>".'"'. echo "</tr>". echo "<tr>".sacarFecha($row["fecha"]))."</th>".</td>". $asignatura = consulta($sql. $dp). $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha". while($row = siguiente($resultado)) echo 'Bienvenido ' .$conn). $row['nombre']." </span>". echo "<th scope='col'>Asignatura</th>". while($row = siguiente($res)) { $fecha=split("-". echo "<th scope='col'>Justificada</th>".sacarFecha($row[ "fecha"]). } function rellenar_tabla_faltas() { $conn = Conectar().$conn).$row["asignatura"]. Proyecto Final de Carrera //echo"<p>Operacion NO efectuada</p>\n". echo "<th scope='row'>".tohtml($row["descripcion"]).) 169 . if($row["justificada"] == 0) echo "<td>NO</td>".$fecha[2]. $asignatura = siguiente($asignatura). $sql = 'SELECT * FROM usuario WHERE login ="' . else { echo "<table width='100%' border='1'>". $correcto =false. de Informática Aplicada (U. echo "<tr>". echo "<th scope='col'>Fecha</th>". //echo"SQL: $sql".$i++) echo "<p><span class='fechaNoticia'>". mysql_error($link) . E. $fechaComparar = "". $resultado = consulta($sql. while($row = siguiente($faltas)) { $sql = "SELECT nombre FROM asignatura WHERE codigoasignatura = '". $faltas = consulta($sql.$fecha[0].S. if(numeroFilas($faltas) == 0) echo "El alumno no tiene ninguna falta de asistencia.$_SESSION[ "id"]. echo "<td>". } Desconectar ($link). } function bienvenido() { $dp = Conectar(). return $correcto.Vicente Sancho Guijarro 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 { //echo "La reserva $correcto =true. $_SESSION[ "id"] .

} else { $anyo_pos = date("Y") + 1." ". grupo G WHERE U.$res["curso"]. $alumnos = consulta($sql. alumno A WHERE U. delegado". echo "<td>".$row["nombre"]). } } E.$conn). echo "<td>". "</p>". echo "Curso: ". while($row = siguiente($alumnos)) { echo "<tr>". "."</td>"." ".login = G. desconectar($conn).date("Y").$anyo_ant. // Delegado $sql = "SELECT * FROM usuario U. $row = consulta($sql.$row["apellido2"].$row["nombre"]).$res["curso"] . echo "<p>Letra: ".tohtml($row["apellido1"]. $a = consulta($sql1.". grupo G WHERE U."</td>"."' AND A. alumno A.P.date("Y").tohtml($row["apellido1"]. $conn). $res = siguiente($a)." .letra = '". echo "<p>Tutor: ".login = G. echo "<p>Curso: ".".T." ".letra = G.1.$res["letra"] .curso = '".". } desconectar($conn)."' AND U. $row = consulta($sql. ".".$_SESSION["id"]. "</p>". // Tutor $sql = "SELECT * FROM usuario U."</td>".S.login = A. $res = siguiente($res). $conn).$row["nombre"]).login = A.letra". echo "<p>Aula: ". $res = consulta($sql."</p>".V.$conn).Vicente Sancho Guijarro 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 } echo "</table>". ".curso = G. $conn). echo "Curso: ". apellido2".tohtml($row["direccion"]). } function curso_actual() { if(date("m")<9) { $anyo_ant = date("Y") .$res["aula"] . ".login AND A.$row[ "apellido2"].$res["letra"]. echo "<p>Delegado: ". grupo G WHERE U."</p>".tutor".$row["telefono"]. echo "<td>". echo "<td>"." ."'".curso AND A. $row = siguiente($row).tohtml($row["apellido1"]. $sql = "SELECT * FROM usuario U.$row["apellido2"]. if ($res) { $sql = "SELECT * FROM usuario U."' ORDER BY apellido1.) 170 . } } desconectar($conn)."</td>". echo "</tr>". "</p>". $row = siguiente($row).login = '". } Proyecto Final de Carrera function poner_datos_grupo() { $conn = Conectar(). } function rellenar_tabla_alumnos() { $conn = Conectar().$anyo_pos. $sql1 = "SELECT * FROM alumno where login='" .tohtml($row["poblacion"]).login AND A. $_SESSION[ "id"] . de Informática Aplicada (U.

} $sql = "SELECT nombre FROM asignatura WHERE codigoasignatura = '". echo "<td>".login ORDER BY nombre".$_SESSION["id"] .$_SESSION["id"] . echo "sql vale: $sql<br>\n". } if($row["trimestre"] == 3) { $ultimo_trimestre = 3. echo "</tr>". echo "<td>&nbsp."< /th>". $ultimo_trimestre = 1. $asignatura = consulta($sql. while($row=siguiente($res)) { echo "<tr>".$conn). E.date("Y"). while($row = siguiente($notas)) { if($row["trimestre"] == 1) { if($ultimo_trimestre == 1) { echo "<td>&nbsp.letra = G.$row["asignatura"]. } if($row["trimestre"] == 2) { $ultimo_trimestre = 2. codigoasignatura AND A.V.$grupo["letra"]."' AND curso LIKE '". trimestre". profesor P WHERE I.P.</td>".) 171 . imparte IM.$grupo["curso"]. de Informática Aplicada (U."</td>". echo "<tr>". } } desconectar($conn)."' AND A. echo "</tr>".$row["nota"]. $sql = "SELECT * FROM usuario WHERE login = '". echo "<td>"."'"."' ORDER BY asignatura. if($mes<9) $sql = "SELECT * FROM nota WHERE alumno = '".S.$conn). $asignatura = siguiente($asignatura). $notas = consulta($sql."</td>".date("Y").profesor = P. trimestre". letra = '"."' AND curso LIKE '%"."</td>". $sql = "SELECT * FROM impartida I. grupo G WHERE A. //Obtenemos el grupo $grupo = consulta($sql.login = '" .codigoasignatura = IM. $mes = date("m"). else $sql = "SELECT * FROM nota WHERE alumno = '".curso = '".curso = G.asignatura AND IM."' AND I.T. echo "</tr>".</td>". } if($ultimo_trimestre == 2) { echo "<td>&nbsp."'".asignatura = A.tohtml($asignatura["nombre"]).$conn).curso AND A. echo "<th scope='row'>"."%' ORDER BY asignatura. asignatura A."</td>".tohtml($row["nombre"]).Vicente Sancho Guijarro 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 Proyecto Final de Carrera function rellenar_tabla_notas() { $conn = Conectar(). $grupo = siguiente($grupo). echo "<td>". letra ". $res = consulta($sql. $ultimo_trimestre = 0.$row["nota"].$conn). $_SESSION["id"]. $sql = "SELECT * FROM alumno A. } function rellenar_tabla_profesores() { $conn = Conectar().</td>".$row["nota"]."' AND I. echo "<td>".$row[ "login"].

$conn)."</span></p></td>".Vicente Sancho Guijarro 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 Proyecto Final de Carrera $profe = consulta($sql.". echo "<td>". $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC". } desconectar($conn). echo "<td class='general'>&nbsp.tohtml($row["email"]). $anuncios = consulta($sql. //echo "<tr>". echo "<td class='general'><p class='anuncioTitulo'>". $anuncios_mostrados = 0. echo "<span class='anuncioNombre'>"."</span> <span class='anuncioFecha'>.tohtml($row["texto"]).P. echo "<tr>". } function poner_anuncios_tablon() { $conn = Conectar().tohtml($row["tutorias"]).tohtml($row["titulo"] ). $anuncios_amostrar = 10.$row["login"].". $_SESSION[ "id"] . if($anuncios_mostrados>=3) echo "<td></td>". $usuario = siguiente($usuario).tohtml( $usuario["apellido1"]). $dp)."'". echo "<tr>".$row[ "fecha"].T." ".$profe[ "apellido2"]. $row = siguiente($resultado). echo "</tr>". while($row = siguiente($anuncios)) { if($anuncios_mostrados >= $anuncios_amostrar) break.</td>"." </p><br/>".</td>"."</a></td>". echo "<td class='general'><p class='anuncio'><span class='anuncioTexto'> ". echo "<td class='general'>&nbsp. } ?> E. $anuncios_mostrados++. de Informática Aplicada (U."</span> </td>"." ". " " .S. $sql = "SELECT * FROM usuario WHERE login = '".$conn). tohtml($row["email"]).tohtml($usuario["nombre"]). //echo "<td colspan='2' class='general'>&nbsp. $usuario = consulta($sql. } desconectar($conn). echo "</tr>". $row['nombre']). echo "<td>". $resultado = consulta($sql. echo "</tr>"."'>". $sql = 'SELECT * FROM usuario WHERE login ="' . $conn). " .</td>". $row['apellido2'] . ". echo tohtml($row['apellido1'] . echo "<td><a href='mailto:".$profe["nombre"]).) 172 ."</td>"."</td>".V. //echo "</tr>". ". desconectar($dp).tohtml($profe["apellido1"]. } function nombre_conectado() { $dp = Conectar(). $profe = siguiente($profe).'"'.

P."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. ?> </p> </td> <td colspan="2" class="noticias"><h3>&nbsp. </p></td> </tr> </table> </body> </html> E.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. ?> <p>&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Men&uacute.</td> <td colspan="2" class="titulo">&nbsp.) 173 .T.dtd"> <html xmlns="http://www.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). de Informática Aplicada (U./js/fecha.php").php").</td> </tr> <tr> <td class="fecha">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera intranetAlumno. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.V. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1." class="logo">&nbsp.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Intranet alumno </h1> <p> <?php nombre_conectado().php">Listado profesores </a></li> <li><a href="Alumno_notas.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="#">Inicio</a></li> <li><a href="Alumno_horario.php">Instalaciones</a></li> <li><a href="Alumno_tablon. semanal </a></li> <li><a href="Alumno_instalaciones.</h3> <h3>Eventos del curso </h3> <?php rellenar_eventos_curso().php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start(). require_once ("Alumno_inc.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Tabl&oacute.w3.S.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.js"> </script> <link href="css/principal.php">Listado alumnos </a></li> <li><a href="Alumno_profes.</td> </tr> <tr> <td> <p> <?php bienvenido().0 Strict//EN" "http://www. org/TR/xhtml1/DTD/xhtml1-strict. ?> </p> </td> <td class="general">&nbsp.php">Notas</a></li> <li><a href="Alumno_faltas.php">Horario</a></li> <li><a href="Alumno_alumnos.

php">Men&uacute."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_horario. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. codigoasignatura = I. org/TR/xhtml1/DTD/xhtml1-strict. semanal </a></li> <li><a href="Alumno_instalaciones.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.letra = '".$conn).js"> </script> <link href="css/principal.php">Listado profesores </a></li> <li><a href="Alumno_notas. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido."'". $alumno = consulta($sql.php">Instalaciones</a></li> <li><a href="Alumno_tablon.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Horario</h1> <?php $conn = Conectar().curso = '".</th> <th scope="col">Lunes</th> <th scope="col">Martes</th> <th scope="col">Mi&eacute.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".dtd"> <html xmlns="http://www.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 <?php session_start(). $sql = "SELECT * FROM impartida I.php").$alumno["letra"]. asignatura A WHERE I. $alumno["curso"]. <?php $asignaturas = consulta($sql.</td> <td colspan="2" class="titulo">&nbsp.css" rel="stylesheet" type="text/css" /> <link href="css/Alumno_horario.</td> </tr> <tr> <td class="fecha">&nbsp.php">Listado alumnos </a></li> <li><a href="Alumno_profes."' AND A.php">Notas</a></li> <li><a href="Alumno_faltas.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno. de Informática Aplicada (U. require_once ("Alumno_inc. $alumno = siguiente($alumno). $conn).S.php">Tabl&oacute.$_SESSION["id"].w3."' AND I.P.php">Horario</a></li> <li><a href="Alumno_alumnos. $sql = "SELECT * FROM alumno WHERE login = '". while($row = siguiente($asignaturas)) E.0 Strict//EN" "http://www.php").w3./js/fecha.rcoles</th> <th scope="col">Jueves</th> <th scope="col">Viernes</th> </tr> <tr> <th scope="row">9:00-10:00</th> <td>&nbsp.) 174 .V.T.asignatura".php">Inicio</a></li> <li><a href="Alumno_horario. ?> <table class="tabla" width="100%" border="1"> <tr> <th scope="col">&nbsp.

$row['horario']). break. $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "9") { echo tohtml($row['nombre']).V. $i < count($horario).$conn). } } } ?> </td> <td>&nbsp. for($i = 0.P. break. $i+=2) { if($horario[$i] == 'Viernes') E. for($i = 0. $row['horario']). } } } ?> </td> <td>&nbsp.$conn). while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql.Vicente Sancho Guijarro 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 { Proyecto Final de Carrera $horario = split(" ". $i < count($horario). <?php $asignaturas = consulta($sql. <?php $asignaturas = consulta($sql. for($i = 0. $row['horario']). $row['horario']).$conn). } } } ?> </td> <td>&nbsp. } } } ?> </td> <td>&nbsp.) 175 . $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). $i < count($horario). $i < count($horario).S. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "9") { echo tohtml($row['nombre']).$conn). de Informática Aplicada (U. while($row = siguiente($asignaturas)) { $horario = split(" ". while($row = siguiente($asignaturas)) { $horario = split(" ".T. break. for($i = 0. for($i = 0. $row['horario']). break. while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario). <?php $asignaturas = consulta($sql.

} } } ?> </td> <td>&nbsp. while($row = siguiente($asignaturas)) { $horario = split(" ". while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "10") { echo tohtml($row['nombre']).$conn). $row['horario']). $row['horario']).P. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario).$conn). break.$conn). for($i = 0. } } } ?> </td> <td>&nbsp. break. de Informática Aplicada (U. $i < count($horario). <?php $asignaturas = consulta($sql. for($i = 0. $i < count($horario). $i < count($horario). <?php $asignaturas = consulta($sql. $row['horario']). } } } ?> </td> <td>&nbsp. <?php $asignaturas = consulta($sql.Vicente Sancho Guijarro 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 Proyecto Final de Carrera if($horario[$i+1] == "9") { echo tohtml($row['nombre']).T. break.V. $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "10") E. <?php $asignaturas = consulta($sql. while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). } } } ?> </td> </tr> <tr> <th scope="row">10:00-11:00</th> <td>&nbsp. for($i = 0.) 176 .S.$conn). $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). break. for($i = 0.

$i < count($horario). $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). } } } ?> <td>&nbsp.) 177 . break. while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). } } } ?> </td> <td>&nbsp. $i < count($horario). break.V.T.$conn). <?php $asignaturas = consulta($sql. while($row = siguiente($asignaturas)) { $horario = split(" ". for($i = 0. $i < count($horario).$conn). } } } ?> </td> <td>&nbsp.Vicente Sancho Guijarro 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 { Proyecto Final de Carrera echo tohtml($row['nombre']). break. for($i = 0. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql.$conn). } } } ?> </td> </tr> <tr class="recreo"> <th scope="row">11:00-11:30</th> <td>Recreo</td> <td>Recreo</td> <td>Recreo</td> <td>Recreo</td> <td>Recreo</td> </tr> <tr> <th scope="row">11:30-12:30</th> <td>&nbsp. for($i = 0. <?php $asignaturas = consulta($sql. while($row = siguiente($asignaturas)) { $horario = split(" ". break. <?php </td> E. $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). $row['horario']).P.S. de Informática Aplicada (U. $row['horario']).

$i < count($horario). $row['horario']). for($i = 0. de Informática Aplicada (U.Vicente Sancho Guijarro 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 Proyecto Final de Carrera $asignaturas = consulta($sql. <?php $asignaturas = consulta($sql. break. <?php $asignaturas = consulta($sql. while($row = siguiente($asignaturas)) { $horario = split(" ".P. $row['horario']).$conn). } } } ?> </td> </tr> <tr class="comida"> <th scope="row">12:30-15:00</th> <td>Comida</td> <td>Comida</td> <td>Comida</td> <td>Comida</td> <td>Comida</td> </tr> <tr> <th scope="row">15:00-16:00</th> <td>&nbsp.$conn). break.$conn). $row['horario']). $i < count($horario). } } } ?> </td> <td>&nbsp. $i < count($horario). break. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). } } } ?> </td> <td>&nbsp. while($row = siguiente($asignaturas)) { $horario = split(" ".$conn). for($i = 0. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "11") { echo tohtml($row['nombre']).T. $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). E.V. while($row = siguiente($asignaturas)) { $horario = split(" ".S. $row['horario']).) 178 . while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario). <?php $asignaturas = consulta($sql. for($i = 0. for($i = 0. $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']).

$i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). for($i = 0. } } } ?> </td> <td>&nbsp. $i < count($horario). while($row = siguiente($asignaturas)) { $horario = split(" ".S. $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']).V. } } } ?> </td> <td>&nbsp. for($i = 0. for($i = 0. while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). break. } } } ?> </td> <td>&nbsp.T. $i < count($horario). break. while($row = siguiente($asignaturas)) { $horario = split(" ". break. $i < count($horario).$conn). while($row = siguiente($asignaturas)) { $horario = split(" ".Vicente Sancho Guijarro 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 break. } } Proyecto Final de Carrera } ?> </td> <td>&nbsp.$conn).) 179 .P. <?php $asignaturas = consulta($sql. <?php $asignaturas = consulta($sql. $i < count($horario). $row['horario']). $row['horario']). $row['horario']). $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). } } E. break.$conn). for($i = 0. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "15") { echo tohtml($row['nombre']).$conn). de Informática Aplicada (U. <?php $asignaturas = consulta($sql. <?php $asignaturas = consulta($sql.

} } } ?></td> <td>&nbsp.T.$conn).S. } } } E. <?php $asignaturas = consulta($sql. break. while($row = siguiente($asignaturas)) { $horario = split(" ". while($row = siguiente($asignaturas)) { $horario = split(" ".P. $i < count($horario). } } } ?> </td> <td>&nbsp. $row['horario']).$conn). break.) 180 .Vicente Sancho Guijarro 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 Proyecto Final de Carrera } ?> </td> </tr> <tr> <th scope="row">16:00-17:00</th> <td>&nbsp. $row['horario']). for($i = 0. for($i = 0. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql. $i < count($horario).V. break. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). $row['horario']). $i < count($horario). de Informática Aplicada (U. for($i = 0. } } } ?> </td> <td>&nbsp. for($i = 0. $row['horario']). while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "16") { echo tohtml($row['nombre']).$conn). $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ". break.$conn). <?php $asignaturas = consulta($sql. $i < count($horario). <?php $asignaturas = consulta($sql.

553 } 554 } 555 556 } 557 desconectar($conn).$conn).S. 552 break.php">Cerrar sesi&oacute. 543 while($row = siguiente($asignaturas)) 544 { 545 $horario = split(" ".) 181 .T.Vicente Sancho Guijarro Proyecto Final de Carrera 538 ?> 539 </td> 540 <td>&nbsp. $i+=2) 547 { 548 if($horario[$i] == 'Viernes') 549 if($horario[$i+1] == "16") 550 { 551 echo tohtml($row['nombre']). $i < count($horario). 558 ?> 559 </td> 560 </tr> 561 </table> 562 <p>&nbsp. $row['horario']). 546 for($i = 0. 541 <?php 542 $asignaturas = consulta($sql.P. 571 ?> 572 <br/><a href="cerrar_sesion_Alumno. 580 ?> 581 </td> 582 </tr> 583 </table> 584 </body> 585 </html> E.</td> 564 </tr> 565 <tr> 566 <td> 567 <p> 568 <?php 569 570 bienvenido().</p></td> 563 <td class="general">&nbsp.V. de Informática Aplicada (U.n</a> 573 </p> 574 </td> 575 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 576 577 <?php 578 579 rellenar_eventos_curso().

charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Men&uacute.php">Notas</a></li> <li><a href="Alumno_faltas. ?> <table width="100%" border="1"> <tr> <th scope="col">Nombre</th> <th scope="col">Direcci&oacute.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime()./js/fecha.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_alumnos. require_once ("Alumno_inc.php").n</th> <th scope="col">Tel&eacute.php").</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.</td> </tr> <tr> <td class="fecha">&nbsp. ?> <br><a href="cerrar_sesion_Alumno. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.</td> </tr> <tr> <td> <p> <?php bienvenido().php">Inicio</a></li> <li><a href="Alumno_horario.) 182 . ?> </table> <p>&nbsp.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().V.js"> </script> <link href="css/principal.php">Listado profesores </a></li> <li><a href="Alumno_notas.php">Faltas asistencia </a></li> <li><a href="Alumno_menu. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. de Informática Aplicada (U.w3.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".fono</th> </tr> <?php rellenar_tabla_alumnos().P.dtd"> <html xmlns="http://www.n</a> E.n</th> <th scope="col">Poblaci&oacute.php">Horario</a></li> <li><a href="Alumno_alumnos.php">Tabl&oacute. org/TR/xhtml1/DTD/xhtml1-strict.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Listado de alumnos </h1> <?php poner_datos_grupo().S.w3.</p></td> <td class="general">&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp.php">Listado alumnos </a></li> <li><a href="Alumno_profes.php">Instalaciones</a></li> <li><a href="Alumno_tablon.</td> <td colspan="2" class="titulo">&nbsp.T.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Cerrar sesi&oacute. semanal </a></li> <li><a href="Alumno_instalaciones.

T.) 183 . de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 74 </p> 75 </td> 76 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 77 <p> 78 <?php 79 80 rellenar_eventos_curso().S.P. 81 ?> 82 </p></td> 83 </tr> 84 </table> 85 </body> 86 </html> E.V.

css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". require_once ("Alumno_inc.w3. ?> <br/><a href="cerrar_sesion_Alumno.w3.php").php">Notas</a></li> <li><a href="Alumno_faltas.php">Cerrar sesi&oacute."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.V.S.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. org/TR/xhtml1/DTD/xhtml1-strict. semanal </a></li> <li><a href="Alumno_instalaciones.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Listado de profesores </h1> <p>&nbsp.</td> </tr> <tr> <td class="fecha">&nbsp.0 Strict//EN" "http://www. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php").php">Horario</a></li> <li><a href="Alumno_alumnos.php">Listado profesores </a></li> <li><a href="Alumno_notas." class="logo">&nbsp.n</a> E.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. ?> </table></td> <td class="general">&nbsp./js/fecha.) 184 .php">Instalaciones</a></li> <li><a href="Alumno_tablon. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_profes.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.php">Inicio</a></li> <li><a href="Alumno_horario.php">Men&uacute. de Informática Aplicada (U.dtd"> <html xmlns="http://www.php">Tabl&oacute.T.</p> <?php poner_datos_grupo() ?> <table width="100%" border="1"> <tr> <th scope="col">Asignatura</th> <th scope="col">Profesor</th> <th scope="col">Tutorias</th> <th scope="col">E-mail</th> </tr> <?php rellenar_tabla_profesores(). if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().P.</td> <td colspan="2" class="titulo">&nbsp.</td> </tr> <tr> <td> <p> <?php bienvenido().css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().js"> </script> <link href="css/principal.php">Listado alumnos </a></li> <li><a href="Alumno_profes.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.

) 185 .V.S.T.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 Proyecto Final de Carrera </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso() ?> </td> </tr> </table> </body> </html> E.P. de Informática Aplicada (U.

S.php">Listado profesores </a></li> <li><a href="Alumno_notas./js/fecha.php">Horario</a></li> <li><a href="Alumno_alumnos." class="logo">&nbsp. semanal </a></li> <li><a href="Alumno_instalaciones.php">Inicio</a></li> <li><a href="Alumno_horario. ?> <br/><a href="cerrar_sesion_Alumno. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.</p></td> <td class="general">&nbsp.</td> </tr> <tr> <td> <p> <?php bienvenido().'>Eventos del curso </p> E.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_notas.P. de Informática Aplicada (U. org/TR/xhtml1/DTD/xhtml1-strict.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".n de anuncios </a></li> </ul> </td> <td class="general"><h1>Notas</h1> <?php curso_actual().w3.php">Listado alumnos </a></li> <li><a href="Alumno_profes. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.w3.php">Tabl&oacute.php">Instalaciones</a></li> <li><a href="Alumno_tablon.js"> </script> <link href="css/principal.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.V.php").dtd"> <html xmlns="http://www.T. ?> <table width="100%" border="1"> <tr> <th scope="col">Asignatura</th> <th scope="col">1</th> <th scope="col">2</th> <th scope="col">3</th> </tr> <?php rellenar_tabla_notas().</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().n</a> </p> </td> <td colspan="2" class="noticias"><p style=' font-weight: bold.php"). require_once ("Alumno_inc."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. ?> </table> <p>&nbsp.</td> <td colspan="2" class="titulo">&nbsp.0 Strict//EN" "http://www. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.) 186 .php">Notas</a></li> <li><a href="Alumno_faltas.php">Men&uacute.</td> </tr> <tr> <td class="fecha">&nbsp.php">Cerrar sesi&oacute.

de Informática Aplicada (U.) 187 .P.T.S.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 <?php rellenar_eventos_curso() ?> </td> </tr> </table> </body> </html> Proyecto Final de Carrera E.V.

dtd"> <html xmlns="http://www.js"> </script> <link href="css/principal." class="logo">&nbsp.</p></td> <td class="general">&nbsp.php">Instalaciones</a></li> <li><a href="Alumno_tablon. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php">Notas</a></li> <li><a href="Alumno_faltas.P.</td> </tr> <tr> <td> <p> <?php bienvenido()."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.w3.) 188 .php").0 Strict//EN" "http://www.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_faltas.php">Listado alumnos </a></li> <li><a href="Alumno_profes.php">Horario</a></li> <li><a href="Alumno_alumnos. require_once ("Alumno_inc.php">Inicio</a></li> <li><a href="Alumno_horario. ?> </td> </tr> </table> </body> E.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Cerrar sesi&oacute. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> <td colspan="2" class="titulo">&nbsp.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Men&uacute. ?> <br/><a href="cerrar_sesion_Alumno. ?> <p>&nbsp.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Listado profesores </a></li> <li><a href="Alumno_notas.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".n</a> </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().T.V.w3.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().php">Faltas asistencia </a></li> <li><a href="Alumno_menu. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. org/TR/xhtml1/DTD/xhtml1-strict.S. de Informática Aplicada (U./js/fecha. semanal </a></li> <li><a href="Alumno_instalaciones.php">Tabl&oacute.php").</td> </tr> <tr> <td class="fecha">&nbsp.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Faltas de asistencia </h1> <?php rellenar_tabla_faltas().

T.P.) 189 . de Informática Aplicada (U.V.Vicente Sancho Guijarro 74 </html> Proyecto Final de Carrera E.S.

dtd"> <html xmlns="http://www.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_menu.n</a> </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().php">Inicio</a></li> <li><a href="Alumno_horario.w3." class="logo">&nbsp.php").php">Men&uacute. ?> <br/><a href="cerrar_sesion_Alumno.S.php">Instalaciones</a></li> <li><a href="Alumno_tablon.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.w3.V.php"). semanal </h1> <p><img src="img/menuJunio1. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> </tr> <tr> <td class="fecha">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Cerrar sesi&oacute.P.</td> </tr> <tr> <td> <p> <?php bienvenido(). de Informática Aplicada (U.php">Horario</a></li> <li><a href="Alumno_alumnos. semanal </a></li> <li><a href="Alumno_instalaciones./js/fecha.) 190 . ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.jpg" alt="menu" width="600" height="511" longdesc="Menu del comedor del mes de junio" /></p></td> <td class="general">&nbsp. require_once ("Alumno_inc.</td> <td colspan="2" class="titulo">&nbsp. org/TR/xhtml1/DTD/xhtml1-strict.T.php">Tabl&oacute.php">Notas</a></li> <li><a href="Alumno_faltas.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 <?php session_start()."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php">Listado alumnos </a></li> <li><a href="Alumno_profes.js"> </script> <link href="css/principal.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Men&uacute.0 Strict//EN" "http://www.php">Listado profesores </a></li> <li><a href="Alumno_notas. ?> </td> </tr> </table> </body> </html> E.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().

require_once ("Alumno_inc.T.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_instalaciones. echo " <th style='width: 80px.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().'>Proposito</th>\n". if ($ins == null) { echo "<tr><td><b>No hay instalaciones reservadas</b></td>< /tr>\n".</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.V.'>&nbsp. echo "</tr>\n". echo " <th style='width: 140px.php">Listado profesores </a></li> <li><a href="Alumno_notas.</td> </tr> <tr> <td class="fecha">&nbsp.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp. semanal </a></li> <li><a href="Alumno_instalaciones.php">Horario</a></li> <li><a href="Alumno_alumnos.</td> <td colspan="2" class="titulo">&nbsp.'>Fecha</th>\n". } else { echo "<tr>\n".js"> </script> <link href="css/principal.dtd"> <html xmlns="http://www.n de anuncios </a></li> </ul> </td> <td class="general"> <p>Reserva de instalaciones</p> <h3>Instalaciones Reservadas</h3> <table border='1'> <tbody> <?php $ins = listado_reservas_instalaciones().'>Instalaci&oacute.php">Inicio</a></li> <li><a href="Alumno_horario.php"). org/TR/xhtml1/DTD/xhtml1-strict./js/fecha. echo " <th style='width: 100px. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Faltas asistencia </a></li> <li><a href="Alumno_menu. echo "</tbody>\n".php">Men&uacute."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. echo " <th style='width: 90px. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1." class="logo">&nbsp.'>Normas</th>\n". echo " <th style='width: 425px.php">Notas</a></li> <li><a href="Alumno_faltas.0 Strict//EN" "http://www.php">Listado alumnos </a></li> <li><a href="Alumno_profes.P.S.</th>\n".js"> </script> <script type="text/javascript" src=".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().) 191 .w3. echo "</tbody>\n".php")./js/reservas.w3. de Informática Aplicada (U.n</th> \n".php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. E.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.

117 $conn = Conectar().</td> 112 </tr> 113 <tr> 114 <td> 115 <p><?php 116 //include("bd.sacarFecha($row["fecha"]).T.Vicente Sancho Guijarro Proyecto Final de Carrera 74 foreach ($ins as $actual) 75 { 76 $temp = convertir_fecha($actual["fecha"]). 119 '"'. 93 echo " </div> \n". "</td> 80 \n".$fecha[1]. 90 echo " <button value='" . de Informática Aplicada (U. $actual["idinst"] .$temp). 132 $res=consulta($sql.$fecha[0].'>Anular< 92 /button> \n". 133 134 while($row = siguiente($res)) 135 { 136 $fecha=split("-". 83 echo "<td><a href='" . 78 echo "<tr>\n". 95 urlencode($actual["fecha"]) ." </p>". 120 $resultado = consulta($sql.tohtml($row["descripcion"]). 118 $sql = 'SELECT * FROM usuario WHERE login ="' . 99 echo "</td>\n". 94 echo " <input name='fecha' type='hidden' value='" . 89 echo " <div style='text-align: center.$i++) 140 echo "<p><span class='fechaNoticia'>". tohtml($actual["proposito"]) . 77 $fecha = $fecha = split(" ". "'>Normativa< 84 /a></td>\n". $row['nombre']. 82 echo "<td>" .php' 88 name='anular'> \n". $i<3 && $i<numeroFilas($res). $fecha[0] . 96 echo " <input name='item' type='hidden' value='" .$fecha[2]. 141 " </span>".) 192 . 137 $fechaComparar = "". 81 echo "<td>" .n</a></td> 111 <td class="general">&nbsp. 142 } 143 desconectar($conn). 144 ?> 145 </td> 146 </tr> 147 </table> 148 </body> 149 </html> E. tohtml($actual["instalacion"]) . 91 "' name='iditem' onclick='javascript:enviar().S.$conn). $actual["normas"] . 86 echo " <form method='get' 87 action='/webcole/Alumno_anular_reserva.php">Cerrar sesi&oacute. 98 echo " </form> \n". "</td>\n". "</td>\n". "'> \n". "'> \n".V. 123 ?> 124 <br/><a href="cerrar_sesion_Alumno. 101 } 102 } 103 ?> 104 105 </table> 106 <br/> 107 108 109 <a href="/webcole/Alumno_reservar_instalacion. $conn).sacarFecha($row["fecha"])).n</a> 125 </p> 126 </td> 127 <td colspan="2" class="noticias"> 128 <h3>Eventos del curso</h3> 129 <?php 130 131 $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha". 138 if($fechaComparar >= date("Ymd")) 139 for($i=0.'> \n". 85 echo "<td>\n". 79 echo "<td>" .php"). $_SESSION["id"] .P. 121 while($row = siguiente($resultado)) 122 echo 'Bienvenido ' . 100 echo "</tr>\n". 97 INST .php">Reservar 110 instalaci&oacute.

$motivo = substr($_REQUEST["motivo"].= "Motivo insuficiente<br>\n".$hora.V. } if (!isset($motivo) || strlen($motivo) < 5 ) { $error .o no v&aacute.lida<br>\n". $seg.$item1) != 0 )) { $error . = 00. = 00. //¿Estan definadas las variables? if (!isset($dia) || $dia < 0 || $dia > 31) { $error = "D&iacute. E.S.T.n<br>\n".n no v&aacute. MAX_LENGTH_MOTIVO-1). if (!isset($item) && (strcmp($item. $iditem = $_REQUEST["iditem"]. $item = $_REQUEST["item"].lido<br>\n". require_once ("Alumno_inc. } if (!isset($mes) || $mes < 1 || $mes > 12 ) { $error . $item). } if (strlen($error) > 1) { $es_valido = false.$anyo. } //solo reservas en este año if ( !isset($anyo) || $anyo != $ano_hoy ) { $error . 0. } $item1 = INST.= "Instalaci&oacute. } else { $es_valido = true.= "A&ntilde. de Informática Aplicada (U.$dia. //por $hora $min $seg si en futuro al reservar se tiene en cuenta la hora(de inicio) = 00.php"). } if (!isset($iditem) || $iditem ==-1 ) { $error . $error = "".) 193 . $ano_hoy=date("Y"). ?> <?php //obtener datos enviados por el formulario $dia = $_REQUEST["dia"].lido<br>\n".php").lido<br>\n". $error = "Se produjo un error inesperado en la reserva de la instalaci&oacute.a no v&aacute.$iditem. $mes = $_REQUEST["mes"]. $login = $_SESSION["id"].= "Mes no v&aacute.$min.P.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_reserva. if (!$res) { $es_valido = false.$motivo.$mes. $anyo = $_REQUEST["anyo"]. $res = reservar_instalacion($login. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.= "Tipo desconocido: $item : <br>\n".

charset=iso-8859-1" /> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if ( $es_valido ) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0. $resultado = consulta($sql.0 Strict//EN" "http://www.php">Men&uacute.dtd"> <html xmlns="http://www.T. de Informática Aplicada (U.</td> <td colspan="2" class="titulo">&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.S.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 } } Proyecto Final de Carrera ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.js"> </script> <link href="css/principal. org/TR/xhtml1/DTD/xhtml1-strict.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Faltas asistencia </a></li> <li><a href="Alumno_menu.</td> </tr> <tr> <td class="fecha">&nbsp.w3.php">Notas</a></li> <li><a href="Alumno_faltas. $dp = Conectar().n de anuncios </a></li> </ul> </td> <td class="general"><?php //Ruta de retorno que utilizaremos aqui si todo fue bien echo "Se han producido los siguientes errores: <br> $error<br>\n". echo "<br>\n".P.php"). $_SESSION["id"] ./js/fecha. $sql = 'SELECT * FROM usuario WHERE login ="' ."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Listado profesores </a></li> <li><a href="Alumno_notas. ?></td> <td class="general">&nbsp. redirigir().php\">\n". '"'.</td> </tr> <tr> <td> <p><?php //include("bd. URL=/webcole/Alumno_instalaciones. E.php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute.php">Inicio</a></li> <li><a href="Alumno_horario.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Listado alumnos </a></li> <li><a href="Alumno_profes.) 194 . echo "Pulsa <a href='/webcole/Alumno_reservar_instalacion. semanal </a></li> <li><a href="Alumno_instalaciones.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.php'>aquí< /a> para volver al formulario de reserva<br>\n". $dp).php">Horario</a></li> <li><a href="Alumno_alumnos.w3.V. } ?> <title>CP Emilio Lluch</title> <link href="css/general.

V.P.php">Cerrar sesi&oacute.T.S.php'>Cerrar sesi&oacute. 155 echo "<br>\n<a href='/webcole/cerrar_sesion. $row['nombre'].) 195 . 156 n</a>".Vicente Sancho Guijarro Proyecto Final de Carrera 151 while($row = siguiente($resultado)) 152 echo 'Bienvenido ' .n</a> 159 </p> 160 </td> 161 <td colspan="2" class="noticias"></td> 162 </tr> 163 </table> 164 </body> 165 </html> E. de Informática Aplicada (U. 153 154 desconectar($dp). 157 ?> 158 <br><a href="cerrar_sesion_Alumno.

'<?php echo strtolower(INST). INST . ?> '. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.org/TR/xhtml1/DTD/xhtml1-transitional.php").</td> <td colspan="2" class="titulo">&nbsp.dtd"> <html xmlns="http://www.js"> </script> <link href="css/principal.P.php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" .</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_reservar_instalacion.S. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. w3."> <option value='-1'>Selecciona una instalaci&oacute.n de anuncios </a></li> </ul> </td> <td class="general">Intranet Alumno <form method="get" action="/webcole/Alumno_reserva."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.) 196 .php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start(). ?> <table style="text-align: left. text-align: right.w3.php">Listado alumnos </a></li> <li><a href="Alumno_profes. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. require_once "Alumno_inc./js/reservas.php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute."><select name="iditem" onchange="javascript:redirigir('<?php echo ALUM.php">Inicio</a></li> <li><a href="Alumno_horario.php"." class="logo">&nbsp." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px. n</option> <?php //Comprobamos si llegamos aqui despues de elegir una instalacion $iditem = $_REQUEST["iditem"]."><span style="font-weight: bold.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno. width: 700px. ?>').js"> </script> <script type="text/javascript" src="."> Selecciona una instalaci&oacute.php">Men&uacute./js/fecha.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. "' />\n".css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". text-align: left.php">Listado profesores </a></li> <li><a href="Alumno_notas.n</span></td> <td style="width: 400px.V. E. text-align: right. height: 284px.0 Transitional//EN" "http://www.php">Notas</a></li> <li><a href="Alumno_faltas.</td> </tr> <tr> <td class="fecha">&nbsp. semanal </a></li> <li><a href="Alumno_instalaciones.T.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.php">Horario</a></li> <li><a href="Alumno_alumnos. de Informática Aplicada (U.

) 197 . echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n"."><?php require_once ("calendario_ins. } if (!isset($ano)) { $ano = date("Y". $tiempo_actual). } } ?> </select></td> </tr> <tr> <td style="width: 200px.S. "-" . text-align: right. $actual[ "idinstalacion"]. $fecha=$ano . "-" . $tiempo_actual = time(). INST).Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera if (!isset($iditem)) $iditem = -1. $ano = $_GET["nuevo_ano"]. "'>" . $dia = $_GET["dia"]. $dia=date("d"). ALUM). "-" . de Informática Aplicada (U. $variable_no_asignada. } if (!isset($dia)) { $dia=date("d"). "</option>\n". $actual["instalacion"] . }else { //echo "http definidos<br>\n". $mes . $mes = $_GET["nuevo_mes"]. "' selected='selected'>" . ">Selecciona una fecha< /span></td> <td style="width: 400px.$ano. INST. $fecha=$ano . $mes . foreach ($ins as $actual) { if ($actual["idinstalacion"] == $iditem) { echo "<option value='" .T. $actual[ "idinstalacion"]. $mes = date("n".V. $ins = listado_instalacion(). "</option>\n". //if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ if ((!isset($_GET["nuevo_mes"])) || (!isset($_GET[ "nuevo_mes"])) || (!isset($_GET["nuevo_mes"]))) { //echo "http no definidos<br>\n"."><span style="font-weight: bold. } if (!isset($mes)) { $mes = date("n". } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n".php"). $tiempo_actual). echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". $tiempo_actual). "-" . echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". $tiempo_actual).P. $dia. $tabla = fecha_reservas($iditem. } else E. $dia.$mes. if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable //no esta inicializada mostrar_calendario($dia_c. } else { echo "<option value='" . $actual[ "instalacion"] . $ano = date("Y".

$ano.}"></textarea> 174 </td> 175 </tr> 176 <tr> 177 <td style="width: 200px. $row['nombre'].">Fecha 161 seleccionada</td> 162 <td><input readonly="readonly" maxlength="15" 163 name="fecha" /></td> 164 </tr> 165 <tr> 166 <td style="width: 200px.text-align: right.php">Cerrar sesi&oacute. text-align: right.S."><textarea cols="50" rows="2" 171 name="motivo" 172 onkeydown="if(document. de Informática Aplicada (U.n</a> 203 </td> 204 <td colspan="2" class="noticias"></td> 205 </tr> 206 </table> 207 </body> 208 </html> E. $tabla.php").cteres)</i></td> 170 <td style="width: 400px. 201 ?> 202 <br/><a href="cerrar_sesion_Alumno. $dp). 196 $resultado = consulta($sql.P."><label>Motivo</label> 168 <br /> 169 <i>(m&aacute.T.V.">&nbsp.$mes.Vicente Sancho Guijarro Proyecto Final de Carrera 151 { 152 mostrar_calendario($dia_c. 193 $dp = Conectar().ximo 1500 car&aacute.</td> 189 </tr> 190 <tr> 191 <td><?php 192 //include("bd.motivo.value. 197 while($row = siguiente($resultado)) 198 echo 'Bienvenido ' .</td> 178 <td style="width: 400px. 154 } 155 ?> 156 </td> 157 </tr> 158 159 <tr> 160 <td style="font-weight: bold. text-align: right." /></div> 182 </td> 183 </tr> 184 </tbody> 185 </table> 186 </form> 187 </td> 188 <td class="general">&nbsp. 194 $sql = 'SELECT * FROM usuario WHERE login ="' ."> 179 <div align="left"><input type='button' name='Submit' 180 value='Enviar' 181 onclick="javascript:enviar(). 153 ALUM). 199 200 desconectar($dp). $_SESSION["id"] .reservar. 195 '"'.font-weight: 167 bold.length> 173 = longitud()){return false.) 198 . INST.

n de anuncios </a></li> </ul> </td> <td colspan="2" class="general"><h1>Tabl&oacute.js"> </script> <link href="css/principal./js/fecha.php">Listado alumnos </a></li> <li><a href="Alumno_profes.php"). ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ?> <tr> <td></td> <td colspan="2" class="general"><h3>Insertar nuevo anuncio</h3> <form id="form1" method="post" action="Alumno_tablon_insertar.php">Horario</a></li> <li><a href="Alumno_alumnos.0 Strict//EN" "http://www.php">Listado profesores </a></li> <li><a href="Alumno_notas. semanal </a></li> <li><a href="Alumno_instalaciones.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. org/TR/xhtml1/DTD/xhtml1-strict.php">Inicio</a></li> <li><a href="Alumno_horario.</td> <td colspan="3" class="titulo">&nbsp.</div></td> </tr> <tr> <td rowspan="5" class="menu"> <ul> <li><a href="intranetAlumno.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Faltas asistencia </a></li> <li><a href="Alumno_menu.V.) 199 .T.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start(). require_once ("Alumno_inc.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".</p></td> <td rowspan="5" class="general">&nbsp.php">Men&uacute.w3."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Notas</a></li> <li><a href="Alumno_faltas.P." class="logo">&nbsp.S.php").</td> </tr> <?php poner_anuncios_tablon(). de Informática Aplicada (U.php"> <div> <label> T&iacute.tulo </label> <br /> <input type="text" name="titulo" /> <p> Texto <br /> <label> <textarea name="texto" cols="60" rows="3"></textarea> </label> </p> <p> E.php">Instalaciones</a></li> <li><a href="Alumno_tablon.php">Tabl&oacute.dtd"> <html xmlns="http://www.w3. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> <td colspan="3" class="fecha"><div id="campoHora">&nbsp.n de anuncios </h1> <p>&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_tablon.</td> </tr> <tr> <td class="fecha">&nbsp. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.

Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 Proyecto Final de Carrera <label> <input type="submit" name="Submit" value="Insertar" /> </label> </p> </div> </form> <p>&nbsp.S. </p></td> <td class="general"></td> </tr> <tr> <td> <p> <?php bienvenido().n</a> </p> </td> <td colspan="3" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().V. ?> </td> </tr> </table> </body> </html> E. de Informática Aplicada (U.php">Cerrar sesi&oacute. ?> <br/><a href="cerrar_sesion_Alumno.) 200 .T.P.

include("bd."error: " .$texto. $texto = $_POST["texto"]."'. de Informática Aplicada (U. else $idanun = 1.S.php"). ?> <head> <meta http-equiv="refresh" content="3. `fecha` .. `login` . '".) 201 . if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. $sql = "INSERT INTO `anuncio` ( `idanuncio` . `texto` ) VALUES ('".php"> </head> Insertando. E. '".$_SESSION["id"].T."'."')".URL=Alumno_tablon.$conn). $conn = Conectar().$_SESSION["id"].$conn)."'. Desconectar($conn).P. //echo "id". '".$fecha."'. $num = consulta($sql. '". $insert = consulta($sql.php"). $titulo = $_POST["titulo"].php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <?php session_start(). $fecha = date("Y-m-d H:i:s").Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_tablon_insertar. mysql_error($conn). $titulo. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC". `titulo` .$idanun.. if($num = siguiente($num)) $idanun= $num["idanuncio"] + 1.V.

$fecha.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_anular_reserva. $es_valido = true. $item = $_REQUEST["item"].org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php". if ( !isset($fecha)) { $error . if (!$resultado) { $error = "Han ocurrido problemas durante la anulacion de la reserva <br>\n". } if ( !isset($iditem) || $iditem < 1 ) { $error . } } else { $error = "Han ocurrido errores en los parametros de anulacion<br>\n" . No valida<br>\n". charset=iso-8859-1" /> <?php if ($es_valido) echo "<meta http-equiv=\"refresh\" content=\"5.js"> </script> <link href="css/principal.dtd"> <html xmlns="http://www. php\" />\n". de Informática Aplicada (U.V. $login = $_SESSION["id"]. $iditem = $_REQUEST["iditem"].0 Strict//EN" "http://www.="Error en el codigo de instalacion.</td> E. $es_valido = false. $es_valido = false.</td> <td colspan="2" class="titulo">&nbsp.S. } if ($es_valido) { $resultado = anular_reserva($login.="Error en la Fecha. $item).w3.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start(). //echo $error. $es_valido = false."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp. ?> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".P.php"). $es_valido = false. $error = "".w3. } //ya estara en el formato de mysql. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. No valido<br>\n"./js/fecha. // $fecha = urldecode($_REQUEST["fecha"]). //si no es correcto sencillamente no se borrara el registro. $error. require_once "Alumno_inc.URL=Alumno_instalaciones. } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php"). $iditem.T. $es_valido = false. if ( !isset($login)) { header("Location: /webcole/prohibido.) 202 . org/TR/xhtml1/DTD/xhtml1-strict.

semanal </a></li> 91 <li><a href="Alumno_instalaciones. $dp).P. $row['nombre'].</td> 77 <td colspan="2" class="fecha"> 78 <div id="campoHora">&nbsp. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 74 </tr> 75 <tr> 76 <td class="fecha">&nbsp. 124 $dp = Conectar().php">Faltas asistencia </a></li> 90 <li><a href="Alumno_menu.php").T.V. 126 '"'.S.n de anuncios </a></li> 93 </ul> 94 </td> 95 <td class="general">Intranet Alumno 96 <p><?php 97 if ($es_valido) 98 { 99 echo "Reservar anulada correctamente !!!!<br>\n". 132 ?> 133 <br><a href="cerrar_sesion_Alumno. 102 echo "<a href=\"/webcole/Alumno_instalaciones.php">Listado profesores </a></li> 88 <li><a href="Alumno_notas.php">Cerrar sesi&oacute. 100 echo "<p>En 5 segundos ser&aacute.</td> 119 </tr> 120 <tr> 121 <td> 122 <p><?php 123 //include("bd.php">Notas</a></li> 89 <li><a href="Alumno_faltas.n</a> 134 </p> 135 </td> 136 <td colspan="2" class="noticias"></td> 137 </tr> 138 </table> 139 </body> 140 </html> E. Si no pulsa".s a la p&aacute. 109 echo "Errores: $error<br>\n".php">Horario</a></li> 86 <li><a href="Alumno_alumnos.) 203 . 125 $sql = 'SELECT * FROM usuario WHERE login ="' .</div> 79 </td> 80 </tr> 81 <tr> 82 <td class="menu"> 83 <ul> 84 <li><a href="intranetAlumno. 104 } 105 else 106 { 107 echo "Han ocurrido problemas durante la anulacion de la reserva< 108 br>\n".php\"> aqu&iacute. 114 } 115 ?></p> 116 117 </td> 118 <td class="general">&nbsp. 128 while($row = siguiente($resultado)) 129 echo 'Bienvenido ' .php">Listado alumnos </a></li> 87 <li><a href="Alumno_profes. 110 111 echo "Pulsa <a href=\"/webcole/Alumno_instalaciones.php\"> 112 aqu&iacute.gina de 101 instalaciones.php">Men&uacute. 127 $resultado = consulta($sql.</a> para regresar a la p&aacute. 103 </a></p>\n". 130 131 desconectar($dp).gina de reservas</p> 113 \n".php">Inicio</a></li> 85 <li><a href="Alumno_horario. $_SESSION["id"] .php">Instalaciones</a></li> 92 <li><a href="Alumno_tablon">Tabl&oacute.

} function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero". break. break.$ultimo_dia + 1.0. break. while (checkdate($mes.$mes. break.$ano){ $ultimo_dia=28. $parametros_formulario = "formulario=" . E.$ano){ $mes_hoy=date("m"). en este caso marcar dichas //fechas en el calencia function mostrar_calendario($dia. if ($numerodiasemana == 0) $numerodiasemana = 6.Vicente Sancho Guijarro Proyecto Final de Carrera calendario_faltas. break.$mes. case 4: $nombre_mes="Abril". $_GET["nomcampo"].$ano)){ $ultimo_dia++. function calcula_numero_dia_semana($dia.P. break. case 8: $nombre_mes="Agosto". else $numerodiasemana--.php"). } return $ultimo_dia.$mes. break. } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes. break. de Informática Aplicada (U. case 12: $nombre_mes="Diciembre".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php include_once("bd. break. case 10: $nombre_mes="Octubre".S. break. case 9: $nombre_mes="Septiembre".V.$dia. } return $nombre_mes.) 204 . $ano_hoy=date("Y"). case 7: $nombre_mes="Julio". } //Muestra el calendario.$ano)).$ano){ $numerodiasemana = date('w'. return $numerodiasemana. case 3: $nombre_mes="Marzo". puede recibir una tablas con fechas //en que una instalacion ha sido reservada. break. "&nomcampo=" . case 5: $nombre_mes="Mayo". break. $_GET["formulario"] . mktime(0. case 2: $nombre_mes="Febrero".0. case 6: $nombre_mes="Junio".T. case 11: $nombre_mes="Noviembre".

} //tomo el nombre del mes que hay que imprimir $nombre_mes = dame_nombre_mes($mes). $ano_siguiente = $ano. //calculo el mes y ano del mes anterior $mes_anterior = $mes .&gt. $nodis = array().V.php?$parametros_formulario&amp. if ($mes_anterior==0){ $ano_anterior--. $ano_anterior = $ano. $mes_anterior=12.P. //calculo el mes y ano del mes siguiente $mes_siguiente = $mes + 1.$mes. //calculo el numero del dia de la semana del primer dia $numero_dia = calcula_numero_dia_semana(1. //Variable para llevar la cuenta del dia actual $dia_actual = 1.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera //obtenemos if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0.nuevo_ano=$ano_anterior'>&lt.&lt.</a></td> </tr></table></td></tr>".dia=$dia&amp.font-weight:bold.text-decoration:none' href='calendario_faltas.nuevo_ano=$ano_siguiente'>&gt." class="altn">Lu< /td> <td style="width: 14%.1.</a></td>".font-weight:bold.dia=$dia&amp.text-align: center . echo ' <tr> <td style="width: 14%. //calculo el último dia del mes $ultimo_dia = ultimoDia($mes. de Informática Aplicada (U. } echo "<a style='color:white. $mes_siguiente=01.T." class="altn">Sa< /td> <td style="width: 14%.php?$parametros_formulario&amp. echo "<td align=right style=font-size:10pt.$ano)." class="altn">Vi< /td> <td style="width: 14%.color:white'>". //echo "Numero del dia de demana del primer: $numero_dia <br>".text-align: center ." class="altn">Mi< /td> <td style="width: 14%.) 205 ." class="altn">Ma< /td> <td style="width: 14%.S. nuevo_mes=$mes_anterior&amp." class="altn">Ju< /td> <td style="width: 14%.$ano).text-align: center .color: white>". //construyo la cabecera de la tabla echo "<table width='200px' cellspacing='3' cellpadding='2' border='0'>< tr><td colspan='7' align='center' class='tit'>".text-align: center .text-align: center . if ($mes_siguiente==13){ $ano_siguiente++. echo "<table width='100%' cellspacing='2' cellpadding='2' border='0'>< tr><td style='font-size:10pt. } echo "<a style='color:white. echo "<td align=center class=tit>$nombre_mes $ano</td>".text-align: center .text-decoration:none' href='calendario_faltas. } else { $hoy=date("d"). nuevo_mes=$mes_siguiente&amp. //comprobamos si la variable con las fechas reservadas esta inicializada if (isset($reservas)) { //eliminamos las reservas que nos son del actual anyo y mes E." class="altn">Do< /td> </tr>'.text-align: center .

S. 175 } 176 else if ($dia_actual == $hoy) 177 { 178 echo "<td class='da'>$dia_actual</td>\n".$i<7. de Informática Aplicada (U. 200 } 201 else if ($dia_actual == $dia) //Dia seleccionado 202 { 203 echo "<td class='laborable'><a href='javascript: 204 devuelveFecha($dia_actual. 223 224 //recorro todos los demás días hasta el final del mes 225 $numero_dia = 0.$ano)'>$dia_actual</a>< 205 /td>\n".$ano)'>$dia_actual</a>< 199 /td>\n".V.$mes. 220 } 221 } 222 echo "</tr>". $nodis )) 192 { 193 echo "<td class='nd'>$dia_actual</td>\n". 183 } 184 else 185 { 186 echo "<td class='da'>$dia_actual</td>\n". $nodis )) 173 { 174 echo "<td class='nd'>$dia_actual</td>\n".$ano)'>$dia_actual</a>< 213 /td>\n". 167 } else { 168 if (($i == 5) || ($i == 6)) 169 { 170 //comprobamos si esta fecha esta en la tabla de las 171 //fechas reservadas. 214 215 } 216 217 218 } 219 $dia_actual++.$i++){ 163 if ($i < $numero_dia){ 164 //si el dia de la semana i es menor que el numero del primer 165 dia de la semana no pongo nada en la celda 166 echo "<td></td>". 156 } 157 } 158 } 159 160 //escribo la primera fila de la semana 161 echo "<tr>". 187 } 188 } 189 else 190 { 191 if (in_array($dia_actual. 162 for ($i=0. 194 } 195 else if ($dia_actual == $hoy) 196 { 197 echo "<td class='laborable'><a href='javascript: 198 devuelveFecha($dia_actual.$mes.) 206 . 172 if (in_array($dia_actual. 179 } 180 else if ($dia_actual == $dia) //Dia seleccionado 181 { 182 echo "<td class='da'>$dia_actual</td>\n". 206 } 207 208 else 209 { 210 211 echo "<td class='laborable'><a href='javascript: 212 devuelveFecha($dia_actual.P.Vicente Sancho Guijarro Proyecto Final de Carrera 151 foreach ( $reservas as $actual) 152 { 153 if ( $actual["anyo"] == $ano && $actual["mes"] == $mes) 154 { 155 $nodis [] = $actual["dia"].T.$mes. 226 while ($dia_actual <= $ultimo_dia){ 227 //si estamos a principio de la semana escribo el <TR> E.

V. me pongo al principio de la semana y escribo el </tr> //De momento no se permite reservar una instalacion los //fines de semana if (($numero_dia == 5) || ($numero_dia == 6)) { if (in_array($dia_actual. } else { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual. if ($numero_dia == 7) { $numero_dia = 0.Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 Proyecto Final de Carrera if ($numero_dia == 0) echo "<tr>". echo "<td class='da'>$dia_actual</td>\n".$mes. echo "<td class='da'>$dia_actual</td>\n". $nodis )) { echo "<td class='nd'>$dia_actual</td>\n". } else if ($dia_actual == $hoy) { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual.) 207 . } else if ($dia_actual == $dia) //Dia seleccionado { //echo "<td class=da><a href=calendario.$ano)'>$dia_actual</a>< /td>\n".T. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".$ano)'>$dia_actual</a>< /td>\n".$mes. } else { //echo "<td class=fs ><a href=calendario. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".$mes. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>". $nodis )) { echo "<td class='nd'>$dia_actual</td>\n". echo "<td class='da'>$dia_actual</td>\n". } } else { if (in_array($dia_actual. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual. //si es el uñtimo de la semana. } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes E. echo "</tr>\n".$ano)'>$dia_actual</a>< /td>\n". de Informática Aplicada (U. } else if ($dia_actual == $hoy) { //echo "<td class=da><a href=calendario. } } $dia_actual++.S. $numero_dia++.P.

css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function devuelveFecha(dia. $tiempo_actual). Proyecto Final de Carrera //echo "<input type='hidden' name='mes2' value='$mes' />\n". $dia." + campo_destino + ".Vicente Sancho Guijarro 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 for ($i=$numero_dia. $dia=date("d"). } echo "</tr>\n". $ano = $_GET["nuevo_ano"]. var campo_destino = '<?echo $_GET["nomcampo"]?>'.dtd"> <html xmlns="http://www. "-" . focus()"). de Informática Aplicada (U. } </script> </head> <body> <? mostrar_calendario($dia. $tiempo_actual). if ( !isset ($mes) || !isset ($ano) || !isset ($dia) { $tiempo_actual = time().) 208 . $fecha=$ano . $ano = date("Y". $mes = date("n". $mes = date("n". org/TR/xhtml1/DTD/xhtml1-strict.$mes. } $fecha=$ano . $dia = $_GET["dia"]. "-" .mes.$i<7.w3.S. ?> </body> </html> ) E.$i++){ echo "<td></td>\n". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. $dia=date("d"). $mes .P. "-" .T. } //echo"Fecha Seleccionada <input type=text name=fecha value=$fecha>"." + formulario_destino + ". $tiempo_actual). "-" .document." + campo_destino + ". value='" + dia + "-" + mes + "-" + ano + "'") eval ("opener. $dia.0 Strict//EN" "http://www. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.document. $tiempo_actual). $ano = date("Y". $mes ." + formulario_destino + ". } if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ $tiempo_actual = time(). //echo "<input type='hidden' name='anyo2' value='$ano' />\n".V.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. }else { $mes = $_GET["nuevo_mes"]. echo "</table>\n". //meto el dia eval ("opener.close().ano) { //Se encarga de escribir en el formulario adecuado los valores seleccionados //también debe cerrar la ventana del calendario var formulario_destino = '<?echo $_GET["formulario"]?>'. window.w3.$ano).

else $numerodiasemana--.$ano){ $numerodiasemana = date('w'. $reservas.$ano)){ $ultimo_dia++.$ano){ $ultimo_dia=28. if (strcmp($tipo.php"). case 11: $nombre_mes="Noviembre". return $numerodiasemana.0.$ano)).$mes. break. } //Muestra el calendario.V. case 4: $nombre_mes="Abril".0. $tipo. break. $ano_hoy=date("Y"). break. en este caso marcar dichas //fechas en el calencia function mostrar_calendario($dia. case 12: $nombre_mes="Diciembre". case 2: $nombre_mes="Febrero". de Informática Aplicada (U. case 5: $nombre_mes="Mayo". INST) == 0 ) { $url= $usuario . break. while (checkdate($mes. break. break. E. $usuario){ $mes_hoy=date("m").$dia.Vicente Sancho Guijarro Proyecto Final de Carrera calendario_ins. break. case 8: $nombre_mes="Agosto".php". if ($numerodiasemana == 0) $numerodiasemana = 6. puede recibir una tablas con fechas //en que una instalacion ha sido reservada. "_reservar_instalacion.$mes.$mes. break.S. case 10: $nombre_mes="Octubre". } return $nombre_mes. case 7: $nombre_mes="Julio". case 9: $nombre_mes="Septiembre". break. case 3: $nombre_mes="Marzo".) 209 .$ano.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php include_once("bd. } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero". break. function calcula_numero_dia_semana($dia. mktime(0. } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes.$ultimo_dia + 1. break.P. case 6: $nombre_mes="Junio".T. break. } return $ultimo_dia.

//echo "Numero del dia de demana del primer: $numero_dia <br>". $mes_siguiente=01.color: white>". //comprobamos si la variable con las fechas reservadas esta inicializada if (isset($reservas)) { //eliminamos las reservas que nos son del actual anyo y mes foreach ( $reservas as $actual) { E.) 210 . $mes_anterior=12. //Variable para llevar la cuenta del dia actual $dia_actual = 1. //calculo el numero del dia de la semana del primer dia $numero_dia = calcula_numero_dia_semana(1.font-weight:bold.text-decoration:none href=$url?dia=$dia&nuevo_mes=$mes_anterior&nuevo_ano=$ano_anterior>&lt. echo ' <tr> <td width=14% align=center class=altn>Lu</td> <td width=14% align=center class=altn>Ma</td> <td width=14% align=center class=altn>Mi</td> <td width=14% align=center class=altn>Ju</td> <td width=14% align=center class=altn>Vi</td> <td width=14% align=center class=altn>Sa</td> <td width=14% align=center class=altn>Do</td> </tr>'. if ($mes_anterior==0){ $ano_anterior--. de Informática Aplicada (U. } else { $hoy=date("d"). } echo "<a style=color:white. } //tomo el nombre del mes que hay que imprimir $nombre_mes = dame_nombre_mes($mes). //calculo el último dia del mes $ultimo_dia = ultimoDia($mes. //calculo el mes y ano del mes siguiente $mes_siguiente = $mes + 1.$ano).Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 } else //aqui solo puede llegar los profesores { $url="Profesor_reservar_equipacion.color:white>".php". &lt. //construyo la cabecera de la tabla echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=center class=tit>". $nodis = array().P.</a></td>". $ano_anterior = $ano.S.V.&gt. echo "<td align=right style=font-size:10pt.</a></td></tr></table></td></tr>". } Proyecto Final de Carrera //obtenemos if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0. $ano_siguiente = $ano.$mes.text-decoration:none href=$url?dia=$dia&nuevo_mes=$mes_siguiente&nuevo_ano=$ano_siguiente> &gt. echo "<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt. //calculo el mes y ano del mes anterior $mes_anterior = $mes . if ($mes_siguiente==13){ $ano_siguiente++. echo "<td align=center class=tit>$nombre_mes $ano</td>".1.font-weight:bold. } echo "<a style=color:white.$ano).T.

154 } 155 } 156 } 157 158 //escribo la primera fila de la semana 159 echo "<tr>". 177 } 178 else if ($dia_actual == $dia) //Dia seleccionado 179 { 180 echo "<td class=da>$dia_actual</td>\n". 181 } 182 else 183 { 184 echo "<td class=da>$dia_actual</td>\n". 215 } 216 } 217 echo "</tr>".'>$dia_actual</a></td>\n".Vicente Sancho Guijarro Proyecto Final de Carrera 151 if ( $actual["anyo"] == $ano && $actual["mes"] == $mes) 152 { 153 $nodis [] = $actual["dia"]. 170 if (in_array($dia_actual.P. me pongo al principio de la semana 226 y escribo el </tr> 227 E. 197 } 198 else if ($dia_actual == $dia) //Dia seleccionado 199 { 200 echo "<td class=laborable><a href='javascript:cambiar( 201 $dia_actual). 185 } 186 } 187 else 188 { 189 if (in_array($dia_actual.$i++){ 161 if ($i < $numero_dia){ 162 //si el dia de la semana i es menor que el numero del primer 163 dia de la semana no pongo nada en la celda 164 echo "<td></td>".'>$dia_actual</a></td>\n".V. 165 } else { 166 if (($i == 5) || ($i == 6)) 167 { 168 //comprobamos si esta fecha esta en la tabla de las 169 //fechas reservadas. $nodis )) 171 { 172 echo "<td class=nd>$dia_actual</td>\n".$i<7. 225 //si es el uñtimo de la semana. $nodis )) 190 { 191 echo "<td class=nd>$dia_actual</td>\n". 202 } 203 204 else 205 { 206 207 echo "<td class=laborable><a href='javascript:cambiar( 208 $dia_actual). 160 for ($i=0. 218 219 //recorro todos los demás días hasta el final del mes 220 $numero_dia = 0. de Informática Aplicada (U. 209 210 } 211 212 213 } 214 $dia_actual++. 221 while ($dia_actual <= $ultimo_dia){ 222 //si estamos a principio de la semana escribo el <TR> 223 if ($numero_dia == 0) 224 echo "<tr>".T.'>$dia_actual</a></td>\n".S. 173 } 174 else if ($dia_actual == $hoy) 175 { 176 echo "<td class=da>$dia_actual</td>\n".) 211 . 192 } 193 else if ($dia_actual == $hoy) 194 { 195 echo "<td class=laborable><a href='javascript:cambiar( 196 $dia_actual).

P. echo "</tr>\n". } } $dia_actual++.$i<7. } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes for ($i=$numero_dia. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual). E. $numero_dia++. } else { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual). $nodis )) { echo "<td class=nd>$dia_actual</td>\n". if ($numero_dia == 7) { $numero_dia = 0.) 212 . de Informática Aplicada (U. } else if ($dia_actual == $dia) //Dia seleccionado { //echo "<td class=da><a href=calendario. } } else { if (in_array($dia_actual. } echo "</tr>\n".'>$dia_actual</a></td>\n". $nodis )) { echo "<td class=nd>$dia_actual</td>\n". } else { //echo "<td class=fs ><a href=calendario. echo "</table>\n". //echo "<input type='hidden' name='mes2' value='$mes' />\n".S. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".'>$dia_actual</a></td>\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".V.'>$dia_actual</a></td>\n". } else if ($dia_actual == $hoy) { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual).T. } else if ($dia_actual == $hoy) { //echo "<td class=da><a href=calendario.$i++){ echo "<td></td>\n".Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 Proyecto Final de Carrera //De momento no se permite reservar una instalacion los //fines de semana if (($numero_dia == 5) || ($numero_dia == 6)) { if (in_array($dia_actual. echo "<td class=da>$dia_actual</td>\n". echo "<td class=da>$dia_actual</td>\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>". echo "<td class=da>$dia_actual</td>\n".

E.) 213 .V.S.P. de Informática Aplicada (U.T.Vicente Sancho Guijarro 305 306 } Proyecto Final de Carrera //echo "<input type='hidden' name='anyo2' value='$ano' />\n".

apunta al fichero // que las tiene) function listado_equipacion() { $link = Conectar(). //devuelve una tabla con el id de las instalaciones. $link). $sql = "SELECT * FROM instalacion". 4).P. while ($fila = siguiente($resultado)) { $tabla[$i]["idequipacion"] = $fila["idequipacion"]. while ($fila = siguiente($resultado)) { $tabla[$i]["idinstalacion"] = $fila["idinstalacion"]. return $tabla. if($_SESSION["tipo"] != "Profesor") header("Location: prohibido.php"). de Informática Aplicada (U. 1062). apunta al fichero // que las tiene) function listado_instalacion() { $link = Conectar().php". "Profesor").V. "EQUIPACION").php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php define define define define define (INST. $link). (TRIMESTRE. $sql = "SELECT * FROM equipacion". //el maximo de la longitud del motivo para reservar una instalacion //o equipamiento.T. (PROFE. E. //el nombre de la equipacion y las normas //Acceso: // idequipacion => id de la equipacion // equipacion => nombre de la equipacion // normas => ruta para llegar a las normas de la equipacion // (no contiene las normas. "INSTALACION"). } Desconectar ($link).Vicente Sancho Guijarro Proyecto Final de Carrera profesor_inc. session_start(). //el nombre de la instalacion y las normas //Acceso: // idinstalacion => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas.S. (EQUIP. $tabla[$i]["equipacion"] = $fila["equipacion"]. Solo habra que cambiarlo de aqui //el maximo que podria soportar la tabla en mysql es de 65535 caracteres define( MAX_LENGTH_MOTIVO. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0.) 214 . 1500). $tabla[$i]["instalacion"] = $fila["instalacion"]. (CLAVE_REPETIDA. //ejecutamos la consulta $resultado = consulta ($sql. require_once "bd. //ejecutamos la consulta $resultado = consulta ($sql. $tabla[$i++]["normas"] = $fila["normas"]. } //devuelve una tabla con el id de las equipaciones.

} Proyecto Final de Carrera //Devuelve una tabla con las reservas de instalaciones que //ha efectuado el usuario. } else { $tabla[$i]["idinst"] = -1. function listado_reservas_instalaciones() { $link = Conectar(). $tabla[$i++]["normas"] = $ins["normas"]. return $tabla."'". $tabla[$i]["proposito"] = $fila["proposito"].P. //ejecutamos la consulta $resultado = consulta ($sql. $link). if ($ins) { $tabla[$i]["idinst"] = $ins["idinstalacion"]. $_SESSION["id"] . apunta al fichero // que las tiene) // fecha => fecha de la reserva con formato "mm-dd-aa hh:mm:ss" // proposito => Motivo de la reserva (introducido por el usuario // cuando realiza la reserva. de Informática Aplicada (U. $_SESSION["id"] . //$tabla[$i]["fecha"] = $fila["fecha"]. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. "'". //El usuario se obtiene de la sesion iniciada //Acceso: // idinst => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas. $sql_ins = "SELECT * FROM instalacion WHERE idinstalacion = '" . } //Devuelve una tabla con las reservas de equipamientos que //ha efectuado el usuario.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 $tabla[$i++]["normas"] = $fila["normas"]. $tabla[$i]["instalacion"] = "Instalacion desconocida"."'". } } Desconectar ($link). $tabla = null.V. $res_ins = consulta ($sql_ins. //El usuario se obtiene de la sesion iniciada //Acceso: // idequi => id de la equipacion // equipacion => nombre de la equipacion // normas => ruta para llegar a las normas de la equipacion // (no contiene las normas. $tabla[$i]["instalacion"] = $ins["instalacion"]. return $tabla. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $sql = "SELECT * FROM res_ins WHERE login = '" . $link).T. } Desconectar ($link). $sql = "SELECT * FROM res_equi WHERE login = '" . $tabla[$i++]["normas"] = "Normas no encontradas". apunta al fichero // que las tiene) // fecha => fecha de la reserva con formato "mm-dd-aa hh:mm:ss" // proposito => Motivo de la reserva (introducido por el usuario // cuando realiza la reserva. $fila["idinstalacion"] .S. $ins = siguiente($res_ins). function listado_reservas_equipaciones() { $link = Conectar().) 215 . //ejecutamos la consulta E.

} else { $sql = "DELETE FROM `res_equi` WHERE CONVERT(`res_equi`. } $result = consulta ($sql. $tabla[$i]["equipacion"] = $ins["equipacion"].P. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. } } else { //echo"<p>Operacion NO efectuada</p>\n". } else { //echo "La reserva ha sido eliminada". $tabla[$i]["equipacion"] = "Equipacion desconocida". "</p>\n". } //Esta funcion elimina una reserva del usuario dado una fecha y el //id del item y el tipo (instalacion o equipamiento function anular_reserva($login.Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 $resultado = consulta ($sql. $res_ins = consulta ($sql_ins. "'".`fecha`='$fecha' ".`login` USING utf8)='$login' AND `res_equi`. $correcto =true. //echo"SQL: $sql". return $tabla. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $link).`idequipacion`=$iditem AND `res_equi`.S. $fila["idequipacion"] . if ( $filas == 0 ) { //echo "La reserva ya hab&iacute. } else { $tabla[$i]["idequipacion"] = -1. $correcto =false. if($result) { $filas = mysql_affected_rows(). $tabla[$i]["proposito"] = $fila["proposito"].`login` USING utf8)='$login' AND `res_ins`. $fecha. E.T. $tabla = null. $iditem. $link). $item) { $link = Conectar(). de Informática Aplicada (U.a sido eliminada". $correcto =false. } } Desconectar ($link). $ins = siguiente($res_ins). Proyecto Final de Carrera $sql_ins = "SELECT * FROM equipacion WHERE idequipacion = '" . //echo"<p>Error: " . $tabla[$i++]["normas"] = $ins["normas"]. if ($item == INST) { $sql = "DELETE FROM `res_ins` WHERE CONVERT(`res_ins`. mysql_error($link) .V.) 216 . $tabla[$i++]["normas"] = "Normas no encontradas". if ($ins) { $tabla[$i]["idequipacion"] = $ins["idequipacion"].`idinstalacion`=$iditem AND `res_ins`. //$tabla[$i]["fecha"] = $fila["fecha"].`fecha`='$fecha' ". $link).

seg) //el codigo del item a reservar (puede ser una instalacion o un //equipamiento y el motivo //Devuelve: // True si reveserva se pudo hacer // Falso en caso contrario function reservar_instalacion($login. $link). "\n<br>". //echo " fecha: " . $tabla[$i]["mes"] = $trozo[1].) 217 . "-" .`res_ins` (`login`.$mes. } $link = Conectar(). $item) { $fecha = $anyo . $seg. `fecha`. return $correcto.V. $link = Conectar(). $fecha .$min.P. $tabla. return.`idequipacion`=$iditem" . if ($item == INST) { $sql = "SELECT fecha FROM `res_ins` WHERE `res_ins`.S. E. $tabla[$i++]["anyo"] = $trozo[2]. de Informática Aplicada (U. } Desconectar ($link). `proposito`) VALUES (\'$login\'. $trozo = explode ("-". } Proyecto Final de Carrera //Obtiene los dias en que esta reservado una instalacion dada //Devuelve una tabla con las fechas //Acceso: // dia // mes // anyo //Parametros recibido // id de una instalacion function fecha_reservas($iditem. $mes . fecha(dia. while ($fila = siguiente($result)) { $fecha = sacarFecha($fila["fecha"]). $tabla[$i]["dia"] = $trozo[0].$hora. anyo) y hora(hora. } Desconectar ($link). $hora .$anyo. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. mes. min. $dia .$iditem. $min . } else { $sql = "SELECT fecha FROM `res_equi` WHERE `res_equi`.T. $fecha). " " . ": " .$motivo. return $tabla. $seg.`idinstalacion`=$iditem" . ":" . } $result = consulta ($sql. } //Permite hacer una reserva //Recibe como parametros //Login del usuario. /*$sql = "INSERT INTO `webcole`.$dia. "-" . $item) { if ( !isset($iditem) || $iditem == -1) { //echo "id instalacion no definido<br>\n". `idinstalacion`.Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 $correcto =false.

mysql_error($link). $tabla[$i]["apellido2"] = $fila["apellido2"]. //echo "error: " . `proposito`) VALUES ('$login'. $link). //ejecutamos la consulta $resultado = consulta ($sql.apellido2. */ if ($item == INST) { $sql = "INSERT INTO `webcole`. E. `idinstalacion`. p. $tabla[$i]["email"] = $fila["email"]. $link). } $i++.tutorias FROM profesor p. `fecha`.email. '$fecha'.".P.login=u. `proposito`) VALUES ('$login'. Desconectar ($link). `fecha`. $tabla = null.nombre. '$fecha'. } else { $sql = "INSERT INTO `webcole`. '$iditem'. u.`res_ins` (`login`. } else { $tabla[$i]["tutorias"] = $fila["tutorias"]. $tabla[$i]["apellido1"] = $fila["apellido1"]. `idequipacion`.T.S.apellido1". usuario u WHERE p. u.`res_equi` (`login`. mysql_error($link). //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. } Proyecto Final de Carrera //Obtiene el listado de todos los profesores del centro //Devuelve una tabla con la informacion de los profesores // Nombre : Nombre // apellido1 : Primer apellido del profesor // apellido2 : Segundo apellido del profesor // email : Direccion de correo del profesor // tutorias : Las tutorias del profesor function listado_profesores() { $link = Conectar().V. p. while ($fila = siguiente($resultado)) { $tabla[$i]["nombre"] = $fila["nombre"]. \'$motivo\').Vicente Sancho Guijarro 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 \'$idins\'. '$motivo'). } $result = consulta ($sql.apellido1. if ($fila["tutorias"] == "null") { $tabla[$i]["tutorias"] = "Sin tutorias". $sql = "SELECT u.login ORDER BY u. de Informática Aplicada (U.". '$iditem'.) 218 . '$motivo'). \'$fecha\'. } Desconectar ($link). echo "error: " .". return $result.

$link). if ($fila) { $tabla["letra"] = $fila["letra"]. } //Obtiene las asignaturas del profesor function asignaturas_profesor () { $login = $_SESSION["id"]. Error: " .P. //ejecutamos la consulta $resultado = consulta ($sql. $sql = "SELECT asignatura FROM imparte WHERE profesor='$login'". $fila = siguiente($resultado). horario FROM asignatura WHERE codigoasignatura=" . //recorremos los resultados while ($fila = siguiente($resultado)) { $tabla[$i]["codasig"] = $fila["asignatura"].Vicente Sancho Guijarro 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 return $tabla.S. //por cada asignatura sacamos sus datos $sql_asig = "SELECT nombre.V. $link). $tabla["curso"] = $fila["curso"]. $res_asig = consulta ($sql_asig. $tabla[$i]["horario"] = $fila_asig["horario"]. Proyecto Final de Carrera $link = Conectar(). $tabla["horario"] = $fila["horario"]. } desconectar($link).T. $tabla["nombre"] = $fila["nombre"]. $fila = siguiente($resultado). curso. if ($fila) { $tabla["codasig"] = $codasig. //ejecutamos la consulta $resultado = consulta ($sql. $sql = "SELECT nombre. } //Obtiene los datos de la asignatura que se le pasa como parametro function obtener_datos_asignatura($codasig) { $login = $_SESSION["id"].) 219 . curso. $tabla[$i]["curso"] = $fila_asig["curso"]. $link = Conectar(). while ($fila_asig = siguiente($res_asig)) { $tabla[$i]["nombre"] = $fila_asig["nombre"]. //ejecutamos la consulta $resultado = consulta ($sql. $i = 0. $tabla = null. } $i++. } $sql = "SELECT letra FROM impartida WHERE asignatura='$codasig'". mysql_error(). return $tabla. $tabla[$i]["codasig"]. horario FROM asignatura WHERE codigoasignatura='$codasig'". de Informática Aplicada (U. } else { echo "fallo la letra. $link). E. } else { //posible error en el codigo de la asignatura ¿mejor volver ya= return . $link).

$fila_alu["apellido2"]. $link).P. $res_alumno = consulta ($sql_alumnos.$codasig.T. $curso = $fila["curso"]. //ejecutamos la consulta $resultado = consulta ($sql. } desconectar($link).letra='$letra' and alu. $fila_alu["apellido1"]. $fila = siguiente($resultado). "'. } else { echo "fallo la letra. } function poner_nota($alumno. if ($fila) { $letra = $fila["letra"]. } desconectar($link). `asignatura`.`nota` (`alumno`. while ($fila_alu = siguiente($res_alumno)) { $tabla[$i]["nombre"] $tabla[$i]["apellido1"] $tabla[$i]["apellido2"] $tabla[$i]["login"] $i++.curso=$curso and alu. $fila = siguiente($resultado). letra FROM impartida WHERE asignatura='$codasig'". login FROM usuario usu. `curso`. = = = = $fila_alu["nombre"].Vicente Sancho Guijarro 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 Proyecto Final de Carrera } $sql = "SELECT aula FROM grupo WHERE curso='" . if ($fila) { $tabla["aula"] = $fila["aula"]. } //obtener los datos de los alumnos que estan en ese curso y letra $sql_alumnos = "SELECT usu. $link). $sql = "SELECT curso.nombre. //ejecutamos la consulta $resultado = consulta ($sql. "' and letra='" . '$trimestre'.login ORDER BY usu. $link = Conectar(). usu. usu. login=usu. $tabla[ "letra"] . $nota) { $datos = obtener_datos_asignatura($codasig). E.apellido2.". $sql = "INSERT INTO `webcole`. return.S. '$codasig'. $tabla["curso"] . mysql_error(). `nota`) VALUES ('$alumno'. Error: " . de Informática Aplicada (U. return $tabla. usu.V. Error: " . mysql_error(). $trimestre. $datos["curso"] . $fila_alu["login"].) 220 .apellido1". '$nota'). } function obtener_alumnos_asignatura($codasig) { $link = Conectar(). '" . alumno alu WHERE alu. return $tabla.apellido1. } else { echo "fallo el aula. $link). "'". `trimestre`.

alumno alu 591 WHERE alu.P. "' 605 and n. mysql_error(). 570 $sql = "SELECT curso. 553 $res_actualizar = consulta ($sql_actualizar. 576 if ($fila) 577 { 578 $letra = $fila["letra"]. letra 571 FROM impartida 572 WHERE asignatura='$codasig'". usu. 573 //ejecutamos la consulta 574 $resultado = consulta ($sql.apellido1.) 221 .trimestre='$trimestre' and n. $link). 560 } 561 } 562 563 Desconectar ($link). 612 } E. mysql_errno().alumno='" . 606 asignatura='$codasig'".`alumno` USING utf8) = 548 '$alumno' 549 AND `nota`.S. $trimestre) 568 { 569 $link = Conectar().Vicente Sancho Guijarro Proyecto Final de Carrera 536 537 $result = consulta ($sql.". usu. $fila_alu["login"] . 565 } 566 567 function obtener_alumnos_asignatura_trimestre($codasig. $link). 607 $res_nota = consulta ($sql_nota. 580 } 581 else 582 { 583 echo "fallo la letra. entonces el alumno ya habia 541 sido 542 //puntuado. 595 596 if ($res_alumno) 597 { 598 while ($fila_alu = siguiente($res_alumno)) 599 { 600 //por cada alumno sacamos su nota para esa asignatura y 601 trimestre (si esta puesta) 602 $sql_nota = "SELECT n.`nota` 546 SET `nota` = '$nota' 547 WHERE CONVERT(`nota`.letra='$letra' and alu.nombre. $link).curso=$curso and alu. 543 if ( mysql_errno() == CLAVE_REPETIDA) 544 { 545 $sql_actualizar = "UPDATE `webcole`. 540 //si el error devuelto es CLAVE_REPETIDA. 584 return. 579 $curso = $fila["curso"]. de Informática Aplicada (U.`trimestre` USING utf8) = 551 '$trimestre' 552 LIMIT 1. $link).apellido1". mysql_error($link) . " codigo: " . 575 $fila = siguiente($resultado).apellido2. 609 if ($fila) 610 { 611 $tabla[$i]["nota"] = $fila["nota"]. 592 login=usu. 585 } 586 587 //obtener los datos de los alumnos que estan en ese curso y letra 588 $sql_alumnos = "SELECT usu. 559 mysql_errno(). 589 login 590 FROM usuario usu. 594 $res_alumno = consulta ($sql_alumnos. usu. 538 if (!$result) 539 echo "error: " . 558 echo "error: " .nota 603 FROM nota n 604 WHERE n. 564 return $result. 608 $fila = siguiente($res_nota).`asignatura` = $codasig 550 AND CONVERT(`nota`. $link). por tanto deberemos actualizar la nota. Error: " . " codigo: " .T.V. mysql_error($link) .login 593 ORDER BY usu. 554 if ( !$res_actualizar ) 555 { 556 echo "Se produjo un error cuando se estaba actualizando la nota 557 del alumno $alumno<br>\n".

return $tabla. //echo " sql vale: $sql_nota <br>\n".T. de Informática Aplicada (U. } $tabla[$i]["nombre"] = $fila_alu["nombre"]. return $tabla. //ejecutamos la consulta $tabla[$i] = $actual. if (isset($fecha)) { $fecha_mysql = cambiar_a_date($fecha). } else { $fecha_mysql = "0000-00-00". $fecha). } function obtener_faltas_alumnos ($codasig. if ($fila) { $tabla[$i]["justificada"] = $fila["justificada"]. $tabla[$i]["apellido1"] = $fila_alu["apellido1"]. $separada = explode("-". $tabla[$i]["login"] = $fila_alu["login"]. $tabla[$i]["fecha"] = $fecha. } //Se recibe una fecha en formato dd-mm-aaaa //Se devuelve una fecha en formato aaaa-mm-dd function cambiar_a_date($fecha) { //$nuevafecha = "". $separada[1] . $lon = count($alumnos). $tabla[$i]["apellido2"] = $fila_alu["apellido2"].Vicente Sancho Guijarro 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 else { Proyecto Final de Carrera $tabla[$i]["nota"] = $fila[""]. $fila = siguiente($resultado). } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". Error: " .P.V. $nuevafecha = $separada[2] . if ($separada[0] < 10) { $separada[0] = "0" .S. //echo "fallo la nota. //echo "login vale : " .) 222 . "<br>\n"."'". $fila_alu["login"] . "-". mysql_error(). } else { $tabla[$i]["justificada"] = "". } $i++. $i++. } desconectar($link). $actual["login"]. $tabla[$i]["fecha"] = "". "-" . $fecha) { $alumnos = obtener_alumnos_asignatura($codasig). $resultado = consulta ($sql. foreach ($alumnos as $actual) { $sql = "SELECT justificada FROM faltaasistencia WHERE asignatura='$codasig' and fecha='$fecha_mysql' and alumno='" . $link). E. $separada[0]. } desconectar($link). } $link = Conectar().

return $result.. $fecha. "<br>\n".= $separada[0]. $sql= "DELETE FROM `faltaasistencia` WHERE CONVERT(`faltaasistencia`. '$fecmysql'. de Informática Aplicada (U.`asignatura` = $codasig AND `faltaasistencia`. echo "error: " .<br>\n".". mysql_error($link) . $link). `fecha`. $link). echo "error: " . echo "login vale: $login<br>\n". mysql_errno().) 223 .`fecha` = '$fecha_mysql'". entonces el alumno ya habia sido //puntuado. mysql_errno(). " codigo: " .`faltaasistencia` (`alumno`..V. } function poner_falta($login. `asignatura`. //el login del profesor lo obtenemos directamente de la sesion.`alumno` USING utf8) = '$login' AND `faltaasistencia`. $fecha) { echo " se esta quitando una falta. mysql_errno(). mysql_error($link) . Proyecto Final de Carrera $sql = "INSERT INTO `webcole`. $just) { $link = Conectar().S.`asignatura` = $codasig AND `faltaasistencia`.T. $fecha_mysql = cambiar_a_date($fecha). E. //si el error devuelto es CLAVE_REPETIDA. '$codasig'. if ( !$resultado ) { echo "Se produjo un error cuando se estaba eliminado la falta de asistencia del alumno $login<br>\n". '$just').Vicente Sancho Guijarro 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 } $nuevafecha .`fecha` = '$fecmysql' LIMIT 1. $link = Conectar(). $resultado = consulta ($sql. .P. if ( mysql_errno() == CLAVE_REPETIDA) { echo "actualizando la falta del login: $login<br>\n". $link). } Desconectar ($link). mysql_error($link) . `justificada`) VALUES ('$login'.`alumno` USING utf8)= '$login' AND `faltaasistencia`. } function quitar_falta($login. $codasig. " codigo: " . $codasig. } //Funcion que devuelve los grupos que son tutorizados por un profesor. return $nuevafecha. por tanto deberemos actualizar la nota. $result = consulta ($sql. $fecmysql = cambiar_a_date($fecha).`faltaasistencia` SET `justificada` = '$just' WHERE CONVERT(`faltaasistencia`. if ( !$res_actualizar ) { echo "Se produjo un error cuando se estaba actualizando la nota del alumno $login<br>\n". " codigo: " . mysql_error($link) . } } } else { echo "ocurrio algo raro: " } Desconectar ($link). // echo "nueva fecha vale: $nuevafecha<br>\n". $res_actualizar = consulta ($sql_actualizar. if (!$result) { echo "error: " . $sql_actualizar = "UPDATE `webcole`.".

if ($resultado) { if ($fila = siguiente($resultado)) { $tabla["codgrupo"] = $curso . } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". aula. $i++.P. $sql = "SELECT curso. $tabla[$i]["delegado"] = $fila["delegado"]. $tabla[$i]["aula"] = $fila["aula"]. //echo "letra vale: $letra<br>\n". $link = Conectar(). return. delegado FROM grupo WHERE tutor='$login'". $tabla[$i]["letra"] = $fila["letra"]. de Informática Aplicada (U. //$tabla[$i]["delegado"] = $fila["delegado"]. "-" . aula. //ejecutamos la consulta $resultado = consulta ($sql. echo "grupo vale:" . //ejecutamos la consulta $resultado = consulta ($sql. $tabla[$i]["codgrupo"] .) 224 . return. //ejecutamos la consulta $resultado = consulta ($sql. E.S. $i++. //$tabla[$i]["aula"] = $fila["aula"]. $letra = substr($codgrupo. if ($resultado) { while ($fila = siguiente($resultado)) { $tabla[$i]["curso"] = $fila["curso"]. } // //El formato del codgrupo es "curso-letra" function obtener_datos_grupo ($codgrupo) { $curso = substr($codgrupo. $link). letra. letra.2. $letra. $link). if ($resultado) { while ($fila = siguiente($resultado)) { $tabla[$i]["codgrupo"] = $fila["curso"] . $sql = "SELECT curso. } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". 1). delegado FROM grupo WHERE tutor='$login' and curso='$curso' and letra='$letra'". } */ $link = Conectar(). /* $link = Conectar(). $login = $_SESSION["id"]. } desconectar($link). //echo "curso vale: $curso<br>\n".V. "-" .0. return $tabla. $fila["letra"]. 1). $sql = "SELECT curso.Vicente Sancho Guijarro 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 Proyecto Final de Carrera //Se devuelve una tabla con todos los datos del grupo tutorizado function obtener_grupos_tutorizados() { $login = $_SESSION["id"]. $link).T. $tabla[$i]["curso"] = $fila["curso"]. letra FROM grupo WHERE tutor='$login'". $tabla[$i]["letra"] = $fila["letra"]. "<br>\n".

S.login FROM usuario usu WHERE usu. } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". } } else { $tabla["del_nombre"] = "". if ($fila_alu = siguiente($res_alumno)) { $tabla["del_nombre"] = $fila_alu["nombre"]. usu.$fila_alu["usu.Vicente Sancho Guijarro 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 $tabla["curso"] $tabla["letra"] $tabla["aula"] $tabla["delegado"] = = = = $curso. $fila["aula"]. $fila["delegado"] . $i++."<br>\n". $tabla["del_ape2"] = $fila_alu["apellido2"]. } //echo "aula vale " . $fila["aula"] . $link = Conectar(). usu. echo "login vale: " . usu. de Informática Aplicada (U. $tabla[$i]["login"] = $fila_alu["login"]. "<br>\n". $fila["delegado"]. if ($res_alumno) { echo "dentro if<br>\n".login='" . "'".curso='$curso' and alu. E.0. login=usu. while ($fila_alu = siguiente($res_alumno)) { echo "login vale: " .T. Proyecto Final de Carrera if (isset($fila["delegado"])) { $sql_alumnos = "SELECT usu.apellido1. $tabla["del_ape1"] = $fila_alu["apellido1"].apellido2.letra='$letra' and alu. 1). $tabla[$i]["apellido1"] = $fila_alu["apellido1"].login"].P.login ORDER BY usu. $login = $_SESSION["id"]. } desconectar($link). $tabla["del_ape2"] = "". $link). $letra = substr($codgrupo. 1)."<br>\n". usu.apellido1. $tabla[$i]["codgrupo"] . //obtener los datos de los alumnos que estan en ese curso y letra $sql_alumnos = "SELECT usu. } else { echo "fila nula<br>\n".$fila_alu["login"]. return. usu. $res_alumno = consulta ($sql_alumnos.apellido1". $link). nombre. } function obtener_alumnos_grupo($codgrupo) { $curso = substr($codgrupo. login FROM usuario usu. return $tabla.2. $tabla[$i]["apellido2"] = $fila_alu["apellido2"].apellido2. echo "letra vale: $letra<br>\n".V. $tabla[$i]["nombre"] = $fila_alu["nombre"]. $tabla["del_ape1"] = "". $letra. echo "curso vale: $curso<br>\n". "<br>\n". $res_alumno = consulta ($sql_alumnos. $i = 0. usu. alumno alu WHERE alu. echo "sql vale: $sql_alumnos<br>\n".) 225 .nombre. // echo "grupo vale:" .

$conn). $sql = 'SELECT * FROM usuario WHERE login ="' . } desconectar($link).`grupo` SET `delegado` = NULL WHERE CONVERT(`grupo`. Desconectar ($link). if (strcmp ($alumno. if (!$result) echo "error: " ." </span>". //devolver ok o ko } " codigo: " .`curso` USING utf8) = '$curso' AND CONVERT(`grupo`. $dp = Conectar(). while($row = siguiente($res)) { $fecha=split("-". } function hacer_delegado($codgrupo.$i++) echo "<p><span class='fechaNoticia'>".sacarFecha($row["fecha"])). $res=consulta($sql.P.`letra` USING utf8) = '$letra' LIMIT 1. return $result.`letra` USING utf8) = '$letra' LIMIT 1.tohtml($row["descripcion"]).V.`grupo` SET `delegado` = '$alumno' WHERE CONVERT(`grupo`. echo mysql. 1). '"'.T. if($fechaComparar >= date("Ymd")) for($i=0. return $tabla.2. $resultado = consulta($sql.errno(). $dp). $fechaComparar = "".sacarFecha($row[ "fecha"]).Vicente Sancho Guijarro 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 } } else { Proyecto Final de Carrera echo "se produjo un error en obtener_alumnos_grupo ". $link)." </p> ". desconectar($dp).) 226 . 1).0. $result = consulta ($sql. mysql_errno(). mysql_error($link) . } desconectar($conn). $i<3 && $i<numeroFilas($res).$fecha[0].$fecha[1]. $row['nombre']. $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha". $alumno) { $curso = substr($codgrupo. } $link = Conectar(). } function bienvenida() { //include("bd. $letra = substr($codgrupo.php").php'>Cerrar E.$fecha[2]." . function rellenar_eventos_curso() { $conn = Conectar(). de Informática Aplicada (U. while($row = siguiente($resultado)) echo 'Bienvenido ' . "NULL") == 0) { $sql = "UPDATE `webcole`. } else { $sql = "UPDATE `webcole`. $_SESSION["id"] .S.`curso` USING utf8) = '$curso' AND CONVERT(`grupo`. echo "<br/>\n<a href='/webcole/cerrar_sesion." .

T.V.Vicente Sancho Guijarro 998 999 } 1000 1001 1002 ?> sesi&oacute. de Informática Aplicada (U.) 227 .P.S. Proyecto Final de Carrera E.n</a>".

php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc. echo tohtml($row['apellido1']) . $conn = Conectar().P." class="logo">&nbsp.php">Instalaciones </a> </li> <li><a href="/webcole/Profesor_equipaciones.php"."'".php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. $resultado = consulta($sql.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. ?></td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Profesores</a></li> <li><a href="/webcole/Profesor_notas. tohtml($row['nombre']).php">Faltas asistencia </a>< /li> <li><a href="/webcole/Profesor_instalaciones./js/fecha. ?> </p> </td> <td class="general">&nbsp.</td> </tr> <tr> <td><?php bienvenida().</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.0 Strict//EN" "http://www.Vicente Sancho Guijarro Proyecto Final de Carrera intranetProfe.S.php"). font-weight: bold."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. ". " " .</td> </tr> <tr> <td class="fecha">&nbsp.php">Tabl&oacute. " .) 228 .</td> <td colspan="2" class="titulo">&nbsp. font-size:18px'> Intranet Profesor </p> <p> <?php //include("bd. ?> </td> E.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .V.dtd"> <html xmlns="http://www.w3. $conn).php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. org/TR/xhtml1/DTD/xhtml1-strict. desconectar($conn). $_SESSION[ "id"] .js"> </script> <link href="css/principal.w3.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). de Informática Aplicada (U. $row = siguiente($resultado). charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. $sql = "SELECT * FROM usuario WHERE login = '" .org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. tohtml($row[ 'apellido2']) .T.php">Equipamientos</a>< /li> <li><a href="/webcole/Profesor_tablon.

S.T.) 229 .Vicente Sancho Guijarro 74 </tr> 75 </table> 76 </body> 77 </html> Proyecto Final de Carrera E.V. de Informática Aplicada (U.P.

) 230 .V. } } if (!$encontrado) { $codasig = -1. de Informática Aplicada (U.</td> <td colspan="2" class="titulo">&nbsp.php?codasig=' + id .T. foreach ($asignaturas as $actual ) { if ( strcmp($actual["codasig"].php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.S.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.w3.dtd"> <html xmlns="http://www.0 Strict//EN" "http://www.php".php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.getElementById("asignatura").location. var id = document."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.css" rel="stylesheet" type="text/css" /> <link href="css/principal.href='/webcole/Profesor_alumnos.js"> </script> <script type="text/javascript" > <!-function buscarasignatura() { //var id = document. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.P.idasig. } else { $encontrado = false. if (!isset($codasig)) { $codasig = -1. } --> </script> <link href="css/principal.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</td> </tr> <tr> <td class="fecha">&nbsp." class="logo">&nbsp.$codasig ) == 0) { $encontrado = true.idasig.php">Notas</a></li> E. $asignaturas = asignaturas_profesor(). document.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().value.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. org/TR/xhtml1/DTD/xhtml1-strict.asignatura. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"].value.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_alumnos.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.w3.

} else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). } ?> </select> </p> </form> <br/> <table style="text-align: center. tohtml($asig["nombre"]) .</div></td> <td style="width: 25%.T."> <option value='-1'>Selecciona una asignatura</option> <?php foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" . else echo "<option value='" ." >< ?php echo $codigo ?>&nbsp. $nombre = $datos["nombre"]. $letra = $datos["letra"]. $horario = "----"."><div style="text-align: center.n de anuncios </a></li> </ul> </td> <td class="general" style="text-align: center."><?php echo $nombre ?>&nbsp."> <p style='text-align: center . $curso = "----". font-weight: bold.php">Tabl&oacute. "' selected='selected'>" . width: 100%.height: 100%" border="1" class="general"> <tr> <td style="height: 39px. "</option>\n". $horario = $datos["horario"]. tohtml($asig["nombre"]) . $asig["codasig"].V.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera <li><a href="/webcole/Profesor_faltas. font-size:18px'> Alumnos del profesor </p> <div style="text-align: center." ><strong>C&oacute. $clase = $datos["aula"].digo Asignatura </strong></div> </td> <td style="width: 25%. $curso = $datos["curso"]. $alumnos = obtener_alumnos_asignatura($codasig). $clase = "----".php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones. $asig["codasig"].) 231 ." class='cabecera'><div style="textalign: right. de Informática Aplicada (U. "'>" ." class='cabecera'><div style="text-align: right" ><strong>Nombre Asignatura </strong>< /div></td> <td style="width: 25%."> <form method='get' action='#' id="asignatura"> <p style="font-weight: bold. width: 25%. } //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----".</div></td> </tr> <tr> E."><div style="text-align: center. "</option>\n".php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.S. $letra = "-". $codigo = $codasig.P.">Asignaturas disponibles <select name="idasig" onchange="javascript:buscarasignatura(). $codigo = "----".

" 152 class='cabecera'><strong>Curso</strong></div></td> 153 <td><div style="text-align: center.\"> " .\"> " ."><strong> 166 Clase</strong></div></td> 167 <td><div style="text-align: center.\" >" . " </div></td>\n".</div></td> 155 <td class='cabecera'><div style="text-align: right.Vicente Sancho Guijarro Proyecto Final de Carrera 151 <td style="height: 34px. "'>\n". 203 $i++. tohtml( 199 $actual["nombre"])."><strong> 156 Letra</strong></div></td> 157 <td><div style="text-align: center. tohtml( 197 $actual["apellido2"]) . "</div></td>\n". de Informática Aplicada (U."><strong>Alumnos</strong></div></td> 173 </tr> 174 <tr> 175 <td style="height: 34px.</td> 211 </tr> 212 <tr> 213 <td><?php 214 bienvenida().V."><div style="text-align: right." ><?php echo $curso ?> 154 &nbsp. 188 foreach ($alumnos as $actual) 189 { 190 191 $resto = $i % 2.T. 192 echo"<tr class='fila" .\"><div style=\"text-align: 194 center. 196 echo" <td><div style=\"text-align: center. tohtml( 201 $actual["login"]) . tohtml($actual["apellido1"]) ."><strong> 180 Nombre</strong></div></td> 181 <td class='cabecera'><div style="text-align: center."><strong>Horario</strong></div></td> 163 <td><div style="text-align: center.S.) 232 ." class='cabecera'><div style="text162 align: right. " </div></td>\n"."><strong> 178 Segundo Apellido </strong></div></td> 179 <td class='cabecera'><div style="text-align: center. 158 </div></td> 159 </tr> 160 <tr> 161 <td style="height: 34px.\"> " . 200 echo" <td><div style=\"text-align: center."><?php echo $letra ?>&nbsp."><?php echo $horario ?> 164 &nbsp." class='cabecera'><div style="text176 align: center.</div></td> 165 <td class='cabecera'><div style="text-align: right. 215 ?></td> 216 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 217 <?php 218 rellenar_eventos_curso(). " </div></td> 195 \n". 193 echo" <td style=\"height: 34px. 204 } 205 } 206 ?> 207 </table> 208 </div> 209 </td> 210 <td class="general">&nbsp. 168 </div></td> 169 </tr> 170 <tr> 171 <td style="height: 34px."><strong> 182 Login</strong></div></td> 183 </tr> 184 <?php 185 if (isset($alumnos)) 186 { 187 $i = 0.P. 219 ?> 220 </td> 221 </tr> 222 </table> 223 </body> 224 </html> E." colspan="4"><div style="text-align: 172 center. 198 echo" <td><div style=\"text-align: center. $resto ."><?php echo $clase ?>&nbsp."><strong>Primer Apellido </strong></div></td> 177 <td class='cabecera'><div style="text-align: center. 202 echo"</tr>\n".

php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.' class='cabecera'>E-mail</td> 20%.&nbsp." class="logo">&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.' class='cabecera'>Tutorias< $i = 0.0 Strict//EN" "http://www.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php">Tabl&oacute.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.n de anuncios </a></li> </ul> </td> <td class="general"><p style="font-weight: bold. org/TR/xhtml1/DTD/xhtml1-strict.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".css" rel="stylesheet" type="text/css" /> <link href="css/principal.) 233 .php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.js"> </script> </head> <body onload="javascript:displayTime().php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.w3. foreach ($profesores as $actual) E. echo " <td style='width: \n".P.blico Emilio Lluch&nbsp. echo " <td style='width: /td>\n". echo " <td style='width: \n".T.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.'> <?php $profesores = listado_profesores().php".' class='cabecera'>Nombre</td> 20%.</p> <table border="1" style='width: 100%.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones. echo "</tr>\n". 20%.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_profesores. echo "<tr >\n". de Informática Aplicada (U."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.</td> <td colspan="2" class="titulo">&nbsp.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.' class='cabecera'>Primer 20%.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.S./js/fecha. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> </tr> <tr> <td class="fecha">&nbsp.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. echo " <td style='width: apellido</td>\n". ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. echo " <td style='width: apellido</td>\n".dtd"> <html xmlns="http://www.w3.">Profesores del Colegio P&uacute.' class='cabecera'>Segundo 20%.V.

V.T. de Informática Aplicada (U. 84 85 $i++. 86 } 87 ?> 88 89 </table> 90 </td> 91 <td class="general">&nbsp. 81 $actual["email"] . $actual["email"] .S. "'>\n".Vicente Sancho Guijarro Proyecto Final de Carrera 74 { 75 $resto = $i % 2. 83 echo "</tr>\n". $actual["tutorias"] . 96 ?></td> 97 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 98 <?php 99 rellenar_eventos_curso(). "</td>". 82 echo "<td>" . 77 echo "<td>" . $resto . 79 echo "<td>" . tohtml($actual["apellido1"]) . 76 echo "<tr class='fila" . tohtml($actual["nombre"]) . 78 echo "<td>" . 80 echo "<td><a href='mailto:" . "'>" .</td> 92 </tr> 93 <tr> 94 <td><?php 95 bienvenida(). 100 ?> 101 </td> 102 </tr> 103 </table> 104 </body> 105 </html> E.) 234 . "</td>". "</a></td>". tohtml($actual["apellido2"]) . "</td>".P. "</td>".

css" rel="stylesheet" type="text/css" /> </head> <body></body></html> E. = $_REQUEST["datos"]. $aux = explode(":".". $trimestre. if (isset($codasig) && isset($trimestre) && isset($login) && isset( $nota)) { poner_nota($login. $_REQUEST["trim"]. charset=iso-8859-1" /> <META HTTP-EQUIV="Refresh" CONTENT="0. $trimestre./js/fecha. $nota). poner_nota($login. $datos).?>&codasig=<? echo $codasig.php").) 235 . ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. //echo "Login vale: $login.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". //separamos los alumnos (con sus notas) unos de otros $alu_notas = explode( "|" . $_REQUEST["nota"].org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.S. } else { header("Location: Profesor_notas.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 <?php require_once "profesor_inc.?>"> <title>CP Emilio Lluch</title> <link href="css/general.w3. if (isset($codasig) && isset($trimestre) && isset($datos) ) { //echo "datos vale: $datos<br>\n". } } } else { $codasig $trimestre $login $nota = = = = $_REQUEST["asignatura"].php". } } //header("Location: Profesor_notas. = $_REQUEST["trimestre"].P. $codasig. $codasig.T. foreach ($alu_notas as $actual) { if(strlen($actual) > 1) { $lognota = explode(". $lognota[0]). org/TR/xhtml1/DTD/xhtml1-strict. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera guardar_notas. $aux = explode(":".php"). $nota). $login = $aux[1].URL=Profesor_notas.dtd"> <html xmlns="http://www.V. $_REQUEST["login"].php?trimestre=<? echo $trimestre. $lognota[1]). Nota vale: $nota<br>\n".0 Strict//EN" "http://www. $nota = $aux[1].js"> </script> <link href="css/principal. $actual).w3. $codasig $trimestre $datos = $_REQUEST["asignatura"].

php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones./js/fecha.V. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().S.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.</td> </tr> <tr> <td class="fecha">&nbsp.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.) 236 .css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". } if (!isset($trimestre)) { $trimestre = -1.js"> </script> <script type="text/javascript" src=".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc. $trimestre = $_REQUEST["trimestre"].Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_notas."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.org/TR/xhtml1/DTD/xhtml1-transitional. w3.T./js/profesor.w3.</td> <td colspan="2" class="titulo">&nbsp.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .php">Tabl&oacute.dtd"> <html xmlns="http://www.css" rel="stylesheet" type="text/css" /> <link href="css/profesor. font-weight: bold.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. de Informática Aplicada (U. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"]." class="logo">&nbsp. if (!isset($codasig)) { $codasig = -1.php".P.js"> </script> <link href="css/principal. } //Si las dos variables estan definidas deberemos buscar los datos que necesitaran. font-size:18px'> Notas </p> <div align="center"> <form name='asignatura' method='get' action='#'> <br /> <strong>Asignaturas disponibles</strong> E.0 Transitional//EN" "http://www.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.

$curso = $datos["curso"]. } else { echo"<option value=\"$i\" >$i</option>\n". $alumnos = obtener_alumnos_asignatura_trimestre($codasig. $asig["codasig"].V. $clase = $datos["aula"]. for ($i = 1. "'>" . $codigo = $codasig. '> E. text-align: right .P. } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). } } ?> </select> </form> </div> <br /> <table style='width: 100%. "</option> \n".S. $horario = "----". } ?> </select> <? //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----". $clase = "----". font-weight: bold. foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" .Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera <select name="idasig" onchange="javascript:buscarasignatura(). $asig["codasig"].) 237 . text-align:center.' class="cabecera"> Nombre Asignatura </td> <td style='width: 25%."> <? echo"<option value=\"-1\">Trimestre</option>\n". de Informática Aplicada (U."> <option value='-1'>Selecciona una asignatura</option> <?php $asignaturas = asignaturas_profesor(). $trimestre). $nombre = $datos["nombre"]. $curso = "----".T. $i++) { if ( $trimestre == $i) { echo"<option value=\"$i\" selected=\"selected\">$i< /option>\n". tohtml( $asig["nombre"]) . } ?> <br /> <br /> <strong>Trimestre por defecto</strong> <select name="trimestre" onchange="javascript:cambio_trimestre(). $i <= TRIMESTRE. else echo "<option value='" . height:100%. "</option>\n". $letra = "-".' border="1" class="general"> <tr> <td style='width: 25%. $horario = $datos["horario"]. $letra = $datos["letra"]. text-align: center . tohtml($asig["nombre"]) . $codigo = "----". "' selected='selected'>" .

font-weight: bold. </td> <td style='width: 25%.' class="cabecera"> Clase </td> <td colspan="3" style='width: 25%.' class="cabecera"> Curso </td> <td style='width: 25%. </td> </tr> <tr> <td style='width: 25%. text-align: center .digo Asignatura </td> <td colspan="3" style='width: 25%. text-align: center . font-weight: bold. font-weight: bold.' class="cabecera" colspan="2"> Nota &nbsp. '> <?php echo $codigo ?>&nbsp. Guardar </td> <!--<td style='width:13%. text-align: center . </td> </tr> <tr> <td style='width: 25%. text-align: center .' class="cabecera"> Letra </td> <td colspan="3" style='width: 25%. font-weight: bold. text-align: center . font-weight: bold. font-weight: bold.' class="cabecera"> Nombre </td> <td style='width: 25%. text-align: center . '> <?php echo $curso ?>&nbsp. '> <?php echo $letra ?>&nbsp. text-align: center . font-weight: bold.Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 Proyecto Final de Carrera <?php echo tohtml($nombre) ?>&nbsp.' class="cabecera"> Horario </td> <td style='width: 25%. font-weight: bold. </td> <td style='width: 25%.' class="cabecera"> C&oacute.S. </td> </tr> <tr> <td height="39" colspan="6"> <div align="center"><strong>Alumnos</strong></div> </td> </tr> <tr> <td style='width: 25%. '> <?php echo $horario ?>&nbsp. font-weight: bold. font-weight: bold. text-align: right . text-align: right .T.P.' class="cabecera"> Segundo Apellido </td> <td style='width: 25%.' class="cabecera"> Guardar </td> --> </tr> <?php if (isset($alumnos)) { $i = 0. text-align: center . text-align: center . text-align: center . </td> <td style='width: 25%. text-align: right . de Informática Aplicada (U.) 238 . foreach ($alumnos as $actual) { E. text-align: right . '> <?php echo $clase ?>&nbsp. text-align: right .' class="cabecera"> Primer Apellido </td> <td style='width: 25%.V.

tohtml($actual[ 236 "nombre"]).V. 231 echo" <td style=' text-align: center .$actual["nota"]. 261 262 $i++.Vicente Sancho Guijarro Proyecto Final de Carrera 228 229 $resto = $i % 2. $actual[ 245 "login"] .T. " </td>\n".S.</td> 283 </tr> 284 <tr> 285 <td><?php 286 bienvenida(). 291 ?> 292 </td> 293 </tr> 294 </table> 295 </body> 296 </html> E. tohtml( 232 $actual["apellido1"]) . 263 264 } 265 266 267 } 268 ?> 269 270 </table> 271 <form method='get' name='general' action='/webcole/guardar_notas. de Informática Aplicada (U.) 239 .' colspan='2'> 240 ". "'>\n".'/> 250 \n 251 <input type='hidden' name='trim' value=''/> 252 <input type='hidden' name='cambiado' 253 value='false'/> 254 <input type='hidden' name='login' value='" . $resto . " </div></td>\n". $actual["login"] .P. 237 echo" <td style=' text-align: center . 239 echo" <td style=' text-align: center .' value='". 230 echo "<tr class='fila" . tohtml( 234 $actual["apellido2"]) . 233 echo" <td style=' text-align: center . 272 php'> 273 <input type='hidden' name='datos' value=''/> 274 <input type='hidden' name='asignatura' value='' /> 275 <input type='hidden' name='trimestre' value=''/> 276 <div align="center"><input type="button" name='Submit' 277 value='Guardar Todos' onclick='javascript:enviar_todos(). " </td>\n". 260 echo"</tr>\n".'>" . "' action='guardar_notas. $actual[ 242 "login"] . "'/> 256 <input type='hidden' name='asignatura' 257 value=''/>\n 258 </form>\n 259 </td>\n"."\"). " </td>\n"." '/> 246 \n 247 <input type='button' name='Submit' 248 value='Guardar' onclick='javascript: 249 enviar_alumno(\"" .'/>< 278 /div> 279 280 </form> 281 </td> 282 <td class="general">&nbsp. "\"). 287 ?></td> 288 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 289 <?php 290 rellenar_eventos_curso(). 241 echo" <form method='get' name='alumno_" .'>" . 255 tohtml($actual["login"]).'> " .php'>\n 243 <input type='text' name='nota' size='5' 244 onchange='javascript:nueva_nota(\"" . tohtml( 238 $actual["nombre"]). 235 //echo" <td><div align=\"center\"> " .

/js/profesor. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"]."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px." class="logo">&nbsp.P.T./js/fecha.S.php">Instalaciones E. } else { if (!array_key_exists($codasig.</td> <td colspan="2" class="titulo">&nbsp.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. } //Si las dos variables estan definidas deberemos buscar los datos que necesitaran.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.0 Transitional//EN" "http://www. if (!isset($codasig)) { $codasig = -1. $asignaturas = asignaturas_profesor().</td> </tr> <tr> <td class="fecha">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_faltas. w3.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php".) 240 .js"> </script> <script type="text/javascript"> </script> <link href="css/principal.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.css" rel="stylesheet" type="text/css" /> <link href="css/principal. } } if (!isset($fecha)) { $fecha = "".js"> </script> <script type="text/javascript" src=".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.w3.css" rel="stylesheet" type="text/css" /> <link href="css/profesor. $asignaturas)) { $codasig = -1.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. de Informática Aplicada (U.dtd"> <html xmlns="http://www.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. $fecha = $_REQUEST["fecha"].org/TR/xhtml1/DTD/xhtml1-transitional. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.V.

de Informática Aplicada (U.V. $codigo = "----". if ( strlen($fecha) > 0 ) $alumnos = obtener_faltas_alumnos ($codasig.T. $curso = "----".php">Tabl&oacute. else echo "<option value='" . font-size:18px'> Faltas de Asistencia </p> <div align="center"> <form name='asignatura' method='get' action='#'> <br /> <strong>Asignaturas disponibles</strong> <select name="idasig" onchange="javascript:buscarasignaturafaltas(). tohtml( $asig["nombre"]) . $nombre = $datos["nombre"]. $clase = $datos["aula"].) 241 .P.'fecha')" /> </form> </div> <br/> <table style='width: 100%. } ?> <br /> <br /> <strong>Fecha de la falta </strong> <input type='text' value='<? echo $fecha. $letra = "-". text-align:center. $horario = $datos["horario"]. $codigo = $codasig. font-weight: bold.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center . $curso = $datos["curso"]. $fecha) . $asig["codasig"]. $asig["codasig"]. ?>' readonly="readonly" size='10' name='fecha' onfocus="javascript:buscarasignaturafaltas().S. } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). "' selected='selected'>" .' E. $letra = $datos["letra"]. height:100%. " /> <input type='button' value='Selecciona Dia' onclick="muestraCalendario(''. "</option> \n".Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera </a></li> <li><a href="/webcole/Profesor_equipaciones. tohtml($asig["nombre"]) . $clase = "----". $horario = "----".'asignatura'. "</option>\n".php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. } ?> </select> <? //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----". "> <option value='-1'>Selecciona una asignatura</option> <?php foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" . "'>" .

echo"<tr class='fila" . text-align: right . text-align: center . font-weight: bold.Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 Proyecto Final de Carrera border="1"> <tr> <td style='width:20%. text-align: center . E. ' ><?php echo tohtml( $nombre) ?></td> <td style='width:20%. text-align: center .'> Quitar Falta </td> --> </tr> <?php if (isset($alumnos)) { $i = 0.S. text-align: right .'>Just</span> <span style='width:25%. $resto . 'colspan="3" class='cabecera'>Letra</td> <td style='width:20%.digo Asignatura</td> <td style='width:20%. text-align: center . text-align: center . text-align: center .<td style='width:5%. font-weight: bold. text-align: center . text-align: center . 'colspan="3"><?php echo $letra ?>&nbsp. text-align: center . '><?php echo $horario ?></td> <td style='width:20%. text-align: center .' class='cabecera'>Segundo Apellido </td> <td style='width:20%. font-weight: bold. "'>\n".' class='cabecera'>Horario</td> <td style='width:20%. ' >&nbsp.'>Quitar Falta< /span> </td> <!-. text-align: center . 'colspan="3"><?php echo $clase ?>&nbsp. ' colspan="3"><?php echo $codigo ?></td> </tr> <tr> <td style='width:20%. font-weight: bold. text-align: center .</td> <td style='width:20%.' class='cabecera'>Nombre</td> <td colspan="5" style='width:40%.</td> <td style='width:10%.'> Poner Falta </td> <td style='width:10%. font-weight: bold.) 242 .</td> <td style='width:20%. text-align: left .'>Fecha</span> <span style='width:5%. text-align: center . text-align: center .' class='cabecera'>Primer Apellido</td> <td style='width:20%. text-align: right .'>Poner Falta< /span> <span style='width:25%. text-align: center .'colspan="8"> Alumno</td> </tr> <tr> <!--<td style='width:3%. ' >&nbsp. text-align: center . foreach ($alumnos as $actual) { if (strlen($actual["login"]) > 0) { $resto = $i % 2.' class='cabecera'>Nombre Asignatura </td> <td style='width:20%. font-weight: bold.T. font-weight: bold.' class='cabecera'>Curso</td> <td style='width:20%. text-align: right .V. text-align: center .</td> </tr> <tr> <td style='width:20%. '>Sel</td> --> <td style='width:20%. '><?php echo $curso ?></td> <td style='width:20%. text-align: right .</td> <td style='width:20%. text-align: right . font-weight: bold. de Informática Aplicada (U. font-weight: bold.'>Sel</span> <span style='width:20%. text-align: center . text-align: center . font-weight: bold. font-weight: bold.' colspan="3" class='cabecera'>C&oacute. font-weight: bold. 'colspan="3" class='cabecera'>Clase</td> <td style='width:20%. ' >&nbsp. text-align: center .P. font-weight: bold.'>Jus. ' class='cabecera'> <span style='width:5%.</td> </tr> <tr> <td style=' text-align: center . font-weight: bold.

"'). "_3' action='poner_faltas. "'/> <input type='hidden' name='asignatura' value=''/> \n </td>\n". echo"</form>\n". $actual["login"] .V. //echo" <td><div align=\"center\"> " . text-align: center . tohtml($actual["nombre"]). '> <form method='get' name='alumno_" . text-align: center .'><input type=\"checkbox\" name=\"checkbox\" ". tohtml($actual["login"]). text-align: left . text-align: center .tohtml( $actual["login"]). echo" <td style='width:10%. tohtml($actual["apellido2"]) .\"/> < /form></td>\n".'>< input type='button' name='Submit' value='Quitar Falta' onclick='javascript:quitar_falta(\"" . " </div></td>\n". text-align: center .php'>\n <input type=\"checkbox\" name=\"seleccionado\" />\n <input type=\"checkbox\" name=\"checkbox\" ".P. "\"). $actual["login"] . */ echo" <td colspan=\"5\" style='width:40%.\"/> </td>\n". tohtml($actual["apellido1"]) . $actual["login"] . " </td>\n". text-align: center . echo" <td style='width:20%. $actual["login"] . " </td>\n". } echo" <input type='button' name='Submit' value='Poner Falta' onclick='javascript: enviar_alumno_faltas(\"" . $actual["login"] . "' action='poner_faltas.'> " .'> <form method='get' name='alumno_" .'>< form method='get' name='alumno_" . "' action='poner_faltas. "_1' action='poner_faltas. } else { echo " onchange=\"javascript:cambio('" . text-align: center .'/>\n</td>\n". $actual["login"] . if ($actual["justificada"] != 0 ) { echo "checked=\"checked\" E.php'>\n".'> <form method='get' name='alumno_" ." '/></span> <span style='width:20%. if ($actual["justificada"] != 0 ) { echo "checked=\"checked\" onchange=\"javascript:cambio('" . '/>\n <input type='hidden' name='cambiado' value='false'/> <input type='hidden' name='borrar' value='false'/> <input type='hidden' name='login' value='" . tohtml($actual["login"]).php'>\n </form></td>\n". "_2' action='poner_faltas.'>< form method='get' name='alumno_" . text-align: center . tohtml( $actual["nombre"]). echo" <td style='width:5%. echo" <td style='width:20%. /*echo" <td style='width:10%.'> " . "'). text-align: center . " </td>\n".T. echo" <td style='width:10%. "\"). $actual["login"] .php'> <span style='width:20%.'><input type=\"checkbox\" name=\"seleccionado\" /></span> <span style='width:20%.'><input type='text' name='fecha' size='6' value='".Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 Proyecto Final de Carrera //echo" <td style='width:3%.php'>\n // </form></td> ". text-align: center .) 243 . text-align: center . $actual["fecha"]. echo" <td style='width:20%. de Informática Aplicada (U.S.'> " .

307 \"/></span>\n". 314 } 315 echo" <span style='width:20%. 351 php'> 352 <input type='hidden' name='datos' value=''/> 353 <input type='hidden' name='asignatura' value='' /> 354 <input type='hidden' name='fecha' value=''/><br/> 355 <div align="center">Poner falta a todos los alumnos 356 seleccionados<br/><input type="button" name='Submit' 357 value='Poner Falta a Todos' onclick='javascript: 358 enviar_todos_faltas(). "').'><input type='button' 322 name='Submit' value='Quitar Falta' 323 onclick='javascript:quitar_falta( 324 \"" .'/>< 325 /span> 326 <input type='hidden' 327 name='cambiado' value='false'/> 328 <input type='hidden' name='borrar' 329 value='false'/> 330 <input type='hidden' name='login' 331 value='" . 371 ?> 372 </td> 373 </tr> 374 </table> 375 </body> 376 </html> E. "\"). text-align: 316 center . 308 } 309 else 310 { 311 echo " onchange=\"javascript: 312 cambio('" .P.'><input type='button' name='Submit' 317 value='Poner Falta' onclick='javascript: 318 enviar_alumno_faltas(\"" .</td> 363 </tr> 364 <tr> 365 <td><?php 366 bienvenida(). $actual["login"] .Vicente Sancho Guijarro Proyecto Final de Carrera 305 onchange=\"javascript:cambio('" 306 . tohtml($actual["login"]). 339 } 340 341 } 342 } 343 else 344 { 345 346 } 347 ?> 348 <!-.tohtml($actual["login"]). de Informática Aplicada (U.<input type='hidden' name='fecha' value=''/> --> 349 </table> 350 <form method='get' name='general' action='/webcole/poner_faltas. $actual["login"] . 337 echo"</tr>\n".V. "\"). 338 $i++. 336 echo" </td>".\"/></span>\n".T. 332 "'/> 333 <input type='hidden' 334 name='asignatura' value=''/>\n 335 </form>".) 244 . text-align: 321 center .'/><br/></div> 359 360 </form> 361 </td> 362 <td class="general">&nbsp. "'). 367 ?></td> 368 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 369 <?php 370 rellenar_eventos_curso().tohtml($actual[ 313 "login"]).S. 319 '/></span> 320 <span style='width:20%.

". $codasig.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.T. } if (isset($codasig) && isset($fecha) && isset($login)) { if (strcmp($borrar. } } else E. $_REQUEST["fecha"].) 245 . $codasig. $fecha). if (!isset($_REQUEST["checkbox"])) { $just = 0. $_REQUEST["login"]. foreach ($alu_faltas as $actual) { if(strlen($actual) > 1) { $logfalta = explode(". $just). $fecha. } else { $just = 1.P. de Informática Aplicada (U. $logfalta[1]). $aux = explode(":". $_REQUEST["fecha"]. //separamos los alumnos ( unos de otros $alu_faltas = explode( "|" . $_REQUEST["borrar"]. } } } } else { $codasig $fecha $login $just = = = = $_REQUEST["asignatura"]. $logfalta[0]). $codasig. $aux = explode(":". } //echo "Login vale: $login. $datos). $just). $_REQUEST["checkbox"]. if (strcmp($borrar.php". if (strcmp($aux[1]. $login = $aux[1]. $fecha. $actual). "true")==0) { quitar_falta($login. } else { poner_falta($login. "true")==0) { quitar_falta($login. if (isset($codasig) && isset($fecha) && isset($datos) ) { //echo "datos vale: $datos<br>\n". } else { $just = 1. $codasig $fecha $datos $borrar = = = = $_REQUEST["asignatura"].V.Vicente Sancho Guijarro Proyecto Final de Carrera poner_faltas.S. } else { poner_falta($login. "false") == 0) { $just = 0. Nota vale: $nota<br>\n". $fecha). $codasig. $_REQUEST["datos"].

charset=iso-8859-1" /> <META HTTP-EQUIV="Refresh" CONTENT="0.php"> aqu&iacute.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".w3. font-size:18px'> Poner faltas </p> Para volver a la pantalla de poner faltas de asistencia pulsa <a href="Profesor_faltas.V.0 Strict//EN" "http://www. de Informática Aplicada (U.dtd"> <html xmlns="http://www.?>"> <title>CP Emilio Lluch</title> <link href="css/general./js/fecha.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. echo "header<br>\n". font-weight: bold.js"> </script> <link href="css/principal.?>&fecha=<? echo $fecha. Proyecto Final de Carrera ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.P. } } //header("Location: Profesor_notas. org/TR/xhtml1/DTD/xhtml1-strict.css" rel="stylesheet" type="text/css" /> </head> <body> <p style='text-align: center .) 246 .php?codasig=<? echo $codasig.S.w3.T.php").php"). </a> </body></html> E.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 { header("Location: Profesor_faltas.URL=Profesor_faltas.

org/TR/xhtml1/DTD/xhtml1-transitional. de Informática Aplicada (U.php".php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.php">Tabl&oacute.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.</td> </tr> <tr> <td class="fecha">&nbsp. font-weight: bold.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime()."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.w3.' class='cabecera'>Fecha< /td>\n"." class="logo">&nbsp.' class='cabecera'> Instalaci&oacute.' class='cabecera'> Proposito</td>\n".P.' class='cabecera'>Normas< /td>\n".' class='cabecera'>&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. if ($ins == null) { echo "<tr><td><b>No hay instalaciones reservadas</b></td>< /tr>\n".0 Transitional//EN" "http://www. echo " <td style='width: 140px. font-size:18px'> Instalaciones </p> <table border="1"> <?php $ins = listado_reservas_instalaciones().php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".js"> </script> <link href="css/principal.dtd"> <html xmlns="http://www.n</td>\n".Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_instalaciones./js/fecha. echo " <td style='width: 425px. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. } else { echo "<tr>\n".T.< /td>\n".S.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.</td> <td colspan="2" class="titulo">&nbsp. echo " <td style='width: 80px.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc. w3.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas. echo " <td style='width: 100px. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.V. E. echo " <td style='width: 90px.) 247 .

"</td>". "</td>". "</td>". 120 } 121 */ 122 ?> 123 124 </td> 125 <td class="general">&nbsp. de Informática Aplicada (U. 96 urlencode($actual["fecha"]) . 97 echo " <input name='item' type='hidden' value='" . 130 ?></td> 131 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 132 <?php 133 rellenar_eventos_curso(). 103 } 104 } 105 ?> 106 107 </table> 108 <br/> 109 110 <a href="/webcole/Profesor_reservar_instalacion. $resto . 94 echo " </div> ". 91 echo " <div style='text-align: center. 82 echo "<td>" . 101 echo "</tr>\n". 99 echo " </form> ". "<br>". 88 echo " <form method='get' 89 action='/webcole/Profesor_anular_reserva. 134 ?> 135 </td> 136 </tr> 137 </table> 138 </body> 139 </html> E. 115 116 foreach ($ins as $actual) 117 { 118 echo "Instalacion: " . $actual["instalacion"] . 75 $i = 0. 84 echo "<td>" . 92 echo " <button value='" . "<br>".Vicente Sancho Guijarro Proyecto Final de Carrera 74 echo "</tr>\n". $fecha[0] .) 248 .</td> 126 </tr> 127 <tr> 128 <td><?php 129 bienvenida(). 79 $fecha = $fecha = split(" ". 83 echo "<td>" .n</a> 112 <?php 113 /* 114 $ins = listado_instalacion(). 81 echo"<tr class='fila" . tohtml($actual["instalacion"]) . $actual["normas"] . tohtml($actual["proposito"]) .S. 102 $i++.$temp).'> ". 100 echo "</td>". 98 INST .php">Reservar 111 instalaci&oacute. $actual["normas"] . "'>\n". "'/> ". 95 echo " <input name='fecha' type='hidden' value='" . "'/> ". 119 echo "Normas: " .V.T. $actual["idinst"] . 87 echo "<td>". "'>Normativa< 86 /a></td>". 93 "' name='iditem'>Anular</button> ".php' 90 name='anular'> ".P. 80 $resto = $i % 2. 76 foreach ($ins as $actual) 77 { 78 $temp = convertir_fecha($actual["fecha"]). 85 echo "<td><a href='" .

n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center . w3. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.js"> </script> <link href="css/principal."><span style="font-weight: bold.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().n</span></td> <td style="width: 400px.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". text-align: left.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.) 249 .T.php".</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. font-size:18px'> Reservar de Instalaciones </p> <form method="get" action="/webcole/Profesor_reserva.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.</td> <td colspan="2" class="titulo">&nbsp.php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" . ?> <table style="text-align: left.w3.P. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. "' />".V."> <option value='-1'>Selecciona una instalaci&oacute.css" rel="stylesheet" type="text/css" /> <link href="css/principal. ?>'). INST . ?> '. de Informática Aplicada (U.</td> </tr> <tr> <td class="fecha">&nbsp.dtd"> <html xmlns="http://www." class="logo">&nbsp. n</option> <?php E.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. text-align: right.org/TR/xhtml1/DTD/xhtml1-transitional."><select name="iditem" onchange="javascript:redirigir('<?php echo PROFE.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones. width: 700px."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon./js/fecha. '<?php echo strtolower(INST)."> Seleccionauna instalaci&oacute." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. height: 284px.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php">Tabl&oacute. text-align: right./js/reservas. font-weight: bold.S.0 Transitional//EN" "http://www.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reservar_instalacion.js"> </script> <script type="text/javascript" src=".

"'>" . INST). } if (!isset($mes)) { $mes = date("n". echo "<input type=\"hidden\" name='mes' value='$mes'/> \n".php"). "-" . $ins = listado_instalacion(). //if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ if ((!isset($_GET["nuevo_mes"])) || (!isset($_GET[ "nuevo_mes"])) || (!isset($_GET["nuevo_mes"]))) { //echo "http no definidos<br>\n".V. }else { //echo "http definidos<br>\n". "-" . "-" . text-align: right. $mes = date("n". $actual[ "idinstalacion"]. $actual[ "idinstalacion"]. $dia = $_GET["dia"]. $mes .T. "-" . $fecha=$ano . "</option>\n". $tiempo_actual).S. $tiempo_actual = time(). $tiempo_actual). $mes = $_GET["nuevo_mes"]. $tabla = fecha_reservas($iditem. $tiempo_actual). $fecha=$ano . $dia.) 250 . $dia=date("d"). //echo "id vale: $iditem\n". de Informática Aplicada (U."><span style="font-weight: bold. ">Selecciona una fecha< /span></td> <td style="width: 400px. if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable E. $ano = date("Y". $actual["instalacion"] . $dia. } } ?> </select></td> </tr> <tr> <td style="width: 200px.P. if (!isset($iditem)) $iditem = -1. $actual[ "instalacion"] . $mes . echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n".Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera //Comprobamos si llegamos aqui despues de elegir una instalacion $iditem = $_REQUEST["iditem"]. //echo "id vale: $iditem\n". foreach ($ins as $actual) { if ($actual["idinstalacion"] == $iditem) { echo "<option value='" . "</option>\n". $ano = $_GET["nuevo_ano"]. echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n"."><?php require_once ("calendario_ins. } if (!isset($ano)) { $ano = date("Y". $tiempo_actual). } else { echo "<option value='" . } if (!isset($dia)) { $dia=date("d"). "' selected='selected'>" . } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n".

"> 186 <div align="left"><input type='button' name='Submit' 187 value='Enviar' 188 onclick="javascript:enviar().S.</td> 185 <td style="width: 400px.P.T.ximo 1500 car&aacute. 154 } 155 else 156 { 157 mostrar_calendario($dia_c. 158 PROFE).cteres)</i></td> 177 <td style="width: 400px."><label>Motivo</label> 175 <br /> 176 <i>(m&aacute. text-align: right. 204 ?> 205 </td> 206 </tr> 207 </table> 208 </body> 209 </html> E.) 251 ." /></div> 189 </td> 190 </tr> 191 </tbody> 192 </table> 193 </form> 194 </td> 195 <td class="general">&nbsp. $tabla. 200 ?></td> 201 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 202 <?php 203 rellenar_eventos_curso(). text-align: right.text-align: right.</td> 196 </tr> 197 <tr> 198 <td><?php 199 bienvenida().$mes.">Fecha 168 seleccionada</td> 169 <td><input readonly="readonly" maxlength="15" 170 name="fecha" /></td> 171 </tr> 172 <tr> 173 <td style="width: 200px. PROFE).font-weight: 174 bold.}"></textarea> 181 </td> 182 </tr> 183 <tr> 184 <td style="width: 200px.value.reservar. 159 } 160 161 162 163 ?></td> 164 </tr> 165 166 <tr> 167 <td style="font-weight: bold.$mes. INST.$ano.motivo."><textarea cols="50" rows="2" 178 name="motivo" 179 onkeydown="if(document. 153 $variable_no_asignada.Vicente Sancho Guijarro Proyecto Final de Carrera 151 //no esta inicializada 152 mostrar_calendario($dia_c. INST.$ano. de Informática Aplicada (U.length> 180 = longitud()){return false.V.">&nbsp.

o no v&aacute. 28 } 29 30 if (!isset($mes) || $mes < 1 || $mes > 12 ) 31 { 32 $error .= "Tipo desconocido: $item : <br>\n".= "Motivo insuficiente<br>\n".= "Mes no v&aacute. 50 $item2 = EQUIP.= "A&ntilde. 71 $error = "Se produjo un error inesperado en la reserva 72 de la instalaci&oacute. 18 $min = 00.= "Instalacion no v&aacute. 66 $hora.$anyo.T. 8 $anyo = $_REQUEST["anyo"].$seg.S. 33 } 34 //solo reservas en este año 35 if ( !isset($anyo) || $anyo != $ano_hoy ) 36 { 37 $error . 0. 20 21 $error = "". 9 $iditem = $_REQUEST["iditem"]. 38 } 39 40 if (!isset($iditem) || $iditem ==-1 ) 41 { 42 $error .Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reserva. de Informática Aplicada (U. 65 $res = reservar_instalacion($login.V.="inst vale: " . 22 $ano_hoy=date("Y").lida<br>\n".php 1 <?php 2 require_once "profesor_inc. 67 68 if (!$res) 69 { 70 $es_valido = false. 13 14 15 //por si en futuro al reservar se tiene en cuenta la hora(de 16 inicio) 17 $hora = 00.) 252 .$mes. "<br>\n". $item).lido<br>\n". 19 $seg = 00. 3 ?> 4 <?php 5 //obtener datos enviados por el formulario 6 $dia = $_REQUEST["dia"].$item1) != 0 || strcmp( 52 $item.lido<br>\n". 10 $motivo = substr($_REQUEST["motivo"]. MAX_LENGTH_MOTIVO-1). 11 $item = $_REQUEST["item"]. INST . 12 $login = $_SESSION["id"].a no v&aacute.$item2) != 0 )) 53 { 54 $error . 56 } 57 58 if (strlen($error) > 1) 59 { 60 $es_valido = false.lido<br>\n". 61 } 62 else 63 { 64 $es_valido = true.$iditem.P. 7 $mes = $_REQUEST["mes"].php".$dia. 73 } E. 43 } 44 45 if (!isset($motivo) || strlen($motivo) < 5 ) 46 { 47 $error . 23 24 //¿Estan definadas las variables? 25 if (!isset($dia) || $dia < 0 || $dia > 31) 26 { 27 $error = "D&iacute.$min. 51 if (!isset($item) && (strcmp($item.n<br>\n". 55 $error . 48 } 49 $item1 = INST.$motivo.

php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.php". INST)==0) { $url_reserva = "/webcole/Profesor_reservar_instalacion.php".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.V. echo "<br>\n".</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. } ?> <title>CP Emilio Lluch</title> <link href="css/general." class="logo">&nbsp.php">Equipamientos</a>< /li> <li><a href="/webcole/Profesor_tablon.dtd"> <html xmlns="http://www.P./js/fecha. redirigir().php">Instalaciones </a> </li> <li><a href="/webcole/Profesor_equipaciones. org/TR/xhtml1/DTD/xhtml1-strict.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 } Proyecto Final de Carrera ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. INST)==0) { $url = "/webcole/Profesor_instalaciones.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. } else { $url_reserva = "/webcole/Profesor_reservar_equipacion.js"> </script> <link href="css/principal. charset=iso-8859-1" /> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if (strcmp($item. } else { $url = "/webcole/Profesor_equipaciones. de Informática Aplicada (U.S.) 253 .T.n de anuncios </a></li> </ul> </td> <td class="general"> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if (strcmp($item.</td> </tr> <tr> <td class="fecha">&nbsp. } if ( $es_valido ) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Faltas asistencia </a>< /li> <li><a href="/webcole/Profesor_instalaciones.</td> <td colspan="2" class="titulo">&nbsp.php".URL=$url\">\n".css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".0 Strict//EN" "http://www.w3. E.w3. } echo "Se han producido los siguientes errores: <br> $error<br> \n".php">Tabl&oacute.php">Profesores</a></li> <li><a href="/webcole/Profesor_notas.php"."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.

P.V. 169 ?> 170 </td> 171 </tr> 172 </table> 173 </body> 174 </html> E. tohtml("aquí"). font-weight: bold. de Informática Aplicada (U. "</a> 152 para volver al formulario de reserva<br>\n".Vicente Sancho Guijarro Proyecto Final de Carrera 151 echo "Pulsa <a href='$url_reserva'>".) 254 .T. font-size:18px'> 158 Reservas 159 </p> 160 </td> 161 </tr> 162 <tr> 163 <td><?php 164 bienvenida(). 165 ?></td> 166 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 167 <?php 168 rellenar_eventos_curso(). 153 154 ?> 155 </td> 156 <td class="general"> 157 <p style='text-align: center .S.

charset=iso-8859-1" /> <?php if ($es_valido) echo "<meta http-equiv=\"refresh\" content=\"5.dtd"> <html xmlns="http://www. $es_valido = false. INST) == 0 ) { $url = "/webcole/Profesor_instalaciones.lido<br> \n". } } else { $error = "Han ocurrido errores en los par&aacute.URL=$url\" />\n". $login = $_SESSION["id"]. No v&aacute. } else { $url = "/webcole/Profesor_equipaciones.n.php". $item). $iditem = $_REQUEST["iditem"].php").metros de anulaci&oacute. $fecha.php".php".css" rel="stylesheet" type="text/css" /> E.T.V. $item = $_REQUEST["item"]. if ($resultado) { //echo "Reserva correctamente anulada<br>\n".="Error en el codigo de instalaci&oacute. $es_valido = true. $es_valido = false. if ( !isset($fecha)) { $error .) 255 .php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.lida<br>\n".n de la reserva <br>\n".0 Strict//EN" "http://www. $es_valido = false. No v&aacute.="Error en la Fecha. // $fecha = urldecode($_REQUEST["fecha"]). $error = "". if ( !isset($login)) { header("Location: /webcole/prohibido.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. $error. //echo $error. } if (strcmp($item. } //ya estara en el formato de mysql. //si no es correcto sencillamente no se borrara el registro. de Informática Aplicada (U. } if ($es_valido) { $resultado = anular_reserva($login. $iditem.P.n<br>\n" .S.w3.w3. } else { $error = "Han ocurrido problemas durante la anulaci&oacute. } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. org/TR/xhtml1/DTD/xhtml1-strict. $es_valido = false.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_anular_reserva. } if ( !isset($iditem) || $iditem < 1 ) { $error . ?> <title>CP Emilio Lluch</title> <link href="css/general. $es_valido = false.

echo "Errores: $error<br/>\n". } ?> </td> <td class="general">&nbsp.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.S.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. de Informática Aplicada (U.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. font-size:18px'> Anular reservas </p> <?php if ($es_valido) { echo "Reserva anulada correctamente<br/>\n". echo "<a href=\"$url\"> aqu&iacute.s a la p&aacute."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.T.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas. echo "<p>En 5 segundos ser&aacute.P. ?> </td> </tr> </table> </body> </html> E.</td> </tr> <tr> <td><?php bienvenida().) 256 .gina de reservas</p>\n". } else { echo "Han ocurrido problemas durante la anulaci&oacute.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.gina de instalaciones.n de la reserva".php">Tabl&oacute.</td> <td colspan="2" class="titulo">&nbsp.V.</a></p>\n".js"> </script> <link href="css/principal." class="logo">&nbsp.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 Proyecto Final de Carrera <script type="text/javascript" src=". ?></td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso()./js/fecha.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). echo "<p>Pulsa <a href=\"$url\"> aqu&iacute. font-weight: bold.</td> </tr> <tr> <td class="fecha">&nbsp.</a> para regresar a la p&aacute.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center . Si no pulsa".php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.

) 257 .Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_equipaciones. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.T. echo " <td style='width: 90px.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones." class="logo">&nbsp.P. echo " <td style='width: 140px.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .0 Transitional//EN" "http://www.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. E.< /td>\n".' class='cabecera'> Prop&oacute.</td> </tr> <tr> <td class="fecha">&nbsp.w3.' class='cabecera'> Equipamiento</td>\n".</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. echo " <td style='width: 100px.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.S.dtd"> <html xmlns="http://www./js/fecha. if ($ins == null) { echo "<tr><td><b>No hay equipamientos reservados</b></td>< /tr>\n". echo " <td style='width: 425px. font-weight: bold. echo " <td style='width: 80px.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. w3.php".org/TR/xhtml1/DTD/xhtml1-transitional. de Informática Aplicada (U. } else { echo "<tr>\n".php">Tabl&oacute.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.sito</td>\n".' class='cabecera'>Fecha< /td>\n"."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. echo "</tr>\n".</td> <td colspan="2" class="titulo">&nbsp.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones. font-size:18px'> Equipaciones Reservadas </p> <table border="1"> <?php $ins = listado_reservas_equipaciones().' class='cabecera'>&nbsp.js"> </script> <link href="css/principal.' class='cabecera'>Normas< /td>\n".V. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.

n</a> 114 <?php 115 /* 116 $ins = listado_instalacion(). 75 foreach ($ins as $actual) 76 { 77 $temp = convertir_fecha($actual["fecha"]). "' name='iditem'>Anular</button> \n". 105 } 106 } 107 ?> 108 109 </table> 110 <br/> 111 112 <a href="/webcole/Profesor_reservar_equipacion. 87 echo " <td><a href='" . "</td> 83 \n".php' 92 name='anular'> \n". "</td>\n".Vicente Sancho Guijarro Proyecto Final de Carrera 74 $i = 0.php">Reservar 113 equipaci&oacute. "<br>". EQUIP . 94 echo " <button value='" . 96 echo " </div> \n". $actual["normas"] . 78 $fecha = $fecha = split(" ". 132 ?></td> 133 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 134 <?php 135 rellenar_eventos_curso(). $resto . 101 echo " </form> \n". 136 ?> 137 </td> 138 </tr> 139 </table> 140 </body> 141 </html> E.$temp). "'>\n".) 258 . 117 118 foreach ($ins as $actual) 119 { 120 echo "Instalacion: " .S. "'/> \n". tohtml($actual["proposito"]) . 102 echo " </td>\n". 104 $i++. 90 echo " <form method='get' 91 action='/webcole/Profesor_anular_reserva. 103 echo "</tr>\n". tohtml($actual["equipacion"]) . 84 echo " <td>" . 99 echo " <input name='item' type='hidden' 100 value='" . 89 echo " <td>\n". de Informática Aplicada (U. 81 echo"<tr class='fila" . 82 echo " <td>" . urlencode($actual["fecha"]) .'> \n".P.V. 97 echo " <input name='fecha' type='hidden' 98 value='" . 121 echo "Normas: " . 122 } 123 */ 124 ?> 125 126 </td> 127 <td class="general">&nbsp. $fecha[0] . "'/> \n". 79 80 $resto = $i % 2. 85 echo " <td>" .</td> 128 </tr> 129 <tr> 130 <td><?php 131 bienvenida(). 93 echo " <div style='text-align: center. $actual["instalacion"] . $actual[ 95 "idequipacion"] .T. "'> 88 Normativa</a></td>\n". "<br>". $actual["normas"] . "</td> 86 \n".

</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.0 Transitional//EN" "http://www. w3.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.T.</td> </tr> <tr> <td class="fecha">&nbsp. font-weight: bold.dtd"> <html xmlns="http://www."><select name="iditem" onchange="javascript:redirigir('<?php echo PROFE."> <option value='-1'>Selecciona una equipaci&oacute.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".S.js"> </script> <script type="text/javascript" src=".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.n< /option> <?php E.org/TR/xhtml1/DTD/xhtml1-transitional. width: 700px.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reservar_equipacion. text-align: right./js/reservas.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. text-align: left.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.</td> <td colspan="2" class="titulo">&nbsp. "' />\n". height: 284px.P."> Seleccionauna instalaci&oacute. ?>'.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> <link href="css/calendario."><span style="font-weight: bold./js/fecha. ?> <table style="text-align: left.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.php". text-align: right."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.) 259 . font-size:18px'> Reservas de equipaciones </p> <form method="get" action="/webcole/Profesor_reserva. de Informática Aplicada (U. '<?php echo strtolower(EQUIP).V." class="logo">&nbsp.w3. ?>'). ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.n</span></td> <td style="width: 400px. EQUIP .php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" .php">Tabl&oacute.

P. $actual[ "idequipacion"]. } else { echo "<option value='" . $mes . $actual[ "equipacion"] . $tiempo_actual). $actual[ "idequipacion"].php").V. $mes = $_GET["nuevo_mes"]. } if (!isset($dia)) { $dia=date("d"). }else { //echo "http definidos<br>\n". $fecha=$ano . $dia=date("d").S. "-" . "</option>\n". $mes = date("n". $ano = date("Y". "-" . //echo "id vale: $iditem\n". $ins = listado_equipacion(). "-" . //echo "id vale: $iditem\n". ">Selecciona una fecha< /span></td> <td style="width: 400px. } if (!isset($ano)) { $ano = date("Y".T. EQUIP). echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n". $tabla = fecha_reservas($iditem.) 260 . if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable E. } if (!isset($mes)) { $mes = date("n". $dia. echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". $ano = $_GET["nuevo_ano"]. foreach ($ins as $actual) { if ($actual["idequipacion"] == $iditem) { echo "<option value='" . $tiempo_actual = time(). "' selected='selected'>" . $dia = $_GET["dia"]. } } ?> </select></td> </tr> <tr> <td style="width: 200px. "-" ."><?php require_once ("calendario_ins.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera //Comprobamos si llegamos aqui despues de elegir una instalacion $iditem = $_REQUEST["iditem"]. "'>" . $tiempo_actual). $tiempo_actual). de Informática Aplicada (U. echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". text-align: right. $mes ."><span style="font-weight: bold. if (!isset($iditem)) $iditem = -1. } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n". $fecha=$ano . //if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ if ((!isset($_GET["nuevo_mes"])) || (!isset($_GET[ "nuevo_mes"])) || (!isset($_GET["nuevo_mes"]))) { //echo "http no definidos<br>\n". "</option>\n". $actual["equipacion"] . $tiempo_actual). $dia.

}"></textarea> 181 </td> 182 </tr> 183 <tr> 184 <td style="width: 200px. 153 $variable_no_asignada.V." /></div> 189 </td> 190 </tr> 191 </tbody> 192 </table> 193 </form> 194 </td> 195 <td class="general">&nbsp.">Fecha 168 seleccionada</td> 169 <td><input readonly="readonly" maxlength="15" 170 name="fecha" /></td> 171 </tr> 172 <tr> 173 <td style="width: 200px. $tabla.$ano.reservar.P."> 186 <div align="left"><input type='button' name='Submit' 187 value='Enviar' 188 onclick="javascript:enviar().font-weight: 174 bold. EQUIP.$mes.T."><textarea cols="50" rows="2" 178 name="motivo" 179 onkeydown="if(document. 200 ?></td> 201 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 202 <?php 203 rellenar_eventos_curso(). de Informática Aplicada (U."><label>Motivo</label> 175 <br /> 176 <i>(m&aacute. 158 PROFE).value.</td> 185 <td style="width: 400px.</td> 196 </tr> 197 <tr> 198 <td><?php 199 bienvenida(). 204 ?> 205 </td> 206 </tr> 207 </table> 208 </body> 209 </html> E. text-align: right. PROFE). 159 } 160 161 162 163 ?></td> 164 </tr> 165 166 <tr> 167 <td style="font-weight: bold.text-align: right.">&nbsp.) 261 . 154 } 155 else 156 { 157 mostrar_calendario($dia_c.Vicente Sancho Guijarro Proyecto Final de Carrera 151 //no esta inicializada 152 mostrar_calendario($dia_c.$mes. EQUIP. text-align: right.motivo.length> 180 = longitud()){return false.$ano.racteres)</i></td> 177 <td style="width: 400px.S.ximo 1500 c&aacute.

</td> </tr> <tr> <td class="fecha">&nbsp.$conn).php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.$row["login"]. $anuncios_mostrados = 0.</div></td> </tr> <tr> <td rowspan="5" class="menu"> <ul> <li><a href="/webcole/intranetProfe.</p></td> <td rowspan="5" class="general">&nbsp. echo "<td class='general'><p class='anuncioTitulo'>". ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.w3.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().tohtml($row["titulo"] ). $anuncios = consulta($sql.php")." <br/>"."'".tohtml( $usuario["apellido1"]). $conn = Conectar(). echo "<tr>". $usuario = consulta($sql.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().w3."</span> </td>".V./js/fecha.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".js"> </script> <link href="css/principal. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC".n de anuncios </h1> <p>&nbsp.</td> </tr> <?php include("bd. E.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.dtd"> <html xmlns="http://www.) 262 .Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_tablon.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.T.php">Profesores</a></li> <li><a href="/webcole/Profesor_notas. $sql = "SELECT * FROM usuario WHERE login = '". $anuncios_mostrados++." ". while($row = siguiente($anuncios)) { if($anuncios_mostrados >= $anuncios_amostrar) break. org/TR/xhtml1/DTD/xhtml1-strict. $anuncios_amostrar = 10.n de anuncios </a></li> </ul> </td> <td colspan="2" class="general"><h1>Tabl&oacute.</td> <td colspan="3" class="titulo">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp.php"). $conn).php">Alumnos</a></li> <li><a href="/webcole/profesores.$row[ "fecha"].". if($_SESSION["tipo"] != "Profesor") header("Location: prohibido.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. echo "<span class='anuncioNombre'>".tohtml($usuario["nombre"]). if($anuncios_mostrados>=3) echo "<td></td>".P.php">Tabl&oacute. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> <td colspan="3" class="fecha"><div id="campoHora">&nbsp. de Informática Aplicada (U.S.0 Strict//EN" "http://www. $usuario = siguiente($usuario).php">Notas</a></li> <li><a href="/webcole/Profesor_faltas."</span> <span class='anuncioFecha'>.

T. 78 echo "<td class='general'><p class='anuncio'><span class='anuncioTexto'> 79 ". de Informática Aplicada (U. </p></td> 111 <td class="general"></td> 112 </tr> 113 <tr> 114 <td><?php 115 bienvenida().S. 120 ?> 121 </td> 122 </tr> 123 </table> 124 </body> 125 </html> E. 83 //echo "<td colspan='2' class='general'>&nbsp.php"> 92 <label> 93 T&iacute.</td>". 80 echo "<td class='general'>&nbsp.tohtml($row["texto"]).V.</td>".Vicente Sancho Guijarro Proyecto Final de Carrera 74 echo "<td class='general'>&nbsp.) 263 . 116 ?></td> 117 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 118 <?php 119 rellenar_eventos_curso(). 75 echo "</tr>". 81 echo "</tr>". 84 //echo "</tr>".</td>"."</span></td>". 85 } 86 ?> 87 88 <tr> 89 <td></td> 90 <td colspan="2" class="general"><h3>Insertar nuevo anuncio</h3> 91 <form id="form1" method="post" action="Profesor_tablon_insertar. 82 //echo "<tr>".tulo 94 <br /> 95 <input type="text" name="titulo" /> 96 </label> 97 <p> 98 Texto 99 <br /> 100 <label> 101 <textarea name="texto" cols="60" rows="3"></textarea> 102 </label> 103 </p> 104 105 <p> 106 <label> 107 <input type="submit" name="Submit" value="Insertar" /> 108 </label> 109 </p> 110 </form> <p>&nbsp.P. 76 77 echo "<tr>".

$conn).S.."'.T. '".V.P. if($num = siguiente($num)) $idanun= $num["idanuncio"] + 1."'.$conn).php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <?php session_start(). `login` .URL=Profesor_tablon.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_tablon_insertar. `texto` ) VALUES ('".$texto.$idanun. '". include("bd..$fecha. $sql = "INSERT INTO `anuncio` ( `idanuncio` . $fecha = date("Y-m-d H:i:s").php"> </head> Insertando.$_SESSION["id"]. `fecha` . $num = consulta($sql.) 264 . $conn = Conectar()."error: " .php")."'.$_SESSION["id"]. $insert = consulta($sql. mysql_error($conn). if($_SESSION["tipo"] != "Profesor") header("Location: prohibido. `titulo` . $titulo. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC"."')". ?> <head> <meta http-equiv="refresh" content="15. $titulo = $_POST["titulo"]. $texto = $_POST["texto"]. '". Desconectar($conn). E. else $idanun = 1. de Informática Aplicada (U.php")."'. //echo "id". '".

font-size : 8pt.helvetica. color: #ffffff.arial. background-color: #666666. background-color: #000066. text-align: center. background-color: #CCFFFF. font-size : 8pt. color: #FFFFFF. font-size : 8pt.arial.S. background-color: #FFCCCC. } . } . font-size : 10pt. font-size : 10pt. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera H.helvetica.laborable { E. } .curso { font-family : verdana.T.arial. font-weight: bold. color: #FFFFFF. color: #ffffff.da { font-family : verdana. font-weight: bold. text-align: center.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 TD { font-family : verdana. background-color: #F0E68C. background-color: #333333. font-size : 10pt.arial.arial. font-weight: bold. Código CSS Calendario.helvetica.tit { font-family : verdana. } . color: #FFFFFF. } .helvetica.) 265 .arial. text-align: center.helvetica.arial.nd { font-family : verdana. } .helvetica. } .arial.V. font-weight: bold. font-weight: bold. } TEXTAREA { font-family : verdana.helvetica.helvetica.altn { font-family : verdana.P.arial. } INPUT { font-family : verdana.helvetica. color: #FFFFFF.fs { font-family : verdana.helvetica. } SELECT { font-family : verdana.arial. text-align: center.

V. de Informática Aplicada (U. text-align: center. E.arial.S.) 266 .Vicente Sancho Guijarro 66 67 68 69 70 71 72 } Proyecto Final de Carrera font-family : verdana. background-color: #CCFF99.P. font-weight: bold.helvetica. color: #FFFFFF.T.

Arial. width: 140px. background-position: center center. Helvetica. color: #FF66CC. E. Arial. } ./img/titulo. width: 130px. font-size: 14px. border-bottom-style: none./img/LogoPeq. } ul li:hover { background-color: #CCFFCC. sans-serif. Helvetica. font-weight: bold. margin-left: -40px.titulo { background-color: #99CC33. background-color: #FFFF99. width: 100%../img/calendario.V.jpg).menu { vertical-align: top. background-position: center center.imagenCalendario { background-color: #99CC66.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 . background-position: center.T. } body { background-color: #999933. height: 24px. border-top-style: none.png). height: 150px. padding-top: 8px. } . padding-left: 15px. de Informática Aplicada (U. Helvetica.logo { background-color: #99CC33. } . sans-serif. font-family: Arial. sans-serif. } ul li { border: medium ridge #CCFF66. Helvetica. vertical-align: middle. background-image: url(. sans-serif. text-align: right. font-size: 13px. sans-serif. text-align: left. } . border-left-style: none.general { background-color: #99CC66. Helvetica. border-right-style: none. background-repeat: no-repeat.fecha { font-family: Verdana. color: #003399. list-style-type: none. } . background-color: #99CC00.P. background-repeat: no-repeat. Arial.Vicente Sancho Guijarro Proyecto Final de Carrera general. } ul li a { font-family: Verdana. padding-left: 15px. background-image: url(. font-family: Arial..) 267 .jpg). text-align: center. color: #660033. background-repeat: no-repeat. background-image: url(. width: 150px. font-family: Verdana.. background-position: center center.S.

border-bottom-style: none. background-image: url(. background-image: url(. border-top-style: none..imagenLocalizacion { background-color: #99CC66. border-left-color: #FFFF66.gif). border-right-style: none. background-image: url(./img/plano_valencia. background-position: center center. background-repeat: no-repeat. padding-left: 15px. background-repeat: no-repeat. border-right-color: #FFFF66. border-bottom-color: #FFFF66.V. sans-serif. width: 300px. sans-serif. border-right-color: #FFFF66. border-left-color: #FFFF66. sans-serif.P. } .jpg). border-top-style: none.Vicente Sancho Guijarro 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 border-top-color: #FFFF66. border-left-color: #FFFF66. border-left-style: none.T. font-family: Arial.png). Helvetica. font-family: Arial. Helvetica. background-repeat: no-repeat. background-repeat: no-repeat. } .) 268 . border-top-color: #FFFF66. width: 320px. border-bottom-style: none.. sans-serif./img/reglas.imagenReglamento { background-color: #99CC66. border-right-color: #FFFF66. border-top-color: #FFFF66. Helvetica. border-left-style: none.imagenEmail { background-color: #99CC66. padding-left: 15px./img/arroba. width: 150px. padding-left: 15px. background-position: center center. Helvetica. font-family: Arial. border-right-style: none. padding-left: 15px. de Informática Aplicada (U. border-top-style: none. border-bottom-style: none.. border-top-color: #FFFF66. border-right-color: #FFFF66. border-bottom-style: none. font-family: Arial.. border-left-style: none. border-top-color: #FFFF66. background-position: center center. border-top-style: none. background-image: url(. E. border-bottom-color: #FFFF66. border-bottom-color: #FFFF66. border-left-color: #FFFF66. } .imagenEnlaces { Proyecto Final de Carrera background-color: #99CC66./img/email.jpg). width: 150px. border-bottom-color: #FFFF66. border-right-color: #FFFF66. } . border-right-style: none. border-bottom-color: #FFFF66. border-left-style: none. border-right-style: none.S. background-position: center center.

Proyecto Final de Carrera E.V.P.T.) 269 .Vicente Sancho Guijarro 149 150 } border-left-color: #FFFF66. de Informática Aplicada (U.S.

V.Vicente Sancho Guijarro Proyecto Final de Carrera principal.T.foto { background-color: #99CC66. background-repeat: no-repeat.) 270 . de Informática Aplicada (U. Arial. color: #CC0066. Helvetica.JPG).fechaNoticia { font-family: Geneva..P.noticias { background-color: #99CC33. font-size: 14px. sans-serif.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 . } . } E. } . border: medium dashed #FFFF99. width: 250px. background-image: url(./img/colegio. font-weight: bold. padding-left: 15px.S. background-position: center center.

color:#000000.P.Vicente Sancho Guijarro Proyecto Final de Carrera Professor.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 @CHARSET "ISO-8859-1". } . sans-serif. color:#000000. } E. . de Informática Aplicada (U. Helvetica.fila1 { background-color:#009900.cabecera { background-color:#000000.) 271 .T.fila0 { background-color: #99CC66. color:#FFFFFF.S. } . font:Arial.V.

} return this. "Jueves". if (year < 1000) { year += 1900. } function displayTime() { var hora = new Date(). "Domingo".P. cadena = displayDate() + " " + horas + ":" + minutos + ":" + segundos.length = n. var horas = hora.) 272 . this_month[0] = "Enero". this_month[6] = "Julio".T. this_month[1] = "Febrero". function makeArray(n){ this. this_month[10] = "Noviembre". this_month[11] = "Deciembre".js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 <!-var pong. if (segundos < 10) segundos = "0" + segundos. for (i=1.innerHTML = cadena.getElementById('campoHora'). var year = today.S.getYear(). var minutos = hora. var this_day_e this_day_e[0] this_day_e[1] this_day_e[2] this_day_e[3] this_day_e[4] this_day_e[5] this_day_e[6] = = = = = = = = new makeArray(7). this_month[3] = "Abril". tiempo = setTimeout("displayTime()".getHours().getSeconds(). var day = today. "Sábado".getDate(). } function horaActualizada() { tiempo = setTimeout("displayTime()".getMonth(). } // --> E.1000). } return( " " + this_day_e[dia] + ". "Miércoles". this_month[5] = "Junio". "Lunes".i++){ this[i]=0. this_month[2] = "Marzo". if (minutos < 10) minutos = "0" + minutos. this_month[7] = "Agosto". JavaScript fecha. var dia = today.getDay().1000). document. var month = today.V. "Viernes". this_month[4] = "Mayo".i<=n.getMinutes(). var today = new Date(). var segundos = hora.Vicente Sancho Guijarro Proyecto Final de Carrera I. "Martes". de Informática Aplicada (U. this_month[9] = "Octubre". this_month[8] = "Septiembre". " + day + " de " + this_month[month] + " " + year). } function displayDate() { var this_month = new makeArray(12).

value. scrollbars=no.eval("alumno_" + alumno). 38 asignatura. 7 //Se deben indicar los datos del formulario y campos que se desean 8 editar con el calendario.fecha.eval("alumno_" + alumno). 58 //alert("Hay " + lon + " formularios").value.fecha.forms. 31 var fecha = document.value = "true".open("calendario_faltas.eval("alumno_" + alumno).value.value. 40 } 41 42 function cambio(alumno) 43 { 44 var ha_cambiado = document.close() 12 } 13 ventanaCalendario = window. 4 mes_destino.cambiado.) 273 .value.asignatura.P.value.document == "object") 10 { 11 ventanaCalendario. 62 63 if ( fecha. 25 } 26 function enviar_alumno_faltas(alumno) 27 { 28 var ha_cambiado = document. 29 var fecha_general = document. 59 var mensaje = "".js 1 var ventanaCalendario=false 2 3 function muestraCalendario(raiz. 16 statusbar=NO. i++) 70 var i = 1 71 while ( i < lon -1 ) 72 { E. 61 var fecha = document. 32 var justificado = document.eval("alumno_" + alumno).fecha. 23 document.idasig.eval("alumno_" + alumno).asignatura.top=100.value. 33 checked.location.cambiado. 48 } 49 else 50 { 51 document.menubars=no.cambiado.eval("alumno_" + alumno).T.ano_destino) 5 { 6 //funcion para abrir una ventana con un calendario.value.cambiado.idasig.value. de Informática Aplicada (U.value = document. 22 var fecha = document. 37 document. 30 var idasig = document.height=200.location=NO") 17 } 18 19 function buscarasignaturafaltas() 20 { 21 var idasig = document."calendario".asignatura. left=100.value.value.length > 0 && asig > 0 ) 64 { 65 //empezamos en el 1 en vez del 0 porque hay un formulario que 66 no nos interesa al 67 //comienzo y acabamos uno antes porque el ultimo es el que 68 llama a esta funcion 69 //for(i = 0. 52 } 53 } 54 55 function enviar_todos_faltas() 56 { 57 var lon = document.V.idasig. 9 if (typeof ventanaCalendario. status=NO.php?formulario=" 14 + formulario_destino + "&nomcampo=" + campo_destino. los campos donde va la fecha.asignatura.Vicente Sancho Guijarro Proyecto Final de Carrera profesor. 39 document.length. 34 35 document.eval("alumno_" + alumno).asignatura.value = "false". es decir. 36 fecha.php?codasig=' + 24 idasig + "&fecha=" + fecha .checkbox. 60 var asig = document. i< 6.submit().value = document.idasig.campo_destino.formulario_destino.fecha.asignatura.asignatura.eval("alumno_" + alumno).fecha. 15 "width=225.eval("alumno_" + alumno). resizable=NO.S.href='/webcole/Profesor_faltas.asignatura. 45 if (ha_cambiado == "true") 46 { 47 document.

cambiado. var trimestre = document.value = document.asignatura. var fecha = document.value = document. } } else { alert("Debes seleccionar una asignatura y una fecha antes de enviar las faltas").forms[i].".value = "true".value + ".general.value.value. if ( nota_txt.datos. ". var idasig = document.length > 0 ) { var nota = parseFloat(nota_txt). alumno).general.eval("alumno_" + } alumno).T.S. } i++.eval("alumno_" + fecha.asignatura.value.checkbox.P.eval("alumno_" + document. } function cambiar_trimestre() { } function nueva_nota(login) { formulario = "alumno_" + login.forms[i]. alumno).submit().value = asig.nota.eval("alumno_" + alumno). document. try { nota_txt = nota_txt. document.idasig.checked + "|".fecha. alumno). msg += "just:" + document.seleccionado.) 274 . function buscarasignatura() { var idasig = document.V.trimestre.eval("alumno_" + alumno). checked."). mensaje += msg.value = fecha. document.value.submit().idasig.value.eval("alumno_" + asignatura.php?trimestre=' + trimestre + '&codasig=' + idasig .general.replace(".value. document.asignatura.idasig.fecha.location.checkbox.eval("alumno_" + login).asignatura.href='/webcole/Profesor_notas. } else { alert ("No has seleccionado a ningun alumno al que poner la falta").asignatura.length > 0) { document.general.fecha.value = mensaje.login. document.Vicente Sancho Guijarro 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 Proyecto Final de Carrera if (document. var justificado = document.checked == true) { var msg = "login:" + document. if (mensaje. if ( isNaN(nota) ) { E. ".asignatura.value. } } function quitar_falta(alumno) { var fecha_general = document.value.borrar. var ha_cambiado = document.forms[i].asignatura.value. de Informática Aplicada (U. } document. document.fecha.eval("alumno_" + login). var nota_txt = document.

value = "false".value = "false".".value = nota.eval("alumno_" + login).cambiado.) 275 .nota.asignatura.nota.eval("alumno_" + login). } else { alert("La nota debe estar comprendida entre 0 y 10").value. trimestre. ". document.eval("alumno_" + login). document.idasig.nota. nota_txt = nota_txt. document.message). de Informática Aplicada (U. if ( nota >= 0 && nota <= 10 ) { document.focus().cambiado. } } else { alert ("No has introducido ningun numero ").length > 0 ) { try { var nota = parseFloat(nota_txt). document.value = "true".value = nota.value = document.trim.eval("nota").T.eval("alumno_" + login).eval("alumno_" + login).asignatura.submit().asignatura.value = "true".cambiado. } document.eval("alumno_" + login). } } else { document.eval("alumno_" + login).value = "false".eval("alumno_" + login). } else { alert("La nota debe estar comprendida entre 0 y 10") .P.Vicente Sancho Guijarro 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 Proyecto Final de Carrera document.replace(". if ( ha_cambiado == "true" ) { if ( nota_txt.eval("alumno_" + login).eval("alumno_" + login).value .value. var nota_txt = document. document.eval("alumno_" + login). } } catch(e) { alert ("No has introducido un numero valido: " + e. document.eval("alumno_" + login).cambiado.value = nota.V.eval("alumno_" + login). } } else { E.nota.cambiado. var ha_cambiado = document.focus().eval("alumno_" + login). document. alert("El numero introducido no es correcto"). } function enviar_alumno(login) { formulario = "alumno_" + login.value = document.eval("nota"). } else if ( nota >= 0 && nota <= 10 ) { document.value. document. message).S. } } catch(e) { alert ("No has introducido un numero valido: " + e.cambiado.eval("alumno_" + login).").

trimestre. //empezamos en el 1 en vez del 0 porque hay un formulario que no nos interesa al //comienzo y acabamos uno antes porque el ultimo es el que llama a esta funcion //for(i = 0.forms[i].". ".trimestre.S. document.asignatura. } document. } } catch(e) { alert ("No has introducido un numero valido: " + e.length > 0 ) { try { nota_txt = nota_txt.datos.nota.Vicente Sancho Guijarro 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 Proyecto Final de Carrera alert ("no se envia porque no ha cambiado su situacion"). document.general. } } } catch(e) { alert("Error: " + e.value = document.value = document.forms[i]. if ( nota_txt. var mensaje = "".login.cambiado.nota.asignatura. } function enviar_todos() { var lon = document. } } else { //alert ("No has introducido ningun numero "). } document. document.forms[i]. if ( ha_cambiado == "true" ) { var nota_txt = document. } function cambio_trimestre() { var trimestre = document. } else { alert("La nota debe estar comprendida entre 0 y 10"). i++) var i = 1 while ( i < lon -1 ) { try { var nombre = document.length.general. de Informática Aplicada (U.eval("alumno_" + login).focus().general.value = mensaje. i< 6.P.message).idasig.submit().asignatura.T.V. var nota = parseFloat(nota_txt). var idasig = document.submit().idasig. if ( nota >= 0 && nota <= 10 ) { var msg = "login:"+document.forms[i].value. document. value. value + ".replace(". E. value.message). } i++.trimestre.asignatura.value.asignatura.forms[i].forms. msg += "nota:" + nota + "|". var ha_cambiado = document.value.name.general. return. mensaje += msg.".) 276 .value.").

location.Vicente Sancho Guijarro 304 305 306 307 308 309 Proyecto Final de Carrera if ( trimestre != "-1" ) { document.href="/webcole/Profesor_notas.T.P.) 277 .V. de Informática Aplicada (U.php?trimestre=" + trimestre + "&codasig=" + idasig. } } E.S.

de Informática Aplicada (U.href='/webcole/' + usuario + '_reservar_' + tipo + '. correcto = true. dia = document.anyo.value.iditem.reservar.reservar. } function redirigir(usuario. anyo = document.fecha.reservar.motivo. } function enviar() { fecha = new Date(). Debes elegir un dia de los disponibles en el calendario").reservar. mes = document.S.Vicente Sancho Guijarro Proyecto Final de Carrera reservas.mes.reservar.anyo.location.reservar. } else if (document. alert ("Debes rellenar el campo motivo").js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 MAX_LENGTH = 1500.mes. } else if (anyo != anyo_actual || document. alert ("Año incorrecto.reservar.iditem.value = i + "-" + document.reservar.value.dia.dia.value = i.mes.value. tipo) { iditem = document.reservar. mes = document.reservar. alert ("Debes elegir una instalacion de las disponibles").reservar. Debes elegir un dia de este año "). Debes elegir un dia de los disponibles en el calendario").reservar. if ( i < 10 ) { i = "0" + i.value. alert ("Dia incorrecto.anyo.value. } E.dia.getFullYear().reservar. if (document. alert ("Mes incorrecto.value.value==0 ) { correcto = false.php?iditem=' + iditem + '&dia=' + dia + '&nuevo_mes=' + mes + '&nuevo_ano=' + anyo. document.value.mes.length == 0) { correcto = false.value==0) { correcto = false.reservar.P. } else if (mes < 1 || mes > 12 || document. anyo = document. } document.reservar. } else if (dia > 31 || dia < 1 || document.anyo.value.reservar. document. //comprobar si tenemos todos los parametros necesarios //de fecha dia = document.) 278 . function cambiar(i) { alert ("id vale:" + i ).T.value.value==0) { correcto = false.V.dia. value + "-" + document. anyo_actual = fecha.value == -1) { correcto = false.

} } function maxCaracteres() { if(document.reservar.length > MAX_LENGTH) { temp="".P.submit().reservar. document.substring(0.reservar.motivo.) 279 .reservar.T. } } function longitud() { return MAX_LENGTH.V. } if (correcto) { document. } E.Vicente Sancho Guijarro 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 Proyecto Final de Carrera if (document.motivo.value. MAX_LENGTH-1) .S. temp = document.motivo. de Informática Aplicada (U.value.".value = temp.length>= MAX_LENGTH) { return "return false.reservar.motivo.value.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->