<?php
namespace App\Libraries;
use Config\Database;
/**
* Class Menu
*
* @package App\Libraries
*/
class Menu
{
/**
* Class properties go here.
* -------------------------------------------------------------------
* public, private, protected, static and const.
*/
public $listMenus;
public $listSeo;
/**
* __construct ()
* -------------------------------------------------------------------
*
* Class Constructor
*
* NOTE: Not needed if not setting values or extending a Class.
*
*/
public function __construct()
{
$this->set();
}
/**
* set ()
* -------------------------------------------------------------------
*
*/
public function set()
{
$db = Database::connect();
$builder = $db->table('users');
$query = $builder->select('*')
->from("menu")
->where("parente", 0)
->where("ativo", 1)
->orderBy('posicao', 'asc')
->get();
$menusPai = ($query->countAllResults() > 0) ? $query->getResultArray() : false;
$query2 = $builder->select('*')
->from("menu")
->where("parente > 0")
->where("ativo", 1)
->orderBy('posicao', 'asc')
->get();
$menusFilhos = ($query2->countAllResults() > 0) ? $query2->getResultArray() : false;
$menus = [];
foreach ($menusPai as $key => $value)
{
$this->listSeo[$value['link']]['pagina_titulo'] = $value['pagina_titulo'];
$this->listSeo[$value['link']]['pagina_keywords'] = $value['pagina_keywords'];
$this->listSeo[$value['link']]['pagina_description'] = $value['pagina_description'];
$menus[$value['id']]['filhos'] = [];
$menus[$value['id']]['dados'] = $value;
if ($menusFilhos)
{
foreach ($menusFilhos as $k => $v)
{
if ($v['parente'] == $value['id'])
{
$this->listSeo[$v['link']]['pagina_titulo'] = $v['pagina_titulo'];
$this->listSeo[$v['link']]['pagina_keywords'] = $v['pagina_keywords'];
$this->listSeo[$v['link']]['pagina_description'] = $v['pagina_description'];
$menus[$value['id']]['filhos'][] = $v;
}
}
}
}
$this->listMenus = $menus;
}
/**
* get ()
* -------------------------------------------------------------------
*
* @return mixed
*/
public function get()
{
return $this->listMenus;
}
/**
* seo ()
* -------------------------------------------------------------------
*
* @param $tag
* @return mixed
*/
public function seo($tag)
{
$uri = ($this->CI->uri->uri_string() == '') ? '/' : $this->CI->uri->uri_string();
return $this->listSeo[$uri][$tag];
}
// -------------------------------------------------------------------
} // End of Menu Library Class.
/**
* -----------------------------------------------------------------------
* Filename: Menu.php
* Location: ./app/Libraries/Menu.php
* -----------------------------------------------------------------------
*/