/**
  * Método load
  * Recupera um conjunto de objetos (collection) da base de dados através de um critério de seleção
  * 
  * @access public
  * @param  $criteria   Critério de Seleção
  * @throws Exception   Não há transação ativa
  * @return Resultados da Busca
  */
 function load(TCriteria $criteria = NULL)
 {
     $sql = new TSqlSelect();
     //Colunas
     if (count($this->columns) == 1) {
         $sql->addColumn($this->columns[0]);
     } else {
         foreach ($this->columns as $coluna) {
             $sql->addColumn($coluna);
         }
     }
     //Entidade
     if (count($this->entity) == 1) {
         $sql->addEntity($this->entity[0]);
     } else {
         foreach ($this->entity as $entidade) {
             $sql->addEntity($entidade);
         }
     }
     //Criteria
     if (!isset($criteria)) {
         $criteria = new TCriteria();
     }
     if (count($this->entity) > 1) {
         foreach ($this->entity as $entity) {
             $entity = explode(' ', $entity);
             $criteria->addFilter($entity[1] . '.excluido', '=', 0);
         }
     } else {
         $criteria->addFilter('excluido', '=', 0);
     }
     $sql->setCriteria($criteria);
     //echo $sql->getInstruction();
     //RECUPERA CONEXAO BANCO DE DADOS
     TTransaction::open('my_bd_site');
     if ($conn = TTransaction::get()) {
         $result = $conn->query($sql->getInstruction());
         $results = array();
         if ($result) {
             while ($row = $result->fetchObject(get_class($this))) {
                 $results[] = $row;
             }
         }
         TTransaction::close();
         return $results;
     } else {
         throw new Exception('Não há transação ativa!');
     }
 }
 /**
  *  Método getGaleriaImovel
  *  Obtém a galeria de fotos do imóvel de acordo com o código do imóvel
  *
  *  @access public
  *  @param  int         $codigo     Código do Imóvel
  *  @return TRepository             Coleção de imagens do Imóvel
  */
 public function getGaleriaImovel($codigo)
 {
     $this->collectionGaleria = NULL;
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('ativo', '=', 1);
     $criteria->addFilter('codigoImovel', '=', $codigo);
     $criteria->setProperty('order', 'ordem');
     $this->repository->addColumn('imagem');
     $this->repository->addColumn('titulo');
     $this->repository->addColumn('descricao');
     $this->repository->addEntity('galeria');
     $this->collectionGaleria = $this->repository->load($criteria);
     return $this->collectionGaleria;
 }
Пример #3
0
 public function getEmails()
 {
     $this->collectionEmails = NULL;
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('ativo', '=', 1);
     $criteria->setProperty('order', 'email');
     $this->repository->addColumn('email');
     $this->repository->addEntity('emails');
     $this->collectionEmails = $this->repository->load($criteria);
     return $this->collectionEmails;
 }
 /**
  * Método getImoveis
  * Retorna os Imóveis
  * 
  * @access  public
  * @return  TRepository Coleção de Imóveis
  */
 public function getImoveis()
 {
     $this->collectionImoveis = NULL;
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('ativo', '=', 1);
     $criteria->setProperty('order', 'endereco');
     $this->repository->addColumn('*');
     $this->repository->addEntity('imoveis');
     $this->collectionImoveis = $this->repository->load($criteria);
     return $this->collectionImoveis;
 }
 public function getTelefones()
 {
     $this->collectionTelefones = NULL;
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('ativo', '=', 1);
     $criteria->setProperty('order', 'codigo');
     $this->repository->addColumn('telefone');
     $this->repository->addEntity('telefones');
     $this->collectionTelefones = $this->repository->load($criteria);
     return $this->collectionTelefones;
 }
 /**
  * Método getLocalizacoes
  * Retorna as localizações
  * 
  * @access  public
  * @return  TRepository Coleção de Localizações
  */
 public function getCategorias()
 {
     $this->collectionCategoria = NULL;
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('ativo', '=', 1);
     $criteria->setProperty('order', 'categoria');
     $this->repository->addColumn('codigo');
     $this->repository->addColumn('categoria');
     $this->repository->addEntity('categoriaimoveis');
     $this->collectionCategoria = $this->repository->load($criteria);
     return $this->collectionCategoria;
 }
 /**
  * Método Construtor
  *
  * @access private
  * @return void
  */
 public function __construct()
 {
     $this->collection = new TList();
     $this->collection->setTituloPagina('Imóveis');
     $this->collection->addColumn('i.codigo');
     $this->collection->addColumn('c.categoria');
     $this->collection->addColumn('i.endereco');
     $this->collection->addColumn('i.numero');
     $this->collection->addColumn('i.bairro');
     $this->collection->addColumn('i.cidade');
     $this->collection->addColumn('i.preco');
     $this->collection->addColumn('s.situacao');
     $this->collection->addColumn('i.ativo');
     $this->collection->addEntity('imoveis i');
     $this->collection->addEntity('categoriaImoveis c');
     $this->collection->addEntity('situacaoImoveis s');
     $criteria = new TCriteria();
     $criteria->addFilter('c.codigo', '=', 'i.categoria');
     $criteria->addFilter('s.codigo', '=', 'i.situacao');
     $this->collection->setCriteria($criteria);
     $this->listagem = $this->collection->show();
 }
 /**
  * Método getLocalizacoes
  * Retorna as localizações
  * 
  * @access  public
  * @return  TRepository Coleção de Localizações
  */
 public function getSituacoes()
 {
     $this->collectionSituacao = NULL;
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('ativo', '=', 1);
     $criteria->setProperty('order', 'situacao');
     $this->repository->addColumn('codigo');
     $this->repository->addColumn('situacao');
     $this->repository->addEntity('situacaoimoveis');
     $this->collectionSituacao = $this->repository->load($criteria);
     return $this->collectionSituacao;
 }
 /**
  * Método Construtor
  *
  * @access private
  * @return void
  */
 public function __construct()
 {
     $this->collection = new TList();
     $this->collection->setTituloPagina('Subcategoria Produtos');
     $this->collection->addColumn('s.codigo');
     $this->collection->addColumn('c.categoria');
     $this->collection->addColumn('s.subcategoria');
     $this->collection->addColumn('s.ativo');
     $this->collection->addEntity('subcategoriaprodutos s');
     $this->collection->addEntity('categoriaprodutos c');
     $criteria = new TCriteria();
     $criteria->addFilter('s.categoria', '=', 'c.codigo');
     $this->collection->setCriteria($criteria);
     $this->listagem = $this->collection->show();
 }
 /**
  * Método getCollectionGalerias
  * Obtém coleção de Galerias
  * 
  * @access public
  * @return tbGaleria Listagem de Galeria
  */
 public function getCollectionGalerias()
 {
     $this->repository = new TRepository();
     $this->collectionGaleria = NULL;
     $this->repository->addEntity('galeria g');
     $this->repository->addEntity('galeriaimagens i');
     $this->repository->addColumn('g.codigo');
     $this->repository->addColumn('g.titulo');
     $this->repository->addColumn('g.descricao');
     $this->repository->addColumn('i.imagem');
     $criteria = new TCriteria();
     $criteria->addFilter('g.ativo', '=', 1);
     $criteria->addFilter('i.ativo', '=', 1);
     $criteria->addFilter('g.codigo', '=', 'i.codigoGaleria');
     $criteria->setProperty('group', 'g.codigo');
     $criteria->setProperty('order', 'g.titulo');
     $this->categoriasProduto = $this->repository->load($criteria);
     return $this->categoriasProduto;
 }
 /**
  * Método getUserByEmail
  * Obtem o usuario de acordo com o E-mail
  * 
  * @access public
  * @param  $email      E-mail do usuario a ser buscado
  * @return tbUsuario   Usuario
  */
 public function getUserByEmail($email)
 {
     $this->collectionUsuario = NULL;
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('email', '=', $email);
     //$criteria->setProperty('order', 'nome');
     $this->repository = new TRepository();
     $this->repository->addColumn('*');
     $this->repository->addEntity('usuarios');
     $this->collectionUsuario = $this->repository->load($criteria);
     return $this->collectionUsuario[0];
 }
 /**
  * Método getImagens
  * Obtém a coleçao de imagens de acordo com o codigo da pagina
  * 
  * @access public
  * @param   $codigo     Codigo a ser buscado
  * @return  TRepository Coleçao de imagens da pagina
  */
 public function getImagens($codigo)
 {
     $this->collectionImagens = NULL;
     $this->repository->addColumn('imagem');
     $this->repository->addColumn('titulo');
     $this->repository->addColumn('descricao');
     $this->repository->addEntity('galeriaimagens');
     $criteria = new TCriteria();
     $criteria->addFilter('codigoPagina', '=', $codigo);
     $criteria->setProperty('order', 'ordem');
     $this->collectionImagens = $this->repository->load($criteria);
     return $this->collectionImagens;
 }
Пример #13
0
 if ($tabela == 'imoveis') {
     $listagem->setTituloPagina('Imóveis');
     $listagem->addColumn('i.codigo');
     $listagem->addColumn('c.categoria');
     $listagem->addColumn('i.endereco');
     $listagem->addColumn('i.numero');
     $listagem->addColumn('i.bairro');
     $listagem->addColumn('i.cidade');
     $listagem->addColumn('i.preco');
     $listagem->addColumn('s.situacao');
     $listagem->addColumn('i.ativo');
     $listagem->addEntity('imoveis i');
     $listagem->addEntity('categoriaImoveis c');
     $listagem->addEntity('situacaoImoveis s');
     $criteria = new TCriteria();
     $criteria->addFilter('c.codigo', '=', 'i.categoria');
     $criteria->addFilter('s.codigo', '=', 'i.situacao');
     $listagem->setCriteria($criteria);
 } else {
     if ($tabela == 'portifolio') {
         $listagem->setTituloPagina('Portifólio');
         $listagem->addColumn('codigo');
         $listagem->addColumn('imagem');
         $listagem->addColumn('titulo');
         $listagem->addColumn('url');
         $listagem->addColumn('ativo');
         $listagem->addEntity($tabela);
     } else {
         if ($tabela == 'depoimentos') {
             $listagem->setTituloPagina('Depoimentos');
             $listagem->addColumn('codigo');
 /**
  * M?odo getSituacoes
  * Obtem a lista de todas as situacoes de im?eis da cidade e estado
  * 
  * @access  public
  * @param   $cidade     Cidade Selecionada
  * @param   $estado     Estado Selecionado
  * @return  TRepository Cole?o de Im?eis
  */
 public function getSituacoes($cidade, $estado)
 {
     $this->collectionImoveis = NULL;
     $this->repository = new TRepository();
     //TABELA exposition_gallery
     $criteria = new TCriteria();
     $criteria->addFilter('i.situacao', '=', 's.codigo');
     $criteria->addFilter('i.ativo', '=', 1);
     $criteria->addFilter('i.cidade', '=', $cidade);
     $criteria->addFilter('i.estado', '=', $estado);
     $criteria->setProperty('order', 's.situacao');
     $this->repository->addColumn('DISTINCT s.situacao');
     $this->repository->addEntity('imoveis i');
     $this->repository->addEntity('situacaoImoveis s');
     $this->collectionImoveis = $this->repository->load($criteria);
     return $this->collectionImoveis;
 }
 /**
  * Método getSubCategorias
  * Obtém listagem de subcategorias ativas
  *
  * @access public
  * @return tbSubCategoriasProdutos  Listagem de Categorias
  */
 public function getSubCategorias($categoria)
 {
     $this->repository = new TRepository();
     $this->categoriasProduto = NULL;
     $this->repository->addEntity('subcategoriaprodutos');
     $this->repository->addColumn('codigo');
     $this->repository->addColumn('subcategoria');
     $criteria = new TCriteria();
     $criteria->addFilter('ativo', '=', 1);
     $criteria->addFilter('categoria', '=', $categoria);
     $criteria->setProperty('order', 'subcategoria');
     $this->categoriasProduto = $this->repository->load($criteria);
     return $this->categoriasProduto;
 }
Пример #16
0
 /**
  * Método deleteFisico
  * Exclui um objeto da base de dados através de um Código
  * 
  * @since  1.3
  * @access public
  * @param  $codigo     Código do objeto
  * @throws Exception   Não há transação ativa
  * @return boolean     Resultado da operação de delete
  */
 public function deleteFisico($codigo = NULL)
 {
     $codigo = $codigo ? $codigo : $this->codigo;
     // cria instrução SQL
     $sql = new TSqlDeleteFisico();
     $sql->addEntity($this->getEntity());
     $criteria = new TCriteria();
     $criteria->addFilter('codigo', '=', $codigo);
     $sql->setCriteria($criteria);
     //RECUPERA CONEXAO BANCO DE DADOS
     TTransaction::open('my_bd_site');
     if ($conn = TTransaction::get()) {
         $result = $conn->exec($sql->getInstruction());
         TTransaction::close();
         return $result;
     } else {
         throw new Exception('Não há transação ativa');
     }
 }
 /**
  * Método Construtor
  *
  * @access private
  * @return void
  */
 public function __construct()
 {
     $this->controlador = new controladorImoveis();
     //Descrição
     if (isset($_GET['desc'])) {
         $descricao = $_GET['desc'];
         $descricao = urldecode($descricao);
         if (substr_count($descricao, '_') == 4) {
             $descricao = explode('_', $descricao);
             //Cidade
             if (isset($descricao[0])) {
                 $this->cidade = $descricao[0];
                 $this->cidade = str_replace('-', ' ', $this->cidade);
             }
             //Estado
             if (isset($descricao[1])) {
                 $this->estado = $descricao[1];
                 $this->estado = str_replace('-', ' ', $this->estado);
             }
             //Bairro
             if (isset($descricao[2])) {
                 $this->bairro = $descricao[2];
                 $this->bairro = str_replace('-', ' ', $this->bairro);
             }
             //Categoria
             if (isset($descricao[3])) {
                 $this->categoria = $descricao[3];
                 $this->categoria = str_replace('-', ' ', $this->categoria);
             }
             //Situação
             if (isset($descricao[4])) {
                 $this->situacao = $descricao[4];
                 $this->situacao = str_replace('-', ' ', $this->situacao);
             }
             $this->collectionBairros = $this->controlador->getBairros($this->cidade, $this->estado);
             $this->collectionCategoria = $this->controlador->getCategorias($this->cidade, $this->estado);
             $this->collectionSituacao = $this->controlador->getSituacoes($this->cidade, $this->estado);
         }
     }
     //====================INICIO PAGINAÇÃO====================
     //Pagina
     if (isset($_GET['pag'])) {
         $this->paginaAtual = $_GET['pag'];
     } else {
         $this->paginaAtual = 1;
     }
     //Inicio Limite de busca
     if ($this->paginaAtual == 1) {
         $this->inicio = 0;
     } else {
         $this->inicio = ($this->paginaAtual - 1) * 12;
     }
     //Descrição da URL
     $descricaoURL = '';
     if (isset($_GET['desc'])) {
         $descricaoURL = $_GET['desc'];
     } else {
         $descricaoURL = (new controladorUrl())->urlAmigavel('Lista de Imóveis');
     }
     //Critério de Seleção
     $criteria = new TCriteria();
     $criteria->addFilter('c.codigo', '=', 'i.categoria');
     $criteria->addFilter('s.codigo', '=', 'i.situacao');
     $criteria->addFilter('i.ativo', '=', 1);
     if (isset($this->cidade) && $this->cidade != '') {
         $criteria->addFilter('i.cidade', 'LIKE', '%' . $this->cidade . '%');
     }
     if (isset($this->estado) && $this->estado != '') {
         $criteria->addFilter('i.estado', 'LIKE', '%' . $this->estado . '%');
     }
     if (isset($this->bairro) && $this->bairro != '') {
         $criteria->addFilter('i.bairro', 'LIKE', '%' . $this->bairro . '%');
     }
     if (isset($this->categoria) && $this->categoria != '') {
         $criteria->addFilter('c.categoria', 'LIKE', '%' . $this->categoria . '%');
     }
     if (isset($this->situacao) && $this->situacao != '') {
         $criteria->addFilter('s.situacao', 'LIKE', '%' . $this->situacao . '%');
     }
     //Fim Critério de Seleção
     $this->paginacao = new controladorPaginacao($this->paginaAtual, 12, 3, 'controladorImoveis', 'getTotalImoveis', $criteria, "/imoveis/{$descricaoURL}/0");
     //=================FIM PAGINAÇÃO===================================
     $this->collectionCidades = $this->controlador->getCidades();
     $this->collectionImoveis = $this->controlador->getImoveis($this->cidade, $this->estado, $this->bairro, $this->categoria, $this->situacao, $this->inicio, $this->limite);
 }