diff src/nabble/view/web/forum/UploadImage.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/forum/UploadImage.jtp	Thu Mar 21 19:15:52 2019 -0600
@@ -0,0 +1,142 @@
+<%
+package nabble.view.web.forum;
+
+import nabble.model.Message;
+import nabble.model.ModelHome;
+import nabble.model.Site;
+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 UploadImage extends HttpServlet {
+
+	protected void service(HttpServletRequest request,HttpServletResponse response)
+		throws ServletException, IOException
+	{
+		User user = Jtp.getUser(request,response);
+		if( user==null ) {
+			Jtp.login("You must login to upload a file.",request,response);
+			return;
+		}
+		PrintWriter out = response.getWriter();
+
+		String nodeId = request.getParameter("node");
+		Site site = user.getSite();
+		Message.Source src = nodeId == null || nodeId.length() == 0? new Message.TempSource(user) : site.getNode(Long.valueOf(nodeId));
+		%>
+		<html>
+			<head>
+				<script type="text/javascript">
+					// Fixes the parent variable to consider the nested frames.
+					var customParent = function() {
+						return parent.parent;
+					};
+				</script>
+				<% Shared.title(request,response,"Upload Image"); %>
+				<script type="text/javascript">
+					// Can only be called after the Shared.title() because of jquery
+					$(document).ready(function() {
+						var $table = $('table', document.body);
+						var h = $table.outerHeight() + 15;
+						var w = $table.outerWidth() + 15;
+						var f = parent.Nabble.get('imageuploader');
+						$(f).height(h).width(w);
+						$(document.body).css('background-color', $('form').parent().css('background-color'));
+					});
+				</script>
+			</head>
+			<body style="background:transparent;margin:0">
+				<% Shared.noHeader(request,response); %>
+				<div class="shaded-bg-color" style="padding:.5em">
+					<form id="image-upload-form" action="/forum/UploadImage2.jtp" method="POST" enctype="multipart/form-data">
+						<input type="hidden" name="srcType" value="<%=src.getMessageSourceType().getCode()%>" />
+						<input type="hidden" name="srcId" value="<%=src.getSourceId()%>" />
+						<table>
+							<tr>
+								<td colspan=2>
+									<span class="form-label" style="display:block;margin-bottom:.3em;text-align:left">Upload image from my computer:</span>
+									<input name="image" id="nabble.image" type="file" size="35" />
+								</td>
+							</tr>
+							<tr>
+								<td colspan=2>
+									<span class="form-label" style="display:block;margin-bottom:.3em;text-align:left">Or copy an image from the Internet:</span>
+									<input name="imageUrl" id="nabble.imageUrl" type="text" size="40" value="http://" />
+								</td>
+							</tr>
+							<tr>
+								<td style="padding:.5em 0 0" nowrap>
+									<table style="float:left;margin-right:2em">
+										<tr>
+											<td colspan=2><span class="form-label" style="display:block;text-align:left">Float</span></td>
+										</tr>
+										<tr>
+											<td><input id="float-none" type="radio" name="float-position" value="none" checked="y"/></td>
+											<td><label for="float-none">None</label></td>
+										</tr>
+										<tr>
+											<td><input id="float-left" type="radio" name="float-position" value="left"/></td>
+											<td><label for="float-left">Left</label></td>
+										</tr>
+										<tr>
+											<td><input id="float-center" type="radio" name="float-position" value="center"/></td>
+											<td><label for="float-center">Center</label></td>
+										</tr>
+										<tr>
+											<td><input id="float-right" type="radio" name="float-position" value="right"/></td>
+											<td><label for="float-right">Right</label></td>
+										</tr>
+									</table>
+									<table style="float:left">
+										<tr>
+											<td colspan=2><span class="form-label" style="display:block;text-align:left">Resize</span></td>
+										</tr>
+										<tr>
+											<td><input id="resize-none" type="radio" name="resize-size" value="none" checked="y"/></td>
+											<td><label for="resize-none">None</label></td>
+										</tr>
+										<tr>
+											<td><input id="resize-small" type="radio" name="resize-size" value="250"/></td>
+											<td><label for="resize-small">Small Size (250 x 250px)</label></td>
+										</tr>
+										<tr>
+											<td><input id="resize-medium" type="radio" name="resize-size" value="500"/></td>
+											<td><label for="resize-medium">Medium Size (500 x 500px)</label></td>
+										</tr>
+										<tr>
+											<td><input id="resize-big" type="radio" name="resize-size" value="750"/></td>
+											<td><label for="resize-big">Big Size (750 x 750px)</label></td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+							<tr>
+								<td style="padding:.7em 0 0" colspan=2>
+									<div class="form-label" style="display:block;text-align:left">Description</div>
+									<input type="text" name="description" size=40/>
+								</td>
+							</tr>
+							<tr>
+								<td style="padding:.5em 0 0" colspan=2>
+									<input type="submit" value="Insert Image">
+									<input type="button" value="Close" onclick="parent.Nabble.closeWindows()">
+								</td>
+							</tr>
+						</table>
+					</form>
+				</div>
+				<% Shared.noFooter(request,response); %>
+			</body>
+		</html>
+		<%
+	}
+}
+%>