view src/nabble/view/web/user/Advanced.jtp @ 19:18cf4872fd7f

remove anonymous posting
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 29 May 2020 22:58:25 -0600
parents 7ecd1a4ef557
children
line wrap: on
line source

<%
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);
		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>
		<%
	}
}
%>