class CControllerRegExCreate extends CController {
protected function checkInput() {
'name' => 'required|string|not_empty|db regexps.name',
'test_string' => 'string|db regexps.test_string',
'expressions' => 'required|array',
'form_refresh' => 'int32'
$ret = $this->validateInput($fields);
switch ($this->getValidationError()) {
case self::VALIDATION_ERROR:
$url = (new CUrl('zabbix.php'))->setArgument('action', 'regex.edit');
$response = new CControllerResponseRedirect($url);
$response->setFormData($this->getInputAll());
CMessageHelper::setErrorTitle(_('Cannot add regular expression'));
$this->setResponse($response);
case self::VALIDATION_FATAL_ERROR:
$this->setResponse(new CControllerResponseFatal());
protected function checkPermissions() {
return $this->checkAccess(CRoleHelper::UI_ADMINISTRATION_GENERAL);
protected function doAction() {
$result = API::Regexp()->create([
'name' => $this->getInput('name'),
'test_string' => $this->getInput('test_string', ''),
'expressions' => $this->getInput('expressions')
$response = new CControllerResponseRedirect((new CUrl('zabbix.php'))->setArgument('action', 'regex.list'));
CMessageHelper::setSuccessTitle(_('Regular expression added'));
$response = new CControllerResponseRedirect((new CUrl('zabbix.php'))->setArgument('action', 'regex.edit'));
$response->setFormData($this->getInputAll());
CMessageHelper::setErrorTitle(_('Cannot add regular expression'));
$this->setResponse($response);