ok

Mini Shell

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

<?php
class Blog extends Categoria
{
	private $url	= URL;
	private $urlArt = '';

	private $lp 	= 'blog';
	private $lc 	= '?url=cadastrar';
	private $la 	= '?url=alterar&id=';
	private $le 	= '?url=excluir&id=';
	private $upd 	= "?url=update&id=";
	private $del 	= '?url=img&id=';
	private $autor  = "Instituto Namastê";	
	private $page 	= 'Blog';
	
	private $li 		= BLOG;
	private $tb 		= "blog";
	private $tbi 		= "blog_idioma";	

	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'] == 'img'){
			ImageRemove($_GET['id'], 'img', $this->tb, $this->li);
		
		}elseif($_GET['url'] == 'excluir'){
			$this->Excluir();
			
		}elseif($_GET['url'] == 'navs'){
			
			
		}else{
			$this->Selecionar();
		}
	}
	
	private function NavsForms()
	{
		$img 		= (!empty($value['img'])) ? '<div class="img-atual"><b>Imagem atual</b><br>'.IcoImg($value['img'], $this->li, $this->del.$_GET['id']).'</div>' : '';
		$categorias = (!empty($_GET['id'])) ? $this->Categorias($_GET['id']) : '';
		$idioma 	= $value['idioma'];
		
		$form = '
		<div class="box">
			<form action="'.$action.'" method="post" enctype="multipart/form-data">
		
				<ul class="nav nav-tabs" id="myTab" role="tablist">';
					for($i=1; $i<6; $i++)
					{
						$form  .= '
						<li class="nav-item">
							<a class="nav-link '.(($i == $idioma) ? 'active' : '').'" id="flags'.$i.'" data-toggle="tab" href="#flag'.$i.'" role="tab" aria-controls="flag'.$i.'" aria-selected="true">'.FlagIdioma($i, TRUE).'</a>
						</li>';
					}
				$form .= ' 
				</ul>';
		
		
		$form .= '
		
		<div class="tab-content" id="myTabContent">
		  <div class="tab-pane fade show active" 	id="flag1" role="tabpanel" aria-labelledby="flags1">flag1</div>
		  <div class="tab-pane fade" 				id="flag2" role="tabpanel" aria-labelledby="flags2">flag2</div>
		  <div class="tab-pane fade" 				id="flag3" role="tabpanel" aria-labelledby="flags3">flag3</div>
		  <div class="tab-pane fade" 				id="flag4" role="tabpanel" aria-labelledby="flags4">flag4</div>
		  <div class="tab-pane fade" 				id="flag5" role="tabpanel" aria-labelledby="flags5">flag5</div>
		</div>';
		
		echo $form;
	}
	
	private function Form($action, $value, $button)
	{
		$img 		= (!empty($value['img'])) ? '<div class="img-atual"><b>Imagem atual</b><br>'.IcoImg($value['img'], $this->li, $this->del.$_GET['id']).'</div>' : '';
		$categorias = (!empty($_GET['id'])) ? $this->Categorias($_GET['id']) : '';
		$idioma 	= $value['idioma'];
		
		$form = '
		<div class="box">
			<form action="'.$action.'" method="post" enctype="multipart/form-data">
				'.FlagIdioma($value['idioma'], TRUE).'
				<input name="idioma" type="hidden" value="'.$value['idioma'].'"/>
				<input name="master" type="hidden" value="'.$value['master'].'"/>
				<br /><br />
				
				<b>Título</b><br />
				<input name="titulo" type="text" placeholder="Título do artigo" maxlength="240" value="'.$value['titulo'].'" required/>									
				
				<b>Data</b><br />
				<input name="data" type="text" value="'.$value['data'].'" maxlength="10" id="calendario" required/>				

				<div class="row gray clearfix">
					<div class="col-6">
						<b>Banner de destaque da notícia</b> [800 x 580]<br />
						<input type="file" name="img" />
					</div>
						
					<div class="col-6">
						'.$img.'
					</div>
				</div><!-- grey -->
					
				<b>Vídeo</b><br />
				<input name="video" type="text" placeholder="Link de Vídeo do Youtube" maxlength="200" value="'.$value['video'].'" />				

				<div class="row gray clearfix">
					<div class="col-12">
						<b>Categorias</b>[ Caso contenha mais de uma opção, adicione as categorias separadas por virgula ]<br />
						<input name="categoria" type="text" placeholder="Categorias" />	
					</div>
						
					<div class="col-12 categorias">
						'.$categorias.'
					</div>
				</div><!-- grey -->	

				<b>Artigo</b><br />
				<textarea name="texto" cols="50" rows="10" id="editor1" class="ckeditor">'.$value['texto'].'</textarea>						
				<br /><br />
				
				<b>Autor</b><br />
				<input name="autor" type="text" placeholder="Autor do artigo" maxlength="240" value="'.$value['autor'].'"/>				
				
				<b>Tags - Palavras Chave</b><br />
				<textarea name="meta_keywords" placeholder="Palavras separadas por virgula" cols="50" rows="2" maxlength="250">'.$value['meta_keywords'].'</textarea>				

				<b>Tags - Descrição</b><br />
				<textarea name="meta_description" placeholder="Tags de Descrição" cols="50" rows="2" maxlength="250">'.$value['meta_description'].'</textarea>				

				<input  id="diurna"  class="toggle toggle-left" name="tipo_pilula" value="d" type="radio" '.(($value['tipo_pilula'] == "d") ? 'checked' : '').'>
				<label for="diurna"  class="btn">Diurna</label>
				<input  id="noturna" class="toggle toggle-right" name="tipo_pilula" value="n" type="radio" '.(($value['tipo_pilula'] == "n") ? 'checked' : '').'>
				<label for="noturna" class="btn">Noturna</label><br/>	

				<input  id="toggle-on"  class="toggle toggle-left" name="status" value="1" type="radio" '.(($value['status'] == 1) ? 'checked' : '').'>
				<label for="toggle-on"  class="btn">Publicar</label>
				<input  id="toggle-off" class="toggle toggle-right" name="status" value="0" type="radio" '.(($value['status'] == 0) ? 'checked' : '').'>
				<label for="toggle-off" class="btn">Oculta</label><br/>						
				
				<input type="submit" value="'.$button['value'].'"  />
				<input type="button" value=" VOLTAR " onClick="window.location.href=\''.$this->lp.'\'" />
			</form>
		</div>';
		
		echo $form;
	}
	
	private function Selecionar()
	{
		$link	= array(array("#", "Sistema <i></i>"), array($this->lp, $this->page." <i></i>"), array("#", "Listar"));		
		Bread($link, 'Listar Artigos', $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 titulo LIKE '%".$busca."%' ORDER BY data+0 DESC";
			$link  = 'busca='.$_GET['busca'].'&';
		}else{
			$where = "WHERE id_blog_master = '0' ORDER BY data+0 DESC";	
			$link  = '';
		}
		
		$info = '
		<div class="box">
			<table width="100%" border="0" cellpadding="5" cellspacing="5">
				<tr>
					<th width="120" title="Data de Publicação">	Data	</th>
					<th width="100" title="Imagem destaque">	 	Banner 	</th>
					<th title="Título do artigo">				 	Título  </th>
					<th width="50" align="center" title="Brasil">			br  </th>
					<th width="50" align="center" title="Estados Unidos">	us  </th>
					<th width="50" align="center" title="Espanha">			es  </th>
					<th width="50" align="center" title="França">			fr  </th>
					<th width="50" align="center" title="Italia">			it  </th>
					<th width="50"  title="Alterar informações">			alt  </th>
					<th width="50"  title="Excluir informações">			del </th>
				</tr>';
			  
				$sql = DBRead($this->tb, $where." LIMIT $ini, $qnt", "titulo, img, id, video, DATE_FORMAT(data, '%d/%m/%Y') data, idioma");			
				if(mysqli_num_rows($sql) == 0 && $_GET['busca'])
				{
					$info .= '<h2>Nenhuma informação encontrada referente a busca " '.$_GET['busca'].' "</h2>';
				}
				else
				{					
					while($row = mysqli_fetch_object($sql))
					{
						$bg	 	= ($bg == '') ? 'bgcolor="#ededed"' : '';
						$img	= IcoImg($row->img, $this->li);
						$la 	= $this->la.$row->id;
						$le		= $this->le.$row->id;
						
						$info .= '
						<tr '.$bg.' height="50">
							<td width="120" align="center">'.$row->data.'	</td>
							<td width="100" align="center">'.$img.'			</td>
							<td>'.$row->titulo.'	</td>	
							<td width="50" align="center" title="Brasil">					'.$this->Flags(1, $row->id, $row->idioma).'  </td>
							<td width="50" align="center" title="Estados Unidos">			'.$this->Flags(2, $row->id, $row->idioma).'  </td>
							<td width="50" align="center" title="Espanha">					'.$this->Flags(3, $row->id, $row->idioma).'  </td>
							<td width="50" align="center" title="França">					'.$this->Flags(4, $row->id, $row->idioma).'  </td>
							<td width="50" align="center" title="Italia">					'.$this->Flags(5, $row->id, $row->idioma).'  </td>					  
						  <td width="50"  align="center">'.BtEdit($this->la.$row->id).'</td>
						  <td width="50"  align="center">'.BtRem($this->le.$row->id).'</td>	
						</tr>';
					}
				}
				
			$info .= '  
			</table>
		</div>';
			
		$info .= Paginacao($qnt, $p, $this->lp.'?'.$link, $where, $this->tb);
		
		echo $info;
	}

	private function Flags($pais, $blog, $idioma)
	{
		if($_GET['busca'])
		{
			if($idioma == $pais)
				return '<a href="'.$this->la.$blog.'">'.FlagIdioma($pais, TRUE).'</a>';	
			else
				return ' - ';
		}
		else
		{
			$sql = DBRead($this->tb, "WHERE id_blog_master = '".$blog."' AND idioma = '".$pais."'", "id");			
			$row = mysqli_fetch_object($sql);
			
			if(mysqli_num_rows($sql) > 0)
				return '<a href="'.$this->la.$row->id.'" class="flag">'.FlagIdioma($pais, TRUE).'</a>';
			elseif($idioma == $pais)
				return '<a href="'.$this->la.$blog.'" class="flag">'.FlagIdioma($pais, TRUE).'</a>';	
			else
				return '<a href="'.$this->lc.'&master='.$blog.'&idioma='.$pais.'"><i class="fa fa-plus" aria-hidden="true"></i></a>';
		}
	}
	
	private function Cadastrar()
	{
		$action 	= '?url=insert';
		$idioma 	= (!empty($_GET['idioma'])) ? $_GET['idioma'] : 1;
		$master 	= (!empty($_GET['master'])) ? $_GET['master'] : 0;
		
		$value 		= array("data" => date('d/m/Y'), "autor" => $this->autor, "idioma" => $idioma, "master" => $master);
		$button 	= array("value" => " CADASTRAR ");
		
		$link	= array(array("#", "Sistema <i></i>"), array($this->lp, $this->page." <i></i>"), array("#", "Cadastrar"));		
		Bread($link, 'Cadastrar novo Artigo', $this->lp);	
		
		$this->Form($action, $value, $button);
	}
	
	private function Insert()
	{
		$pt = $_POST;
		$lp = $this->lp;	
		$lc = $this->lc;	
		$li = $this->li;
		
		$pt['id_blog_master'] 	= $pt['master'];
		$pt['img'] 				= (is_file($_FILES['img']['tmp_name'])) ? FiltroImg($_FILES['img'], $lc, $li) : '';
		$pt['video']			= VideoYoutubeLink($pt['video']);
		$pt['url']				= GerarLink($this->tb, $pt['titulo']);
		$pt['data']				= ValidData($pt['data']);
		$cat 		 			= $pt['categoria'];
		unset($pt['categoria']);
		unset($pt['master']);
		
		$sql = DBInsert($this->tb, $pt, TRUE);
		$this->InsertCat($cat, $sql);
		CriarSiteMap();
		
		($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'", "titulo, DATE_FORMAT(data, '%d/%m/%Y') data, img, video, texto, meta_keywords, meta_description, tipo_pilula, autor, status, idioma, id_blog_master master");
		$row 	= mysqli_fetch_array($sql);
		$row['video'] = ($row['video']) ? 'https://www.youtube.com/watch?v='.$row['video'] : '';
		
		$action = $this->upd.$id;					  
		$button = array("value" => " ALTERAR ");
		
		$link	= array(array("#", "Sistema <i></i>"), array($this->lp, $this->page." <i></i>"), array("#", "Alterar"));		
		Bread($link, 'Editar o Artigo', $this->lp);	
		
		$this->Form($action, $row, $button);
	}
	
	private function Update()
	{
		$id = FiltroInt($_GET['id']);
		$pt = $_POST;
		$lp = $this->lp;
		$la = $this->la.$id;
		$li = $this->li;
		
		$sql = DBRead($this->tb, "WHERE id = '$id'", "img");
		$row = mysqli_fetch_object($sql);
		
		$pt['img']   = ImgUpdate($_FILES['img'], $row->img, $la, $li);
		$pt['video'] = VideoYoutubeLink($pt['video']);
		$pt['data']  = ValidData($pt['data']);
		$pt['url']	 = GerarLink($this->tb, $pt['titulo'], $id);
		$cat 		 = $pt['categoria'];
		unset($pt['categoria']);
		unset($pt['master']);
		unset($pt['idioma']);
		
		$this->InsertCat($cat, $id);
		$update = DBUpDate($this->tb, $pt, "WHERE id = $id");
		CriarSiteMap();
		
		($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;
		$li = $this->li;
		
		if(empty($id))
			LinkAlert($lp, "Ocorreu um erro ao excluir as informações.");
		
		$sql = DBRead($this->tb, "WHERE id_blog_master = '$id'", "id");
		while($row = mysqli_fetch_object($sql))
		{			
			$this->DelImage($row->id, $li);
		}
		
		$this->DelImage($id, $li);
		
		$table	= TBP.$this->tb;
		$this->RemoveBlogCat();
		
		$del1	= DBExecute("DELETE FROM ".$table." WHERE id = '$id'");
		$del2	= DBExecute("DELETE FROM ".$table." WHERE id_blog_master = '$id'");
		CriarSiteMap();
		
		($del1 && $del2) ? LinkAlert($lp, "Informações excluidas com sucesso!") : LinkAlert($lp, "Ocorreu um erro ao excluir as informações.");
	}
	
	private function DelImage($id, $li)
	{
		$sql = DBRead($this->tb, "WHERE id = '$id'", "img");
		$row = mysqli_fetch_object($sql);		
		
		if(!empty($row->img) && file_exists($li.$row->img))
			unlink($li.$row->img);
	}
}
?>

Zerion Mini Shell 1.0