%PDF- %PDF-
Direktori : /home1/dimen328/libertysa.com.br/admin/modules/noticias/ |
Current File : //home1/dimen328/libertysa.com.br/admin/modules/noticias/DAO.php |
<?php session_start(); include_once("../../configuration/config.inc.php"); class DAO { private $pdo; private $idioma; public function __construct(){ switch ($_SESSION['idioma']){ case 'en': $this->idioma = "eng_"; break; case 'pt': $this->idioma = ""; break; default: break; } $this->pdo = $GLOBALS['pdo']; } public function inserir($id_categoria, $titulo, $resumo, $datainicio, $horainicio, $datatermino, $horatermino, $imagem, $conteudo, $id_local, $visibilidade, $destaque, $status, $urgente, $subcategoria, $link, $fonte, $tags, $email_noticia){ $retorno = array(); $sqlLastID = "SELECT MAX(ordem) as ordem FROM ".$this->idioma."cms_noticias WHERE id_categoria = :idcat;"; $varLastID = array(":idcat"=>$id_categoria); $stmtLastID = $this->pdo->prepare($sqlLastID); foreach($varLastID as $index=>$value){ $stmtLastID->bindValue($index,$value); } $stmtLastID->execute(); $rows = $stmtLastID->fetchAll(PDO::FETCH_OBJ); $maximo = $rows[0]->ordem; if(!isset($maximo)){ $maximo = 1; }else{ $maximo += 1; } $conteudoFormatado = str_replace('\\', '', $conteudo); $sql = "INSERT INTO ".$this->idioma."cms_noticias (id_usuario, id_categoria, titulo, resumo, datainicio, horainicio, datatermino, horatermino, imagem, conteudo, id_local, visibilidade, destaque, status, urgente, ordem, subcategoria, link, fonte, tags, ultimaatualizacao, email_noticia) values (:id_usuario, :id_categoria, :titulo, :resumo, :datainicio, :horainicio, :datatermino, :horatermino, :imagem, :conteudo, :id_local, :visibilidade, :destaque, :status, :urgente, :ordem, :subcategoria, :link, :fonte, :tags, :ultimaatualizacao, :email_noticia);"; $data_e = explode("/",$datainicio); $dataF = implode("-",array_reverse($data_e)); $vars = array(":id_usuario"=>$_SESSION['user_id'],":id_categoria"=>$id_categoria,":titulo"=>$titulo,":resumo"=>$resumo,":datainicio"=>$dataF,":horainicio"=>$horainicio,":datatermino"=>$datatermino,":horatermino"=>$horatermino,":imagem"=>$imagem,":conteudo"=>($conteudoFormatado),":id_local"=>$id_local, ":visibilidade"=>$visibilidade, ":destaque"=>$destaque, ":status"=>$status,":urgente"=>$urgente,":ordem"=>$maximo, ":subcategoria"=>$subcategoria, ":link"=>$link, ":fonte"=>$fonte, ":tags" => $tags, ':ultimaatualizacao' => date('Y-m-d'), ':email_noticia' => $email_noticia); $stmt = $this->pdo->prepare($sql); foreach($vars as $index=>$value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $retorno["id"] = $this->pdo->lastInsertId(); $retorno["msg"] = "1"; return $retorno; } else { return array("msg" => '0'); } } public function listar($filtro, $idtipopagina){ $retorno = array(); $sql = "SELECT * FROM ".$this->idioma."cms_noticias WHERE (titulo LIKE :titulo)AND status <> :status AND id_categoria = :idtipopagina order by ordem,datainicio asc;"; $vars = array (":titulo"=>"%{$filtro}%",":status"=>3,":idtipopagina"=>$idtipopagina); $stmt = $this->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function listarSite($filtro, $idtipopagina, $pagina = 1, $limit = 10) { $pagina = ($pagina - 1) * $limit; $retorno = array(); $sql = "SELECT * FROM cms_noticias WHERE (titulo LIKE :titulo) AND status = :status AND id_categoria = :idtipopagina order by datahoraemissao desc limit $pagina, $limit;"; $vars = array (":titulo"=>"%{$filtro}%",":status"=>1,":idtipopagina"=>$idtipopagina); $stmt = $this->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function listarSiteCategoria($filtro, $idtipopagina, $categoria, $pagina = 1, $limit = 10) { $pagina = ($pagina - 1) * $limit; $retorno = array(); $sql = "SELECT * FROM cms_noticias WHERE (titulo LIKE :titulo) AND status = :status AND id_categoria = :idtipopagina AND subcategoria = :categoria order by datahoraemissao desc limit $pagina, $limit;"; $vars = array (":titulo"=>"%{$filtro}%",":categoria"=>$categoria,":status"=>1,":idtipopagina"=>$idtipopagina); $stmt = $this->pdo->prepare($sql); if($stmt->execute($vars)){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function obterQtd($filtro, $idtipopagina) { // $pagina = ($pagina - 1) * $limit; $retorno = array(); $sql = "SELECT COUNT(id) as qtd FROM cms_noticias WHERE (titulo LIKE :titulo) AND status = :status AND id_categoria = :idtipopagina order by ordem, datahoraemissao asc;"; $vars = array (":titulo"=>"%{$filtro}%",":status"=>1,":idtipopagina"=>$idtipopagina); $stmt = $this->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function obterQtdCateg($filtro, $idtipopagina, $categoria) { $pagina = ($pagina - 1) * $limit; $retorno = array(); $sql = "SELECT COUNT(id) as qtd FROM cms_noticias WHERE (titulo LIKE :titulo) AND status = :status AND id_categoria = :idtipopagina AND subcategoria = :categoria order by ordem, datahoraemissao asc;"; $vars = array (":titulo"=>"%{$filtro}%",":categoria"=>$categoria,":status"=>1,":idtipopagina"=>$idtipopagina); $stmt = $this->pdo->prepare($sql); if($stmt->execute($vars)){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function preencher ($id){ $return = array(); $sql = "SELECT * FROM ".$this->idioma."cms_noticias WHERE id = :id;"; $vars = array (":id"=>$id); $stmt = $this ->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $rows = $stmt->fetch(PDO::FETCH_OBJ); $rows->msg = '1'; foreach($rows as $index => $value){ $rows->$index = utf8_encode($value); } return $rows; } else { return array("msg" => '0'); } } public function atualizar($id, $id_categoria, $titulo, $resumo, $datainicio, $horainicio, $datatermino, $horatermino, $imagem, $conteudo, $id_local, $visibilidade, $destaque, $status, $subcategoria, $link, $fonte, $tags, $email_noticia){ $return = array(); $conteudoFormatado = str_replace('\\', '', $conteudo); // echo ($conteudoFormatado); $sql = "UPDATE ".$this->idioma."cms_noticias SET id_categoria = :id_categoria, titulo = :titulo, resumo = :resumo, datainicio = :datainicio, horainicio = :horainicio, datatermino = :datatermino, horatermino = :horatermino, imagem = :imagem, conteudo = :conteudo, id_local = :id_local, visibilidade = :visibilidade, destaque = :destaque, status = :status, subcategoria = :subcategoria, link = :link, fonte = :fonte, tags = :tags, ultimaatualizacao = :ultimaatualizacao, email_noticia = :email_noticia WHERE id = :id;"; $data_e = explode("/",$datainicio); $dataF = implode("-",array_reverse($data_e)); $vars = array(":id"=>$id,":id_categoria"=>$id_categoria,":titulo"=>$titulo,":resumo"=>$resumo,":datainicio"=>$dataF,":horainicio"=>$horainicio,":datatermino"=>$datatermino,":horatermino"=>$horatermino,":imagem"=>$imagem,":conteudo"=>($conteudoFormatado),":id_local"=>$id_local, ":visibilidade"=>$visibilidade,":destaque"=>$destaque, ":status"=>$status, ":subcategoria"=>$subcategoria, ":link"=>$link, ":fonte"=>$fonte, ":tags"=>$tags, ":ultimaatualizacao" => date("Y-m-d"), ':email_noticia' => $email_noticia); $stmt = $this->pdo->prepare($sql); foreach($vars as $index =>$value){ $stmt->bindValue($index,$value); } $stmt->execute(); if($stmt->rowCount()){ return array("msg"=>'1'); }else{ return array("msg"=>'0'); } } public function excluir($id){ $retorno = array(); $sql = "UPDATE ".$this->idioma."cms_noticias SET status = :status WHERE id = :id;"; $vars = array(":id"=>$id,":status"=>'3'); $stmt = $this->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } $stmt->execute(); if($stmt->rowCount()){ return array ("msg"=>'1'); }else{ return array ("msg"=>'0'); } } public function ultimosavisos(){ $retorno = array(); $sql = "SELECT * FROM ".$this->idioma."cms_noticias WHERE status = :status ORDER BY datainicio DESC LIMIT 15;"; $vars = array (":status"=>1); $stmt = $this->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function listanoticias($id_categoria){ $retorno = array(); $sql = "SELECT * FROM ".$this->idioma."cms_noticias WHERE status = :status AND id_categoria = :id_categoria ORDER BY datahoraemissao DESC;"; $vars = array (":status"=>1,":id_categoria"=>$id_categoria); $stmt = $this->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function listaquadroprincipal(){ $retorno = array(); $sql = "SELECT DISTINCT(`id_categoria`) FROM ".$this->idioma."cms_noticias WHERE status = :status;"; $vars = array (":status"=>1); $stmt = $this->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } public function atualizaOrdenazacao($ordem){ $retorno = array(); $formata_ordem= str_replace("reg[]=","",$ordem); $array_ordem = explode("&", $formata_ordem); $contador = count($array_ordem); for ($i = 0;$i < $contador;$i++){ $sql = "UPDATE ".$this->idioma."cms_noticias SET ordem = :ordem WHERE id = :id;"; $vars = array (":id"=>$array_ordem[$i],":ordem"=>$i); $stmt =$this->pdo->prepare($sql); foreach($vars as $index =>$value){ $stmt->bindValue($index,$value); } $stmt->execute(); } if($stmt->rowCount()){ return array("msg"=>'1'); }else{ return array("msg"=>'0'); } } public function gravaGaleria($id,$idgaleria){ $retorno = array(); $sql = "UPDATE ".$this->idioma."cms_noticias SET id_galeria = :id_galeria WHERE id = :id;"; $vars = array(":id"=>$id,":id_galeria"=>$idgaleria); $stmt = $this->pdo->prepare($sql); foreach($vars as $index =>$value){ $stmt->bindValue($index,$value); } $stmt->execute(); if($stmt->rowCount()){ return array("msg"=>'1'); }else{ return array("msg"=>'0'); } } public function exibeGaleria($id){ $retorno = array(); $sql= "SELECT id_galeria FROM ".$this->idioma."cms_noticias WHERE id = :id AND id_galeria IS NOT NULL"; $vars = array (":id"=>$id); $stmt = $this ->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } $stmt->execute(); if($stmt->rowCount()){ $rows = $stmt->fetch(PDO::FETCH_OBJ); $rows->msg = '1'; foreach($rows as $index => $value){ $rows->$index = utf8_encode($value); } return $rows; } else { return array("msg" => '0'); } } public function dicas($id){ $retorno = array(); $sql= 'SELECT csn.descricao AS subcategoria, cn.titulo, cn.conteudo, cn.`imagem`,cn.id FROM '.$this->idioma.'cms_noticias AS cn INNER JOIN '.$this->idioma.'cms_subcategoria_noticias AS csn ON csn.`id` = cn.`subcategoria` WHERE cn.`id_categoria`= 6 AND cn.`status` = 1 AND csn.`status` = 1 AND cn.id = :id ORDER BY cn.`ordem` '; $vars = array (":id"=>$id); $stmt = $this ->pdo->prepare($sql); foreach($vars as $index => $value){ $stmt->bindValue($index,$value); } if($stmt->execute()){ $count = $stmt->rowCount(); $rows = $stmt->fetchAll(PDO::FETCH_OBJ); $rows['msg'] = '1'; $rows['length'] = $count; $i = 0; while($i < $count){ foreach($rows[$i] as $index => $value){ $rows[$i]->$index = utf8_encode($value); } $i++; } return $rows; } else { return array("msg" => '0'); } } } ?>