ok

Mini Shell

Direktori : /home/institutonamaste/www/admin/class/
Upload File :
Current File : /home/institutonamaste/www/admin/class/class-categoria.php

<?php
class Categoria
{		
	private $tb		= "categoria";	
	private $tbc	= "blog_categoria";	
	
	private $lp 	= "categorias";
	private $lc 	= '?url=cadastrar';
	private $la 	= '?url=alterar&id=';
	private $le 	= '?url=excluir&id=';	
	private $re 	= 'categorias?url=desvincular&id=';	
	
	private $pag 	= 'Categoria';
	private $upd 	= "?url=update&id=";
	
	public function __construct()
	{
		if($_GET['url'] == 'cadastrar'){
			$this->Cadastrar();
			
		}elseif($_GET['url'] == 'insert'){
			$this->Insert();
			
		}elseif($_GET['url'] == 'alterar'){
			$this->Alterar();
			
		}elseif($_GET['url'] == 'update'){
			$this->Update();		
		
		}elseif($_GET['url'] == 'excluir'){
			$this->Excluir();
		
		}elseif($_GET['url'] == 'desvincular'){
			$this->RemoveCat();	
			
		}else{
			$this->Selecionar();
		}
	}
	
	private function Form($action, $value, $button)
	{		
		echo'
		<div class="box">
			<form action="'.$action.'" method="post" enctype="multipart/form-data">
				<b>Categoria</b> [max 100]<br />
				<input name="categoria" type="text" placeholder="Nome da categoria" maxlength="100" value="'.$value['categoria'].'" required/>	

				<input type="submit" value="'.$button['value'].'"  />
				<input type="button" value=" VOLTAR " onClick="window.location.href=\''.$this->lp.'\'" />
			</form>
		</div>';
	}
	
	private function Selecionar()
	{
		$link	= array(array("#", "Sistema <i></i>"), array($this->lp, $this->pag." <i></i>"), array("#", "Listar"));		
		Bread($link, 'Listar Categorias', $this->lp);			
		
		$p 	 = (isset($_GET["p"])) ? $_GET["p"] : 1;
		$qnt = 20;
		$ini = ($p*$qnt) - $qnt;
			
		if(!empty($_GET['busca']))
		{
			$busca = DBEscape($_GET['busca']);
			$where = "WHERE categoria LIKE '%".$busca."%' ORDER BY categoria ASC";
			$limpa = ' - <a href="'.$this->lp.'""> limpar pesquisa </a>';
			$wherebusca = "WHERE categoria LIKE '%".$busca."%'";
		}else{
			$where = "ORDER BY categoria ASC LIMIT $ini, $qnt";	
			$wherebusca = ""; 
		}
		
		echo'
		<div class="box">
			<table width="100%" border="0" cellpadding="5" cellspacing="5">
				<tr>				  
				  <th title="Nome da categoria">			 	Categoria  '.$limpa.'</th>
				  <th width="50"  title="Editar informações">	ALT  </th>
				  <th width="50"  title="Excluir informações">	DEL </th>
				</tr>';
			  
				$sql = DBRead($this->tb, $where, "categoria, id");			
				while($row = mysqli_fetch_object($sql))
				{
					$bg	= ($bg == '') ? 'bgcolor="#ededed"' : '';					
					$la = $this->la.$row->id;
					$le	= $this->le.$row->id;
					
					echo'
					<tr '.$bg.' height="50">					  
					  <td>'.$row->categoria.'</td>
					  <td width="50"  align="center">'.BtEdit($this->la.$row->id).'</td>
					  <td width="50"  align="center">'.BtRem($this->le.$row->id).'</td>	
					</tr>';
				}
				
			echo'  
			</table>
		</div>';
			
		echo Paginacao($qnt, $p, $this->lp.'?', $wherebusca, $this->tb);
	}

	private function Cadastrar()
	{
		$action 	= '?url=insert';
		$value 		= array();
		$button 	= array("value" => " CADASTRAR ");
		
		$link	= array(array("#", "Sistema <i></i>"), array($this->lp, $this->pag." <i></i>"), array("#", "Cadastrar"));		
		Bread($link, 'Cadastrar nova Categoria', $this->lp);	
		
		$this->Form($action, $value, $button);
	}
	
	private function Insert()
	{
		$pt = $_POST;
		$lp = $this->lp;	
		$lc = $this->lc;			
		
		$pt['url'] = GerarLink($this->tb, $pt['categoria']);
		
		if($this->BuscaCat($pt['categoria']) == FALSE)
			$sql = DBInsert($this->tb, $pt);
		else	
			LinkAlert($lp, "Categoria já foi cadastrada no sistema.");
		
		($sql) ? LinkAlert($lp, "Cadastro efetuado com sucesso!") : LinkAlert($lc, "Ocorreu um erro durante o cadastro");
	}
	
	private function Alterar()
	{
		$id  	= FiltroInt($_GET['id']);
		$sql 	= DBRead($this->tb, "WHERE id = '$id'", "categoria");
		$row 	= mysqli_fetch_array($sql);		
		
		$action = $this->upd.$id;					  
		$button = array("value" => " ALTERAR ");
		
		$link	= array(array("#", "Sistema <i></i>"), array($this->lp, $this->pag." <i></i>"), array("#", "Alterar"));		
		Bread($link, 'Editar Categoria', $this->lp);	
		
		$this->Form($action, $row, $button);
	}
	
	private function Update()
	{
		$id = FiltroInt($_GET['id']);
		$pt = $_POST;		
		$la = $this->la.$id;		
		
		$pt['url']	 = GerarLink($this->tb, $pt['categoria'], $id);
		
		if($this->BuscaCat($pt['categoria'], $id) == FALSE)
			$update = DBUpDate($this->tb, $pt, "WHERE id = $id");
		else	
			LinkAlert($la, "Não foi possivel alterar a categoria, a categoria já foi cadastrada no sistema.");
		
		($update) ? LinkAlert($la, "Alteração efetuada com sucesso!") : LinkAlert($la, "Ocorreu um erro durante a alteração.");
	}
	
	private function Excluir()
	{
		$id = FiltroInt($_GET['id']);
		$lp = $this->lp;		
		
		$table	= TBP.$this->tb;
		$tablec	= TBP.$this->tbc;
		
		$delete	= DBExecute("DELETE FROM ".$table." WHERE id = '$id'");		
		DBExecute("DELETE FROM ".$tablec." WHERE id_categoria = '$id'");		
		
		($delete) ? LinkAlert($lp, "Informações excluidas com sucesso!") : LinkAlert($lp, "Ocorreu um erro ao excluir as informações.");
	}

	public function Categorias($id)
	{
		$id  = FiltroInt($id);	
			
		$tb  = TBP.$this->tb; 
		$tbc = TBP.$this->tbc;
		
		$sql = 
		DBExecute("
		SELECT 
			c.categoria categoria, b.id bid
		FROM 
			".$tbc." b				
		INNER JOIN ".$tb." c
			ON b.id_categoria = c.id
		WHERE
			b.id_blog = '$id'");
			
		while($row = mysqli_fetch_object($sql))
		{
			$lk = $this->re.$row->bid;
			$box .= $row->categoria.'<a href="'.$lk.'"><i class="fa fa-minus-circle" aria-hidden="true"></i></a>';
		}
		
		return $box;
	}
	
	private function BuscaCat($categoria, $id = null)
	{
		$idC   = ($id) ? " AND id <> '$id'" : "";
		$busca = DBRead($this->tb, "WHERE categoria = '".$categoria."'".$idC, "id");
		
		if(mysqli_num_rows($busca) > 0 && $id != null)
			$row = TRUE; 
		
		elseif(mysqli_num_rows($busca) > 0)		
			$row = mysqli_fetch_object($busca);						
			
		else				
			$row = FALSE;
		
		return $row;
	}
		
	private function BuscaBlogCat($cat, $blog)
	{		
		$busca = DBRead($this->tbc, "WHERE id_categoria = '".$cat."' AND id_blog = '".$blog."'");
		
		if(mysqli_num_rows($busca) > 0)
			$row = TRUE; 		
		else				
			$row = FALSE;
		
		return $row;
	}	
	
	public function InsertCat($cat, $id_blog)
	{				
		$categorias = explode(',', $cat);
		
		foreach($categorias as $categoria)
		{	
			if(!empty($categoria))
			{
				$sql = DBRead($this->tb, "WHERE categoria = '".$categoria."'", "id");	
				$row = mysqli_fetch_object($sql);			
				
				if(mysqli_num_rows($sql) > 0)
				{				
					$pt  = array("id_categoria" => $row->id, "id_blog" => $id_blog);
					
					if(!$this->BuscaBlogCat($row->id, $id_blog))
						DBInsert($this->tbc, $pt);
				}else{		
					$url = GerarLink($this->tb, $categoria);
					$pt  = array("categoria" => $categoria, "url" => $url);	
					
					$id  = DBInsert($this->tb, $pt, TRUE);

					$pc  = array("id_categoria" => $id, "id_blog" => $id_blog);
					DBInsert($this->tbc, $pc);				
				}
			}
		}
	}
	
	public function RemoveCat()
	{
		$id = FiltroInt($_GET['id']);		
		
		$table	= TBP.$this->tbc;
		$delete	= DBExecute("DELETE FROM ".$table." WHERE id = '$id'");		
		
		($delete) ? LinkAlert('', "Categoria removida do artigo!") : LinkAlert('', "Ocorreu um erro ao tentar remover a categoria.");
	}
	
	public function RemoveBlogCat()
	{
		$id = FiltroInt($_GET['id']);		
		
		$table	= TBP.$this->tbc;
		$delete	= DBExecute("DELETE FROM ".$table." WHERE id_blog = '$id'");		
	}
}
?>

Zerion Mini Shell 1.0