37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php
|
|
// Zabbix interface
|
|
// $config_ext['zabbix']
|
|
|
|
class Zabbix {
|
|
}
|
|
|
|
// $smarty->assign('zabbix', print_r($config_ext['zabbix']['host'],true));
|
|
if ($config_ext['zabbix']['enabled']) {
|
|
$smarty->assign("zabbix", true);
|
|
$sql = "SELECT extlink_refid FROM extlink WHERE extlink_type='zabbix' AND asset_id=?";
|
|
$sth = $dbh->prepare($sql);
|
|
$sth->execute([$id]);
|
|
$refid = $sth->fetchColumn();
|
|
|
|
// TODO fetch ext data here
|
|
$zbxconn = false;
|
|
try {
|
|
$zbx = new PDO('mysql:host='.$config_ext['zabbix']['host'].';dbname='.$config_ext['zabbix']['db'].';', $config_ext['zabbix']['user'], $config_ext['zabbix']['pass']);
|
|
$zbx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
$zbx->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
|
$zbxconn = true;
|
|
} catch (Exception $e) {
|
|
$refid = "not_connected:" . $e->getMessage();
|
|
}
|
|
|
|
if ($zbxconn) {
|
|
$sql = "SELECT host FROM hosts WHERE hostid=?";
|
|
$sth = $zbx->prepare($sql);
|
|
$sth->execute([$refid]);
|
|
$zbx_hostname = $sth->fetchColumn();
|
|
$smarty->assign('zbx_hostname', $zbx_hostname);
|
|
$zbx = NULL; // close
|
|
}
|
|
|
|
}
|