/**
* Validate vsize and hsize parameters.
*
* @param array $screen
*
* @throws APIException if the input is invalid.
*/
protected function validateScreenSize(array $screen) {
foreach (['vsize', 'hsize'] as $field_name) {
if (!array_key_exists($field_name, $screen)) {
continue;
}
if (!zbx_is_int($screen[$field_name])) {
self::exception(ZBX_API_ERROR_PERMISSIONS,
_s('Incorrect value for field "%1$s": %2$s.', $field_name, _('a numeric value is expected'))
);
}
if ($screen[$field_name] < SCREEN_MIN_SIZE || $screen[$field_name] > SCREEN_MAX_SIZE) {
self::exception(ZBX_API_ERROR_PERMISSIONS,
_s('Incorrect value for field "%1$s": %2$s.', $field_name,
_s('must be between "%1$s" and "%2$s"', SCREEN_MIN_SIZE, SCREEN_MAX_SIZE)
)
);
}
}
}