Hello
I couldn’t find this anywhere, so I thought i would share how I created a persistent custom menu item in the top nav bar.
I saw on github that the main menu bar script already facilitates this functionality by checking if a file exists.
All you need to do is create the file
/opt/librenms/html/includes/print-menubar-custom.inc.php
and paste in
<?php
use LibreNMS\Authentication\Auth;
?>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-hover="dropdown" data-toggle="dropdown"><i class="fa fa-star fa-fw fa-lg fa-nav-icons hidden-md" aria-hidden="true"></i>
<span class="hidden-sm">Custom Menu</span></a>
<ul class="dropdown-menu">
<?php if (Auth::user()->hasGlobalAdmin()) { ?>
<li><a href="plugins/Weathermap/output/history/index.html"><i class="fa fa-film fa-fw fa-lg" aria-hidden="true"></i> Weathermap Animation</a></li>
<li role="presentation" class="divider"></li>
<li><a href="#"><i class="fa fa-database fa-fw fa-lg" aria-hidden="true"></i> Item 1</a></li>
<li><a href="#"><i class="fa fa-smile-o fa-fw fa-lg" aria-hidden="true"></i> Item 2</a></li>
<li><a href="#"><i class="fa fa-anchor fa-fw fa-lg" aria-hidden="true"></i> Item 3</a></li>
<li><a href="#"><i class="fa fa-plug fa-fw fa-lg" aria-hidden="true"></i> Item 4</a></li>
<li><a href="#"><i class="fa fa-code-fork fa-fw fa-lg" aria-hidden="true"></i> Item 5</a></li>
<li><a href="#"><i class="fa fa-truck fa-fw fa-lg" aria-hidden="true"></i> Item 6</a></li>
<?php } else { echo('
<li><a href="#">You need admin rights to see this</a></li>'); } ?>
</ul>
</li>
Then set librenms permissions on that file
chmod librenms:librenms /opt/librenms/html/includes/print-menubar-custom.inc.php
I hope someone finds this useful