private static function host($action, $params) { CHost::$error = array(); switch ($action) { case 'add': $result = CHost::add($params); break; case 'get': $result = CHost::get($params); break; case 'getById': $result = CHost::getById($params); break; case 'getId': $result = CHost::getId($params); break; case 'update': $result = CHost::update($params); break; case 'massUpdate': $result = CHost::massUpdate($params); break; case 'delete': $result = CHost::delete($params); break; default: self::$result = array('error' => ZBX_API_ERROR_NO_METHOD, 'data' => 'Method: "' . $action . '" doesn\'t exist.'); return; //exit function } if ($result !== false) { self::$result = array('result' => $result); } else { self::$result = CHost::$error; } }
/** * Get itemid by host.name and item.key * * {@source} * @access public * @static * @since 1.8 * @version 1 * * @static * @param array $item_data * @param array $item_data['key_'] * @param array $item_data['host'] * @param array $item_data['hostid'] OPTIONAL * @return int|boolean */ public static function getId($item_data) { if (isset($item_data['host'])) { $host = $item_data['host']; } else { $host = CHost::getById(array('hostid' => $item_data['hostid'])); $host = $host['host']; } $item = get_item_by_key($item_data['key_'], $host); $result = $item ? true : false; if ($result) { return $item['itemid']; } else { self::$error = array('error' => ZBX_API_ERROR_NO_HOST, 'data' => 'Item doesn\'t exists.'); return false; } }