| Server IP : 23.111.136.34 / Your IP : 216.73.216.136 Web Server : Apache System : Linux servidor.eurohost.com.br 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : meusitei ( 1072) PHP Version : 5.6.40 Disable Function : show_source, system, shell_exec, passthru, proc_open MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/meusitei/public_html/painel/classes/ |
Upload File : |
<?php
/**
* MainController - Todos os controllers deverão estender essa classe
*
* @package TutsupMVC
* @since 0.1
*/
class MainController extends UserLogin {
/**
* $db
*
* Nossa conexão com a base de dados. Manterá o objeto PDO
*
* @access public
*/
public $db;
/**
* $phpass
*
* Classe phpass
*
* @see http://www.openwall.com/phpass/
* @access public
*/
public $phpass;
/**
* $title
*
* Título das páginas
*
* @access public
*/
public $title;
/**
* $title
*
* BreadCrumbs
*
* @access public
*/
public $breadcrumbs;
/**
* $pagheader
*
* Header da Pagina
*
* @access public
*/
public $pagheader;
/**
* $menu
*
* Menu
*
* @access public
*/
public $menu;
/**
* $login_required
*
* Se a página precisa de login
*
* @access public
*/
public $login_required = false;
/**
* $permission_required
*
* Permissão necessária
*
* @access public
*/
public $permission_required = 'any';
/**
* $parametros
*
* @access public
*/
public $parametros = array();
/**
* Construtor da classe
*
* Configura as propriedades e métodos da classe.
*
* @since 0.1
* @access public
*/
public function __construct($parametros = array()) {
// Instancia do DB
$this->db = new TutsupDB();
// Phpass
$this->phpass = new PasswordHash(8, false);
// Parâmetros
$this->parametros = $parametros;
// Verifica o login
$this->check_userlogin();
}
// __construct
/**
* Load model
*
* Carrega os modelos presentes na pasta /models/.
*
* @since 0.1
* @access public
*/
public function load_model($model_name = false) {
// Um arquivo deverá ser enviado
if (!$model_name)
return;
// Garante que o nome do modelo tenha letras minúsculas
$model_name = strtolower($model_name);
// Inclui o arquivo
$model_path = ABSPATH . '/models/' . $model_name . '.php';
// Verifica se o arquivo existe
if (file_exists($model_path)) {
// Inclui o arquivo
require_once $model_path;
// Remove os caminhos do arquivo (se tiver algum)
$model_name = explode('/', $model_name);
// Pega só o nome final do caminho
$model_name = end($model_name);
// Remove caracteres inválidos do nome do arquivo
$model_name = preg_replace('/[^a-zA-Z0-9]/is', '', $model_name);
// Verifica se a classe existe
if (class_exists($model_name)) {
// Retorna um objeto da classe
return new $model_name($this->db, $this);
}
// The end :)
return;
} // load_model
}
// load_model
public function paginapermissao($pagina) {
// $paginas = $this->db->query (
// 'SELECT * FROM `paginas` WHERE `key_pagina` = ?',
// array($pagina)
// );
// $dados = $paginas->fetchAll();
//
// foreach ($dados as $dat){
// return $dat['perm'];
// }
}
public function permissao($user, $perm) {
if (@$_SESSION['userdata']) {
$userp = $this->db->query('SELECT * FROM `users` WHERE `user` = ?', array($user));
$dados = $userp->fetchAll();
if ($dados[0]['codmaster'] != 99) {
$p = unserialize($dados[0]['user_permissions']);
$pp = @$p[$perm][0] + @$p[$perm][1];
$pag = $this->db->query('SELECT * FROM `permissao` WHERE `key` = ?', array($perm));
$key = $pag->fetchAll();
if (@$key[0]['nivel'] > $pp) {
$redirecionar = HOME_URI . 'sp';
header("Location: $redirecionar");
;
return;
} else {
// if($pp == 1){}
// if($pp == 2){}
}
} else {
}
}
}
public function vpermissao($user, $perm, $pm) {
$userp = $this->db->query('SELECT * FROM `users` WHERE `user` = ?', array($user));
$dados = $userp->fetchAll();
if ($dados[0]['codmaster'] != 99) {
$p = unserialize($dados[0]['user_permissions']);
$pp = $p[$perm][0] + $p[$perm][1];
$pag = $this->db->query('SELECT * FROM `permissao` WHERE `key` = ?', array($perm));
$key = $pag->fetchAll();
if ($pp == $pm) {
echo 'y';
} else {
echo 'n';
}
} else {
//echo 'master';
}
}
public function carregarmenu() {
$paginas = $this->db->query(
'SELECT * FROM `indice` ORDER BY `order` ASC'
);
return $paginas->fetchAll();
}
public function getcidades() {
$query = $this->db->query('SELECT cidade FROM `imoveis`');
if (!$query) {
return array();
} else {
$array = $query->fetchAll();
$array_cidade = array();
foreach ($array as $arr) {
if (!in_array($arr['cidade'], $array_cidade)) {
$array_cidade[] = $arr['cidade'];
}
}
return $array_cidade;
}
}
public function getbairros($cidade) {
$query = $this->db->query('SELECT bairro FROM `imoveis` WHERE cidade = ?', array($cidade));
if (!$query) {
return array();
} else {
$array = $query->fetchAll();
$array_cidade = array();
foreach ($array as $arr) {
if (!in_array($arr['bairro'], $array_cidade)) {
$array_cidade[] = $arr['bairro'];
}
}
return $array_cidade;
}
}
public function getcepCadastrados($local = null, $cep, $condicional = '') {
if ($local == null) {
//pais
if ($cep == 'pais') {
$path_get = $this->db->query("SELECT * FROM imoveis" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cep_pais'];
}
return array_unique($dpd);
}
if ($cep == 'estado') {
//estado
$path_get = $this->db->query("SELECT * FROM imoveis" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cep_estado'];
}
return array_unique($dpd);
}
if ($cep == 'cidade') {
//cidade
$path_get = $this->db->query("SELECT * FROM imoveis" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cep_cidade'];
}
return array_unique($dpd);
}
if ($cep == 'cidades') {
//bairro
$path_get = $this->db->query("SELECT DISTINCT cep_cidade, cep_estado FROM imoveis order by cep_cidade asc");
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cep_cidade'].'/'.$dd['cep_estado'];
}
return array_unique($dpd);
}
if ($cep == 'bairro') {
//bairro
$path_get = $this->db->query("SELECT * FROM imoveis" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cep_bairro'];
}
return array_unique($dpd);
}
if ($cep == 'bairros') {
//bairro
$path_get = $this->db->query("SELECT DISTINCT cep_cidade, cep_bairro FROM imoveis order by cep_bairro asc");
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cep_cidade'].'/'.$dd['cep_bairro'];
}
return array_unique($dpd);
}
}
}
public function getcepCadastradosclientes($local = null, $cep, $condicional = '') {
if ($local == null) {
//pais
if ($cep == 'pais') {
$path_get = $this->db->query("SELECT * FROM proprietarios" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['pais'];
}
return array_unique($dpd);
}
if ($cep == 'estado') {
//estado
$path_get = $this->db->query("SELECT * FROM proprietarios" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['estado'];
}
return array_unique($dpd);
}
if ($cep == 'cidade') {
//cidade
$path_get = $this->db->query("SELECT * FROM proprietarios" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cidade'];
}
return array_unique($dpd);
}
if ($cep == 'bairro') {
//bairro
$path_get = $this->db->query("SELECT * FROM proprietarios" . $condicional);
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['bairro'];
}
return array_unique($dpd);
}
if ($cep == 'bairros') {
//bairro
$path_get = $this->db->query("SELECT DISTINCT cidade, bairro FROM proprietarios");
$dados = $path_get->fetchAll();
$dpd = array();
foreach ($dados as $dd) {
$dpd[] = $dd['cidade'].'/'.$dd['bairro'];
}
return array_unique($dpd);
}
}
}
public function montaremail($msg, $vars) {
////////////////////////////////////////////////////////////////////////////////////////////////
foreach($vars as $key => $var){
$msg = str_replace('{$'.$key.'}',$var, $msg);
}
return $msg;
////////////////////////////////////////////////////////////////////////////////////////////////
}
/**
*
* @param type $diainicio
* @param type $diafim
* A função segue com as seguintes strings:
*
* Calcular dias restantes ate o final do plano
*/
public function calcdiasrestantes($diainicio, $diafim) {
// Calcula a diferença em segundos entre as datas
$diferenca = strtotime($diafim) - strtotime($diainicio);
//Calcula a diferença em dias
return $dias = floor($diferenca / (60 * 60 * 24));
}
/**
*
* @param type $query
* @param type $acao
* @param type $data
* @return type ação
* A função segue com as seguintes strings:
*
* $query = array('Tabela','ChavePrimaria')
* $acao = get - update - insert - delete - list
* $data = null (Pode vim acompanhado um $_POST $_GET ou Data normal)
*/
public function acaoglobal($query = array(), $acao, $data = null, $traduzir = null, $tt = null, $ttmult = null, $busca_interesses = null) {
if (@$query[0] == null) {
$query[0] = $query;
}
if (@$query[1] == null) {
$query[1] = 'id';
} //isso define que se a chave primaria da array vim nula ela defini 'id' como principal
if (@$query[2] == null) {
$lmtORD = '';
} else {
$lmtORD = $query[2];
} //orderby ASC~DESC RAND()
if (@$query[3] == null) {
$lmtORDC = '';
} else {
$lmtORDC = $query[3];
} //orderby coluna
if (@$query[4] == null) {
$lmtSTT = '';
} else {
$lmtSTT = $query[4];
} //limit start
if (@$query[5] == null) {
$lmtEND = '';
} else {
$lmtEND = $query[5];
} //limit final
if ($lmtSTT != null && $lmtEND != null) {
$limitar = ' LIMIT ' . $lmtSTT . ',' . $lmtEND . '';
} //gera o limitador
else {
$limitar = ''; //limpa o limitador
}
if ($lmtORD != null && $lmtORDC != null) {
$ordenar = 'ORDER BY ' . $lmtORDC . ' ' . $lmtORD . '';
} //gera o ordenador
else {
$ordenar = ''; //limpa a ordenancia
}
/*$tabelaFunc = $query[0]; //banco de dados principal
$chavePrimaria = $query[1]; //Chave Primaria
//list
if ($acao == 'list') {
//$limitar = 'LIMIT 100'; // Exemplo de limite para 100 registros
$query = $this->db->query('SELECT * FROM `' . $tabelaFunc . '` ' . $ordenar . ' ' . $limitar . '');
if (!$query) {
return array();
}
return $query->fetchAll();
}*/
$tabelaFunc = $query[0]; // banco de dados principal
$chavePrimaria = $query[1]; // Chave Primaria
if ($acao == 'list') {
//$limitar = 'LIMIT 100'; // Exemplo de limite para 100 registros
$query = $this->db->query('SELECT * FROM `' . $tabelaFunc . '` ' . $ordenar . ' ' . $limitar . '');
if (!$query) {
return array();
}
// Busca linha por linha ao invés de usar fetchAll()
$dados = [];
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$dados[] = $row;
}
return $dados;
}
//get
else if ($acao == 'get' && $data != null) {
$path_get = $this->db->query('SELECT * FROM `' . $tabelaFunc . '` WHERE `' . $chavePrimaria . '` = ?', array($data));
@$us = $path_get->fetchAll();
if ($us != array()) {
return $us[0];
} else {
return false;
}
}
//bloco para select com espaços
else if ($acao == 'gets' && $data != null) {
// $path_get = $this->db->query('SELECT * FROM `' . $tabelaFunc . '` WHERE `' . $chavePrimaria . '` = ?', array($data));
$path_get = $this->db->query('SELECT * FROM `' . $tabelaFunc . '` WHERE `' . $chavePrimaria . '` LIKE "%"?"%"', array($data));
@$us = $path_get->fetchAll();
if ($us != array()) {
return $us[0];
} else {
return false;
}
}
//update de edit
else if ($acao == 'update' && $data != null) {
$data['id'];
$id = $data['id'];
unset($data['id']);
$query = $this->db->update('' . $tabelaFunc . '', '' . $chavePrimaria . '', $id, $data);
if (!$query) {
$id;
return;
}
$idd = $id;
//echo $id;
}
//inserir novo no banco de dados
else if ($acao == 'insert' && $data != null) {
$query = $this->db->insert('' . $tabelaFunc . '', $data);
if (!$query) {
return;
} else {
$query = $this->db->query('SELECT * FROM `' . $tabelaFunc . '` ORDER BY ' . $chavePrimaria . ' DESC LIMIT 1');
$urdata = $query->fetchAll();
$idd = $urdata[0][$chavePrimaria];
if($tabelaFunc!='log'){
echo $urdata[0][$chavePrimaria];
}
}
}
//deletar
else if ($acao == 'delete' && $data != null) {
$idd = $data;
$query = $this->db->delete('' . $tabelaFunc . '', '' . $chavePrimaria . '', $data);
if (!$query) {
return;
}
}
//
if ($traduzir == true) {
$this->traduzirTT($idd, $acao, $tabelaFunc, $tt, $ttmult);
}
}
public function traduzirTT($idd = null, $acao = null, $tabela = null, $data = null, $multiple = null) {
if ($idd == null) {
$idd = 0;
} else {
$idd = $idd;
}
if ($multiple == null) {
if ($acao == 'update') {
$path_get = $this->db->query('SELECT * FROM lang WHERE `id_lang` = ' . $idd . ' AND `local` = "' . $tabela . '"');
$us = $path_get->fetchAll();
// ERRO NA DESCRIÇÃO OCORRE AQUI
$data["id"] = $us[0]['id'];
//$this->acaoglobal(array('lang','id'),'update',$data);
$this->db->update('lang', 'id', $data['id'], $data);
} else if ($acao == 'delete') {
$path_get = $this->db->query('SELECT * FROM `lang` WHERE `id_lang` =' . $idd . ' AND `local` ="' . $tabela . '"');
$us = $path_get->fetchAll();
@$this->db->delete('lang', 'id', $us[0]['id']);
} else if ($acao == 'insert') {
$data['local'] = $tabela;
$data['id_lang'] = $idd;
$query = $this->db->insert('lang', $data);
} else if ($acao == 'get') {
$path_get = $this->db->query('SELECT * FROM `lang` WHERE `id_lang` =' . $idd . ' AND `local` ="' . $tabela . '"');
$us = $path_get->fetchAll();
return $us;
}
} else {
$tt = $data;
$data = array();
foreach ($tt as $key => $valor) {
foreach ($valor as $key2 => $data) {
$pk = explode('-', $key2);
$tabela = $pk[0];
$idd = $pk[1];
if ($acao == 'update') {
$path_get = $this->db->query('SELECT * FROM `lang` WHERE `id_lang` =' . $idd . ' AND `local` ="' . $tabela . '"');
$us = $path_get->fetchAll();
$data['local'] = $tabela;
$data['id_lang'] = $idd;
$this->db->update('lang', $us[0]['id'], $data);
} else if ($acao == 'delete') {
$path_get = $this->db->query('SELECT * FROM `lang` WHERE `id_lang` =' . $idd . ' AND `local` ="' . $tabela . '"');
$us = $path_get->fetchAll();
$query = $this->db->delete('lang', '' . $us[0]['id'] . '', $data);
} else if ($acao == 'insert') {
$data['local'] = $tabela;
$data['id_lang'] = $idd;
$query = $this->db->insert('lang', $data);
}
}
}
}
}
/**
* Exemplo de Array para enviar o multiple do TraduzirTT
*
* $pr = array('1' => array( 'detalhes-260'=>array(
'pt'=>'das',
'en'=>'afas',
'es'=>'das',
'it'=>'asd'
)),
'2' => array( 'detalhes-262'=>array(
'pt'=>'das',
'en'=>'afas',
'es'=>'das',
'it'=>'asd'
)),
'3' => array( 'detalhes-261'=>array(
'pt'=>'das',
'en'=>'afas',
'es'=>'das',
'it'=>'asd'
)),
);
*/
/**
*
* @return type
* função que verifica se esta logado
*/
public function tlogado() {
if (!$this->logged_in) {
$this->logout();
$this->goto_login();
return;
}
}
public function tipodenegocio() {
return array(
'Locação',
'Venda',
'Temporada',
'Lançamento',
//'MCMV'
);
}
public function tipodeimovel($principal = null) {
$array = array('Apartamento' => array('Padrão', 'Alto Padrão', 'Luxo', 'Kitnete', 'Cobertura', 'Duplex', 'Triplex', 'Loft', 'Loft Duplex', 'Loft Triplex', 'Sobreloja', 'Flat', 'Village'),
'Casa' => array('Padrão', 'Alvenaria', 'Madeira', 'Térreo', 'Em condomínio', 'Em vila fechada', 'Sobrado Padrão', 'Sobrado em condomínio', 'Sobrado em vila fechada', 'Sobrado Duplex', 'Sobrado Triplex', 'Assobradada', 'Geminada', 'Village'),
'Comercial' => array('Negócio', 'Loja', 'Sala', 'Prédio Inteiro', 'Casa', 'Loja de shopping', 'Sobrado', 'Armazém', 'Déposito', 'Galpão', 'Indústria', 'Hotel', 'Motel', 'Pousada'),
'Rural' => array('Chácara', 'Chácara em condomínio', 'Fazenda', 'Sítio', 'Haras', 'Comercial', 'Estância', 'Lavoura', 'Granja'),
'Terreno' => array('Em rua', 'Em condomínio', ' Em loteamento', 'Comercial', 'Área industrial', 'Para empreendimento'));
if ($principal != null && ($principal == 'Apartamento' || $principal == 'Casa' || $principal == 'Comercial' || $principal == 'Rural' || $principal == 'Terreno')) {
return $array[$principal];
} else if ($principal == 'lista') {
return array('Apartamento', 'Casa', 'Comercial', 'Rural', 'Terreno');
} else {
return $array;
}
}
public function configuracoes() {
$path_get = $this->db->query('SELECT * FROM `configuracoes`');
$us = $path_get->fetchAll();
return $us[0];
}
}
// class MainController