ok
Direktori : /home/institutonamaste/www/admin/class/ |
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); } } ?>