403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/meusitei/public_html/painel/classes/class-MainController.php
<?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

Youez - 2016 - github.com/yon3zu
LinuXploit