diff src/nabble/view/naml/email.naml @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children cc5b7d515580
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/nabble/view/naml/email.naml	Thu Mar 21 19:15:52 2019 -0600
@@ -0,0 +1,407 @@
+<macro name="notify_subscribers" requires="node">
+	<n.get_instant_emails.new_node.as_node_page.instant_emails />
+</macro>
+
+<macro name="instant_emails" requires="instant_mail,node_page">
+	<n.subscription_list.loop.>
+		<n.if.current_subscription.user.should_get_instant_mail>
+			<then.current_subscription.send_instant_email />
+		</n.if.current_subscription.user.should_get_instant_mail>
+	</n.subscription_list.loop.>
+</macro>
+
+<macro name="should_get_instant_mail" requires="user,node_page" >
+	<n.this_user.can_view.page_node />
+</macro>
+
+<macro name="send_instant_email" requires="subscription,node_page">
+	<n.set_local_subscription.this_subscription/>
+	<n.send_subscription_email
+		node_attr = "[n.page_node/]"
+		text_part = "[n.local_subscription.instant_text/]"
+		html_part = "[n.local_subscription.instant_html/]"
+	/>
+</macro>
+
+<macro name="send_subscription_email" parameters="node_attr,text_part,html_part" requires="subscription">
+	<n.set_local_subscription.this_subscription/>
+	<n.set_local_node.node_attr/>
+	<n.block.>
+		<n.new_email.>
+			<n.send>
+				<to.local_subscription.user.user_email/>
+				<to_name.local_subscription.user.name/>
+				<from.local_subscription.user.reply_address_for.local_node/>
+				<from_name><n.local_node.owner.name/> [via <n.root_node.subject/>]</from_name>
+				<subject.local_node.subject/>
+				<text_part.text_part/>
+				<html_part.html_part/>
+				<set_headers_for.local_node/>
+				<bounce_to.local_subscription.user.bounces_address/>
+			</n.send>
+		</n.new_email.>
+	</n.block.>
+</macro>
+
+<macro name="send_assign_email" requires="node_page">
+	<n.if.topic_assignee.can_view.page_node>
+		<then.new_email.>
+			<n.send>
+				<to.topic_assignee.user_email/>
+				<to_name.topic_assignee.name/>
+				<from.topic_assignee.reply_address_for.page_node/>
+				<from_name><n.page_node.owner.name/> [via <n.root_node.subject/>]</from_name>
+				<subject.page_node.subject/>
+				<text_part.assign_text/>
+				<html_part.assign_html/>
+				<set_headers_for.page_node/>
+				<bounce_to.topic_assignee.bounces_address/>
+			</n.send>
+		</then.new_email.>
+	</n.if.topic_assignee.can_view.page_node>
+</macro>
+
+<macro name="digest email" requires="subscription,node_list">
+	<n.set_local_subscription.this_subscription/>
+	<n.filter_by.local_subscription.user.can_view.current_node/>
+	<n.new_email.>
+		<n.send>
+			<to.local_subscription.user.user_email/>
+			<to_name.local_subscription.user.name/>
+			<from_name.root_node.subject/>
+			<subject><n.local_subscription.node.subject/> - <t>Digest Email</t></subject>
+			<text_part.local_subscription.digest_text/>
+			<html_part.local_subscription.digest_html/>
+			<bounce_to.local_subscription.user.bounces_address/>
+		</n.send>
+	</n.new_email.>
+</macro>
+
+<macro name="instant_text" requires="subscription,node_page" unindent="true">
+	<n.if.page_node.is_app>
+		<then>
+			<t><t.username.page_node.owner.name/> created a new subcategory</t>:
+			<n.page_node.subject/>
+		</then>
+	</n.if.page_node.is_app>
+
+	<n.page_node.text_email_message_with_signature />
+	_______________________________________________
+	<t>If you reply to this email, your message will be added to the discussion below</t>:
+	<n.page_node.url/>
+	<n.start_new_topic_line/>
+	<n.unsubscribe_line format="text"/>
+</macro>
+
+<macro name="instant_html" requires="subscription,node_page">
+	<n.if.page_node.is_app>
+		<then>
+			<t><t.username.page_node.owner.name/> created a new subcategory</t>:
+			<b><n.page_node.subject/></b><br/><br/>
+		</then>
+	</n.if.page_node.is_app>
+
+	<n.page_node.html_email_message_with_signature/>
+	<br/>
+	<br/>
+	<hr noshade="noshade" size="1" color="#cccccc" />
+	<div style="color:#444; font: 12px tahoma,geneva,helvetica,arial,sans-serif;">
+		<div style="font-weight:bold"><t>If you reply to this email, your message will be added to the discussion below</t>:</div>
+		<a href="[n.page_node.url/]"><n.page_node.url/></a>
+	</div>
+	<div style="color:#666; font: 11px tahoma,geneva,helvetica,arial,sans-serif;margin-top:.4em;line-height:1.5em">
+		<n.start_new_topic_line append="[br/]"/>
+		<n.unsubscribe_line format="html"/><br/>
+		<n.macro_viewer_email_link macro="instant_html"/>
+	</div>
+</macro>
+
+<macro name="assign_text" requires="node_page" unindent="true">
+	<n.page_node.text_email_message_with_signature/>
+	______________________________________
+	<t>This topic is assigned to you at priority <t.priority.topic_priority/></t>
+	<t>View message</t> @ <n.page_node.url/>
+</macro>
+
+<macro name="assign_html" requires="node_page">
+	<n.page_node.html_email_message_with_signature/>
+	<br/>
+	<br/>
+	<hr noshade="noshade" size="1" color="#cccccc" />
+	<div style="color:#666666;font: 11px tahoma,geneva,helvetica,arial,sans-serif;margin-bottom:1.5em;line-height:1.5em">
+		<t>This topic is assigned to you at priority <t.priority><div style="[n.priority_style/]"><n.topic_priority/></div></t.priority></t><br/>
+		<t>View message</t> @ <a href="[n.page_node.url/]"><n.page_node.url/></a><br/>
+		<n.macro_viewer_email_link macro="assign_html"/>
+	</div>
+</macro>
+
+<macro name="priority_style" requires="node_page">
+	text-align:center;
+	background-color: #<n.priority_bg_color/>;
+	border:1px solid #<n.priority_border_color/>;
+	color:#FFFFFF;
+	display:inline;
+	padding:0 .3em;
+	font-weight:bold;
+</macro>
+
+<macro name="priority_bg_color" requires="node_page">
+	<n.string_list. values="0,E94747,D8B23D,BCBCBC,81C7DE,4A7BD5" separator=",">
+		<n.at_index.topic_priority/>
+	</n.string_list.>
+</macro>
+
+<macro name="priority_border_color" requires="node_page">
+	<n.string_list. values="0,F4A2A2,F5DAA9,DCDCDC,B9DDE9,A3BCEA" separator=",">
+		<n.at_index.topic_priority/>
+	</n.string_list.>
+</macro>
+
+<macro name="start_new_topic_line" parameters="append" requires="subscription, node_page">
+    <n.set_local_user.this_subscription.user/>
+    <n.set_local_node.page_node.get_app_node/>
+    <n.if.both condition1="[n.local_user.has_subscription_to_descentants_of.local_node/]" condition2="[n.local_user.can_reply_to.local_node/]">
+        <then>
+            <t>To start a new topic under <t.location.local_node.subject/>, email <t.p2.local_node.user_address email="[n.local_user.user_email/]"/></t> <n.hide_null.append/>
+        </then>
+    </n.if.both>
+</macro>
+
+<macro name="unsubscribe_line" parameters="format" requires="subscription">
+	<n.if.equal value1="[n.format/]" value2="html">
+		<then><t>To unsubscribe from <t.location.node.subject/></t>, <a href="[n.unsubscribe_by_code_url/]"><t>click here</t></a>.</then>
+		<else><t>To unsubscribe from <t.location.node.subject/></t>, <t>visit <t.url.unsubscribe_by_code_url/></t></else>
+	</n.if.equal>
+</macro>
+
+<macro name="remove_unsubscription_link" dot_parameter="html">
+	<n.regex_replace_all
+		text = "[n.html/]"
+		pattern = 'http://[^"\s]+\.jtp\?macro=unsubscribe_by_code[^"\s]*'
+		replacement = ''
+	/>
+</macro>
+
+<macro name="email_message" dot_parameter="do">
+	<n.do/>
+</macro>
+
+<macro name="html_email_message_with_signature" requires="node">
+	<n.email_message.>
+		<n.fix_quotes.>
+			<n.fix_signature.>
+				<n.message_with_signature/>
+			</n.fix_signature.>
+		</n.fix_quotes.>
+	</n.email_message.>
+</macro>
+
+<macro name="text_email_message_with_signature" requires="node" unindent="true">
+	<n.email_message.>
+		<n.node_message_as_text />
+		<n.if.owner.has_signature>
+			<then>
+				<n.crlf/>-----
+				<n.owner.signature.as_text/>
+			</then>
+		</n.if.owner.has_signature>
+	</n.email_message.>
+</macro>
+
+<macro name="fix_quotes" dot_parameter="text">
+	<n.regex_replace_all. pattern="[n.lt/]blockquote" replacement="[n.lt/]blockquote style='border-left:2px solid #CCCCCC;padding:0 1em'">
+		<n.text/>
+	</n.regex_replace_all.>
+</macro>
+
+<macro name="fix_signature" dot_parameter="text">
+	<n.regex_replace_all. pattern='div class="signature weak-color"' replacement='div class="signature" style="margin-top:1em;color:#666666;font-size:11px;"'>
+		<n.text/>
+	</n.regex_replace_all.>
+</macro>
+
+<macro name="digest_text" requires="subscription,node_list" unindent="true">
+	<n.set_local_subscription.this_subscription/>
+	<t>Digest Email</t>
+	"<n.local_subscription.node.subject/>"
+	<n.digest_post_count/>
+
+	<n.reset_list_index/>
+	<n.loop.>
+		[<n.current_node.digest_subject/>]
+		<n.compress.>
+			<n.truncate. size="200">
+				<n.current_node.message.as_text/>
+			</n.truncate.>
+		</n.compress.>
+		<n.compress.>
+			<t>by <t.author.current_node.owner.name/></t>
+			<t>on <t.date.current_node.when_created.custom_format format="yyyy-MM-dd"/></t>
+			<t>in <t.location.current_node.get_app_node.subject/></t>
+		</n.compress.>
+
+		<t>Read more</t>
+		<n.current_node.url/>
+
+		<n.nop/>
+	</n.loop.>
+	<n.unsubscribe_line format="text"/>
+
+	---
+	<t>DO NOT REPLY TO THIS EMAIL</t>
+
+	<t>Replies sent to this address are not read or processed.</t>
+	<t>If you want to respond to a post for which you received this email,
+	please go to the website: <t.url.local_subscription.node.url/></t>
+</macro>
+
+<macro name="digest_html" requires="subscription,node_list" unindent="true">
+	<n.set_local_subscription.this_subscription/>
+	<h2><t>Digest Email</t></h2>
+	<h3><n.local_subscription.node.subject/></h3>
+	<div style="color:#666666;font-weight:bold">
+		<n.digest_post_count/>
+	</div>
+
+	<n.reset_list_index/>
+	<n.loop.>
+		<p>
+			<div style="font-size:120%">
+				<a href="[n.current_node.url/]"><n.current_node.digest_subject/></a>
+			</div>
+			<n.trim.truncate. size="200">
+				<n.compress.current_node.message.as_text/>
+			</n.trim.truncate.>
+			<div style="color:#666666; font: 11px tahoma,geneva,helvetica,arial,sans-serif;">
+				<t>by <t.author><b><n.current_node.owner.name/></b></t.author></t>
+				<t>on <t.date.current_node.when_created.custom_format format="yyyy-MM-dd"/></t>
+				<t>in <t.location><i><n.current_node.get_app_node.subject/></i></t.location></t>
+			</div>
+		</p>
+	</n.loop.>
+
+	<br/>
+	<br/>
+	<n.unsubscribe_line format="html"/>
+
+	<hr noshade="noshade" size="1" color="#cccccc" />
+	<div style="color:#666666; font: 11px tahoma,geneva,helvetica,arial,sans-serif;line-height:1.5em">
+		<t>DO NOT REPLY TO THIS EMAIL</t><br/>
+		<br/>
+		<t>Replies sent to this address are not read or processed.</t>
+		<t>If you want to respond to a post for which you received this email,
+		please go to the website: <t.url.local_subscription.node.url/></t>
+		<br/>
+		<n.macro_viewer_email_link macro="digest_html"/>
+	</div>
+</macro>
+
+<macro name="digest_subject" requires="node">
+	<n.compress.>
+		<n.if.is_post>
+			<then>
+				<n.topic_node.subject/>
+				<n.if.not.ends_with text="[n.subject/]" suffix="[n.topic_node.subject/]" >
+					<then>(<n.subject/>)</then>
+				</n.if.not.ends_with>
+			</then>
+			<else>
+				<n.subject/>
+			</else>
+		</n.if.is_post>
+	</n.compress.>
+</macro>
+
+<macro name="digest_post_count" requires="node_list">
+	<n.one_or_many.element_count>
+		<one_text><t>new post</t></one_text>
+		<many_text><t>new posts</t></many_text>
+	</n.one_or_many.element_count>
+</macro>
+
+<macro name="topic_assignee" dot_parameter="do" requires="node_page">
+	<n.page_node.topic_node.assignee.do/>
+</macro>
+
+<macro name="topic_priority" requires="node_page">
+	<n.page_node.topic_node.priority/>
+</macro>
+
+<macro name="send bookmark email" unindent="true">
+	<n.set_var. name='what'>
+		<n.root_node.lower_case_view_name/>
+	</n.set_var.>
+	<n.new_email.>
+		<n.send>
+			<to><n.root_node.owner.user_email/></to>
+			<subject><t>Link to <t.location.root_node.subject/></t></subject>
+			<text_part>
+				<t>Hi <t.name.root_node.owner.name/>,</t>
+				<t>Congratulations on your new <t.app.var name='what'/>!</t>
+
+				<n.root_node.subject/>
+				<n.base_url/>
+
+				<t>Please bookmark the link above or save this email so you
+				can easily find your <t.app.var name='what'/> in the future.</t>
+
+				<t>You can also promote your <t.app.var name='what'/> by sending the link
+				to your friends, embedding it onto your website or talking about it on other forums.</t>
+
+				<t>Sincerely,</t>
+				<t>The Nabble Team</t>
+				<n.nabble_homepage/>
+				__________________________________________________________
+				<t>This is an automatic email sent by Nabble to confirm the creation of your new <t.app.var name='what'/>.
+				If you didn't create the <t.app.var name='what'/> mentioned above, please contact us through
+				the Nabble Support forum.</t>
+			</text_part>
+			<html_part>
+				<t>Hi <t.name.root_node.owner.name/>,</t><br/>
+				<br/>
+				<t>Congratulations on your new <t.app.var name='what'/>!</t><br/>
+				<br/>
+				<n.root_node.subject/><br/>
+				<n.base_url/><br/>
+				<br/>
+				<t>Please bookmark the link above or save this email so you
+				can easily find your <t.app.var name='what'/> in the future.</t><br/>
+				<br/>
+				<t>You can also promote your <t.app.var name='what'/> by sending the link
+				to your friends, embedding it onto your website or talking about it on other forums.</t><br/>
+				<br/>
+				<t>Sincerely,</t><br/>
+				<t>The Nabble Team</t><br/>
+				<n.nabble_homepage/><br/>
+				<hr noshade="noshade" size="1" color="#cccccc" />
+				<div style="color:#666666; font: 11px tahoma,geneva,helvetica,arial,sans-serif;line-height:1.5em">
+					<t>This is an automatic email sent by Nabble to confirm the creation of your new <t.app.var name='what'/>.
+					If you didn't create the <t.app.var name='what'/> mentioned above, please contact us through
+					the Nabble Support forum.</t>
+					<br/>
+					<n.macro_viewer_email_link macro="send bookmark email"/>
+				</div>
+			</html_part>
+		</n.send>
+	</n.new_email.>
+</macro>
+
+<macro name="macro_viewer_email_link" parameters="macro">
+	<n.set_var. name="url"><n.macro_viewer_email_url macro="[n.macro/]"/></n.set_var.>
+	<a href="[n.var name='url'/]" rel="nofollow" style="font:9px serif">NAML</a>
+</macro>
+
+<macro name="macro_viewer_email_url" parameters="macro">
+	<n.remove_spaces.>
+		<n.base_url/>
+		<n.macro_search. query="[n.macro/]" search_by="name">
+			<n.if.next_element>
+				<then.current_command.command_path/>
+			</n.if.next_element>
+		</n.macro_search.>
+	</n.remove_spaces.>
+</macro>
+
+<macro name="user email changed" parameters="old_email,new_email">
+	<n.comment.>To be overridden</n.comment.>
+</macro>
\ No newline at end of file