Bibliotecas

Aqui se encontram as Bibliotecas utilizadas no desenvolvimento do TelEduc assim como uma rápida explicação de cada uma delas e exemplos de uso.

geral.inc

Essa biblioteca possui apenas o include de todas as bibliotecas abaixo listadas.

acesso_php.inc

Procedimentos com a finalidade de verificar a autenticação do usuário ao se conectar ao TelEduc (senha e autenticação via email) ou a um curso (se o usuário tem acesso a um determinado curso).

# VerificaAutenticacao() - Verifica se o usuário tem autorização de administração.
# Neste procedimento, caso o usuário seja administrador, executa: header("Location:../pagina_inicial/autenticacao_cadastro.php");
# enviando o usuário a uma tela de login/senha.

VerificaAutenticacaoAdministracao();

# Código para a requisição do administrador.

Exemplos práticos do procedimento acima exemplificado: resetar_curso2.php e trocar_login das ferramentas administrativas.

acesso_sql.inc

Procedimentos que facilitam o acesso ao banco de dados.
Com essa biblioteca, é possível requisitar um array de tuplas, cada uma com um array dos campos considerando a consulta enviada por parâmetro.
Apresenta também, 02 procedimentos para tratamento de erros.

#Conectar($cod_curso) - Conecta-se ao banco de dados do curso passado por parâmetro ou
# ao banco de dados de base geral caso "" 
$sock = Conectar("");

#Enviar($sock, $query)* : Uma consulta no banco de dados.
$query="select cod_usuario_global from Usuario_curso where cod_usuario='3' and cod_curso='20'";
$res=Enviar($sock,$query);

#RetornaLinha($id)* : Retornando a linha corrente do resultado da consulta.
$cod_usuario_global = RetornaLinha($res);

#Desconectar($sock) - Encerra conexão com o banco de dados.
Desconectar($sock);

arquivos.inc

Nesta biblioteca, é possível criar, mover, excluir, setar permissões de pastas e/ou arquivos assim como outros procedimentos referentes a arquivos.


# $diretorio: Contem o o nome da pasta que deve ser criada para armazenar os arquivos de upload
# $input_file: Nome do arquivo que foi feito Upload

# CriaDiretorio($file_name) - eh passado por parâmetro o nome do arquivo que deseja-se criar.
# A permissão dada é 755
if (CriaDiretorio($diretorio) == false)
{
    $problema = true;
    # Pára execução e trata o problema
}

$nome_arquivo = mb_convert_encoding($input_file, "UTF-8", "ISO-8859-1");

# RealizaUpload($arquivo, $destino) - Dado um arquivo passado por parâmetro e o destino com o nome do arquivo incluso,
# move o upload feito para este dado $destino com o respectivo nome em $destino;
if (RealizaUpload($input_file, $diretorio.$nome_arquivo) == false)
{
    $problema = true;
    # Pára execução e trata o problema
}

Exemplos práticos das duas funções acima criar_curso2 (Administração), exercicios/acoes.php e agenda/acoes_linha.php

conversor_texto.inc

Os procedimentos em conversor_texto.inc são usadas para tratar mais rapidamente as peculiaridades principalmente de HTML.
Para remover, alterar ou arrumar tags e entidades apresentam-se com a maior finalidade dentre os procedimentos dessa biblioteca.

Os exemplos foram retirados da biblioteca de procedimentos da ferramenta mural, mural.inc

# VerificaNumeroQuery($num) - Verifica se contem um valor numérico
$query="select status from Mural where cod_mural = ".VerificaNumeroQuery($cod_mural);
$res=Enviar($sock, $query);

A Função abaixo retorna a $mensagem preparada para ser exibida (com tags em HTML prontos).

function PreparaExibicaoMensagem($mensagem){

# VerificaTagTable - verifica se existe </table> pra cada <table>, se não houver, completa.
  return VerificaTagTable(ConverteBarraAspas2Aspas(LimpaConteudo($mensagem)));
}

cursos.inc

Os procedimentos dessa biblioteca servem para retornar os dados do curso, para verificar se faltam dados e para preparação de partes das páginas dos cursos como cabeçalho e a parte de Ajuda.


# $sock: apontador proveniente da conexão com banco de dados.
# $cod_curso é uma variável que indica o curso em queo usuário está logado
# $cabecalho é uma pré-montagem do cabeçalho, iniciado abaixo.
# $cod_ferramenta indica a ferramenta que está chamando a função.

$cabecalho = "    <b class=titulo>".$seu_titulo_aqui."</b>";

# PreparaCabecalho($cod_curso,$cabecalho,$cod_ferramenta)
echo(PreparaCabecalho($cod_curso, $cabecalho, $cod_ferramenta, $cod_pagina));
echo("    <br>\n");

# AlteraCursoConfig($sock, $item, $valor) - altera o valor associado ao parâmetro $item para $valor.
if (AlteraCursoConfig($sock, 'status_coordenador', $status))
{
    #
}

data_javascript.inc

Cada procedimento dessa biblioteca cria outros procedimentos em JavaScript para o tratamento de datas.
  • GeraJSVerificacaoData(): Verifica se o ano é bissexto; padroniza Data (DD/MM/AA); e verifica se a entrada de uma data está correta.
  • GeraJSComparacaoDatas(): Retorna data em formato AAAA/MM/DD; e compara duas datas.
  • GeraCampoData(): Retorna uma string com tag em HTML que gera o campo.

data.inc

Biblioteca para manipulação de datas, podendo retornar datas completas ou abreviadas em diversas formatações diferentes.
Os procedimentos UnixTime2 transformam o inteiro passado por parâmetro (UnixTime) em uma data no formato especifico do procedimento.
Exemplos:
  • UnixTime2Date($timestamp) -> retorna uma data em string no formato: Mês/Dia/Ano ou Dia/Mês/Ano.
  • UnixTime2DataMesExtenso($timestamp) -> retorna uma data em string no formato: Dia/Mês por extenso/Ano ou Mês por extenso/Dia/Ano.

A principal biblioteca para construção dessas funções é a cursos/aplic/bibliotecas/adodb-time.inc.php

email.inc

Os procedimentos de email.inc visam facilitar a criação de mensagens MontaMsg(...) e seu envio por email com MandaMsg(...) e MandaMsgMultiplos(...)

# $host, $raiz_www, $cod_curso e $cod_usuario são informações obtidas do banco de dados

# Assunto e mensagem qualquer:
$assunto = "[TelEduc] - Boas Vindas";
$mensagem = "<p>Olá, ".$destinatario."</p><br />";
$mensagem.= "<p>Bem vindo ao TelEduc !</p><br />";

#MontaMsg(...) - Monta com as informações passadas por parâmetro, todo o corpo da mensagem em HTML para envio por email.
$mensagem_envio = MontaMsg($host, $raiz_www, $cod_curso, $mensagem, $assunto, $cod_usuario);

#MandaMsg(...) - Monta o Email para envio através do Sendmail
MandaMsg($remetente,$destino,$assunto,$mensagem_envio);

Exemplos práticos em: administracao/cria_curso2.php , administracao/enviar_email2.php e administracao/resetar_curso2.php da parte de Administração; e cursos/aplic/correio/compor2.php das Ferramentas entre outras !

FeedbackObject.inc.php

Como adicionar um Feedback no TelEduc: Feedback - Como exibir com exemplos dos procedimentos dessa biblioteca

usuarios.inc

Os procedimentos dessa biblioteca tratam as informações do usuário logado como seu status no curso (formador, aluno, visitante...), permissões às ferramentas do curso em que ele está acessando e procedimentos que alteram estas informações e permissões.
Há também, procedimentos de log que inserem ao banco de dados o horário do acesso do aluno;

# EFormador retorna true se o usuario é Formador, false caso contrário.
if (EFormador($sock, $cod_usario, $cod_curso) == true)
{
    # NomeUsuario pega o nome do usuario de chave passada por parâmetro.
    $nome = NomeUsuario($sock, $cod_usuario, $cod_curso);
    echo ("Nome do aluno é:" .$nome);
}

linguas.inc

Biblioteca muito útil para recuperar uma frase ou uma lista de todas as frases de alguma ferramenta, escrita no banco de dado.
Para cadastrar frases e exemplo de uso dessa biblioteca, vide Tradução - Como é feita

sessao.inc

Apresenta apenas dois procedimentos que basicamente retornam o Session ID que está sendo usado pela ferramenta.
  • RetornaSessionID(): Retorna string com Session ou vazio se Cookie ativo
  • RetornaSessionIDInput(): IDEM, só que em form do tipo hidden de nome= PHPSESSID

--- não inclusas em geral.inc

adodb-time.inc.php

-> cursos/aplic/bibliotecas/data.inc

conversor.inc

-> administracao/inserir_curso2.php
-> administracao/versao/verifica_versao.php

importar.inc

-> cursos/aplic/agenda/acoes_linha.php
-> cursos/aplic/agenda/importar_curso.php
-> cursos/aplic/agenda/importar_ver.php

-> cursos/aplic/dinamica/importar_curso.php
-> cursos/aplic/dinamica/importar_curso2.php
-> cursos/aplic/dinamica/importar_dinamica.php
-> cursos/aplic/dinamica/importar_dinamica2.php

-> cursos/aplic/material/acoes.php
-> cursos/aplic/material/importar_*

-> cursos/aplic/perguntas/acoes
-> cursos/aplic/perguntas/importar_curso.php

extracao.inc

-> administracao/insercao/*
-> administracao/extracao.inc
-> administracao/extrair_curso.php
-> administracao/extrair_curso2.php
-> administracao/inserir_curso.php
-> administracao/inserir_curso2.php
-> administracao/inserir_curso3.php
-> administracao/verifica_versao.php

-> cursos/aplic/dinamica/importar_curso2.php

dhtmllib.js

-> FERRAMENTAS (cursos/aplic) : administração, agenda, avaliacoes, batepapo, configurar, dinamica, enquete, exercicios, forum, intermap, js-css, material, perguntas, portofolio + index_novo.php + topo_tela.php

javacrypt.js

-> avaliarcurso/avaliar_curso3.php

javascript.inc

2 arquivos com o nome de javascript.inc.
nenhum arquivo que as utilize foi encontrado...

sql_dump.inc

-> administracao/insercao/inserir_curso2.php
-> administracao/insercao/verifica_versao