Documente Academic
Documente Profesional
Documente Cultură
THIS v.1.0
Technology on Information System
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
NDICE
Apresentao...................................................................................................................................................... 3
Dados do Sistema THIS 1.0............................................................................................................................... 4
Recursos Necessrios:........................................................................................................................................ 4
Licena de Uso................................................................................................................................................... 5
Arquitetura do Sistema THIS............................................................................................................................. 8
Estrutura das Tabelas e Seqncias do Banco de Dados................................................................................8
Tabela sites................................................................................................................................................. 9
Tabela datas.............................................................................................................................................. 11
Tabela emails............................................................................................................................................12
Tabela estilo............................................................................................................................................. 13
Tabela eventos.......................................................................................................................................... 19
Tabela informativos..................................................................................................................................21
Tabela menu_direito................................................................................................................................. 23
Tabela menu_esquerdo............................................................................................................................. 25
Tabela menu_inferior............................................................................................................................... 27
Tabela menu_superior.............................................................................................................................. 29
Tabela noticias..........................................................................................................................................31
Tabela paginas.......................................................................................................................................... 33
Tabela rodap........................................................................................................................................... 34
Tabela topos............................................................................................................................................ 34
Tabela usurios......................................................................................................................................... 35
Mdulo de Instalao................................................................................................................................... 36
Arquivos de instalao............................................................................................................................. 36
Aes realizadas pelos arquivos de instalao......................................................................................... 36
Mdulo Pblico............................................................................................................................................ 37
Classe Site (class_site.php)................................................................................................................... 38
Utilizao do AJAX................................................................................................................................. 41
Arquivos links_ajax.js e links_sem_ajax.js..............................................................................................42
Arquivo corpo.functions.php....................................................................................................................42
Mdulo de Administrao............................................................................................................................ 45
Algumas bibliotecas e arquivos comumente includos em outros........................................................... 47
Arquivos *.busca.php, *.cadastrar.php e *.functions.php........................................................................ 47
Arquivos *.busca.php e *.cadastrar.php................................................................................................... 47
Outros arquivos da raiz do mdulo de administrao.............................................................................. 48
2
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Apresentao
O sistema THIS - Technology on Information System - foi desenvolvido por dois estudantes
/estagirios da rea de Engenharia de Computao da UFG.
Seus principais objetivos so: o gerenciamento dinmico de contedo e a construo de sites e
portais dinmicos, dentro do domnio da Universidade Federal de Gois (Unidades Acadmicas, Campi
Avanados e rgos da UFG).
O sistema teve sua origem em 2004, com o consultor de TI Euler Taveira de Oliveira, que
desenvolveu um sistema gerenciador de contedo, que possibilitou reorganizao do contedo do Portal
UFG de forma parcialmente dinmica.
Em 2005, nova equipe foi formada, da qual surgiu a idia de estender esta facilidade para as demais
Unidades Acadmicas e rgos da UFG. E, assim, desenvolvemos 22 sites e os tornamos parcialmente
dinmicos.
Em 2006, devido grande aceitao e procura pela equipe da UFGNet Web, para criao de Designs
e desenvolvimento de sites/portais, a equipe de web pleiteou e desenvolveu o Projeto THIS.
O projeto teve como base os dois sistemas anteriores, chamados simplesmente de CMS, que devido s
significantes modificaes que sofreu, passou a se chamar THIS Technology on Information System,
verso 1.0.
Sua estrutura bsica foi mantida em PHP, utilizando o banco de dados PostgreSQL, o que torna o
novo sistema THIS (totalmente dinmico) perfeitamente compatvel com os sistemas anteriores
(parcilamente dinmicos), que gerenciavam apenas as notcias e eventos.
O THIS expandiu o sistema inicial, que gerenciava apenas as notcias, eventos, datas comemorativas
e informativos, para mais e melhor gerenciamento de menus, cores, fontes, ttulos, rodap, imagens de topo,
de banner.
Outra novidade o uso de AJAX , a mais nova tecnologia em construo de sites, que proporciona
uma visualizao muito mais rpida e dinmica do site.
Este sistema, que foi iniciado em 2004, foi concludo em Agosto de 2006 e dever ser utilizado por
todos os administradores de sites/portais das Unidades Acadmicas, Campi Avanados e rgos da UFG. A
poltica de distribuio e uso do THIS faz parte da documentao anexa aos pacotes THIS, disponveis nas
seguintes verses:
THIS - Verso 1.0 - DB UFG - destinado principalmente quelas Unidades ou rgos que possuem
sites parcialmente dinmicos e que utilizam o BD (banco de dados) PostgreSQL da UFG.
THIS - Verso 1.0 - OUTRO DB - destinado principalmente quelas Unidades ou rgos que
utilizam OUTRO BD (banco de dados e servidor prprios) PostgreSQL, porm dentro do domnio da UFG
(ufg.br).
EQUIPE THIS 2005/2006:
Desenvolvedores: os estudantes de Engenharia de Computao, Tiago Lopes de Aguiar (3 ano) e
Thiago Azevedo Garcia (4 ano).
Colaboradores: Os Servidores da UFG, Hugo Alexandre Dantas do Nascimento( Prof. Dr. do
Instituto de Informtica e Gerente do Centro de Recursos Computacionais da UFG - CERCOMP) e Idalice
Oliveira de Morais ( Servidora Tcnica-administrativa da UFG e coordenadora da equipe de estagirios).
Goinia, Agosto de 2006.
3
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Recursos Necessrios:
1. Para a instalao:
a. Computador servidor com os seguintes softwares instalados:
i. PHP verso 4.3 (Verso Win32 ou Linux)
ii. Apache 2.0 (verso Win32 ou Linux)
iii. Banco de dados PostgreSQL 7.4.5
iv. Navegador Firefox 1.5+ ou Internet Explorer 6.0+, com suporte a AJAX
2. Para uso pelo frontend:
a. Navegador Firefox 1.5+ ou Internet Explorer 6.0+, com suporte a AJAX
4
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Licena de Uso
Este software propriedade da UFG, sob gerncia do Centro de Informao e Tele
processamento (CIT) ligado Pr-Reitoria de Desenvolvimento e Recursos Humanos. No permitida a
redistribuio deste software. Alm disso, toda e qualquer alterao do seu cdigo somente pode ser feita
mediante consentimento por escrito do CIT.
Este Termo de Licena e Uso do Usurio Final THIS no um contrato de venda, mas um Termo
de Compromisso e responsabilidade entre a PRODIRH/CERCOMP e a Unidade Acadmica ou
rgo da UFG, visando regulamentar e limitar o o uso do software no domnio da Universidade
Federal de Gois.
A instalao deste software significa que voc concorda com os termos deste contrato. Se no
estiver de acordo com alguma parte deste contrato de licenciamento, no instale o software.
DIREITO DE USO DO SOFTWARE
A Unidade Acadmica ou rgo da UFG s pode usar este software para fins de construo de
sites/portais de interesse da UFG e somente dentro do domnio da UFG .
5
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
O uso comercial deste software proibido. A unidade acadmica ou rgo no pode usar este
software fora do domnio da UFG e nem modificar seu cdigo-fonte sem a autoizao da
PRODIRH/CERCOMP.
COPYRIGHT
O Software THIS poder ser utilizado por todas as Unidades Acadmicas e rgos da UFG,
inclusive pelos Campi Avanados, com a finalidade nica de construo de seus sites com
gerenciamento dinmico dos contedos.
A unidade acadmica interessada, na utilizao do Software THIS para construo do seu site
dinmico, dever ser cadastrada e autorizada pela PRODIRH/CERCOMP, atravs de
preenchimento de um formulrio especfico.
vedado o uso do Software THIS para fins no apropriado aos propsitos da Universidade
Federal de Gois.
6
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
LOCALIZAO:
TELEFONE/RAMAL/FAX:
E-MAIL:
PREFERNCIA DE INSTALAO:
JUSTIFICATIVA:
LOCAL E DATA:
____________________________________
Assinatura/carimbo do Diretor/Responsvel
_______________________________________________
Assinatura/carimbo do Responsvel PRODIRH/CERCOMP
Nota: A PRODIRH /CERCOMP TER TOTAL LIBERDADE PARA ATUALIZAR OS PACOTES DO THIS NOS
SERVIDORES DA UFG SEM AVISO PRVIO, VISANDO CORRIGIR FALHAS DE SEGURANAS OU OUTRAS
ADAPTAES QUE SE FIZEREM NECESSRIAS.
7
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Sequncias
8
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela sites
9
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
desempenho do sistema.
10
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela datas
dt_publica timestamp without time zone Data em que a notcia foi definida com status=P (publicada)
11
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela emails
Tabela dos destinatrios dos e-mails enviados atravs do formulrio Fale Conosco, de um site..
No mdulo de administrao, os arquivos emails.busca.php e emails.functions.php so os
responsveis por visualizar, alterar e criar itens nesta tabela. Esses arquivos se utilizam da classe Sajax,
disponvel gratuitamente na internet, para facilitar o uso da tecnologia AJAX.
Ainda no mdulo de administrao, todos os arquivos *.cadastrar.php possuem um editor de HTML
que ajuda a criar links. Quando o usurio escolhe que um determinado link redirecionar para o Fale
Conosco, o editor de HTML criar um link do tipo javascript:mostrar_fale_conosco(). Este link ser tratado
pelos arquivos links_ajax.js ou links_sem_ajax.js (ambos do mdulo pblico).
No mdulo pblico, o arquivo corpo.functions.php chama o mtodo fale_conosco_form(), quando
recebe parmetros $_GET especficos. Este mtodo faz um SELECT na tabela emails e gera um
formulrio no corpo (parte central, onde aparece o contedo) do site, onde o usurio pode escolher o
destinatrio mais apropriado e enviar uma mensagem para ele, que chegar por e-mail.
12
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela estilo
Define o conjunto de cores e fontes que ser usado no site. O arquivo class_site.php (mdulo
pblico) utiliza este valor nos mtodos setCores e setCSS.
A tabela sites tem uma coluna (id_estilo) que se refere ao id desta tabela que ser aplicado ao site.
No mdulo de administrao, os arquivos estilos.busca.php e estilos.cadastrar.php permitem criar
vrias entradas nesta tabela, e alterar seus dados.
O arquivo estilos.functions.php, ao ser chamado via AJAX pelo estilos busca.php, cria 2 estilos-
padro para um site, quando no h nenhum (no primeiro acesso ao mdulo de administrao).
Para saber a funo de cada coluna, consulte o arquivo estilos.cadastrar.php e olhe o nome dos
campos input.
tamanho_letra_email integer
14
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
15
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
16
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
17
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
18
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela eventos
Tabela dos eventos do site, que aparecero ou na lista de eventos atualmente publicados e que no
so capas, ou em uma das 3 capas.
No mdulo de administrao, os arquivos eventos.busca.php, eventos.functions.php e
eventos.cadastrar.php so os responsveis por visualizar, alterar e criar itens nesta tabela. Os dois primeiros
arquivos utilizam-se da biblioteca Sajax.php, disponvel gratuitamente na internet, para facilitar o uso da
tecnologia AJAX.
Ainda no mdulo de administrao, todos os arquivos *.cadastrar.php possuem um editor de HTML
que ajuda a criar links. Quando o usurio escolhe que um determinado link redirecionar para um evento
publicado, o editor de HTML criar um link do tipo javascript: mostrar_evento(45). Links como este sero
tratados pelos arquivos links_ajax.js ou links_sem_ajax.js (ambos do mdulo pblico). Estes 2 arquivos
enviaro parmetros $_GET para o page.php (caso o ajax esteja desativado na tabela sites), ou diretamente
para o corpo.functions.php (caso o ajax esteja ativado na tabela sites).
No mdulo pblico, quando o arquivo corpo.functions.php recebe parmetros $_GET especficos
(atravs do mtodo setCorpo() da class_site ou diretamente atravs do arquivo links_ajax.js), ele chama o
mtodo eventos_mostrar_um ($id). Este mtodo faz um SELECT na tabela eventos e gera o cdigo
HTML com detalhes sobre o evento.
dt_cadastro timestamp with time zone NOT NULL now() Data em que o evento foi criado no banco de dados
Esta data est sendo usada para fins de ordenao dos eventos, pelo
dt_publica timestamp with time zone
arquivo eventos.functions.php
19
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Foreign key para a tabela SITES. Isso por que um mesmo banco de
dados hospeda dados de vrios sites diferentes. O arquivo config.php
(mdulo pblico) define o $site_id, que ser usado em todo o sistema.
site_id bigint
No mdulo de administrao, o index2.php coloca na $_SESSION o
site_id do usurio que fez login, e este valor usado para criar itens
na tabela e exibir apenas os itens do site do usurio.
20
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela informativos
Tabela de informativos. Informativos so pequenas caixas (tables) que aparecem do lado direito ou
esquerdo do site, abaixo dos menus. Possuem um ttulo e uma imagem (ou breve descrio).
No mdulo de administrao, os arquivos informativos.busca.php e informativos.cadastrar.php so
os responsveis por visualizar, alterar e criar itens nesta tabela.
No mdulo pblico, a class_site.php, atravs do mtodo setInformativos(), faz uma busca nesta
tabela, procurando os informativos do respectivo site e montando um array bidimensional, da forma:
$informativos[esq]=array(html do informativo 1, html do informativo 2,etc)
$informativos[dir]=array(html do informativo 3, html do informativo 4,etc).
Ainda na class_site.php, o mtodo showSite() exibir esses informativos nas laterais do site.
A tabela sites possui 2 colunas chamadas nr_informativos_esq e nr_informativos_dir, que definem a
quantidade de informativos publicados que podero ser mostrados de cada lado. O mtodo
setInformativos(), mencionado anteriormente, j monta o array respeitando esses limites.
dt_cadastro timestamp with time zone NOT NULL now() Data em que o informativo foi criado no banco de dados
dt_publica timestamp with time zone Data em que o informativo foi definido com status=P (publicado)
Foreign key para a tabela SITES. Isso por que um mesmo banco de
dados hospeda dados de vrios sites diferentes. O arquivo config.php
(mdulo pblico) define o $site_id, que ser usado em todo o
site_id bigint
sistema. No mdulo de administrao, o index2.php coloca na
$_SESSION o site_id do usurio que fez login, e este valor usado
para criar itens na tabela e exibir apenas os itens do site do usurio.
21
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela menu_direito
Tabela dos itens de menu que aparecero no menu do lado direito do site.
No mdulo de administrao, os arquivos menu_direito.busca.php, menu_direito.functions.php e
menu_direito.cadastrar.php so os responsveis por visualizar, alterar e criar itens nesta tabela. Os dois
primeiros arquivos utilizam-se da biblioteca Sajax.php, disponvel gratuitamente na internet, para facilitar o
uso da tecnologia AJAX.
Ateno: apesar de os arquivos acima criarem itens nesta tabela, o menu_direito_functions.php (pelo
mtodo salvar_html_processada()) far um UPDATE na tabela sites, colocando l, na linha do respectivo
site_id, o cdigo HTML do menu j totalmente processado, no coluna menu_d.
Ainda no mdulo de administrao, todos os arquivos *.cadastrar.php possuem um editor de HTML
que ajuda a criar links. Quando o usurio escolhe que um determinado link redirecionar para um item do
menu direito, o editor de HTML criar um link do tipo javascript:mostrar_menu('6','dir'). Links como este
sero tratados pelos arquivos links_ajax.js ou links_sem_ajax.js (ambos do mdulo pblico). Estes 2
arquivos enviaro parmetros $_GET para o page.php (caso o ajax esteja desativado na tabela sites), ou
diretamente para o corpo.functions.php (caso o ajax esteja ativado na tabela sites).
No mdulo pblico, quando o arquivo corpo.functions.php recebe parmetros $_GET especficos
(atravs do mtodo setCorpo() da class_site ou diretamente atravs do arquivo links_ajax.js), ele chama o
mtodo menu_mostrar_conteudo (posicao,id). Este mtodo faz um SELECT na tabela sites e obtm o
cdigo HTML j totalmente processado, gerado pelo arquivo menu_direito.functions.php. Isso evita que seja
necessrio fazer SELECTs ordenados a cada visita pgina. O cdigo pronto obtido mais rapidamente.
Campo Tipo No Nulo Padro Comentrio
id integer NOT NULL nextval('public.menu_direito_id_seq'::text)
site_id bigint
posicao bigint
22
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela menu_esquerdo
Tabela dos itens de menu que aparecero no menu do lado esquerdo do site.
No mdulo de administrao, os arquivos menu_esquerdo.busca.php, menu_ esquerdo.functions.php
e menu_ esquerdo.cadastrar.php so os responsveis por visualizar, alterar e criar itens nesta tabela. Os dois
primeiros arquivos utilizam-se da biblioteca Sajax.php, disponvel gratuitamente na internet, para facilitar o
uso da tecnologia AJAX.
Ateno: apesar de os arquivos acima criarem itens nesta tabela, o menu_ esquerdo _functions.php
(pelo mtodo salvar_html_processada()) far um UPDATE na tabela sites, colocando l, na linha do
respectivo site_id, o cdigo HTML do menu j totalmente processado, no coluna menu_e.
Ainda no mdulo de administrao, todos os arquivos *.cadastrar.php possuem um editor de HTML
que ajuda a criar links. Quando o usurio escolhe que um determinado link redirecionar para um item do
menu esquerdo, o editor de HTML criar um link do tipo javascript:mostrar_menu('10','esq'). Links como
este sero tratados pelos arquivos links_ajax.js ou links_sem_ajax.js (ambos do mdulo pblico). Estes 2
arquivos enviaro parmetros $_GET para o page.php (caso o ajax esteja desativado na tabela sites), ou
diretamente para o corpo.functions.php (caso o ajax esteja ativado na tabela sites).
No mdulo pblico, quando o arquivo corpo.functions.php recebe parmetros $_GET especficos
(atravs do mtodo setCorpo() da class_site ou diretamente atravs do arquivo links_ajax.js), ele chama o
mtodo menu_mostrar_conteudo (posicao,id). Este mtodo faz um SELECT na tabela sites e obtm o
cdigo HTML j totalmente processado, gerado pelo arquivo menu_ esquerdo.functions.php. Isso evita que
seja necessrio fazer SELECTs ordenados a cada visita pgina. O cdigo pronto obtido mais
rapidamente.
Campo Tipo No Nulo Padro Comentrio
id integer NOT NULL nextval('public.menu_esquerdo_id_seq'::text)
site_id bigint
posicao bigint
23
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
24
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela menu_inferior
Tabela dos itens de menu que aparecero na parte central e inferior do site.
No mdulo de administrao, os arquivos menu_inferior.busca.php, menu_ inferior.functions.php e
menu_ inferior.cadastrar.php so os responsveis por visualizar, alterar e criar itens nesta tabela. Os dois
primeiros arquivos utilizam-se da biblioteca Sajax.php, disponvel gratuitamente na internet, para facilitar o
uso da tecnologia AJAX.
Ateno: apesar de os arquivos acima criarem itens nesta tabela, o menu_ inferior _functions.php
(pelo mtodo salvar_html_processada()) far um UPDATE na tabela sites, colocando l, na linha do
respectivo site_id, o cdigo HTML do menu j totalmente processado, no coluna menu_i.
Ainda no mdulo de administrao, todos os arquivos *.cadastrar.php possuem um editor de HTML
que ajuda a criar links. Quando o usurio escolhe que um determinado link redirecionar para um item do
menu inferior, o editor de HTML criar um link do tipo javascript:mostrar_menu('930','inf'). Links como
este sero tratados pelos arquivos links_ajax.js ou links_sem_ajax.js (ambos do mdulo pblico). Estes 2
arquivos enviaro parmetros $_GET para o page.php (caso o ajax esteja desativado na tabela sites), ou
diretamente para o corpo.functions.php (caso o ajax esteja ativado na tabela sites).
No mdulo pblico, quando o arquivo corpo.functions.php recebe parmetros $_GET especficos
(atravs do mtodo setCorpo() da class_site ou diretamente atravs do arquivo links_ajax.js), ele chama o
mtodo menu_mostrar_conteudo (posicao,id). Este mtodo faz um SELECT na tabela sites e obtm o
cdigo HTML j totalmente processado, gerado pelo arquivo menu_ inferior.functions.php. Isso evita que
seja necessrio fazer SELECTs ordenados a cada visita pgina. O cdigo pronto obtido mais
rapidamente.
Campo Tipo No Nulo Padro Comentrio
id integer NOT NULL nextval('public.menu_inferior_id_seq'::text)
site_id bigint
posicao bigint 0
25
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
26
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela menu_superior
Tabela dos itens de menu que aparecero na parte central e superior do site.
No mdulo de administrao, os arquivos menu_ superior.busca.php, menu_ superior.functions.php e
menu_ superior.cadastrar.php so os responsveis por visualizar, alterar e criar itens nesta tabela. Os dois
primeiros arquivos utilizam-se da biblioteca Sajax.php, disponvel gratuitamente na internet, para facilitar o
uso da tecnologia AJAX.
Ateno: apesar de os arquivos acima criarem itens nesta tabela, o menu_ superior _functions.php
(pelo mtodo salvar_html_processada()) far um UPDATE na tabela sites, colocando l, na linha do
respectivo site_id, o cdigo HTML do menu j totalmente processado, no coluna menu_s.
Ainda no mdulo de administrao, todos os arquivos *.cadastrar.php possuem um editor de HTML
que ajuda a criar links. Quando o usurio escolhe que um determinado link redirecionar para um item do
menu superior, o editor de HTML criar um link do tipo javascript:mostrar_menu('930','sup'). Links como
este sero tratados pelos arquivos links_ajax.js ou links_sem_ajax.js (ambos do mdulo pblico). Estes 2
arquivos enviaro parmetros $_GET para o page.php (caso o ajax esteja desativado na tabela sites), ou
diretamente para o corpo.functions.php (caso o ajax esteja ativado na tabela sites).
No mdulo pblico, quando o arquivo corpo.functions.php recebe parmetros $_GET especficos
(atravs do mtodo setCorpo() da class_site ou diretamente atravs do arquivo links_ajax.js), ele chama o
mtodo menu_mostrar_conteudo (posicao,id). Este mtodo faz um SELECT na tabela sites e obtm o
cdigo HTML j totalmente processado, gerado pelo arquivo menu_ superior.functions.php. Isso evita que
seja necessrio fazer SELECTs ordenados a cada visita pgina. O cdigo pronto obtido mais
rapidamente.
Campo Tipo No Nulo Padro Comentrio
id integer NOT NULL nextval('public.menu_superior_id_seq'::text)
site_id bigint
posicao bigint 0
27
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
28
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela noticias
Tabela das notcias do site, que aparecero ou na lista de notcias atualmente publicadas e que no
so capas, ou em uma das 3 capas.
No mdulo de administrao, os arquivos noticias.busca.php, noticias.functions.php e
noticias.cadastrar.php so os responsveis por visualizar, alterar e criar itens nesta tabela. Os dois primeiros
arquivos utilizam-se da biblioteca Sajax.php, disponvel gratuitamente na internet, para facilitar o uso da
tecnologia AJAX.
Ainda no mdulo de administrao, todos os arquivos *.cadastrar.php possuem um editor de HTML
que ajuda a criar links. Quando o usurio escolhe que um determinado link redirecionar para uma notcia
publicada, o editor de HTML criar um link do tipo javascript: mostrar_noticia(13). Links como este sero
tratados pelos arquivos links_ajax.js ou links_sem_ajax.js (ambos do mdulo pblico). Estes 2 arquivos
enviaro parmetros $_GET para o page.php (caso o ajax esteja desativado na tabela sites), ou diretamente
para o corpo.functions.php (caso o ajax esteja ativado na tabela sites).
No mdulo pblico, quando o arquivo corpo.functions.php recebe parmetros $_GET especficos
(atravs do mtodo setCorpo() da class_site ou diretamente atravs do arquivo links_ajax.js), ele chama o
mtodo noticias_mostrar_uma ($id). Este mtodo faz um SELECT na tabela noticias e gera o cdigo
HTML com detalhes sobre a notcia.
dt_cadastro timestamp with time zone NOT NULL now() Data em que a notcia foi criada no banco de dados
dt_publica timestamp with time zone Data em que a notcia foi definida com status=P (publicada)
29
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Foreign key para a tabela SITES. Isso por que um mesmo banco
de dados hospeda dados de vrios sites diferentes. O arquivo
config.php (mdulo pblico) define o $site_id, que ser usado em
site_id bigint todo o sistema. No mdulo de administrao, o index2.php coloca
na $_SESSION o site_id do usurio que fez login, e este valor
usado para criar itens na tabela e exibir apenas os itens do site do
usurio.
30
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela paginas
autor bigint
dt_publica date
Foreign key para a tabela SITES. Isso por que um mesmo
banco de dados hospeda dados de vrios sites diferentes. O
arquivo config.php (mdulo pblico) define o $site_id, que
site_id bigint ser usado em todo o sistema. No mdulo de administrao,
o index2.php coloca na $_SESSION o site_id do usurio que
fez login, e este valor usado para criar itens na tabela e
exibir apenas os itens do site do usurio.
31
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela rodap
Esta tabela guarda todos os dados necessrios para criao do rodap do site.
Estes dados so inseridos pelo arquivo rodape.php (mdulo de administrao), e so utilizados
pelo mtodo setPadroesSite() do arquivo classes/class_site.php (mdulo pblico).
Para maiores explicaes sobre cada campo, leia o contedo do campo comentrio da figura
abaixo.
Tabela topos
Esta tabela no est sendo utilizada. Os topos so simplesmente enviados para a pasta uploads/topos
(dentro do mdulo pblico), atravs do arquivo topo.php (do mdulo de administrao). No mdulo pblico,
a class_site.php varre essas pastas e exibe o topo.
32
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Tabela usurios
Esta tabela guarda todos os dados necessrios dos usurios do THIS. Para maiores explicaes sobre
os campos desta tabela, leia o campo comentrio da figura abaixo.
No mdulo de administrao, os arquivos index.php e index2.php consultam esta tabela para permitir
o acesso. Variveis de sesso so definidas para uso dos arquivos security.php e only_administrador.php,
que so includos na maioria dos arquivos do mdulo de administrao.
Foreign key para a tabela SITES. Isso por que um mesmo banco
de dados hospeda dados de vrios sites diferentes. O arquivo
config.php (mdulo pblico) define o $site_id, que ser usado em
site_id bigint todo o sistema. No mdulo de administrao, o index2.php coloca
na $_SESSION o site_id do usurio que fez login, e este valor
usado para criar itens na tabela e exibir apenas os itens do site do
usurio.
33
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Mdulo de Instalao
Arquivos de instalao
Os arquivos deste mdulo esto inseridos no meio dos arquivos do mdulo pblico. So eles:
instalar.php
uploads/instalar1.php
uploads/deletar.php
IMPORTANTE: Estes arquivos devem ser apagados do servidor aps a sua primeira e nica execuo
(atravs do navegador).
34
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Mdulo Pblico
35
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
var $site_id;
o Como as tabelas suportam vrios sites, cada um tem um identificador
var $nm_site;
o o ttulo da pgina, que aparece na tag HTML <title></title>
var $estilo_id;
o uma chave estrangeira, que aponta pra tabela estilo, com as cores e fontes de todo o site
var $ajax;
o uma varivel que pode assumir t (true) ou f (false), e determina, no mtodo
showSite(), qual arquivo ser usado: links_ajax.js ou links_sem_ajax.js
var $caminho_http;
o o endereo da pgina. Por exemplo: http://www.ufg.br
var $caminho_uploads;
o o endereo real, no servidor, da pasta de uploads. Exemplo: /var/web/ufg/uploads/
var $css;
o o cdigo HTML dos estilos CSS, que vai de <style> at </style>
var $cores;
o um vetor que todas as cores e fontes que sero usadas no mtodo que gera o cdigo
HTML dos estilos CSS.
var $topo;
o o cdigo HTML do topo, constitudo por uma TABLE com 01 TR e 05 TDs, cada uma
com uma parte da imagem do topo, que est na pasta uploads/topo.
var $rodape;
o o cdigo HTML do rodap, mas apenas a parte dos endereos, telefones, excluindo a
logomarca.
var $logo;
o o cdigo HTML da logomarca do rodap.
var $corpo;
o o cdigo HTML que aparece na parte central do site, dentro da DIV cujo
id=conteudo
var $menu_e;
o Cdigo HTML do menu esquerdo. uma tabela. Esta coluna existe para evitar que, a
cada acesso pgina, seja necessrio buscar e ordenar um menu multinvel atravs de
vrias SQLs. Desta forma, com apenas uma SQL obtm-se o menu totalmente
processado.
var $menu_d;
o Cdigo HTML do menu direito. uma tabela. Esta coluna existe para evitar que, a cada
acesso pgina, seja necessrio buscar e ordenar um menu multinvel atravs de vrias
SQLs. Desta forma, com apenas uma SQL obtm-se o menu totalmente processado.
var $menu_i;
o Cdigo HTML do menu inferior. uma tabela. Esta coluna existe para evitar que, a cada
acesso pgina, seja necessrio buscar e ordenar o menu. Desta forma tem-se o menu
totalmente processado.
36
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
var $menu_s;
o Cdigo HTML do menu superior. uma tabela. Esta coluna existe para evitar que, a cada
acesso pgina, seja necessrio buscar e ordenar o menu. Desta forma tem-se o menu
totalmente processado.
var $informativos=array();
o Array com chaves esq (esquerdo) ou dir. Cada posio guarda o cdigo HTML dos
vrios informativos que devem aparecer do lado esquerdo ou direito.
var $datas;
o Contm o cdigo HTML do calendrio que deve aparecer do lado direito ou do lado
esquerdo, dependendo da outra varivel de classe $mostrar_datas.
var $mostrar_datas='f';
o Pode assumir os valores f (false), e (lado esquerdo) ou d (lado direito). Determina se
o calendrio aparecer ou no, e em que lado do site.
var $banner;
o o nome do arquivo de imagem de banner, que fica na parte central do site. Este nome de
arquivo passado, atravs do mtodo setCorpo(), para o corpo.functions.php, que gerar
o contedo inicial da pgina, usando os mtodos mostrar_conteudo_index() e
mostrar_banner();
var $banner_link;
o o link da imagem de banner, que fica na parte central do site. Esta URL passada,
atravs do mtodo setCorpo(), para o corpo.functions.php, que gerar o contedo inicial
da pgina, usando os mtodos mostrar_conteudo_index() e mostrar_banner();
var $nr_eventos='8';
o a quantidade de eventos que podem ser mostrados na lista de eventos que no so capa,
atualmente publicados. Caso haja mais eventos publicados do que este nmero, esses
eventos estaro disponveis atravs do link mais eventos.
var $nr_noticias='8';
o a quantidade de notcias que podem ser mostradas na lista de notcias que no so capa,
atualmente publicadas. Caso haja mais notcias publicadas do que este nmero, essas
notcias estaro disponveis atravs do link mais notcias.
Site($preview_id="")
o o construtor da classe.
o Chama vrios outros mtodos que definem algumas de suas variveis de classe com os
devidos valores.
setPadroesSite()
o Este mtodo, com apenas uma SQL, define vrias variveis de classe, como $topo, $rodap,
$menu_d, $menu_e, $menu_i, $menu_s, $mostrar_datas, etc.
o Ele executado no construtor do site, e evita que vrios outros mtodos (como o
setRodape()) sejam chamados individualmente. Desta forma, h um ganho de desempenho
por se executar menos SQLs.
setMenus($preview_id="")
37
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
o Faz um SELECT da tabela SITES e obtem o HTML de cada um dos 4 menus (esquerdo,
direito, superior e inferior). Em seguida, define as variveis de classe ($menu_e, $menu_d,
$menu_s, $menu_i) com os respectivos cdigos HTML.
setEstiloId($estilo_id="")
o A tabela SITES tem uma coluna chamada ESTILO_ID. Quando se faz o SELECT de uma
linha do site (usando para isso a chave primria SITE_ID, que est no arquivo config.php),
obtm-se o ESTILO_ID, que passado para os mtodos setCores() e setCSS().
o Mas, quando o page.php recebe um $_GET['preview'], este passado para o construtor da
class_site. Ento, a class_site ignorar o ESTILO_ID obtida da tabela SITES e usar aquele
que veio do $_GET['preview'].
showSite()
o Mostra no navegador o site. Esta funo chamada apenas depois que as variveis de classe
(como $topo, $rodap, $cores, $menus, $informativos, $corpo, etc) j esto definidas.
Basicamente, este mtodo monta uma grande tabela e vai definindo o que aparecer em cada
clula da mesma.
setTopo()
o Define a varivel de classe $topo com o HTML do topo, que possui 5 imagens (lidas da pasta
uploads/topo/) linkadas para a pgina inicial do site, em 5 clulas de uma tabela.
setDatas()
o Faz um SELECT na tabela SITES e preenche a varivel $mostrar_datas com o valor da
coluna MOSTRAR_DATAS. Esta coluna pode ser f(false), e (mostrar do lado esquerdo)
ou d (mostrar do lado direito). Se $mostrar_datas for e ou d, ele faz um select na tabela
DATAS e define a varivel de classe $datas com o HTML do calendrio, que aparecer do
lado esquerdo ou direito (isso o mtodo showSite() que controla)
setInformativos()
o Define a varivel de classe $informativos, que um array com as chaves esq (esquerdos) e
dir (direitos). Utiliza os dados da tabela INFORMATIVOS, fazendo um SELECT na tabela
INFORMATIVOS onde o site_id o mesmo do arquivo config.php, onde a coluna STATUS
P (publicado) e as datas de publicao (dt_inicio e dt_fim) ainda esto em curso.
setCorpo($get=array())
o Este mtodo executado sempre que a class_site.php instanciada (nos carregamentos do
page.php). O page.php chama este mtodo, passando para ele seus parmetros GET ou POST.
o OBS: quando os links usam os mtodos do arquivo links_ajax.js (e no do links_sem_ajax.js)
esses mtodos passaro os parmetros GET para o arquivo corpo.functions.php, via AJAX, e
atualizaro o corpo do site sem recarregar o page.php, ou seja, sem chamar o mtodo
setCorpo() da class_site.
setRodape_e_Logo()
o Define o cdigo HTML do rodap na varivel de classe $rodape. Obtm os dados necessrios
da tabela RODAP, do banco de dados.
setCss()
o Define a varivel de classe $css com o HTML dos estilos CSS. Utiliza a varivel de classe
$cores (array de cores) para montar o HTML <style></style>.
setCores()
o Define as cores na varivel de classe $cores (que um array de cores). Basicamente, faz um
SELECT na tabela ESTILO, e obtm todas as cores do site. Por exemplo: cor da tabela
principal do site, cor dos textos no corpo do site, cor dos links, tamanho das fontes, etc.
38
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Utilizao do AJAX
Com o advento da tecnologia AJAX, foi fundamental a utilizao de tcnicas para que o boto
Voltar do navegador no voltasse para uma URL anterior, mas apenas para um estado anterior da pgina
atual. Para isso, neste sistema, uma biblioteca gratuita foi utilizada.
O mtodo showSite(), da class_site.php, faz uso do arquivo dhtmlHistory.js. Esta biblioteca est
disponvel atravs do site http://www.onjava.com/pub/a/onjava/2005/10/26/ajax-handling-bookmarks-and-
back-button.html.
O site mencionado possui documentao de como utiliza-la. No entando, no mdulo de
administrao, na pasta ajuda, h uma outra pasta (dhtmlHistory), com um exemplo simples de utilizao
deste arquivo.
39
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
A escolha entre esses dois arquivos depender do valor na coluna AJAX, da tabela SITES, do banco
de dados.
Esses 2 arquivos tm praticamente os mesmos mtodos, que trataro quase todos os links do site (por
exemplo: os links dos menus, informativos, eventos, notcias, etc, so todos em javascript). No entando,
cada um desses 2 arquivos implementa as funes javascript de forma diferente.
O arquivo links_ajax.php pega os parmetros passados para suas funes javascript e envia para o
arquivo corpo.functions.php (via AJAX). Este ltimo arquivo apenas recebe esses parmetros e faz os
SELECTs necessrios nas tabelas do site para montar o cdigo HTML que ser exibido na parte central do
site.
J o arquivo links_sem_ajax.php pega os parmetros passados para suas funes javascript e
recarrega o page.php, passando para ele os parmetros recebidos na funo (via mtodo GET, na URL). Em
seguida, o page.php pega esses parmetros via GET e os repassa para o mtodo setCorpo(), da class_site.
Da, quando o mtodo showSite() chamado, a parte central do site vir de acordo com esses parmetros
GET, e no mais vir a pgina inicial do site.
Arquivo corpo.functions.php
40
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
o executado quando se clica em qualquer link do site que tenha sido ligado ao fale conosco
(o mdulo de administrao faz essa ligao e coloca o link sendo um javascript que far este
mtodo ser executado)
fale_conosco_enviar
o executado quando se est na sesso fale conosco e o boto enviar clicado.
42
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Mdulo de Administrao
Este mdulo comea no index.php, que solicita um login e uma senha. Estes dados do formulrio so
passados para o index2.php. Caso este login e senha sejam encontrados na tabela usurios, algumas variveis
de sesso sero definidas (por exemplo, o id do usurio e o site_id correspondente ao usurio logado). Estas
variveis de sesso so usadas pelos arquivos security.php, config.php e por vrios outros que utilizam o
config.php (precisam do site_id na hora de montar as SQLs que sero executadas no banco de dados).
43
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
Existem muitos arquivos que se encaixam nesse padro. O asterisco (*) poderia ser substitudo, por
exemplo, por: estilos, eventos, noticias, menu_direito, menu_esquerdo, menu_superior, menu_inferior e
paginas.
Os arquivos *.busca utilizam o arquivo classes/Sajax.php. Eles carregam, inicialmente, a lista de
itens. Esses itens costumam ter opes de editar, excluir, trocar posio, etc. O carregamento ocorre atravs
das funes do arquivo *.functions.php. Todos os mtodos no *.functions.php podem ser chamados no
*.busca.php atravs de javascript, bastando para isso incluir o prefixo x_ ao nome da funo, e passando
via javascript os mesmos parmetros que a funo PHP espera. No entanto, deve-se sempre acrescentar um
ltimo parmetro, que o nome da funo javascript que cuidar dos dados retornados aps a execuo do
mtodo PHP.
Os arquivos *.cadastrar.php servem para inserir e/ou alterar itens nas respectivas tabelas. Quando um
id passado via $_GET, o script entende que, quando o boto SALVAR for clicado, ele far um
UPDATE na respectiva tabela, atualizando o registro que tem chave primria igual ao id passado. Quando
no passado nenhum id, o script entende que ele deve fazer um INSERT na respectiva tabela, com os
dados preenchidos no formulrio.
44
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
banner.php
o Acrescenta ou retira um Banner () da pgina. Este arquivo insere na tabela sites,
no campo banner, o nome do arquivo de imagem referente ao banner. Os dados
desta tabela so utilizados, no mdulo pblico, pelos arquivos
corpo.functions.php (no mtodo mostrar_banner e e no escopo geral do
arquivo).
capas.php
o Mostra para o usurio o agendamento das capas. No altera o banco de dados
somente importa os dados da tabela sites e manipula-os.
configuracoes_avancadas.php
o Efetua as configuraes do THIS, como endereo para upload de arquivos,
endereo http, utilizao ou no de AJAX, etc. Estes dados so guardados na
tabela sites e so utilizados pelo arquivos config.php em seu escopo geral
tanto do modulo pblico como no modulo de administrao.
conflitos.php
o Verifica se existem noticias ou eventos similares ao que est sendo editado,
utilizado em eventos.cadastrar.php e noticia.cadastrar.php. No altera o banco
de dados, e solicita dados das tabelas noticias e eventos.
conteudo_capas.php
o Exibe para o usurio quais noticias e eventos podem ser capas do site, atravs de
um popup. No altera o banco de dados e solicita dados das tabelas noticias,
eventos e usuarios.
conteudo_site.php
o Exibe para o usurio a lista de todo o contedo do site, atravs de um popup. No
altera o banco de dados e solicita dados das tabelas noticias, eventos,
usuarios, todas as tabelas referentes a menus e paginas.
pagina.inicial.php
o Configura parmetros referentes a pagina inicial do site, como o nmero de
noticias e eventos que sero exibidos de cada vez, etc. Insere seus dados na tabela
sites, os quais so solicitados no escopo geral do arquivo corpo.functions.php
do mdulo pblico, para utilizao no mtodo processar.
rodape.php
o Permite ao usurio modificar o contedo do rodap da pgina. Insere seus dados
na tabela rodape os quais so solicitados pelo arquivo do mdulo pblico
classes/class_site.php, no seu mtodo setPadroesSite.
topo.php
o Faz o upload da imagem de topo do site, alem de recorta-la. No altera o banco de
dados nem solicita dados.
datas.busca.php
o Mostra ao usurio quais datas comemorativas foram inseridas no banco. Solicita
dados das tabelas datas e usurios. No insere dados no banco.
datas.cadastrar.php:
45
UNIVERSIDADE FEDERAL DE GOIS
PR-REITORIA DE DESENVOLVIMENTO E RECURSOS HUMANOS
CENTRO DE INFORMAO E TELE PROCESSAMENTO (CIT)
TECHNOLOGY ON INFORMATION SYSTEM - V.1.0 AGOSTO/2006
GERENCIADOR DE SITES/PORTAIS DA UFG
46