Mercurial Hosting > nabble
diff src/nabble/view/naml/unsubscribe.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/view/naml/unsubscribe.naml Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,170 @@ +<macro name="unsubscribe" requires="servlet"> + <n.node_page.> + <n.if.is_submitted_form> + <then> + <n.if.equal value1="remove-subscription" value2="[n.action_parameter/]"> + <then> + <n.if.page_node.visitor_is_subscribed> + <then.page_node.visitor_subscription.remove/> + </n.if.page_node.visitor_is_subscribed> + <n.redirect_to.subscription_removed_url/> + </then> + </n.if.equal> + </then> + </n.if.is_submitted_form> + <n.html> + <head> + <meta name="robots" content="noindex,nofollow"/> + <n.title.><t>Unsubscribe</t></n.title.> + <n.main_title_css/> + </head> + <body> + <n.visitor.profile_header/> + + <div class="shaded-bg-color rounded second-font main-title"> + <t>Remove Subscription</t> + </div> + <div style="font-weight:bold;margin: 2em 0 1em"> + <t>Do you really want to unsubscribe from <t.location><a href="[n.page_node.url/]"><n.page_node.subject/></a></t.location>?</t> + </div> + + <n.unsubscription_form/> + </body> + </n.html> + </n.node_page.> +</macro> + +<macro name="unsubscription_form" requires="node_page"> + <n.form.> + <input type="hidden" name="node" value="[n.page_node.id/]"/> + <input type="hidden" name="action" value="remove-subscription"/> + <input type="submit" class="toolbar action-button" value="[t]Yes, unsubscribe now[/t]"/> + <t>or</t> <a href="[n.page_node.url/]"><t>Cancel</t></a> + </n.form.> +</macro> + +<macro name="subscription_removed" requires="servlet"> + <n.node_page.> + <n.subscription_msg + header="[t]Subscription Removed[/t]" + message="[t]Your subscription to [t.location.page_node.subject/] has been successfully removed.[/t]" + /> + </n.node_page.> +</macro> + +<macro name="subscription_removed_url"> + <n.remove_spaces.> + <n.page_node.base_url/> + /template/NamlServlet.jtp?macro=subscription_removed&node=<n.page_node.id/> + </n.remove_spaces.> +</macro> + +<macro name="unsubscribe_by_code_url" requires="subscription"> + <n.remove_spaces.> + <n.base_url/> + <n.encode_url.> + /template/NamlServlet.jtp?macro=unsubscribe_by_code&node=<n.node.id/>&code=<n.subscription_code/> + </n.encode_url.> + </n.remove_spaces.> +</macro> + +<!-- + Unsubscribe by code has a confirmation step to prevent crawlers from unsubscribing users without intention. +--> +<macro name="unsubscribe_by_code" requires="servlet"> + <n.node_page.> + <n.catch_exception. id="remove-subscription"> + <n.page_node.get_subscription_by_code. code="[n.code_parameter/]"> + <n.if.not.is_subscribed> + <then.throw_template_exception name="not_subscribed"/> + </n.if.not.is_subscribed> + <n.if.is_submitted_form> + <then> + <n.remove/> + <n.send_unsubscription_reminder/> + </then> + </n.if.is_submitted_form> + </n.page_node.get_subscription_by_code.> + </n.catch_exception.> + <n.html> + <head> + <meta name="robots" content="noindex,nofollow"/> + <n.title.><t>Remove Subscription</t></n.title.> + </head> + <body> + <n.edit_header first_text="[n.page_node.subject/]" second_text="[t]Remove Subscription[/t]" /> + + <n.if.has_exception for="remove-subscription"> + <then.handle_unsubscription_by_code_errors/> + <else> + <n.if.is_submitted_form> + <then> + <h2><t>Subscription Removed</t></h2> + <t>Your subscription to <t.location.page_node.subject/> has been successfully removed.</t> + </then> + <else> + <h2><t>Do you really want to unsubscribe from <t.location><a href="[n.page_node.url/]"><n.page_node.subject/></a></t.location>?</t></h2> + <n.form.> + <input type="hidden" name="code" value="[n.code_parameter/]"/> + <input type="hidden" name="action" value="remove-subscription"/> + <input type="submit" class="toolbar action-button" value="[t]Yes, unsubscribe now[/t]"/> + <t>or</t> <a href="[n.page_node.url/]"><t>Cancel</t></a> + </n.form.> + </else> + </n.if.is_submitted_form> + </else> + </n.if.has_exception> + </body> + </n.html> + </n.node_page.> +</macro> + +<macro name="handle_unsubscription_by_code_errors"> + <n.handle_exception. for="remove-subscription"> + <n.exception. name="invalid_link"> + <h2><t>Invalid Code</t></h2> + <t>The code in the URL is not valid.</t> + <t>Please contact Nabble Support if you need help.</t> + </n.exception.> + <n.exception. name="not_subscribed"> + <h2><t>You're not a subscriber</t></h2> + <t>You are not subscribed to <t.location.page_node.subject/>.</t> + </n.exception.> + </n.handle_exception.> +</macro> + +<macro name="send_unsubscription_reminder" requires="subscription,node_page,servlet"> + <n.set_local_subscription.this_subscription /> + <n.new_email.> + <n.send> + <to><n.user.user_email/></to> + <subject><t>You have been unsubscribed from <t.location.page_node.subject/></t></subject> + <text_part> + <t>Dear user,</t> + + <t>Your subscription to <t.location.page_node.subject/> has been removed. + If this was a mistake, you can re-subscribe by following the link below:</t> + <n.local_subscription.subscribe_by_code_url subscription_to="[n.to/]"/> + + <t>Sincerely,</t> + <t>The Nabble team</t> + ________________________________________ + <t>Free Embeddable <t.app.page_node.view_name/></t> powered by Nabble + <n.nabble_homepage/> + </text_part> + <html_part> + <t>Dear user,</t><br/> + <br/> + <t>Your subscription to <t.location.page_node.subject/> has been removed. + If this was a mistake, you can re-subscribe by following the link below:</t><br/> + <n.local_subscription.subscribe_by_code_url subscription_to="[n.to/]"/><br/> + <br/> + <t>Sincerely,</t><br/> + <t>The Nabble team</t><br/> + ________________________________________<br/> + <t>Free Embeddable <t.app.page_node.view_name/></t> powered by Nabble<br/> + <n.nabble_homepage/><br/><br/> + </html_part> + </n.send> + </n.new_email.> +</macro>