diff --git a/Models/LinkType.php b/Models/LinkType.php index 8021386..2588da6 100644 --- a/Models/LinkType.php +++ b/Models/LinkType.php @@ -27,6 +27,5 @@ use phpOMS\Stdlib\Base\Enum; abstract class LinkType extends Enum { public const CATEGORY = 0; - - public const LINK = 1; + public const LINK = 1; } diff --git a/Models/Navigation.php b/Models/Navigation.php index e3c83df..1040bd2 100644 --- a/Models/Navigation.php +++ b/Models/Navigation.php @@ -18,6 +18,7 @@ use phpOMS\DataStorage\Database\DatabasePool; use phpOMS\Message\RequestAbstract; use phpOMS\Account\Account; use phpOMS\Account\PermissionType; +use phpOMS\DataStorage\Database\Query\Builder; /** * Navigation class. @@ -85,24 +86,17 @@ class Navigation { if (empty($this->nav)) { $this->nav = []; - $uriPdo = ''; - $i = 1; - foreach ($hashes as $hash) { - $uriPdo .= ':pid' . $i . ','; - $i++; - } + $query = new Builder($this->dbPool->get('select')); + $query->prefix($this->dbPool->get('select')->prefix); + $sth = $query->select('*') + ->from('nav') + ->whereIn('nav.nav_pid', $hashes) + ->orderBy('nav.nav_order', 'ASC') + ->execute(); - $uriPdo = \rtrim($uriPdo, ','); - $sth = $this->dbPool->get('select')->con->prepare('SELECT * FROM `' . $this->dbPool->get('select')->prefix . 'nav` WHERE `nav_pid` IN(' . $uriPdo . ') ORDER BY `nav_order` ASC'); + $qry = $query->toSql(); - $i = 1; - foreach ($hashes as $hash) { - $sth->bindValue(':pid' . $i, $hash, \PDO::PARAM_STR); - $i++; - } - - $sth->execute(); $tempNav = $sth->fetchAll(\PDO::FETCH_GROUP); foreach ($tempNav as $id => $link) { diff --git a/Theme/Backend/mid.tpl.php b/Theme/Backend/mid.tpl.php index d68f7fe..46c5423 100644 --- a/Theme/Backend/mid.tpl.php +++ b/Theme/Backend/mid.tpl.php @@ -13,12 +13,15 @@ /** * @var \Modules\Navigation\Views\NavigationView $this */ -if (isset($this->nav[\Modules\Navigation\Models\NavigationType::CONTENT])) { + +if (isset($this->nav[\Modules\Navigation\Models\NavigationType::CONTENT]) + && \phpOMS\Utils\ArrayUtils::inArrayRecursive($this->parent, $this->nav[\Modules\Navigation\Models\NavigationType::CONTENT], 'nav_parent') +) { echo '