示例#1
0
function profile_value_by_type(&$value, $type)
{
    if (profile_type($type, 'array')) {
        $result = is_array($value) ? $value : array($value);
    } else {
        if (is_array($value)) {
            if (!isset($value['value'])) {
                return false;
            }
            $result = $value;
            switch ($type) {
                case PROFILE_TYPE_ID:
                case PROFILE_TYPE_INT:
                    if (zbx_numeric($value['value'])) {
                        $result['value'] = $value['value'];
                    } else {
                        $result = false;
                    }
                    break;
                case PROFILE_TYPE_STR:
                    $result['value'] = strval($value['value']);
                    break;
                default:
                    $result = false;
            }
        } else {
            switch ($type) {
                case PROFILE_TYPE_ID:
                    $result = zbx_ctype_digit($value) ? $value : false;
                    break;
                case PROFILE_TYPE_INT:
                    $result = zbx_numeric($value) ? $value : false;
                    break;
                case PROFILE_TYPE_STR:
                    $result = strval($value);
                    break;
                default:
                    $result = false;
            }
        }
    }
    return $result;
}
示例#2
0
文件: db.inc.php 项目: rennhak/zabbix
function in_node($id_var, $nodes = null)
{
    if (is_null($nodes)) {
        $nodes = get_current_nodeid();
    }
    if (empty($nodes)) {
        $nodes = 0;
    }
    if (zbx_numeric($nodes)) {
        $nodes = array($nodes);
    } else {
        if (is_string($nodes)) {
            if (!eregi('([0-9\\,]+)', $nodes)) {
                fatal_error('Incorrect "nodes" for "in_node". Passed [' . $nodes . ']');
            }
            $nodes = explode(',', $nodes);
        } else {
            if (!is_array($nodes)) {
                fatal_error('Incorrect type of "nodes" for "in_node". Passed [' . gettype($nodes) . ']');
            }
        }
    }
    return uint_in_array(id2nodeid($id_var), $nodes);
}