From e97dc1a9c09a19726cec69105a1d8f4dbffd6469 Mon Sep 17 00:00:00 2001 From: jdarwood007 Date: Wed, 18 Oct 2023 16:14:21 -0700 Subject: [PATCH] Remove account deletion option from unsubscribe --- Sources/Notify.php | 35 +++++++--------------- Sources/Subs-Post.php | 2 +- Themes/default/Notify.template.php | 5 ++-- Themes/default/languages/index.english.php | 2 +- 4 files changed, 14 insertions(+), 30 deletions(-) diff --git a/Sources/Notify.php b/Sources/Notify.php index 28e7c1ec2e..36f6d73803 100644 --- a/Sources/Notify.php +++ b/Sources/Notify.php @@ -395,7 +395,7 @@ function Unsubscribe() // Logged in? Just delete your account. if (!$user_info['is_guest']) - redirectexit('action=profile;area=deleteaccount'); + redirectexit('action=profile;area=notification'); loadTemplate('Notify'); $context['page_title'] = $txt['unsubscribe']; @@ -404,45 +404,30 @@ function Unsubscribe() { $member_info = getMemberWithToken('unsubscribe'); - if (isset($_POST['delete']) || isset($_POST['notify'])) + if (isset($_POST['notify'])) + { validateToken('unsubscribe'); - // Approval is required to delete, but this will also stop notifications. - if (isset($_POST['delete']) && !empty($modSettings['approveAccountDeletion']) && !allowedTo('moderate_forum')) - { - updateMemberData($member_info['id'], array('is_activated' => 4)); - updateSettings(array('unapprovedMembers' => true), true); - } - // Also check if you typed your password correctly. - elseif (isset($_POST['delete'])) - { - require_once($sourcedir . '/Subs-Members.php'); - deleteMembers($member_info['id']); - } - elseif (isset($_POST['notify'])) - { // Get all notifications preferences. $notifyPrefs = getNotifyPrefs($member_info['id'], '', true); if (!empty($notifyPrefs[$member_info['id']])) { + // 0 = None, 1 = Alert, 2 = Email, 3 = Alert + Email foreach ($notifyPrefs[$member_info['id']] as $pref_key => &$pref_value) - if ($pref_key != 'alert_timeout') + if ($pref_key != 'alert_timeout' && $pref_value > 0) $pref_value = $pref_value == 2 ? 0 : 1; setNotifyPrefs($member_info['id'], $notifyPrefs[$member_info['id']]); } - } - if (isset($_POST['delete']) || isset($_POST['notify'])) - { $context['sub_template'] = 'unsubscribe_success'; $context['success_msg'] = $txt['unsubscribe_success_done']; } else { createToken('unsubscribe'); - $context['sub_template'] = 'unsubscribe_type'; + $context['sub_template'] = 'unsubscribe_confirm'; $context['token'] = $smcFunc['htmlspecialchars']($_REQUEST['token']); $context['user_id'] = $member_info['id']; } @@ -481,16 +466,16 @@ function Unsubscribe() $txt['unsubscribe_email_subject'], sprintf($txt['unsubscribe_email_body'], $scripturl . '?action=unsubscribe;u=' . $user_settings['id_member'] . ';token=' . $token) . "\n\n" . sprintf($txt['regards_team'], $context['forum_name']) ); - - $context['sub_template'] = 'unsubscribe_success'; - $context['success_msg'] = $txt['unsubscribe_success_request']; } + + $context['sub_template'] = 'unsubscribe_success'; + $context['success_msg'] = $txt['unsubscribe_success_request']; } else { // Default email address if provided with one. $context['email_address'] = isset($_GET['email']) ? $smcFunc['htmlspecialchars'](urldecode($_GET['email'])) : ''; - $context['sub_template'] = 'unsubscribe'; + $context['sub_template'] = 'unsubscribe_request'; createToken('unsubscribe'); } } diff --git a/Sources/Subs-Post.php b/Sources/Subs-Post.php index 634dad54d3..4de6aa68ac 100644 --- a/Sources/Subs-Post.php +++ b/Sources/Subs-Post.php @@ -626,7 +626,7 @@ function sendmail($to, $subject, $message, $from = null, $message_id = null, $se $subject = un_htmlspecialchars($subject); // Add in a unsubscribe link. - $message .= "\n\n" . $txt['unsubscribe'] . ': ' . $scripturl . '?action=unsubscribe'; + $message .= "\n\n" . sprintf($txt['unsubscribe_email_message'], $scripturl . '?action=unsubscribe'); // Make the message use the proper line breaks. $message = str_replace(array("\r", "\n"), array('', $line_break), $message); diff --git a/Themes/default/Notify.template.php b/Themes/default/Notify.template.php index 3955528c77..ee1f874b6d 100644 --- a/Themes/default/Notify.template.php +++ b/Themes/default/Notify.template.php @@ -98,7 +98,7 @@ function template_notify_pref_changed() /** * */ -function template_unsubscribe() +function template_unsubscribe_request() { global $context, $txt, $scripturl; @@ -149,7 +149,7 @@ function template_unsubscribe_success() /** * */ -function template_unsubscribe_type() +function template_unsubscribe_confirm() { global $txt, $scripturl, $context; @@ -163,7 +163,6 @@ function template_unsubscribe_type()

-

diff --git a/Themes/default/languages/index.english.php b/Themes/default/languages/index.english.php index 6ed19d3101..2c2c8df471 100644 --- a/Themes/default/languages/index.english.php +++ b/Themes/default/languages/index.english.php @@ -960,7 +960,7 @@ $txt['unsubscribe_email_body'] = 'A request to unsubscribe was received. To approve this request, follow this link: %1$s.'; $txt['unsubscribe_success_request'] = 'An email has been sent with a approval link to the member if one exists.'; $txt['unsubscribe_success_done'] = 'Your rqeuest has been received and is being processed.'; -$txt['unsubscribe_delete_account'] = 'Delete Account'; $txt['unsubscribe_remove_notifications'] = 'Remove all email notifications'; +$txt['unsubscribe_email_message'] = 'To unsubscribe, visit %1$s'; ?> \ No newline at end of file