function get_node_path($nodeid, $result = '')
{
    global $ZBX_NODES;
    $node_data = isset($ZBX_NODES[$nodeid]) ? $ZBX_NODES[$nodeid] : false;
    if ($node_data) {
        if ($node_data['masterid']) {
            $result = get_node_path($node_data['masterid'], $result);
        }
        $result .= $node_data['name'] . ' ⇒ ';
    }
    return $result;
}
Example #2
0
function get_node_path($nodeid, $result = '/')
{
    if ($node_data = get_node_by_nodeid($nodeid)) {
        if ($node_data['masterid']) {
            $result = get_node_path($node_data['masterid'], $result);
        }
        $result .= $node_data['name'] . '/';
    }
    return $result;
}
Example #3
0
        }
        $frmNode->addRow(S_TIME_ZONE, $cmbTimeZone);
        $frmNode->addRow(S_IP, new CTextBox('ip', $ip, 15));
        $frmNode->addRow(S_PORT, new CNumericBox('port', $port, 5));
        $frmNode->addRow(S_DO_NOT_KEEP_HISTORY_OLDER_THAN, new CNumericBox('slave_history', $slave_history, 6));
        $frmNode->addRow(S_DO_NOT_KEEP_TRENDS_OLDER_THAN, new CNumericBox('slave_trends', $slave_trends, 6));
        $frmNode->addItemToBottomRow(new CButton('save', S_SAVE));
        if (isset($_REQUEST['nodeid']) && $node_type != ZBX_NODE_LOCAL) {
            $frmNode->addItemToBottomRow(SPACE);
            $frmNode->addItemToBottomRow(new CButtonDelete(S_DELETE_SELECTED_NODE_Q, url_param('form') . url_param('nodeid')));
        }
        $frmNode->addItemToBottomRow(SPACE);
        $frmNode->addItemToBottomRow(new CButtonCancel());
        $nodes_wdgt->addItem($frmNode);
    } else {
        $nodes_wdgt->addHeader(S_NODES_BIG);
        $nodes_wdgt->addItem(BR());
        $table = new CTableInfo(S_NO_NODES_DEFINED);
        $table->setHeader(array(make_sorting_header(S_ID, 'n.nodeid'), make_sorting_header(S_NAME, 'n.name'), make_sorting_header(S_TIME_ZONE, 'n.timezone'), make_sorting_header(S_IP . ':' . S_PORT, 'n.ip')));
        $sql = 'SELECT n.* ' . ' FROM nodes n' . order_by('n.nodeid,n.name,n.timezone,n.ip', 'n.masterid');
        $db_nodes = DBselect($sql);
        while ($node = DBfetch($db_nodes)) {
            $table->addRow(array($node['nodeid'], array(get_node_path($node['masterid']), new CLink($node['nodetype'] ? new CSpan($node['name'], 'bold') : $node['name'], '?&form=update&nodeid=' . $node['nodeid'])), new CSpan('GMT' . sprintf('%+03d:00', $node['timezone']), $node['nodetype'] ? 'bold' : null), new CSpan($node['ip'] . ':' . $node['port'], $node['nodetype'] ? 'bold' : null)));
        }
        $nodes_wdgt->addItem($table);
    }
} else {
    $nodes_wdgt->addItem(new CTable(new CCol(S_NOT_DM_SETUP, 'center')));
}
$nodes_wdgt->show();
include_once 'include/page_footer.php';
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
**/
$nodeWidget = new CWidget();
$configComboBox = new CComboBox('config', 'nodes.php', 'javascript: redirect(this.options[this.selectedIndex].value);');
$configComboBox->addItem('nodes.php', _('Nodes'));
$configComboBox->addItem('proxies.php', _('Proxies'));
$nodeTable = new CTableInfo(_('Your setup is not configured for distributed monitoring.'));
$createForm = null;
if (ZBX_DISTRIBUTED) {
    $nodeWidget->addHeader(_('Nodes'));
    $createForm = new CForm();
    $createForm->cleanItems();
    $createForm->addItem(new CSubmit('form', _('Create node')));
    $nodeTable = new CTableInfo();
    $nodeTable->setHeader(array(make_sorting_header(_('ID'), 'n.nodeid'), make_sorting_header(_('Name'), 'n.name'), _('Type'), make_sorting_header(_('IP') . ' : ' . _('Port'), 'n.ip')));
    while ($node = DBfetch($this->data['nodes'])) {
        $nodeTable->addRow(array($node['nodeid'], array(get_node_path($node['masterid']), new CLink($node['name'], '?form=update&nodeid=' . $node['nodeid'])), node_type2str($node['nodetype']), $node['ip'] . ' : ' . $node['port']));
    }
}
$nodeWidget->addPageHeader(_('CONFIGURATION OF NODES'), array($configComboBox, $createForm));
$nodeWidget->addItem($nodeTable);
return $nodeWidget;
Example #5
0
    $cmbTimeZone = new CComboBox('timezone', $timezone);
    for ($i = -12; $i <= 13; $i++) {
        $cmbTimeZone->addItem($i, 'GMT' . sprintf('%+03d:00', $i));
    }
    $frmNode->addRow(S_TIME_ZONE, $cmbTimeZone);
    $frmNode->addRow(S_IP, new CTextBox('ip', $ip, 15));
    $frmNode->addRow(S_PORT, new CNumericBox('port', $port, 5));
    $frmNode->addRow(S_DO_NOT_KEEP_HISTORY_OLDER_THAN, new CNumericBox('slave_history', $slave_history, 6));
    $frmNode->addRow(S_DO_NOT_KEEP_TRENDS_OLDER_THAN, new CNumericBox('slave_trends', $slave_trends, 6));
    $frmNode->addItemToBottomRow(new CButton('save', S_SAVE));
    if (isset($_REQUEST['nodeid']) && $node_type != ZBX_NODE_LOCAL) {
        $frmNode->addItemToBottomRow(SPACE);
        $frmNode->addItemToBottomRow(new CButtonDelete('Delete selected node?', url_param('form') . url_param('nodeid')));
    }
    $frmNode->addItemToBottomRow(SPACE);
    $frmNode->addItemToBottomRow(new CButtonCancel(url_param('config')));
    $frmNode->Show();
} else {
    show_table_header(S_NODES_BIG);
    $table = new CTableInfo(S_NO_NODES_DEFINED);
    $table->SetHeader(array(make_sorting_link(S_ID, 'n.nodeid'), make_sorting_link(S_NAME, 'n.name'), make_sorting_link(S_TYPE, 'n.nodetype'), make_sorting_link(S_TIME_ZONE, 'n.timezone'), make_sorting_link(S_IP . ':' . S_PORT, 'n.ip')));
    $sql = 'SELECT n.* ' . ' FROM nodes n' . ' WHERE ' . DBcondition('n.nodeid', $available_nodes) . order_by('n.nodeid,n.name,n.nodetype,n.timezone,n.ip', 'n.masterid');
    $db_nodes = DBselect($sql);
    while ($row = DBfetch($db_nodes)) {
        $node_type = detect_node_type($row);
        $node_type_name = node_type2str($node_type);
        $table->AddRow(array($row['nodeid'], array(get_node_path($row['masterid']), new CLink($row['nodetype'] ? new CSpan($row['name'], 'bold') : $row['name'], '?&form=update&nodeid=' . $row['nodeid'], 'action')), $node_type == ZBX_NODE_LOCAL ? new CSpan($node_type_name, 'bold') : $node_type_name, new CSpan('GMT' . sprintf('%+03d:00', $row['timezone']), $row['nodetype'] ? 'bold' : null), new CSpan($row['ip'] . ':' . $row['port'], $row['nodetype'] ? 'bold' : null)));
    }
    $table->Show();
}
include_once 'include/page_footer.php';