Fusion 4.1.6 - restrict visibility of the 'customlink' ...

This support forum board is for questions relating to Nagios Fusion.
Locked
vishfx
Posts: 134
Joined: Tue Apr 24, 2018 12:30 pm

Fusion 4.1.6 - restrict visibility of the 'customlink' ...

Post by vishfx »

Hi Nagios Team,

Ref: https://support.nagios.com/forum/viewto ... 4&start=10

Additionally, w.r.t above post , I am using customlinks feature.

How can I restrict visibility of the 'customlink' in a page based on contact/contactgroups ?

For eg:
If a page has
link1
link2
link3
link4


contact A should see
link1
link2

contact B should see
link3
link4


Kindly assist.

Regards,
Vish.
ssax
Dreams In Code
Posts: 7682
Joined: Wed Feb 11, 2015 12:54 pm

Re: Fusion 4.1.6 - restrict visibility of the 'customlink' .

Post by ssax »

Here are some updated examples for you that should do what you want:

Code: Select all

<?php
// fusioncustomlinks.inc.php
//
// This component allows you to add custom sections
// and custom links to the Nagios Fusion menus.

register_fusioncustomlinks();

function register_fusioncustomlinks() {
	$component_args = array(
            COMPONENT_TYPE              => COMPONENT,
            COMPONENT_NAME              => 'fusioncustomlinks',
            COMPONENT_TITLE             => _('Fusion Custom Links Component'),
            COMPONENT_VERSION           => '1.0.2',
            COMPONENT_DATE              => '04/19/2019',
            COMPONENT_AUTHOR            => 'Nagios Enterprises, LLC',
            COMPONENT_DESCRIPTION       => _('Provides Custom Menu Entries'),
            COMPONENT_REQUIRES_VERSION  => 4100,
            COMPONENT_FUNCTION          => 'fusioncustomlinks_successful_registration',
    );

    register_component($component_args);
}

function fusioncustomlinks_successful_registration() {
    register_fusioncustomlinks_callbacks();
}

function register_fusioncustomlinks_menu($cb, &$menu) {
    // Add a section for all users
    $menu->add_section('home', _('Stuff'), 'home-stuff');

    // Add a custom link to the new section
    $menu->add_link(menu_link(_('Nagios'), 'http://www.nagios.com'), 'home-stuff');

    // Add a section for Admins only
    if (is_admin()) {
        $menu->add_section('home', _('Admin Tools'), 'home-admintools');
        $menu->add_link(menu_link(_('My Custom Admin Link'), rawurlencode('https://YOURFUSIONSERVER/nagiosfusion/foo.php?arg1=foo&arg2=bar')), 'home-admintools');
    }

    $username = $_SESSION['username'];

    // Add a section for specific users only
    if (in_array("$username", array('nagiosadmin', 'ssax'))) {
        $menu->add_section('home', _('Power Tools'), 'home-powertools');
        $menu->add_link(menu_link(_('My Custom Power Tools Link'), rawurlencode('https://YOURFUSIONSERVER/nagiosfusion/bar.php?arg1=foo&arg2=bar')), 'home-powertools');
    }

    // Add a link with basic auth to the new session, if your URL has special characters in it, use rawurlencode() like below
    $menu->add_link(menu_link(_('My Custom Link'), rawurlencode('https://username:password@your.domain.com/website/')), 'home-stuff');

    // Add a link to Home > Server Status section
    $menu->add_link(menu_link(_('Custom Server Status Link 1'), 'includes/components/fusioncustomlinks/tactical_overview.php'), 'home-server-status');

    // Add a link to Home > Alerts section
    $menu->add_link(menu_link(_('Custom Alerts Link 1'), 'includes/components/fusioncustomlinks/recent_alerts.php'), 'home-alerts');

    // Add a link to the Home > Visuaalizations section
    $menu->add_link(menu_link(_('Custom Visualization Link 1'), 'includes/components/fusioncustomlinks/service_health.php'), 'home-visualizations');
}

// Register callbacks for fusion functionality
function register_fusioncustomlinks_callbacks() {
    register_callback(CALLBACK_MENU_INITIALIZED, 'register_fusioncustomlinks_menu');
}
?>
vishfx
Posts: 134
Joined: Tue Apr 24, 2018 12:30 pm

Re: Fusion 4.1.6 - restrict visibility of the 'customlink' .

Post by vishfx »

Thanks Sean.

This solution is manageable for a small group of users.
But if we have few 100 users or more, this would a real pain.

It will be nice to have this feature in-built in Fusion.

Regards,
Vish.
ssax
Dreams In Code
Posts: 7682
Joined: Wed Feb 11, 2015 12:54 pm

Re: Fusion 4.1.6 - restrict visibility of the 'customlink' .

Post by ssax »

There is no user group functionality in XI or Fusion yet so that's the only option you have at this point.
vishfx
Posts: 134
Joined: Tue Apr 24, 2018 12:30 pm

Re: Fusion 4.1.6 - restrict visibility of the 'customlink' .

Post by vishfx »

Thanks for your help on this request.
We will proceed with this approach for now.

This request can be closed.

Regards,
Vish.
benjaminsmith
Posts: 5324
Joined: Wed Aug 22, 2018 4:39 pm
Location: saint paul

Re: Fusion 4.1.6 - restrict visibility of the 'customlink' .

Post by benjaminsmith »

Hi Vish,
Thanks for your help on this request.
We will proceed with this approach for now.
This request can be closed.
Sounds good. We'll close this out.
As of May 25th, 2018, all communications with Nagios Enterprises and its employees are covered under our new Privacy Policy.

Be sure to check out our Knowledgebase for helpful articles and solutions!
Locked