| 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
/**
* TutsupDB - Classe para gerenciamento da base de dados
*
* @package TutsupMVC
* @since 0.1
*/
class TutsupDB
{
//public $login_db_name = 'includec_msi';
/** DB properties */
public $host = 'localhost', // Host da base de dados
$db_name = DB_NAME, // Nome do banco de dados
$password = DB_PASSWORD, // Senha do usuário da base de dados
$user = DB_USER, // Usuário da base de dados
$charset = 'utf8', // Charset da base de dados
//$pdo = null, // Nossa conexão com o BD
$error = null, // Configura o erro
$debug = true, // Mostra todos os erros
$last_id = null; // Último ID inserido
/**
* Construtor da classe
*
* @since 0.1
* @access public
* @param string $host
* @param string $db_name
* @param string $password
* @param string $user
* @param string $charset
* @param string $debug
*/
public function __construct(
$host = null,
$db_name = null,
$password = null,
$user = null,
$charset = null,
$debug = null
) {
// Configura as propriedades novamente.
// Se você fez isso no início dessa classe, as constantes não serão
// necessárias. Você escolhe...
$this->host = defined( 'HOSTNAME' ) ? HOSTNAME : $this->host;
$this->db_name = defined( 'DB_NAME' ) ? DB_NAME : $this->db_name;
$this->password = defined( 'DB_PASSWORD' ) ? DB_PASSWORD : $this->password;
$this->user = defined( 'DB_USER' ) ? DB_USER : $this->user;
$this->charset = defined( 'DB_CHARSET' ) ? DB_CHARSET : $this->charset;
$this->debug = defined( 'DEBUG' ) ? DEBUG : $this->debug;
// Conecta
$this->connect();
} // __construct
/**
* Cria a conexão PDO
*
* @since 0.1
* @final
* @access protected
*/
final protected function connect() {
/* Os detalhes da nossa conexão PDO */
$pdo_details = "mysql:host={$this->host};";
$pdo_details .= "dbname={$this->db_name};";
$pdo_details .= "charset={$this->charset};";
// Tenta conectar
try {
$this->pdo = new PDO($pdo_details, $this->user, $this->password);
// Verifica se devemos debugar
if ( $this->debug === true ) {
// Configura o PDO ERROR MODE
$this->pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
}
// Não precisamos mais dessas propriedades
unset( $this->host );
unset( $this->db_name );
unset( $this->password );
unset( $this->user );
unset( $this->charset );
} catch (PDOException $e) {
// Verifica se devemos debugar
if ( $this->debug === true ) {
// Mostra a mensagem de erro
echo "Erro: " . $e->getMessage();
}
// Kills the script
die();
} // catch
} // connect
/**
* query - Consulta PDO
*
* @since 0.1
* @access public
* @return object|bool Retorna a consulta ou falso
*/
public function query( $stmt, $data_array = null ) {
$query = $this->pdo->prepare( $stmt );
@$check_exec = $query->execute( $data_array );
// IMPORTANTE - >>>>>> SEMPRE INSERIR NA LINHA ACIMA UM "@" NO INICIO DA LINHA PARA NÃO RETORNAR ERROS. <<<<<<- IMPORTANTE
// Verifica se a consulta aconteceu
if ( $check_exec ) {
// Retorna a consulta
return $query;
} else {
// Configura o erro
$error = $query->errorInfo();
$this->error = $error[2];
// Retorna falso
return false;
}
}
/**
* insert - Insere valores
*
* Insere os valores e tenta retornar o último id enviado
*
* @since 0.1
* @access public
* @param string $table O nome da tabela
* @param array ... Ilimitado número de arrays com chaves e valores
* @return object|bool Retorna a consulta ou falso
*/
public function insert( $table ) {
// Configura o array de colunas
$cols = array();
// Configura o valor inicial do modelo
$place_holders = '(';
// Configura o array de valores
$values = array();
// O $j will assegura que colunas serão configuradas apenas uma vez
$j = 1;
// Obtém os argumentos enviados
$data = func_get_args();
// É preciso enviar pelo menos um array de chaves e valores
if ( ! isset( $data[1] ) || ! is_array( $data[1] ) ) {
return;
}
// Faz um laço nos argumentos
for ( $i = 1; $i < count( $data ); $i++ ) {
// Obtém as chaves como colunas e valores como valores
foreach ( $data[$i] as $col => $val ) {
// A primeira volta do laço configura as colunas
if ( $i === 1 ) {
$cols[] = "`$col`";
}
if ( $j <> $i ) {
// Configura os divisores
$place_holders .= '), (';
}
// Configura os place holders do PDO
$place_holders .= '?, ';
// Configura os valores que vamos enviar
$values[] = $val;
$j = $i;
}
// Remove os caracteres extra dos place holders
$place_holders = substr( $place_holders, 0, strlen( $place_holders ) - 2 );
}
// Separa as colunas por vírgula
$cols = implode(', ', $cols);
// Cria a declaração para enviar ao PDO
$stmt = "INSERT INTO `$table` ( $cols ) VALUES $place_holders) ";
// Insere os valores
$insert = $this->query( $stmt, $values );
// Verifica se a consulta foi realizada com sucesso
if ( $insert ) {
// Verifica se temos o último ID enviado
if ( method_exists( $this->pdo, 'lastInsertId' )
&& $this->pdo->lastInsertId()
) {
// Configura o último ID
$this->last_id = $this->pdo->lastInsertId();
}
// Retorna a consulta
return $insert;
}
// The end :)
return;
} // insert
/**
* Update simples
*
* Atualiza uma linha da tabela baseada em um campo
*
* @since 0.1
* @access protected
* @param string $table Nome da tabela
* @param string $where_field WHERE $where_field = $where_field_value
* @param string $where_field_value WHERE $where_field = $where_field_value
* @param array $values Um array com os novos valores
* @return object|bool Retorna a consulta ou falso
*/
public function update( $table, $where_field, $where_field_value, $values ) {
// Você tem que enviar todos os parâmetros
//$linha_dup = mysql_query("SELECT * FROM imoveis WHERE id_imovel = '1' LIMIT 1") or die(mysql_error());
//$linha_dup = mysql_fetch_array($sql_dup);
//$sql_duplica_confirmar = mysql_query($sql_duplica);
if ( empty($table) || empty($where_field) || empty($where_field_value) ) {
return;
}
// Começa a declaração
$stmt = " UPDATE `$table` SET ";
// Configura o array de valores
$set = array();
// Configura a declaração do WHERE campo=valor
$where = " WHERE `$where_field` = ? ";
// Você precisa enviar um array com valores
if ( ! is_array( $values ) ) {
return;
}
// Configura as colunas a atualizar
foreach ( $values as $column => $value ) {
$set[] = " `$column` = ?";
}
// Separa as colunas por vírgula
$set = implode(', ', $set);
// Concatena a declaração
$stmt .= $set . $where;
// Configura o valor do campo que vamos buscar
$values[] = $where_field_value;
// Garante apenas números nas chaves do array
$values = array_values($values);
// Atualiza
$update = $this->query( $stmt, $values );
// Verifica se a consulta está OK
if ( $update ) {
// Retorna a consulta
return $update;
}
// The end :)
return;
} // update
/**
* Delete
*
* Deleta uma linha da tabela
*
* @since 0.1
* @access protected
* @param string $table Nome da tabela
* @param string $where_field WHERE $where_field = $where_field_value
* @param string $where_field_value WHERE $where_field = $where_field_value
* @return object|bool Retorna a consulta ou falso
*/
public function delete( $table, $where_field, $where_field_value ) {
// Você precisa enviar todos os parâmetros
if ( empty($table) || empty($where_field) || empty($where_field_value) ) {
return;
}
$where = "";
// Inicia a declaração
$stmt = " DELETE FROM `$table` ";
// Configura a declaração WHERE campo=valor
$where = " WHERE `$where_field` = ? ";
// Concatena tudo
$stmt .= $where;
// O valor que vamos buscar para apagar
$values = array( $where_field_value );
// Apaga
$delete = $this->query( $stmt, $values );
if ( $delete ) {
if(@$_GET["del_lang"]){
$stmt2 = " DELETE FROM lang ";
// Configura a declaração WHERE campo=valor
$where2 = " WHERE id != '' AND local = 'imoveis' AND id_lang = '".$where_field_value."'";
// Concatena tudo
$stmt2 .= $where2;
// Apaga
$delete2 = $this->query( $stmt2 );
}
// Retorna a consulta
return $delete;
}
// The end :)
return;
} // delete
public function duplicar( $table, $where_field, $where_field_value ) {
// Você precisa enviar todos os parâmetros
//$linha_dup = $this->acaoglobal(array('imoveis', 'id_imovel'), 'get', '5'); //Envio de dados do Imovel
//$sql_dup = mysql_query("SELECT * FROM ".$table." WHERE ".$where_field." = ".$where_field_value."");
//$sql_dup = mysql_query("SELECT * FROM imoveis WHERE id_imovel = '5'");
//$sql_cons = "SELECT * FROM imoveis WHERE id_imovel='5'";
//$sql_cons = "UPDATE imoveis SET negocio='Temporada' WHERE id_imovel='5'";
//$sql_dup = $this->query($sql_cons);
//$linha_dup = mysql_fetch_assoc($sql_dup);
//$linha_dup2 = $where_field_value['id_imovel']." | ".$where_field_value['id_cliente']." | ".$where_field_value['situacao'];
//$sql_duplica = "UPDATE imoveis SET negocio='Locação' WHERE id_imovel='5'";
//$teste = "123";
$coluna = '';
$info = '';
foreach($where_field_value as $key => $value){
if(($key!='update')&&($key!='updateimob')&&($key!='id_imovel')){
if($key=='datacriacao'){
$value = date('Y-m-d');
}
if (!is_numeric($key)) {
if($coluna!=''){ $coluna = $coluna.', '; }
$coluna = $coluna.$key;
if($info!=''){ $info = $info.', '; }
$info = $info."'".$value."'";
echo $key.': '.$value.' // ';
}
}
}
$sql_duplica = "INSERT INTO imoveis (".$coluna.") VALUES (".$info.")";
$sql_duplica = str_replace('"', '\"', $sql_duplica);
$sql_duplica_lang = 'UPDATE lang SET local = "imoveis" WHERE id_lang = "'.$where_field_value['id_imovel'].'" AND local = "imoveis_temp"';
// CAMPOS DE DATAS DEVEM SER ENVIADOS COM ALGUMA INFORMAÇÃO;
// transacao_data;
// data_base_expirar;
///////
/*
$sql_duplica = "INSERT INTO imoveis ("
. "id_cliente, naodivulgar_valor, naodivulgar_corretor, valor_iptu_periodo, pl_corretor, anoconstrucao, anoreforma, cep_complemento, negocio, tipo, subtipoimovel, situacao, id_responsavel, criado_por, cod_referencia, averbada, escritura"
. ", exclusiva, ocupacao, cep, cep_pais, cep_logradouro, cep_numero, cep_bairro, cep_cidade, cep_estado, latlng, ocultarend, googlemaps"
. ", dormitorio, banheiro, suite, cozinha, garagem, boxgaragem, andar, posicao, orientacao, areas, areas_categoria, detalhes, proximidades"
. ", valor, valor_categoria, status, taxas, altatemporada, baixatemporada, condicoes, observacao, disponibilidadealta, disponibilidadebaixa, publicacao_destaque"
. ", meta, portais, compartilhar, datacriacao, descricaodoimovel, informacaodoimovel, video, fotos, fotos_legenda, nomedoempreendimento, datalancamento, previsaoentrega"
. ", empreendimentosdetalhes, acompanhe, empreendimentovalores, unidade, icone, valor_condominio, valor_situacao, valor_iptu, valor_negociar, taxas_altatemporada"
. ", ciclo_baixatemporada, taxas_baixatemporada, naodivulgar_baixaalta, naodivulgar_valor, ocultarmap, exatomap, id_angariador, unitmone, comissao"
. ") VALUES ("
. "'".$where_field_value['id_cliente']."',".$where_field_value['naodivulgar_valor']."',".$where_field_value['naodivulgar_corretor']."', ".$where_field_value['valor_iptu_periodo']."', ".$where_field_value['pl_corretor']."', ".$where_field_value['anoconstrucao']."', ".$where_field_value['anoreforma']."', ".$where_field_value['cep_complemento']."', '".$where_field_value['negocio']."', '".$where_field_value['tipo']."'"
. ", '".$where_field_value['subtipoimovel']."', '".$where_field_value['situacao']."', '".$where_field_value['id_responsavel']."'"
. ", '".$where_field_value['criado_por']."', '".$where_field_value['cod_referencia']."', '".$where_field_value['averbada']."', '".$where_field_value['escritura']."'"
. ", '".$where_field_value['exclusiva']."', '".$where_field_value['ocupacao']."', '".$where_field_value['cep']."', '".$where_field_value['cep_pais']."'"
. ", '".$where_field_value['cep_logradouro']."', '".$where_field_value['cep_numero']."', '".$where_field_value['cep_bairro']."', '".$where_field_value['cep_cidade']."'"
. ", '".$where_field_value['cep_estado']."', '".$where_field_value['latlng']."', '".$where_field_value['ocultarend']."', '".$where_field_value['googlemaps']."'"
. ", '".$where_field_value['dormitorio']."', '".$where_field_value['banheiro']."', '".$where_field_value['suite']."', '".$where_field_value['cozinha']."'"
. ", '".$where_field_value['garagem']."', '".$where_field_value['boxgaragem']."', '".$where_field_value['andar']."', '".$where_field_value['posicao']."'"
. ", '".$where_field_value['orientacao']."', '".$where_field_value['areas']."', '".$where_field_value['areas_categoria']."', '".$where_field_value['detalhes']."'"
. ", '".$where_field_value['proximidades']."', '".$where_field_value['valor']."', '".$where_field_value['valor_categoria']."', '".$where_field_value['status']."'"
. ", '".$where_field_value['taxas']."', '".$where_field_value['altatemporada']."', '".$where_field_value['baixatemporada']."', '".$where_field_value['condicoes']."'"
. ", '".$where_field_value['observacao']."', '".$where_field_value['disponibilidadealta']."', '".$where_field_value['disponibilidadebaixa']."', '".$where_field_value['publicacao_destaque']."'"
. ", '".$where_field_value['meta']."', '".$where_field_value['portais']."', '".$where_field_value['compartilhar']."', '".$where_field_value['datacriacao']."'"
. ", '".$where_field_value['descricaodoimovel']."', '".$where_field_value['informacaodoimovel']."', '".$where_field_value['video']."', '".$where_field_value['fotos']."'"
. ", '".$where_field_value['fotos_legenda']."', '".$where_field_value['nomedoempreendimento']."', '".$where_field_value['datalancamento']."', '".$where_field_value['previsaoentrega']."'"
. ", '".$where_field_value['empreendimentosdetalhes']."', '".$where_field_value['acompanhe']."', '".$where_field_value['empreendimentovalores']."', '".$where_field_value['unidade']."'"
. ", '".$where_field_value['icone']."', '".$where_field_value['valor_condominio']."', '".$where_field_value['valor_situacao']."', '".$where_field_value['valor_iptu']."', '".$where_field_value['valor_negociar']."', '".$where_field_value['taxas_altatemporada']."'"
. ", '".$where_field_value['ciclo_baixatemporada']."', '".$where_field_value['taxas_baixatemporada']."', '".$where_field_value['naodivulgar_baixaalta']."', '".$where_field_value['naodivulgar_valor']."', '".$where_field_value['ocultarmap']."', '".$where_field_value['exatomap']."'"
. ", '".$where_field_value['id_angariador']."', '".$where_field_value['unitmone']."', '".$where_field_value['comissao']."'"
. ")";
*/
$this->query( $sql_duplica_lang );
$sql_duplica_confirmar = $this->query( $sql_duplica );
/*$sql_get = "SELECT * FROM imoveis ORDER BY id_imovel DESC LIMIT 1";
$sql_duplica_get = $this->query( $sql_get );
$sql_up = "UPDATE imoveis SET valor = '900,00' WHERE id_imovel = '".$sql_duplica_get['id_imovel']."'";
$sql_up_fim = $this->query( $sql_up );
*/
//return $sql_duplica_confirmar->fetchAll();
/*$query = $this->db->query('SELECT * FROM `imoveis` ORDER BY id_imovel LIMIT 1');
if (!$query) {
return array();
}
return $query->fetchAll();*/
//return $sql_duplica_confirmar;
}
}