0
|
1
|
|
2 package nabble.view.web.user;
|
|
3
|
|
4 import nabble.model.User;
|
|
5 import nabble.view.lib.Jtp;
|
|
6 import nabble.view.lib.Shared;
|
|
7
|
|
8 import javax.servlet.ServletException;
|
|
9 import javax.servlet.http.HttpServlet;
|
|
10 import javax.servlet.http.HttpServletRequest;
|
|
11 import javax.servlet.http.HttpServletResponse;
|
|
12 import java.io.IOException;
|
|
13 import java.io.PrintWriter;
|
|
14
|
|
15
|
|
16 public final class Advanced extends HttpServlet {
|
|
17
|
|
18 protected void service(HttpServletRequest request,HttpServletResponse response)
|
|
19 throws ServletException, IOException
|
|
20 {
|
|
21 PrintWriter out = response.getWriter();
|
|
22 User user = Jtp.getUser(request,response);
|
|
23 if( user==null ) {
|
|
24 Jtp.login("You must login to change your settings.",request,response);
|
|
25 return;
|
|
26 }
|
|
27
|
|
28 out.print( "\r\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n " );
|
|
29 Shared.title(request,response,"Advanced Settings");
|
|
30 out.print( "\r\n <script type=\"text/javascript\">\r\n Nabble.currentStyle = function(t) {\r\n return t.currentStyle ? t.currentStyle : getComputedStyle(t,null);\r\n };\r\n\r\n Nabble.init = function() {\r\n var dateFmt = Nabble.getCookie(\"date_fmt\");\r\n if( dateFmt==null )\r\n dateFmt = \"default\";\r\n Nabble.get(\"nabble.date_fmt.\"+dateFmt).checked = true;\r\n var maxWidth = Nabble.getCookie(\"max_width\");\r\n if( maxWidth!=null )\r\n Nabble.get(\"nabble.max_width\").value = maxWidth;\r\n var fontSize = Nabble.getCookie(\"font_size\");\r\n if( fontSize==null ) {\r\n var t = Nabble.get('nabble');\r\n fontSize = Nabble.currentStyle(t).fontSize;\r\n Nabble.get(\"nabble.font_size_comment\").innerHTML = '(default value)';\r\n } else {\r\n Nabble.get(\"nabble.font_size_comment\").innerHTML = '(leave blank to reset to default)';\r\n }\r\n Nabble.get(\"nabble.font_size\").value = fontSize;\r\n Nabble.get(\"nabble-online\").checked = Nabble.getCookie('visible') != null;\r\n };\r\n\r\n Nabble.submit = function() {\r\n var dateFmts = [\"default\",\"euro\",\"tech\"];\r\n for( var i=0; i<dateFmts.length; i++ ) {\r\n if( Nabble.get(\"nabble.date_fmt.\"+dateFmts[i]).checked ) {\r\n var dateFmt = dateFmts[i];\r\n break;\r\n }\r\n }\r\n if( dateFmt==\"default\" ) {\r\n Nabble.deleteCookie(\"date_fmt\");\r\n } else {\r\n Nabble.setPersistentCookie(\"date_fmt\",dateFmt);\r\n }\r\n var maxWidth = Nabble.get(\"nabble.max_width\").value.replace(/ /,\"\");\r\n if( maxWidth==\"\" ) {\r\n Nabble.deleteCookie(\"max_width\");\r\n } else {\r\n Nabble.setPersistentCookie(\"max_width\",maxWidth);\r\n }\r\n var t = Nabble.get('nabble');\r\n var defaultFontSize = Nabble.currentStyle(t).fontSize;\r\n var fontSize = Nabble.get(\"nabble.font_size\").value.replace(/ /,\"\");\r\n if( fontSize==\"\" || fontSize==defaultFontSize ) {\r\n Nabble.deleteCookie(\"font_size\");\r\n } else {\r\n Nabble.setPersistentCookie(\"font_size\",fontSize);\r\n }\r\n var invisible = Nabble.get(\"nabble-online\").checked;\r\n if (invisible)\r\n Nabble.setPersistentCookie('visible', 'off');\r\n else\r\n Nabble.deleteCookie('visible');\r\n\r\n location = \"Advanced2.jtp\";\r\n };\r\n </script>\r\n <style type=\"text/css\">\r\n .nabble .advanced-table td {\r\n padding: 0.5em;\r\n }\r\n .field-title {\r\n text-align: right;\r\n }\r\n </style>\r\n</head>\r\n<body>\r\n " );
|
|
31
|
|
32 Shared.minHeaderGlobal(request,response);
|
|
33 Shared.profileHeading(request,out,user,"Advanced Settings");
|
|
34
|
|
35 out.print( "\r\n\r\n<div>\r\n Configurations on this screen are saved on this computer only.\r\n</div>\r\n\r\n<form action=\"/user/Advanced.jtp\" style=\"display:inline;\">\r\n <table class=\"advanced-table\" style=\"margin: 1em;border-collapse: collapse;\">\r\n <tr valign=\"top\">\r\n <td class=\"second-font field-title weak-color\" style=\"padding-top:.8em\">Use Date Format<br /></td>\r\n <td>\r\n <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 />\r\n <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 />\r\n <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 />\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"second-font field-title weak-color\">Maximum width of messages<br /></td>\r\n <td>\r\n <input id=\"nabble.max_width\" size=\"10\" />\r\n (like 600px or 50em or leave blank for variable width)\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"second-font field-title weak-color\">Font Size<br /></td>\r\n <td>\r\n <input id=\"nabble.font_size\" size=\"10\" />\r\n <span id=\"nabble.font_size_comment\"></span>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"second-font field-title weak-color\">Online Status</td>\r\n <td>\r\n <input type=\"checkbox\" id=\"nabble-online\" value=\"y\" />\r\n <label for=\"nabble-online\">Hide my online indicator (invisible mode)</label>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <input type=\"submit\" value=\"Update Settings\" onclick=\"Nabble.submit(); return false;\" />\r\n or <a href=\"/template/NamlServlet.jtp?macro=user_profile\">Cancel</a>\r\n</form>\r\n<script type=\"text/javascript\">\r\n Nabble.init();\r\n</script>\r\n\r\n" );
|
|
36 Shared.footer(request,response);
|
|
37 out.print( "\r\n" );
|
|
38 Shared.analytics(request,response);
|
|
39 out.print( "\r\n</body>\r\n</html>\r\n" );
|
|
40
|
|
41 }
|
|
42 }
|
|
43
|