public function ExeDelete($CategoryId)
 {
     $this->CatId = (int) $CategoryId;
     $WsCategories = new WsCategories();
     $WsCategories->setCategory_id($this->CatId);
     $WsCategories->Query("WHERE #category_id#");
     if (!$WsCategories->getResult()) {
         $this->Result = false;
         $this->Error = ['Oppsss, você tentou remover uma categoria que não existe no sistema!', WS_INFOR];
     } else {
         extract((array) $WsCategories->getResult()[0]);
         if (!$category_parent && !$this->checkCats()) {
             $this->Result = false;
             $this->Error = ["A <b>seção {$category_title}</b> possui categorias cadastradas. Para deletar, antes altere ou remova todas as categorias filhas!", WS_ALERT];
         } elseif ($category_parent && !$this->checkPosts()) {
             $this->Result = false;
             $this->Error = ["A <b>categoria {$category_title}</b> possui artigos cadastradas. Para deletar, antes altere ou remova todos os postes desta categoria!", WS_ALERT];
         } else {
             $this->Result = true;
             $tipo = empty($category_parent) ? 'seção' : 'categoria';
             $WsCategories->setCategory_id($this->CatId);
             $WsCategories->delete();
             $this->Error = ["A <b>{$tipo} {$category_title}</b> foi removida com sucesso do sistema!", WS_ACCEPT];
         }
     }
 }
 /**
  * <b>Contagem de Views:</b> Realiza uma contagem ao post informado.
  * @param INT $post_id
  */
 public static function ContCategoryViews($category_id)
 {
     $WsCategories = new WsCategories();
     $WsCategories->setCategory_id($category_id);
     extract((array) $WsCategories->Execute()->find());
     $WsCategories->setCategory_views($category_views + 1);
     $WsCategories->setCategory_last_view(date('Y-m-d H:i:s'));
     $WsCategories->Execute()->update($WsCategories->Execute()->getDados(), 'category_id');
 }
 private function getCatParent()
 {
     $rCat = new WsCategories();
     $rCat->setCategory_id($this->Data['post_category']);
     $rCat->Execute()->find();
     if ($rCat->Execute()->getResult()) {
         return $rCat->Execute()->getResult()->category_parent;
     } else {
         return null;
     }
 }
 private function getSeo()
 {
     switch ($this->File) {
         //SEO:: ARTIGO
         case 'artigo':
             $Admin = isset($_SESSION['userlogin']['user_level']) && $_SESSION['userlogin']['user_level'] == 3 ? true : false;
             $Check = $Admin ? '' : 'post_status = 1 AND ';
             $ReadSeo = new WsPosts();
             $ReadSeo->setPost_name($this->Link);
             $ReadSeo->Execute()->Query("{$Check} #post_name#");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->seoData = null;
                 $this->seoTags = null;
             } else {
                 extract((array) $ReadSeo->Execute()->getResult()[0]);
                 $this->seoData = (array) $ReadSeo->Execute()->getResult()[0];
                 $this->Data = [$post_title . ' - ' . SITENAME, $post_content, HOME . "/artigo/{$post_name}", HOME . "/uploads/{$post_cover}"];
                 //post:: conta viws do post
                 $ReadSeo->setPost_id($post_id);
                 $ReadSeo->setPost_views($post_views + 1);
                 $ReadSeo->setPost_last_views(date('Y-m-d H:i:s'));
                 $ReadSeo->Execute()->update($ReadSeo->Execute()->getDados(), 'post_id');
             }
             break;
             //SEO:: CATEGORIA
         //SEO:: CATEGORIA
         case 'categoria':
             $ReadSeo = new WsCategories();
             $ReadSeo->setCategory_name($this->Link);
             $ReadSeo->Execute()->Query("#category_name#");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->seoData = null;
                 $this->seoTags = null;
             } else {
                 extract((array) $ReadSeo->Execute()->getResult()[0]);
                 $this->seoData = (array) $ReadSeo->Execute()->getResult()[0];
                 $this->Data = [$category_title . ' - ' . SITENAME, $category_content, HOME . "/categoria/{$category_name}", INCLUDE_PATH . '/images/site.png'];
                 //categories:: conta views da categoria
                 $ReadSeo->setCategory_id($category_id);
                 $ReadSeo->setCategory_views($category_views + 1);
                 $ReadSeo->setCategory_last_view(date('Y-m-d H:i:s'));
                 $ReadSeo->Execute()->update($ReadSeo->Execute()->getDados(), 'category_id');
             }
             break;
             //SEO::PESQUISA
         //SEO::PESQUISA
         case 'pesquisa':
             $ReadSeo = new WsPosts();
             $ReadSeo->Execute()->Query("post_status = 1 AND (post_title LIKE '%' :link '%' OR post_content LIKE '%' :link '%')", "link={$this->Link}");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->seoData = null;
                 $this->seoTags = null;
             } else {
                 $this->seoData['count'] = $ReadSeo->Execute()->getRowCount();
                 $this->Data = ["Pesquisa por: \"{$this->Link}\"" . ' - ' . SITENAME, "Sua pesquisa por {$this->Link} retornou {$this->seoData['count']} resultados!", HOME . "/pesquisa/{$this->Link}", INCLUDE_PATH . '/images/site.png'];
             }
             break;
             //SEO:: EMPRESAS
         //SEO:: EMPRESAS
         case 'empresas':
             $Name = ucwords(str_replace("-", " ", $this->Link));
             $this->seoData = ['empresa_link' => $this->Link, 'empresa_cat' => $Name];
             $this->Data = ["Empresas {$this->Link}" . SITENAME, "Confira o guia completo de sua cidade, e encontra empresas {$this->Link}", HOME . '/empresas/' . $this->Link, INCLUDE_PATH . '/images/site.png'];
             break;
             //SEO:: EMPRESA SINGLE
         //SEO:: EMPRESA SINGLE
         case 'empresa':
             $Admin = isset($_SESSION['userlogin']['user_level']) && $_SESSION['userlogin']['user_level'] == 3 ? true : false;
             $Check = $Admin ? '' : 'empresa_status = 1 AND ';
             $ReadSeo = new AppEmpresas();
             $ReadSeo->setEmpresa_name($this->Link);
             $ReadSeo->Execute()->Query("{$Check} #empresa_name#");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->seoData = null;
                 $this->seoTags = null;
             } else {
                 extract((array) $ReadSeo->Execute()->getResult()[0]);
                 $this->seoData = (array) $ReadSeo->Execute()->getResult()[0];
                 $this->Data = [$empresa_title . ' - ' . SITENAME, $empresa_sobre, HOME . "/empresa/{$empresa_name}", HOME . "/uploads/{$empresa_capa}"];
                 //empresa:: conta views da empresa
                 $ReadSeo->setEmpresa_id($empresa_id);
                 $ReadSeo->setEmpresa_views($empresa_views + 1);
                 $ReadSeo->setEmpresa_last_view(date('Y-m-d H:i:s'));
                 $ReadSeo->Execute()->update($ReadSeo->Execute()->getDados(), 'empresa_id');
             }
             break;
             //SEO:: CADASTRA EMPRESA
         //SEO:: CADASTRA EMPRESA
         case 'cadastra-empresa':
             $this->Data = ["Cadastre sua Empresa - " . SITENAME, "Página modelo para cadastro de empresas via Front-End do curso Work Series - PHP Orientado a Objetos!", HOME . '/cadastra-empresa/' . $this->Link, INCLUDE_PATH . '/images/site.png'];
             break;
             //SEO:: INDEX
         //SEO:: INDEX
         case 'index':
             $this->Data = [SITENAME . ' - Seu Guia de empresas, eventos e baladas!', SITEDESC, HOME, INCLUDE_PATH . '/images/site.png'];
             break;
             //SEO:: 404
         //SEO:: 404
         default:
             $this->Data = ['404 Oppss, Nada encontrado!', SITEDESC, HOME . '/404', INCLUDE_PATH . '/images/site.png'];
             break;
     }
     if ($this->Data) {
         $this->setTags();
     }
 }
 private function getSeo()
 {
     switch ($this->File) {
         //SEO:: ARTIGO
         case 'artigo':
             $Admin = isset($_SESSION['userlogin']['user_level']) && $_SESSION['userlogin']['user_level'] == 3 ? true : false;
             $Check = $Admin ? '' : 'post_status = 1 AND ';
             $ReadSeo = new WsPosts();
             $ReadSeo->setPost_name($this->Link);
             $ReadSeo->Execute()->Query("{$Check} #post_name#");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->seoData = null;
                 $this->seoTags = null;
             } else {
                 extract((array) $ReadSeo->Execute()->getResult()[0]);
                 $this->seoData = (array) $ReadSeo->Execute()->getResult()[0];
                 $this->Data = [$post_title . ' - ' . SITENAME, $post_content, HOME . "/artigo/{$post_name}", HOME . "/uploads/{$post_cover}"];
                 //post:: conta viws do post
                 $ReadSeo->setPost_id($post_id);
                 $ReadSeo->setPost_views($post_views + 1);
                 $ReadSeo->setPost_last_views(date('Y-m-d H:i:s'));
                 $ReadSeo->Execute()->update($ReadSeo->Execute()->getDados(), 'post_id');
             }
             break;
             //SEO:: NOTICIAS
         //SEO:: NOTICIAS
         case 'noticias':
             $ReadSeo = new WsPosts();
             $ReadSeo->setPost_type($this->Link);
             $ReadSeo->Execute()->Query("#post_type#");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->seoData = null;
                 $this->seoTags = null;
             } else {
                 extract((array) $ReadSeo->Execute()->getResult()[0]);
                 $this->seoData = (array) $ReadSeo->Execute()->getResult();
                 $this->Data = [$post_type . ' - ' . SITENAME, $post_content, HOME . "/noticias/{$post_type}", INCLUDE_PATH . '/images/site.png'];
             }
             break;
             //SEO:: CATEGORIA
         //SEO:: CATEGORIA
         case 'categoria':
             $ReadSeo = new WsCategories();
             $ReadSeo->setCategory_name($this->Link);
             $ReadSeo->Execute()->Query("#category_name#");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->seoData = null;
                 $this->seoTags = null;
             } else {
                 extract((array) $ReadSeo->Execute()->getResult()[0]);
                 $this->seoData = (array) $ReadSeo->Execute()->getResult()[0];
                 $this->Data = [$category_title . ' - ' . SITENAME, $category_content, HOME . "/categoria/{$category_name}", INCLUDE_PATH . '/images/site.png'];
                 //categories:: conta views da categoria
                 $ReadSeo->setCategory_id($category_id);
                 $ReadSeo->setCategory_views($category_views + 1);
                 $ReadSeo->setCategory_last_view(date('Y-m-d H:i:s'));
                 $ReadSeo->Execute()->update($ReadSeo->Execute()->getDados(), 'category_id');
             }
             break;
             //SEO::PESQUISA
         //SEO::PESQUISA
         case 'pesquisa':
             $ReadSeo = new WsPosts();
             $ReadSeo->Execute()->Query("post_status = 1 AND (post_title LIKE '%' :link '%' OR post_content LIKE '%' :link '%')", "link={$this->Link}");
             if (!$ReadSeo->Execute()->getResult()) {
                 $this->Data = ["Pesquisa por: \"{$this->Link}\"" . ' - ' . SITENAME, "Sua pesquisa por {$this->Link} retornou {$this->seoData['count']} resultados!", HOME . "/pesquisa/{$this->Link}", INCLUDE_PATH . '/images/site.png'];
                 $this->seoTags = null;
             } else {
                 $this->seoData['count'] = $ReadSeo->Execute()->getRowCount();
                 $this->Data = ["Pesquisa por: \"{$this->Link}\"" . ' - ' . SITENAME, "Sua pesquisa por {$this->Link} retornou {$this->seoData['count']} resultados!", HOME . "/pesquisa/{$this->Link}", INCLUDE_PATH . '/images/site.png'];
             }
             break;
             //SEO:: INDEX
         //SEO:: INDEX
         case 'index':
             $this->Data = [SITENAME . ' - ' . SITEDESC, SITEDESC, HOME, INCLUDE_PATH . '/images/site.png'];
             break;
         case 'pages':
             switch ($this->Link) {
                 //SEO:: Contato
                 case 'contato':
                     $this->Data = [SITENAME . ' - Fale conosco', SITEDESC, HOME, INCLUDE_PATH . '/images/site.png'];
                     break;
                     //SEO:: membros
                 //SEO:: membros
                 case 'membros':
                     $this->Data = [SITENAME . ' - Parceiros da causa.', SITEDESC, HOME, INCLUDE_PATH . '/images/site.png'];
                     break;
                     //SEO:: institucional
                 //SEO:: institucional
                 case 'institucional':
                     $this->Data = [SITENAME . ' - Institucional.', SITEDESC, HOME, INCLUDE_PATH . '/images/site.png'];
                     break;
                     //SEO:: 404
                 //SEO:: 404
                 default:
                     $this->Data = ['404 Oppss, Nada encontrado!', SITEDESC, HOME . '/404', INCLUDE_PATH . '/images/site.png'];
                     break;
             }
             break;
             //SEO:: 404
         //SEO:: 404
         default:
             $this->Data = ['404 Oppss, Nada encontrado!', SITEDESC, HOME . '/404', INCLUDE_PATH . '/images/site.png'];
             break;
     }
     if ($this->Data) {
         $this->setTags();
     }
 }