SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer...
Transcript of SISTEMA DE APOIO PARA GERENCIAMENTO DE DISCIPLINAS VIA … · • Dinâmicas: Além de oferecer...
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
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
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
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
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
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
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
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
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
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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
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
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
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
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.
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
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
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
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.
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 (@).
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.
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.
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
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
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
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.
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.
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.
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.
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
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.
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
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
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.
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.
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
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.
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.
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
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
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.
51
Figura 17 – Home Page gerada pelo sistema.
Figura 18 – Página do plano de ensino configurado pelo sistema.
52
Figura 19 – Página de materiais da disciplina.
Figura 20 – Página de Notas gerada.
53
Figura 21 – Página de links da disciplina.
Figura 22 – Página de publicação de notas.
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 é
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.
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.
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.
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.
59
ANEXOS
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;
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\"> </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 <input type=\"text\" name=\"username\" size=\"20\"><br> Senha <input type=\"password\" name=\"userpwd\" size=\"20\"> </p> <p align=\"center\"><input type=\"submit\" value=\"Login\"></p> </form> <p align=\"center\"> </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>
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);
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 à esquerda, que você deseja criar o website.<br> </p> </div> </div> <div id="siteInfo" align="center"> ©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">
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"> :: Escolha a disciplina desejada :: </span></td> </tr> <tr bgcolor="#f7f7f7"> <td width="150"> 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'];
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) {
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;
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%; }
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%;
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çã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
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\";
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ódulo de Administração<br></font></b></p> <p align=center> </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>
72
<p align=center> Login <input type=text name=username size=20><br> Senha <input type=password name=userpwd size=20> </p> <p align=center><input type=submit value=Login></p> </form> <p align=center> </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 à página da disciplina $disciplina - $nomedisc!</h3> <p><center> Utilize o menu acima para navegar! </center></p> </div> </div> <div id=\"siteInfo\"> ©2006 Gabriel Lorensi Lopes </div> </div>
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>
74
</div> </div> <div id=\"siteInfo\"> ©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);
75
$pagina=$dir."links.php"; $arq = fopen($pagina,"a+b"); if ($arq){ $temp=" </center></p> </div> </div> <div id=\"siteInfo\"> ©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\">
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\"> ©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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){
77
echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3><?php echo"Bem-Vindo a Configuração da Página da Disciplina $disciplina"; ?> </h3> <p>No menu ao lado, escolha as opções de acordo com sua preferência.<br> As instruções se encontram mais detalhadas em cada página! <br><br><center><a href=index_auth.php>Voltar à escolha das disciplinas.</a></center> </p> </div> </div> <div id="siteInfo" align="center"> ©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){
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> <?php echo "
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çã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ário acima para enviar ao sistema os arquivos da disciplina.<br><br> </p> </div> </div> <div id="siteInfo" align="center"> ©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";
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já 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);
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"> ©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">
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; }
83
else{ echo "<br><a href=\"#\">Página de plano de ensino já 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çã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ário acima para enviar ao sistema os links necessários. <br><br> </p> </div> </div> <div id="siteInfo" align="center"> ©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>
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; }
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"> ©2006 Gabriel Lorensi Lopes </div> </div> </body> </html>
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{
87
echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> Utilize o primeiro formulário para adicionar um arquivo contendo o plano de ensino. A configuração do banco de dados ocorrerá em páginas subsequentes.<br> Caso queira criar o plano de ensino automaticamente, utilize o segundo formulá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çã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\"> "; ?>
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"> ©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">
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já 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ágina de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; } ?>
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\">
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\"> ©2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> "; $tamarq = fwrite($arq,$temp); } fclose($arq); } ?> </p> </div> </div> <div id="siteInfo" align="center"> ©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"; }
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p> Envie as informações para a configuração do acesso a base de dados e a criaçã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\"> "; ?>
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"> ©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">
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; } ?>
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ão foi possível conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('Não foi possível usar database $databasemy : ' . mysql_error());
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á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);
97
// criando paginas - notas e publicar $link = mysql_connect($hostmy,$loginmy,$senhamy); if (!$link) { die('Não foi possível conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('Não foi possí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á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";
98
$grav .= " \$qt = ".$qt."; \n"; $grav .= " \$link = mysql_connect(".$hostmy.",".$loginmy.",".$senhamy."); \n"; $grav .= " if (!\$link) {\n"; $grav .= " die('Não foi possí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ão foi possí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";
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\"> ©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>
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ão foi possí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ão foi possí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";
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\"> ©2006 Gabriel Lorensi Lopes </div> </div> <!--end pagecell1--> </body> </html> ";
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ão foi possível conectar: ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$db_selected = mysql_select_db(".$databasemy.",\$link);\n"; $grav .= " if (!\$db_selected) {\n";
103
$grav .= " die ('Não foi possí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ções Feitas <br>\";\n"; $grav .= " echo \" <a href=javascript:history.back()>Voltar</a>\";\n"; $grav .= " }\n";
104
$grav .= " }\n"; $grav .= "?>"; $grav.=" </center></p> </div> </div> <div id=\"siteInfo\"> ©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"> ©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'];
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já configurada!</a><br>"; } ?> </div> </div> <div id="content"> <div class="feature"> <h3> </h3> <p>
106
Utilize o formulário abaixo para informar o peso, a data e o conteúdo de cada avaliaçã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ão foi possível conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('Não foi possí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á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ções...<br>Por Exemplo, p1 peso 3 -> 30<br></center>
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"> ©2006 Gabriel Lorensi Lopes </div> </div> </body>
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>";
109
} else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já 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); } } }
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ão foi possível conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('Não foi possí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);
111
if (!$result) { die('Query Inválida: ' . mysql_error()); } else{ echo "<center><br>BD POVOADO<br><br>"; echo"<p><a href=incluirconteudo.php?dir=$dir&disciplina=$disciplina>Incluir Counteúdo Programático</a></p>"; echo"<p><a href=incluirbibliografia.php?dir=$dir&disciplina=$disciplina>Incluir Bibliografia Bá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ão foi possível conectar: ' . mysql_error()); } else{ $db_selected = mysql_select_db($databasemy, $link); if (!$db_selected) { die ('Não foi possí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á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\">
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ão foi possí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ão foi possí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";
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\"> ©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\" ?>
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ão foi possí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ão foi possível usar database ".$databasemy." : ' . mysql_error());\n"; $grav .= " }\n"; $grav .= " else{\n"; $grav .= " \$query = \"select * from ".$discmy."\";\n"; $grav .= " \$res = mysql_query(\$query);\n";
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";
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\"> ©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\">
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ão foi possí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ão foi possí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";
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çõ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\"> ©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\
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ção da Disciplina</h3> <br><b>Código-Tí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çõ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çõ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"> ©2006 Gabriel Lorensi Lopes </div> </div> </body> </html> incluirconteudo.php <?php include "protect.php";?>
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){
121
echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já 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údo Programá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>
122
</tr> </table> </div> </form> <br> "; ?> Utilize o formulário acima para incluir na página do plano de ensino as informações referentes ao conteúdo da disciplina. </p> </div> </div> <div id="siteInfo" align="center"> ©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>
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já 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\
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"> ©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";
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ágina de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já 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
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á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ário acima para incluir na página do plano de ensino as informações referentes à
127
bibliografia da disciplina. </p> </div> </div> <div id="siteInfo" align="center"> ©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){
128
echo "<br><a href=gerarmaterial.php?dir=$dir&disciplina=$disciplina> Configurar Página de Material</a>"; } else{ echo "<br><a href=\"#\">Página de materiais já configurada!</a><br>"; } if ($_SESSION["links"] == 0){ echo "<br><a href=gerarlinks.php?dir=$dir&disciplina=$disciplina>Configurar Página de Links</a>"; } else{ echo "<br><a href=\"#\">Página de links já configurada!</a><br>"; } if ($_SESSION["plano"] == 0){ echo "<br><a href=gerarplano.php?dir=$dir&disciplina=$disciplina>Configurar Páginas de Plano de Ensino, Notas</a>"; } else{ echo "<br><a href=\"#\">Página de plano de ensino já 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
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"> ©2006 Gabriel Lorensi Lopes </div> </div> </body> </html>
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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).
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”).
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.
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.
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.
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.
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
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
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
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
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
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.