diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml index 348f24293..d016a8f52 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml +++ b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/Menu.xml @@ -202,12 +202,12 @@ - - - - - - + + + + + + diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuItem.php b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuItem.php index 9ce543e7f..b3d19b7b4 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuItem.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuItem.php @@ -72,6 +72,12 @@ class MenuItem */ private $Url = ""; + /** + * link to external page + * @var string + */ + private $isExternal = "N"; + /** * parent node, used to mark active nodes * @var null|MenuItem @@ -195,6 +201,24 @@ class MenuItem return $this->Url; } + /** + * setter for isExternal + * @param $value + */ + public function setIsExternal($value) + { + $this->isExternal = $value; + } + + /** + * getter for isExternal + * @return string + */ + public function getIsExternal() + { + return $this->isExternal; + } + /** * @return bool is this item selected */ diff --git a/src/opnsense/mvc/app/views/layout_partials/base_menu_system.volt b/src/opnsense/mvc/app/views/layout_partials/base_menu_system.volt index 60f5e80b0..01645d193 100644 --- a/src/opnsense/mvc/app/views/layout_partials/base_menu_system.volt +++ b/src/opnsense/mvc/app/views/layout_partials/base_menu_system.volt @@ -7,7 +7,9 @@ {{ topMenuItem.VisibleName }}
{% for subMenuItem in topMenuItem.Children %} - {% if acl.isPageAccessible(session.get('Username'),subMenuItem.Url) %} + {% if subMenuItem.IsExternal == "Y" %} + {{ subMenuItem.VisibleName }} + {% elseif acl.isPageAccessible(session.get('Username'),subMenuItem.Url) %} {{ subMenuItem.VisibleName }} {% endif %} {% endfor %}