diff src/nabble/view/web/user/Advanced.jtp @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children 18cf4872fd7f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/nabble/view/web/user/Advanced.jtp	Thu Mar 21 19:15:52 2019 -0600
@@ -0,0 +1,159 @@
+<%
+package nabble.view.web.user;
+
+import nabble.model.User;
+import nabble.view.lib.Jtp;
+import nabble.view.lib.Shared;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+
+public final class Advanced extends HttpServlet {
+
+	protected void service(HttpServletRequest request,HttpServletResponse response)
+		throws ServletException, IOException
+	{
+		PrintWriter out = response.getWriter();
+		User user = Jtp.getUser(request,response);
+		if( user==null ) {
+			Jtp.login("You must login to change your settings.",request,response);
+			return;
+		}
+		%>
+		<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+		<html>
+		<head>
+			<% Shared.title(request,response,"Advanced Settings"); %>
+			<script type="text/javascript">
+				Nabble.currentStyle = function(t) {
+					return t.currentStyle ? t.currentStyle : getComputedStyle(t,null);
+				};
+
+				Nabble.init = function() {
+					var dateFmt = Nabble.getCookie("date_fmt");
+					if( dateFmt==null )
+						dateFmt = "default";
+					Nabble.get("nabble.date_fmt."+dateFmt).checked = true;
+					var maxWidth = Nabble.getCookie("max_width");
+					if( maxWidth!=null )
+						Nabble.get("nabble.max_width").value = maxWidth;
+					var fontSize = Nabble.getCookie("font_size");
+					if( fontSize==null ) {
+						var t = Nabble.get('nabble');
+						fontSize = Nabble.currentStyle(t).fontSize;
+						Nabble.get("nabble.font_size_comment").innerHTML = '(default value)';
+					} else {
+						Nabble.get("nabble.font_size_comment").innerHTML = '(leave blank to reset to default)';
+					}
+					Nabble.get("nabble.font_size").value = fontSize;
+					Nabble.get("nabble-online").checked = Nabble.getCookie('visible') != null;
+				};
+
+				Nabble.submit = function() {
+					var dateFmts = ["default","euro","tech"];
+					for( var i=0; i<dateFmts.length; i++ ) {
+						if( Nabble.get("nabble.date_fmt."+dateFmts[i]).checked ) {
+							var dateFmt = dateFmts[i];
+							break;
+						}
+					}
+					if( dateFmt=="default" ) {
+						Nabble.deleteCookie("date_fmt");
+					} else {
+						Nabble.setPersistentCookie("date_fmt",dateFmt);
+					}
+					var maxWidth = Nabble.get("nabble.max_width").value.replace(/ /,"");
+					if( maxWidth=="" ) {
+						Nabble.deleteCookie("max_width");
+					} else {
+						Nabble.setPersistentCookie("max_width",maxWidth);
+					}
+					var t = Nabble.get('nabble');
+					var defaultFontSize = Nabble.currentStyle(t).fontSize;
+					var fontSize = Nabble.get("nabble.font_size").value.replace(/ /,"");
+					if( fontSize=="" || fontSize==defaultFontSize ) {
+						Nabble.deleteCookie("font_size");
+					} else {
+						Nabble.setPersistentCookie("font_size",fontSize);
+					}
+					var invisible = Nabble.get("nabble-online").checked;
+					if (invisible)
+						Nabble.setPersistentCookie('visible', 'off');
+					else
+						Nabble.deleteCookie('visible');
+
+					location = "Advanced2.jtp";
+				};
+			</script>
+			<style type="text/css">
+				.nabble .advanced-table td {
+					padding: 0.5em;
+				}
+				.field-title {
+					text-align: right;
+				}
+			</style>
+		</head>
+		<body>
+			<%
+			Shared.minHeaderGlobal(request,response);
+			Shared.profileHeading(request,out,user,"Advanced Settings");
+			%>
+
+			<div>
+				Configurations on this screen are saved on this computer only.
+			</div>
+
+			<form action="/user/Advanced.jtp" style="display:inline;">
+				<table class="advanced-table" style="margin: 1em;border-collapse: collapse;">
+					<tr valign="top">
+						<td class="second-font field-title weak-color" style="padding-top:.8em">Use Date Format<br /></td>
+						<td>
+							<input type="radio" name="nabble.date_fmt" id="nabble.date_fmt.default" /><label for="nabble.date_fmt.default">Aug 11, 2006; 09:06pm</label><br />
+							<input type="radio" name="nabble.date_fmt" id="nabble.date_fmt.euro" /><label for="nabble.date_fmt.euro">21:06, 11.Aug.2006</label><br />
+							<input type="radio" name="nabble.date_fmt" id="nabble.date_fmt.tech" /><label for="nabble.date_fmt.tech">2006-08-11 21:06</label><br />
+						</td>
+					</tr>
+					<tr>
+						<td class="second-font field-title weak-color">Maximum width of messages<br /></td>
+						<td>
+							<input id="nabble.max_width" size="10" />
+							(like 600px or 50em or leave blank for variable width)
+						</td>
+					</tr>
+					<tr>
+						<td class="second-font field-title weak-color">Font Size<br /></td>
+						<td>
+							<input id="nabble.font_size" size="10" />
+							<span id="nabble.font_size_comment"></span>
+						</td>
+					</tr>
+					<tr>
+						<td class="second-font field-title weak-color">Online Status</td>
+						<td>
+							<input type="checkbox" id="nabble-online" value="y" />
+							<label for="nabble-online">Hide my online indicator (invisible mode)</label>
+						</td>
+					</tr>
+				</table>
+
+				<input type="submit" value="Update Settings" onclick="Nabble.submit(); return false;" />
+				or <a href="/template/NamlServlet.jtp?macro=user_profile">Cancel</a>
+			</form>
+			<script type="text/javascript">
+				Nabble.init();
+			</script>
+
+			<% Shared.footer(request,response); %>
+			<% Shared.analytics(request,response); %>
+		</body>
+		</html>
+		<%
+	}
+}
+%>