From 9d934e86702ca0525ca15bd541f065a38b4ca223 Mon Sep 17 00:00:00 2001
From: echicken <>
Date: Thu, 30 Aug 2012 20:10:39 +0000
Subject: [PATCH] Authenticated users can send and receive email. (To do:
 delete email, change read/unread status.)

---
 web/root/ecwebv3/lib/client.js        |  4 ++--
 web/root/ecwebv3/pages/002-forum.ssjs |  2 +-
 web/root/ecwebv3/pages/999-email.ssjs | 26 ++++++++++++++++++++++++++
 3 files changed, 29 insertions(+), 3 deletions(-)
 create mode 100644 web/root/ecwebv3/pages/999-email.ssjs

diff --git a/web/root/ecwebv3/lib/client.js b/web/root/ecwebv3/lib/client.js
index b57b08c950..0c1cb996e2 100644
--- a/web/root/ecwebv3/lib/client.js
+++ b/web/root/ecwebv3/lib/client.js
@@ -154,7 +154,7 @@ function addReply(url, sub, thread, number) {
 	out += "<input type='hidden' name='postmessage' value='true' />";
 	out += "<input type='hidden' name='sub' value='" + sub + "' />";
 	out += "<input type='hidden' name='irt' value='" + number + "' />";
-	out += "To:<br /><input class='border' type='text' name='to' value='" + response.header.from + "' /><br />";
+	out += "To:<br /><input class='border' type='text' name='to' value='" + response.header.from + "'" + ((sub == "mail")?" readonly":"") + " /><br />";
 	out += "From:<br />";
 	out += "<select name='from'>";
 	out += "<option value='" + response.user.alias + "'>" + response.user.alias + "</option>";
@@ -180,7 +180,7 @@ function addPost(url, sub, alias, name, sig) {
 	out += "<input type='hidden' name='postmessage' value='true' />";
 	out += "<input type='hidden' name='sub' value='" + sub + "' />";
 	out += "<input type='hidden' name='irt' value='0' />";
-	out += "To:<br /><input class='border' type='text' name='to' value='All' /><br />";
+	out += "To:<br /><input class='border' type='text' name='to' value='" + ((sub == "mail")?"":"All") + "' /><br />";
 	out += "From:<br />";
 	out += "<select name='from'>";
 	out += "<option value='" + alias + "'>" + alias + "</option>";
diff --git a/web/root/ecwebv3/pages/002-forum.ssjs b/web/root/ecwebv3/pages/002-forum.ssjs
index 2923d25725..2767d7e69f 100644
--- a/web/root/ecwebv3/pages/002-forum.ssjs
+++ b/web/root/ecwebv3/pages/002-forum.ssjs
@@ -15,7 +15,7 @@ if(http_request.query.hasOwnProperty('board')) {
 	print("</script>");
 }
 
-if(http_request.query.hasOwnProperty('sub')) {
+if(http_request.query.hasOwnProperty('sub') && http_request.query.sub != 'mail') {
 	print("<script type='text/javascript'>");
 	print("loadThreads('http://" + system.inet_addr + ":" + webIni.HTTPPort + "/forum-async.ssjs', '" + http_request.query.sub + "', " + ((http_request.query.hasOwnProperty('thread'))?false:true) + ");");
 	if(http_request.query.hasOwnProperty('thread'))
diff --git a/web/root/ecwebv3/pages/999-email.ssjs b/web/root/ecwebv3/pages/999-email.ssjs
new file mode 100644
index 0000000000..580965a1f9
--- /dev/null
+++ b/web/root/ecwebv3/pages/999-email.ssjs
@@ -0,0 +1,26 @@
+//HIDDEN
+// Private email page for ecwebv3
+// echicken -at- bbs.electronicchicken.com
+
+load('webInit.ssjs');
+load("../web/lib/forum.ssjs");
+
+if(user.alias != webIni.WebGuest) {
+
+	print("<span class='title'>Email</span><br /><br />");
+	print("<div class='border box msg'>");
+	print(format(	"<a class='ulLink' onclick='addPost(\"http://%s:%s/%s/forum-async.ssjs\", \"%s\", \"%s\", \"%s\", \"%s\")'>Compose a new email</a>",
+					system.inet_addr, webIni.HTTPPort, webIni.appendURL, "mail", user.alias, user.name, ""
+		)
+	);
+	print("<div id='sub-mail-newMsgBox'></div>");
+	print("</div>");
+	print("<div id='sub-mail' style='display:none;'></div>");
+	print("<div id='sub-mail-info' class='border box msg' style='display:none;'></div>");
+	print("<script type='text/javascript'>");
+	print("loadThreads('http://" + system.inet_addr + ":" + webIni.HTTPPort + "/forum-async.ssjs', 'mail', " + ((http_request.query.hasOwnProperty('thread'))?false:true) + ");");
+	if(http_request.query.hasOwnProperty('thread'))
+		print("loadThread('http://" + system.inet_addr + ":" + webIni.HTTPPort + "/forum-async.ssjs', 'mail', '" + http_request.query.thread + "', " + false + ");");
+	print("</script>");
+
+}
\ No newline at end of file
-- 
GitLab