<%--/* Programmer: Rick Reuvekamp Verion: 2.00 File: index.jsp Requires: * directories: *: ./includes/ *: ./news/ *: ./menu/ * files: *: ./notfound.html *: ./emptyparameter.html *: ./default.html *: ./default.jsp *: ./menu/default.html */--%><%@ page import="java.net.*, java.io.*, java.util.*, javax.mail.*, javax.mail.internet.*, javax.servlet.http.Cookie, javax.servlet.http.HttpSession" %><%! void Mail (String args[]) { /*String host = args[0]; String from = args[1]; String to = args[2]; String cc = args[3]; String s_subject = args[4]; String s_message = args[5]; // Get system properties Properties props = System.getProperties(); // Setup mail server props.put("mail.smtp.host", host); // Get session Session session = Session.getDefaultInstance(props, null); // Define message MimeMessage message = new MimeMessage(session); // Set the from address message.setFrom(new InternetAddress(from)); // Set the to address message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set the subject message.setSubject("Hello JavaMail"); // Set the content message.setText("Welcome to JavaMail"); // Send message Transport.send(message);*/ } String replace(String s, String one, String another) { if (s.equals("")) return ""; String res = ""; int i = s.indexOf(one,0); int lastpos = 0; while (i != -1) { res += s.substring(lastpos,i) + another; lastpos = i + one.length(); i = s.indexOf(one,lastpos); } res += s.substring(lastpos); return res; } void copyhtmlxmllocal(String urlpath, File xmlfile) { try { if (xmlfile.exists()) { Date curDate = new java.util.Date(); Date xmlfileDate = new Date(xmlfile.lastModified()); Calendar xmlfileGC = new GregorianCalendar(xmlfileDate.getYear(), xmlfileDate.getMonth(), xmlfileDate.getDate(), xmlfileDate.getHours(), xmlfileDate.getMinutes(), 0); Calendar curGC = new GregorianCalendar(curDate.getYear(), curDate.getMonth(), curDate.getDate(), curDate.getHours(), curDate.getMinutes(), 0); long diff = curGC.getTimeInMillis() - xmlfileGC.getTimeInMillis(); if (3600000 <= diff) { URL url = new URL(urlpath); URLConnection connection = url.openConnection(); InputStream stream = connection.getInputStream(); BufferedInputStream in = new BufferedInputStream(stream); FileOutputStream xmlfiledata = new FileOutputStream(xmlfile); BufferedOutputStream outputdata = new BufferedOutputStream(xmlfiledata); int i; while ((i = in.read()) != -1) { outputdata.write(i); } outputdata.flush(); } } } catch (IOException ioe) { ioe.printStackTrace(); } } %><% // Initizalizing String subdirectory = "/"; // needed when you are using a sub directory from the website path. // Declaration of variables: String root = application.getRealPath(subdirectory); String menupath = "menu/default.jsp"; String filepath = "default.html"; String filteredparameter = "default"; String item = request.getParameter("item"); String parameter = request.getParameter("page"); String actionstr = request.getParameter("action"); String Message = ""; boolean loggedin = false; session = request.getSession(false); //session.setMaxInActiveInterval(); // mail String SMTP_HOST_NAME = "smtp.tradpaq.com"; String SMTP_AUTH_USER = "rreuveka"; String SMTP_AUTH_PWD = "akevuerr600"; String[] emailList = {"rreuvekamp@tradepaq.com", "rick.reuvekamp@planet.nl"}; String emailMsgTxt = "Generated mail from on-line forum:"; String emailSender = "failed@tradepaq.com"; boolean go = true; // Anti-directory up/down filter if (parameter != null) { parameter = replace(parameter,"'","\\\'"); parameter = replace(parameter,"\"","\\\""); parameter = replace(parameter,"\\","\\\\"); if (parameter.indexOf("..") != -1) parameter = null; } if (actionstr != null) { actionstr = replace(actionstr,"'","\\\'"); actionstr = replace(actionstr,"\"","\\\""); actionstr = replace(actionstr,"\\","\\\\"); if (actionstr.indexOf("..") != -1) actionstr = null; } // Check for xml (rss feeds) updates //copyhtmlxmllocal("http://finance.yahoo.com/rss/SteelIron",new File(root + "/steeliron.xml")); //copyhtmlxmllocal("http://finance.yahoo.com/rss/Aluminum",new File(root + "/aluminium.xml")); //copyhtmlxmllocal("http://finance.yahoo.com/rss/Copper",new File(root + "/copper.xml")); //copyhtmlxmllocal("http://tweakers.net/feeds/mixed.xml",new File(root + "/tweakers.xml")); //copyhtmlxmllocal("http://finance.yahoo.com/rss/PersonalComputers",new File(root + "/pc.xml")); //copyhtmlxmllocal("http://finance.yahoo.com/rss/AgriculturalChemicals",new File(root + "/agricultural.xml")); // Check login if (request.getParameter("action") != null && request.getParameter("action").equals("security")) { Message = "

Please login


"; if (request.getParameter("subaction") != null && request.getParameter("subaction").equals("Login")) { Message = "

500 - Internal Error (0000)


"; if (request.getParameter("username") != null && request.getParameter("password") != null) { Message = "

500 - Internal Error (0001)


"; if (request.getParameter("password").equals("adminTPQ")) { session.setAttribute("theName", request.getParameter("username")); Message = "

Logged in

"; } else { session.setAttribute("theName", ""); Message = "

Username/Password combination incorrect

"; } } } else if (request.getParameter("action").equals("Logout")) { session.setAttribute("theName", ""); Message = "

You're logged out

"; } } if (session.getAttribute("theName") != null) { if (session.getAttribute("theName").equals("admin") || session.getAttribute("theName").equals("editer")) { loggedin = true; Message = "

Welcome


"; } } // Set including variables if (parameter != null) { if (0 < parameter.indexOf("-")) filteredparameter = parameter.substring(0, parameter.indexOf("-")); try { File dir = new File(root + "/menu/"); String[] children = dir.list(); if (children != null) { for (int i=0; i from " + request.getParameter("company"); if (request.getParameter("website") != null && !request.getParameter("website").equals("")) { emailMsgTxt = emailMsgTxt + " (site: " + request.getParameter("website") + " )"; } if (request.getParameter("function") != null && !request.getParameter("function").equals("")) { emailMsgTxt = emailMsgTxt + " in function \"" + request.getParameter("function") + "\""; } emailMsgTxt = emailMsgTxt + request.getParameter("name") + " has the following request: \r\n" + request.getParameter("request"); if (request.getParameter("phone") != null && !request.getParameter("phone").equals("")) { emailMsgTxt = emailMsgTxt + "\r\n Also availible on phone number: " + request.getParameter("phone"); } boolean debug = false; Properties props = new Properties(); props.put("mail.smtp.host", SMTP_HOST_NAME); props.put("mail.smtp.auth", "true"); javax.mail.PasswordAuthentication auth = new javax.mail.PasswordAuthentication(SMTP_AUTH_USER, SMTP_AUTH_PWD); javax.mail.Session sessionmail = javax.mail.Session.getDefaultInstance(props, auth); sessionmail.setDebug(debug); javax.mail.internet.MimeMessage msg = new javax.mail.internet.MimeMessage(sessionmail); InternetAddress addressFrom = new InternetAddress(emailSender); msg.setFrom(addressFrom); InternetAddress[] addressTo = new InternetAddress[emailList.length]; for (int i = 0; i < emailList.length; i++) { addressTo[i] = new InternetAddress(emailList[i]); } msg.setRecipients(Message.RecipientType.TO, addressTo); msg.setSubject("Online form from www.tradepaq.com"); msg.setContent(Message, "text/plain"); Transport.send(msg);*/ } } // Write a news page when submited if (request.getParameter("file") != null && request.getParameter("elm1") != null && !request.getParameter("file").equals("") && !request.getParameter("elm1").equals("") && request.getParameter("file").indexOf("..") == -1 && request.getParameter("file").indexOf("\\.") == -1 && loggedin) { try { PrintWriter pw = new PrintWriter(new FileOutputStream(root + "/news/" + request.getParameter("file"))); pw.println(request.getParameter("elm1")); pw.close(); } catch(IOException e) { e.printStackTrace(); } } // Delete a news page on request if (request.getParameter("file") != null && request.getParameter("delete") != null && !request.getParameter("file").equals("") && request.getParameter("file").indexOf("..") == -1 && request.getParameter("file").indexOf("\\.") == -1 && loggedin) { File deleteme = new File(root + "/news/" + request.getParameter("file")); if (deleteme.exists()) deleteme.delete(); } %> TRADEPAQ<% if (parameter != null) if (!parameter.equals("")) out.print(" (" + parameter + ")"); %> <% if (actionstr != null && actionstr.equals("editer") && loggedin) { %> <% } %>
<% if (actionstr != null && actionstr.equals("news")) { %>
<% } else if (actionstr != null && actionstr.equals("error")) { %>

<%= request.getAttribute("javax.servlet.error.status_code") %>

<% if (request.getAttribute("javax.servlet.error.exception_type") != null) out.println(request.getAttribute("javax.servlet.error.exception_type") + "
"); else if (request.getAttribute("javax.servlet.error.status_code").equals("404")) { out.println("File Not Found:
"); } else { out.println("Error from:
"); } out.println(request.getRequestURL() + "
"); %>
<% } else if (actionstr != null && actionstr.equals("security")) { %>
<%= Message %> <% if (!loggedin) { %>
<% } else { %>
Welcome: <%= session.getAttribute("theName") %>
Html news editor <% } %>
<% } else if (actionstr != null && actionstr.equals("editer") && loggedin) { %>

" />

<% } else { %>
<% } %>