From ee48da3d8c18e5035e619784e34f17d0c094c540 Mon Sep 17 00:00:00 2001
From: echicken <>
Date: Tue, 28 Aug 2012 20:43:03 +0000
Subject: [PATCH] Initial commit of ecWeb v3

---
 web/root/ecwebv3/forum-async.ssjs | 27 +++++++++
 web/root/ecwebv3/index.xjs        | 98 +++++++++++++++++++++++++++++++
 2 files changed, 125 insertions(+)
 create mode 100644 web/root/ecwebv3/forum-async.ssjs
 create mode 100644 web/root/ecwebv3/index.xjs

diff --git a/web/root/ecwebv3/forum-async.ssjs b/web/root/ecwebv3/forum-async.ssjs
new file mode 100644
index 0000000000..9f2bd4fa0b
--- /dev/null
+++ b/web/root/ecwebv3/forum-async.ssjs
@@ -0,0 +1,27 @@
+// Asynchronous forum functions for ecWeb v3
+// echicken -at- bbs.electronicchicken.com
+
+load('webInit.ssjs');
+load("../web/lib/forum.ssjs");
+
+if(http_request.query.hasOwnProperty('postmessage')) {
+	var x = postMessage(
+		http_request.query.sub,
+		http_request.query.irt,
+		http_request.query.to,
+		http_request.query.from,
+		http_request.query.subject,
+		http_request.query.body
+	);
+	if(!x)
+		print("An error was encountered.  Your message was not posted.");
+} else if(!http_request.query.hasOwnProperty('sub')) {
+	printBoards();
+} else {
+	if(http_request.query.hasOwnProperty('getmessage'))
+		printMessage(http_request.query.sub, parseInt(http_request.query.getmessage));
+	else if(!http_request.query.hasOwnProperty('thread'))
+		printThreads(http_request.query.sub);
+	else if(http_request.query.hasOwnProperty('sub') && http_request.query.hasOwnProperty('thread'))
+		printThread(http_request.query.sub, parseInt(http_request.query.thread));
+}
\ No newline at end of file
diff --git a/web/root/ecwebv3/index.xjs b/web/root/ecwebv3/index.xjs
new file mode 100644
index 0000000000..d75012398a
--- /dev/null
+++ b/web/root/ecwebv3/index.xjs
@@ -0,0 +1,98 @@
+<?xjs load('webInit.ssjs'); ?>
+<html>
+
+<head>
+<title>
+	<?xjs write(system.name); ?>
+</title>
+<link rel="stylesheet" type="text/css" href="./style/style.css">
+<script language="javascript" type="text/javascript" src="./lib/client.js"></script>
+<script language="javascript" type="text/javascript" src="./lib/json2.js"></script>
+</head>
+
+<body>
+<div id="container" class="font">
+
+<div id="header" class="border box background">
+<?xjs write(system.name); ?>
+</div>
+
+<div id="sidebar">
+<?xjs
+	var d = directory(webIni.RootDirectory + '/sidebar/*');
+	for(var f = 0; f < d.length; f++) {
+		if(file_isdir(d[f]))
+			continue;
+		var ext = d[f].toUpperCase().split(".").slice(1).join(".");
+		if(ext == "XJS.SSJS")
+			continue;
+		if(ext == "SSJS") {
+			print('<div class="sidebarItem border box background">');
+			load(d[f]);
+			print('</div>')
+		} else if(ext == "XJS") {
+			print(
+				format(
+					'<iframe class="sidebarItem border box background font" frameborder=0 id="sbi%s" scrolling="no" src="./sidebar/%s" onload="loadIFrame(\'sbi%s\', 0)"></iframe>',
+					f, file_getname(d[f]), f
+				)
+			);
+		} else if(ext == "TXT" || ext == "HTML") {
+			var handle = new File(d[f]);
+			handle.open("r");
+			var printme = handle.read();
+			handle.close();
+			print('<div class="sidebarItem border box background">');
+			if(file_getext(d[f]).toUpperCase() == ".TXT")
+				printme = "<pre>" + printme + "</pre>";
+			else
+				print(printme);
+			print('</div>');
+		}
+	}
+?>
+</div>
+
+<div id="content" class="border box background">
+<?xjs
+	if(http_request.query.hasOwnProperty("page"))
+		var page = http_request.query.page;
+	else
+		var page = "000-home.xjs";
+	var ext = file_getext(page).toUpperCase();
+	var f = file_exists(webIni.RootDirectory + "/pages/" + page);
+	if(f && ext == ".SSJS") {
+		load(webIni.RootDirectory + "/pages/" + page);
+	} else if(f && ext == ".HTML") {
+		var f = new File(webIni.RootDirectory + "/pages/" + page);
+		f.open("r");
+		var contents = f.read();
+		f.close();
+		write(contents);
+	} else if(f && ext == ".XJS") {
+			print(
+				format(
+					'<iframe class="background font" frameborder=0 id="contentIFrame" scrolling="no" src="./pages/%s" onload="loadIFrame(\'contentIFrame\', 1)"></iframe>',
+					page
+				)
+			);
+	} else if(f && ext == ".TXT") {
+		var f = new File(webIni.RootDirectory + "/pages/" + page);
+		f.open("r");
+		var contents = f.readAll();
+		f.close();
+		if(contents[0] == "HIDDEN")
+			contents.shift();
+		contents = contents.join("\r\n");
+		print("<pre>" + contents + "</pre>");
+	}
+?>
+</div>
+
+<div id="footer" class="border box background">
+<?xjs write(system.version_notice); ?>
+</div>
+
+</div>
+</body>
+</html>
\ No newline at end of file
-- 
GitLab