Mercurial Hosting > nabble
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> + <% + } +} +%>