<?php
##################
### crisLib - biblioteca de auxilio no desenvolvimento em php
### funções
### - segurança
### - banco de dados
### - arquivos
### - protocolos
### - ajax
##################
### SEGURANÇA
# - Nome: URL ?pagina em vez de ?page=pagina
# - modo de utilização: chamando a função da seguinte forma:
//$path = url($_SERVER['REQUEST_URI" target="_blank">);
//include($path);
function url($uri,$pasta){
if($uri == "/$pasta"){ $uri = "/?home"; }
$uri = explode("?",$uri);
$uri = explode("&",$uri[1]);
$uri = $uri[0];
$arquivo = "pages/".$uri.".php";//pages é o nome da pasta onde ficarão os arquivos internos que guardam o conteúdo, que serão inseridos no arquivo principal, no lugar do conteúdo. Mude para o nome da pasta onde você guarda os arquivos.
if(is_file($arquivo)){
$path = $arquivo;
}else{
$path = "pages/erro.php";
}
return $path;
}
# - Nome: SQL-Injection
function inj($termo){
if(function_exists(mysql_real_escape_string)){
$termo = mysql_real_escape_string($termo);
}else{
$termo = htmlspecialchars($termo);
}
return $termo;
}
# - Nome: Autentica usuário
function login($usuario,$senha,$tabela_de_usuarios,$tabela_de_sessoes,$destino){
//verifica se o usuário e a senha constam na tabela
$sel = sel($tabela,"usuario = '$usuario' and senha = '$senha'","","");
if(mysql_num_rows($sel) == 0){//se não existir, mostra a mensagem abaixo
echo "Este usuário não existe!";
exit; //encerra a execução do arquivo, não permitindo que o usuário prossiga
}else{
//guarda usuario e senha
$_SESSION['usuario'] = $usuario;
$_SESSION['senha'] = $senha;
//guarda um valor de sessão único para gravar que o usuário está logado
if($tabela_de_controle_de_sessoes != ""){
$_SESSION['idsession'] = date("H") + date("i") + date("s") + date("d") + date("m") + date("Y");
$idsession = $_SESSION['idsession'];
ins("sessao","usuario, senha, sessao, status","'$usuario', '$senha', '$idsession','online'");
}
echo "<meta http-equiv="refresh" content="0;URL=$destino">";
}
}
# - Nome: Desautentica usuário
function logoff($usuario,$senha,$tabela,$tabela_de_sessoes){
if($tabela_de_sessoes != ""){
$sel = sel($tabela_de_sessoes,"usuario = '$usuario and senha = '$senha'","","");
}
}
# - Nome: verifica se o usuário está autenticado
function autentica($tabela,$destino,$tabela_de_sessoes){
$usuario = $_SESSION['usuario'];
$senha = $_SESSION['senha'];
$sel = sel($tabela,"usuario = '$usuario' and senha = '$senha'","","");
if(mysql_num_rows($sel) == 0){
echo "Este usuário não existe!";
exit;
}else{
if($tabela_de_sessoes != ""){
$sessao = sel("sessao","usuario = '$usuario' and senha = '$senha'","","");
if(mysql_num_rows($sessao) == 0){
echo "Você não estã logado!";
echo "<meta http-equiv="refresh" content="0;URL=login.php?redirect=$destino">";
exit;
}
}
}
}
##################
### BANCO DE DADOS
# - Nome: Conectar ao banco de dados
function con($usuario,$senha){
if(!mysql_connect("localhost",$usuario,$senha)){
echo "Erro ao conectar no db.";
}
}
# - Nome: Selecionando um db
function db($db){
if(!mysql_select_db($db)){
echo "Erro ao selecionar db.";
}
}
# - Nome: Selecionar
function sel($tabela,$condicoes,$ordem,$limite){
$query = "SELECT * FROM $tabela";
if($condicoes != "") {
$query .= " WHERE $condicoes";
}
if($ordem != ""){
$query .= " ORDER BY $ordem";
}
if($limite != ""){
$query .= " LIMIT $limite";
}
$sql = mysql_query($query) or die($erro_select);
return $sql;
}
# - Nome: Paginação
function pag($num_result,$tipo){//$num_result = número de resultados por página / $tipo = numerada ou com botão próximo e avançar
}
# - Nome: Busca interna
function busca($tabela,$campo,$termo,$ordem,$num_result,$tipo){
$query = "SELECT * FROM $tabela WHERE $campo LIKE '%$termo%' ORDER BY $ordem";
$sql = pag($num_result,$tipo);
return $sql;
}
# - Nome: Inserir
function ins($tabela,$campo,$valor){
$query = "INSERT INTO $tabela ($campo) VALUES ($valor)";
if(mysql_query($query)){
$sql = 0;//ok
}else{
$sql = 1;//erro
}
return $sql;
}
# - Nome: Atualizar
function upd($tabela,$dados,$id){
$query = "UPDATE $tabela SET $dados WHERE id = '$id'";
if(mysql_query($query)){
$sql = 0;//ok
}else{
$sql = 1;//erro
}
return $sql;
}
# - Nome: Deletar
function del($tabela,$id){
$query = "DELETE FROM $tabela WHERE id = '$id'";
if(mysql_query($query)){
$sql = 0;//ok
}else{
$sql = 1;//erro
}
return $sql;
}
# - Nome: exibe dados em colunas
function table($tabela,$ordem_de_exibicao,$total_a_ser_exibido,$num_de_colunas){
echo "<table width="100%" border="0" cellspacing="0" cellpadding="0">";
$select_cat = mysql_query("SELECT * FROM $tabela ORDER BY $ordem_de_exibicao DESC LIMIT $total_a_ser_exibido") or die($erro_select);
while($row = mysql_fetch_array($select_cat)){
$cont = $cont + 1;
$numresult = $numresult + 1;
if($cont == 1){
echo "<tr>";
}
echo "<td>";
//conteúdo
echo "CONTEUDO";
//fim conteudo
echo "</td>";
if($cont == $colunas){
echo "</tr>";
$cont = 0;
}
if(mysql_num_rows($select_cat) == $numresult && mysql_num_rows($select_cat) < $cont){
$queb = $colunas - $cont;
$num = $num + 1;
while($num < $queb){
echo "<td></td>";
}
echo "</tr>";
}
}
echo "</table>";
}
##################
### ARQUIVOS
# - Nome: Upload de arquivos
function up($arquivo,$destino,$extensoes){//para permitir todas extensões de arquivos, deixe a $extensoes em branco, se não, informe todas as extensões permitidas
}
# - Nome: Gera miniatura de imagem JPG, porém a idéia é pegar o mime-type do arquivo, ver qual tipo ele é e criar a miniatura de acordo com seu tipo (gif, png, jpg...)
function im($url_imagem,$altura,$largura){
// **** configurações da miniatura *******
$tamanho_fixo = "S"; // S ou N
$largura_fixa = $w; // usado somente com tamanho_fixo=S
$altura_fixa = $h; // usado somente com tamanho_fixo=S
$arquivo_miniatura = explode('.', $imagem);
// monta o nome do arquivo resultante
if(!file_exists($arquivo_miniatura[0]."_mini.jpg" or ImagesX($imagem) != $w)){
$arquivo_miniatura = $arquivo_miniatura[0]."_mini.jpg";
// lê a imagem de origem e obtém suas dimensões
$img_origem = ImageCreateFromJPEG($imagem);
$origem_x = ImagesX($img_origem);
$origem_y = ImagesY($img_origem);
// se não for tamanho fixo, calcula as dimensões da miniatura
if($tamanho_fixo=="S")
{
$x = $largura_fixa;
$y = $altura_fixa;
}
else
{
$x = intval ($origem_x * $percentual/100);
$y = intval ($origem_y * $percentual/100);
}
// cria a imagem final, que irá conter a miniatura
$img_final = ImageCreateTrueColor($x,$y);
// copia a imagem original redimensionada para dentro da imagem final
ImageCopyResampled($img_final, $img_origem, 0, 0, 0, 0, $x+1, $y+1, $origem_x , $origem_y);
// salva o arquivo
ImageJPEG($img_final, $arquivo_miniatura);
// libera a memória alocada para as duas imagens
ImageDestroy($img_origem);
ImageDestroy($img_final);
$imagem = $arquivo_miniatura;
}else{
$arquivo_miniatura = explode('.', $imagem);
$arquivo_miniatura = $arquivo_miniatura[0]."_mini.jpg";
$imagem = $arquivo_miniatura;
}
return $imagem;
}
# - Nome: Exibe arquivos de uma pasta
function pasta($diretorio){
}
# - Nome: Edita arquivo
function arq($arquivo){
}
##################
### PROTOCOLOS
# - Nome: envia E-mail
function sendmail($destino,$assunto,$mensagem,$remetente,$tipo,$protocolo){//o $tipo é se o e-mail é html ou somente texto, o $protocolo é se é usando a função mail ou smtp
}
# - Nome: Criar conta de e-mail no cPanel
function criamail($email,$senha){
}
# - Nome: Deleta e-mail do cPanel
function delmail($email,$senha){
}
##################
### PLUGINS
/*
para adicionar novas extensões, adicione as seguintes linhas abaixo:
if(file_exists("./plugin/nomedoarquivo.php")){
include("./plugin/nomedoarquivo.php");
}
*/
# - Nome: pesquisa domínios nacionais e internacionais com detalhes de whois ou não
# - Notas: este plugin foi retirado e adaptado do script http://www.phpbrasil.com/scripts/script.php/id/1170
if(file_exists("./plugin/whois.php")){
include("./plugin/whois.php");
}
# - Nome: previsão do tempo
# - Notas: estou procurando a origem deste script, caso o autor apareça, por favor, entre em contato para que eu possa colocar os créditos aqui.
if(file_exists("./plugin/previsao_tempo.php")){
include("./plugin/previsao_tempo.php");
}
?>Todas as matérias de Igor Diniz
O computador terá o tamanho que você quiser. Poderá ser do tamanho da .
Aqui veremos como aplicar uma tatuagem a qualquer pessoa de uma maneir.
Público é um item fundamental para se ter um site. De que adianta você.
Veja como transformar suas imagens em quebra cabeças de uma maneira be.
Olá pessoal, estou aqui para mais uma vídeo aula, desta vez vou mostra.
Neste tutorial vou mostrar como criar arquivos em formato zip, e como .
O GTK é um conjunto de bibliotecas, desenvolvido originalmente por Pet.
Queridos leitores, hoje vou mostrar para vocês como montar um Feed RSS.
Esta forma você pode ainda passar parâmetros a serem utilizados dentro.
Paginação de resultados hoje é um processo indispensável no desenvolvi.
© 2005 - 2009 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.
Tiago Floriano
- Publicado em: 21/06/2007 - 10:52
vlw pela divulgação ;) Qualquer dúvida, também me disponho a ajudar! Qualquer colaboração também é bem vinda, já que a lib está em desenvolvimento ainda. abraços e obrigado mais uma vez Igor! :)