%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home1/dimen328/libertysa.com.br/admin/modules/noticias/
Upload File :
Create Path :
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');
		}
		
	}
	
}
?>

Zerion Mini Shell 1.0