$session = CRM_Core_Session::singleton();
$session->pushUserContext(CRM_Utils_System::url('civicrm/profile', 'reset=1'));
- $buttonType = CRM_Utils_Array::value('_qf_Edit_cancel', $_POST);
- // CRM-5849: we should actually check the button *type*, but we get the *value*, potentially translated;
- // we should keep both English and translated checks just to make sure we also handle untranslated Cancels
- if ($buttonType == 'Cancel' or $buttonType == ts('Cancel')) {
- $cancelURL = CRM_Utils_Request::retrieve('cancelURL',
- 'String',
- CRM_Core_DAO::$_nullObject,
- FALSE,
- NULL,
- $_POST
- );
- if ($cancelURL) {
- CRM_Utils_System::redirect($cancelURL);
- }
- }
-
if ($secondArg == 'edit') {
$controller = new CRM_Core_Controller_Simple('CRM_Profile_Form_Edit',
ts('Create Profile'),
$this->_postURL = str_replace('&', '&', $this->_postURL);
$this->_cancelURL = str_replace('&', '&', $this->_cancelURL);
- if ($this->_cancelURL) {
- $this->addElement('hidden', 'cancelURL', $this->_cancelURL);
- }
-
// also retain error URL if set
$this->_errorURL = CRM_Utils_Array::value('errorURL', $_POST);
if ($this->_errorURL) {
'type' => 'cancel',
'name' => ts('Cancel'),
'isDefault' => TRUE,
+ 'js' => array('onclick' => "location.href='{$this->_cancelURL}'; return false;"),
);
$this->addButtons($buttons);
return;
'type' => 'cancel',
'name' => ts('Cancel'),
'isDefault' => TRUE,
+ 'js' => array('onclick' => "location.href='{$this->_cancelURL}'; return false;"),
);
}