vars = null; $this->msg = null; $this->name = $name; $this->url_param_exclude = $url_param_exclude; parent::__construct($name, $caption); $this->setMessage($msg); $this->setVars($vars); $this->setAction(null); } public function setVars($value = null) { $this->vars = $value; $this->setAction(null); return $this; } public function setMessage($value = null) { if (is_null($value)) { $value = _('Are you sure you want to perform this action?'); } // if message will contain single quotes, it will break everything, so it must be escaped $this->msg = zbx_jsvalue( $value, false, // not as object false // do not add quotes to the string ); $this->setAction(null); return $this; } public function setAction($value = null) { if (!is_null($value)) { parent::onClick($value); return $this; } global $page; $confirmation = "Confirm('".$this->msg."')"; if (isset($this->vars)) { $link = $page['file'].'?'.$this->name.'=1'.$this->vars; $action = "redirect('".(new CUrl($link))->getUrl()."', 'post'". (($this->url_param_exclude !== '') ? ", '".$this->url_param_exclude."'" : ""). ")"; } else { $action = 'true'; } parent::onClick('if ('.$confirmation.') { return '.$action.'; } else { return false; }'); return $this; } }