コード例 #1
0
ファイル: popup.php プロジェクト: phedders/zabbix
     $table->Show();
 } else {
     if ($srctbl == 'host_group_scr') {
         $available_groups = get_accessible_groups_by_user($USER_DETAILS, PERM_READ_ONLY, null, $nodeid);
         $table = new CTableInfo(S_NO_GROUPS_DEFINED);
         $table->setHeader(array(S_NAME));
         $db_groups = DBselect('SELECT DISTINCT n.name as node_name,g.groupid,g.name,n.nodeid ' . ' FROM hosts_groups hg, groups g ' . ' LEFT JOIN nodes n ON n.nodeid=' . DBid2nodeid('g.groupid') . ' WHERE ' . DBcondition('g.groupid', $available_groups) . ' AND ' . DBin_node('g.groupid', $nodeid) . ' ORDER BY n.nodeid,g.name');
         $all = false;
         while ($row = DBfetch($db_groups)) {
             $row['node_name'] = isset($row['node_name']) ? '(' . $row['node_name'] . ') ' : '';
             if (!$all) {
                 $name = new CLink(bold(S_MINUS_ALL_GROUPS_MINUS), '#', 'action');
                 if (isset($_REQUEST['reference']) && $_REQUEST['reference'] == 'dashboard') {
                     $action = get_window_opener($dstfrm, $dstfld1, $srcfld2) . get_window_opener($dstfrm, $dstfld2, create_id_by_nodeid(0, $nodeid)) . "window.opener.setTimeout('add2favorites();', 1000);";
                 } else {
                     $action = get_window_opener($dstfrm, $dstfld1, create_id_by_nodeid(0, $nodeid)) . get_window_opener($dstfrm, $dstfld2, $row['node_name'] . S_MINUS_ALL_GROUPS_MINUS);
                 }
                 $name->setAction($action . " close_window(); return false;");
                 $table->addRow($name);
                 $all = true;
             }
             $name = new CLink($row['name'], '#', 'action');
             $row['name'] = $row['node_name'] . $row['name'];
             $name->setAction(get_window_opener($dstfrm, $dstfld1, $row[$srcfld1]) . get_window_opener($dstfrm, $dstfld2, $row[$srcfld2]) . (isset($_REQUEST['reference']) && $_REQUEST['reference'] == 'dashboard' ? "window.opener.setTimeout('add2favorites();', 1000);" : '') . ' return close_window();');
             $table->addRow($name);
         }
         $table->show();
     } else {
         if ($srctbl == "drules") {
             $table = new CTableInfo(S_NO_DISCOVERY_RULES_DEFINED);
             $table->SetHeader(S_NAME);
コード例 #2
0
    }
    $table->show();
} elseif ($srctbl == 'host_group_scr') {
    $table = new CTableInfo(_('No host groups defined.'));
    $table->setHeader(array(_('Name')));
    $options = array('nodeids' => $nodeid, 'output' => API_OUTPUT_EXTEND);
    if (!is_null($writeonly)) {
        $options['editable'] = true;
    }
    $hostGroups = API::HostGroup()->get($options);
    order_result($hostGroups, 'name');
    $all = false;
    foreach ($hostGroups as $hostGroup) {
        $hostGroup['node_name'] = get_node_name_by_elid($hostGroup['groupid']);
        if (!$all) {
            $action = get_window_opener($dstfrm, $dstfld1, create_id_by_nodeid(0, $nodeid)) . get_window_opener($dstfrm, $dstfld2, $hostGroup['node_name'] . _('- all groups -'));
            $name = new CLink(bold(_('- all groups -')), '#');
            $name->setAttribute('onclick', $action . ' close_window(); return false;');
            $table->addRow($name);
            $all = true;
        }
        $name = new CLink($hostGroup['name'], '#');
        $hostGroup['name'] = $hostGroup['node_name'] . $hostGroup['name'];
        $name->setAttribute('onclick', get_window_opener($dstfrm, $dstfld1, $hostGroup[$srcfld1]) . get_window_opener($dstfrm, $dstfld2, $hostGroup[$srcfld2]) . ' return close_window();');
        $table->addRow($name);
    }
    $table->show();
} elseif ($srctbl == 'drules') {
    $table = new CTableInfo(_('No discovery rules defined.'));
    $table->setHeader(_('Name'));
    $result = DBselect('SELECT DISTINCT d.* FROM drules d WHERE ' . DBin_node('d.druleid', $nodeid));