SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer...

154
UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA WEB GABRIEL LORENSI LOPES Trabalho de conclusão de curso apresentado como parte dos requisitos para obtenção do grau de Bacharel em Ciências da Computação. FLORIANÓPOLIS – SC 2006/2

Transcript of SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer...

Page 1: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

UNIVERSIDADE FEDERAL DE SANTA CATARINA

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO

SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS

VIA WEB

GABRIEL LORENSI LOPES

Trabalho de conclusão de curso

apresentado como parte dos

requisitos para obtenção do grau de

Bacharel em Ciências da

Computação.

FLORIANÓPOLIS – SC

2006/2

Page 2: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

GABRIEL LORENSI LOPES

SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS

VIA WEB

Trabalho de conclusão de curso apresentado como parte dos

requisitos para obtenção de grau de Bacharel em Ciências da

Computação.

Orientador:

_________________________

Prof. Dr. Vitório Bruno Mazzola

Banca Examinadora:

_________________________

Prof. Dr. Mário Dantas

_________________________

Profa. Dra. Patrícia Vilain

Page 3: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

SUMÁRIO

1. INTRODUÇÃO ............................................................................... 10

1.1 OBJETIVOS ...................................................................... 11

1.2 JUSTIFICATIVA ................................................................ 11

1.3 ORGANIZAÇÃO DO RELATÓRIO ................................... 12

2. FERRAMENTAS ........................................................................... 13

2.1 HTML ................................................................................ 13

2.2 PÁGINAS ESTÁTICAS E DINÂMICAS ............................ 14

2.3 PÁGINAS DINÂMICAS DE CLIENTE .............................. 14

2.4 PÁGINAS DINÂMICAS DE SERVIDOR ........................... 15

2.5 PHP ................................................................................... 16

2.6 MYSQL .............................................................................. 16

2.7 CSS ................................................................................... 17

2.8 WAMP ............................................................................... 18

3. PHP HYPERTEXT PREPROCESSOR .......................................... 19

3.1 HISTÓRIA DO PHP ........................................................... 20

3.1.1 PHP/FI ................................................................. 20

3.1.2 PHP 3 .................................................................. 21

3.1.3 PHP 4 .................................................................. 22

3.1.4 PHP 5 .................................................................. 23

3.2 ESTATÍSTICAS DE USO .................................................. 23

3.3 INTRODUÇÃO À LINGUAGEM PHP ............................... 24

3.3.1 Literais ................................................................ 26

3.3.2 TIPOS .................................................................. 27

Page 4: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

3.3.3 OPERADORES ................................................... 28

3.3.4 VARIÁVEIS ......................................................... 30

3.3.5 ARRAY ................................................................ 30

3.3.6 CONSTANTES .................................................... 31

3.3.7 ESTRUTURAS DE CONTROLE ......................... 32

3.3.8 FUNÇÕES ........................................................... 34

3.3.9 OBJETOS E CLASSES ...................................... 34

4. DESENVOLVIMENTO DO SISTEMA ............................................ 37

4.1 VISÃO DO SISTEMA ........................................................ 37

4.2 LEVANTAMENTO DE REQUISITOS E PLANEJAMEN-

TO DA APLICAÇÃO ........................................................ 38

4.2.1 PÁGINA index.php ............................................ 41

4.2.2 PÁGINA protect.php .......................................... 41

4.2.3 PÁGINA logoff.php ............................................ 41

4.2.4 PÁGINA index_auth.php ................................... 41

4.2.5 PÁGINA gerarpagina.php ................................. 42

4.2.6 PÁGINAS gerarmaterial.php e uploadmate-

rial.php ............................................................... 42

4.2.7 PÁGINAS gerarlinks.php e uploadlinks.php .. 42

4.2.8 PÁGINA gerarplano.php ................................... 43

4.2.9 PÁGINA uploadplano.php ................................ 44

4.2.10 PÁGINA configurarbd.php ............................. 44

4.2.11 PÁGINA gerarbd.php ...................................... 44

4.2.12 PÁGINA povoarbd.php ................................... 44

4.2.13 PÁGINA gerarbdeplano.php............................ 45

Page 5: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

4.2.14 PÁGINA povoarbd_gerarplano.php ............... 45

4.2.15 PÁGINAS incluirconteudo.php e uploadcon-

teudo.php ......................................................... 45

4.2.16 PÁGINAS incluirbibliografia.php e uploadbi-

bliografia.php ................................................... 45

4.2.17 PÁGINA conexaoufsc.php e conexaose-

nha.php ............................................................ 46

4.2.18 PÁGINA limpar.php ......................................... 46

4.2.19 PÁGINA estilos.css ......................................... 46

4.3 BASE DE DADOS ............................................................. 46

4.3.1 TABELA TurmasProfessores ........................... 47

4.3.2 TABELA senhas ................................................. 47

4.3.3 TABELA Professores ........................................ 48

4.3.4 TABELA DisciplinasNPD ................................... 48

4.3.5 TABELA EspelhoMatriculaNPD ........................ 49

4.4 IMPLEMENTAÇÃO ........................................................... 50

4.5 COMPARAÇÃO ENTRE O SISTEMA IMPLEMENTADO,

MOODLE E TELEDUC ..................................................... 54

5. CONCLUSÃO E TRABALHOS FUTUROS ................................... 56

6. REFERÊNCIAS ............................................................................. 57

ANEXOS ............................................................................................ 59

ANEXO 1 – Código Fonte ................................................................ 60

ANEXO 2 – Manual do Usuário ....................................................... 130

ANEXO 3 – Artigo ............................................................................. 149

Page 6: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

LISTA DE ABREVIATURAS

API – Application Programming Interface

ASP – Active Server Pages

CGI – Common Gateway Interface

CSS – Cascading Style Sheets

GPL – General Public License

HTML – HyperText Markup Language

JSP – Java Server Pages

MOODLE – Modular Object-Oriented Dynamic Learning

PHP – HyperText Preprocessor

PHP/FI – Personal Home Page / Forms Interpreter

SQL – Structured Query Language

Page 7: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

LISTA DE FIGURAS

Figura 1 – Servidor WEB ...................................................................... 13

Figura 2 – Funcionamento da página PHP ........................................... 20

Figura 3 – Crescimento do Uso do PHP ............................................... 24

Figura 4 – Primeiro Script em PHP ....................................................... 25

Figura 5 – Integração PHP e HTML ...................................................... 26

Figura 6 – Operador Ternário ............................................................... 28

Figura 7 – Criando Variáveis ................................................................. 30

Figura 8 – Exemplo de Arrays ............................................................... 31

Figura 9 – Definindo Constantes ........................................................... 31

Figura 10 – Estrutura elseif .................................................................... 33

Figura 11 – Estrutura while .................................................................... 33

Figura 12 – Estrutura switch .................................................................. 34

Figura 13 – Definindo Funções .............................................................. 34

Figura 14 – Classe em PHP .................................................................. 35

Figura 15 – Diagrama de Seqüência das Páginas do Sistema ............. 39

Figura 16 – Diagrama ER ...................................................................... 40

Figura 17 – Home Page Gerada pelo Sistema ...................................... 51

Figura 18 – Página do Plano de Ensino Configurado pelo Sistema ...... 51

Figura 19 – Página de Materiais da Disciplina ...................................... 52

Figura 20 – Página de Notas Geradas .................................................. 52

Figura 21 – Página de Links da Disciplina ............................................ 53

Figura 22 – Página de Publicação das Notas ....................................... 53

Page 8: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

LISTA DE TABELAS

Tabela 1 – Operadores PHP ................................................................. 29

Tabela 2 – Tabela de Constantes ......................................................... 32

Tabela 3 – Tabela TurmasProfessores ................................................. 47

Tabela 4 – Tabela senhas .................................................................... 47

Tabela 5 – Tabela Professores ............................................................ 48

Tabela 6 – Tabela DisciplinasNPD ....................................................... 49

Tabela 7 – Tabela EspelhoMatriculaNPD ............................................. 49

Tabela 8 – Tabela Gerada pelo Sistema .............................................. 50

Tabela 9 – Comparativo entre Aplicações ............................................ 55

Page 9: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

RESUMO

Este trabalho visa o estudo e a criação de um sistema que auxilie o

gerenciamento de disciplinas via web, disponibilizando ao fim do processo um

website completo para a disciplina selecionada.

Contém um estudo básico sobre a linguagem de programação PHP e

uma visão geral sobre outros softwares e tecnologias utilizados.

Palavras Chaves: Programação WEB, Banco de Dados, Gerência de

Disciplinas.

Page 10: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

ABSTRACT

This work intend to develop a creation of a system that will help the

management of disciplines using the web, giving at the end of this process, one

complete website for this selected discipline.

This also contain one basic study about the PHP programming language

and also a general vision about others available softwares and tecnologies.

Keywords: Web Programming, Disciplines Management, Database

Page 11: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

10

1. INTRODUÇÃO

Atualmente, uma grande parte do corpo docente das universidades já

utiliza a internet como meio de divulgação dos materiais referentes às

disciplinas ministradas. Como demonstra [LITTO et al., 2004] está em curso

uma expansão considerável no uso da Web em ensino e aprendizagem e

pesquisas nesta área têm tido um acréscimo considerável.

Muitos dos professores desta universidade ainda criam suas páginas

manualmente, mesmo com a disponibilidade de sistemas de apoio, como o

Moodle [MOODLE, 2007] e o TelEduc [TELEDUC, 2007].

Em conversas com professores, percebemos que talvez essa prática se

deva à complexidade dos resultados de tais sistemas.

Este trabalho apresenta a proposta para a criação de um sistema de

apoio mais simples e prático, chamado de Sistema de Apoio para

Gerenciamento Disciplina via web. Este sistema foi desenvolvido sobre

tecnologias para programação na web, especificamente a linguagem de

programação PHP e o sistema de gerenciamento de banco de dados MySQL.

Page 12: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

11

1.1 OBJETIVOS

O objetivo deste trabalho é projetar e implementar uma ferramenta que

auxilie na gerência de disciplinas, disponibilizando um website contendo as

informações básicas necessárias e um local onde se possa armazenar e

divulgar os conceitos obtidos pelos alunos nas avaliações feitas. Tudo isso

gerado através de procedimentos práticos.

Outro objetivo é utilizar na prática alguns conceitos mostrados ao longo

do Curso de Bacharelado em Ciências da Computação.

1.2 JUSTIFICATIVA

Atualmente existem vários sistemas já implementados e em

funcionamento para o auxílio à gerência de disciplinas. Muitos deles oferecem

uma ampla gama de recursos. O intuito deste trabalho não é de alguma forma

concorrer com estes sistemas, visto que grande parte destes são mantidos por

grupos com várias pessoas.

A justificativa deste trabalho é oferecer um meio mais prático e simples

de geração de páginas, aos professores que desejam uma página sem grandes

funcionalidades, página esta em que as principais funções sejam a

apresentação da disciplina, com o respectivo material didático e a informação

dos conceitos obtidos pelos alunos, sem a necessidade de recursos mais

avançados como chat, fórum de discussão e questionários.

Page 13: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

12

1.3 ORGANIZAÇÃO DO RELATÓRIO

Este relatório está organizado da seguinte forma:

O capítulo 2 apresenta uma breve descrição sobre as ferramentas e

tecnologias utilizadas no decorrer da geração do sistema proposto.

No capítulo 3 ocorre uma descrição um pouco mais detalhada sobre a

linguagem de programação escolhida, o PHP, com sua história e a

apresentação de alguns conceitos utilizados.

O capítulo 4 é o responsável pela apresentação da ferramenta

desenvolvida, com a explicação de cada componente (página) implementada.

Page 14: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

13

2. FERRAMENTAS

2.1 HTML

Linguagem de marcação largamente utilizada para construir páginas

estáticas da Web, desde o surgimento desta. Documentos HTML são

constituídos por imagens, texto simples e ligações para outros documentos

(hyperlinks), sendo interpretados por softwares chamados navegadores.

Quando uma página da Web é chamada, o servidor Web inicia uma

seqüência de passos:

1. Lê a requisição enviada pelo navegador.

2. Localiza a página dentro de seus arquivos.

3. Envia a página para o navegador.

A figura 1 ilustra esta seqüência.

Figura 1 – Servidor Web

Page 15: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

14

Consiste basicamente em uma coleção de etiquetas (tags) que servem

para descrever a forma com que o documento deve ser apresentado pelo

navegador.

A versão 4.0 do HTML de 1997 adiciona diversos mecanismos como,

por exemplo, suporte para folha de estilos (CSS). Mesmo com essas

atualizações, HTML não consegue criar páginas dinâmicas e interativas.

2.2 PÁGINAS ESTÁTICAS E DINÂMICAS

Dentre as páginas da web encontramos dois tipos de páginas:

• Estáticas: Não oferecem interatividade com o usuário, nem

efeitos especiais para apresentação.

• Dinâmicas: Além de oferecer interatividade e efeitos especiais,

permite construir páginas diferentes com base nos resultados

retornados de um banco de dados.

A linguagem HTML satisfaz os requisitos da primeira categoria. Já as

páginas dinâmicas necessitam de mais recursos, que podem ser atendidos por

dois tipos de páginas dinâmicas: as que rodam no navegador do usuário

(cliente) e as que rodam no servidor (servidor).

2.3 PÁGINAS DINÂMICAS DE CLIENTE

Page 16: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

15

Nessa categoria, toda computação é executada pelo navegador. Como

uso comum desse tipo podemos citar controle de formulários e janelas. O

código necessário para o funcionamento se encontra dentro do arquivo HTML

enviado pelo servidor, e é interpretado e executado pelo navegador. Dentre as

linguagens de programação utilizadas destacam-se JavaScript e Visual Basic

Script (VBScript).

A principal desvantagem desse tipo é a alta dependência do sistema do

usuário, pois se deve levar em consideração que existem vários navegadores e

cada navegador tem suas características próprias. Uma das vantagens é a

possibilidade de aliviar o servidor, utilizando recursos da máquina local. Além

disto, pode oferecer resposta imediata a alguns comandos do usuário.

2.4 PÁGINAS DINÂMICAS DE SERVIDOR

Nesse tipo de páginas, o servidor reconhece, interpreta e executa o

código. As páginas executadas do lado do servidor são utilizadas para muitos

tipos de aplicações web, como salas de bate-papo, fóruns de discussão, entre

outros. Também são recomendadas para sistemas em que exista uma base de

dados que precise ser acessada para apresentação, e quando, por questões

de segurança, necessite que os cálculos executem no servidor.

Os códigos na linguagem escolhida são inseridos dentro do arquivo

HTML, e o servidor executa todo processamento e envia ao servidor uma

página com código somente em HTML.

Para escrever este tipo de páginas existem várias linguagens, como

Perl, ASP, JSP, CGI e PHP.

Page 17: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

16

2.5 PHP

Combina código HTML e seções de scripts, delimitadas pelas etiquetas

“<?” e ”?>” em um arquivo PHP. Quando o servidor recebe uma requisição do

navegador referente a uma página PHP, executa os scripts enviando ao

navegador uma página com etiquetas HTML apenas.

Veremos no próximo capítulo resumo sobre PHP.

2.6 MYSQL

Conforme [THOMPSON, WELLING, 2006] é um sistema de

gerenciamento de banco de dados (SGBD) rápido e sólido que utiliza a

linguagem SQL como interface.

Um dos SGBD’s mais comuns do mundo tem, seu sucesso creditado

principalmente a excelente e fácil integração com a linguagem PHP, sendo

parte integrante de grande parte dos pacotes de hospedagem de site da

internet.

Suas principais vantagens em relação a outros SGBD’s são segundo

[THOMSON, 2005] e [MYSQL, 2007]:

• Portabilidade: Escrito em C e C++, roda em praticamente

todas as plataformas comerciais atuais.

Page 18: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

17

• Segurança: Contém um sistema de privilégios e senhas e

permite verificação baseada em estações de trabalho.

Criptografa o tráfego de senhas quando conectado ao

servidor.

• Escalabilidade: Se tem notícia de sistemas com mais de

5.000.000.000 de registros. Para efeito de exemplificação,

o site WikiPedia funciona sobre o servidor MySQL.

• Estabilidade: É escrito em múltiplas camadas com módulos

independentes, todos testados à exaustão. Permite a

replicação de dados em diferentes formas.

• Baixo Custo: É disponibilizado gratuitamente sobre uma

licença GPL.

2.7 CSS

Segundo [MANSFIELD, 2005] é uma linguagem de estilo, utilizada para

a definição da apresentação de documentos escritos em linguagens de

marcação, como HTML. Fornece a separação entre o conteúdo e o formato de

um documento.

Eficaz para criar e controlar o layout do um portal, pois com a separação

do formato em uma (ou várias) páginas de estilo evita a obrigação de alterar

todas as páginas do portal. Em vez disso, se altera apenas a folha de estilo,

sendo que as outras páginas transformam-se através da ligação com o

repositório de estilos.

Page 19: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

18

2.8 WAMP

Software desenvolvido pelo PHPTeam que na última versão lançada em

Novembro de 2006, a 1.6.6, instala e configura automaticamente PHP 5.2.0 e

PECL, Apache 2.0.59, SQLitemanager, MySQL 5.0.27 e PhpMyAdmin em um

computador rodando o sistema operacional Windows.

Sua principal utilização é para desenvolver e testar localmente

aplicações webs.

Page 20: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

19

3. PHP HYPERTEXT PREPROCESSOR

PHP é uma linguagem de programação de scripts, executados do lado

do servidor, de código aberto e utilizada em sistemas de aplicação web.

Diferentemente de scripts CGI, escritos em linguagens como C e PERL

que escrevem um programa para imprimir o código HTML, em PHP

normalmente escreve-se um arquivo HTML onde se insere código PHP para

executar alguma ação.

Como o script é executado antes da página ser enviada ao usuário, este

não consegue descobrir como é, na realidade o código fonte do programa.

Inclusive há a opção de, configurando o servidor para tratar todos os arquivos

HTML como PHP, ocultar do usuário até a informação de que se está usando a

linguagem PHP.

A figura 2 demonstra a rotina da requisição e envio das páginas em

PHP.

Page 21: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

20

Figura 2 – Funcionamento da página PHP

Algumas vantagens em relação a outras tecnologias são a simplicidade

e portabilidade, pois pode ser utilizado na maioria dos sistemas operacionais,

como LINUX, Mac OS X, RISC OS, Windows, vários padrões UNIX, etc. Outra

vantagem é sua independência de plataformas e seu suporte a uma grande

variedade de sistemas de gerenciamento de banco de dados.

3.1 HISTÓRIA DO PHP

3.1.1 PHP/FI

Page 22: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

21

O PHP surgiu de um produto mais antigo, criado por Rasmus Lerdorf em

1995, chamado PHP/FI. O PHP/FI inicialmente foi criado como simples scripts

PERL, para permitir a visualização das estatísticas de acesso à seu currículo

online. Estes scripts ganharam o nome de “Personal Home Page Tools”. Após

a implementação, Rasmus verificou a necessidade de inserir mais

funcionalidades e para isso escreveu uma implementação em C, que já

permitia a comunicação com base de dados, dando aos usuários a

possibilidade de desenvolver aplicativos dinâmicos simples para web. Na

seqüência, disponibilizou o código fonte pra que todos pudessem usar e

também corrigir erros e melhorar o código.

PHP/FI, cujo significado é Personal Home Page / Forms Interpreter, já

incluía algumas funcionalidades básicas do PHP atual, como variáveis no estilo

PERL, interpretação automática de dados vindos de formulários e sintaxe

embutida no código HTML. A sintaxe de PHP/FI era similar ao do PERL, mas

muito mais limitada, simples e até um pouco inconsistente.

No ano de 1997, com o lançamento da segunda versão da

implementação em C, PHP/FI 2.0 obteve milhares de usuários ao redor do

mundo, sendo usado por aproximadamente 50.000 domínios, que

correspondiam à época 1% dos domínios da web. Sua vida foi relativamente

curta, pois passou grande parte do tempo em versões testes de

desenvolvimento. Foi lançado em Novembro de 1997, sendo rapidamente

substituído pelas versões testes do PHP 3.

3.1.2 PHP 3

Page 23: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

22

Foi a primeira versão que se assemelha ao PHP atual, criada por Ansi

Gutmans e Zeev Suraski no ano de 1997, sendo totalmente reescrita após a

descoberta que PHP/FI 2.0 seria útil para ajudar a desenvolver aplicações de

e-commerce para um projeto da universidade (Instituto Israelita de Tecnologia).

Com a cooperação de Rasmus Lerdorf, e aproveitando a base de usuários do

PHP/FI 2.0 foi feito o anúncio da descontinuidade do PHP/FI 2.0, sendo o PHP

3.0 anunciado como versão oficial e sucessora do PHP/FI 2.0.

Uma das maiores características do PHP 3.0 era sua grande capacidade

de extensão. Oferecia também uma sólida infra-estrutura para diversos bancos

de dados, protocolos, APIs. Por essas características atraiu muitos

desenvolvedores interessados em juntar-se à equipe e submeter novos

módulos. Também foram incluídos, o suporte à sintaxe para orientação a

objetos e uma sintaxe própria mais poderosa e consistente.

A nova versão da linguagem foi inteiramente realizada sobre um novo

nome, jogada esta, que serviu para remover a impressão de restrito uso que

acompanhava PHP/FI 2.0. A partir desta versão, é chamada apenas de PHP,

cujo significado é um acrônimo recursivo para “PHP: Hypertext Preprocessor”.

A versão final foi lançada em Junho de 1998, após passar

aproximadamente 9 meses em teste públicos. Já no final de 1998 tinha

alcançado centenas de milhares de websites, e no seu auge, esteve instalado

em aproximadamente 10% dos servidores da web.

3.1.3 PHP 4

Page 24: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

23

Apesar do sucesso da versão anterior, PHP ainda não estava apto a

trabalhar eficientemente com aplicações muito complexas. Para superar esse

problema foi introduzido um novo motor, ou engine, chamado Zend Engine, em

meados de 1999. PHP 4.0 foi baseada neste engine, tendo introduzidas uma

série de novas características e lançada oficialmente em Maio de 2000.

Além do ganho em desempenho, incluiu outras características como

suporte para vários servidores web, sessões http, buffer de saída, dispositivos

de segurança ao manipular as entradas de usuários, entre outras.

3.1.4 PHP 5

Com a versão anterior, PHP conseguiu uma plataforma potente e

estável para a programação de páginas que executem no servidor. Mesmo

assim ainda existiam questões cujas soluções ainda não satisfaziam

plenamente aos requisitos de alguns sistemas, como questões relacionadas à

programação orientada a objetos que, apesar de ser suportada desde PHP 3,

só implementava uma parte ínfima das características. Por isso o principal

objetivo dessa nova versão foi melhorar os mecanismos de orientação a

objetos, tornando a linguagem apta para se programar com esse paradigma de

programação.

3.2 ESTATÍSTICAS DE USO

A linguagem PHP já está consolidada como solução para websites

dinâmicos ocupando uma fatia considerável do mercado. Segundo o site oficial

Page 25: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

24

do PHP (www.php.net), os números chegaram, em Outubro de 2006, a

aproximadamente 23.500.000 de domínios e 1.300.000 de endereços IP. O

número de domínios que utilizam PHP já corresponde a aproximadamente 20%

dos domínios do mundo. Na figura abaixo acompanhamos a curva de

crescimento do uso de PHP desde janeiro de 2000 até outubro de 2006.

Figura 3 – Crescimento do uso do PHP

3.3 INTRODUÇÃO À LINGUAGEM PHP

Para o desenvolvimento de aplicações web é necessário ter instalado

alguns softwares. Primeiramente é preciso instalar um servidor web que seja

suportado ou suporte PHP, como por exemplo, o Apache e o IIS (Internet

Information Services).

Além do servidor, são necessárias também a obtenção e instalação do

ambiente PHP, que deve ser instalado considerando suas regras de instalação

de acordo com o ambiente onde irá rodar.

Page 26: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

25

Também será necessário, se for das pretensões do programador

desenvolver aplicações envolvendo base de dados, a obtenção e posterior

instalação de um SGBD. Existem inúmeras opções, tanto de código aberto

(MySQL e PostgreeSQL, por exemplo) como proprietárias (Oracle e MsSQL

Server).

Como visto anteriormente, a integração dos scripts PHP com o código

HTML se dá de uma maneira clara e confortável, através das etiquetas <?php e

?>, utilizadas para sinalizar respectivamente o início e o fim da inclusão do

script.

O arquivo com o código PHP embutido deve ser salvo com a extensão

configurada no momento da instalação, sendo padrão .php preferencialmente

(.php3 e .php4 também podem ser utilizado), mesmo que, em sua quase

totalidade contenha apenas código HTML.

A figura a seguir apresenta como primeiro exemplo de programação

PHP o famoso “Hello Word!”, mostrando o arquivo contendo o código PHP, a

visualização da página e o código da página retornado pelo servidor.

Figura 4 – Primeiro Script em PHP

Page 27: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

26

Na figura acima percebemos duas características relacionadas à sintaxe

do PHP, o uso de duas contra-barras (//) para comentários de linha inteira e a

necessidade se inserir o ponto-e-vírgula (;) ao final de cada comando PHP.

Código PHP pode ser intercalado com código HTML, bastando para isto

respeitar as etiquetas referentes a início e fim de código PHP. Um exemplo

disto aparece na figura a seguir.

Figura 5 – Integração PHP e HTML

3.3.1 Literais

As variáveis, constantes, funções e classes necessitam de etiquetas

diferentes para poderem ser usadas. Dentro destas etiquetas existe uma

distinção entre literais e nomes. Os literais são dados crus, onde o que você vê

é exatamente o que você tem. Basicamente, não é possível a um literal

significar algo, exceto o que ele realmente significa. Já os nomes adquirem

significados através de convenções ou atribuições. Na programação nomes

Page 28: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

27

são chamados de identificadores. Em PHP os identificadores são case-

sensitive, ou seja, a variável $Rosa é diferente da variável $rosa.

Em PHP podem aparecer literais numéricos, utilizados em scripts que

executem cálculos, ou mesmo naqueles que envolvam valores monetários ou

de data e hora. Estes literais podem ser expressos utilizando a base decimal ou

outras bases como hexadecimal e octal. Ainda pode ser utilizada a notação

científica para expressar os valores.

Outro tipo de literal é o literal alfanumérico, utilizado normalmente para a

exibição dos textos resultantes do script PHP. Este tipo deve ser expresso

utilizando delimitadores, que podem ser de três tipos:

• Aspas Simples (‘): é o modo mais simples para apresentar

textos, não permite o uso de valor de variáveis e de caracteres

de controles dentro da string sem concatenação.

• Aspas Duplas (“): aceita o uso dos caracteres de controle e

das variáveis para compor a string.

• Acentos Graves (`): servem para incluir comandos do Sistema

Operacional dentro do script PHP.

3.3.2 TIPOS

PHP suporta oito tipos primitivos, os quatro básicos:

• Boolean

• Integer

• Float (ou Double)

• String

Page 29: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

28

Dois tipos compostos, que veremos adiante:

• Array

• Object

E dois tipos especiais:

• Resource, que mantém referências a recursos externos.

• NULL, que contem apenas o valor NULL.

3.3.3 OPERADORES

São algo que se alimentam de expressões e retornam outro valor. Em

PHP existem três tipos, os unários, os binários e o ternário (?:). O ternário pode

ser utilizado para selecionar entre dois valores dependendo de um terceiro.

Na figura abaixo, vemos um exemplo do uso do operador ternário.

Figura 6 – Operador Ternário

No caso acima, se empty($_POST[‘action’]) for True $action receberá

‘default’, caso seja False, $action receberá $_POST[‘action’].

Abaixo uma tabela com os principais operadores de PHP.

Page 30: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

29

Tabela 1 – Operadores PHP

Além dos operadores vistos acima, PHP ainda oferece alguns outros,

como por exemplo, o operador de supressão de erros (@).

Page 31: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

30

3.3.4 VARIÁVEIS

Como a maioria das linguagens de programação de scripts que

executam do lado do servidor, PHP não é fortemente tipado. Suas variáveis

não possuem tipos definidos e restritos.

Além disso, não precisam ser declaradas, pois passam a existir

automaticamente após atribuirmos seus valores. Vale relembrar também que

PHP é case-sensetive. Seus identificadores iniciam sempre pelo símbolo do

cifrão ($).

Figura 7 – Criando Variáveis

3.3.5 ARRAY

São os conhecidos vetores, que guardam várias informações em apenas

uma variável. No PHP utilizamos as chaves ([ e ]) para indexar e como em C,

os arrays numéricos tem como primeiro índice o zero (0).

Existe além do array numérico, o array associativo, sendo a diferença

vista no índice, pois o numérico tem como índice números inteiros e o

associativo strings.

Page 32: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

31

Figura 8 – Exemplo de Arrays

3.3.6 CONSTANTES

Constante é um identificador para um único valor. Seu valor não pode

mudar durante a execução do script, com exceção das constantes mágicas,

que na realidade não são constantes. Além de oferecer várias constantes

predefinidas, a maioria dependente de instalações de extensões, PHP oferece

a oportunidade de o programador definir suas próprias constantes, como

podemos ver no exemplo abaixo.

Figura 9 – Definindo Constantes

As características que diferem constantes e variáveis em PHP são:

• Constantes não têm sinal de cifrão ($) antes delas.

Page 33: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

32

• Constantes só podem ser definidas utilizando a função

define(), e não por simples assimilação.

• Têm acesso independente das regras de escopo.

• Não podem ser redefinidas ou eliminadas.

• Podem apenas armazenar valores escalares (boolean, integer,

float e string).

Tabela 2 – Tabela de Constantes.

3.3.7 ESTRUTURAS DE CONTROLE

Page 34: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

33

Têm como funcionalidade controlar o fluxo do código fonte. São

suportadas as seguintes instruções:

• If, else, elseif, while, do...while, for, foreach, break, continue,

switch, declare, return, require, include, require_once,

include_once.

Abaixo veremos alguns exemplos destas estruturas.

Figura 10 – Estrutura elseif

Figura 11 – Estrutura While

Page 35: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

34

Figura 12 – Estrutura Switch

3.3.8 FUNÇÕES

Funções ajudam a diminuir a repetição do código, além de tornar mais

fácil sua leitura. PHP, assim como qualquer outra linguagem de programação

possibilita a criação de funções.

A sintaxe para a definição de funções em PHP pode ser vista na figura

abaixo.

Figura 13 – Definindo Funções

3.3.9 OBJETOS E CLASSES

Page 36: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

35

Uma classe é um modelo de um objeto. Inclui propriedade e métodos

que descrevem o que o objeto é capaz de fazer e as informações que possam

armazenar. A partir de PHP 5 todo módulo de orientação a objetos foi reescrito,

tendo como objetivo melhorar o desempenho e aumentar o poder da

linguagem.

Figura 14 – Classe em PHP

No exemplo acima podemos notar algumas regras importantes:

• Declaração de Atributo da classe (a variável $var).

• Declaração de Método (função exibeVar()).

• Declaração de prioridade de acesso (public).

• A linha $classe = new ClasseExemplo() instancia o objeto.

Page 37: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

36

Em PHP 5 foram adicionados algumas novidades importantes em

relação a programação orientada a objetos. Abaixo são citadas algumas delas.

• Acesso public, protect e private.

• Possibilidade de usar interface.

• Métodos e classe final e abstrato.

• Atributos e métodos static.

• Constantes de classe, entre outros.

Page 38: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

37

4. DESENVOLVIMENTO DO SISTEMA

4.1 VISÃO DO SISTEMA

O Sistema de Apoio para Gerenciamento de Disciplinas via WEB tem

como finalidade, como o próprio nome deixa explícito, facilitar aos usuários

(corpo docente) a criação e atualização da página da disciplina ministrada.

Basicamente, ao logar-se no sistema, o usuário deste tem à sua escolha

uma lista com as disciplinas por ele ministradas no semestre corrente.

Selecionada a disciplina, o sistema permite, de forma simples e prática, a

inclusão do material desta. Ao final do processo o resultado será um website

contendo as informações da disciplina, de onde o usuário poderá manter

atualizados os conceitos obtidos pelo corpo discente, armazenados em uma

tabela do banco de dados MySQL criada automaticamente pelo sistema,

segundo configurações fornecidas pelo usuário.

As bases de dados utilizadas no sistema foram conseguidas com a

administração da REDE INF, no Centro Tecnológico da Universidade Federal

de Santa Catarina, sendo uma cópia exata da parte base de dados da

Universidade referente ao Departamento de Informática e Estatística. Para o

desenvolvimento e teste do Sistema, foi criada uma nova tabela para

armazenar o login e a senha para autorizar acesso dos usuários ao sistema.

Este login é na realidade o número de matrícula de cada integrante do corpo

docente, número este que serve como chave primária da tabela que contém a

informação sobre os docentes. Este estratagema serve para facilitar uma

possível futura integração do sistema a base de dados oficial da UFSC.

Page 39: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

38

4.2 LEVANTAMENTO DE REQUISITOS E PLANEJAMENTO DA

APLICAÇÃO.

Atualmente existem algumas soluções já implementadas que auxiliam

no gerenciamento da disciplina, tais como Moodle e TelEduc. Ambos

disponibilizam uma gama variada de recursos, como chat, listas de discussões,

entre outros.

Apesar disto, poucos professores utilizam estas aplicações. Uma das

justificativas é a complexidade do resultado, levando em conta a necessidade

de um website simples, cujas principais funcionalidades seriam a

disponibilidade dos conceitos obtidos pelos alunos e dos materiais a serem

utilizado.

Assim o principal requisito do sistema proposto foi a geração de um

website simples e prático.

Durante o planejamento da aplicação foi realizado um diagrama de

seqüência das telas do sistema, diagrama este que foi sendo atualizado

durante a implementação com a inclusão de novas telas que foram sendo

necessárias conforme a implementação progredia. Podemos ver este diagrama

na figura abaixo.

Page 40: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

39

Figura 15 – Diagrama da Seqüência das Páginas do Sistema.

Uma informação importante acerca do diagrama é que a partir da página

gerarPagina, as páginas gerarLinks, gerarMaterial e gerarPlano podem ser

acessadas conforme a seqüência desejada pelo usuário. Outra informação é a

o fato das subseqüências inlcuirconteudo e uploadconteudo e incluirbibliografia

Page 41: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

40

e uploadbibliografia serem opcionais. Além disto, a partir da página index_auth

sempre encontra-se presente a ligação para a página logoff.

Em outro passo do planejamento, foi executada uma técnica de

engenharia reversa sobre as tabelas do banco de dados que resultou no

diagrama E-R mostrado na figura abaixo.

Figura 16 – Diagrama E-R

Este diagrama apresentou como principal finalidade, a facilitação do

entendimento das conexões entre as tabelas do banco de dados e de como

isso influenciaria no projeto.

Uma questão importante sobre este diagrama é a inclusão da tabela

Alunos que apesar de não utilizada foi imaginada com alguns atributos para

futuramente poder ser empregada no sistema em funcionalidades como dispor

o e-mail e o nome do aluno.

Veremos agora passo-a-passo o funcionamento do sistema proposto.

Page 42: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

41

4.2.1 PÁGINA index.php

Esta página tem como finalidade apenas a autenticação do usuário.

Quando o formulário é submetido, o sistema busca na tabela senhas o login e a

senha. Se a comparação das informações retornadas com as informadas pelo

usuário for verdadeira o sistema cria uma sessão autorizando o usuário a

prosseguir, e redireciona o usuário para a página index_auth.php.

4.2.2 PÁGINA protect.php

Página presente em todas as páginas do sistema que o usuário acessa

diretamente (exceto a index.php e a logoff.php). Tem como função verificar,

através dos dados da sessão se o usuário está autorizado. Em caso negativo

redireciona o usuário para a página inicial.

4.2.3 PÁGINA logoff.php

Destrói a sessão, anulando a autorização para utilizar o sistema e

encaminha o usuário para a página inicial.

4.2.4 PÁGINA index_auth.php

Page 43: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

42

Através do acesso às bases de dados dá as boas vindas ao usuário,

disponibilizando um menu com as disciplinas ministradas no semestre atual.

Além disto têm uma ligação para a página que exclui as páginas já criadas.

4.2.5 PÁGINA gerarpagina.php

Cria o diretório da página que será o resultado do sistema, por padrão

no caminho ../”código da disciplina” (por exemplo ../INE5374). Ainda cria a

página de folha de estilo, a página principal, e uma página que será utilizada

por include nas outras páginas com o intuito de ser o menu (menu.php). Além

disto, mantêm ligações para as três principais opções (criação dos links,

material e plano de ensino / banco de dados).

Ao final de cada opção acima, grava nos respectivos arquivos a

padronagem da página da disciplina.

4.2.6 PÁGINAS gerarmaterial.php e uploadmaterial.php

Contêm um formulário para enviar arquivos (gerarmaterial) e o código

necessário para a gravação destes arquivos (uploadmaterial) na página de

materiais. Na página uploadmaterial disponibiliza a opção de continuar

inserindo materiais ou finalizar este passo da configuração.

4.2.7 PÁGINAS gerarlinks.php e uploadlinks.php

Page 44: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

43

Funcionam de modo análogo às páginas acima, apenas com a diferença

do resultado da inclusão ser ligações externas.

4.2.8 PÁGINA gerarplano.php

Apresenta dois formulários, sendo um para criar uma página de plano de

ensino com uma ligação para um arquivo pré-existente e o outro para criar a

página junto com o plano de ensino propriamente dito.

O primeiro formulário funciona como a página gerarmaterial, e

redireciona para a página uploadplano. Já o segundo formulário, necessita das

seguintes informações:

• Host MySQL: Deve apontar a máquina onde o servidor MySQL

está instalado.

• Login MySQL: O nome do usuário que se conecta ao servidor

MySQL.

• Senha MySQL: A senha de acesso do usuário acima.

• DataBase MySQL: O nome da base de dados que será

utilizada.

• Tabela MySQL: Nome da tabela que será criada na database

MySQL para armazenar as informações sobre notas e peso

das avaliações.

• Quantidade de Provas: Quantidade de provas da disciplina.

• Quantidade de Trabalhos: Quantidade de trabalhos da

disciplina.

Page 45: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

44

4.2.9 PÁGINA uploadplano.php

Cria a página de plano de ensino com o arquivo enviado, e contém uma

ligação para a página de configuração da tabela do banco de dados que será

responsável por manter os conceitos dos alunos.

4.2.10 PÁGINA configurarbd.php

Contém o formulário em que o usuário informa as configurações

necessárias para a criação da tabela da base de dados.

As informações pedidas por este formulário são idênticas as

informações necessárias no segundo formulário da página gerarplano.

4.2.11 PÁGINA gerarbd.php

Faz o processamento necessário para criação da tabela da base de

dados e contém o formulário onde é informado os pesos das avaliações.

4.2.12 PÁGINA povoarbd.php

Cria a página que exibirá as notas, acessa a base de dados da

universidade para obter a lista de alunos que cursa a disciplina e povoa a

tabela criada pela página acima. Além disto cria o setor administrativo da

página da disciplina, responsável pela publicação / alteração dos conceitos.

Page 46: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

45

4.2.13 PÁGINA gerarbdeplano.php

Cria a tabela da base de dados e exibe um formulário para obtenção dos

pesos, datas e descrições das avaliações.

4.2.14 PÁGINA povoarbd_gerarplano.php

Cria a página que exibirá as notas, acessa a base de dados da

universidade para obter a lista de alunos que cursa a disciplina e povoa a

tabela criada pela página acima.

Também cria a página de plano de ensino, já com as informações sobre

a disciplina, como nome e código, data e assunto das avaliações, etc.

Contém ligações para as páginas responsáveis por incluir bibliografia

básica e conteúdo programático no plano de ensino, além da criação do setor

administrativo.

4.2.15 PÁGINAS incluirconteudo.php e uploadconteudo.php

Funcionamento equivalente às páginas gerarmaterial.php e

uploadmaterial.php, incluindo apenas o texto referente ao conteúdo

programático.

4.2.16 PÁGINAS incluirbibliografia.php e uploadbibliografia.php

Page 47: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

46

Funcionamento equivalente às páginas gerarmaterial.php e

uploadmaterial.php, incluindo apenas o texto referente à bibliografia da

disciplina, com a possível ligação.

4.2.17 PÁGINA conexaoufsc.php e conexaosenha.php

A página conexaoufsc.php inclui a configuração da conexão ao banco de

dados que provê as informações da Universidade. Já a página

conexaosenha.php, inclui a configuração da conexão à tabela que contém as

matrículas e as senhas dos professores.

4.2.18 PÁGINA limpar.php

Oferece um menu com as disciplinas ministradas, para possível

exclusão das páginas já criadas.

4.2.19 PÁGINA estilos.css

Folha de estilos do SAGD.

4.3 BASE DE DADOS

Veremos a seguir as tabelas utilizadas, bem como sua função no

sistema.

Page 48: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

47

4.3.1 TABELA TurmasProfessores

Tabela 3 – Tabela TurmasProfessores

Esta tabela é utilizada primeiramente para obter o semestre atual. Além

disto, fornece a relação das disciplinas ministradas por determinado professor

no semestre e a turma relacionada.

Nesta tabela, existe uma chave única que é a junção dos quatro

campos.

4.3.2 TABELA senhas

Tabela 4 – Tabela senhas

Criada para o desenvolvimento do sistema, guarda a matrícula do

usuário como o campo login. Através desta informação se tem acesso às

informações subseqüentes para criação das páginas. Por exemplo, as

disciplinas que tal professor ministra.

Page 49: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

48

O campo login é uma chave primária, visto que não se pode ter

matrículas de professores repetidas.

4.3.3 TABELA Professores

Tabela 5 – Tabela Professores

Esta tabela apenas fornece dados sobre o professor, como nome e

titulação. Novamente, e pelo mesmo motivo, o campo que contém a matrícula,

neste caso o campo matricula é chave primária.

4.3.4 TABELA DisciplinasNPD

Page 50: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

49

Tabela 6 – Tabela DisciplinasNPD

Nesta tabela buscamos as informações referentes à disciplina cuja

página está sendo criada, como nome e departamento da disciplina.

4.3.5 TABELA EspelhoMatriculaNPD

Tabelo 7 – Tabela EspelhoMatriculaNPD

Page 51: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

50

Esta tabela é a responsável por fornecer a lista de matrícula dos alunos

cadastrados em uma turma de determinada disciplina. Abastece a tabela criada

pelo sistema.

4.4 IMPLEMENTAÇÃO

Como as tabelas utilizadas pelo sistema e apresentadas acima já

existiam no banco de dados da UFSC, a maior parcela de tempo foi gasta para

a correta interconexão entre elas junto com a criação dinâmica da tabela

responsável por armazenar as notas e seus respectivos pesos para cada

aluno.

Tabela 8 – Tabela gerada pelo sistema.

Acima vemos um exemplo da estrutura de uma tabela gerada

automaticamente pelo sistema, quando este é alimentado com informações de

que haverá uma prova e um trabalho. O campo p1 servirá para armazenar a

nota da prova e o pp1 seu peso. Analogamente t1 armazenará a nota do

trabalho e pt1 seu peso.

Page 52: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

51

Figura 17 – Home Page gerada pelo sistema.

Figura 18 – Página do plano de ensino configurado pelo sistema.

Page 53: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

52

Figura 19 – Página de materiais da disciplina.

Figura 20 – Página de Notas gerada.

Page 54: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

53

Figura 21 – Página de links da disciplina.

Figura 22 – Página de publicação de notas.

Page 55: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

54

Nas figuras anteriores vemos as páginas geradas pelo sistema. Vale

ressaltar que podem haver diferenças em algumas delas, pois existem outras

possibilidades de configuração quando da criação da página. Por exemplo, se

o sistema for alimentado com um arquivo contendo o plano de ensino, a página

de plano de ensino se tornaria similar a pagina de materiais da disciplina. Outra

diferença possível seria na página de plano de ensino aparecerem o conteúdo

pragmático e a bibliografia básica.

Outra questão importante se refere às paginas publicarnotas e notas.

Nesta página, o identificador do aluno é seu número de matrícula fato que se

deve principalmente a uma questão prática e a uma questão de privacidade. A

questão prática é o uso de uma tabela a menos do banco de dados da UFSC,

banco de dados esse que contém a matrícula e outras informações dos alunos,

como por exemplo, o nome e o email de todos alunos. A questão de

privacidade refere-se ao fato da prática de alguns professores de informar as

notas desta maneira, alegando uma maior privacidade para os alunos.

Vale ressaltar que a alteração deste identificador não resultaria em

grandes dificuldades, sendo necessária apenas a inclusão de mais uma

consulta a base de dados referentes aos alunos.

4.5 COMPARAÇÃO ENTRE O SISTEMA IMPLEMENTADO,

MOODLE E TELEDUC.

Comparando os aplicativos Moodle e TelEduc com o sistema

desenvolvido, percebe-se desde o início, pela proposta apresentada para este

projeto, uma diferença crucial. A proposta dos aplicativos já existentes é

Page 56: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

55

oferecer a possibilidade da criação de cursos on-line, permitindo a criação de

aulas e provas on-line, além de gerenciar as informações inerentes ao

gerenciamento da disciplina. Já o Sistema de Apoio para Gerenciamento de

Disciplinas não tem esta pretensão, contendo-se em criar as informações como

links importantes, permitir a disponibilização dos materiais utilizados na

disciplina, além de gerenciar as notas obtidas pelos alunos.

Na tabela abaixo podemos visualizar um comparativo em relação a

alguns recursos dos sistemas.

Moodle TelEduc SAGD

Chat Sim Sim Não

Fórum de discussão Sim Sim Não

Material de Apoio Sim Sim Sim

Gerenciamento de Notas Sim Sim Sim Tabela 9 – Comparativo entre aplicações.

Através desta tabela destacamos o compromisso do sistema com a

simplicidade, pois todas funcionalidades além das que são estritamente

necessárias para os requisitos foram descartadas.

Page 57: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

56

5. CONCLUSÃO E TRABALHOS FUTUROS

O projeto foi implementado com relativo sucesso, permitindo ainda a

visualização de trabalhos futuros.

Para a funcionalidade prevista inicialmente o resultado pode ser

considerado satisfatório, pois ao fim do projeto o website gerado está

funcionando conforme os requisitos percebidos.

Durante o desenvolvimento do sistema, percebeu-se algumas novas

funcionalidades que poderiam ser incluídas em versões futuras, como a

possibilidade de escolher entre várias folhas de estilos para o website, gerando

assim layouts diferentes, conforme a vontade do usuário. Outra opção, um

pouco mais simples, seria oferecer ao menos a opção de escolher as cores da

página da disciplina. Uma outra funcionalidade que foi percebida ao fim do

processo e não pode ser implementada por escassez de tempo e fica como

sugestão para trabalhos futuros seria a opção de alterar ou excluir as

informações contidas na página da disciplina de forma individual.

Outra melhoria a ser executada futuramente que pode ser prevista foi a

necessidade de melhor a usabilidade do sistema, procedendo com a avaliação

da interface gráfica, tanto do sistema em si, quanto do site que é gerado com

seu uso.

Page 58: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

57

6. REFERÊNCIAS

[ANSELMO, 2002] ANSELMO, Fernando. PHP e MySQL: Maior,

Melhor e Totalmente sem Cortes.

Florianópolis: Visual Books, 2002.

[CASTAGNETTO, 1999] CASTAGNETTO, J., et al. Professional PHP

Programing. EUA: Wrox Press, 1999.

[CSS, 2007] TUTORIAL CSS: CSS desde o início.

Disponível em

www.maujor.com/tutorial/joe/cssjoe1.php.

Último acesso em: Fevereiro de 2007.

[LITTO, 2004] LITTO, F.M., FILATRO, A., ANDRÉ, C.

Brazilian research on distance learning.

Disponível em :

http://www.abed.org.br/congresso2004/por/pd

f/180-TC-D4.pdf. Último acesso em:

Fevereiro de 2007.

[MANSFIELD, 2005] MANSFIELD, Richard. CSS Web Design for

Dummies. EUA:Wiley Publishing, 2005.

[MYSQL, 2007] MYSQL. Página oficial do MySQL. Disponível

em www.mysql.com. Último acesso em:

Fevereiro de 2007.

[MOODLE, 2007] Moodle. Página oficial do Moodle. Disponível

em www.moodle.org. Último acesso em:

Fevereiro de 2007.

Page 59: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

58

[NIEDERAUER, 2004] NIEDERAUER, Juliano. PHP para quem

conhece PHP: Recursos Avançados para a

Criação de Websites Dinâmicos. São Paulo:

Novatec, 2005.

[PHP, 2007] PHP. Página oficial do PHP. Disponível em

www.php.net. Último acesso em: Fevereiro

de 2007.

[ROCHA, 2003] ROCHA, Cerli Antônio da. Desenvolvendo

Web sites Dinâmicos: PHP, ASP e JSP. Rio

de Janeiro: Campus, 2003.

[SOARES, 2004] SOARES, Wallace. PHP 5: Conceitos,

Programação e Integração com Banco de

Dados. São Paulo: Érica, 2004.

[TELEDUC, 2007] TELEDUC. Página oficial do TelEduc.

Disponível em

teleduc.nied.unicamp.Br/teleduc. Último

acesso em: Fevereiro de 2007.

[THOMSON, 2005] THOMSON, Laura e WELLING, Luke.

Desenvolvimento Web: PHP e MySQL. São

Paulo, 2005.

Page 60: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

59

ANEXOS

Page 61: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

60

ANEXO 1 – Código Fonte

Index.php

<?php if (!isset($_POST[cmd])){ print_login(); exit; } else{ $conec; $bco; $conectou = 1;

include "conexaosenha.php"; if ($conectou){ $temp = "select * from senhas"; $proc1 = $temp; $res = mysql_query($proc1,$conec); if ($res){ $dados = mysql_fetch_array($res); $linhas = mysql_num_rows($res); $t = 1; while($t<= $linhas){ $matricula = $dados['login']; $senha = $dados['senha']; if (trim($matricula) == trim($_POST[username]) && trim($senha) == trim($_POST[userpwd])){ $is_user = "1"; break; } else{ $is_user = "0"; } $t++; $dados = mysql_fetch_array($res); } } /* Libera o conjunto de resultados */ mysql_free_result($res); } /* Fechando a conexão */ mysql_close($conec); } if ($is_user == "1"){ $auth = true; $username = $_POST[username]; $userpwd = $_POST[userpwd]; session_start("authorized"); $_SESSION['username'] = $username;

Page 62: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

61

$_SESSION['userpwd'] = $userpwd; session_register('auth'); header("Location: index_auth.php"); exit; } else{ echo "<br><br><br><font color=\"#ffffff\"><center>Nome do usuário ou senha inválido</center></font><br>"; print_login(); } function print_login($username='') { // Prints the login form. echo " <body text=\"#FFFFFF\" bgcolor=\"#000066\"> <p align=\"center\"><b><font size=\"6\">Bem Vindo ao Sistema de Apoio <br>para Gerenciamento de Disciplinas via WEB</font></b></p> <p align=\"center\">&nbsp;</p> <p align=\"center\"><b>Professor, entre com seu login (matrícula) e senha!</b></p> <form method=\"POST\" action=\"index.php\"> <input type=\"hidden\" name=\"cmd\" value=\"login\"> <p align=\"center\"> Login&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=\"text\" name=\"username\" size=\"20\"><br> Senha&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=\"password\" name=\"userpwd\" size=\"20\"> </p> <p align=\"center\"><input type=\"submit\" value=\"Login\"></p> </form> <p align=\"center\">&nbsp;</p> "; } ?> index_auth.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> </span> </div> </div>

Page 63: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

62

<div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php $_SESSION["plano"] = 0; $_SESSION["material"] = 0; $_SESSION["links"] = 0; include "conexaoufsc.php"; // pegar informacoes do professor if ($conectou){ $query = "select * from Professores where matricula = '$_SESSION[username]'"; $res = mysql_query($query,$conec); $dados = mysql_fetch_array($res); $nomeprofessor = $dados['nome']; $titulacao = $dados['titulacao']; mysql_free_result($res); } if ($conectou){ // pega ultimo semestre $temp = "select MAX(semestre) AS semestre from TurmasProfessores"; $tempres = mysql_query($temp,$conec); $temp = mysql_fetch_array($tempres); $valor = $temp['semestre']; $proc1 = "select * from TurmasProfessores where matriculaProfessor = '$_SESSION[username]' and semestre='$valor'"; $res = mysql_query($proc1,$conec); if ($res){ $dados = mysql_fetch_array($res); $linhas = mysql_num_rows($res); $t = 1; while($t<= $linhas){ $disciplina = $dados['disciplina']; $proc2 = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res2 = mysql_query($proc2,$conec); if ($res2){ $dados2 = mysql_fetch_array($res2); $nomedisc = $dados2['nome']; $ha = $dados2['ha']; echo "<a href=\"gerarpagina.php?disciplina=$disciplina\">$disciplina</a><br>- $nomedisc<br>- $ha h<br><br>"; } else{ echo "$disciplina - Problema ao Acessar BD Disciplinas<br>"; } $t++; $dados = mysql_fetch_array($res);

Page 64: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

63

} echo "<a href=limpar.php target=_blank>Excluir Disciplinas</a>"; } } ?> </div> </div> <div id="content"> <div class="feature"> <h3><?php echo"Bem-Vindo $titulacao $nomeprofessor"; ?> </h3> <p><br>Escolha a disciplina, no menu &agrave; esquerda, que voc&ecirc; deseja criar o website.<br> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> protect.php <?php session_start("authorized"); session_register('username'); session_register('userpwd'); session_register('nome'); session_register('auth'); if(!$_SESSION[auth]) { header("location: index.php?cmd="); } ?> logoff.php <?php session_start("authorized"); session_destroy(); header("Location: index.php"); ?> limpar.php <?php include "protect.php" ?> <html> <head> <title>Script para excluir arquivos e diretorios</title> </head> <style type="text/css">

Page 65: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

64

<!-- .style4 { color: #000000; font-weight: bold; } .caixas { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-style: normal; line-height: normal; font-weight: normal; font-variant: normal; border: #666666; border-style: groove; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; background-color: #F8F8F8; overflow: hidden; } --> </style> <body> <br> <br> <form action="limpar.php" method="post"> <table width="500" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#c7c7c7"> <td colspan="2"><span class="style4">&nbsp; :: Escolha a disciplina desejada :: </span></td> </tr> <tr bgcolor="#f7f7f7"> <td width="150">&nbsp; Disciplina:</td> <td width="350"> <select name=dir> <option value="" selected>Selecione a Disciplina <option value="">- - - - - - - - - - - - - - - - - - - - - - <?php include "conexaoufsc.php"; if ($conectou){ // pega ultimo semestre $temp = "select MAX(semestre) AS semestre from TurmasProfessores"; $tempres = mysql_query($temp,$conec); $temp = mysql_fetch_array($tempres); $valor = $temp['semestre']; $proc1 = "select * from TurmasProfessores where matriculaProfessor = '$_SESSION[username]' and semestre='$valor'"; $res = mysql_query($proc1,$conec); if ($res){ $dados = mysql_fetch_array($res); $linhas = mysql_num_rows($res); $t = 1; while($t<= $linhas){ $disciplina = $dados['disciplina'];

Page 66: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

65

$proc2 = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res2 = mysql_query($proc2,$conec); if ($res2){ $dados2 = mysql_fetch_array($res2); $nomedisc = $dados2['nome']; echo "<option value=$disciplina>$disciplina - $nomedisc"; } else{ echo "$disciplina - Problema ao Acessar BD Disciplinas<br>"; } $t++; $dados = mysql_fetch_array($res); } } } ?> </select> </td> </tr> <tr> <td colspan="2"><input type="submit" name="Submit" value="Enviar" class="caixas"></td> </tr> </table> </form> <br> <br> <? $Submit = $_POST['Submit']; if($Submit=="Enviar"){ $dir = $_POST['dir']; $dir = "../".$dir; chmod("$dir",0777); $dh = @opendir("$dir"); while (($file = readdir($dh)) !== false) { @unlink("$dir/$file"); echo "filename: $file - Ok..<br>"; } closedir($dh); @rmdir($dir); echo "diretorio: $dir - ok..<br>"; } ?> </body> </html> conexaosenha.php <?php $conec = mysql_connect('localhost','gll136_lorensi','notas'); if ($conec) {

Page 67: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

66

$bco = mysql_select_db("gll136_ufsc",$conec); if ($bco) { $conectou =1; }else{ echo "BD não encontrado"; } }else{ echo "Erro na conexao"; } ?> conexaoufsc.php <?php $conec = mysql_connect('localhost','gll136_lorensi','notas'); if ($conec) { $bco = mysql_select_db("gll136_ufsc",$conec); if ($bco) { $conectou =1; }else{ echo "BD não encontrado"; } }else{ echo "Erro na conexao"; } ?> gerarpagina.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } $d= "../".$disciplina;

Page 68: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

67

$t = @mkdir("$d",0777); if($t){ $dir="../".$disciplina."/"; /* criando estilo.css */ $pagina=$dir."estilo.css"; $arq = @fopen($pagina,"x+"); if ($arq){ /* gravando estilos.css */ $temp = " body{ font-family: Arial,sans-serif; color: #333333; line-height: 1.166; margin: 0px; padding: 0px; background-color:#CCCCCC; } a:link, a:visited{ color: #005FA9; text-decoration: none; } a:hover{ text-decoration: underline; } h1{ font: bold 120% Arial,sans-serif; color: #334d55; margin: 0px; padding: 0px; } h3{ font: bold 100% Arial,sans-serif; color: #334d55; margin: 0px; padding: 0px; } #pagecell1{ position:absolute; top: 112px; left: 2%; right: 2%; width:95.6%; background-color: #ffffff; } #masthead{ position: absolute; top: 0px; left: 2%; right: 2%; width:95.6%; }

Page 69: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

68

#content{ padding: 0px 10px 0px 0px; margin:0px 20px 0px 20px; border-left: 1px solid #ccd2d2; border-right: 1px solid #ccd2d2; } #siteName{ margin: 0px; padding: 16px 0px 8px 0px; color: #ffffff; font-weight: normal; } #globalNav{ position: relative; width: 100%; min-width: 640px; height: 32px; color: #cccccc; padding: 0px; margin: 0px; background-color:#CCCCCC; } #globalNav img{ margin-bottom: -4px; } #globalLink{ position: absolute; top: 6px; height: 22px; min-width: 640px; padding: 0px; margin: 0px; left: 10px; z-index: 100; } a.glink, a.glink:visited{ font-size: small; color: #000000; font-weight: bold; margin: 0px; padding: 2px 5px 4px 5px; border-right: 1px solid #8FB8BC; } a.glink:hover{ background-color:#DDDDDD; text-decoration: none; } .skipLinks {display: none;} .feature{ padding: 0px 0px 10px 10px; font-size: 80%;

Page 70: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

69

min-height: 200px; height: 200px; } html>body .feature {height: auto;} .feature h3{ font: bold 175% Arial,sans-serif; color: #000000; padding: 30px 0px 5px 0px; } .feature img{ float: left; padding: 0px 10px 0px 0px; } #siteInfo{ clear: both; border-top: 1px solid #cccccc; font-size: small; color: #cccccc; padding: 10px 10px 10px 10px; margin-top: -1px; } #siteInfo img{ padding: 4px 4px 4px 0px; vertical-align: middle; } "; $tamarq = fwrite($arq,$temp); } fclose($arq); chmod("$pagina",0777); /* criando menu.php */ $pagina=$dir."menu.php"; $arq = @fopen($pagina,"x+"); if ($arq){ /* gravando menu.php */ $temp= " <a href=\"index.php\" class=\"glink\">Home</a>\n"; $temp.= " <a href=\"plano.php\" class=\"glink\">Plano de Ensino</a>\n"; $temp.= " <a href=\"material.php\" class=\"glink\">Material</a>\n"; $temp.= " <a href=\"notas.php\" class=\"glink\">Notas</a>\n"; $temp.= " <a href=\"links.php\" class=\"glink\">Links</a>\n"; $temp.= " <a href=\"administracao.php\" class=\"glink\">Administra&ccedil;&atilde;o</a>"; $tamarq = fwrite($arq,$temp); } fclose($arq); chmod("$pagina",0777); /* criando conexaosenha.php */ $pagina=$dir."conexaosenha.php"; $arq = @fopen($pagina,"x+"); if ($arq){ /* gravando conexaosenha.php */ $temp= " <?php

Page 71: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

70

\$conec = mysql_connect('localhost','gll136_lorensi','notas'); if (\$conec) { \$bco = mysql_select_db(\"gll136_ufsc\",\$conec); if (\$bco) { \$conectou =1; }else{ echo \"BD Ufsc não encontrado\"; } }else{ echo \"Erro na conexao\"; } ?> "; $tamarq = fwrite($arq,$temp); } fclose($arq); chmod("$pagina",0777); /* criando protect.php */ $pagina=$dir."protect.php"; $arq = @fopen($pagina,"x+"); if ($arq){ /* gravando protect.php */ $temp= "<?php session_start(\"authorized\"); session_register('username'); session_register('userpwd'); session_register('nome'); session_register('auth'); if(!\$_SESSION[auth]) { header(\"location: administracao.php?cmd=\"); } ?> "; $tamarq = fwrite($arq,$temp); } fclose($arq); chmod("$pagina",0777); /* criando administracao.php */ $pagina=$dir."administracao.php"; $arq = @fopen($pagina,"x+"); if ($arq){ /* gravando administracao.php */ $temp= " <?php if (!isset(\$_POST[cmd])){ print_login(); exit; } else{ \$conec; \$bco; \$conectou = 1; include \"conexaosenha.php\"; if (\$conectou){ \$temp = \"select * from senhas\";

Page 72: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

71

\$proc1 = \$temp; \$res = mysql_query(\$proc1,\$conec); if (\$res){ \$dados = mysql_fetch_array(\$res); \$linhas = mysql_num_rows(\$res); \$t = 1; while(\$t<= \$linhas){ \$matricula = \$dados[login]; \$senha = \$dados[senha]; if (trim(\$matricula) == trim(\$_POST[username]) && trim(\$senha) == trim(\$_POST[userpwd])){ \$is_user = \"1\"; break; } else{ \$is_user = \"0\"; } \$t++; \$dados = mysql_fetch_array(\$res); } } /* Libera o conjunto de resultados */ mysql_free_result(\$res); } /* Fechando a conexão */ mysql_close(\$conec); } if (\$is_user == \"1\"){ \$auth = true; \$username = \$_POST[username]; \$userpwd = \$_POST[userpwd]; session_start(\"authorized\"); \$_SESSION[username] = \$username; \$_SESSION[userpwd] = \$userpwd; \$_SESSION[logado] = 1; session_register(auth); header(\"Location: publicarnotas.php\"); exit; } else{ echo \"<br><br><br><font color=#ffffff><center>Nome do usuário ou senha inválido</center></font><br>\"; print_login(); } function print_login(\$username='') { // Prints the login form. echo \" <body text=#FFFFFF bgcolor=#000066> <p align=center><b><font size=6>Bem Vindo ao m&oacute;dulo de Administra&ccedil;&atilde;o<br></font></b></p> <p align=center>&nbsp;</p> <p align=center><b>Professor, entre com seu login (matrícula) e senha!</b></p> <form method=POST action=publicarnotas.php> <input type=hidden name=cmd value=login>

Page 73: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

72

<p align=center> Login&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=text name=username size=20><br> Senha&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=password name=userpwd size=20> </p> <p align=center><input type=submit value=Login></p> </form> <p align=center>&nbsp;</p> \"; } ?> "; $tamarq = fwrite($arq,$temp); } fclose($arq); chmod("$pagina",0777); /* criando index.php */ $pagina=$dir."index.php"; $arq = @fopen($pagina,"x+"); if ($arq){ /* gravando index.php */ $temp = "<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; $temp .= $nomedisc; $temp .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $temp .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Seja bem-vindo &agrave; p&aacute;gina da disciplina $disciplina - $nomedisc!</h3> <p><center> Utilize o menu acima para navegar! </center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div>

Page 74: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

73

<!--end pagecell1--> </body> </html> "; $tamarq = fwrite($arq,$temp); } fclose($arq); chmod("$pagina",0777); } if ($acao=="material"){ $_SESSION["material"]=1; /* gravando material.php */ $pagina=$dir."material.php"; $arq = fopen($pagina,"r+b"); if ($arq){ $temp = "<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $temp .= $disciplina." - ".$nomedisc; } } $temp .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $temp .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Material da Disciplina</h3> <p><center>"; $tamarq = fwrite($arq,$temp); } fclose($arq); $pagina=$dir."material.php"; $arq = fopen($pagina,"a+b"); if ($arq){ $temp=" </center></p>

Page 75: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

74

</div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $tamarq = fwrite($arq,$temp); } fclose($arq); } if ($acao=="links"){ $_SESSION["links"]=1; /* gravando links.php */ $pagina=$dir."links.php"; $arq = fopen($pagina,"r+b"); if ($arq){ $temp = "<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $temp .= $disciplina." - ".$nomedisc; } } $temp .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $temp .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Links</h3> <p><center>"; $tamarq = fwrite($arq,$temp); } fclose($arq);

Page 76: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

75

$pagina=$dir."links.php"; $arq = fopen($pagina,"a+b"); if ($arq){ $temp=" </center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $tamarq = fwrite($arq,$temp); } fclose($arq); } if ($acao=="plano"){ $_SESSION["plano"]=1; /* gravando plano.php */ $pagina=$dir."plano.php"; $arq = fopen($pagina,"r+b"); if ($arq){ $temp = " <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $temp .= $disciplina." - ".$nomedisc; } } $temp .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $temp .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\">

Page 77: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

76

<div class=\"feature\"> <h3>Plano de Ensino</h3> "; $tamarq = fwrite($arq,$temp); } fclose($arq); $pagina=$dir."plano.php"; $arq = fopen($pagina,"a+b"); if ($arq){ $temp=" </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $tamarq = fwrite($arq,$temp); } fclose($arq); } /* Verificar acao.... se == material, incluir cabecalho e rodape (padronagem do site....) no material.php se == links, incluir cabecalho e rodape (padronagem do site....) no links.php se == plano, incluir cabecalho e rodape (padronagem do site....) no plano.php e notas.php */ ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){

Page 78: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

77

echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3><?php echo"Bem-Vindo a Configura&ccedil;&atilde;o da P&aacute;gina da Disciplina $disciplina"; ?> </h3> <p>No menu ao lado, escolha as op&ccedil;&otilde;es de acordo com sua prefer&ecirc;ncia.<br> As instru&ccedil;&otilde;es se encontram mais detalhadas em cada p&aacute;gina! <br><br><center><a href=index_auth.php>Voltar &agrave; escolha das disciplinas.</a></center> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> gerarmaterial.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){

Page 79: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

78

$proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php echo "

Page 80: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

79

<form action=\"uploadmaterial.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> "; ?> <div align=center> <table width="500" border="0"> <tr> <td width="350"><input type="text" size=40 name="desc"></td> <td width="150">Descri&ccedil;&atilde;o</td> </tr> <tr> <td colspan="2"><input type="file" size=42 name="file"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Enviar"> </td> </tr> </table> </div> <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> </form> <br> <br>Utilize o formul&aacute;rio acima para enviar ao sistema os arquivos da disciplina.<br><br> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> uploadmaterial.php <?php include "protect.php";?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc";

Page 81: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

80

} } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php if ($file == "none") { echo"<center><font face=verdana, Helvetica, sans-serif size=3><font color=#FF0000><b>SELECIONE O ARQUIVO CORRETAMENTE</font></font>"; echo"<p><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Voltar</a>"; }else { chmod ($dir, 0777); copy($file, $dir.$file_name);

Page 82: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

81

unlink($file); echo"<center><font face=Arial size=3><font color=#000000><b>Enviado Corretamente</b></font></font>"; echo"<p><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Inserir Outro</a></p>"; echo"<p><a href=gerarpagina.php?dir=$dir&disciplina=$disciplina&acao=material>Encerrar Material.php</a></p></center>"; /* criando material.php */ $pagina=$dir."material.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando material.php */ $temp.= " \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n <a href=\"$dir$file_name\" target=\"_blank\">$desc</a>\n<br>\n"; $tamarq = fwrite($arq,$temp); } fclose($arq); } ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> gerarlinks.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Page 83: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

82

<title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; }

Page 84: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

83

else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p><?php echo " <form action=\"uploadlinks.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> "; ?> <div align=center> <table width="500" border="0"> <tr> <td width="350"><input type="text" size=40 name="desc"></td> <td width="150">Descri&ccedil;&atilde;o</td> </tr> <tr> <td colspan="2"><input type="text" size=40 name="url"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Enviar"> </td> </tr> </table> </div> </form> <br> <br>Utilize o formul&aacute;rio acima para enviar ao sistema os links necess&aacute;rios. <br><br> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> uploadlinks.php <?php include "protect.php";?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body>

Page 85: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

84

<div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; }

Page 86: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

85

?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php echo"<center><font face=Arial size=3><font color=#000000><b>Enviado Corretamente</b></font></font>"; echo"<p><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Inserir Outro</a></p>"; echo"<p><a href=gerarpagina.php?dir=$dir&disciplina=$disciplina&acao=links>Encerrar Links.php</a></p></center>"; /* criando links.php */ $pagina=$dir."links.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando links.php */ $temp.= " \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n <a href=\"$url\" target=\"_blank\">$desc</a>\n<br>\n"; $tamarq = fwrite($arq,$temp); } fclose($arq); ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html>

Page 87: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

86

gerarplano.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{

Page 88: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

87

echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> Utilize o primeiro formul&aacute;rio para adicionar um arquivo contendo o plano de ensino. A configura&ccedil;&atilde;o do banco de dados ocorrer&aacute; em p&aacute;ginas subsequentes.<br> Caso queira criar o plano de ensino automaticamente, utilize o segundo formul&aacute;rio.<br> <?php echo " <hr><br> <center>Criar com Plano de Ensino Existente... </center> <form action=\"uploadplano.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> "; ?> <div align=center> <table width="500" border="0"> <tr> <td width="350"><input type="text" size=40 name="desc"></td> <td width="150">Descri&ccedil;&atilde;o</td> </tr> <tr> <td colspan="2"><input type="file" size=42 name="file"></td> </tr> <tr> <td colspan="2"><input type="submit" value="Enviar"> </td> </tr> </table> </div> <input type="hidden" name="MAX_FILE_SIZE" value="3000000"> </form> <br> <?php echo " <hr><br> <center>Criar Plano de Ensino...</center> <form action=\"gerarbdeplano.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> "; ?>

Page 89: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

88

<div align=center> <table width="500" border="0"> <tr> <td width="350"><input type="text" size=40 name="hostmy"></td> <td width="150">Host MySQL</td> </tr> <tr> <td width="350"><input type="text" size=20 name="loginmy"></td> <td width="150">Login MySQL</td> </tr> <tr> <td width="350"><input type="password" size=10 name="senhamy"></td> <td width="150">Senha MySQL</td> </tr> <tr> <td width="350"><input type="text" size=20 name="databasemy"></td> <td width="150">DataBase MySQL</td> </tr> <tr> <td width="350"><input type="text" size=20 name="discmy"></td> <td width="150">Tabela MySQL (vai ser criada)</td> </tr> <tr> <td width="350"><input type="text" size=3 name="qp"></td> <td width="150">Qtde Provas</td> </tr> <tr> <td width="350"><input type="text" size=3 name="qt"></td> <td width="150">Qtde Trabalhos</td> </tr> <tr> <td colspan=2 align right><input type="submit" value="Enviar"></td> </tr> </table> </div> </form><br> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> uploadplano.php <?php include "protect.php";?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead">

Page 90: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

89

<h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Pgina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?>

Page 91: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

90

</div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php if ($file == "none") { echo"<center><font face=verdana, Helvetica, sans-serif size=3><font color=#FF0000><b>SELECIONE O ARQUIVO CORRETAMENTE</font></font>"; echo"<p><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Voltar</a>"; }else { chmod ($dir, 0777); copy($file, $dir.$file_name); unlink($file); echo"<center><font face=Arial size=3><font color=#000000><b>Enviado Corretamente</b></font></font>"; echo"<p><a href=configurarbd.php?dir=$dir&disciplina=$disciplina>Encerrar Plano.php - Configurar BD</a></p></center>"; /* criando plano.php */ $pagina=$dir."plano.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando plano.php */ $temp = "<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $temp .= $disciplina." - ".$nomedisc; } } $temp .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $temp .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\">

Page 92: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

91

<h3>Atualizar Notas</h3> <p><center>"; $temp.= " <a href=\"$dir$file_name\" target=\"_blank\">$desc</a>\n<br>\n"; $temp.=" </center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $tamarq = fwrite($arq,$temp); } fclose($arq); } ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> configurarbd.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; }

Page 93: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

92

} ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> Envie as informa&ccedil;&otilde;es para a configura&ccedil;&atilde;o do acesso a base de dados e a cria&ccedil;&atilde;o da tabela do banco de dados. <?php echo " <hr><br> <center>Configurar BD...</center> <form action=\"gerarbd.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> "; ?>

Page 94: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

93

<div align=center> <table width="500" border="0"> <tr> <td width="350"><input type="text" size=40 name="hostmy"></td> <td width="150">Host MySQL</td> </tr> <tr> <td width="350"><input type="text" size=20 name="loginmy"></td> <td width="150">Login MySQL</td> </tr> <tr> <td width="350"><input type="password" size=10 name="senhamy"></td> <td width="150">Senha MySQL</td> </tr> <tr> <td width="350"><input type="text" size=20 name="databasemy"></td> <td width="150">DataBase MySQL</td> </tr> <tr> <td width="350"><input type="text" size=20 name="discmy"></td> <td width="150">Tabela MySQL (vai ser criada)</td> </tr> <tr> <td width="350"><input type="text" size=3 name="qp"></td> <td width="150">Qtde Provas</td> </tr> <tr> <td width="350"><input type="text" size=3 name="qt"></td> <td width="150">Qtde Trabalhos</td> </tr> <tr> <td colspan=2 align right><input type="submit" value="Enviar"></td> </tr> </table> </div> </form><br> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> povoarbd.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead">

Page 95: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

94

<h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?>

Page 96: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

95

</div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php //criando temporarios $tempqt = $qt; $tempqp = $qp; $total = $qt + $qp; //pesquisando alunos na disciplina $conec; $bco; $conectou = 1; include "conexaoufsc.php"; if ($conectou){ $temp = "select MAX(semestre) AS semestre from TurmasProfessores"; $tempres = mysql_query($temp,$conec); $temp = mysql_fetch_array($tempres); $valor = $temp['semestre']; $temp = "select matricula from EspelhoMatriculaNPD where disciplina='$discmy' and semestre = '$valor' and removido='n'"; $res = mysql_query($temp,$conec); if ($res){ $dados = mysql_fetch_array($res); $linhas = mysql_num_rows($res); $t = 1; $qtde = $linhas; while($t<= $linhas){ $alunos[$t-1] = $dados['matricula']; $t++; $dados = mysql_fetch_array($res); } } } /* Fechando a conexo */ mysql_close($conec); // povoando alunos $link = mysql_connect($hostmy,$loginmy,$senhamy); if (!$link) { die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('N&atilde;o foi poss&iacute;vel usar database $databasemy : ' . mysql_error());

Page 97: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

96

} else{ $my_query = 'insert into `'.$discmy.'` ( `aluno`'; while ($tempqt > 0){ $my_query.= ' , `pt'.$tempqt.'`'; $tempqt--; } while ($tempqp > 0){ $my_query.= ' , `pp'.$tempqp.'`'; $tempqp--; } $my_query.=' ) values '; while ($qtde > 1){ $tempqt = $qt; $tempqp = $qp; $my_query .= '('.$alunos[$qtde-1]; while ($tempqt > 0){ $my_query.= ', '.$pt[$tempqt-1]; $tempqt--; } while ($tempqp > 0){ $my_query.= ', '.$pp[$tempqp-1]; $tempqp--; } $my_query .= '),'; $qtde--; } $tempqt = $qt; $tempqp = $qp; $my_query .= '('.$alunos[$qtde-1]; while ($tempqt > 0){ $my_query.= ', '.$pt[$tempqt-1]; $tempqt--; } while ($tempqp > 0){ $my_query.= ', '.$pp[$tempqp-1]; $tempqp--; } $my_query .= ')'; $qtde--; $result = mysql_query($my_query); if (!$result) { die('Query Inv&aacute;lida: ' . mysql_error()); } else{ $_SESSION["plano"]=1; echo "<center><br>BD POVOADO<br><br>"; //falta criar paginas plano, notas e publicar echo"<p><a href=gerarpagina.php?dir=$dir&disciplina=$disciplina&acao=plano>Encerrar BD.php</a></p></center>"; } } } mysql_close($link);

Page 98: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

97

// criando paginas - notas e publicar $link = mysql_connect($hostmy,$loginmy,$senhamy); if (!$link) { die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('N&atilde;o foi poss&iacute;vel usar database $databasemy : ' . mysql_error()); } else{ $my_query = 'select * from `'.$discmy.'`'; $result = mysql_query($my_query); $qte = mysql_num_rows($res); if (!$result) { die('Query Inv&aacute;lida: ' . mysql_error()); } else{ /* Criando SQL em notas.php*/ $grav = "<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $grav .= $disciplina." - ".$nomedisc; } } $grav .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $grav .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Notas</h3> <p><center>"; $grav .= " <?php \n"; $grav .= " \$qp = ".$qp."; \n";

Page 99: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

98

$grav .= " \$qt = ".$qt."; \n"; $grav .= " \$link = mysql_connect(".$hostmy.",".$loginmy.",".$senhamy."); \n"; $grav .= " if (!\$link) {\n"; $grav .= " die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$db_selected = mysql_select_db(".$databasemy.",\$link);\n"; $grav .= " if (!\$db_selected) {\n"; $grav .= " die ('N&atilde;o foi poss&iacute;vel usar database ".$databasemy." : ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$query = \"select * from ".$discmy."\";\n"; $grav .= " \$res = mysql_query(\$query);\n"; $grav .= " \$qte = mysql_num_rows(\$res);\n"; $grav .= " if(\$res) {\n"; $grav .= " echo \"\n"; $grav .= " <div align=center>\n"; $grav .= " <table width=600 border=1>\n"; $grav .= " <tr bgcolor=#CCCCCC>\n"; $grav .= " <td><div align=center>Matricula</div></td>\n"; for($p=1; $p<= $qp; $p++){ $grav .= " <td><div align=center>P$p</div></td>\n"; } for($trab=1; $trab<= $qt; $trab++){ $grav.= " <td><div align=center>T$trab</div></td>\n"; } $grav .= " </tr>\";\n"; $grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " for (\$t=0; \$t < \$qte; \$t++){\n"; $grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " \$np[\$p] = \$dados['p'.\$p];\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " \$nt[\$trab] = \$dados['t'.\$trab];\n"; $grav .= " }\n"; $grav .= " \$aluno = \$dados['aluno'];\n"; $grav .= " echo \"\n"; $grav .= " <tr>\n"; $grav .= " <td><div align=center>\$aluno</div></td>\";\n"; $grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " echo \"<td><div align=center>\$np[\$p]\n";

Page 100: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

99

$grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " echo \"<td><div align=center>\$nt[\$trab]\n"; $grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " echo \"</tr>\";\n"; $grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= "?>"; $grav.=" </table></center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $pagina=$dir."notas.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando notas.php */ $tamarq = fwrite($arq,$grav); } fclose($arq); /* Criando SQL em publicarnotas.php*/ $grav = "<?php include\"protect.php\" ?> <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $grav .= $disciplina." - ".$nomedisc; } } $grav .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body>

Page 101: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

100

<div id=\"masthead\"> <h1 id=\"siteName\">"; $grav .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Publicar Notas</h3> <p><center>"; $grav .= " <?php \n"; $grav .= " echo \"<form name=form method=post action=atualizar.php>\";\n"; $grav .= " \$qp = ".$qp."; \n"; $grav .= " \$qt = ".$qt."; \n"; $grav .= " \$link = mysql_connect(".$hostmy.",".$loginmy.",".$senhamy."); \n"; $grav .= " if (!\$link) {\n"; $grav .= " die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$db_selected = mysql_select_db(".$databasemy.",\$link);\n"; $grav .= " if (!\$db_selected) {\n"; $grav .= " die ('N&atilde;o foi poss&iacute;vel usar database ".$databasemy." : ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$query = \"select * from ".$discmy."\";\n"; $grav .= " \$res = mysql_query(\$query);\n"; $grav .= " \$qte = mysql_num_rows(\$res);\n"; $grav .= " if(\$res) {\n"; $grav .= " echo \"\n"; $grav .= " <div align=center>\n"; $grav .= " <table width=600 border=1>\n"; $grav .= " <tr bgcolor=#CCCCCC>\n"; $grav .= " <td><div align=center>Matricula</div></td>\n"; for($p=1; $p<= $qp; $p++){ $grav .= " <td><div align=center>P$p</div></td>\n"; } for($trab=1; $trab<= $qt; $trab++){ $grav.= " <td><div align=center>T$trab</div></td>\n"; } $grav .= " </tr>\";\n";

Page 102: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

101

$grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " for (\$t=0; \$t < \$qte; \$t++){\n"; $grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " \$np[\$p] = \$dados['p'.\$p];\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " \$nt[\$trab] = \$dados['t'.\$trab];\n"; $grav .= " }\n"; $grav .= " \$aluno = \$dados['aluno'];\n"; $grav .= " echo \"\n"; $grav .= " <tr>\n"; $grav .= " <td><div align=center>\$aluno</div></td>\";\n"; $grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " \$ind = (\$t*\$qp)+\$p; \n"; $grav .= " echo \"<td><div align=center><input type=text name=p[\$ind] maxlength=3 size=2 value=\$np[\$p]>\n"; $grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " \$ind = (\$t*\$qt)+\$trab; \n"; $grav .= " echo \"<td><div align=center><input type=text name=t[\$ind] maxlength=3 size=2 value=\$nt[\$trab]>\n"; $grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " echo \"<input type=hidden name=alunos[\$t] value=\$aluno></tr>\";\n"; $grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= "echo \"</table><br><br><input type=submit name=OK value=Atualizar>\";"; $grav .= "echo \"</form>\";"; $grav .= "?>"; $grav.=" </center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> ";

Page 103: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

102

$pagina=$dir."publicarnotas.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando publicarnotas.php */ $tamarq = fwrite($arq,$grav); } fclose($arq); /* Criando SQL em atualizar.php*/ $grav = "<?php include"protect.php"; ?> <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $grav .= $disciplina." - ".$nomedisc; } } $grav .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $grav .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Atualizar Notas</h3> <p><center>"; $grav .= " <?php \n"; $grav .= " \$qp = ".$qp."; \n"; $grav .= " \$qt = ".$qt."; \n"; $grav .= " \$link = mysql_connect(".$hostmy.",".$loginmy.",".$senhamy."); \n"; $grav .= " if (!\$link) {\n"; $grav .= " die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$db_selected = mysql_select_db(".$databasemy.",\$link);\n"; $grav .= " if (!\$db_selected) {\n";

Page 104: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

103

$grav .= " die ('N&atilde;o foi poss&iacute;vel usar database ".$databasemy." : ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$vezes = count(\$alunos);\n"; $grav .= " \$provas = count(\$p);\n"; $grav .= " \$trabalhos = count(\$t);\n"; $grav .= " \$temp = 0;\n"; $grav .= " while (\$temp < \$vezes){\n"; $grav .= " \$query = \"UPDATE ".$discmy." SET \";\n"; $grav .= " \$qteprovas = \$provas / \$vezes;\n"; $grav .= " \$tqteprovas = 0; \n"; $grav .= " while (\$tqteprovas < \$qteprovas){\n"; $grav .= " \$ind = (\$temp*\$qteprovas)+(\$tqteprovas+1);\n"; $grav .= " \$tqteprovas++;\n"; $grav .= " if(\$p[\$ind]>0){\n"; $grav .= " \$query .= \"P\$tqteprovas = \$p[\$ind], \";\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " \$qtetrab = \$trabalhos / \$vezes;\n"; $grav .= " \$tqtetrab = 0; \n"; $grav .= " while (\$tqtetrab < \$qtetrab){\n"; $grav .= " \$ind = (\$temp*\$qtetrab)+(\$tqtetrab+1);\n"; $grav .= " \$tqtetrab++;\n"; $grav .= " if(\$t[\$ind]>0){\n"; $grav .= " \$query .= \"T\$tqtetrab = \$t[\$ind], \";\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " \$query .= \"aluno= \$alunos[\$temp] where aluno = \$alunos[\$temp] \";\n"; $grav .= " \$res = mysql_query(\$query);\n"; $grav .= " if(\$res) {\n"; $grav .= " \$ok[\$temp] = 1;\n"; $grav .= " }\n"; $grav .= " else {\n"; $grav .= " echo \" Erro ao Atualizar - Aluno \$alunos[\$temp] - \$query <br>\";\n"; $grav .= " }\n"; $grav .= " \$temp++;\n"; $grav .= " }\n"; $grav .= " echo \" Atualiza&ccedil;&otilde;es Feitas <br>\";\n"; $grav .= " echo \" <a href=javascript:history.back()>Voltar</a>\";\n"; $grav .= " }\n";

Page 105: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

104

$grav .= " }\n"; $grav .= "?>"; $grav.=" </center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $pagina=$dir."atualizar.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando atualizar.php */ $tamarq = fwrite($arq,$grav); } fclose($arq); } } } mysql_close($link); ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> gerarbdeplano.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina'];

Page 106: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

105

include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p>

Page 107: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

106

Utilize o formul&aacute;rio abaixo para informar o peso, a data e o conte&uacute;do de cada avalia&ccedil;&atilde;o. <?php // falta gerar a pagina do plano de ensino... falar qtas provas e trabalhos, pesos delas... //criando temporarios $tmpqt = $qt; $tmpqp = $qp; /* Criando BD */ $link = mysql_connect($hostmy,$loginmy,$senhamy); if (!$link) { die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('N&atilde;o foi poss&iacute;vel usar database $databasemy : ' . mysql_error()); } else{ $temp_query = 'DROP TABLE IF EXISTS `'.$discmy.'`'; $result = mysql_query($temp_query); $my_query = 'CREATE TABLE `'.$discmy.'` ('; $my_query.=' `aluno` VARCHAR(10) NOT NULL,'; while ($tmpqp >= 1){ $my_query .= ' `p'.$tmpqp.'` INT NULL,'; $my_query .= ' `pp'.$tmpqp.'` INT NULL,'; $tmpqp--; } while ($tmpqt >= 1){ $my_query .= ' `t'.$tmpqt.'` INT NULL,'; $my_query .= ' `pt'.$tmpqt.'` INT NULL,'; $tmpqt--; } $my_query .= ' PRIMARY KEY (`aluno`)'; $my_query .= ' )'; $my_query .= ' ENGINE = myisam'; $my_query .= ' CHARACTER SET utf8 COLLATE utf8_unicode_ci;'; $result = mysql_query($my_query); if (!$result) { die('Query Inv&aacute;lida: ' . mysql_error()); } else{ echo "BD CRIADO<br><br>"; } } } mysql_close($link); //formulario de pesos das provas/trabalhos echo " <hr><br> <center>Atribua o Peso para as Avalia&ccedil;&otilde;es...<br>Por Exemplo, p1 peso 3 -> 30<br></center>

Page 108: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

107

<form action=\"povoarbd_gerarplano.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> <input type=\"hidden\" name=\"hostmy\" value=$hostmy> <input type=\"hidden\" name=\"loginmy\" value=$loginmy> <input type=\"hidden\" name=\"senhamy\" value=$senhamy> <input type=\"hidden\" name=\"databasemy\" value=$databasemy> <input type=\"hidden\" name=\"discmy\" value=$discmy> <div align=center> <table width=\"600\" border=\"0\"> "; $tmpqt = $qt; $tmpqp = $qp; while($tmpqt>0){ echo " <tr> <td><input type=\"text\" size=3 name=\"pt[]\"></td> <td>Peso Trabalho $tmpqt</td> <td><input type=\"text\" size=10 name=\"datat[]\"></td> <td>Entrega Trabalho $tmpqt</td> <td><input type=\"text\" size=\"20\" name=\"assuntot[]\"></td> <td>Assunto</td> </tr> "; $tmpqt--; } while($tmpqp>0){ echo " <tr> <td><input type=\"text\" size=\"3\" name=\"pp[]\"></td> <td>Peso Prova $tmpqp</td> <td><input type=\"text\" size=\"10\" name=\"datap[]\"></td> <td>Data Prova $tmpqp</td> <td><input type=\"text\" size=\"20\" name=\"assuntop[]\"></td> <td>Assunto</td> </tr> "; $tmpqp--; } echo " <input type=\"hidden\" name=\"qp\" value=$qp> <input type=\"hidden\" name=\"qt\" value=$qt> <tr> <td><input type=\"submit\" value=\"Enviar\"> </td> <td></td> </tr> </table> </div> </form><br> "; ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body>

Page 109: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

108

</html> povoarbd_gerarplano.php <?php include "protect.php" ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>";

Page 110: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

109

} else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php //criando temporarios $tempqt = $qt; $tempqp = $qp; $total = $qt + $qp; //pesquisando alunos na disciplina $conec; $bco; $conectou = 1; include "conexaoufsc.php"; if ($conectou){ $temp = "select MAX(semestre) AS semestre from TurmasProfessores"; $tempres = mysql_query($temp,$conec); $temp = mysql_fetch_array($tempres); $valor = $temp['semestre']; $temp = "select matricula from EspelhoMatriculaNPD where disciplina='$discmy' and semestre = '$valor' and removido='n'"; $res = mysql_query($temp,$conec); if ($res){ $dados = mysql_fetch_array($res); $linhas = mysql_num_rows($res); $t = 1; $qtde = $linhas; while($t<= $linhas){ $alunos[$t-1] = $dados['matricula']; $t++; $dados = mysql_fetch_array($res); } } }

Page 111: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

110

/* Fechando a conexo */ mysql_close($conec); // povoando alunos - antes disso perguntar pesos provas e trabalhos -> outra pagina no meio $link = mysql_connect($hostmy,$loginmy,$senhamy); if (!$link) { die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('N&atilde;o foi poss&iacute;vel usar database $databasemy : ' . mysql_error()); } else{ $my_query = 'insert into `'.$discmy.'` ( `aluno`'; while ($tempqt > 0){ $my_query.= ' , `pt'.$tempqt.'`'; $tempqt--; } while ($tempqp > 0){ $my_query.= ' , `pp'.$tempqp.'`'; $tempqp--; } $my_query.=' ) values '; while ($qtde > 1){ $tempqt = $qt; $tempqp = $qp; $my_query .= '('.$alunos[$qtde-1]; while ($tempqt > 0){ $my_query.= ', '.$pt[$tempqt-1]; $tempqt--; } while ($tempqp > 0){ $my_query.= ', '.$pp[$tempqp-1]; $tempqp--; } $my_query .= '),'; $qtde--; } $tempqt = $qt; $tempqp = $qp; $my_query .= '('.$alunos[$qtde-1]; while ($tempqt > 0){ $my_query.= ', '.$pt[$tempqt-1]; $tempqt--; } while ($tempqp > 0){ $my_query.= ', '.$pp[$tempqp-1]; $tempqp--; } $my_query .= ')'; $qtde--; $result = mysql_query($my_query);

Page 112: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

111

if (!$result) { die('Query Inv&aacute;lida: ' . mysql_error()); } else{ echo "<center><br>BD POVOADO<br><br>"; echo"<p><a href=incluirconteudo.php?dir=$dir&disciplina=$disciplina>Incluir Counte&uacute;do Program&aacute;tico</a></p>"; echo"<p><a href=incluirbibliografia.php?dir=$dir&disciplina=$disciplina>Incluir Bibliografia B&aacute;sica</a></p>"; echo"<p><a href=gerarpagina.php?dir=$dir&disciplina=$disciplina&acao=plano>Encerrar Plano de Ensino</a></p></center>"; } } } mysql_close($link); // criando paginas - notas e publicar $link = mysql_connect($hostmy,$loginmy,$senhamy); if (!$link) { die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('N&atilde;o foi poss&iacute;vel usar database $databasemy : ' . mysql_error()); } else{ $my_query = 'select * from `'.$discmy.'`'; $result = mysql_query($my_query); $qte = mysql_num_rows($res); if (!$result) { die('Query Inv&aacute;lida: ' . mysql_error()); } else{ /* Criando SQL em notas.php*/ $grav = "<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $grav .= $disciplina." - ".$nomedisc; } } $grav .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\">

Page 113: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

112

<h1 id=\"siteName\">"; $grav .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Notas</h3> <p><center>"; $grav .= " <?php \n"; $grav .= " \$qp = ".$qp."; \n"; $grav .= " \$qt = ".$qt."; \n"; $grav .= " \$link = mysql_connect(".$hostmy.",".$loginmy.",".$senhamy."); \n"; $grav .= " if (!\$link) {\n"; $grav .= " die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$db_selected = mysql_select_db(".$databasemy.",\$link);\n"; $grav .= " if (!\$db_selected) {\n"; $grav .= " die ('N&atilde;o foi poss&iacute;vel usar database ".$databasemy." : ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$query = \"select * from ".$discmy."\";\n"; $grav .= " \$res = mysql_query(\$query);\n"; $grav .= " \$qte = mysql_num_rows(\$res);\n"; $grav .= " if(\$res) {\n"; $grav .= " echo \"\n"; $grav .= " <div align=center>\n"; $grav .= " <table width=600 border=1>\n"; $grav .= " <tr bgcolor=#CCCCCC>\n"; $grav .= " <td><div align=center>Matricula</div></td>\n"; for($p=1; $p<= $qp; $p++){ $grav .= " <td><div align=center>P$p</div></td>\n"; } for($trab=1; $trab<= $qt; $trab++){ $grav.= " <td><div align=center>T$trab</div></td>\n"; } $grav .= " </tr>\";\n"; $grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " for (\$t=0; \$t < \$qte; \$t++){\n";

Page 114: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

113

$grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " \$np[\$p] = \$dados['p'.\$p];\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " \$nt[\$trab] = \$dados['t'.\$trab];\n"; $grav .= " }\n"; $grav .= " \$aluno = \$dados['aluno'];\n"; $grav .= " echo \"\n"; $grav .= " <tr>\n"; $grav .= " <td><div align=center>\$aluno</div></td>\";\n"; $grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " echo \"<td><div align=center>\$np[\$p]\n"; $grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " echo \"<td><div align=center>\$nt[\$trab]\n"; $grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " echo \"</tr>\";\n"; $grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= "?>"; $grav.=" </table></center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $pagina=$dir."notas.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando notas.php */ $tamarq = fwrite($arq,$grav); } fclose($arq); /* Criando SQL em publicarnotas.php*/ $grav = "<?php include\"protect.php\" ?>

Page 115: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

114

<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $grav .= $disciplina." - ".$nomedisc; } } $grav .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $grav .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\"> <!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Publicar Notas</h3> <p><center>"; $grav .= " <?php \n"; $grav .= " echo \"<form name=form method=post action=atualizar.php>\";\n"; $grav .= " \$qp = ".$qp."; \n"; $grav .= " \$qt = ".$qt."; \n"; $grav .= " \$link = mysql_connect(".$hostmy.",".$loginmy.",".$senhamy."); \n"; $grav .= " if (!\$link) {\n"; $grav .= " die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$db_selected = mysql_select_db(".$databasemy.",\$link);\n"; $grav .= " if (!\$db_selected) {\n"; $grav .= " die ('N&atilde;o foi poss&iacute;vel usar database ".$databasemy." : ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$query = \"select * from ".$discmy."\";\n"; $grav .= " \$res = mysql_query(\$query);\n";

Page 116: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

115

$grav .= " \$qte = mysql_num_rows(\$res);\n"; $grav .= " if(\$res) {\n"; $grav .= " echo \"\n"; $grav .= " <div align=center>\n"; $grav .= " <table width=600 border=1>\n"; $grav .= " <tr bgcolor=#CCCCCC>\n"; $grav .= " <td><div align=center>Matricula</div></td>\n"; for($p=1; $p<= $qp; $p++){ $grav .= " <td><div align=center>P$p</div></td>\n"; } for($trab=1; $trab<= $qt; $trab++){ $grav.= " <td><div align=center>T$trab</div></td>\n"; } $grav .= " </tr>\";\n"; $grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " for (\$t=0; \$t < \$qte; \$t++){\n"; $grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " \$np[\$p] = \$dados['p'.\$p];\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " \$nt[\$trab] = \$dados['t'.\$trab];\n"; $grav .= " }\n"; $grav .= " \$aluno = \$dados['aluno'];\n"; $grav .= " echo \"\n"; $grav .= " <tr>\n"; $grav .= " <td><div align=center>\$aluno</div></td>\";\n"; $grav .= " for(\$p=1; \$p<= \$qp; \$p++){\n"; $grav .= " \$ind = (\$t*\$qp)+\$p; \n"; $grav .= " echo \"<td><div align=center><input type=text name=p[\$ind] maxlength=3 size=2 value=\$np[\$p]>\n"; $grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " for(\$trab=1; \$trab<= \$qt; \$trab++){\n"; $grav .= " \$ind = (\$t*\$qt)+\$trab; \n"; $grav .= " echo \"<td><div align=center><input type=text name=t[\$ind] maxlength=3 size=2 value=\$nt[\$trab]>\n"; $grav .= " </div></td>\";\n"; $grav .= " }\n"; $grav .= " echo \"<input type=hidden name=alunos[\$t] value=\$aluno></tr>\";\n"; $grav .= " \$dados = mysql_fetch_array(\$res);\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " }\n";

Page 117: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

116

$grav .= " }\n"; $grav .= "echo \"</table><br><br><input type=submit name=OK value=Atualizar>\";"; $grav .= "echo \"</form>\";"; $grav .= "?>"; $grav.=" </center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $pagina=$dir."publicarnotas.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando publicarnotas.php */ $tamarq = fwrite($arq,$grav); } fclose($arq); /* Criando SQL em atualizar.php*/ $grav = "<?php include\"protect.php\" ?> <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <title>"; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; $ha = $dados['ha']; $ementa = $dados['ementa']; $grav .= $disciplina." - ".$nomedisc; } } $grav .="</title> <link rel=\"stylesheet\" href=\"estilo.css\" type=\"text/css\"> </head> <body> <div id=\"masthead\"> <h1 id=\"siteName\">"; $grav .= $disciplina." - ".$nomedisc."</h1> <div id=\"globalNav\"> <div id=\"globalLink\"> <?php include(\"menu.php\");?> </div> </div> </div> <!-- end masthead --> <div id=\"pagecell1\">

Page 118: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

117

<!--pagecell1--> <div id=\"content\"> <div class=\"feature\"> <h3>Atualizar Notas</h3> <p><center>"; $grav .= " <?php \n"; $grav .= " \$qp = ".$qp."; \n"; $grav .= " \$qt = ".$qt."; \n"; $grav .= " \$link = mysql_connect(".$hostmy.",".$loginmy.",".$senhamy."); \n"; $grav .= " if (!\$link) {\n"; $grav .= " die('N&atilde;o foi poss&iacute;vel conectar: ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$db_selected = mysql_select_db(".$databasemy.",\$link);\n"; $grav .= " if (!\$db_selected) {\n"; $grav .= " die ('N&atilde;o foi poss&iacute;vel usar database ".$databasemy." : ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$vezes = count(\$alunos);\n"; $grav .= " \$provas = count(\$p);\n"; $grav .= " \$trabalhos = count(\$t);\n"; $grav .= " \$temp = 0;\n"; $grav .= " while (\$temp < \$vezes){\n"; $grav .= " \$query = \"UPDATE ".$discmy." SET \";\n"; $grav .= " \$qteprovas = \$provas / \$vezes;\n"; $grav .= " \$tqteprovas = 0; \n"; $grav .= " while (\$tqteprovas < \$qteprovas){\n"; $grav .= " \$ind = (\$temp*\$qteprovas)+(\$tqteprovas+1);\n"; $grav .= " \$tqteprovas++;\n"; $grav .= " if(\$p[\$ind]>0){\n"; $grav .= " \$query .= \"P\$tqteprovas = \$p[\$ind], \";\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= " \$qtetrab = \$trabalhos / \$vezes;\n"; $grav .= " \$tqtetrab = 0; \n"; $grav .= " while (\$tqtetrab < \$qtetrab){\n"; $grav .= " \$ind = (\$temp*\$qtetrab)+(\$tqtetrab+1);\n"; $grav .= " \$tqtetrab++;\n"; $grav .= " if(\$t[\$ind]>0){\n"; $grav .= " \$query .= \"T\$tqtetrab = \$t[\$ind], \";\n"; $grav .= " }\n";

Page 119: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

118

$grav .= " }\n"; $grav .= " \$query .= \"aluno= \$alunos[\$temp] where aluno = \$alunos[\$temp] \";\n"; $grav .= " \$res = mysql_query(\$query);\n"; $grav .= " if(\$res) {\n"; $grav .= " \$ok[\$temp] = 1;\n"; $grav .= " }\n"; $grav .= " else {\n"; $grav .= " echo \" Erro ao Atualizar - Aluno \$alunos[\$temp] - \$query <br>\";\n"; $grav .= " }\n"; $grav .= " \$temp++;\n"; $grav .= " }\n"; $grav .= " echo \" Atualiza&ccedil;&otilde;es Feitas <br>\";\n"; $grav .= " echo \" <a href=javascript:history.back()>Voltar</a>\";\n"; $grav .= " }\n"; $grav .= " }\n"; $grav .= "?>"; $grav.=" </center></p> </div> </div> <div id=\"siteInfo\"> &copy;2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $pagina=$dir."atualizar.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando atualizar.php */ $tamarq = fwrite($arq,$grav); } fclose($arq); /* Criando plano.php*/ $grav =" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\

Page 120: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

119

n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n <br> <h3>Identifica&ccedil;&atilde;o da Disciplina</h3> <br><b>C&oacute;digo-T&iacute;tulo:</b> $disciplina - $nomedisc <br><b>Horas Aula:</b> $ha horas/aula"; if ($ementa){ $grav .= "<br> <h3>Ementa da Disciplina</h3> <br>$ementa"; } $grav .= "<br> <h3>Datas das Avalia&ccedil;&otilde;es</h3><br> <br>Quantidade de Provas: $qp<br>Quantidade de Trabalhos: $qt<br><br> "; $grav .= " <table width=600 border=1>\n"; $grav .= " \n"; $grav .= " <tr bgcolor=#AAAAAA><td><div align=center>Avalia&ccedil;&otilde;es</div></td><td><div align=center>Data</div></td><td><div align=center>Assunto</div></td><td><div align=center>Peso</div></td></tr>\n"; for($p=$qp; $p> 0; $p--){ $np = $qp-$p; $grav .= " <tr bgcolor=#CCCCCC><td><div align=center>P$p</div></td><td><div align=center>$datap[$np]</div></td><td><div align=center>$assuntop[$np]</div></td><td><div align=center>$pp[$np]</div></td></tr>\n"; } for($trab=$qt; $trab> 0; $trab--){ $np = $qt-$trab; $grav .= " <tr bgcolor=#CCCCCC><td><div align=center>T$trab</div></td><td><div align=center>$datat[$np]</div></td><td><div align=center>$assuntot[$np]</div></td><td><div align=center>$pt[$np]</div></td></tr>\n"; } $grav.=" </table>"; $pagina=$dir."plano.php"; $arq = fopen($pagina,"a+"); if ($arq){ /* gravando plano.php */ $tamarq = fwrite($arq,$grav); } fclose($arq); } } } mysql_close($link); ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> incluirconteudo.php <?php include "protect.php";?>

Page 121: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

120

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina> Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){

Page 122: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

121

echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p><?php if ($acao!="mais"){ /* criando conteudo */ $pagina=$dir."plano.php"; $arq = fopen($pagina,"a+b"); if ($arq){ /* gravando conteudo */ $temp= " \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<br> <h3>Conte&uacute;do Program&aacute;tico</h3> <br>"; $tamarq = fwrite($arq,$temp); } fclose($arq); } echo " <center> <form action=\"uploadconteudo.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> <div align=center> <table width=\"500\" border=\"0\"> <tr> <td>Contedo</td> <td><input type=\"text\" size=60 name=\"conteudo\"></td> </tr> <tr> <td colspan=\"2\"><input type=\"submit\" value=\"Enviar\"> </td>

Page 123: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

122

</tr> </table> </div> </form> <br> "; ?> Utilize o formul&aacute;rio acima para incluir na p&aacute;gina do plano de ensino as informa&ccedil;&otilde;es referentes ao conte&uacute;do da disciplina. </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> uploadconteudo.php <?php include "protect.php";?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div>

Page 124: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

123

<!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina> Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php echo"<center><font face=Arial size=3><font color=#000000><b>Enviado Corretamente</b></font></font>"; echo"<p><a href=incluirconteudo.php?dir=$dir&disciplina=$disciplina&acao=mais>Inserir Mais</a></p>"; echo"<p><a href=incluirbibliografia.php?dir=$dir&disciplina=$disciplina>Criar Bibliografia</a></p>"; echo"<p><a href=gerarpagina.php?dir=$dir&disciplina=$disciplina$acao=plano>Encerrar Plano</a></p></center>"; /* criando conteudo */ $pagina=$dir."plano.php"; $arq = fopen($pagina,"a+b"); if ($arq){ /* gravando conteudo */ $temp.= " \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\

Page 125: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

124

n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n $conteudo\n<br>\n"; $tamarq = fwrite($arq,$temp); } fclose($arq); ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> incluirbibliografia.php <?php include "protect.php";?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc";

Page 126: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

125

} } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){ echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina> Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p><?php if ($acao!="mais"){ /* criando bibliografia */ $pagina=$dir."plano.php"; $arq = fopen($pagina,"a+b"); if ($arq){ /* gravando bibliografia */ $temp= " \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n

Page 127: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

126

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n <br> <h3>Bibliografia B&aacute;sica</h3> <br>"; $tamarq = fwrite($arq,$temp); } fclose($arq); } echo " <center> <form action=\"uploadbibliografia.php?dir=$dir&disciplina=$disciplina\" method=\"post\" ENCTYPE=\"multipart/form-data\"> <div align=center> <table width=\"500\" border=\"0\"> <tr> <td>Autor</td> <td><input type=\"text\" size=60 name=\"autor\"></td> </tr> <tr> <td>Livro</td> <td><input type=\"text\" size=60 name=\"livro\"></td> </tr> <tr> <td>Editora</td> <td><input type=\"text\" size=60 name=\"editora\"></td> </tr> <tr> <td>ISBN</td> <td><input type=\"text\" size=60 name=\"isbn\"></td> </tr> <tr> <td>Link</td> <td><input type=\"text\" size=60 name=\"link\"></td> </tr> <tr> <td colspan=\"2\"><input type=\"submit\" value=\"Enviar\"> </td> </tr> </table> </div> </form> <br> "; ?> Utilize o formul&aacute;rio acima para incluir na p&aacute;gina do plano de ensino as informa&ccedil;&otilde;es referentes &agrave;

Page 128: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

127

bibliografia da disciplina. </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html> uploadbibliografia.php <?php include "protect.php";?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sistema de Apoio para Gerenciamento de Disciplinas via WEB</title> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <body> <div id="masthead"> <h1 align="center" id="siteName">Sistema de Apoio para Gerenciamento de Disciplinas via WEB</h1> <div align="center"> <div id="globalNav"> <span class="style1"> <?php $disciplina = $_GET['disciplina']; include "conexaoufsc.php"; if ($conectou){ $proc = "select * from DisciplinasNPD where codigo = '$disciplina'"; $res = mysql_query($proc,$conec); if ($res){ $dados = mysql_fetch_array($res); $nomedisc = $dados['nome']; echo "$disciplina - $nomedisc"; } } ?> </span> </div> </div> <div align="right"> <div id="globalNav"><span class="style2"><a href="logoff.php">Logoff</a></span></div> </div> </div> <!-- end masthead --> <div id="pagecell1"> <!--pagecell1--> <div id="pageNav"> <div id="sectionLinks"> <?php if ($_SESSION["material"] == 0){

Page 129: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

128

echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina> Configurar P&aacute;gina de Material</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de materiais j&aacute; configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;gina de Links</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de links j&aacute; configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar P&aacute;ginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">P&aacute;gina de plano de ensino j&aacute; configurada! </a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php echo" <center> <font face=Arial size=3> <font color=#000000> <b> Enviado Corretamente </b> </font></font>"; echo"<p><a href=incluirbibliografia.php?dir=$dir&disciplina=$disciplina&acao=mais>Incluir Mais</a></p>"; echo"<p><a href=gerarpagina.php?dir=$dir&disciplina=$disciplina&acao=plano>Encerrar Plano</a></p></center>"; /* criando bibliografia */ $pagina=$dir."plano.php"; $arq = fopen($pagina,"a+b"); if ($arq){ /* gravando bibliografia */ $autor = strtoupper($autor); $temp.= " \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n

Page 130: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

129

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; if ($autor){ $temp.= "$autor."; } if ($livro){ $temp.= "<i>$livro</i>."; } if ($editora){ $temp.= "$editora."; } if ($isbn){ $temp.= "ISBN - $isbn."; } if ($link){ $temp.= "\n<br><a href=$link target=_blank>$link</a>\n"; } $temp.="\n<br><br>\n"; $tamarq = fwrite($arq,$temp); } fclose($arq); ?> </p> </div> </div> <div id="siteInfo" align="center"> &copy;2006 Gabriel Lorensi Lopes </div> </div> </body> </html>

Page 131: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

130

Anexo 2 – Manual do Usuário

Este pequeno manual tem como objetivo ajudar o usuário a utilizar

corretamente o aplicativo SAGD.

Mostraremos o passo a passo da configuração da página da disciplina.

Figura 1 – Página Inicial do Sistema

Na página demosntrada pela figura 1 o usuário deve colocar no campo

login o seu número de matrícula (de professor) e no campo senha, sua senha.

Page 132: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

131

Figura 2 – Página index_auth.php

Nesta página, o usuário deve escolher no menu à esquerda qual das

disciplinas relacionadas deseja gerar o website.

Além disto, existem ainda ligações para o script de exclusão das

disciplinas (também a esquerda) e para a saída do sistema (logoff, no canto

superior direito).

Esta última ligação estará disponível a partir desta página, sempre se

encontrando no mesmo lugar.

Page 133: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

132

Figura 3 – Página gerarpagina;php

Nesta página, pode-se escolher qual página subsequente vai ser

configurada primeira, no menu à esquerda. Além disto, tem uma ligação à

pagina anterior (Voltar à escolha das Disciplinas).

Page 134: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

133

Figura 4 – Página gerarmaterial.php

O usuário deve, no campo descrição, inserir um pequeno texto, que será

como o arquivo ficará exposto. Logo abaixo, o botão procurar deve ser utilizado

para encontrar o arquivo a ser enviado. Após isso deve-se clicar no botão

enviar.

Page 135: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

134

Figura 5 – Página uploadmaterial.php

Esta página disponibiliza duas ligações, sendo a primeira (Inserir Outro)

para enviar mais materiais e a segunda (Encerrar material.php) para finalizar a

configuração da página de materiais.

Page 136: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

135

Figura 6 – Página gerarlink.php

O usuário deve, no campo descrição, inserir um pequeno texto, que será

como a ligação ficará exposta. Logo abaixo, o campo link deverá ser

preenchido com o endereço do site desejado. Deve-se seguir o padrão

http://www.xxxxxxxxxxx.xxx.xx. Após isso deve-se clicar no botão enviar.

Page 137: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

136

Figura 7 – Página uploadlinks.php

Esta página disponibiliza duas ligações, sendo a primeira (Inserir Outro)

para enviar mais links e a segunda (Encerrar links.php) para finalizar a

configuração da página de links.

Page 138: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

137

Figura 8 – Página gerarplano.php

Esta página contém dois formulários. Utiliza-se exclusivamente um entre

eles.

O primeiro formulário, utilizado para criar uma página de plano de ensino

com um arquivo pré-existente, deve ser utilizado como o formulário da página

gerarmaterial.php.

Já o Segundo, deve ser preenchido de acordo com as informações

abaixo.

• Host MySQL: Deve apontar a máquina onde o servidor MySQL

está instalado.

• Login MySQL: O nome do usuário que se conecta ao servidor

MySQL.

• Senha MySQL: A senha de acesso do usuário acima.

Page 139: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

138

• DataBase MySQL: O nome da base de dados que será

utilizada.

• Tabela MySQL: Nome da tabela que será criada na database

MySQL para armazenar as informações sobre notas e peso

das avaliações.

• Quantidade de Provas: Quantidade de provas da disciplina.

• Quantidade de Trabalhos: Quantidade de trabalhos da

disciplina.

Figura 9 – Página uploadplano.php

Esta página disponibiliza apenas uma ligação, sendo utilizada para ir à

página de configuração do Banco de Dados.

Page 140: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

139

Figura 10 – Página configurarBD.php

Esta página contém um formulário, que deve ser utilizado como o

segundo formulário da página gerarplano.php.

Page 141: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

140

Figura 11 – Página gerarBD.php

Esta página contém um formulário, onde o usuário deverá informar os

pesos das avaliações correspondentes.

Page 142: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

141

Figura 12 – Página povoarBD.php

Esta página contém apenas uma ligação (encerrar BD.php), que

redireciona o usuário à página gerarpágina.php. Após este passo o website da

disciplina já estará configurado e criado.

As paginas a seguir se referem a seqüência a ser utilizada se na página

gerarplano for utilizado o segundo formulário.

Page 143: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

142

Figura 13 – Página gerarbdeplano.php

Esta página contém um formulário onde o usuário deve informar os

pesos da avaliações (campos Peso Trabalho n e Peso Provas n), a data das

avaliações (Entrega Trabalho n e Data Prova n) e os assuntos das avaliações

(campos Assunto).

Page 144: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

143

Figura 14 – Página povoarbd_gerarplano.php

Esta página contém ligações onde pode-se incluir no plano de ensino

informações sobre o conteúdo da disciplina (Incluir Conteúdo Programático),

sobre a bibliografia recomendada (Incluir Bibliografia Básica) e uma ligação

para o encerramento da configuração (Encerrar Plano de Ensino).

Page 145: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

144

Figura 15 – Página incluirconteudo.php

Nesta página eiste um formulário onde o usuário deve, no campo

conteúdo, escrever um pequeno texto (recomenda-se o padrão “’Numero’.

Assunto”).

Page 146: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

145

Figura 16 – Página uploadconteudo.php

Esta página contém três ligações, sendo a primeira (Inserir Mais)

utilizada para continuar enviando textos de conteúdo, a segunda (Criar

Bibliografia) utilizada para ir à página de criação da bibliografia e a terceira

(Encerrar Plano) para encerrar a configuração.

Page 147: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

146

Figura 17 – Página incluirbibligrafia.php

Esta página contém um formulário, que deve ser utilizado para informar

ao sistema a bibliografia.

Page 148: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

147

Figura 18 – Página uploadmaterial.php

Esta página disponibiliza duas ligações, sendo a primeira (Inserir Outro)

para enviar mais informações de bibliorafia e a segunda (Encerrar material.php)

para finalizar a configuração.

Page 149: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

148

Figura 19 – Página limpar.php

Esta página contém um formulário, que deve ser utilizado para excluir a

página das disciplinas. No campo disciplina existe um menu que relaciona as

disciplinas ministradas pelo usuário. Assim, deve selecionar a disciplina

desejada e apertar o botão enviar.

Page 150: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

149

ANEXO 3 – ARTIGO Sistema de Apoio para Gerenciamento de Disciplinas via Web

Gabriel Lorensi Lopes

Graduação em Ciências da Computação

Departamento de Informática e Estatística - INE

Universidade Federal de Santa Catarina (UFSC), Brasil, CEP 88040-900

Fone (0XX48) 3721-900, Fax 3234-4069

[email protected]

Resumo

Este trabalho visa o estudo e

a criação de um sistema que auxilie

o gerenciamento de disciplinas via

web, disponibilizando ao fim do

processo um website completo para

a disciplina selecionada.

Contém um estudo básico

sobre a linguagem de programação

PHP e uma visão geral sobre outros

softwares e tecnologias utilizados.

Palavras Chaves: Programação

WEB, Banco de Dados, Gerência de

Disciplinas.

Abstract

This work intend to develop a

creation of a system that will help

the management of disciplines using

the web, giving at the end of this

process, one complete website for

this selected discipline.

This also contain one basic

study about the PHP programming

language and also a general vision

about others available softwares

and tecnologies.

Keywords: Web Programming,

Disciplines Management, Database

Introdução

Atualmente, uma grande

parte do corpo docente das

Page 151: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

150

universidades já utiliza a internet

como meio de divulgação dos

materiais referentes às disciplinas

ministradas. Como demonstra

[LITTO et al., 2004] está em curso

uma expansão considerável no uso

da Web em ensino e aprendizagem

e pesquisas nesta área têm tido um

acréscimo considerável.

Muitos dos professores desta

universidade ainda criam suas

páginas manualmente, mesmo com

a disponibilidade de sistemas de

apoio, como o Moodle [MOODLE,

2007] e o TelEduc [TELEDUC,

2007].

Em conversas com

professores, percebemos que talvez

essa prática se deva à

complexidade dos resultados de tais

sistemas.

Este trabalho apresenta a

proposta para a criação de um

sistema de apoio mais simples e

prático, chamado de Sistema de

Apoio para Gerenciamento

Disciplina via web. Este sistema foi

desenvolvido sobre tecnologias para

programação na web,

especificamente a linguagem de

programação PHP e o sistema de

gerenciamento de banco de dados

MySQL.

1. Utilização da Web para

Gerenciamento de Disciplinas

Atualmente existem vários

sistemas já implementados e em

funcionamento para o auxílio à

gerência de disciplinas. Muitos

deles oferecem uma ampla gama de

recursos. O intuito deste trabalho

não é de alguma forma concorrer

com estes sistemas, visto que

grande parte destes são mantidos

por grupos com várias pessoas.

A justificativa deste trabalho

é oferecer um meio mais prático e

simples de geração de páginas, aos

professores que desejam uma

página sem grandes

funcionalidades, página esta em

que as principais funções sejam a

apresentação da disciplina, com o

respectivo material didático e a

informação dos conceitos obtidos

pelos alunos, sem a necessidade de

recursos mais avançados como

chat, fórum de discussão e

questionários.

2. Programação Web

PHP é uma linguagem de

programação de scripts, executados

Page 152: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

151

do lado do servidor, de código

aberto e utilizada em sistemas de

aplicação web.

Combina código HTML e

seções de scripts, delimitadas pelas

etiquetas “<?” e ”?>” em um arquivo

PHP. Quando o servidor recebe

uma requisição do navegador

referente a uma página PHP,

executa os scripts enviando ao

navegador uma página com

etiquetas HTML apenas.

Durante o desenvolvimento

do SAGD utilizou-se o aplicativo

WAMP5. Este aplicativo fornece a

instalação e configuração do

servidor Apache, do banco de

dados MySQL e do servidor PHP

em máquinas cujo sistema

operacional é Windows.

3. Desenvolvimento do Sistema

3.1 Visão do Sistema

O Sistema de Apoio para

Gerenciamento de Disciplinas via

WEB tem como finalidade, como o

próprio nome deixa explícito, facilitar

aos usuários (corpo docente) a

criação e atualização da página da

disciplina ministrada.

Basicamente, ao logar-se no

sistema, o usuário deste tem à sua

escolha uma lista com as disciplinas

por ele ministradas no semestre

corrente. Selecionada a disciplina, o

sistema permite, de forma simples e

prática, a inclusão do material

desta. Ao final do processo o

resultado será um website contendo

as informações da disciplina, de

onde o usuário poderá manter

atualizados os conceitos obtidos

pelo corpo discente, armazenados

em uma tabela do banco de dados

MySQL criada automaticamente

pelo sistema, segundo

configurações fornecidas pelo

usuário.

As bases de dados utilizadas

no sistema foram conseguidas com

a administração da REDE INF, no

Centro Tecnológico da Universidade

Federal de Santa Catarina, sendo

uma cópia exata da parte base de

dados da Universidade referente ao

Departamento de Informática e

Estatística. Para o desenvolvimento

e teste do Sistema, foi criada uma

nova tabela para armazenar o login

e a senha para autorizar acesso dos

usuários ao sistema. Este login é na

realidade o número de matrícula de

cada integrante do corpo docente,

número este que serve como chave

Page 153: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

152

primária da tabela que contém a

informação sobre os docentes. Este

estratagema serve para facilitar uma

possível futura integração do

sistema a base de dados oficial da

UFSC.

3.2 Levantamento de Requisitos e

Planejamento da Aplicação

Atualmente existem algumas

soluções já implementadas que

auxiliam no gerenciamento da

disciplina, tais como Moodle e

TelEduc. Ambos disponibilizam uma

gama variada de recursos, como

chat, listas de discussões, entre

outros.

Apesar disto, poucos

professores utilizam estas

aplicações. Uma das justificativas é

a complexidade do resultado,

levando em conta a necessidade de

um website simples, cujas principais

funcionalidades seriam a

disponibilidade dos conceitos

obtidos pelos alunos e dos materiais

a serem utilizado.

Assim o principal requisito do

sistema proposto foi a geração de

um website simples e prático.

Durante o planejamento da

aplicação foi realizado um diagrama

de seqüência das telas do sistema,

diagrama este que foi sendo

atualizado durante a implementação

com a inclusão de novas telas que

foram sendo necessárias conforme

a implementação progredia.

Simplificadamente este diagrama

resultou na seqüência abaixo.

• Login.

• Escolha da Disciplina.

• Configuração da

Página de Materiais.

• Configuração da

Página de Links.

• Criação e

Configuração daBase

de Dados e do Plano

de Ensino.

4. Considerações Finais

O projeto foi implementado

com relativo sucesso, permitindo

ainda a visualização de trabalhos

futuros.

Para a funcionalidade

prevista inicialmente o resultado

pode ser considerado satisfatório,

pois ao fim do projeto o website

gerado está funcionando conforme

os requisitos percebidos.

Durante o desenvolvimento

do sistema, percebeu-se algumas

Page 154: SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer interatividade e efeitos especiais, permite construir páginas diferentes com base

153

novas funcionalidades que

poderiam ser incluídas em versões

futuras, como a possibilidade de

escolher entre várias folhas de

estilos para o website, gerando

assim layouts diferentes, conforme

a vontade do usuário. Outra opção,

um pouco mais simples, seria

oferecer ao menos a opção de

escolher as cores da página da

disciplina. Uma outra funcionalidade

que foi percebida ao fim do

processo e não pode ser

implementada por escassez de

tempo e fica como sugestão para

trabalhos futuros seria a opção de

alterar ou excluir as informações

contidas na página da disciplina de

forma individual.

Outra melhoria a ser

executada futuramente que pode

ser prevista foi a necessidade de

melhor a usabilidade do sistema,

procedendo com a avaliação da

interface gráfica, tanto do sistema

em si, quanto do site que é gerado

com seu uso.

5. Referências Bibliográficas

[LITTO, 2004] LITTO, F.M., FILATRO, A.,

ANDRÉ, C. Brazilian research on distance

learning. Disponível em :

http://www.abed.org.br/congresso2004/por/

pdf/180-TC-D4.pdf. Último acesso em:

Fevereiro de 2007.

[MOODLE, 2007] Moodle. Página

oficial do Moodle. Disponível em

www.moodle.org. Último acesso em:

Fevereiro de 2007.

[ROCHA, 2003] ROCHA, Cerli

Antônio da. Desenvolvendo Web sites

Dinâmicos: PHP, ASP e JSP. Rio de

Janeiro: Campus, 2003.

[TELEDUC, 2007] TELEDUC. Página

oficial do TelEduc. Disponível em

teleduc.nied.unicamp.Br/teleduc. Último

acesso em: Fevereiro de 2007.

[THOMSON, 2005] THOMSON, Laura

e WELLING, Luke. Desenvolvimento Web:

PHP e MySQL. São Paulo, 2005.