static function Validate($cId, $sUserCode, $bCaseInsensitive = true) { if ($bCaseInsensitive) { $sUserCode = strtoupper($sUserCode); } $code = fn_get_object_by_ekey(md5($cId), 'C'); if (!empty($code) && $sUserCode == $code) { return true; } return false; }
} if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Add email to maillist if ($mode == 'update') { if (!empty($_REQUEST['subscribe_email'])) { fn_em_subscribe_email($_REQUEST['subscribe_email'], array('name' => fn_em_get_subscriber_name())); } } return array(CONTROLLER_STATUS_REDIRECT); } if ($mode == 'unsubscribe') { if (!empty($_REQUEST['unsubscribe_key'])) { fn_em_unsubscribe($_REQUEST['unsubscribe_key']); Registry::get('view')->assign('notification_msg', __('email_marketing.text_unsubscribe_successful')); $msg = Registry::get('view')->fetch('addons/email_marketing/common/notification.tpl'); fn_set_notification('I', __('email_marketing.unsubscribe_successful'), $msg); } return array(CONTROLLER_STATUS_REDIRECT, fn_url()); } elseif ($mode == 'confirm') { if (!empty($_REQUEST['ekey'])) { $email = fn_get_object_by_ekey($_REQUEST['ekey'], 'E'); if (!empty($email) && fn_em_confirm_subscription($email)) { Registry::get('view')->assign('notification_msg', __('email_marketing.text_subscription_confirmed_2')); $msg = Registry::get('view')->fetch('addons/email_marketing/common/notification.tpl'); fn_set_notification('I', __('email_marketing.subscription_confirmed_2'), $msg); } else { fn_set_notification('E', __('error'), __('text_ekey_not_valid')); } } return array(CONTROLLER_STATUS_REDIRECT, fn_url()); }
/** * Authorize user by ekey * and delete expired ekeys. * * @param string $ekey * @return bool|string */ function fn_recover_password_login($ekey = null) { if ($ekey) { $u_id = fn_get_object_by_ekey($ekey, 'U'); if ($u_id) { $user_status = fn_login_user($u_id); if ($user_status == LOGIN_STATUS_OK) { fn_set_notification('N', __('notice'), __('text_change_password'), 'I', 'notice_text_change_password'); return $u_id; } else { fn_set_notification('E', __('error'), __('error_login_not_exists')); return $user_status; } } else { fn_set_notification('E', __('error'), __('text_ekey_not_valid')); return false; } } return null; }