$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);
} $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));