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