Implantacion de plataforma web para la academia de isc e inf

151
INSTITUTO TECNOLÓGICO SUPERIOR DE ACAYUCAN INFORME FINAL DE RESIDENCIA PROFESIONAL ÁMBITO: social y productivo IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDAD DE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN PRESENTA(N): C ALEXANDER VELAZQUEZ CORTES No. 090B0265 De la especialidad de INGENIERIA EN SISTEMA COMPUTACIONAL ISIC-2004-296 Período AGO 13 - ENE 14 Asesor Interno: MTI. VIANEY FUENTES MATEO. Asesor Externo: MTI. MIGUEL HERNANDEZ LINARES. Acayucan, Ver. Enero de 2014

Transcript of Implantacion de plataforma web para la academia de isc e inf

Page 1: Implantacion de plataforma web para la academia de isc e inf

INSTITUTO TECNOLÓGICO SUPERIOR DE ACAYUCAN

INFORME FINAL DE

RESIDENCIA PROFESIONAL

ÁMBITO: social y productivo

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDAD

DE INGENIERIA EN SISTEMAS COMPUTACIONALES E

INFORMATICA

INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN

PRESENTA(N): C ALEXANDER VELAZQUEZ CORTES No. 090B0265

De la especialidad de INGENIERIA EN

SISTEMA COMPUTACIONAL

ISIC-2004-296

Período AGO 13 - ENE 14

Asesor Interno: MTI. VIANEY FUENTES MATEO.

Asesor Externo: MTI. MIGUEL HERNANDEZ LINARES.

Acayucan, Ver. Enero de 2014

Page 2: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 2

Contenido CAPÍTULO I ............................................................................................................................ 4

INTRODUCCION ............................................................................................................... 4

JUSTIFICACION ................................................................................................................ 5

OBJETIVOS ........................................................................................................................ 8

OBJETIVO GENERAL ................................................................................................... 8

OBJETIVOS ESPECIFICOS ........................................................................................ 8

FACTIBILIDAD ECONÓMICA, TÉCNICA Y OPERATIVA .......................................... 9

Económica ....................................................................................................................... 9

Técnica........................................................................................................................... 10

Operativa ....................................................................................................................... 11

CAPITULO II ......................................................................................................................... 12

CARACTERIZACIÓN DEL ÁREA EN QUE PARTICIPÓ........................................... 12

ANTECEDENTES DE LA EMPRESA ........................................................................... 13

PROBLEMAS A RESOLVER, PRIORIZÁNDOLOS ................................................... 15

ALCANCES Y LIMITACIONES ...................................................................................... 17

Alcances ........................................................................................................................ 17

Limitaciones .................................................................................................................. 18

CAPITULO III ........................................................................................................................ 18

FUNDAMENTO TEÓRICO ............................................................................................. 18

QUÉ ES UN SERVIDOR............................................................................................ 19

SERVIDOR WEB ......................................................................................................... 19

FUNCIÓN DE UN SERVIDOR ................................................................................... 19

Debían ............................................................................................................................ 20

Virtualización ................................................................................................................. 23

Software utilizado para el desarrollo del sistema. ....................................................... 25

MySql ............................................................................................................................. 26

Historia de MySQL ....................................................................................................... 26

Page 3: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 3

Características de MySql ............................................................................................ 26

PHP ................................................................................................................................ 27

AppServ ......................................................................................................................... 28

CSS ................................................................................................................................ 29

Dobe Flash Player ........................................................................................................ 32

Java script ......................................................................................................................... 33

XML ................................................................................................................................. 34

Secure Hash Algorithm ............................................................................................... 36

HTML5 ............................................................................................................................. 37

JQuery ................................................................................................................................. 38

Características .................................................................................................................. 39

Adobe Dreamweaver ................................................................................................... 39

CSS · Bootstrap ............................................................................................................ 42

Diseñador de base de datos ....................................................................................... 46

Aplicaciones de los lenguajes de programación. .................................................. 46

Framework ..................................................................................................................... 47

PROCEDIMIENTOS Y DESCRIPCION DE LAS ACTIVIDADES REALIZADAS.

............................................................................................................................................ 51

Metodología IWEB ....................................................................................................... 52

CAPITULO lV ........................................................................................................................ 57

RESULTADOS, PLANOS, GRÁFICAS, PROTOTIPOS Y PROGRAMAS ............. 57

Entidades de la bd ....................................................................................................... 57

Descripción de los datos de la BD ............................................................................. 59

CAPITULO V ....................................................................................................................... 148

CONCLUSIONES Y RECOMENDACIONES ............................................................ 148

Conclusión ................................................................................................................... 148

Recomendaciones ..................................................................................................... 148

CAPÍTULO VI ...................................................................................................................... 150

Anexos ............................................................................................................................. 150

REFERENCIAS BIBLIOGRÁFICAS ........................................................................... 151

Page 4: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 4

CAPÍTULO I

INTRODUCCION

Este documento describe el trabajo realizado en el proyecto final de

carrera de ingeniería en sistemas computacionales. El proyecto consiste en

el desarrollo de un portal web para las academias de ingeniería en sistemas

computacionales e informática, del Instituto Tecnológico Superior de

Acayucan, situado en carretera costera del golfo Km. 216.4, colonia Agrícola

Michapan, Acayucan, Veracruz. El objetivo de dicho portal web es dar una

información completa sobre el tecnológico y los servicios de los que dispone,

así como proporcionar una serie de funcionalidades a los alumnos y

profesores de las carreras de ingeniería en sistemas computacionales e

informática del centro educativo.

La web es accesible desde cualquier navegador por Internet y tiene

información referente a su localización, sus miembros (profesores de las

academias de sistemas computacionales e informática) y su proyecto

educativo. Se trata de dar una visión lo más completa posible de la

institución, así como del funcionamiento de las academias de Ingeniería en

Sistemas Computacionales e Informática.

En cuanto a los usuarios, la página tiene varios tipos. Por un lado, están

los usuarios no registrados o visitantes, que únicamente pueden acceder a

información general sobre el centro. Por otro, están los usuarios registrados,

que pueden acceder a una mayor funcionalidad dentro de la aplicación. Entre

estos últimos se encuentra el usuario docente y el usuario administrador. El

usuario docente puede realizar acciones tales como cargar archivos y tener

acceso a sus respectivos apartados de academia, mientras que el usuario

administrador gestiona el sistema.

Page 5: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 5

IDENTIFICACION DEL PROBLEMA

La liberación de créditos es muy importante en la carrera del alumno,

contando que el alumno tiene que reunir con 5 créditos como requisito de la

escuela, los créditos se pueden cumplir con actividades extraescolares,

cursos impartidos por los docentes, congresos, entre otras que ayudan al

alumno a completar estos requisitos, estos créditos se tienen que cumplir a lo

largo de la carrera, pero no se lleva un control sobre estos, existiendo un

desorden y un desconocimiento de cuantos créditos faltan al alumno,

además que la publicación de dichas actividades para la realización de estos

es muy pobre y no se informa sobre la realización de cursos, haciéndose que

el registro en cursos y otras actividades sea de manera verbal o manual.

Las academias de ingeniería en sistemas computacionales y de informática

llevan a cabo reuniones de academia para tratar asuntos relacionados con

sus respectivas carreras, las reuniones son citadas por el presidente y

secretario, en la cual se estipula un día, lugar y horario para que se lleve a

cabo la junta, un problema que se presenta es el método de comunicado

para la información, ya sea para avisar de juntas de academia, entrega de

asignaciones de comisión y liberaciones se hace de manera personal,

haciendo que las notificaciones no se entreguen en la fecha correspondiente

y pueda ver un retraso o una falta en el caso de las reuniones de academia,

otro de los casos es el surgimiento de convocar reuniones rápidas (de un día

para otro) para tratar temas urgentes, haciéndose muy difícil la asistencia de

todos los miembros. Cada miembro de la academia puede encargársele

diferentes asignaciones, las cuales se guardan en un expediente con sus

respectivas liberaciones, si se llega a su cumplimiento, para llevar un

registro, estos registros se guardan de forma manual en carpetas con el

nombre de cada docente, el problema es que dichos documentos pueden

Page 6: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 6

extraviarse o revolverse con el paso del tiempo, haciéndose imposible poder

checar algún registro de fechas anteriores.

Un tema importante surge al no existir ningún dato sobre temas relacionados

con los anteproyectos, residencias y tesis, ya que al entregarse todos los

anteproyectos se estipulan fechas variadas para que el alumno acuda a las

instalaciones para verificar si su residencia procede o no y para rectificar a su

asesor interno asignado. Los asesores una vez teniendo el proyecto, no

pueden darse cuenta, si dicho proyecto ya antes se ha realizado, y no

pueden evaluar de una manera parcial al alumno, ya que pueden existir la

duplicidad de proyectos o pueden darse los casos en donde los proyectos

pueden repetirse pues las compañías pueden entregar proyectos que ya

antes se han elaborado.

Otro problema es la entrega de manuales y antologías que elaboran los

docentes, ya que estos hacen llegar su material en memorias o

fotocopiándolo y entregándolo al alumno, lo cual se hace un problema ya que

el material, no puede ser repartido a todos los alumnos, llegándose al caso

de extraviar dicha información retrasando al docente. Por último la

información que se le notifica al alumno se realiza de manera muy pobre,

pues los avisos de acontecimientos importantes se realizan de manera oral o

a través de avisos escritos que carecen de visibilidad, estos avisos pueden

ser talleres, cursos, promociones de becas, etc. imposibilitando al alumno de

trabajar en tiempo y forma con la institución.

Page 7: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 7

JUSTIFICACION

Debido a los diferentes problemas con el acceso y flujo de información entre

las comunidades de ingeniería en sistemas computacionales e ingeniería

informática del Instituto tecnológico Superior de Acayucan, se ha tomado en

cuenta realizar un portal en línea que facilite la información a las

comunidades antes mencionadas, mejorando diversos ámbitos,

planteándose que en dicho portal, las academias de sistemas

computacionales como la de informática, tendrán su propio sistema, dirigidos

por un administrador, que avisara de las juntas que se realizaran mandando

a los correos de los docentes una notificación que los enlazara con el portal,

mejorando así los comunicados de avisos de reuniones de academia, así

como se tendrá una lista con la información de cada docente de sus

respectivas academias, en donde se tendrá el archivamiento de forma digital

de las diversas asignaciones y comisiones asignadas a los docentes,

mejorando así perdida de archivos y búsqueda de manera inmediata de

estos.

Se tiene propuesto implementar en dicho portal, un apartado para que los

docentes y alumnos puedan consultar el nombre y una breve descripción de

residencias anteriores, para evitar el duplicado de estas, así como también

para los alumnos consulten de manera rápida si sus anteproyectos han sido

aceptados, como también que asesor le ha sido asignado. También se

asignara un apartado para que las antologías y manuales estén a disposición

de todos los alumnos, así los archivos podrán estar al alcance de todos de

una manera práctica y sencilla, agilizando el tiempo para el uso de dicho

material y evitando los extravíos o el mal manejo a la hora de repartir la

información. Se creara una ventana en la interfaz únicamente para

notificaciones y avisos importantes de la carrera, para mantener informado a

la comunidad de sistemas e informática de sucesos importantes que se

acontecen conforme a las carreras.

Page 8: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 8

Se realizara un apartado para que el alumno pueda ver los cursos que están

a disposición y este pueda tomarlos para completar sus actividades

complementarias para la acreditación de créditos, así como el administrador

de su respectiva academia tiene un control sobre los créditos del alumno,

creando más cursos para ayudarlo a cumplir estos requisitos.

OBJETIVOS

OBJETIVO GENERAL

Facilitar información a la comunidad de las carreras de ingeniería en

sistemas computacionales e ingeniería en informática así como también

para facilitar los procedimientos que se hacen en las respectivas academias,

mediante la implantación de plataforma en línea para el Instituto

Tecnológico Superior de Acayucan.

OBJETIVOS ESPECIFICOS

Desarrollar interfaz gráfica para cada incidencia.

Generar las bases de datos específicas y dedicadas para el flujo de

información.

Implementar apartado para banco digital (anteproyectos, residencias,

tesis, antologías y manuales de práctica) para consulta y descarga.

Implementar un apartado para asuntos de academia.

Almacenar de manera más rápida la información diaria que se genere

en el departamento.

Definir niveles de acceso a información.

Determinar la seguridad de acceso a la interfaz.

Page 9: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 9

FACTIBILIDAD ECONÓMICA, TÉCNICA Y OPERATIVA

En esta fase del sistema se realizaron los estudios de factibilidad

económica, técnica y operativa y de recursos humanos para su aprobación

de desarrollo del sistema, a continuación se describe detalladamente los

estudios realizados.

Económica

Para que el sistema pueda ser desarrolladlo, es indispensable estudiar

profundamente los recursos económicos con que cuenta para que esto sea

posible se han considerado los siguientes costos:

concepto horas Costo por hora costo

Análisis de sistema 50 $60 $1 500. ºº

Determinación de los

requerimientos (diseño de la

base de datos)

60 $60 $3 000. ºº

Determinación de los

requerimientos (diseño de

interfaces)

80 $60 $4 000. ºº

Desarrollo e implantación 160 $60 $8 000. ºº

Costos indirectos generados

por el personal

$2 000. ºº

$18,500. ºº

El costo del sistema es de $18,500. ºº Más la cantidad de $3000. ºº De mano

de obra, nos arroja una cantidad de $21,500. ºº Como gasto total.

En este caso se ha determinado que es económicamente factible ejecutar el

desarrollo del sistema para la academia de ingeniería en sistemas, debido a

Page 10: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 10

que todos los gastos que puedan surgir en el desarrollo del sistema, serán

proporcionados por el instituto tecnológico superior de Acayucan.

Técnica

El instituto tecnológico superior de Acayucan tienen dentro de sus alcances

técnicos para el desarrollo del sistema “Implantación de plataforma web para

la comunidad de isc e informatica,en este caso el líder del proyecto”, será

quien diseñe y cree el sistema que requiere:

Hardware

En cuanto al hardware, específicamente el servidor donde se instalara el

sistema propuesto que servirá para la comunicación de los demás

computadores vía web, este debe cubrir con los siguientes requerimientos

mínimos:

Procesador Pentium 166 MHz.

Tarjeta Madre.

512 MB de Memoria RAM

Disco duro de 30 Gb.

Unidad de CD-ROM.

Tarjeta de Red.

Tarjeta de Video.

Monitor

Teclado

Mouse

Evaluando el hardware existente y tomando en cuenta la configuración

mínima necesaria, el tecnológico no requirió realizar una inversión inicial para

la adquisición de nuevos equipos, ya que los mismos satisfacen los

requerimientos establecidos tanto para el desarrollo y puesta en

funcionamiento del sistema propuesto.

Page 11: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 11

Software

En cuanto al software, la tecnológica cuenta con casi todas las aplicaciones

que se emplearan para el desarrollo del proyecto y funcionamiento del

sistema, a excepción del servidor web appserv o xampp, pero estos se

encuentran en el internet de forma gratuita, lo cual no amerita inversión

alguna para la adquisición de los mismos. Las estaciones de trabajo operan

bajo ambientes Windows - Linux.

Windows 7, Salix OS

Navegador Internet Explorer, Google Chrome y Mozilla Firefox

Herramientas de Escritorio Office 2010 y Libre Office.

Sistemas administrativos

Antivirus

De acuerdo al estudio realizado al instituto tecnológico superior de Acayucan

de recursos técnicos o el equipo de cómputo con que cuenta necesario para

el desarrollo del sistema, se puede concluir que es factible desarrollar el

proyecto denominado “Implantación de plataforma web para la comunidad de

isc e informática”, para el departamento de academia de ingeniería en

sistemas, debido a que los equipos de cómputo con que se cuentan,

cumplen con el software y hardware básicos para el desarrollo del sistema.

Operativa

Debido a las determinaciones tomadas en los estudios de factibilidad

económica y técnica, llegamos a la conclusión que es operativamente te

factible económica y técnica, llegamos a la conclusión que es operativamente

factible construir el proyecto denominado “Implantación de plataforma web

para la comunidad de isc e informática” para la academia de ingeniería en

sistemas computacionales. Cuya función que desempeña es todo lo

relacionado con el trabajo del docente para asegurar el cumplimiento de los

programas de las asignaturas del plan de estudios de cada carrera de

licenciatura, impartidas en el instituto tecnológico superior de Acayucan.

Page 12: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 12

CAPITULO II

CARACTERIZACIÓN DEL ÁREA EN QUE PARTICIPÓ

Este proyecto se llevó acabo en el instituto tecnológico superior de

Acayucan en el departamento de desarrollo de academia a cargo del ing.

El siguiente esquema físico muestra la ubicación exacta de la empresa

donde se llevara a cabo el proyecto de residencia denominando implantación

de plataforma web para comunidad de ingeniería en sistemas

computacionales e informática.

Figura 1.0 ubicación de la institución.

Tabla 1: Datos generales de la empresa.

Nombre: instituto tecnológico superior de Acayucan

Área administrativa:

Dirección: carretera costera del golfo km.216.4 Desviación. A monte grande.

Col.Agricola michapan, Acayucan, Veracruz.

Teléfono: (01924)2 45 74 10 fax: (01 924)24 574 18

E-mail: [email protected];

Página web: www.itsacayucan.edu.mx;

Page 13: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 13

ANTECEDENTES DE LA EMPRESA

El instituto tecnológico superior de Acayucan es una institución joven con

apenas diez años de existencia. Durante este tiempo ha respondido a las

exigencias de una sociedad demandante de oportunidades de estudio a nivel

superior. Iniciando actividades el 25 de septiembre de 2000 con 103

estudiantes hoy se ha convertido en una institución cada vez más fuerte

experimentando un notable incremento de matrícula y de personal

adquiriendo cada vez mayor relevancia ante las autoridades educativas

federales, estatales y municipales y consolidándose entre la sociedad como

la máxima casa de estudio de la región.

Este crecimiento es la muestra de indiscutibles logros alcanzados por el

trabajo conjunto de la institución del gobierno en sus tres niveles y de la

comunidad tecnológica. Sin embargo los retos que debe afrontar son

muchos. El plan nacional de educación 2001-2006 (PNE) en el apartado

correspondiente a educación superior señala de rumbo que como institución

de educación superior pública hemos de seguir.

Sin duda que el proceso de superarse representa grandes esfuerzos sin

embargo dado nuestro compromiso y la capacidad de quienes estamos

involucrados tales retos son oportunidades para alcanzar un crecimiento que

nos permita responder de manera más eficiente y profunda expectativas que

tiene la sociedad en materia De educación superior de calidad con enfoque

humanístico e generación de conocimiento científicos de desarrollo

tecnológico de transferencia de tecnologías de divulgación cultural entre

otras. Las áreas sustantivas del instituto están comprometidas en conjunto

realizando primeramente un análisis de las fortalezas y debilidades para

reforzar y ampliar sus servicios. Este proceso involucra un reconocimiento

honesto de lo que se a echo bien y de lo que es necesario mejorar con todo

el esfuerzo que ello requiera una evaluación sería responsable autocritica

Page 14: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 14

que conduzca al mejoramiento integral de los procesos que serán el

fundamento de una institución de calidad.

Figura 1.2 .escudo del instituto tecnológico superior de Acayucan.

Actualmente la institución cuenta con las carreras siguientes:

Sistema escolarizado

o Ingeniería bioquímica

o Ingeniería en sistemas computacional

o Licenciatura en informática

o Ingeniería industrial

o Ingeniería en gestión empresarial

o Ingeniería en Mecatrónica

o ingeniería en informática

o Ingeniería química

Sistema abierto

o Licenciatura en informática

o Ingeniería en gestión empresarial

Política de calidad

El itsa establece el compromiso de implementar el sistema de gestión de

calidad (SGC) en todos sus procesos claves, orientándolos hacia la

satisfacción de sus alumnos sustentada en la calidad de proceso educativo

para cumplir con su requerimiento mediante la eficacia de un sistema de

gestión de la calidad y de mejora continua conforme a la norma ISO

9001:2000/mnx-cc-9001.IMNC-2000.

Page 15: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 15

Misión

Asegurar la formación integral de los estudiantes, en profesionistas e

investigadores de excelencia, capaces de desarrollar tecnologías para la vida

y el respeto al medio ambiente, utilizando el mejor capital intelectual en las

áreas del conocimiento correspondiente.

Visión

Ser una institución educativa vanguardista, reconocida a nivel nacional e

internacional para el 2018 por su actitud incluyente e innovadora por su

capacidad para desarrollar tecnología, investigación y comprometida siempre

con el uso sustentable del ambiente.

PROBLEMAS A RESOLVER, PRIORIZÁNDOLOS

La liberación de créditos es muy importante en la carrera del alumno,

contando que el alumno tiene que reunir con 5 créditos como requisito de la

escuela, los créditos se pueden cumplir con actividades extraescolares,

cursos impartidos por los docentes, congresos, entre otras que ayudan al

alumno a completar estos requisitos, estos créditos se tienen que cumplir a lo

largo de la carrera, pero no se lleva un control sobre estos, existiendo un

desorden y un desconocimiento de cuantos créditos faltan al alumno,

además que la publicación de dichas actividades para la realización de estos

es muy pobre y no se informa sobre la realización de cursos, haciéndose que

el registro en cursos y otras actividades sea de manera verbal o manual.

Las academias de ingeniería en sistemas computacionales y de informática

llevan a cabo reuniones de academia para tratar asuntos relacionados con

sus respectivas carreras, las reuniones son citadas por el presidente y

secretario, en la cual se estipula un día, lugar y horario para que se lleve a

cabo la junta, un problema que se presenta es el método de comunicado

Page 16: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 16

para la información, ya sea para avisar de juntas de academia, entrega de

asignaciones de comisión y liberaciones se hace de manera personal,

haciendo que las notificaciones no se entreguen en la fecha correspondiente

y pueda ver un retraso o una falta en el caso de las reuniones de academia,

otro de los casos es el surgimiento de convocar reuniones rápidas (de un día

para otro) para tratar temas urgentes, haciéndose muy difícil la asistencia de

todos los miembros. Cada miembro de la academia puede encargársele

diferentes asignaciones, las cuales se guardan en un expediente con sus

respectivas liberaciones, si se llega a su cumplimiento, para llevar un

registro, estos registros se guardan de forma manual en carpetas con el

nombre de cada docente, el problema es que dichos documentos pueden

extraviarse o revolverse con el paso del tiempo, haciéndose imposible poder

checar algún registro de fechas anteriores.

Un tema importante surge al no existir ningún dato sobre temas relacionados

con los anteproyectos, residencias y tesis, ya que al entregarse todos los

anteproyectos se estipulan fechas variadas para que el alumno acuda a las

instalaciones para verificar si su residencia procede o no y para rectificar a su

asesor interno asignado. Los asesores una vez teniendo el proyecto, no

pueden darse cuenta, si dicho proyecto ya antes se ha realizado, y no

pueden evaluar de una manera parcial al alumno, ya que pueden existir la

duplicidad de proyectos o pueden darse los casos en donde los proyectos

pueden repetirse pues las compañías pueden entregar proyectos que ya

antes se han elaborado.

Otro problema es la entrega de manuales y antologías que elaboran los

docentes, ya que estos hacen llegar su material en memorias o

fotocopiándolo y entregándolo al alumno, lo cual se hace un problema ya que

el material, no puede ser repartido a todos los alumnos, llegándose al caso

de extraviar dicha información retrasando al docente. Por último la

Page 17: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 17

información que se le notifica al alumno se realiza de manera muy pobre,

pues los avisos de acontecimientos importantes se realizan de manera oral o

a través de avisos escritos que carecen de visibilidad, estos avisos pueden

ser talleres, cursos, promociones de becas, etc. imposibilitando al alumno de

trabajar en tiempo y forma con la institución

ALCANCES Y LIMITACIONES

Al desarrollar un proyecto se presentan alcances del que dispone y

diferentes inconvenientes cuando se tiene la intención de ponerlo en marcha

a continuación se presentan los alcances y limitaciones para el desarrollo de

este proyecto. En la parte de alcances se presentan los recursos con los

que se pueden disponer de la Implantación de plataforma web para la

comunidad de isc e informática en las limitaciones, en las limitaciones se

mostraran los datos relacionados con los problemas para tener un

rendimiento eficaz del software.

Alcances

Es compatibilidad con las versiones de Windows como son: XP, Vista

Y Seven.

Actualización de los datos.

Seguridad de información mediante un usuario determinado y

contraseña.

Portabilidad: ya que podrá ser distribuido en múltiples equipos.

El sistema podrá ser instalado en múltiples plataformas.

La información será distribuida a través de internet.

Page 18: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 18

Limitaciones

La aplicación será mono usuario.

Tendrá acceso el encargado del departamento de academia isc e

info.

El sistema no podrá ser un sistema distribuido.

CAPITULO III

FUNDAMENTO TEÓRICO

Es preciso conocer inicialmente fundamentos de base de datos

incluidos, términos y conceptos básicos, modelos de diseño de base de

datos y las características que debe contener una buena base de datos, el

lenguaje de consulta y almacenamiento de datos, el sistema operativo

compatible con el lenguaje de datos que además permita utilizar un lenguaje

de programación con el que se diseñara y programara la parte grafica con la

ayuda de programas que harán que el sistema pueda ser usado a través de

la red de la institución.

Por ello las investigaciones conllevan a elegir los programas adecuados

para lograr el cometido de este sistema; a continuación se presenta las

herramientas que se utilizaron para este proyecto explicando las causas que

encaminan a usarlas y los requerimientos de estos.

Page 19: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 19

QUÉ ES UN SERVIDOR

Un servidor es un equipo informático que forma parte de una red y provee

servicios a otros equipos cliente. Se denomina servidor dedicado, aquel que

dedica todos sus recursos a atender solicitudes de los equipos cliente. Sin

embargo un servidor compartido es aquel que no dedica todos sus recursos

a servir las peticiones de los clientes, sino que también es utilizado por un

usuario para trabajar de forma local.

SERVIDOR WEB

Un servidor web es un programa que se ejecuta continuamente en un

computador, manteniéndose a la espera de peticiones de ejecución que le

hará un cliente o un usuario de Internet. El servidor web se encarga de

contestar a estas peticiones de forma adecuada, entregando como resultado

una página web o información de todo tipo de acuerdo a los comandos

solicitados. En este punto es necesario aclarar lo siguiente: mientras que

comúnmente se utiliza la palabra servidor para referirnos a una computadora

con un software servidor instalado, en estricto rigor un servidor es el software

que permite la realización de las funciones descritas.

FUNCIÓN DE UN SERVIDOR

La función de un servidor es proveer servicios a otras computadoras

conectadas en red, llamadas clientes. El ejemplo más práctico de un

servidor, son los servidores web, por ejemplo, yahoo.com.

Page 20: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 20

Debían

Este sistema operativo esta Está mantenida por sus usuarios, Si algo

necesita ser arreglado o mejorado, simplemente lo hacemos.

Su Soporte incomparable, el correo enviado a las listas de

correo frecuentemente obtiene respuesta en quince minutos (o menos),

gratuitamente, y por las personas que lo desarrollaron. Compare ésto al

típico soporte telefónico: horas gastadas en el teléfono, pagando dinero, sólo

para tener a alguien que no conoce el sistema lo suficientemente bien como

para entender su pregunta.

No estará solo en su elección Un amplio abanico de organizaciones e

individuos usa ya Debian. Vea nuestra página ¿Quién está usando

Debian? Si desea una descripción de algunos sitios de prestigio que usan

Debian y han decidido enviar una corta descripción de cómo hacen uso de

Debian y por qué.

El mejor sistema de empaquetamiento de software del mundo ¿Cansado de

viejos archivos de software tres versiones anteriores al actual desordenando

su sistema? ¿O de instalar software sólo para encontrar que hace que su

sistema se colapse debido a conflictos de software?, el sólido sistema de

empaquetamiento de Debian, se encarga de estos asuntos por usted.

Page 21: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 21

Instalación sencilla Si ha oído que Debían es difícil de instalar entonces no

ha probado Debían últimamente. Estamos mejorando constantemente el

proceso de instalación. Puede realizar la instalación directamente desde un

CD, DOS o discos flexibles o incluso a través de la red.

La Increíble cantidad de software Debían viene con más de 37500 elementos

de software diferentes. Cada bit de éstos es libre. Si tiene software

propietario que corre bajo GNU/Linux o GNU/kFreeBSD, puede usarlo (de

hecho, puede que incluso exista un instalador en Debían que

automáticamente instale y configure todo por usted).

Paquetes bien integrados Debían sobrepasa a todas las otras distribuciones

en lo bien integrados que están sus paquetes. Como todo el software lo

empaqueta un grupo coherente, no sólo puede encontrar todos los paquetes

en un mismo sitio sino que puede estar seguro de que hemos eliminado

todos los problemas al respecto de complejas dependencias. Aunque

creemos que el formato deb tiene algunas ventajas sobre el rpm, es la

integración entre paquetes lo que hace a un sistema Debían más robusto.

Código fuente Si usted es un desarrollador de software, apreciará el hecho

de que haya cientos de herramientas y lenguajes de desarrollo, además de

millones de líneas de código fuente en el sistema base. Todo el software en

la distribución principal es conforme al criterio de las Directrices de Software

Libre de Debían (DFSG). Esto significa que usted puede usar libremente este

código para estudiarlo o para incorporarlo a un nuevo proyecto de software

libre. También hay una buena cantidad de herramientas y código apropiado

para el uso en proyectos propietarios.

Actualizaciones fáciles Actualizarse a una nueva versión de Debían es muy

fácil gracias a nuestro sistema de empaquetamiento. Sólo tiene que

ejecutar apt-get update; apt-get dist-upgrade (o aptitude update; aptitude dist-

upgrade, según la versión) y puede actualizarse desde un CD en cuestión de

Page 22: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 22

minutos o configurar apt para que utilice alguno de los trescientos espejos de

Debían y actualizarse desde la red.

Sistema de seguimiento de errores el sistema de seguimiento de errores de

Debían es público. No intentamos esconder la realidad de que el software no

siempre trabaja de la manera que los usuarios desean. Aconsejamos a los

usuarios que envíen informes de errores y serán notificados cuándo y por

qué el error ha sido solucionado. Este sistema permite que Debían responda

a los problemas rápida y honestamente.

Si usted aún no es usuario de Debían, puede también disfrutar de los

siguientes beneficios:

Estabilidad

Existen muchos casos de máquinas que trabajan durante más de un año

seguido sin reiniciarse. De la misma forma, hay equipos que tan sólo son

reiniciados debido a un fallo en el suministro de corriente o a una

actualización del hardware. Compare esto con otros sistemas que se

colapsan varias veces al día.

Rápido y ligero en memoria

Otros sistemas operativos pueden ser rápidos en una o dos áreas, pero,

estando basado en GNU/Linux o GNU/kFreeBSD, Debían es ligero y

humilde. El software para Windows se ejecuta bajo GNU/Linux usando un

emulador a veces más rápido que en su ambiente original.

Los controladores para la mayoría del hardware están escritos

por usuarios de GNU/Linux / GNU/kFreeBSD, no por el fabricante.

Mientras que esto puede significar retrasos antes de que el nuevo hardware

sea soportado y la no existencia de soporte para algún hardware, permite

que continúe el soporte mucho después de que el fabricante haya detenido

Page 23: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 23

su producción o haya quebrado. La experiencia ha demostrado que los

controladores de fuentes abiertas son usualmente mejores que los

controladores propietarios.

Buena seguridad del sistema

Debian y la comunidad del software libre son muy sensibles a asegurarse de

que los arreglos de problemas de seguridad entren en la distribución

rápidamente. Normalmente, los paquetes arreglados se hacen disponibles a

los pocos días. La disponibilidad del código fuente permite que la seguridad

en Debian se evalúe de forma abierta, lo que evita que se implementen

modelos de seguridad pobres. Además, la mayoría de los proyectos de

software libre tienen sistemas de revisión por terceras partes, que, como

primera medida, evitan que se introduzcan en el sistema problemas de

seguridad potenciales.

Software de seguridad

Muchos desconocen que cualquier cosa enviada por la red puede ser leída

por cualquier máquina entre usted y el receptor. Debian tiene paquetes del

famoso software GPG (y PGP) que permite enviar correo entre usuarios

preservando su privacidad. Además, ssh permite crear conexiones seguras a

otras máquinas que tengan ssh instalado.

Virtualización

Para hacer más bajo el costo de un sistema preferido este software tiene

cualidades a muy bajo costo para empezar. ¿Qué es Virtualización? Es la

Creación de un Equipo Virtual usando una combinación de hardware y

software. Facilidad de poder ejecutar múltiples Sistemas Operativos en un

solo hardware.

Page 24: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 24

Muchas de la empresas les da curiosidad el ¿Por qué Virtualizar? Uno de los

muchas razones de esto es la reducción del tiempo ocioso (es el tiempo que

un procesador gasta esperando datos de otros procesadores).

Disponibilidad de tecnología especializada para tales fines.

Ahorro de recursos: Hardware, Energía y Costos

Qué se logra con la virtualización los siguientes puntos los muestran:

Facilidad para la administración.

Reemplazo rápido de sistemas completos en casos de averías.

Los Sistemas de Prueba se pueden poner en producción fácil y

rápidamente.

Portabilidad → Independencia del Hardware.

Disponibilidad de sistemas completos probados por fabricantes.

Máxima explotación de los recursos de hardware.

Seguridad: Simulación de ambientes de trabajo para

entrenamiento/pruebas sin poner en riesgo los sistemas en

producción.

Importancia de la Virtualización refleja grandes cosas:

En promedio sólo el 10% del tiempo de una computadora está

trabajando.

“Virtualización = Liberación. Un computador o servidor puede hacer el

trabajo de muchos”

Menos del 10% de los servidores o máquinas actuales son virtual

izados

Page 25: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 25

Las Ventajas más notables de esto son:

Ahorro: Aumente perceptiblemente la utilización y la productividad.

Protección: La utilización de tecnologías de virtualización facilita

mucho las soluciones.

Automatización: Reduzca los tiempos y las tareas del

aprovisionamiento.

Funcionamiento: Aumente su capacidad de trabajo, la facilidad de

reserva de recursos y los tiempos de reacción.

Simplicidad y coste: Agregue o reorganice sus recursos de

almacenamiento o cálculo y sin tiempo muerto.

Flexibilidad: Gane la independencia del hardware, la agilidad en

migraciones y la capacidad de crecimiento organizada.

Unas de las pocas Desventajas que se presentan:

Aplicaciones son más lentas

Interoperabilidad entre diferentes máquinas virtuales.

A través de pruebas se ha determinado que se logran pequeñas

mejoras en servidores (Java, de correo, servidor), Web, servidor de

base de datos, y servidor de archivos) utilizando virtualización.

Aplicaciones nativas del microprocesador

Microsoft Virtual Server (de Windows Server 2008)

Software utilizado para el desarrollo del sistema.

Para la construcción y programación del sistema de base de datos, utilizaremos

MySql y para la elaboración de las interfaces con el usuario interactuara y

manipulara la información de la base de datos usaremos las herramientas para su

mejor diseño usaremos php, java script, css, jqueary.

Page 26: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 26

MySql

MySQL es un sistema de administración de bases de datos relacional (RDBMS). Se

trata de un programa capaz de almacenar una enorme cantidad de datos de gran

variedad y de distribuirlos para cubrir las necesidades de cualquier tipo de

organización, desde pequeños establecimientos comerciales a grandes empresas y

organismos administrativos. MySQL compite con sistemas RDBMS propietarios

conocidos, como Oracle, SQL Server y DB2.

MySQL incluye todos los elementos necesarios para instalar el programa, preparar

diferentes niveles de acceso de usuario, administrar el sistema y proteger y hacer

volcados de datos. Puede desarrollar sus propias aplicaciones de base de datos en

la mayor parte de 10s lenguajes de programación utilizados en la actualidad y

ejecutarlos en casi todos 10s sistemas operativos, incluyendo algunos de los que

probablemente no ha oído nunca hablar. MySQL utiliza el lenguaje de consulta

estructurado (SQL). Se trata del lenguaje utilizado por todas las bases de

relacionales, que presentaremos en una sección posterior. Este lenguaje permite

crear bases de datos, así como agregar, manipular y recuperar datos en Función de

criterios específicos.

Historia de MySQL

MySQL surgió como un intento de conectar el gestor mySQL a las tablas propias de

MySQL AB, usando sus propias rutinas a bajo nivel. Tras unas primeras pruebas,

vieron que mySQL no era lo bastante flexible para lo que necesitaban, por lo que

tuvieron que desarrollar nuevas funciones. Esto resultó en una interfaz SQL a su

base de datos, con una interfaz totalmente compatible a mySQL.

Características de MySql

Las principales características de este gestor de bases de datos son las

siguientes:

1. Aprovecha la potencia de sistemas multiprocesador, gracias a su

implementación multihilo.

Page 27: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 27

2. Soporta gran cantidad de tipos de datos para las columnas.

3. Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc.).

4. Gran portabilidad entre sistemas.

5. Soporta hasta 32 índices por tabla.

6. Gestión de usuarios y passwords, manteniendo un muy buen nivel de

seguridad en los datos.

PHP

PHP (acrónimo de "PHP: Hipertexto Preprocessor") es un lenguaje

interpretado de alto nivel embebido en páginas HTML y ejecutado en el

servidor. El PHP es un lenguaje de programación utilizado para crear

páginas web dinámicas. El PHP necesita que un servidor web con capacidad

PHP sea instalado y funcionando para poder ejecutar las páginas PHP.

A continuación se muestra una conexión de php y Mysql

Page 28: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 28

El servidor va a compilar el código PHP y tratarlo en tiempo real, con la

información viniendo del cliente web, para regresarle una página web

adaptada, en tiempo real.

El servidor tiene también capacidad de seguir el camino de un usuario, así

como de identificarlo.

Las características de este tipo de programación es que posee la capacidad

de ser multiplataforma, contar con la capacidad de conexión con la mayoría

de los manejadores de base de datos que se utilizan en la actualidad, es libre

lo que se presenta como una alternativa de fácil acceso para todos, de igual

forma permite las técnicas de Programación Orientada a Objetos.

Este posee las siguientes ventajas como la de ser multiplataforma, tiene la

capacidad de ser libre y de la conectividad con MYSQL, cuenta con

bibliotecas de funciones y permite la utilización de herramientas para la

programación orientada a objetos.

Las desventajas de este tipo de programación es que promueve creación de

código desordenado y con un mantenimiento complejo, no posee adecuado

manejo de Unicode, también que es muy difícil de optimizar, está diseñado

especialmente hacia un modo de realizar aplicaciones Web que es

problemático y obsoleto y no posee una abstracción de base de datos

estándar.

AppServ

Es una herramienta opensource, Windows con apache, mysql, php y

otras adicciones, en la cual estas aplicaciones se configuran en forma

automática, lo que permite ejecutar un servidor web completo.

Como extra incorpora phpMyAdmin para el manejo de MySQL

Inmediatamente después de la instalación está disponible completamente

funcional del servidor web Apache , que se ejecuta en el equipo local, que

Page 29: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 29

puede ejecutar un número ilimitado de sitios para ser muy eficaz para

desarrollar y depurar scripts PHP sin subir archivos a un servidor remoto. El

programa se distribuye gratuitamente bajo licencia GNU General Public

License y es gratis, fácil de usar web-servidor capaz de servir páginas

dinámicas. Con esta configuración, puede implementar rápidamente un

equipo hecho y derecho y el servidor web rápido, con acceso desde la red

local, sin necesidad de configuración adicional. Puede ser utilizado como un

servidor web público en la Internet

CSS

(Cascading Style Sheets, u Hojas de Estilo en Cascada) es la tecnología

desarrollada por el World Wide Web Consortium (W3C) con el fin de separar

la estructura de la presentación. A pesar de que la recomendación

oficial del grupo de trabajo de la W3C ya había alcanzado la estabilidad

requerida para que fuera soportada por los principales navegadores

comerciales, como Netscape e Internet Explorer, tan tempranamente como

en el año 1998, la situación de entonces, comúnmente conocida

como la “guerra de los navegadores”, hacía que los intereses comerciales de

las dos compañías en lucha por el mercado de usuarios de Internet se

interpusieran en el camino de las CSS.

Netscape 4 e Internet Explorer 4 incorporaron parcialmente un soporte a esta

recomendación, pero éste dejaba mucho que desear, especialmente en

Netscape 4, por lo que no era plausible la incorporación de las CSS en el

diseño de sitios salvo en un muy mínimo número de características, y esto

aún con reservas, puesto que la manera de tratar los estándares era muy

diferente y por eso ni aun así se podía asegurar una visualización correcta de

la misma hoja de estilos.

Page 30: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 30

El uso más amplio de las posibilidades de las CSS en Netscape 4, por

ejemplo, podía llegar a causar un"crash" en el browser sin explicación

alguna. Internet Explorer 4 tenía una mejor implementación de la

recomendación CSS nivel 1, pero, de nuevo, parcial -aunque permitía el uso

de un mayor número de características, cómo aquéllas que exceden a la

tipografía (la parte de las reglas de las CSS pensada para reemplazar al

tradicional uso de tablas en el diseño de "layouts").

La situación, hoy, es muy diferente. Netscape 4 acaparaba, según

estadísticas, el 80% de usuarios, al menos en Estados Unidos. Desde el

lanzamiento de Internet Explorer 5 -que tuvo problemas al principio, luego

solucionados mayormente con la versión 5.5-, esta situación cambió

radicalmente y hoy es éste el navegador más usado.

No obstante no incorporaba el soporte completo de las CSS nivel 1. Habría

que esperar a las recientes versiones 6, para esto, e incluso para un soporte

parcial de las CSS nivel 2.Otros navegadores, como Opera (el tercer

navegador más usado), cuya última y también reciente versión es la 6,

incluye el mismo soporte.

A diferencia de entonces, hoy, CSS ya no es una novedad, pero ahora ya no

hay pretextos para no usarla. Y es posible utilizar ciertas posibilidades más

amplias de las CSS, como el control de otras características gráficas tales

como imágenes y colores de fondo, márgenes exactos y bordes, para evitar

el trabajoso y a veces poco gratificante diseño de tablas complejas para un

"layout", que incluye frecuentemente tablas anidadas y complicados

algoritmos de combinación de celdas (me refiero a la forma en la que los

navegadores resuelven esto para su graficación), características que hacen

al archivo muy pesado para descargar, porque inundan el código con la

extensa serie de etiquetas requeridas. Y también, hoy, la "guerra de los

navegadores" ha terminado, y la W3C y los estándares empiezan a liderar el

Page 31: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 31

camino, por lo que ya no hay tantas trabas para un uso más extendido,

aunque medido, de las CSS.

En vista de esta breve recapitulación, entonces, podríamos decir que los

beneficios de usar CSS son dobles. Por un lado, evitamos hacer a los

archivos demasiado pesados (excluyendo el largo código requerido para las

tablas anidadas y el añadido de características gráficas), y definimos el

"estilo visual" de un sitio entero sin necesidad de hacerlo etiqueta por

etiqueta, para cada una de las páginas. Por otro, trabajamos

con estándares, y separamos hasta cierto punto la estructura (vale decir, el

código) de la presentación, logrando una manera más nítida de trabajar, y lo

que es más: en un sencillo documento CSS, definimos lo que yo llamaría una

"plantilla gráfica" para todo un sitio. Vale decir, que cualquier cambio hecho a

un estilo CSS, se reflejará en todos los elementos que sean referidos a éste,

automáticamente,

con sólo editar un sencillo documento CSS.

Este tutorial se centra en el diseño de un documento CSS pensado para un

sitio web entero, y sobre todo con el uso medido de las características de

CSS nivel 1, aunque recomendando un uso medido de tablas para el

"esqueleto" del "layout" de las páginas (no obstante, el tutorial no cubre este

aspecto; sólo el de creación, sintaxis y edición de un documento CSS

externo enlazado a los documentos HTML). Esto implica, por una

parte, un "target" de navegador que no sea exclusivo de la "última

generación" (la cual comprende: IE 5, 5.5, 6, Netscape 6, y Opera 6). Por lo

tanto, se intenta una correcta visualización de la página también en Internet

Explorer 4. Es posible que Netscape 4 muestre la página más o menos

correctamente, pero esto no debe preocuparnos ya que es un navegador

que no soporta estándares.

Page 32: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 32

XAMPP

es un servidor independiente de plataforma, software libre, que consiste

principalmente en la base de datos MySQL, el servidor web Apache y los

intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del

acrónimo de X (para cualquiera de los diferentes sistemas

operativos), Apache, MySQL, PHP, Perl.

El programa está liberado bajo la licencia GNU y actúa como un servidor web

libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente

XAMPP está disponible para Microsoft

Windows, GNU/Linux, Solaris y MacOS X.

Características y requisitos

XAMPP solamente requiere descargar y ejecutar un archivo zip, tar , exe o

fkl, con unas pequeñas configuraciones en alguno de sus componentes que

el servidor Web necesitará. XAMPP se actualiza regularmente para

incorporar las últimas versiones de Apache/MySQL/PHP y Perl. También

incluye otros módulos como OpenSSL y phpMyAdmin. Para instalar XAMPP

se requiere solamente una pequeña fracción del tiempo necesario para

descargar y configurar los programas por separado. Puede encontrarse tanto

en versión completa, así como en una versión más ligera que es portátil.

Oficialmente, los diseñadores de XAMPP sólo pretendían su uso como una

herramienta de desarrollo, para permitir a los diseñadores de sitios webs y

programadores testear su trabajo en sus propios ordenadores sin ningún

acceso a Internet. En la práctica, sin embargo, XAMPP es utilizado

actualmente como servidor de sitios Web, ya que, con algunas

modificaciones, es generalmente lo suficientemente seguro para serlo. Con

Page 33: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 33

el paquete se incluye una herramienta especial para proteger fácilmente las

partes más importantes.

Dobe Flash Player

Adobe Flash Player es una aplicación en forma de reproductor

multimedia creado inicialmente por Macromedia y actualmente distribuido por

Adobé. Permite reproducir archivos SWF que pueden ser creados con la

herramienta de autoría Adobe Flash, con Adobe Flex o con otras

herramientas de Adobe y de terceros. Estos archivos se reproducen en un

entorno determinado. En un sistema operativo tiene el formato de aplicación

del sistema, mientras que si el entorno es un navegador, su formato es el de

un Plug-in u objeto ActiveX.

Adobe Flash, o simplemente Flash, se refieren tanto al programa de creación

de animaciones como al reproductor. Estrictamente hablando, Adobe Flash

es el entorno de creación y Adobe Flash Player el reproductor o máquina

virtual. Sin embargo, en lenguaje coloquial, se usa el término Flash para

referirse al entorno, al reproductor e, incluso, a los archivos generados.

Java script

Es un lenguaje de programación interpretado es decir que no requiere

compilación utilizado principalmente en páginas web con una sintaxis

semejante ala del lenguaje java y el lenguaje c. al igual que java.

Java script es un lenguaje orientado a objeto propiamente dicho ya que

dispone de herencia si bien este se realiza siguiendo el paradigma de

programación basada en prototipos ya que las nuevas clases se generan

clonando las clases de base (prototipos) y extendiendo su funcionalidad.

Todos los navegadores modernos interpretan el código java script integrando

dentro de las páginas web. Para interactuar con una página web se provee al

lenguaje java script de una implementación del DOM.el lenguaje fue

Page 34: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 34

inventado por brendan eich en la empresa Netscape comunications que es

la que desarrollo los primeros navegadores web comerciales.aparecion por

primera vez en el producto Netscape llamada Netscape navigator

2.0.tradicionalmente se venía utilizando en páginas web HTML para realizar

tareas y operaciones en el marco de la aplicación únicamente cliente, sin

acceso a funciones del servidor.java Script se ejecuta en el agente de

usuario al mismo tiempo que las sentencias van descargándose junto con el

código html.los autores inicialmente lo llamaron mocha y más tarde liveScript

pero fue rebautizado como java Script en un anuncio en un anuncio

conjunto entre sun microsystems y Netscape el 4 de diciembre de 1995.En

1997 los autores propusieron java script para que fuera adoptado como

estándar de la european computer manufactures association ecma que a

pesar de su nombre no es europeo como un estándar iso. Jscript de

Netscape pero con ciertas diferencias en el modelo de objeto del navegador

que hacen a ambas versiones con frecuencia incompatibles. Para evitar

estas incompatibilidades, el World wide web consortium diseño el estándar

document object model (DOM o modelo de objeto del documento en

castellano) que incorporan konqueror, las versiones 6 de internet Explorer y

Netscape navigator opera versión 7 y Mozilla desde su primera versión.

XML

Siglas en inglés de eXtensible Markup Language ('lenguaje de

marcas extensible'), es un lenguaje de marcas desarrollado por el World

Wide Web Consortium (W3C) utilizado para almacenar datos en forma

legible. Deriva del lenguaje SGML y permite definir la gramática de lenguajes

específicos (de la misma manera que HTML es a su vez un lenguaje definido

por SGML) para estructurar documentos grandes. A diferencia de otros

lenguajes, XML da soporte a bases de datos, siendo útil cuando varias

aplicaciones se deben comunicar entre sí o integrar información. (Bases de

datos Silberschatz).

Page 35: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 35

XML no ha nacido sólo para su aplicación para Internet, sino que se propone

como un estándar para el intercambio de información estructurada entre

diferentes plataformas. Se puede usar en bases de datos, editores de texto,

hojas de cálculo y casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la

complementan y la hacen mucho más grande y con unas posibilidades

mucho mayores. Tiene un papel muy importante en la actualidad ya que

permite la compatibilidad entre sistemas para compartir la información de una

manera segura, fiable y fácil.

Ventajas de XML

Es extensible: Después de diseñado y puesto en producción, es posible

extender XML con la adición de nuevas etiquetas, de modo que se pueda

continuar utilizando sin complicación alguna.

El analizador es un componente estándar, no es necesario crear un

analizador específico para cada versión de lenguaje XML. Esto posibilita

el empleo de cualquiera de los analizadores disponibles. De esta manera

se evitan bugs y se acelera el desarrollo de aplicaciones.

Si un tercero decide usar un documento creado en XML, es sencillo

entender su estructura y procesarla. Mejora la compatibilidad entre

aplicaciones. Podemos comunicar aplicaciones de distintas plataformas,

sin que importe el origen de los datos, es decir, podríamos tener una

aplicación en Linux con una base de datos Postgres y comunicarla con

otra aplicación en Windows y Base de Datos MS-SQL Server.

Transformamos datos en información, pues se le añade un significado

concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad

para estructurar documentos.

Page 36: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 36

Secure Hash Algorithm

La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un

sistema de funciones hash criptográficas relacionadas de la Agencia de

Seguridad Nacional de los Estados Unidos y publicadas por el National

Institute of Standards and Technology (NIST). El primer miembro de la familia

fue publicado en 1993 es oficialmente llamado SHA. Sin embargo, hoy día,

no oficialmente se le llama SHA-0 para evitar confusiones con sus sucesores.

Dos años más tarde el primer sucesor de SHA fue publicado con el nombre

de SHA-1. Existen cuatro variantes más que se han publicado desde

entonces cuyas diferencias se basan en un diseño algo modificado y rangos

de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-

512 (llamándose SHA-2a todos ellos).

En 1998, un ataque a SHA-0 fue encontrado pero no fue reconocido para

SHA-1, se desconoce si fue la NSA quien lo descubrió pero aumentó la

seguridad del SHA-1.

SHA-256 ha sido examinado muy de cerca por la comunidad criptográfica

pública, y no se ha encontrado ningún ataque efectivo. No obstante, en el

año 2004, un número de ataques significativos fueron divulgados sobre

funciones criptográficas de hash con una estructura similar a SHA-1; lo que

ha planteado dudas sobre la seguridad a largo plazo de SHA-1.

SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de un

mensaje que puede tener un tamaño máximo de 264 bits, y se basa en

principios similares a los usados por el profesor Ronald L. Rivest del MIT en

el diseño de los algoritmos de resumen de mensaje MD4 y MD5.

La codificación hash vacía para SHA-1 corresponde a:

SHA 256 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709

Page 37: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 37

HTML5

HTML5 (HyperText Markup Language, versión 5) es la quinta revisión

importante del lenguaje básico de la World Wide Web, HTML. HTML5

especifica dos variantes de sintaxis para HTML: un «clásico» HTML

(text/html), la variante conocida como HTML5 y una variante XHTML

conocida como sintaxis XHTML5 que deberá ser servida como XML). Esta es

la primera vez que HTML y XHTML se han desarrollado en paralelo.

Todavía se encuentra en modo experimental, lo cual indica la misma W3C;

aunque ya es usado por múltiples desarrolladores web por sus avances,

mejoras y ventajas.

Al no ser reconocido en viejas versiones de navegadores por sus nuevas

etiquetas, se le recomienda al usuario común actualizar a la versión más

nueva, para poder disfrutar de todo el potencial que provee HTML5.

El desarrollo de este lenguaje de marcado es regulado por el

Consorcio W3C.

HTML5 establece una serie de nuevos elementos y atributos que reflejan el

uso típico de los sitios web modernos. Algunos de ellos son técnicamente

similares a las etiquetas <div> y<span>, pero tienen un significado

semántico, como por ejemplo <nav> (bloque de navegación del sitio web)

y <footer>. Otros elementos proporcionan nuevas funcionalidades a través

de una interfaz estandarizada, como los elementos <audio> y <video>.

Mejora el elemento <canvas>, capaz de renderizar elementos 3D en los

navegadores más importantes (Mozilla, Chrome, Opera, Safari e IE).

Algunos elementos de HTML 4.01 han quedado obsoletos, incluyendo

elementos puramente de presentación, como <font> y <center>, cuyos

efectos son manejados por Hojas de estilo en cascada. También hay un

Page 38: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 38

renovado énfasis en la importancia del scripting DOM para el

comportamiento de la web. 2.0

Incorpora etiquetas (canvas 2D y 3D, audio, video) con codecs para

mostrar los contenidos multimedia. Actualmente hay una lucha entre

imponer codecs libres (WebM + VP8) o privados (H.264/MPEG-4

AVC).

Etiquetas para manejar grandes conjuntos de datos: Datagrid, Details,

Menu y Command. Permiten generar tablas dinámicas que pueden

filtrar, ordenar y ocultar contenido en cliente.

Mejoras en los formularios. Nuevos tipos de datos (eMail, number, url,

datetime …) y facilidades para validar el contenido sin Javascript.

Visores: MathML (fórmulas matemáticas) y SVG (gráficos vectoriales).

En general se deja abierto a poder interpretar otros lenguajes XML.

Drag & Drop. Nueva funcionalidad para arrastrar objetos como

imágenes.

JQuery

jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig,

que permite simplificar la manera de interactuar con los documentos HTML,

manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar

interacción con la técnica AJAX a páginas web. Fue presentada el 14 de

enero de 2006 en el BarCamp NYC. JQuery es la biblioteca de JavaScript

más utilizada.

jquery es software libre y de código abierto, posee un doble licenciamiento

bajo la licencia mit y la licencia pública general de GNU v2, permitiendo su

uso en proyectos libres y privativos. jquery, al igual que otras bibliotecas,

ofrece una serie de funcionalidades basadas en JavaScript que de otra

manera requerirían de mucho más código, es decir, con las funciones

Page 39: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 39

propias de esta biblioteca se logran grandes resultados en menos tiempo y

espacio.

Las empresas Microsoft y Nokia anunciaron que incluirán la biblioteca en sus

plataformas. Microsoft la añadirá en su IDE Visual Studio y la usará junto con

los frameworks ASP.NET AJAX y ASP.NET MVC, mientras que Nokia los

integrará con su plataforma Web Run-Time.

Características

Selección de elementos DOM.

Interactividad y modificaciones del árbol DOM, incluyendo soporte

para CSS 1-3 y un plugin básico de XPath.

Eventos.

Manipulación de la hoja de estilos CSS.

Efectos y animaciones.

Animaciones personalizadas.

AJAX.

Soporta extensiones.

Utilidades varias como obtener información del navegador, operar con

objetos y vectores, funciones para rutinas comunes, etc.

Compatible con los navegadores Mozilla Firefox 2.0+, Internet

Explorer 6+, Safari 3+, Opera 10.6+ y Google Chrome 8+.

Adobe Dreamweaver

Es una aplicación en forma de estudio (basada en la forma de estudio de

Adobe Flash) que está destinada a la construcción, diseño y edición de sitios,

videos y aplicaciones Web basados en estándares. Creado inicialmente por

Macromedia (actualmente producido por Adobe Systems) es el programa

más utilizado en el sector del diseño y la programación web, por sus

Page 40: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 40

funcionalidades, su integración con otras herramientas como Adobe Flash y,

recientemente, por su soporte de los estándares del World Wide Web

Consortium.

Sus principales competidores son Microsoft Expresión Web y BlueGriffon

(que es de código abierto) y tiene soporte tanto para edición de imágenes

como para animación a través de su integración con otras. Hasta la versión

MX, fue duramente criticado por su escaso soporte de los estándares de la

web, ya que el código que generaba era con frecuencia sólo válido para

Internet Explorer y no validaba como HTML estándar. Esto se ha ido

corrigiendo en las versiones recientes.

Se vende como parte de la suite Adobe Creative Suite. A partir de la compra

de Macromedia por parte de Adobe. Las letras CS significan Creative Suite

La gran ventaja de este editor sobre otros es su gran poder de ampliación y

personalización del mismo, puesto que en este programa, sus rutinas (como

la de insertar un hipervínculo, una imagen o añadir un comportamiento) están

hechas en Javascript-C, lo que le ofrece una gran flexibilidad en estas

materias. Esto hace que los archivos del programa no sean instrucciones de

C++ sino rutinas de Javascript que hace que sea un programa muy fluido,

que todo ello hace, que programadores y editores web hagan extensiones

para su programa y lo ponga a su gusto.

Las versiones originales de la aplicación se utilizaban como simples editores

WYSIWYG. Sin embargo, versiones más recientes soportan otras

tecnologías web como CSS, JavaScript y algunos frameworks del lado

servidor.

Dreamweaver ha tenido un gran éxito desde finales de los años 1990 y

actualmente mantiene el 90% del mercado de editores HTML. Esta

aplicación está disponible tanto para la plataforma MAC como para Windows,

Page 41: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 41

aunque también se puede ejecutar en plataformas basadas en UNIX

utilizando programas que implementan las API's de Windows, tipo Wine.

Como editor WYSIWYG que es, Dreamweaver permite ocultar el código

HTML de cara al usuario, haciendo posible que alguien no entendido pueda

crear páginas y sitios web fácilmente sin necesidad de escribir código.

Algunos desarrolladores web criticaban esta propuesta ya que crean páginas

HTML más largas de lo que solían ser al incluir mucho código inútil, lo cual va

en detrimento de la ejecución de las páginas en el navegador web. Esto

puede ser especialmente cierto ya que la aplicación facilita en exceso el

diseño de las páginas mediante tablas. Además, 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).

No obstante, Adobe ha aumentado el soporte CSS y otras maneras de

diseñar páginas sin tablas en versiones posteriores de la aplicación,

haciendo que se reduzca el exceso de código.

Dreamweaver permite al usuario utilizar la mayoría de los navegadores Web

instalados en su ordenador para pre visualizar las páginas web. También

dispone de herramientas de administración de sitios dirigidas a principiantes

como, por ejemplo, la habilidad de encontrar y reemplazar líneas de texto y

código por cualquier tipo de parámetro especificado, hasta el sitio web

completo. El panel de comportamientos también permite crear JavaScript

básico sin conocimientos de código.

Con la llegada de la versión MX, Macromedia incorporó herramientas de

creación de contenido dinámico en Dreamweaver. En lo fundamental de las

herramientas HTML WYSIWYG, también permite la conexión a Bases de

Datos como MySQL y Microsoft Access, para filtrar y mostrar el contenido

utilizando tecnología de script como, por ejemplo, ASP, ASP.NET,

Page 42: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 42

ColdFusion, JSP (Java Server Pages) y PHP sin necesidad de tener

experiencia previa en programación.

Un aspecto de alta consideración de Dreamweaver es su funcionalidad con

extensiones. Es decir, permite el uso de "Extensiones". Las extensiones, tal y

como se conocen, son pequeños programas, que cualquier desarrollador

web puede escribir (normalmente en HTML y Javascript) y que cualquiera

puede descargar e instalar, ofreciendo así funcionalidades añadidas a la

aplicación. 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, que van desde simple efectos rollover hasta completas cartas de

compra.

También podría decirse que, para un diseño más rápido y a la vez fácil,

podría complementarse con Fireworks en donde se podría diseñar un menú

u otras creaciones de imágenes (gif web, gif websnap, gif adaptable, jpeg

calidad superior, jpeg archivo más pequeño, gif animado websnap) para un

sitio web y después exportar la imagen creada y así utilizarla como una sola

en donde ya llevará los vínculos para dicho sitio.

CSS · Bootstrap

Bootstrap es una colección de herramientas de software libre para la

creación de sitios y aplicaciones web. Es el proyecto más popular en GitHub

y es usado por la NASA y la MSNBC junto a demás organizaciones.

El origen de Bootstrap fue desarrollado por Mark Otto y Jacbod Thornton de

Twitter, como un marco de trabajo (framework) para fomentar la consistencia

a través de herramientas internas. Antes de Bootstrap, se usaban varias

librerías para el desarrollo de interfaces de usuario, las cuales guiaban a

inconsistencias y a una carga de trabajo alta en su mantenimiento. Según el

desarrollador de Twitter Mark Otto, frente a esos desafíos: "un pequeño

Page 43: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 43

grupo de desarrolladores y yo nos reunimos a diseñar y construir una nueva

herramienta interna y vimos una oportunidad de hacer más. A través de ese

proceso, nos vimos construir algo mucho más sustancial que otra

herramienta interna más. Meses después, terminamos con una primera

versión de Bootstrap como una manera de documentar y compartir bienes y

patrones de diseño comunes dentro de la compañía.

El primer desarrollo en condiciones reales ocurrió durante la primera

"Semana de Hackeo" (Hackweek) de Twitter.Mark Otto mostró a algunos

colegas como acelerar el desarrollo de sus proyectos con la ayuda de la

herramienta de trabajo. Como resultado, decenas de temas se han

introducido en el marco de trabajo.

En agosto del 2011, Twitter liberó a Bootstrap como código abierto. En

febrero del 2012, se convirtió en el proyecto de desarrollo más popular de

GitHub.

Las Características Bootstrap tiene un soporte relativamente incompleto

para HTML5 y CSS 3, pero es compatible con la mayoría de los navegadores

web. La información básica de compatibilidad de sitios web o aplicaciones

está disponible para todos los dispositivos y navegadores. Existe un

concepto de compatibilidad parcial que hace disponible la información básica

de un sitio web para todos los dispositivos y navegadores. Por ejemplo, las

propiedades introducidas en CSS3 para las esquinas redondeadas,

gradientes y sombras son usadas por Bootstrap a pesar de la falta de

soporte de navegadores antiguos. Esto extiende la funcionalidad de la

herramienta, pero no es requerida para su uso.

Desde la versión 2.0 también soporta diseños sensibles. Esto significa que el

diseño gráfico de la página se ajusta dinámicamente, tomando en cuenta las

características del dispositivo usado (Computadoras, tabletas, teléfonos

móviles).

Page 44: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 44

Bootstrap es de código abierto y está disponible en GitHub. Los

desarrolladores están motivados a participar en el proyecto y a hacer sus

propias contribuciones a la plataforma.

La Estructura y Función de Bootstrap es modular y consiste esencialmente

en una serie de hojas de estilo LESS que implementan la variedad de

componentes de la herramienta. Una hoja de estilo llamada bootstrap.less

incluye los componentes de las hojas de estilo. Los desarrolladores pueden

adaptar el mismo archivo de Bootstrap, seleccionando los componentes que

deseen usar en su proyecto.

Los ajustes son posibles en una medida limitada a través de una hoja de

estilo de configuración central. Los cambios más profundos son posibles

mediante las declaraciones LESS.

El uso del lenguaje de hojas de estilo LESS permite el uso de variables,

funciones y operadores, selectores anidados, así como clases mixin.

Desde la versión 2.0, la configuración de Bootstrap también tiene una opción

especial de "Personalizar" en la documentación. Por otra parte, los

desarrolladores eligen en un formulario los componentes y ajustes deseados,

y de ser necesario, los valores de varias opciones a sus necesidades. El

paquete consecuentemente generado ya incluye la hoja de estilo CSS pre-

compilada.

Sistema de cuadrilla y diseño sensible

Bootstrap viene con una disposición de cuadrilla estándar de 940 píxeles de

ancho. Alternativamente, el desarrollador puede usar un diseño de ancho-

variable. Para ambos casos, la herramienta tiene cuatro variaciones para

hacer uso de distintas resoluciones y tipos de dispositivos: teléfonos móviles,

formato de retrato y paisaje, tabletas y computadoras con baja y alta

Page 45: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 45

resolución (pantalla ancha). Esto ajusta el ancho de las columnas

automáticamente.

Entendiendo la hoja de estilo CSS

Bootstrap proporciona un conjunto de hojas de estilo que proveen

definiciones básicas de estilo para todos los componentes de HTML. Esto

otorga una uniformidad al navegador y al sistema de anchura, da una

apariencia moderna para el formateo de los elementos de texto, tablas y

formularios.

Componentes re-usables

En adición a los elementos regulares de HTML, Bootstrap contiene otra

interfaz de elementos comúnmente usados. Ésta incluye botones con

características avanzadas (e.g grupo de botones o botones con opción de

menú desplegable, listas de navegación, etiquetas horizontales y verticales,

ruta de navegación, paginación, etc.), etiquetas, capacidades avanzadas de

miniaturas tipográficas, formatos para mensajes de alerta y barras de

progreso.

Plug-ins de JavaScript

Los componentes de JavaScript para Bootstrap están basados en la

librería jQuery de JavaScript. Los plug-ins se encuentran en la herramienta

de plug-in de jQuery. Proveen elementos adicionales de interfaz de usuario

como diálogos, tooltips y carruseles. También extienden la funcionalidad de

algunos elementos de interfaz existentes, incluyendo por ejemplo una función

de auto-completar para campos de entrada (input). La versión 2.0 soporta los

siguientes plug-ins de JavaScript: Modal, Dropdown, Scrollspy, Tab, Tooltip,

Popover, Alert, Button, Collapse, Carousel y Typeahead.

Page 46: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 46

Una implementación de Twitter Bootstrap usando el Dojo Toolkit también

está disponible. Es llamada Dojo Bootstrap y es un puerto de los plug-ins de

Twitter Bootstrap. Usa el código Dojo al 100% y tiene soporte para AMD

(Asynchronous Module Definition).

Diseñador de base de datos

(batini, ceri, navathe, & shamkant 1995).un buen diseño de base de datos

garantiza su fácil mantenimiento. Los datos se almacenan en tablas y daca

tabla contiene datos acerca del tema por ejemplo clientes, por tanto cuando

se actualiza un parte de los datos concreta como una dirección se hace en

un solo lugar pero ese cambio aparece automáticamente en toda la base de

datos.

El primer paso para diseñar una base de datos es determinar su finalidad y

como se va a utilizar.

o Determinar la finalidad de la base de datos.

o Determinar los campos necesarios en la base de datos.

o Determinar a qué tabla pertenece cada campo

o Identificar el campo o los campos con valores únicos en daca registro.

o Determinar las relaciones entre las tablas.

o Perfeccionar el diseño.

o Utilidad en una base de datos

o Ordenar datos

o Búsquedas

o Cálculos y sumarios.

Aplicaciones de los lenguajes de programación.

API

Una API (interfaz de programación de aplicaciones) es un conjunto de

funciones que permiten al programador acceder a servicios de una aplicación

a través del uso de un lenguaje de programación.

Page 47: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 47

Una API ofrece al programador un cierto nivel de abstracción que en

mascara la complejidad de acceso a un sistema o aplicación proponiéndole

un conjunto de funciones de las cuales solo se conocen los parámetros y

los valores devueltos asimismo por analogía con un automóvil el conductor

no necesita conocer la mecánica del motor para conducir el automóvil.

El conductor solo tiene acceso a la interfaz compuesta por el volante los

pedales (acelerador, embargue, freno) los controles (indicadores luces

delanteras cajas de cambios) interruptores (luces de emergencia, luces

antiniebla, bocina, etc.).en cierta forma es simular a la interfaz presentada el

usuario.

Características

Una interfaz de programación representa a una interfaz de comunicación

entre componentes de software.se trata del conjunto de llamadas a ciertas

bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y

representa un método para conseguir abstracción en la programación

generalmente (aunque no necesariamente) entre los niveles o capas de

inferiores y los superiores de software. Uno de los principales propósito de

una API consiste en proporcionar un conjunto de funciones de uso

general por ejemplo para dibujar ventanas o iconos en la pantalla. De esta

forma los programadores se benefician de las ventajas de la API haciendo

uso de su funcionalidad evitándose el trabajo de programar todo desde el

principio. Las APIS asimismo son abstractas; el software que proporciona

una cierta API generalmente es llamado la implementación de esa API.

Framework

La palabra inglesa "framework" (marco de trabajo) define, en términos

generales, un conjunto estandarizado de conceptos, prácticas y criterios para

enfocar un tipo de problemática particular que sirve como referencia, para

enfrentar y resolver nuevos problemas de índole similar.

Page 48: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 48

En el desarrollo de software, un framework o infraestructura digital, es una

estructura conceptual y tecnológica de soporte definido, normalmente con

artefactos o módulos de software concretos, que puede servir de base para

la organización y desarrollo de software. Típicamente, puede incluir soporte

de programas, bibliotecas, y un lenguaje interpretado, entre otras

herramientas, para así ayudar a desarrollar y unir los diferentes componentes

de un proyecto.

Representa una arquitectura de software que modela las relaciones

generales de las entidades del dominio, y provee una estructura y una

especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del

dominio.

Siendo muy simple, es un esquema (un esqueleto, un patrón) para el

desarrollo y/o la implementación de una aplicación. Sí, es una definición muy

genérica, pero también puede serlo un framework: sin ir más lejos, el

paradigma MVC (Model-View-Controller) dice poco más que "separa en tu

aplicación la gestión de los datos, las operaciones, y la presentación". En el

otro extremo, otros frameworks pueden llegar al detalle de definir los

nombres de ficheros, su estructura, las convenciones de programación, etc.

Pongamos un ejemplo: una aplicación web que utilice Java como lenguaje de

programación puede implementarse de multitud de formas, mediante servlets

y JSPs. Hay algunas convenciones que es necesario seguir, como usar un

fichero de configuración web.xml, pero el programador sigue sin tener un

patrón claro a seguir para la creación de servlets, clases, JSPs, etc.

En una primera estandarización, la utilización de una arquitectura MVC

aconseja que separemos la lógica de la aplicación (en los servlets) de la

presentación (usando JSPs); en concreto, no sería correcto codificar lógica

de aplicación o accesos a base de datos dentro de los JSP.

Page 49: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 49

Un paso más allá: utilizando Faces como framework, la estructura de la

aplicación queda todavía más definida: un único servlet (FacesServlet) va a

controlar el flujo de la aplicación; además, el uso de un fichero concreto

(faces-config.xml) permite crear la navegación de la aplicación, definir los

objetos (beans) pasados como parámetros, etc., todo ello sin necesidad de

codificarlo en Java o JSP.

Los frameworks no necesariamente están ligados a un lenguaje concreto,

aunque sea así en muchas ocasiones. En el cada vez más popular Ruby on

Rails, 'Ruby' es el lenguaje de programación y 'Rails' el framework; por otro

lado, Java Server Faces está orientado a desarrollos en Java. Sin embargo,

nada impide definir el mismo framework para lenguajes diferentes: por

ejemplo, existe un framework llamado Biscuit cuyo objetivo es prácticamente

convertirse en un "PHP on Rails". Eso sí, cuanto más detallado es el

framework, más necesidad tendrá de ceñirse a un lenguaje concreto.

También es posible que el framework defina una estructura para una

aplicación completa, o bien sólo se centre en un aspecto de ella. Siguiendo

con los ejemplos, Ruby on Rails ofrece un marco para el desarrollo completo

de una aplicación web, mientras que Java Server Faces está más orientado

a la interfaz de usuario.

Las ventajas tienen utilizar un framework las que se derivan de utilizar un

estándar; entre otras: El programador no necesita plantearse una estructura

global de la aplicación, sino que el framework le proporciona un esqueleto

que hay que "rellenar".

Facilita la colaboración. Cualquiera que haya tenido que "pelearse" con el

código fuente de otro programador (¡o incluso con el propio, pasado algún

tiempo!) sabrá lo difícil que es entenderlo y modificarlo; por tanto, todo lo que

sea definir y estandarizar va a ahorrar tiempo y trabajo a los desarrollos

colaborativos.

Page 50: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 50

Es más fácil encontrar herramientas (utilidades, librerías) adaptadas al

framework concreto para facilitar el desarrollo. Los frameworks no

necesariamente están ligados a un lenguaje concreto, aunque sea así en

muchas ocasiones. En el cada vez más popular Ruby on Rails, 'Ruby' es el

lenguaje de programación y 'Rails' el framework; por otro lado, Java Server

Faces está orientado a desarrollos en Java. Sin embargo, nada impide definir

el mismo framework para lenguajes diferentes: por ejemplo, existe un

framework llamado Biscuit cuyo objetivo es prácticamente convertirse en un

"PHP on Rails". Eso sí, cuanto más detallado es el framework, más

necesidad tendrá de ceñirse a un lenguaje concreto.

También es posible que el framework defina una estructura para una

aplicación completa, o bien sólo se centre en un aspecto de ella. Siguiendo

con los ejemplos, Ruby on Rails ofrece un marco para el desarrollo

completo de una aplicación web, mientras que Java Server Faces está más

orientado a la interfaz de usuario.

Siendo muy simple, es un esquema (un esqueleto, un patrón) para el

desarrollo y/o la implementación de una aplicación. Sí, es una definición muy

genérica, pero también puede serlo un framework: sin ir más lejos, el

paradigma MVC (Model-View-Controller) dice poco más que "separa en tu

aplicación la gestión de los datos, las operaciones, y la presentación". En el

otro extremo, otros frameworks pueden llegar al detalle de definir los

nombres de ficheros, su estructura, las convenciones de programación, etc.

Pongamos un ejemplo: una aplicación web que utilice Java como lenguaje de

programación puede implementarse de multitud de formas, mediante servlets

y JSPs. Hay algunas convenciones que es necesario seguir, como usar un

fichero de configuración web.xml, pero el programador sigue sin tener un

patrón claro a seguir para la creación de servlets, clases, JSPs, etc.

Page 51: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 51

En una primera estandarización, la utilización de una arquitectura MVC

aconseja que separemos la lógica de la aplicación (en los servlets) de la

presentación (usando JSPs); en concreto, no sería correcto codificar lógica

de aplicación o accesos a base de datos dentro de los JSP.

Un paso más allá: utilizando Faces como framework, la estructura de la

aplicación queda todavía más definida: un único servlet (FacesServlet) va a

controlar el flujo de la aplicación; además, el uso de un fichero concreto

(faces-config.xml) permite crear la navegación de la aplicación, definir los

objetos (beans) pasados como parámetros, etc., todo ello sin necesidad de

codificarlo en Java o JSP.

PROCEDIMIENTOS Y DESCRIPCION DE LAS ACTIVIDADES

REALIZADAS.

Todo proyecto de ingeniería tiene sus fines ligados a la obtención de un

producto, proceso o servicio que es necesario generar a través de diversas

actividades. Algunas de estas actividades pueden agruparse en fases por

que globalmente contribuye a obtener un producto intermedio necesario para

continuar hacia el producto final y facilitar la gestión del proyecto.

Los sistemas y aplicaciones más basadas en web (webApps) ofrecen un

complejo arreglo de contenido y funcionabilidad a una amplia población de

usuario final. Ingeniería web (IWEB).es el proceso con el que se crea

WebApps de alta calidad. La IWEB no es un clon perfecto de la ingeniería

del software pero toma prestado muchos conceptos y principios

fundamentales de ella. Además el proceso IWEB acentúa actividades técnica

y administrativa similares. Existen sutiles diferencias en la manera como se

dirigen actividades pero el método primordial dicta un enfoque disciplinado

para el desarrollo de un sistema basado en la computadora.

Page 52: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 52

¿Quién lo hace? Los ingenieros web y los desarrolladores del contenido que

non es técnico crean las webApps.

¿Por qué es importante? Conforme las WebApps se integran cada vez cada

vez más en las estrategias de negocios para pequeñas y grandes empresas

(por ejemplo, en el comercio electrónico) crece en importancia la necesidad

de construir sistemas confiables prácticos y adaptables por tanto es

necesario un enfoque disciplinado en cuanto al desarrollo de webApps

¿Cuáles son los pasos? Al igual que cualquier disciplina de ingeniería, la

IWEB aplica un enfoque genérico que se suaviza mediante estrategia,

tácticas y métodos especializados. El proceso IWEB y se modelan requisitos

y el diseño de la web App. El sistema se construye con tecnologías y

herramientas especializados asociadas con la web. Entonces se entregan a

los usuarios finales y se evalúa mediante criterios tanto técnicos como

empresariales. Dado que la WebApps evoluciona continuamente se debe

establecer mecanismos para el control de configuraciones el aseguramiento

de la calidad y el soporte continúo.

¿Cuál es el producto obtenido? Se producen muchos productos de trabajo

IWeb.el resultado finales es la Web App operativa.

Metodología IWEB

Comunicación con el Cliente: Dentro del proceso IWeb la comunicación

con el cliente se caracteriza por medio de dos grandes tareas: el análisis del

negocio y la formulación. El análisis del negocio define el contexto

empresarial-organizativo para la Web App. Además, se identifican los

participantes, se predicen los potenciales cambios en el ambiente o los

requisitos del negocio, y se define la integración entre la Web App y otras

aplicaciones de negocios, base de datos y funciones. La formulación es una

actividad de recopilación de requisitos que involucra a todos los

participantes. El intento es describir el problema que la Web App habrá de

Page 53: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 53

resolver (junto con los requisitos básicos para la Web App) con el

aprovechamiento de la mejor información disponible. Además, se intenta

identificar áreas de incertidumbres y donde ocurrirán cambios potenciales.

Planeación: Se crea el plan del proyecto para el incremento de la Web App.

El plan consiste de una definición de tareas y un calendario de plazos

respecto al periodo (usualmente medido en semanas) proyectado para el

desarrollo del incremento de la Web App.

Modelado: Las labores convencionales de análisis y diseño de ingeniería del

software se adaptan al desarrollo de la Web App, se mezclan y luego se

funden en la actividad de modelado IWeb. El intento es desarrollar análisis

“rápidos” y modelos de diseños que definan requisitos y al mismo tiempo

representen una Web App que los satisfará.

Construcción: Las herramientas y la tecnología IWeb se aplican para

construir la Web App que se ha modelado. Una vez que se construye el

incremento de Web App, se dirige una serie de pruebas rápidas para

asegurar que se describan los errores en el diseño (es decir: contenido,

arquitectura, interface, navegación). Pruebas adicionales abordan otras

características Web App.

Despliegue: La Web App se configura para su ambiente operativo, se

entrega a los usuarios finales y luego comienza un periodo de evaluación. La

retroalimentación acerca de la evaluación se presenta al equipo de IWeb y el

incremento se modifica conforme se requiera.

Page 54: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 54

Atributos De Los Sistemas Y Aplicaciones Web

En la gran mayoría de las WebApps se encuentran los siguientes atributos:

Intensidad de Red: Una Web App reside en una red y debe satisfacer las

necesidades de una variada comunidad de clientes. Una Web App puede

residir en la Internet (y, en consecuencia, permitir una comunicación mundial

abierta). Alternativamente, una aplicación puede colocarse en una Intranet (lo

que implementa la comunicación en una organización) o una Extranet

(comunicación inter-red).

Concurrencia: Un gran número de usuarios pueden tener acceso a la Web

App al mismo tiempo. En muchos casos, los patrones de uso entre los

usuarios finales variaran enormemente.

Carga Impredecible: El número de usuarios de la Web App puede variar en

órdenes de magnitud de día con día. El lunes pueden mostrarse 100

usuarios, el martes pueden usar el sistema 10, 000.

Page 55: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 55

Desempeño: Si un usuario de Web App debe esperar demasiado (para

ingresar, para procesamiento en el lado del servidor, para formateo y

despliegue en el lado del cliente) puede decidir irse a cualquier otra parte.

Disponibilidad: Aunque la expectativa de una disponibilidad del total es

poco razonable, los usuarios de las WebApps populares con frecuencia

demandan acceso sobre una base de “24/7/365”. Los usuarios en Australia o

Asia pueden demandar acceso durante momentos cuando las tradicionales

aplicaciones de software doméstico en Norteamérica pueden estar fuera de

línea por mantenimiento.

Sensibilidad del Contenido: La calidad y naturaleza estética del contenido

sigue siendo un importante determinante de la calidad de una Web App.

Evolución Continua: A diferencia del software de aplicación convencional,

que evoluciona a lo largo de una serie de planeadas liberaciones espaciadas

cronológicamente, las aplicaciones Web evolucionan de manera continua. No

es raro que algunas Web App (específicamente, su contenido) se actualicen

sobre una agenda minuto a minuto, o que el contenido sea calculado de

manera independiente para cada solicitud.

Inmediatez: Aunque la inmediatez – la apremiante necesidad de poner un

software en el mercado rápidamente – es una característica de muchos

dominios de aplicación, las WebApps con frecuencia muestran un tiempo

para comercializar que puede ser cuestión de unos cuantos días o semanas.

Los ingenieros Web deben aplicar métodos de planeación, análisis, diseño,

implementación y puesta a prueba que han sido adaptados a los apretados

tiempos requeridos para el desarrollo de WebApps.

Seguridad: Puesto que las WebApps están disponibles mediante el acceso

a la red, es difícil, si no imposible, limitar la población de usuarios finales que

pueden tener acceso a la aplicación. Con la finalidad de proteger el

Page 56: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 56

contenido confidencial y ofrecer modos seguros de transmisión de datos, se

deben implementar fuertes medidas de seguridad a lo largo de la

infraestructura que sustenta una Web App y dentro de la aplicación misma.

Estética: Una parte innegable de la apariencia de una Web App es su

presentación y la disposición de sus elementos. Cuando una aplicación se

diseña para comercializar o vender productos o ideas, la estética puede tener

tanto que ver con el éxito como el diseño técnico.

Estos atributos generales se aplican a todas las WebApps, pero con

diferentes grados de influencia.

Informativo: se proporciona contenido de solo lectura con navegación y

enlaces simples.

Descarga: un usuario descarga información del servidor apropiado.

Personalizable: el usuario personaliza el contenido, según sus necesidades

específicas.

Interacción: la comunicación entre una comunidad de usuarios ocurre por

medio de cuartos de charla, tableros de anuncios o mensajería instantánea.

Entrada del Usuario: la entrada con base en formularios es el principal

mecanismo para las necesidades de la comunicación.

Orientada a Transacciones: el usuario hace una solicitud (por ejemplo,

realiza un pedido) que ejecuta la Web App.

Orientada a Servicios: la aplicación proporciona un servicio al usuario; por

ejemplo, lo asesora en la determinación del pago de una hipoteca.

Portal: la aplicación canaliza al usuario hacia otro contenido o servicios Web

fuera del dominio del portal de aplicación

Page 57: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 57

Acceso a una Base de Datos: el usuario consulta una gran base de datos y

extrae información.

Almacén de Datos: el usuario consulta una colección de grandes bases de

datos y extrae información.

CAPITULO lV

RESULTADOS, PLANOS, GRÁFICAS, PROTOTIPOS Y PROGRAMAS

Entidades de la bd

Entidades de la bd

Usu_registrado

Liberación_crédito

Alumno

Curso

Participantes

Proyecto

Acep_proyecto

Estas son las entidades (tablas) que forman parte de la base de datos y

ayudan para poder realizar las tareas de registro de alumno, ingresos,

asignación de asesor, modificación de registro, reportes y e impresión de

formatos.

A continuación se describen cada una de las entidades que forman parte de

la base de datos.

Page 58: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 58

Usu_registrado:

Es utilizado para almacenar los datos de los usuarios que manejaran la

aplicación web así como también la respectiva contraseña para el acceso de

la misma página web.

Liberación_crédito:

Guarda toda la información general de los cursos que tomaron los alumnos

para llevar un control sobre la misma.

Alumno:

Es utilizada para almacenar los datos de los alumnos que están

inscritos en la carrera de ingeniería en sistemas computacionales, para

llevar el control de los alumnos existentes.

Curso:

Guardar todo la información relevante relacionada con cursos académicos

impartidos por los docentes de la academia de ingeniería en sistemas

computacional.

Participantes:

Aquí se utilizara para guardar datos personales de los alumnos a participar

en los cursos académicos.

Proyecto:

Guarda la información general de los proyectos que se realizan en

residencias profesional, los cuales serán modificados por el usuario final.

Acep_proyecto:

Se almacenara toda información que contenga todas las aceptaciones de

los proyectos de residencia.

Page 59: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 59

Descripción de los datos de la BD

Se mostrara a través de las siguientes tablas, la descripción de los campos

que fueron identificados en cada una de las entidades.

Entidad: Usu_registrado

Campo Dominio Longitud Tipo de

campo

Validación

*PK

idusua_registrado

Numero único de

identificación del

usuario.

200 bytes id_automat

ico

Entrada

Obligatoria

nombre Nombre de

usuario.

130 bytes varchar entrada

obligatoria

apellidos Apellidos del

usuario.

145 bytes varchar Entrada

obligatoria

email Email del usuario

registrado.

132 bytes varchar Entrada

obligatoria

Usuario Nombre de

usuario registrado.

123 bytes varchar Entrada

obligatoria

contraseña Contraseña del

usuario.

122 bytes varchar Entrada

obligatoria

Page 60: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 60

Entidad: liberación crédito

Alumno:

Campo Dominio Longitud Tipo de

campo

Validación

*PK nom_alum Nombre del

alumno.

200 bytes id_automat

ico

Entrada

Obligatoria

Nombre_cur Nombre del curso. 130 bytes varchar entrada

obligatoria

Nombre_cong Nombre del

congreso.

145 bytes varchar Entrada

obligatoria

Extraescolar Actividad que

realizo

132 bytes varchar Entrada

obligatoria

Docente_liber Docente que lo

está liberando.

123 bytes varchar Entrada

obligatoria

otros Otras actividades

que tomo el

alumno.

122 bytes varchar Entrada

obligatoria

Campo Dominio Longitud Tipo de

campo

Validación

*PK idalumnos Nuemro único del

alumno.

200 bytes id_automatico Entrada

Obligatoria

matricula Identificación del

alumno de.

130 bytes varchar entrada

obligatoria

Nombre Nombre del

alumno.

145 bytes varchar Entrada

obligatoria

apellidos Apellidos del 132 bytes varchar Entrada

Page 61: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 61

Curso:

alumno. obligatoria

semestre Semestre que

cursa el alumno.

123 bytes varchar Entrada

obligatoria

Gra_grup Grado y grupo que

cursa el alumno.

122 bytes varchar Entrada

obligatoria

Campo Dominio Longitud Tipo de

campo

Validación

*PK idcurso Identificación del

curso.

200 bytes id_automat

ico

Entrada

Obligatoria

nomcurso Nombre del curso. 130 bytes varchar entrada

obligatoria

descripcion Descripción del

curso

145 bytes varchar Entrada

obligatoria

docimpart Docente que

imparte

132 bytes varchar Entrada

obligatoria

carrera Tipo de carrera 123 bytes varchar Entrada

obligatoria

Page 62: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 62

Participantes:

Proyecto:

Campo Dominio Longitud Tipo de

campo

Validación

*PK idparticipantes Identificación del

participante

200 bytes id_automat

ico

Entrada

Obligatoria

Nombre Nombre de

participantes

130 bytes varchar entrada

obligatoria

apellidos Apellidos del

participantes.

145 bytes varchar Entrada

obligatoria

correo Correo del

participante.

132 bytes varchar Entrada

obligatoria

Docente que lo

está liberando.

123 bytes varchar Entrada

obligatoria

Gra_grup Grado y grupo del

participante.

122 bytes varchar Entrada

obligatoria

Campo Dominio Longitud Tipo de

campo

Validación

*PK idproyecto Numero de

identificaion del

proyecto

200 bytes id_automat

ico

Entrada

Obligatoria

Nom_proy Nombre del

proyecto.

130 bytes varchar entrada

obligatoria

Tipo_proy Tipo de proyecto. 145 bytes varchar Entrada

obligatoria

periodo Periodo del 132 bytes varchar Entrada

Page 63: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 63

Acep_proyecto:

proyecto obligatoria

Nom_empresa Nombre de la

empresa.

123 bytes varchar Entrada

obligatoria

Gra_grup Grado y grupo del

residente.

122 bytes varchar Entrada

obligatoria

Campo Dominio Longitud Tipo de

campo

Validación

*PK acep_proyecto Identificación del

proyecto

acceptado

200 bytes id_automatico Entrada

Obligatoria

Nom_proyecto Nombre del

proyecto.

130 bytes varchar entrada

obligatoria

Nom_asesor Nombre del

asesor.

145 bytes varchar Entrada

obligatoria

Nom_alumno Nombre del

alumno

132 bytes varchar Entrada

obligatoria

Periodo proyecto Periodo del

proyecto.

123 bytes varchar Entrada

obligatoria

Page 64: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 64

Cronograma de actividad

Page 65: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 65

Codificacion y diseño de la pagina web

Inicio de la pagina web

<!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" xml:lang="en" lang="en">

<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"

/><title>&quot;PORTAL WEB ISC-INF&quot;</title><!-- CSS --><link rel="stylesheet"

href="css/style.css" type="text/css" media="screen" />

<!--[if IE 6]><link rel="stylesheet" type="text/css" media="screen" href="css/ie-hacks.css"

/><script type="text/javascript" src="js/DD_belatedPNG.js"></script><script>/* EXAMPLE

*/DD_belatedPNG.fix('*')/script<![endif]--><!--[if IE 7]><link rel="stylesheet" href="css/ie7-

hacks.css" type="text/css" media="screen" /><![endif]--><!--[if IE 8]><link rel="stylesheet"

href="css/ie8-hacks.css" type="text/css" media="screen" /><![endif]--><!-- ENDS CSS --><!--

prettyPhoto --><link rel="stylesheet" href="js/prettyPhoto/css/prettyPhoto.css" type="text/css"

media="screen" /><!-- ENDS prettyPhoto --><!-- JS --><script type="text/javascript"

src="js/jquery_1.4.2.js"></script><script type="text/javascript"

src="js/jqueryui.js"></script><script type="text/javascript" src="js/easing.js"></script><script

type="text/javascript" src="js/jquery.cycle.all.js"></script><script

type="text/javascript"src="js/tooltip/jquery.tools.min.js"></script><script type="text/javascript"

src="js/filterable.pack.js"></script><script

type="text/javascript"src="js/prettyPhoto/js/jquery.prettyPhoto.js"></script> <script

type="text/javascript" src="js/chirp.js"></script><script

type="text/javascript"src="js/jquery.tabs/jquery.tabs.pack.js"></script><script

type="text/javascript" src="js/custom.js"></script><!-- ENDS JS --><!-- Cufon --><script

src="js/cufon-yui.js" type="text/javascript"></script><script src="js/fonts/bebas-

neue_400.font.js" type="text/javascript"></script> <!-- /Cufon --><!-- superfish --><link

rel="stylesheet" type="text/css" media="screen" href="css/superfish-custom.css" /> <script

type="text/javascript" src="js/superfish-1.4.8/js/hoverIntent.js"></script><script

Page 66: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 66

type="text/javascript" src="js/superfish-1.4.8/js/superfish.js"></script> <!-- ENDS superfish --

><!-- tabs --> <link rel="stylesheet" href="css/jquery.tabs.css" type="text/css" media="print,

projection, screen" / <!-- Additional IE/Win specific style sheet (Conditional Comments) -->

<!--[if lte IE 7]><link rel="stylesheet" href="css/jquery.tabs-ie.css" type="text/css"

media="projection, screen"> <![endif]--><!-- ENDS tabs --></head> <body>

<!-- HEADER --><div id="home-header"><div class="degree"><!-- wrapper --><div class="wrapper"><a href="index.html"><img src="img/logoiscinf.png" alt="Logo" width="245" height="117" id="logo" /></a><!-- search --><div class="top-search"> <form method="get" id="searchform" action=""><div><input type="text" value="Search..." name="s" id="s" onfocus="defaultInput(this)" onblur="clearInput(this)" /> <input type="submit" id="searchsubmit" value=" " /></div></form></div><!-- ENDS search --> <!-- navigation --> <div id="nav-holder"> <ul id="nav" class="sf-menu"> <li class="current_page_item"><a href="index.html">INICIO</a> <ul> <li><a href="index-3d.html">INICIO EN 3D</a></li> </ul> </li> <li><a href="#">NUESTRO TECNOLOGICO</a> <ul> <li><a href="mision_vision.html">MISION Y VISION</a></li> <li><a href="about-styled.html">DIRECTORIO ADMINISTRATIVO</a></li> </ul> </li> <li><a href="#">BANCO DIGITAL</a> <ul> <li><a href="about-more.html">RESIDENCIAS</a></li> <li><a href="aceptacion.php">RESULTADO DE ANTEPROYECTOS</a></li> <li><a href="about-accordion.html">ANTOLOGIAS Y MANUALES</a></li> </ul> </li> <li><a href="#">CURSOS</a> <ul> <li><a href="curso/salones.php">INGENIERIA EN SISTEMAS COMPUTACIONALES</a></li> <li><a href="gallery-3.html">INGENIERIA EN INFORMATICA</a></li> </ul> </li> <li ><a href="blog.html">TECNOLOGIAS</a></li> <li><a href="contact.html">CONTACT</a></li> <li><a href="#">SERVICIOS</a>

Page 67: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 67

<ul> <li><a href="#">OFERTA EDUCATIVA ISC</a></li> <li><a href="about-toggle.html">OFERTA EDUCATIVA INF</a></li> <li><a href="becas.html">BECAS</a></li> <li><a href="about-accordion.html">CENTRO DE COMPUTO</a></li> <li><a href="calendario/index.php">CALENDARIO ESCOLAR</a></li> </ul> </li> <li><a href="#">ADMIN</a> <ul> <li><a href="_admin/index.php">ADMIN ISC</a></li> <li><a href="#">ADMIN INF</a></li> </ul> </li> </div> <!-- ENDS navigation --> </div> <!-- ENDS HEADER-wrapper --> </div> </div> <!-- ENDS HEADER --> <!-- MAIN --> <div id="main"> <!-- wrapper --> <div class="wrapper"> <!-- home-content --> <div class="home-content"> <!-- slideshow --> <div id="slideshow"> <a href="#" id="prev"></a> <a href="#" id="next"></a> <a href="" id="slideshow-link" ><span></span></a> <!-- slides --> <ul id="slides"> <li><a href="#1"><img src="images/1.jpg" alt="Imagen" /></a></li> <li><a href="#2"><img src="images/2.jpg" alt="Imagen" /></a></li> <li><a href="#3"><img src="images/3.jpg" alt="Imagen" /></a></li> </ul> <!-- ENDS slides --> </div> <!-- ENDS slideshow --> <!-- headline --> <div class="headline"> <a href="http://www.itsacayucan.edu.mx" target="_blank" >INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN</a>"Tecnologia de Excelencia"

Page 68: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 68

</div> <!-- ENDS headline --> <div class="shadow-divider"></div> <!-- front-left-col --> <div class="front-left-col"> <div class="bullet-title"> <div class="big">NOTICIAS RECIENTES</div> <div class="small">UNA LISTA DE NOVEDADES RECIENTES</div> </div> <!-- news list --> <ul class="news-list"> <li> <div class="news-title"><a href="#">Portal de ISC ahora en Facebook</a></div> <div class="news-brief"> Debido a la demanda en el ambito de redes sociales la Academia de Ingenieria en Sistemas Computacionales se ha dado a la tarea de la creacion de su nuevo portal en Facebook <a href="https://www.facebook.com/AcademiaIngsist">www.facebook.com/AcademiaIngsist</a> </div> <div class="news-date">14 Enero 2014</div> </li> <li> <div class="news-title"><a href="#">Ganadores del Concurso de Programaci&oacute;n</a></div> <div class="news-brief"> Aqui los ganadores de el concurso de Programacion que se realizo en el Instituto Tecnologico Superior de Acayucan de la Carrera de Ingenieria en Sistemas Computacionales. </div> <div class="news-date">14 Enero, 2014</div> </li> <li> <div class="news-title"><a href="#">Globos de Camboya</a></div> <div class="news-brief"> Gran exibicion de Globos de Cambolla en el Tecnologico, dicho evento organizado por el MTI. Abraham Alor de los Santos, conto con la partiipacion de la carrera de Ingenieria en Sistemas Computacionales. </div> <div class="news-date">14 Enero, 2014</div> </li> </ul> <!-- ENDS news-list --> <p><a href="#" class="link-button right"><span>MORE POSTS</span></a></p> </div> <!-- ENDS front-left-col -->

Page 69: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 69

<!-- front-right-col--> <div class="front-right-col"> <div class="bullet-title"> <div class="big">NOTICIAS DESTACADAS</div> <div class="small">SELECCIONA LA NOTICIA Y ENTERATE DE LAS NOVEDADES DE LA CARRERA DE ISC E INF</div> </div> <ul class="blocks-holder"> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">PAGINA OFICIAL DE ISC EN FACEBOOK</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia1.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a> </li> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">CONCURSO DE PROGRAMACION</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia2.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a> </li> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">GRAN EVENTO DE GLOBOS DE CAMBOYA</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia3.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a>

Page 70: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 70

</li> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">CONCURSO DE ALTARES</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia4.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a> </li> </ul> </div> <!-- ENDS front-left-col --> </div> <!-- ENDS home-content --> <div class="clear"></div> <!-- twitter --> <div class="twitter-reader"> <script>Chirp({user:"ansimuz",max:1})</script></div> </div> <!-- ENDS twitter --> </div> <!-- ENDS main-wrapper --> </div> <!-- ENDS MAIN --> <!-- FOOTER --> <div id="footer"> <div class="degree"> <!-- wrapper --> <div class="wrapper"> <!-- social bar --> <div id="social-bar"> <ul class="follow-us"> <li><span>SIGUENOS EN</span></li> <li ><a href="#" class="icon-32 twitter-32 social-tooltip" title="Mandanos tus tweets">link</a></li> <li ><a href="#" class="icon-32 youtube-32 social-tooltip" title="Siguenos en Youtube">link</a></li> <li ><a href="#" class="icon-32 google-32 social-tooltip" title="Buscanos por Google">link</a></li> <li ><a href="#" class="icon-32 facebook-32 social-tooltip" title="Comunicate por Facebook">link</a></li> </ul> </div> <!-- ENDS social bar --> <!-- footer-cols --> <div class="footer-cols">

Page 71: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 71

<br><center><h6>INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN</h6> Carretera Costera del Golfo Km. 216.4<br> Colonia Agr&iacute;cola Michapan, C.P. 96000,<br> Tel&eacute;fono: 01(924) 24 5 7410 / Fax (924)5 7418.<br> Acayucan, Veracruz.</center> </div> <!-- ENDS footer-cols --> </div> <!-- ENDS footer-wrapper --> </div> </div> <!-- ENDS FOOTER --> <!-- start cufon --> <script type="text/javascript"> Cufon.now(); </script> <!-- ENDS start cufon --> </body> </html>

Buscador de residencias aceptadas

<?php

session_start();

include_once('_admin/php_conexion.php');

include_once('_admin/Class/funciones.php');

include_once('_admin/Class/class_alumnos.php');

#estado

if(!empty($_GET['estado'])){

Page 72: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 72

$nit=limpiar($_GET['estado']);

$cans=mysql_query("SELECT * FROM salones WHERE estado='s'

and id='$nit'");

if($dat=mysql_fetch_array($cans)){

$xSQL="Update salones Set estado='n' Where id='$nit'";

mysql_query($xSQL);

header('location:salones.php');

}else{

$xSQL="Update salones Set estado='s' Where id='$nit'";

mysql_query($xSQL);

header('location:salones.php');

}

}

#paginar

$maximo=5;

if(!empty($_GET['pag'])){

$pag=limpiar($_GET['pag']);

}else{

$pag=1;

}

$inicio=($pag-1)*$maximo;

$cans=mysql_query("SELECT COUNT(nom_proy)as total FROM proyecto");

if($dat=mysql_fetch_array($cans)){

$total=$dat['total']; #inicializo la variable en 0

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Resultados de Anteproyectos</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="_admin/css/bootstrap.css" rel="stylesheet">

<link href="_admin/css/bootstrap-responsive.css" rel="stylesheet">

<link href="_admin/css/docs.css" rel="stylesheet">

<link href="_admin/js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

Page 73: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 73

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<div align="center">

<table width="90%" border="0">

<tr>

<td>

<table class="table table-bordered">

<tr class="success">

<td>

<div class="row-fluid">

<div class="span6">

<h3><a href="index.html"><img src="img/decano.png" width="120"

height="80" alt="retroceso"title="Click para regresar al inicio del Portal"></a>Residencias

aceptadas</h3>

Page 74: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 74

</div>

<div class="span6">

<div align="right">

<div class="btn-group">

</span>

</button>

<ul class="dropdown-menu">

<?php

$c=mysql_query("SELECT * FROM

salones GROUP BY curso");

while($d=mysql_fetch_array($c)){

echo '<li><a

href="salones.php?cursos='.$d['curso'].'">'.$d['curso'].'</a></li>';

}

?>

<li><a href="aceptacion.php?cursos=0">Todos</a></li>

</ul>

</div><br><br>

<form name="form1" method="post" action="">

<div class="input-prepend">

<span class="add-on"><i class="icon-search"></i></span>

<input name="bus" type="text" placeholder="Introduce tu Matricula"

class="input-xlarge" autocomplete="off" autofocus>

</div>

</form>

</div>

</div>

</div>

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td>

<?php

if(!empty($_POST['nom_proyecto']) and !empty($_POST['nom_asesor'])){

$nombre=limpiar($_POST['nom_proyecto']);

$curso=limpiar($_POST['nom_asesor']);

if(empty($_POST['idacep'])){

$c_curso = new Proceso_Salones($nombre,$curso,'');

$c_curso->crear();

echo ' <div class="alert alert-info" align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

Page 75: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 75

<strong>

El Curso / Salon

"'.$nombre.'" Registrado con Exito en la Base de Datos

</strong>

</div>';

}else{

$id=limpiar($_POST['id']);

$c_curso = new Proceso_Salones($nombre,$curso,$id);

$c_curso->actualizar();

echo ' <div class="alert alert-info" align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>

El Curso / Salon

"'.$nombre.'" Actualizado con Exito en la Base de Datos

</strong>

</div>';

}

}

?>

<table class="table table-bordered table table-hover">

<tr class="success">

<td><strong>Nombre del Proyecto</strong></td>

<td><center>

<strong>Nombre del Asesor</strong>

</center></td>

<td><strong>Nombre del Alumno</strong></td>

<td><strong>Matricula</strong></td>

</tr>

<?php

if(empty($_GET['matricula'])){

if(empty($_POST['bus'])){

$sql="SELECT * FROM aceproyecto ORDER BY matricula

LIMIT $inicio, $maximo";

}else{

$bus=limpiar($_POST['bus']);

$sql="SELECT * FROM aceproyecto WHERE matricula LIKE

'%$bus%' ORDER BY matricula LIMIT $inicio, $maximo";

}

}else{

$bus=limpiar($_GET['nom_asesor']);

$sql="SELECT * FROM aceproyecto WHERE nom_asesor='$bus'

ORDER BY matricula LIMIT $inicio, $maximo";

}

Page 76: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 76

$can=mysql_query($sql);

while($dato=mysql_fetch_array($can)){

?>

<tr>

<td></i> <?php echo $dato['nom_proyecto']; ?></td>

<td><?php echo $dato['nom_asesor']; ?></td>

<td><?php echo $dato['nom_alumno']; ?></td>

<td><?php echo $dato['matricula']; ?></td>

</tr>

<div id="actualizar<?php echo $dato['idacep']; ?>" class="modal hide fade" tabindex="-1"

role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

<form name="form2" method="post" action="">

<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Crear Nuevo Curso</h3>

</div>

<div class="modal-body">

<strong>Nombre del Salon</strong><br>

<input type="text" name="nombre" autocomplete="off" required value="<?php echo

$dato['nombre']; ?>"><br>

<strong>Nombre del Curso</strong><br>

<input type="text" name="curso" list="characters" autocomplete="off" required

value="<?php echo $dato['curso']; ?>"><br>

<strong>Horario</strong><br>

<input type="text" name="horario" autocomplete="off" required value="<?php echo

$dato['horario']; ?>"><br>

<strong>Disponible para la Carrera</strong><br>

<input type="text" name="carrera" autocomplete="off" required value="<?php echo

$dato['carrera']; ?>">

<datalist id="characters">

<?php

$c=mysql_query("SELECT nombre FROM salones ORDER

BY nombre");

while($d=mysql_fetch_array($c)){

echo '<option value="'.$d['nombre'].'">';

}

?>

</datalist>

<br>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-

remove"></i> Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>

Actualizar Salon</strong></button>

Page 77: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 77

</div>

</form>

</div>

<?php } ?>

</table>

<center>

<div class="pagination">

<ul>

<?php

if(empty($_GET['cursos']) and empty($_POST['bus'])){

$tp = ceil($total/$maximo);#funcion que devuelve entero

redondeado

for ($n=1; $n<=$tp ; $n++){

if($pag==$n){

echo '<li class="active"><a

href="salones.php?pag='.$n.'">'.$n.'</a></li>';

}else{

echo '<li><a

href="salones.php?pag='.$n.'">'.$n.'</a></li>';

}

}

}

?>

</ul>

</div>

</center>

</td>

</tr>

<tr>

<td>&nbsp;</td>

</tr>

</table>

<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-

labelledby="myModalLabel" aria-hidden="true">

<form name="form2" method="post" action="">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Crear Nuevo Curso</h3>

</div>

<div class="modal-body">

<strong>Nombre del Salon</strong><br>

<input type="text" name="nombre" autocomplete="off" required><br>

<strong>Nombre del Curso</strong><br>

<input type="text" name="curso" list="characters" autocomplete="off" required><br>

<strong>Horario</strong><br>

Page 78: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 78

<input type="text" name="horario" autocomplete="off" required value="<?php echo

$dato['horario']; ?>"><br>

<strong>Disponible para la Carrera</strong><br>

<input type="text" name="carrera" autocomplete="off" required value="<?php echo

$dato['carrera']; ?>">

<datalist id="characters">

<?php

$can=mysql_query("SELECT nombre FROM salones

ORDER BY nombre");

while($dato=mysql_fetch_array($can)){

echo '<option value="'.$dato['nombre'].'">';

}

?>

</datalist>

<br>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-

remove"></i> Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>

Guardar Salon</strong></button>

</div>

</form>

</div>

</div>

</body>

</html>

Registro de curso de academia

Page 79: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 79

<?php

session_start();

include_once('php_conexion.php');

include_once('class/funciones.php');

include_once('class/class.php');

if($_SESSION['tipo_usu']=='a'){

}else{

header('location:error.php');

}

if(!empty($_GET['estado'])){

$nit=limpiar($_GET['estado']);

$cans=mysql_query("SELECT * FROM cursos WHERE estado='s'

and id='$nit'");

if($dat=mysql_fetch_array($cans)){

$xSQL="Update cursos Set estado='n' Where id='$nit'";

mysql_query($xSQL);

header('location:cursos.php');

}else{

$xSQL="Update cursos Set estado='s' Where id='$nit'";

mysql_query($xSQL);

header('location:cursos.php');

}

}

#paginar

$maximo=10;

if(!empty($_GET['pag'])){

$pag=limpiar($_GET['pag']);

}else{

$pag=1;

}

$inicio=($pag-1)*$maximo;

$cans=mysql_query("SELECT COUNT(nombre)as total FROM cursos");

if($dat=mysql_fetch_array($cans)){

$total=$dat['total']; #inicializo la variable en 0

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Blanco</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

Page 80: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 80

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<link href="js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<table class="table table-bordered">

<tr class="info">

<td>

<div class="row-fluid">

<div class="span6">

Page 81: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 81

<h3 class="text-info"><img src="img/cur.png" class="img-circle"

width="80" height="80">

Registro y Control de Cursos</h3>

</div>

<div class="span6" align="right">

<form name="form1" method="post" action="" class="form-inline">

<!-- INGRESAR NUEVA curso --->

<a href="#nuevo" role="button" class="btn" data-toggle="modal">

<i class="icon-book"></i> <strong>Ingresar Nuevo Curso</strong>

</a> |

<div class="input-prepend">

<span class="add-on"><i class="icon-search"></i></span>

<input name="bus" type="text" placeholder="Buscar Cursos por Nombre"

class="input-xlarge" autocomplete="off">

</div>

</form>

</div>

</div>

</td>

</tr>

</table>

<?php

if(!empty($_POST['nombre'])){

$nombre=limpiar($_POST['nombre']);

$encargado=limpiar($_POST['encargado']);

$materia=limpiar($_POST['materia']);

if(empty($_POST['id'])){

#guardar

$objConsultar=new Consultar_Cursos($nombre);

if($objConsultar->consultar('nombre')==NULL){

$objGuardar=new

Proceso_Cursos($nombre,$materia,$encargado,'');

$objGuardar->crear();

echo ' <div class="alert alert-success"

align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>El Curso "'.$nombre.'"

Guardado con Exito</strong>

</div>';

}else{

#mensaje

echo ' <div class="alert alert-error" align="center">

<strong>El nombre del

Curso "'.$nombre.'" ya esta registrado en la base de datos</strong>

</div>';

Page 82: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 82

}

}else{

#actualizar

$id=limpiar($_POST['id']);

$objActualizar=new

Proceso_Cursos($nombre,$materia,$encargado,$id);

$objActualizar->actualizar();

echo ' <div class="alert alert-success" align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>El Curso "'.$nombre.'"

Actualizado con Exito</strong>

</div>';

}

}

?>

<table class="table table-bordered table table-hover">

<tr class="info">

<td width="26%"><strong class="text-info">Nombre del Curso</strong></td>

<td width="21%"><strong class="text-info">Materia</strong></td>

<td width="32%"><strong class="text-info">Encargado del Curso</strong></td>

<td width="12%"><center><strong class="text-info">Estado</strong></center></td>

<td width="9%">&nbsp;</td>

</tr>

<?php

if(empty($_POST['bus'])){

$sql="SELECT * FROM cursos ORDER BY nombre LIMIT $inicio,

$maximo";

}else{

$bus=limpiar($_POST['bus']);

$sql="SELECT * FROM cursos WHERE nombre LIKE '%$bus%'

ORDER BY nombre LIMIT $inicio, $maximo";

}

$can=mysql_query($sql);

while($dato=mysql_fetch_array($can)){

$id_curso=$dato['id'];

$objMateria=new Consultar_Materias($dato['materia']);

$objEncargado=new Consultar_Profesor($dato['encargado']);

?>

<tr>

<td><i class="icon-list-alt"></i> <?php echo $dato['nombre']; ?></td>

<td><?php echo $objMateria->consultar('nombre'); ?></td>

<td><?php echo $objEncargado->consultar('nombre'); ?></td>

<td>

<center>

<a href="cursos.php?estado=<?php echo $dato['id']; ?>" title="Cambiar de Estado">

Page 83: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 83

<?php echo estado($dato['estado']); ?>

</a>

</center>

</td>

<td>

<center>

<a href="#act<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-

toggle="modal" title="Actualizar Informacion">

<i class="icon-edit"></i>

</a>

<a href="#lis<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-

toggle="modal" title="Listado de Alumnos">

<i class="icon-list"></i>

</a>

</center>

</td>

</tr>

<!-- LISTADO DE SALONES -->

<div id="lis<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"

aria-labelledby="myModalLabel" aria-hidden="true">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel" align="center">Listado de Alumnos<br>"<?php echo

$dato['nombre']; ?>"</h3>

</div>

<div class="modal-body">

<?php

$n1=mysql_query("SELECT * FROM salon_alum

WHERE salon='$id_curso'");

if($i=mysql_fetch_array($n1)){

$n=0;

echo ' <div id="" style="overflow:scroll;

height:300px;">';

$can1=mysql_query("SELECT * FROM

salon_alum WHERE salon='$id_curso'");

while($info=mysql_fetch_array($can1)){

$n++;

$objAlumno=new

Consultar_Alumno($info['alumno']);

$objCarrera=new

Consultar_Carrera($objAlumno->consultar('carrera'));

echo '<i class="icon-user"></i> '.$n.'.

| '.$objAlumno->consultar('apellido').' '.$objAlumno->consultar('nombre').' ( '.$info['alumno'].' )

'.$objCarrera->consultar('nombre').'<br>';

}

Page 84: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 84

echo '</div>';

}else{

echo '<div class="alert alert-error"

align="center"><strong>No hay Alumnos Registrados en Este Salon</strong></div>';

}

?>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<?php

$n1=mysql_query("SELECT * FROM salon_alum WHERE

salon='$id_curso'");

if($i=mysql_fetch_array($n1)){

?>

<a href="reporte/listado_alumnos_salon.php?id=<?php echo $id_curso; ?>"

class="btn btn-primary">

<i class="icon-list"></i> <strong>Imprimir Reporte en EXCEL</strong>

</a>

<?php } ?>

</div>

</div>

<!-- actualizar salones -->

<div id="act<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"

aria-labelledby="myModalLabel" aria-hidden="true">

<form name="form1" method="post" action="" class="form-inline">

<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Actualizar Curso</h3>

</div>

<div class="modal-body">

<div class="row-fluid">

<div class="span6">

<strong>Nombre del Curso</strong><br>

<input type="text" name="nombre" autocomplete="off" required value="<?php

echo $dato['nombre']; ?>"><br>

<strong>Materia</strong><br>

<select name="materia">

<?php

$sql1="SELECT * FROM materias

WHERE estado='s' ORDER BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

Page 85: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 85

if($pro['id']==$dato['materia']){

echo '<option

value="'.$pro['id'].'" selected>'.$pro['nombre'].'</option>';

}else{

echo '<option

value="'.$pro['id'].'">'.$pro['nombre'].'</option>';

}

}

?>

</select>

</div>

<div class="span6">

<strong>Profesor Encargado</strong><br>

<select name="encargado">

<?php

$sql1="SELECT * FROM profesor ORDER

BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

if($pro['nit']==$dato['encargado']){

echo '<option

value="'.$pro['nit'].'" selected>'.$pro['nombre'].'</option>';

}else{

echo '<option

value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';

}

}

?>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>

<strong>Actualizar</strong></button>

</div>

</form>

</div>

<!--======================================-->

<?php } ?>

</table>

<div class="pagination" align="center">

<ul>

<?php

Page 86: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 86

if(empty($_POST['bus'])){

$tp = ceil($total/$maximo);#funcion que devuelve entero

redondeado

for ($n=1; $n<=$tp ; $n++){

if($pag==$n){

echo '<li class="active"><a

href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';

}else{

echo '<li><a

href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';

}

}

}

?>

</ul>

</div>

<!-- Guardar salones -->

<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-

labelledby="myModalLabel" aria-hidden="true">

<form name="form1" method="post" action="" class="form-inline">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Guardar Nuevo Curso</h3>

</div>

<div class="modal-body">

<div class="row-fluid">

<div class="span6">

<strong>Nombre del Curso</strong><br>

<input type="text" name="nombre" autocomplete="off" required><br>

<strong>Materia</strong><br>

<select name="materia">

<?php

$sql1="SELECT * FROM materias

WHERE estado='s' ORDER BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

echo '<option

value="'.$pro['id'].'">'.$pro['nombre'].'</option>';

}

?>

</select>

</div>

<div class="span6">

<strong>Profesor Encargado</strong><br>

Page 87: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 87

<select name="encargado">

<?php

$sql1="SELECT * FROM profesor ORDER

BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

echo '<option

value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';

}

?>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>

<strong>Guardar</strong></button>

</div>

</form>

</div>

<!--======================================-->

</body>

</html>

Pantalla de inicio ala administracion

Page 88: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 88

<?php

session_start();

include_once('php_conexion.php');

if(!empty($_POST['usuario']) and !empty($_POST['contra'])){

$usuario=limpiar($_POST['usuario']);

$contra=limpiar($_POST['contra']);

$can=mysql_query("SELECT * FROM usuarios WHERE

(usu='".$usuario."' or id='".$usuario."') and con='".$contra."'");

if($dato=mysql_fetch_array($can)){

$_SESSION['username']=$dato['usu'];

$_SESSION['tipo_usu']=$dato['tipo'];

///////////////////////////////

if($_SESSION['tipo_usu']=='a'){

if($dato['estado']=='s'){

header('location:Administrador.php');

}

}

}

}

?>

<!DOCTYPE html>

<html lang="es">

<head>

<meta charset="utf-8">

<title>Entrar</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="css/bootstrap.css" rel="stylesheet">

<style type="text/css">

body {

padding-top: 40px;

padding-bottom: 40px;

background-color: #f5f5f5;

background-image: url(img/fondoazul.jpg);

}

.form-signin {

max-width: 300px;

padding: 19px 29px 29px;

margin: 0 auto 20px;

background-color: #fff;

border: 1px solid #e5e5e5;

Page 89: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 89

-webkit-border-radius: 5px;

-moz-border-radius: 5px;

border-radius: 5px;

-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);

-moz-box-shadow: 0 1px 2px rgba(0,0,0,.05);

box-shadow: 0 1px 2px rgba(0,0,0,.05);

}

.form-signin .form-signin-heading,

.form-signin .checkbox {

margin-bottom: 10px;

}

.form-signin input[type="text"],

.form-signin input[type="password"] {

font-size: 16px;

height: auto;

margin-bottom: 15px;

padding: 7px 9px;

}

</style>

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

<script src="../assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/apple-touch-icon-

144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/apple-touch-icon-

114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/apple-touch-icon-72-

precomposed.png">

<link rel="apple-touch-icon-precomposed" href="ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="ico/favicon.png">

</head>

<body>

<div class="container">

<form name="form1" method="post" action="" class="form-signin">

<h2 class="form-signin-heading" align="center">Bienvenid@s</h2>

<input type="text" name="usuario" class="input-block-level" placeholder="Usuario"

autocomplete="off">

Page 90: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 90

<input type="password" name="contra" class="input-block-level"

placeholder="Contraseña" autocomplete="off">

<div align="center"> <button class="btn btn-large btn-primary"

type="submit">Iniciar</button></div>

<p>&nbsp;</p>

<?php

$act="1";

if(!empty($_POST['usuario']) and !empty($_POST['contra'])){

$usuario=limpiar($_POST['usuario']);

$contra=limpiar($_POST['contra']);

$can=mysql_query("SELECT * FROM usuarios WHERE

(usu='".$usuario."' or id='".$usuario."') and con='".$contra."'");

if(!$dato=mysql_fetch_array($can)){

if($act=="1"){

echo '<div class="alert alert-error"

align="center"><strong>Usuario y Contraseña Incorrecta</strong></div>';

}else{

$act="0";

}

}else{

if($dato['estado']=='n'){

echo '<div class="alert alert-error"

align="center"><strong>Consulte con el Administrador</strong></div>';

}

}

}else{

}

?>

</form>

</div> <!-- /container -->

<!-- Le javascript

================================================== -->

<!-- Placed at the end of the document so the pages load faster -->

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

Page 91: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 91

<script src="js/bootstrap-typeahead.js"></script>

</body>

</html>

Registro y control de alumno

<?php

session_start();

include_once('conexion1.php');

include_once('class/funciones.php');

include_once('class/class.php');

if($_SESSION['tipo_usu']=='a'){

}else{

header('location:error.php');

}

$bus='';#inicializar la variable

if(!empty($_GET['estado'])){

$nit=limpiar($_GET['estado']);

$cans=mysql_query("SELECT * FROM alumnos WHERE id='$nit'");

if($dat=mysql_fetch_array($cans)){

if($dat['estado']=='s'){

$xSQL="Update alumnos Set estado='n' Where

id='$nit'";

mysql_query($xSQL);

header('location:alumno.php');

}else{

$xSQL="Update alumnos Set estado='s' Where

id='$nit'";

mysql_query($xSQL);

Page 92: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 92

header('location:alumno.php');

}

}

}

#paginar

$maximo=10;

if(!empty($_GET['pag'])){

$pag=limpiar($_GET['pag']);

}else{

$pag=1;

}

$inicio=($pag-1)*$maximo;

$cans=mysql_query("SELECT COUNT(nombre)as total FROM alumnos");

if($dat=mysql_fetch_array($cans)){

$total=$dat['total']; #inicializo la variable en 0

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Blanco</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<link href="js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

Page 93: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 93

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<table class="table table-bordered">

<tr class="info">

<td>

<div class="row-fluid">

<div class="span6">

<h3 class="text-info"><img src="img/alumno.png" class="img-circle"

width="80" height="80">

Registro y Control de Alumnos</h3>

</div>

<div class="span6" align="right">

<form name="form1" method="post" action="" class="form-inline">

<!-- INGRESAR NUEVA curso --->

<a href="#nuevo" role="button" class="btn" data-toggle="modal">

<i class="icon-book"></i> <strong>Ingresar Nuevo Alumno</strong>

</a> |

<div class="input-prepend">

<span class="add-on"><i class="icon-search"></i></span>

<input name="bus" type="text" placeholder="Buscar Alumno por Nombre"

class="input-xlarge" autocomplete="off" autofocus>

</div>

</form>

</div>

</div>

</td>

Page 94: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 94

</tr>

</table>

<?php

if(!empty($_POST['nombre'])){

$nit=limpiar($_POST['nit']);

$nombre=limpiar($_POST['nombre']);

$apellido=limpiar($_POST['apellido']);

$ciudad=limpiar($_POST['ciudad']);

$correo=limpiar($_POST['correo']); $con=$nit;

$carrera=limpiar($_POST['carrera']);

if(empty($_POST['id'])){

#guardar

$can=mysql_query("SELECT * FROM alumnos WHERE

nit='$nit'");

if(!$dato=mysql_fetch_array($can)){

$objGuardar=new

Proceso_Alumno('',$nit,$nombre,$apellido,$ciudad,$correo,$con,$carrera);

$objGuardar->crear();

echo ' <div class="alert alert-success"

align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>El alumno "'.$apellido.'

'.$nombre.'" Guardado con Exito</strong>

</div>';

}

}else{

#actualizar

$id=limpiar($_POST['id']);

$objActualizar=new

Proceso_Alumno($id,$nit,$nombre,$apellido,$ciudad,$correo,$con,$carrera);

$objActualizar->actualizar();

echo ' <div class="alert alert-success" align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>El alumno "'.$apellido.'

'.$nombre.'" Actualizado con Exito</strong>

</div>';

}

}else{

}

?>

<table class="table table-bordered table table-hover">

<tr class="info">

Page 95: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 95

<td><strong>Documento</strong></td>

<td><strong>Apellido y Nombre</strong></td>

<td><strong>Carrera</strong></td>

<td><strong>Correo</strong></td>

<td><strong><center>Estado</center></strong></td>

<td>&nbsp;</td>

</tr>

<?php

if(empty($_POST['bus'])){

$sql="SELECT * FROM alumnos ORDER BY apellido LIMIT $inicio,

$maximo";

}else{

$bus=limpiar($_POST['bus']);

$sql="SELECT * FROM alumnos WHERE nombre LIKE '%$bus%' or

apellido LIKE '%$bus%' or nit='$bus' ORDER BY apellido LIMIT $inicio, $maximo";

}

$n=1;

$can=mysql_query($sql);

while($dato=mysql_fetch_array($can)){

$objCarrera=new Consultar_Carrera($dato['carrera']);

if($objCarrera->consultar('nombre')==NULL){

$ncarrera='Sin Asignar';

}else{

$ncarrera=$objCarrera->consultar('nombre');

}

?>

<tr>

<td><?php echo $n++.' |'.$dato['nit']; ?></td>

<td><?php echo $dato['apellido'].' '.$dato['nombre']; ?></td>

<td><?php echo $ncarrera; ?></td>

<td><?php echo $dato['correo']; ?></td>

<td>

<center>

<a href="alumno.php?estado=<?php echo $dato['id']; ?>" title="Cambiar

Estado">

<?php echo estado($dato['estado']); ?>

</a>

</center>

</td>

<td>

<center>

<a href="#act<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-

toggle="modal" title="Actualizar Informacion">

<i class="icon-edit"></i>

</a>

<?php

Page 96: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 96

$url=$dato['nit'];

?>

<a href="asig_curso.php?codigo=<?php echo $url; ?>" role="button" class="btn btn-

mini" data-toggle="modal" title="Asignar Materias">

<i class="icon-briefcase"></i>

</a>

</center>

</td>

</tr>

<div id="act<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"

aria-labelledby="myModalLabel" aria-hidden="true">

<form name="form1" method="post" action="" class="form-inline">

<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Actualizar Alumno</h3>

</div>

<div class="modal-body">

<div class="row-fluid">

<div class="span6">

<strong>Nit</strong><br>

<input type="text" name="nit" autocomplete="off" readonly value="<?php echo

$dato['nit']; ?>"><br>

<strong>Apellido</strong><br>

<input type="text" name="apellido" autocomplete="off" required value="<?php

echo $dato['apellido']; ?>"><br>

<strong>Nombre</strong><br>

<input type="text" name="nombre" autocomplete="off" required value="<?php

echo $dato['nombre']; ?>"><br>

</div>

<div class="span6">

<strong>Ciudad</strong><br>

<input type="text" name="ciudad" autocomplete="off" required value="<?php

echo $dato['ciudad']; ?>"><br>

<strong>Correo</strong><br>

<input type="email" name="correo" autocomplete="off" requerid value="<?php

echo $dato['correo']; ?>"><br>

<strong>Carrera</strong><br>

<select name="carrera">

<?php

$cn=mysql_query("SELECT * FROM

carreras WHERE estado='s'");

while($do=mysql_fetch_array($cn)){

if($dato['carrera']==$do['id']){

echo '<option

value="'.$do['id'].'" selected>'.$do['nombre'].'</option>';

Page 97: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 97

}else{

echo '<option

value="'.$do['id'].'">'.$do['nombre'].'</option>';

}

}

?>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>

<strong>Actualizar</strong></button>

</div>

</form>

</div>

<?php } ?>

</table>

<div class="pagination" align="center">

<ul>

<?php

if(empty($_POST['bus'])){

$tp = ceil($total/$maximo);#funcion que devuelve entero

redondeado

for ($n=1; $n<=$tp ; $n++){

if($pag==$n){

echo '<li class="active"><a

href="alumno.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';

}else{

echo '<li><a

href="alumno.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';

}

}

}

?>

</ul>

</div>

<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-

labelledby="myModalLabel" aria-hidden="true">

<form name="form1" method="post" action="" class="form-inline">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

Page 98: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 98

<h3 id="myModalLabel">Guardar Nuevo Alumno</h3>

</div>

<div class="modal-body">

<div class="row-fluid">

<div class="span6">

<strong>Nit</strong><br>

<input type="text" name="nit" autocomplete="off" required><br>

<strong>Apellido</strong><br>

<input type="text" name="apellido" autocomplete="off" required><br>

<strong>Nombre</strong><br>

<input type="text" name="nombre" autocomplete="off" required><br>

</div>

<div class="span6">

<strong>Ciudad</strong><br>

<input type="text" name="ciudad" autocomplete="off" required><br>

<strong>Correo</strong><br>

<input type="email" name="correo" autocomplete="off" requerid><br>

<strong>Carrera</strong><br>

<select name="carrera">

<?php

$cn=mysql_query("SELECT * FROM

carreras WHERE estado='s'");

while($do=mysql_fetch_array($cn)){

echo '<option

value="'.$do['id'].'">'.$do['nombre'].'</option>';

}

?>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>

<strong>Guardar</strong></button>

</div>

</form>

</div>

</body>

</html>

Page 99: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 99

Registro y control de curso

<?php

session_start();

include_once('php_conexion.php');

include_once('class/funciones.php');

include_once('class/class.php');

if($_SESSION['tipo_usu']=='a'){

}else{

header('location:error.php');

}

if(!empty($_GET['estado'])){

$nit=limpiar($_GET['estado']);

$cans=mysql_query("SELECT * FROM cursos WHERE estado='s'

and id='$nit'");

if($dat=mysql_fetch_array($cans)){

$xSQL="Update cursos Set estado='n' Where id='$nit'";

mysql_query($xSQL);

header('location:cursos.php');

}else{

$xSQL="Update cursos Set estado='s' Where id='$nit'";

mysql_query($xSQL);

header('location:cursos.php');

}

}

#paginar

$maximo=10;

Page 100: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 100

if(!empty($_GET['pag'])){

$pag=limpiar($_GET['pag']);

}else{

$pag=1;

}

$inicio=($pag-1)*$maximo;

$cans=mysql_query("SELECT COUNT(nombre)as total FROM cursos");

if($dat=mysql_fetch_array($cans)){

$total=$dat['total']; #inicializo la variable en 0

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Blanco</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<link href="js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

Page 101: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 101

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<table class="table table-bordered">

<tr class="info">

<td>

<div class="row-fluid">

<div class="span6">

<h3 class="text-info"><img src="img/cur.png" class="img-circle"

width="80" height="80">

Registro y Control de Cursos</h3>

</div>

<div class="span6" align="right">

<form name="form1" method="post" action="" class="form-inline">

<!-- INGRESAR NUEVA curso --->

<a href="#nuevo" role="button" class="btn" data-toggle="modal">

<i class="icon-book"></i> <strong>Ingresar Nuevo Curso</strong>

</a> |

<div class="input-prepend">

<span class="add-on"><i class="icon-search"></i></span>

<input name="bus" type="text" placeholder="Buscar Cursos por Nombre"

class="input-xlarge" autocomplete="off">

</div>

</form>

</div>

</div>

</td>

</tr>

</table>

<?php

if(!empty($_POST['nombre'])){

$nombre=limpiar($_POST['nombre']);

$encargado=limpiar($_POST['encargado']);

$materia=limpiar($_POST['materia']);

Page 102: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 102

if(empty($_POST['id'])){

#guardar

$objConsultar=new Consultar_Cursos($nombre);

if($objConsultar->consultar('nombre')==NULL){

$objGuardar=new

Proceso_Cursos($nombre,$materia,$encargado,'');

$objGuardar->crear();

echo ' <div class="alert alert-success"

align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>El Curso "'.$nombre.'"

Guardado con Exito</strong>

</div>';

}else{

#mensaje

echo ' <div class="alert alert-error" align="center">

<strong>El nombre del

Curso "'.$nombre.'" ya esta registrado en la base de datos</strong>

</div>';

}

}else{

#actualizar

$id=limpiar($_POST['id']);

$objActualizar=new

Proceso_Cursos($nombre,$materia,$encargado,$id);

$objActualizar->actualizar();

echo ' <div class="alert alert-success" align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>El Curso "'.$nombre.'"

Actualizado con Exito</strong>

</div>';

}

}

?>

<table class="table table-bordered table table-hover">

<tr class="info">

<td width="26%"><strong class="text-info">Nombre del Curso</strong></td>

<td width="21%"><strong class="text-info">Materia</strong></td>

<td width="32%"><strong class="text-info">Encargado del Curso</strong></td>

<td width="12%"><center><strong class="text-info">Estado</strong></center></td>

<td width="9%">&nbsp;</td>

</tr>

<?php

if(empty($_POST['bus'])){

Page 103: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 103

$sql="SELECT * FROM cursos ORDER BY nombre LIMIT $inicio,

$maximo";

}else{

$bus=limpiar($_POST['bus']);

$sql="SELECT * FROM cursos WHERE nombre LIKE '%$bus%'

ORDER BY nombre LIMIT $inicio, $maximo";

}

$can=mysql_query($sql);

while($dato=mysql_fetch_array($can)){

$id_curso=$dato['id'];

$objMateria=new Consultar_Materias($dato['materia']);

$objEncargado=new Consultar_Profesor($dato['encargado']);

?>

<tr>

<td><i class="icon-list-alt"></i> <?php echo $dato['nombre']; ?></td>

<td><?php echo $objMateria->consultar('nombre'); ?></td>

<td><?php echo $objEncargado->consultar('nombre'); ?></td>

<td>

<center>

<a href="cursos.php?estado=<?php echo $dato['id']; ?>" title="Cambiar de Estado">

<?php echo estado($dato['estado']); ?>

</a>

</center>

</td>

<td>

<center>

<a href="#act<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-

toggle="modal" title="Actualizar Informacion">

<i class="icon-edit"></i>

</a>

<a href="#lis<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-

toggle="modal" title="Listado de Alumnos">

<i class="icon-list"></i>

</a>

</center>

</td>

</tr>

<!-- LISTADO DE SALONES -->

<div id="lis<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"

aria-labelledby="myModalLabel" aria-hidden="true">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel" align="center">Listado de Alumnos<br>"<?php echo

$dato['nombre']; ?>"</h3>

</div>

Page 104: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 104

<div class="modal-body">

<?php

$n1=mysql_query("SELECT * FROM salon_alum

WHERE salon='$id_curso'");

if($i=mysql_fetch_array($n1)){

$n=0;

echo ' <div id="" style="overflow:scroll;

height:300px;">';

$can1=mysql_query("SELECT * FROM

salon_alum WHERE salon='$id_curso'");

while($info=mysql_fetch_array($can1)){

$n++;

$objAlumno=new

Consultar_Alumno($info['alumno']);

$objCarrera=new

Consultar_Carrera($objAlumno->consultar('carrera'));

echo '<i class="icon-user"></i> '.$n.'.

| '.$objAlumno->consultar('apellido').' '.$objAlumno->consultar('nombre').' ( '.$info['alumno'].' )

'.$objCarrera->consultar('nombre').'<br>';

}

echo '</div>';

}else{

echo '<div class="alert alert-error"

align="center"><strong>No hay Alumnos Registrados en Este Salon</strong></div>';

}

?>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<?php

$n1=mysql_query("SELECT * FROM salon_alum WHERE

salon='$id_curso'");

if($i=mysql_fetch_array($n1)){

?>

<a href="reporte/listado_alumnos_salon.php?id=<?php echo $id_curso; ?>"

class="btn btn-primary">

<i class="icon-list"></i> <strong>Imprimir Reporte en EXCEL</strong>

</a>

<?php } ?>

</div>

</div>

<!-- actualizar salones -->

<div id="act<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"

aria-labelledby="myModalLabel" aria-hidden="true">

<form name="form1" method="post" action="" class="form-inline">

Page 105: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 105

<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Actualizar Curso</h3>

</div>

<div class="modal-body">

<div class="row-fluid">

<div class="span6">

<strong>Nombre del Curso</strong><br>

<input type="text" name="nombre" autocomplete="off" required value="<?php

echo $dato['nombre']; ?>"><br>

<strong>Materia</strong><br>

<select name="materia">

<?php

$sql1="SELECT * FROM materias

WHERE estado='s' ORDER BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

if($pro['id']==$dato['materia']){

echo '<option

value="'.$pro['id'].'" selected>'.$pro['nombre'].'</option>';

}else{

echo '<option

value="'.$pro['id'].'">'.$pro['nombre'].'</option>';

}

}

?>

</select>

</div>

<div class="span6">

<strong>Profesor Encargado</strong><br>

<select name="encargado">

<?php

$sql1="SELECT * FROM profesor ORDER

BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

if($pro['nit']==$dato['encargado']){

echo '<option

value="'.$pro['nit'].'" selected>'.$pro['nombre'].'</option>';

}else{

echo '<option

value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';

}

Page 106: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 106

}

?>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>

<strong>Actualizar</strong></button>

</div>

</form>

</div>

<!--======================================-->

<?php } ?>

</table>

<div class="pagination" align="center">

<ul>

<?php

if(empty($_POST['bus'])){

$tp = ceil($total/$maximo);#funcion que devuelve entero

redondeado

for ($n=1; $n<=$tp ; $n++){

if($pag==$n){

echo '<li class="active"><a

href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';

}else{

echo '<li><a

href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';

}

}

}

?>

</ul>

</div>

<!-- Guardar salones -->

<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-

labelledby="myModalLabel" aria-hidden="true">

<form name="form1" method="post" action="" class="form-inline">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Guardar Nuevo Curso</h3>

</div>

<div class="modal-body">

Page 107: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 107

<div class="row-fluid">

<div class="span6">

<strong>Nombre del Curso</strong><br>

<input type="text" name="nombre" autocomplete="off" required><br>

<strong>Materia</strong><br>

<select name="materia">

<?php

$sql1="SELECT * FROM materias

WHERE estado='s' ORDER BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

echo '<option

value="'.$pro['id'].'">'.$pro['nombre'].'</option>';

}

?>

</select>

</div>

<div class="span6">

<strong>Profesor Encargado</strong><br>

<select name="encargado">

<?php

$sql1="SELECT * FROM profesor ORDER

BY nombre";

$prosql=mysql_query($sql1);

while($pro=mysql_fetch_array($prosql)){

echo '<option

value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';

}

?>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-

remove"></i> <strong>Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>

<strong>Guardar</strong></button>

</div>

</form>

</div>

<!--======================================-->

</body>

</html>

Page 108: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 108

Registro de alumno registrado

<?php

session_start();

include_once('php_conexion.php');

include_once('Class/funciones.php');

include_once('Class/class_alumnos.php');

if($_SESSION['tipo_usu']=='a' or $_SESSION['tipo_usu']=='s'){

}else{

header('location:error.php');

}

if(!empty($_GET['estado'])){

$nit=limpiar($_GET['estado']);

$cans=mysql_query("SELECT * FROM alumnos WHERE estado='s'

and id='$nit'");

if($dat=mysql_fetch_array($cans)){

$xSQL="Update alumnos Set estado='n' Where id='$nit'";

mysql_query($xSQL);

header('location:alumnos.php');

}else{

$xSQL="Update alumnos Set estado='s' Where id='$nit'";

mysql_query($xSQL);

header('location:alumnos.php');

}

}

#paginar

$maximo=5;

if(!empty($_GET['pag'])){

Page 109: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 109

$pag=limpiar($_GET['pag']);

}else{

$pag=1;

}

$inicio=($pag-1)*$maximo;

$cans=mysql_query("SELECT COUNT(nombre)as total FROM

alumnos");

if($dat=mysql_fetch_array($cans)){

$total=$dat['total']; #inicializo la variable en 0

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Blanco</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<link href="js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

Page 110: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 110

<!--[if lt IE 9]>

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<div align="center">

<table width="95%" border="0">

<tr>

<td>

<table class="table table-bordered">

<tr class="success">

<td>

<div class="row-fluid">

<div class="span6">

<h3><img src="img/icono_alumno.jpg" class="img-circle img-polaroid"

width="70" height="65">

Registro & Control de Alumnos</h3>

</div>

<div class="span6">

<div align="right">

<a href="#nuevo" role="button" class="btn" data-toggle="modal">

<strong><i class="icon-user"></i> Ingresar Nuevo</strong>

</a>

<div class="btn-group">

<button class="btn" data-toggle="dropdown">

<i class="icon-search"></i> <strong>Consultar por Cursos</strong>

<span class="caret"></span>

</button>

<ul class="dropdown-menu">

<?php

$c=mysql_query("SELECT * FROM salones WHERE estado='s'");

while($d=mysql_fetch_array($c)){

Page 111: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 111

echo '<li><a

href="alumnos.php?nombre='.$d['id'].'">'.$d['nombre'].'</a></li>';

}

?>

<li><a href="alumnos.php?cursos=0">Todos</a></li>

</ul>

</div>

<br><br>

<form name="form1" method="post" action="">

<div class="input-prepend">

<span class="add-on"><i class="icon-search"></i></span>

<input name="bus" type="text" placeholder="Buscar Alumno"

class="input-xlarge" autocomplete="off">

</div>

</form>

</div>

</div>

</div>

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td>

<?php

if(!empty($_POST['nombre']) and

!empty($_POST['apellido'])){

$nombre=limpiar($_POST['nombre']);

$apellido=limpiar($_POST['apellido']);

$nit=limpiar($_POST['nit']);

$telefono=limpiar($_POST['telefono']);

$fechan=limpiar($_POST['fechan']);

$curso=limpiar($_POST['curso']);

if(empty($_POST['id'])){

$c_alumno = new

Proceso_Alumnos($nombre,$apellido,$nit,$telefono,$fechan,$curso,'s','');

$c_alumno->crear();

$can=mysql_query("SELECT MAX(id)as

maximo FROM alumnos");

if($dato=mysql_fetch_array($can)){

$codigo=$dato['maximo'];

//subir la imagen del articulo

Page 112: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 112

$nameimagen =

$_FILES['imagen']['name'];

$tmpimagen =

$_FILES['imagen']['tmp_name'];

$extimagen =

pathinfo($nameimagen);

$urlnueva =

"alumnos/".$codigo.".jpg";

if(is_uploaded_file($tmpimagen)){

copy($tmpimagen,$urlnueva);

}

}

echo ' <div class="alert alert-info"

align="center">

<button

type="button" class="close" data-dismiss="alert">×</button>

<strong>

El alumno/a

"'.$nombre.' '.$apellido.'" Registrado con Exito en la Base de Datos

</strong>

</div>';

}elseif(!empty($_POST['id'])){

$codigo=$_POST['id'];

$a_alumno = new

Proceso_Alumnos($nombre,$apellido,$nit,$telefono,$fechan,$curso,'s',$codigo);

$a_alumno->actualizar();

//subir la imagen del articulo

$nameimagen = $_FILES['imagen']['name'];

$tmpimagen =

$_FILES['imagen']['tmp_name'];

$extimagen = pathinfo($nameimagen);

$urlnueva = "alumnos/".$codigo.".jpg";

if(is_uploaded_file($tmpimagen)){

copy($tmpimagen,$urlnueva);

}

echo ' <div class="alert alert-info"

align="center">

<button

type="button" class="close" data-dismiss="alert">×</button>

<strong>

Page 113: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 113

El alumno/a

"'.$nombre.' '.$apellido.'" Actualizado con Exito en la Base de Datos

</strong>

</div>';

}

}

?>

<table class="table table-bordered table table-hover">

<tr class="success">

<td width="27%"><strong>Apellido y Nombre</strong></td>

<td width="19%"><center><strong>Telefono</strong></center></td>

<td width="14%"><center><strong>Estado</strong></center></td>

<td width="32%"><center><strong>Curso</strong></center></td>

<td width="8%">&nbsp;</td>

</tr>

<?php

if(empty($_GET['cursos'])){

if(empty($_POST['bus'])){

$sql="SELECT * FROM alumnos ORDER BY

apellido LIMIT $inicio, $maximo";

}else{

$bus=limpiar($_POST['bus']);

$sql="SELECT * FROM alumnos WHERE

nombre LIKE '$bus%' or apellido LIKE '$bus%' or nit='$bus' ORDER BY apellido LIMIT

$inicio, $maximo";

}

}else{

$bus=limpiar($_GET['cursos']);

if($bus<>0){

$sql="SELECT * FROM alumnos WHERE

curso='$bus' ORDER BY apellido LIMIT $inicio, $maximo";

}else{

$sql="SELECT * FROM alumnos ORDER BY

apellido LIMIT $inicio, $maximo";

}

}

$can=mysql_query($sql);

while($dato=mysql_fetch_array($can)){

$salones = new Consultar_Salones($dato['curso']);

?>

<tr>

<td><i class="icon-user"></i> <?php echo trim($dato['apellido']).'

'.trim($dato['nombre']); ?></td>

<td><center><?php echo $dato['telefono']; ?></center></td>

Page 114: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 114

<td>

<center>

<a href="alumnos.php?estado=<?php echo $dato['id']; ?>" title="Cambiar

Estado">

<?php echo estado($dato['estado']);

?>

</a>

</center>

</td>

<td><center><?php echo $salones->consultar('nombre'); ?></center></td>

<td>

<a href="#actualizar<?php echo $dato['id']; ?>" role="button" class="btn btn-

mini" data-toggle="modal" title="Actualizar Informacion">

<i class="icon-edit"></i>

</a>

</td>

</tr>

<!--actualizar alumno-->

<div id="actualizar<?php echo $dato['id']; ?>"

class="modal hide fade" tabindex="-1" role="dialog" aria-

labelledby="myModalLabel" aria-hidden="true">

<form name="form2" method="post" enctype="multipart/form-data" action="">

<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Actualizar Alumno</h3>

</div>

<div class="modal-body">

<div class="row-fluid">

<div class="span6">

<strong>Nombre del Alumno</strong><br>

<input type="text" name="nombre" autocomplete="off" required

value="<?php echo $dato['nombre']; ?>"><br>

<strong>Matricula</strong><br>

<input type="text" name="nit" autocomplete="off" required

value="<?php echo $dato['nit']; ?>"><br>

<strong>Fecha Nacimiento</strong><br>

<input type="date" name="fechan" autocomplete="off" required

value="<?php echo $dato['fechan']; ?>"><br>

<strong>Curso</strong><br>

<select name="curso">

<?php

$c=mysql_query("SELECT * FROM salones WHERE estado='s'");

while($d=mysql_fetch_array($c)){

Page 115: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 115

if($d['id']==$dato['curso']){

echo '<option value="'.$d['id'].'" selected>'.$d['nombre'].'</option>';

}else{

echo '<option value="'.$d['id'].'">'.$d['nombre'].'</option>';

}

}

?>

</select>

<strong>Fotografia</strong><br>

<input type="file" name="imagen" id="imagen">

</div>

<div class="span6">

<strong>Apellidos del Alumno</strong><br>

<input type="text" name="apellido" autocomplete="off" value="<?php

echo $dato['apellido']; ?>"><br>

<strong>Telefonos / Celulares</strong><br>

<input type="text" name="telefono" autocomplete="off" value="<?php

echo $dato['telefono']; ?>"><br>

</div>

</div>

</div>

<div class="modal-footer">

<button type="submit" class="btn"><strong><i class="icon-ok"></i> Actualizar

Alumno</strong></button>

<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i

class="icon-remove"></i> Cerrar</strong></button>

</div>

</form>

</div>

<?php } ?>

</table>

<?php

$can=mysql_query($sql);

if(!$dato=mysql_fetch_array($can)){

echo '<div class="alert alert-info"

align="center"><strong>No hay Alumnos Registrados en la BD</strong></div>';

}

?>

</td>

Page 116: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 116

</tr>

</table>

<div class="pagination">

<ul>

<?php

if(empty($_GET['cursos']) and empty($_POST['bus'])){

$tp = ceil($total/$maximo);#funcion que devuelve entero

redondeado

for ($n=1; $n<=$tp ; $n++){

if($pag==$n){

echo '<li class="active"><a

href="alumnos.php?pag='.$n.'">'.$n.'</a></li>';

}else{

echo '<li><a

href="alumnos.php?pag='.$n.'">'.$n.'</a></li>';

}

}

}

?>

</ul>

</div>

</div>

<!--crear nuevo alumno-->

<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-

labelledby="myModalLabel" aria-hidden="true">

<form name="form2" method="post" enctype="multipart/form-data" action="">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Ingresar Nuevo Alumno</h3>

</div>

<div class="modal-body">

<div class="row-fluid">

<div class="span6" >

<strong>Nombre del Alumno</strong><br>

<input type="text" name="nombre" autocomplete="off" required><br>

<strong>Matricula</strong><br>

<input type="text" name="nit" autocomplete="off" required><br>

<strong>Fecha Nacimiento</strong><br>

<input type="date" name="fechan" autocomplete="off" required value="<?php echo

date('Y-m-d'); ?>"><br>

<strong>Fotografia</strong><br>

<input type="file" name="imagen" id="imagen">

</div>

<div class="span6">

Page 117: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 117

<strong>Apellidos del Alumno</strong><br>

<input type="text" name="apellido" autocomplete="off"><br>

<strong>Telefonos / Celulares</strong><br>

<input type="text" name="telefono" autocomplete="off"><br>

<strong>Cursos</strong><br>

<select name="curso">

<?php

$c=mysql_query("SELECT * FROM salones

WHERE estado='s'");

while($d=mysql_fetch_array($c)){

echo '<option

value="'.$d['id'].'">'.$d['nombre'].'</option>';

}

?>

</select>

</div>

</div>

</div>

<div class="modal-footer">

<button type="submit" class="btn"><strong><i class="icon-ok"></i> Ingresar

Alumno</strong></button>

<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i

class="icon-remove"></i> Cerrar</strong></button>

</div>

</form>

</div>

</body>

</html>

Page 118: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 118

Actucalizar la base de datos mediante un documento en excel.

<?php

session_start();

include_once('php_conexion.php');

include_once('Class/class_alumnos.php');

if($_SESSION['tipo_usu']=='a'){

}else{

header('location:error.php');

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Blanco</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<link href="js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

Page 119: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 119

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<div align="center">

<form action="" method="post" enctype="multipart/form-data" name="form1">

<table width="90%" border="0">

<tr>

<td>

<strong>Agregar Archivo de Excel [Productos]</strong>

<input type="hidden" name="numero" id="numero" value="1">

<input type="file" name="imagen" id="imagen">

<input type="submit" name="button" class="btn" id="button" value="Actualizar Base de

Datos"></td>

</tr>

<tr>

<td>&nbsp;</td>

Page 120: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 120

</tr>

</table>

</form>

<?php

if(!empty($_POST['numero'])){

//subir la imagen del articulo

$nameimagen = $_FILES['imagen']['name'];

$tmpimagen = $_FILES['imagen']['tmp_name'];

$extimagen = pathinfo($nameimagen);

$urlnueva = "xls/alumnos.xls";

if(is_uploaded_file($tmpimagen)){

copy($tmpimagen,$urlnueva);

echo '<div class="alert alert-success"><strong>Datos Actualizados

con Exito</strong></div>';

}

}

?>

<table border="1" width="100%">

<thead>

<tr>

<th><center><strong>A</strong></center></th>

<th><center><strong>B</strong></center></th>

<th><center><strong>C</strong></center></th>

<th><center><strong>D</strong></center></th>

<th><center><strong>E</strong></center></th>

</tr>

<tr>

<th><strong>Matricula</strong></th>

<th><strong>Apellido</strong></th>

<th><strong>Nombre</strong></th>

<th><strong>Telefonos</strong></th>

<th><strong>ID Curso</strong></th>

</tr>

</thead>

<tbody>

<?php

if(!empty($_POST['numero'])){

//incluimos la clase

require_once

'PHPExcel/Classes/PHPExcel/IOFactory.php';

//cargamos el archivo que deseamos leer

$objPHPExcel =

PHPExcel_IOFactory::load('xls/alumnos.xls');

//obtenemos los datos de la hoja activa (la primera)

Page 121: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 121

$objHoja=$objPHPExcel->getActiveSheet()-

>toArray(null,true,true,true,true);

//recorremos las filas obtenidas

foreach ($objHoja as $iIndice=>$objCelda) {

//imprimimos el contenido de la celda

utilizando la letra de cada columna 12

echo '

<tr>

<td>'.$objCelda['A'].'</td>

<td>'.$objCelda['B'].'</td>

<td>'.$objCelda['C'].'</td>

<td>'.$objCelda['D'].'</td>

<td>'.$objCelda['E'].'</td>

</tr>

';

$nit=$objCelda['A'];

$apellido=$objCelda['B'];

$nombre=$objCelda['C'];

$telefono=$objCelda['D'];

$salon=$objCelda['E'];

$fechan=date('Y-m-d');

$c_alumno = new

Proceso_Alumnos($nombre,$apellido,$nit,$telefono,$fechan,$salon,'s','');

$c_alumno->crear();

}

}

?>

</tbody>

</table>

</div>

</body>

</html>

Page 122: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 122

Editar, eliminar noticias y eventos

<?php require_once('../Connections/conexionportal.php'); ?>

<?php

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "",

$theNotDefinedValue = "")

{

if (PHP_VERSION < 6) {

$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

}

$theValue = function_exists("mysql_real_escape_string") ?

mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

Page 123: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 123

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

}

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {

$updateSQL = sprintf("UPDATE tblslider SET strImagenGrande=%s,

strImagenPequena=%s, strTitulo=%s, strSubtitulo=%s, strMenu=%s, strLink=%s,

intOrden=%s, intEstado=%s WHERE idContador=%s",

GetSQLValueString($_POST['strImagenGrande'], "text"),

GetSQLValueString($_POST['strImagenPequena'], "text"),

GetSQLValueString($_POST['strTitulo'], "text"),

GetSQLValueString($_POST['strSubtitulo'], "text"),

GetSQLValueString($_POST['strMenu'], "text"),

GetSQLValueString($_POST['strLink'], "text"),

GetSQLValueString($_POST['intOrden'], "int"),

GetSQLValueString($_POST['intEstado'], "int"),

GetSQLValueString($_POST['idContador'], "int"));

mysql_select_db($database_conexionportal, $conexionportal);

$Result1 = mysql_query($updateSQL, $conexionportal) or die(mysql_error());

$updateGoTo = "slider_lista.php";

if (isset($_SERVER['QUERY_STRING'])) {

$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";

$updateGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $updateGoTo));

}

$varDato_DatosSlider = "0";

if (isset($_GET["recordID"])) {

$varDato_DatosSlider = $_GET["recordID"];

}

mysql_select_db($database_conexionportal, $conexionportal);

$query_DatosSlider = sprintf("SELECT * FROM tblslider WHERE tblslider.idContador = %s",

GetSQLValueString($varDato_DatosSlider, "int"));

$DatosSlider = mysql_query($query_DatosSlider, $conexionportal) or die(mysql_error());

$row_DatosSlider = mysql_fetch_assoc($DatosSlider);

Page 124: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 124

$totalRows_DatosSlider = mysql_num_rows($DatosSlider);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin

template="/Templates/plantillaadmin.dwt.php" codeOutsideHTMLIsLocked="false" -->

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<!-- InstanceBeginEditable name="doctitle" -->

<title>Administracion AyzWeb</title>

<!-- InstanceEndEditable -->

<!-- InstanceBeginEditable name="head" -->

<!-- InstanceEndEditable -->

<link href="../css/estiloadmin.css" rel="stylesheet" type="text/css" />

</head>

<body>

<div class="container">

<div class="header"></div>

<div class="content"><!-- InstanceBeginEditable name="ParteDerechaAdmin" -->

<script>

function subirimagen(nombrecampo)

{ self. name='opener';

remote= open('gestionimagen.php?campo='+nombrecampo,

'remote', 'width=400, height=150,

location=no,scrollbars=yes,menubars=no,toolsbars=no,resizable=yes,fullscreen=no,status=y

es');

remote.focus();

}

</script>

<h1>EDICION DE EVENTOS Y NOTICIA</h1>

<p>&nbsp;</p>

<form action="<?php echo $editFormAction; ?>" method="post" name="form1"

id="form1">

<table align="center">

<tr valign="baseline">

<td width="183" align="right" nowrap="nowrap">Imagen Grande(734x250px):</td>

<td width="358"><input type="text" name="strImagenGrande" value="<?php echo

htmlentities($row_DatosSlider['strImagenGrande'], ENT_COMPAT, 'iso-8859-1'); ?>"

size="25" />

<input type="button" name="button" id="button" value="Subir Imagen"

onclick="javascript:subirimagen('strImagenGrande');"/></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Imagen Peque&ntilde;a(80x50px):</td>

Page 125: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 125

<td><input type="text" name="strImagenPequena" value="<?php echo

htmlentities($row_DatosSlider['strImagenPequena'], ENT_COMPAT, 'iso-8859-1'); ?>"

size="25" />

<input type="button" name="button2" id="button2" value="Subir Imagen"

onclick="javascript:subirimagen('strImagenPequena');"/></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Titulo:</td>

<td><input type="text" name="strTitulo" value="<?php echo

htmlentities($row_DatosSlider['strTitulo'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Subtitulo:</td>

<td><input type="text" name="strSubtitulo" value="<?php echo

htmlentities($row_DatosSlider['strSubtitulo'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25"

/></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Menu:</td>

<td><input type="text" name="strMenu" value="<?php echo

htmlentities($row_DatosSlider['strMenu'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Link:</td>

<td><input type="text" name="strLink" value="<?php echo

htmlentities($row_DatosSlider['strLink'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Orden:</td>

<td><input type="text" name="intOrden" value="<?php echo

htmlentities($row_DatosSlider['intOrden'], ENT_COMPAT, 'iso-8859-1'); ?>" size="5" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Estado:</td>

<td><select name="intEstado">

<option value="1" <?php if (!(strcmp(1, htmlentities($row_DatosSlider['intEstado'],

ENT_COMPAT, 'iso-8859-1')))) {echo "SELECTED";} ?>>Activo</option>

<option value="0" <?php if (!(strcmp(0, htmlentities($row_DatosSlider['intEstado'],

ENT_COMPAT, 'iso-8859-1')))) {echo "SELECTED";} ?>>Desactivado</option>

</select></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">&nbsp;</td>

<td> <a class="button" href="javascript:document.form1.submit();"><span>Actualizar

registro</span></a></td>

</tr>

</table>

Page 126: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 126

<input type="hidden" name="MM_update" value="form1" />

<input type="hidden" name="idContador" value="<?php echo

$row_DatosSlider['idContador']; ?>" />

</form>

<p>&nbsp;</p>

<!-- InstanceEndEditable -->

<!-- end .content --></div>

<!-- end .container --></div>

</body>

<!-- InstanceEnd --></html>

<?php

mysql_free_result($DatosSlider);

?>

Control de residencias

<?php

session_start();

include_once('php_conexion.php');

include_once('Class/funciones.php');

include_once('Class/class_alumnos.php');

if($_SESSION['tipo_usu']=='a' or $_SESSION['tipo_usu']=='s'){

}else{

header('location:error.php');

}

#estado

Page 127: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 127

if(!empty($_GET['estado'])){

$nit=limpiar($_GET['estado']);

$cans=mysql_query("SELECT * FROM salones WHERE estado='s'

and id='$nit'");

if($dat=mysql_fetch_array($cans)){

$xSQL="Update salones Set estado='n' Where id='$nit'";

mysql_query($xSQL);

header('location:salones.php');

}else{

$xSQL="Update salones Set estado='s' Where id='$nit'";

mysql_query($xSQL);

header('location:salones.php');

}

}

#paginar

$maximo=25;

if(!empty($_GET['pag'])){

$pag=limpiar($_GET['pag']);

}else{

$pag=1;

}

$inicio=($pag-1)*$maximo;

$cans=mysql_query("SELECT COUNT(nom_proy)as total FROM proyecto");

if($dat=mysql_fetch_array($cans)){

$total=$dat['total']; #inicializo la variable en 0

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Blanco</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<link href="js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

Page 128: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 128

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<div align="center">

<table width="90%" border="0">

<tr>

<td>

<table class="table table-bordered">

<tr class="success">

<td>

<div class="row-fluid">

<div class="span6">

<h3><img src="img/curso.jpg" class="img-circle img-polaroid" width="70"

height="65"> Control de Residencias</h3>

</div>

Page 129: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 129

<div class="span6">

<div align="right">

<div class="btn-group">

<ul class="dropdown-menu">

<?php

$c=mysql_query("SELECT * FROM

proyecto GROUP BY nom_proy");

while($d=mysql_fetch_array($c)){

echo '<li><a

href="salones.php?cursos='.$d['curso'].'">'.$d['curso'].'</a></li>';

}

?>

<li><a href="salones.php?cursos=0">Todos</a></li>

</ul>

</div><br><br>

<form name="form1" method="post" action="">

<div class="input-prepend">

<span class="add-on"><i class="icon-search"></i></span>

<input name="bus" type="text" placeholder="Buscar Salones" class="input-

xlarge" autocomplete="off" autofocus>

</div>

</form>

</div>

</div>

</div>

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td>

<?php

if(!empty($_POST['nombre']) and !empty($_POST['curso'])){

$nombre=limpiar($_POST['nombre']);

$curso=limpiar($_POST['curso']);

if(empty($_POST['id'])){

$c_curso = new Proceso_Salones($nombre,$curso,'');

$c_curso->crear();

echo ' <div class="alert alert-info" align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>

Page 130: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 130

El Curso / Salon

"'.$nombre.'" Registrado con Exito en la Base de Datos

</strong>

</div>';

}else{

$id=limpiar($_POST['id']);

$c_curso = new Proceso_Salones($nombre,$curso,$id);

$c_curso->actualizar();

echo ' <div class="alert alert-info" align="center">

<button type="button" class="close"

data-dismiss="alert">×</button>

<strong>

El Curso / Salon

"'.$nombre.'" Actualizado con Exito en la Base de Datos

</strong>

</div>';

}

}

?>

<table class="table table-bordered table table-hover">

<tr class="success">

<td><strong>Nombre</strong></td>

<td><strong>Tipo de Proyecto</strong></td>

<td><strong>Periodo</strong></td>

<td><strong>Alumno</strong></td>

<td><strong>Empresa</strong></td>

<td><strong>Asesor Externo</strong></td>

<td><strong>Asesor Interno</strong></td>

<td><strong>Comentarios</strong></td>

</tr>

<?php

if(empty($_GET['cursos'])){

if(empty($_POST['bus'])){

$sql="SELECT * FROM proyecto ORDER BY nom_proy

LIMIT $inicio, $maximo";

}else{

$bus=limpiar($_POST['bus']);

$sql="SELECT * FROM proyecto WHERE nom_proy LIKE

'%$bus%' ORDER BY nom_proy LIMIT $inicio, $maximo";

}

}else{

$bus=limpiar($_GET['cursos']);

$sql="SELECT * FROM proyecto WHERE id='$bus' ORDER BY

nombre LIMIT $inicio, $maximo";

}

Page 131: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 131

$can=mysql_query($sql);

while($dato=mysql_fetch_array($can)){

?>

<tr>

<td><p align="center"><?php echo $dato['nom_proy']; ?></p></td>

<td><?php echo $dato['tipo_proy']; ?></td>

<td><?php echo $dato['periodo']; ?></td>

<td><?php echo $dato['nom_alum']; ?></td>

<td><?php echo $dato['nom_empresa']; ?></td>

<td><?php echo $dato['asesor_externo']; ?></td>

<td><?php echo $dato['asesor_interno']; ?></td>

<td><?php echo $dato['comentario']; ?></td>

</tr>

<div id="actualizar<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1"

role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

<form name="form2" method="post" action="">

<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Crear Nuevo Curso</h3>

</div>

<div class="modal-body">

<strong>Nombre del Salon</strong><br>

<input type="text" name="nombre" autocomplete="off" required value="<?php echo

$dato['nombre']; ?>"><br>

<strong>Nombre del Curso</strong><br>

<input type="text" name="curso" list="characters" autocomplete="off" required

value="<?php echo $dato['curso']; ?>"><br>

<strong>Horario</strong><br>

<input type="text" name="horario" autocomplete="off" required value="<?php echo

$dato['horario']; ?>"><br>

<strong>Disponible para la Carrera</strong><br>

<input type="text" name="carrera" autocomplete="off" required value="<?php echo

$dato['carrera']; ?>">

<datalist id="characters">

<?php

$c=mysql_query("SELECT nombre FROM salones ORDER

BY nombre");

while($d=mysql_fetch_array($c)){

echo '<option value="'.$d['nombre'].'">';

}

?>

</datalist>

<br>

</div>

Page 132: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 132

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-

remove"></i> Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>

Actualizar Salon</strong></button>

</div>

</form>

</div>

<?php } ?>

</table>

<center>

<div class="pagination">

<ul>

<?php

if(empty($_GET['cursos']) and empty($_POST['bus'])){

$tp = ceil($total/$maximo);#funcion que devuelve entero

redondeado

for ($n=1; $n<=$tp ; $n++){

if($pag==$n){

echo '<li class="active"><a

href="salones.php?pag='.$n.'">'.$n.'</a></li>';

}else{

echo '<li><a

href="salones.php?pag='.$n.'">'.$n.'</a></li>';

}

}

}

?>

</ul>

</div>

</center>

</td>

</tr>

<tr>

<td>&nbsp;</td>

</tr>

</table>

<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-

labelledby="myModalLabel" aria-hidden="true">

<form name="form2" method="post" action="">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-

hidden="true">×</button>

<h3 id="myModalLabel">Crear Nuevo Curso</h3>

</div>

<div class="modal-body">

Page 133: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 133

<strong>Nombre del Salon</strong><br>

<input type="text" name="nombre" autocomplete="off" required><br>

<strong>Nombre del Curso</strong><br>

<input type="text" name="curso" list="characters" autocomplete="off" required><br>

<strong>Horario</strong><br>

<input type="text" name="horario" autocomplete="off" required value="<?php echo

$dato['horario']; ?>"><br>

<strong>Disponible para la Carrera</strong><br>

<input type="text" name="carrera" autocomplete="off" required value="<?php echo

$dato['carrera']; ?>">

<datalist id="characters">

<?php

$can=mysql_query("SELECT nombre FROM salones

ORDER BY nombre");

while($dato=mysql_fetch_array($can)){

echo '<option value="'.$dato['nombre'].'">';

}

?>

</datalist>

<br>

</div>

<div class="modal-footer">

<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-

remove"></i> Cerrar</strong></button>

<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>

Guardar Salon</strong></button>

</div>

</form>

</div>

</div>

</body>

</html>

Page 134: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 134

Administracion de residencias

<?php require_once('../Connections/conexionportal.php'); ?>

<?php

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "",

$theNotDefinedValue = "")

{

if (PHP_VERSION < 6) {

$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

}

$theValue = function_exists("mysql_real_escape_string") ?

mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

Page 135: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 135

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

}

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$insertSQL = sprintf("INSERT INTO proyecto (nom_alum, nom_proy, tipo_proy, periodo,

nom_empresa, asesor_externo, asesor_interno, comentario) VALUES (%s, %s, %s, %s, %s,

%s, %s, %s)",

GetSQLValueString($_POST['nom_alum'], "text"),

GetSQLValueString($_POST['nom_proy'], "text"),

GetSQLValueString($_POST['tipo_proy'], "text"),

GetSQLValueString($_POST['periodo'], "text"),

GetSQLValueString($_POST['nom_empresa'], "text"),

GetSQLValueString($_POST['asesor_externo'], "text"),

GetSQLValueString($_POST['asesor_interno'], "text"),

GetSQLValueString($_POST['comentario'], "text"));

mysql_select_db($database_conexionportal, $conexionportal);

$Result1 = mysql_query($insertSQL, $conexionportal) or die(mysql_error());

$insertGoTo = "buscador_residencia.php";

if (isset($_SERVER['QUERY_STRING'])) {

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin

template="/Templates/plantillaadmin.dwt.php" codeOutsideHTMLIsLocked="false" -->

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<!-- InstanceBeginEditable name="doctitle" -->

<title>Administracion de Residencias</title>

<!-- InstanceEndEditable -->

<!-- InstanceBeginEditable name="head" -->

Page 136: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 136

<!-- InstanceEndEditable -->

<link href="../css/estiloadmin.css" rel="stylesheet" type="text/css" />

</head>

<body>

<div class="container">

<div class="header"></div>

<div class="content"><!-- InstanceBeginEditable name="ParteDerechaAdmin" -->

<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">

<p>&nbsp;</p>

<div class="row-fluid">

<div class="span6">

<center><h1>Administraci&oacute;n de Residencias</h1></center>

</div>

<table align="center">

<tr valign="baseline">

<td nowrap="nowrap" align="right">Nombre del Alumno:</td>

<td><input type="text" name="nom_alum" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Nombre de la Residencia:</td>

<td><input type="text" name="nom_proy" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Tipo de Poyecto:</td>

<td><input type="text" name="tipo_proy" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Periodo:</td>

<td><input type="text" name="periodo" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Empresa:</td>

<td><input type="text" name="nom_empresa" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Asesor Externo:</td>

<td><input type="text" name="asesor_externo" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Asesor Interno:</td>

<td><input type="text" name="asesor_interno" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td height="30" align="right" nowrap="nowrap">Comentario:</td>

<td><input type="text" name="comentario" value="" size="32" /></td>

Page 137: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 137

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">&nbsp;</td>

<div align="center"><td><a class="button"

href="javascript:document.form1.submit();"><span>Insertar Slider</span></a>

</td></div>

</tr>

</table>

<input type="hidden" name="MM_insert" value="form1" />

</form>

<p>&nbsp;</p>

<!-- InstanceEndEditable -->

<!-- end .content --></div>

<!-- end .container --></div>

</body>

<!-- InstanceEnd --></html>

Administracion de anteproyecto

<?php require_once('../Connections/conexionportal.php'); ?>

<?php

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "",

$theNotDefinedValue = "")

{

Page 138: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 138

if (PHP_VERSION < 6) {

$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

}

$theValue = function_exists("mysql_real_escape_string") ?

mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

}

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$insertSQL = sprintf("INSERT INTO aceproyecto (nom_proyecto, nom_asesor,

nom_alumno, matricula) VALUES (%s, %s, %s, %s)",

GetSQLValueString($_POST['nom_proyecto'], "text"),

GetSQLValueString($_POST['nom_asesor'], "text"),

GetSQLValueString($_POST['nom_alumno'], "text"),

GetSQLValueString($_POST['matricula'], "text"));

mysql_select_db($database_conexionportal, $conexionportal);

$Result1 = mysql_query($insertSQL, $conexionportal) or die(mysql_error());

$insertGoTo = "aceptacion.php";

if (isset($_SERVER['QUERY_STRING'])) {

Page 139: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 139

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin

template="/Templates/plantillaadmin.dwt.php" codeOutsideHTMLIsLocked="false" -->

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<!-- InstanceBeginEditable name="doctitle" -->

<title>Administracion Eventos y Noticias</title>

<!-- InstanceEndEditable -->

<!-- InstanceBeginEditable name="head" -->

<!-- InstanceEndEditable -->

<link href="../css/estiloadmin.css" rel="stylesheet" type="text/css" />

</head>

<body>

<div class="container">

<div class="header"></div>

<div class="content"><!-- InstanceBeginEditable name="ParteDerechaAdmin" -->

<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">

<p>&nbsp;</p>

<div class="span6">

<center>

<h1>Administraci&oacute;n de Resultado de Anteproyectos</h1></center>

</div>

<table align="center">

<tr valign="baseline">

<td nowrap="nowrap" align="right">Proyecto:</td>

<td><input type="text" name="nom_proyecto" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Asesor Interno:</td>

<td><input type="text" name="nom_asesor" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Alumno:</td>

<td><input type="text" name="nom_alumno" value="" size="32" /></td>

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">Matricula:</td>

<td><input type="text" name="matricula" value="" size="32" /></td>

Page 140: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 140

</tr>

<tr valign="baseline">

<td nowrap="nowrap" align="right">&nbsp;</td>

<td> <a class="button" href="javascript:document.form1.submit();"><span>Insertar

Slider</span></a> </td>

</tr>

</table>

<input type="hidden" name="MM_insert" value="form1" />

</form>

<p>&nbsp;</p>

<!-- InstanceEndEditable -->

<!-- end .content --></div>

<!-- end .container --></div>

</body>

<!-- InstanceEnd --></html>

Cambiar contraseña

<?php

session_start();

include_once('php_conexion.php');

include_once('class/funciones.php');

include_once('class/class.php');

# if($_SESSION['tipo_usu']=='a' or $_SESSION['tipo_usu']=='u'){

# }else{

Page 141: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 141

# header('location:error.php');

# }

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Cambiar Clave</title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta name="description" content="">

<meta name="author" content="">

<!-- Le styles -->

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<link href="css/docs.css" rel="stylesheet">

<link href="js/google-code-prettify/prettify.css" rel="stylesheet">

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

<script src="js/jquery.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

<script src="js/bootstrap-affix.js"></script>

<script src="js/holder/holder.js"></script>

<script src="js/google-code-prettify/prettify.js"></script>

<script src="js/application.js"></script>

<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->

<!--[if lt IE 9]>

<script src="assets/js/html5shiv.js"></script>

<![endif]-->

<!-- Le fav and touch icons -->

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-

icon-144-precomposed.png">

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-

icon-114-precomposed.png">

Page 142: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 142

<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-

icon-72-precomposed.png">

<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-

precomposed.png">

<link rel="shortcut icon" href="assets/ico/favicon.png">

</head>

<body data-spy="scroll" data-target=".bs-docs-sidebar">

<div align="center">

<table width="50%" border="0">

<tr>

<td>

<table border="0" class="table table-bordered">

<tr class="success">

<td>

<center><strong>

<h3><img src="img/seguridad.jpg" class="img-circle img-polaroid" width="50"

height="65">

Cambiar Contraseña</h3>

</strong></center>

</td>

</tr>

<tr>

<td>

<div align="center">

<form name="form1" method="post" action="">

<label><strong>Contraseña Antigua: </strong></label><input type="password"

name="contra" id="contra" required>

<label><strong>Nueva Contraseña: </strong></label><input type="password"

name="c1" id="c1" required>

<label><strong>Repita Nueva Contraseña: </strong></label><input type="password"

name="c2" id="c2" required><br><br>

<input type="submit" name="button" id="button" class="btn btn-primary"

value="Cambiar Contraseña">

</form>

<?php

if(!empty($_POST['c1']) and !empty($_POST['c2']) and !empty($_POST['contra'])){

if($_POST['c1']==$_POST['c2']){

$usuario=limpiar($_SESSION['username']);

$nueva=limpiar($_POST['c2']);

$objProfesor=new Consultar_Profesor($usuario);

$nit=$objProfesor->consultar('nit');

$contra=limpiar($_POST['contra']);

$sql="SELECT * FROM profesor WHERE usu='".$usuario."' and

con='".$contra."'";

$can=mysql_query($sql);

if($dato=mysql_fetch_array($can)){

Page 143: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 143

$cnueva=limpiar($nueva,$nit);

$sql="Update profesor Set con='$cnueva' Where

usu='$usuario'";

mysql_query($sql);

echo '<div class="alert alert-info" align="center">

<button type="button" class="close" data-

dismiss="alert">×</button>

<strong>Contraseña!</strong> Actualizada con

exito

</div>';

}else{

echo '<div class="alert alert-error">

<button type="button" class="close" data-

dismiss="alert">×</button>

<strong>Contraseña!</strong> Digitada no

corresponde a la antigua<br>

'.$sql.'

</div>';

}

}else{

echo '<div class="alert alert-error">

<button type="button" class="close" data-

dismiss="alert">×</button>

<strong>Las dos Contraseña!</strong> Digitadas

no soy iguales

</div>';

}

}

?>

</div>

</td>

</tr>

</table>

</td></tr>

</table>

</div>

</body>

</html>

Page 144: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 144

Diagramas de casos de uso:

Page 145: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 145

Page 146: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 146

Diagrama de secuencia:

Page 147: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 147

Page 148: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 148

CAPITULO V

CONCLUSIONES Y RECOMENDACIONES

Conclusión

Este proyecto permite automatizar un proceso de vital importancia en el

instituto tecnológico superior de Acayucan, específicamente en el

departamento de desarrollo académico: permitirá tener en tiempo real y de

manera oportuna la información adecuada al servicio de los docentes que se

encuentran laborando en la academia de isc e info.

Este sistema controla todo el proceso y tiene como objetivo mejorar los

servicios para llevar la adecuada y oportuna atención de los docentes. En

este sentido los sistemas de información ofrecen a las organizaciones de

institucionales, grandes oportunidades que van desde la información y

automatización de sus procesos internos, proporcionando mejoras continuas

y la prestación de servicio de calidad.

Pero también, existen dificultades o barreras que deben ser superadas como

las relacionadas con las políticas del departamento en su manera de pensar

y fundamentalmente en los aspectos de implementación del proceso a

exponer los beneficios que conlleva la automatización.

Recomendaciones

Para mejorar este sistema se puede tomar en cuenta la siguiente

acotación: guiar a los usuarios del departamento de desarrollo académico

que van a utilizar el sistema. Pará mejorar el funcionamiento del mismo.

Diseñar un plan de seguridad y respaldo que permita asegurar los datos en

caso de cualquier eventualidad, protegiéndolos de virus, robos y pérdida de

información; Es decir cuidar la integridad de los datos.

Mantenimiento constante al sistema, cómo a la base de datos, ya que

ayudara a verificar el buen funcionamiento de este o a encontrar posibles

Page 149: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 149

errores no programas que se puedan presentar probablemente por manejar

inadecuadamente el sistema o por cualquier otra situación.

Sacarle un buen provecho este sistema es importante ya que ofrece la

solución a las necesidades de llevar un control adecuado de la información

y de mejora continua, ofreciendo un servicio de calidad en el departamento.

Para culminar, lo escrito de este apartado, sé llega a la conclusión que fue

factible lograr el desarrollo del mismo, al haberse desarrollado el sistema

“Implantación de plataforma web para la comunidad de isc e informática”, el

cual puede ser susceptible al efectuarle ajustes de acuerdo a los nuevos

requerimientos que se tengan en el proceso de puesta en marcha del

sistema.

Page 150: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 150

CAPÍTULO VI

Anexos

NOMBRE DE LA EMPRESA O NEGOCIO:

Instituto Tecnológico Superior de Acayucan. (ITSA)

NOMBRE DEL REPRESENTANTE LEGAL:

M.C. JUVENCIO GERARDO DE LEÓN OLARTE

DIRECTOR GENERAL

DIRECCION:

Carretera Costera del Golfo Km. 216.4, Colonia Agrícola Michapan, C.P.

96000, telefono 01(924) 24 5 7410 / Fax (924)5 7418, Acayucan, Veracruz.

ASESOR EXTERNO:

MTI. MIGUEL HERNANDEZ LINARES

JEFE DE DIVISIÓN DE CARRERA LICENCIATURA E INGENIERA EN

INFORMATICA

TELEFONO: 9241103617

E-MAIL: [email protected]

Page 151: Implantacion de plataforma web para la academia de isc e inf

IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA

INGENIERIA EN SISTEMAS COMPUTACIONALES Página 151

REFERENCIAS BIBLIOGRÁFICAS

Fundamentos de Seguridad en Redes Aplicaciones y Estándares

2ª Ed.

William Stalling, Editorial Pearson Prentice Hall.

Fundamentos de PHP

Vikram Vaswani, Edit. Mc Graw Hill

Fundamentos de php más de 100 algoritmos Codificados.

Autor: Ricardo Marcelo Villalobos Empresa Editora Macro E.I.R.L.

Macromedia Dreamweaver

Cesar Pérez Alfaomega Grupo Editor, S.A. de C.V.

MySQL para Windows y Linux 2ª. Edición.

Cesar Pérez López Alfaomega Grupo Editor, S.A. de C.V.

PHP5 a través de ejemplos.

Abraham Gutiérrez, Ginés Bravo Alfaomega Grupo Editor, S.A. de

C.V.

Redes de Computadora 4ª. Edición.

Andrew S. Tanenbaum

Tecnología y Diseño de Base de Datos.

Mario G. Piattini, Esperanza Marcos, Coral calero y Belén Vela,

Alfaomega Grupo Editor, S.A. de C.V.