listSubscribe($mcListId, $email, $mergeFields, 'html', false); if ($success) { Session::set(Session::KEY_MAILCHIMP_LIST_IDS, array_merge(Session::get(Session::KEY_MAILCHIMP_LIST_IDS, []), [$mcListId])); Session::set(Session::KEY_LIST_SUB_SUCCESS, true); Session::set(Session::KEY_LIST_SUB_FB_EVENT, isset($_POST['fbEvent']) ? $_POST['fbEvent'] : null); } else { $error = $mcApi->errorMessage ?: __('Something went wrong adding you to the list.'); Session::set(Session::KEY_LIST_SUB_ERROR, $error); } } return Controller::redirect($nextUrl); } public static function prepareJoinList(array $vars) { $vars['listSig'] = md5(serialize($vars)); $vars += ['btnClass' => 'btn-primary', 'returnUrl' => $_SERVER['REQUEST_URI']]; if (Session::get(Session::KEY_LIST_SUB_SIGNATURE) == $vars['listSig']) { $vars['error'] = Session::get(Session::KEY_LIST_SUB_ERROR); Session::unsetKey(Session::KEY_LIST_SUB_ERROR); $vars['success'] = Session::get(Session::KEY_LIST_SUB_SUCCESS) ? __('Great success! Welcome to LBRY.') : false; $vars['fbEvent'] = Session::get(Session::KEY_LIST_SUB_FB_EVENT) ?: 'Lead'; Session::unsetKey(Session::KEY_LIST_SUB_SUCCESS); Session::unsetKey(Session::KEY_LIST_SUB_FB_EVENT); Session::unsetKey(Session::KEY_LIST_SUB_SIGNATURE); } else { $vars['success'] = false; } return $vars; } }