function get_nagios3_appliance_link($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $p_appliance = new appliance();
    $p_appliance->get_instance_by_id($appliance_id);
    $p_resource = new resource();
    $p_resource->get_instance_by_id($p_appliance->resources);
    $nagios_link = "/openqrm/base/index.php?name=Nagios3&iframe=/cgi-bin/nagios3/status.cgi?host=" . $p_appliance->name;
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    //	$a->label = '<img title="Service monitoring" alt="Service monitoring" height="24" width="24" src="/openqrm/base/plugins/nagios3/img/plugin.png" border=0>';
    $a->label = 'nagios';
    $a->css = 'badge';
    $a->href = $nagios_link;
    $a->handler = '';
    $plugin_link = $a;
    if ($p_resource->id == 0) {
        $plugin_link = $a;
    }
    if ($p_resource->id == '') {
        $plugin_link = "";
    }
    return $plugin_link;
}
function get_sshterm_appliance_link($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $p_appliance = new appliance();
    $p_appliance->get_instance_by_id($appliance_id);
    $p_resource = new resource();
    $p_resource->get_instance_by_id($p_appliance->resources);
    // get the parameters from the plugin config file
    $OPENQRM_PLUGIN_SSHTERM_CONFIG_FILE = "{$OPENQRM_SERVER_BASE_DIR}/openqrm/plugins/sshterm/etc/openqrm-plugin-sshterm.conf";
    $store = openqrm_parse_conf($OPENQRM_PLUGIN_SSHTERM_CONFIG_FILE);
    extract($store);
    $sshterm_login_ip = $p_resource->ip;
    $sshterm_window = 'window' . str_replace('.', '', $sshterm_login_ip);
    $sshterm_login_url = "https://{$sshterm_login_ip}:{$OPENQRM_PLUGIN_WEBSHELL_PORT}";
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    $a->label = 'SSHTerm';
    $a->css = 'badge';
    $a->href = '#';
    $a->handler = 'onclick="sshwindow = window.open(\'' . $sshterm_login_url . '\',\'' . $sshterm_window . '\', \'location=0,status=0,scrollbars=yes,resizable=yes,width=972,height=500,left=100,top=100,screenX=400,screenY=100\'); sshwindow.focus(); return false;"';
    $plugin_link = '';
    if (strstr($p_appliance->state, "active")) {
        $plugin_link = $a;
    }
    if ($p_resource->id == 0) {
        $plugin_link = $a;
    }
    if ($p_resource->id == '') {
        $plugin_link = "";
    }
    return $plugin_link;
}
function get_template_appliance_link($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $p_appliance = new appliance();
    $p_appliance->get_instance_by_id($appliance_id);
    $p_resource = new resource();
    $p_resource->get_instance_by_id($p_appliance->resources);
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    $a->label = 'Template';
    $a->css = 'badge';
    $a->href = '#';
    $a->handler = 'onclick="window.open(\'Template-URL\',\'\', \'location=0,status=0,scrollbars=1,width=1150,height=800,left=50,top=50,screenX=50,screenY=50\');return false;"';
    $plugin_link = '';
    if (strstr($p_appliance->state, "active")) {
        $plugin_link = $a;
    }
    if ($p_resource->id == 0) {
        $plugin_link = $a;
    }
    if ($p_resource->id == '') {
        $plugin_link = "";
    }
    return $plugin_link;
}
function get_lcmc_appliance_link($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $p_appliance = new appliance();
    $p_appliance->get_instance_by_id($appliance_id);
    $p_resource = new resource();
    $p_resource->get_instance_by_id($p_appliance->resources);
    $lcmc_gui = "/openqrm/base/plugins/lcmc/lcmc-gui.php";
    $icon_size = "width='24' height='24'";
    $icon_title = "Configure appliaction highavailability";
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    $a->label = 'LCMC';
    //'<img title="'.$icon_title.'" alt="'.$icon_title.'" $icon_size src="/openqrm/base/plugins/lcmc/img/plugin.png" border=0>';
    $a->css = 'badge';
    $a->href = '#';
    $a->handler = 'onclick="window.open(\'' . $lcmc_gui . '\',\'\', \'location=0,status=0,scrollbars=1,width=1150,height=800,left=50,top=50,screenX=50,screenY=50\');return false;"';
    $plugin_link = '';
    if (strstr($p_appliance->state, "active")) {
        $plugin_link = $a;
    }
    if ($p_resource->id == 0) {
        $plugin_link = $a;
    }
    if ($p_resource->id == '') {
        $plugin_link = "";
    }
    return $plugin_link;
}
function get_novnc_appliance_link($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $p_appliance = new appliance();
    $p_appliance->get_instance_by_id($appliance_id);
    $p_resource = new resource();
    $p_resource->get_instance_by_id($p_appliance->resources);
    $virtualization = new virtualization();
    $virtualization->get_instance_by_id($p_appliance->virtualization);
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    $a->label = 'noVNC';
    $a->css = 'badge';
    $a->handler = 'onclick="wait();"';
    $plugin_link = '';
    if (strstr($p_appliance->state, "active")) {
        if (strstr($virtualization->type, '-vm-')) {
            $a->href = '/openqrm/base/index.php?plugin=novnc&controller=novnc&novnc_action=console&appliance_id=' . $p_appliance->id;
        } else {
            $a->href = '/openqrm/base/index.php?plugin=novnc&controller=novnc&novnc_action=login&appliance_id=' . $p_appliance->id;
        }
        $plugin_link = $a;
    } else {
        if ($p_resource->id === '0') {
            $a->href = '/openqrm/base/index.php?plugin=novnc&controller=novnc&novnc_action=login&appliance_id=' . $p_appliance->id;
            $plugin_link = $a;
        }
    }
    return $plugin_link;
}
function openqrm_novnc_remote_console($resource_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    $a->label = 'noVNC';
    $a->css = 'badge';
    $a->href = '/openqrm/base/index.php?plugin=novnc&controller=novnc&novnc_action=console&resource_id=' . $resource_id;
    $a->handler = 'onclick="wait();"';
    return $a;
}
function get_template_appliance_edit($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $appliance = new appliance();
    $appliance->get_instance_by_id($appliance_id);
    $plugin_title = "Configure Application on Appliance " . $appliance->name;
    $plugin_link = "/openqrm/base/index.php?plugin=template&appliance_id=" . $appliance_id . "&template_action=edit";
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    $a->label = '<image height="24" width="24" alt="' . $plugin_title . '" title="' . $plugin_title . '" src="/openqrm/base/plugins/template/img/plugin.png">';
    $a->href = $plugin_link;
    $a->handler = '';
    return $a;
}
function get_hybrid_cloud_appliance_link($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $p_appliance = new appliance();
    $p_appliance->get_instance_by_id($appliance_id);
    $p_resource = new resource();
    $p_resource->get_instance_by_id($p_appliance->resources);
    $virtualization = new virtualization();
    $virtualization->get_instance_by_id($p_appliance->virtualization);
    if ($virtualization->type != "hybrid-cloud-vm-local") {
        return;
    }
    // get hybrid-cloud account
    $hybrid_cloud_acl_id = $p_resource->get_resource_capabilities("HCACL");
    if ($hybrid_cloud_acl_id == '') {
        $event->log("get_hybrid_cloud_appliance_link", $_SERVER['REQUEST_TIME'], 2, "openqrm-hybrid-cloud-appliance-link-hook.php", "Could not find Hybrid-Cloud Account for resource " . $p_resource->id, "", "", 0, 0, $appliance_id);
        return;
    }
    $hc = new hybrid_cloud();
    $hc->get_instance_by_id($hybrid_cloud_acl_id);
    $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
    $a = $html->a();
    $a->label = 'Dashboard';
    $a->css = 'badge';
    $a->target = '_BLANK';
    if ($hc->account_type == 'aws' || $hc->account_type == 'euca') {
        $a->href = 'https://console.aws.amazon.com/ec2/';
    }
    if ($hc->account_type == 'lc-openstack') {
        $a->href = 'http://' . $hc->host . '/project/instances/';
    }
    $plugin_link = $a->get_string();
    return $plugin_link;
}
function get_collectd_appliance_link($appliance_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    $appliance_name = '';
    $appliance = new appliance();
    $appliance->get_instance_by_id($appliance_id);
    $resource = new resource();
    $resource->get_instance_by_id($appliance->resources);
    $hostname = $appliance->name;
    if ($resource->id == 0) {
        $hostname = 'openqrm';
    }
    $a = '';
    if (file_exists('/usr/share/openqrm/plugins/collectd/data/' . $hostname)) {
        $html = new htmlobject($OPENQRM_SERVER_BASE_DIR . '/openqrm/web/base/class/htmlobjects');
        $a = $html->a();
        $a->label = 'collectd';
        $a->css = 'badge';
        $a->handler = 'onclick="wait();"';
        $a->href = '/openqrm/base/index.php?plugin=collectd&controller=collectd&collectd_action=statistics&appliance_id=' . $appliance->id;
    }
    return $a;
}