/*
* Manipula erros do PHP
*
* v1.0.1
*
*/
function tihh_errorHandler( $errno, $errstr, $errfile, $errline, $errcontext){
if($errno != 8) { //ignora 8 = NOTICES
$hidden = 'errno: ' . $errno . "\r\n";
$hidden .= 'errstr: ' . $errstr . "\r\n";
$hidden .= 'errfile: ' . $errfile . "\r\n";
$hidden .= 'errline: ' . $errline . "\r\n";
$hidden .= 'errcontext: ' . print_r($errcontext, true) . "\r\n";
tihh_erros($errstr, $hidden);
}
}
set_error_handler('tihh_errorHandler');
function tihh_exception_handler($e) {
echo tihh_erros($e->getMessage());
}
set_exception_handler('tihh_exception_handler');
function tihh_erros($msg, $hidden = null){
$html = '
';
$html .= 'Ocorreu um erro ao tentar acessar o site.';
$html .= '
';
$html .= '';
$html .= $msg;
$html .= '';
$html .= '
';
if(!empty($hidden)){
$html .= "\r\n";
$html .= '';
$html .= "\r\n";
}
die($html);
}
?>
/**
* Objeto de PHP que administra conexões de um site com o banco de dados de MySQL.
*
* versão 1.0
*
*/
class tihh_db_mysql {
const version = '1.0';
public $errorNumber;
public $errorMsg;
public $sql;
private $conn;
private function _setErrorMsg()
{
$this->errorMsg = mysqli_error($this->conn);
$this->errorNumber = mysqli_errno($this->conn);
}
private function _connect($host, $user, $pass, $database){
//Verifica se extensão está habilitada no PHP
if(!function_exists('mysqli_connect'))
throw new Exception('[tihh_db_mysql] A extensão mysqli de conexão com o banco de dados não está habilitada no seu servidor.');
$this->conn = mysqli_connect($host, $user, $pass);
if($this->conn === false){
$this->_setErrorMsg();
throw new Exception('[tihh_db_mysql] Ocorreu um erro ao tentar conectar a seu banco de dados MySql.');
}
$selectionDb = mysqli_select_db($this->conn, $database);
//força o resultado em UTF8 (utf8mb4 aceita emojis)
mysqli_query($this->conn, "SET NAMES 'utf8mb4'");
if($selectionDb === false){
$this->_setErrorMsg();
throw new Exception('[tihh_db_mysql] Ocorreu um erro ao tentar selecionar um database ao seu banco de dados.');
}
}
public function _read($sql){
//Verifica se é um sql de SELECT
if((strpos(strtolower($sql), 'select') === false) && (strpos(strtolower($sql), 'call') === false))
throw new Exception('[tihh_db_mysql] Você só pode fazer uma consulta ao banco dados utilizando um sql de SELECT');
return mysqli_query($this->conn, $sql);
}
public function __construct($host, $user, $pass, $database, $persistent = true){
//Faz conexão
$this->_connect($host, $user, $pass, $database);
}
public function Execute($sql){
$this->sql = $sql;
$resource = mysqli_query($this->conn, $sql);
if($resource === false) {
$this->_setErrorMsg();
throw new Exception('[tihh_db_mysql] Não foi possível concluir a execução do comando enviado ao banco de dados:' . $sql);
}
return true;
}
public function GetLastIdInsert() {
//Verifica se última ação foi um insert
if(strpos(strtoupper($this->sql), 'INSERT') === false)
throw new Exception('[tihh_db_mysql] Você só pode solicitar o ID inserido após ter executado um comando INSERT no banco de dados.');
return mysqli_insert_id($this->conn);
}
public function LoadArrays($sql) {
$resource = $this->_read($sql);
$value = array();
while($rw = mysqli_fetch_array($resource)) {
array_push($value, $rw);
}
return $value;
}
public function LoadObjects($sql){
$resource = $this->_read($sql);
$value = array();
while($rw = mysqli_fetch_object($resource)) {
array_push($value, $rw);
}
return $value;
}
public function Close() {
mysqli_close($this->conn);
}
public function LoadSqlFile($sqlFile){
if(!file_exists($sqlFile)){
throw new Exception('Arquivo SQL não foi encontrado.');
}
//Carrega arquivo...
$arquivo = Array();
$arquivo = file($sqlFile);
$prepara = ''; // Cria a Variavel $prepara
foreach($arquivo as $v){
$prepara .= $v;
}
$sql = explode(';', $prepara);
//executa comandos SQL...
foreach($sql as $v) {
$v = utf8_decode($v);
$v = trim($v);
if(!empty($v))
$this->Execute($v);
}
}
}
?>
/**
* Função em PHP que você parametriza um texto e ele retorna tags
* (meta-tags) pra você utilizar no keywords da sua página.
*
* Versão: 1.0
*
* @param $texto
* @param int $num (default 9)
* @return string
*/
function tihh_getTags($texto, $num = 9){
$texto = strip_tags($texto);
$texto = trim($texto);
$texto = strtolower($texto);
$tirar = array(
'.', ',', ';', '!', '?', ':', '/', '\\', '|', '(', ')', '[', ']', '{', '}',
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'
);
$texto = str_replace($tirar, ' ', $texto);
$palavras = explode(' ', $texto);
$ocorrencias = array();
foreach($palavras as $palavra){
if(isset($ocorrencias[$palavra]))
$ocorrencias[$palavra]++;
else
$ocorrencias[$palavra] = 1;
}
arsort($ocorrencias);
//print_r($ocorrencias);exit;
$list = array();
//retira palavras insignificantes...
$tirar = array(
'da', 'de', 'do', 'a', 'o', 'as', 'os' , 'e', 'em', 'das', 'dos', 'que', 'por', 'se', 'g', 'min', 'hrs',
'um', 'uma', 'uns', 'com', 'sem', 'pra', 'para', 'até', 'pro', 'pros', 'na', 'nas', 'à', 'às', 'está', 'estás'
);
foreach($ocorrencias as $x=>$ocorrencia){
foreach($tirar as $t){
if($x == $t)
unset($ocorrencias[$x]);
}
}
//seleciona palavras
foreach($ocorrencias as $x=>$ocorrencia){
if(!empty(trim($x))) {
$list[] = trim($x);
}
if (count($list) >= $num) {
return implode(',', $list);
}
}
return null;
}
?>