<%@page session="false" autoFlush="true" isErrorPage="false" %> <%@ page import="java.util.Calendar" %> <%@ page import="javax.mail.Session" %> <%@ page import="java.util.Properties" %> <%@ page import="javax.mail.Message" %> <%@ page import="javax.mail.internet.MimeMessage" %> <%@ page import="javax.mail.internet.InternetAddress" %> <%@ page import="javax.mail.Transport" %> <%@ page import="javax.mail.MessagingException" %> <%@ page import="java.io.File" %> <%@ page import="java.io.FileWriter" %> <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.io.BufferedWriter" %> <%@ page import="java.io.IOException" %> <%@ page import="org.apache.commons.logging.Log" %> <%@ page import="org.apache.commons.logging.LogFactory" %> <%@include file="../include/global.html"%> <%! static Log log = LogFactory.getLog(Object.class); private void writeRequestToFile(String name, String organizationSchool, String email, String address, String city, String province, String postalCode, String workPhone, String homePhone, String bestTimeToCall, String desiredOutcome, String preferredDate1, String preferredDate2, String preferredDate3, String numberOfPeriods, String period1, String period2, String period3, String period4, String period5, String period6, String period7, String otherComments) { StringBuffer sb = new StringBuffer(); String fileLine = null; File file = null; BufferedWriter bw = null; try { file = new File("/home/isbadmin/requests/speaker/requests.txt"); bw = new BufferedWriter(new FileWriter(file, true)); bw.write(new Date() + ", "); bw.write(name + ", "); bw.write(organizationSchool + ", "); bw.write(email + ", "); bw.write(address + ", "); bw.write(city + ", "); bw.write(province + ", "); bw.write(postalCode + ", "); bw.write(workPhone + ", "); bw.write(homePhone + ", "); bw.write(bestTimeToCall + ", "); bw.write(desiredOutcome + ", "); bw.write(preferredDate1 + ", "); bw.write(preferredDate2 + ", "); bw.write(preferredDate3 + ", "); bw.write(numberOfPeriods + ", "); bw.write(period1 + ", "); bw.write(period2 + ", "); bw.write(period3 + ", "); bw.write(period4 + ", "); bw.write(period5 + ", "); bw.write(period6 + ", "); bw.write(period7 + ", "); bw.write(otherComments); bw.newLine(); bw.close(); } catch (IOException ioe) { log.error("Error Parsing HTML file", ioe); System.err.println(ioe); ioe.printStackTrace(System.err); } catch (Exception e) { log.error("Error Parsing HTML file", e); System.err.println(e); e.printStackTrace(System.err); } } %> <% String smtpServerHost = "mail.islamicspeakers.ca"; String adminEmailSubject = "[IslamicSpeakers.ca - Speaker Request]"; String adminEmailAddress = "islamicspeakers@gmail.com"; String adminEmailFrom = "islamicspeakers@gmail.com"; String error = ""; StringBuffer sb = null; // Deterine if registration information is being posted. String action = request.getParameter("action"); if ((action != null) && (action.equalsIgnoreCase("submit"))) { String name = request.getParameter("name"); String organizationSchool = request.getParameter("organizationSchool"); String email = request.getParameter("email"); String address = request.getParameter("address"); String city = request.getParameter("city"); String province = request.getParameter("province"); String postalCode = request.getParameter("postalCode"); String workPhone = "(" + request.getParameter("workPhoneAreaCode") + ") " + request.getParameter("workPhoneExchange") + " - " + request.getParameter("workPhoneLocal") + " ext " + request.getParameter("workPhoneExtension"); String homePhone = "(" + request.getParameter("homePhoneAreaCode") + ") " + request.getParameter("homePhoneExchange") + " - " + request.getParameter("homePhoneLocal"); String bestTimeToCall = request.getParameter("bestTimeToCall"); String desiredOutcome = request.getParameter("desiredOutcome"); String preferredDate1 = request.getParameter("preferredDate1"); String preferredDate2 = ((request.getParameter("preferredDate2") != null) && (!request.getParameter("preferredDate2").equals("dd/mm/yyyy"))) ? request.getParameter("preferredDate2") : null; String preferredDate3 = ((request.getParameter("preferredDate3") != null) && (!request.getParameter("preferredDate3").equals("dd/mm/yyyy"))) ? request.getParameter("preferredDate3") : null; String numberOfPeriods = request.getParameter("numberOfPeriods"); String period1 = null; String period2 = null; String period3 = null; String period4 = null; String period5 = null; String period6 = null; String period7 = null; String otherComments = request.getParameter("comment"); if( (numberOfPeriods != null) && (!numberOfPeriods.equals("N/A"))) { int periods = Integer.parseInt(numberOfPeriods); String period = null; for (int i = 1; i <= periods; i++) { period = request.getParameter("startHour" + i) + ":" + request.getParameter("startMinute" + i) + request.getParameter("startAmPm" + i); period = period + " to "; period = period + request.getParameter("endHour" + i) + ":" + request.getParameter("endMinute" + i) + request.getParameter("endAmPm" + i); switch (i) { case 1: period1 = period; break; case 2: period2 = period; break; case 3: period3 = period; break; case 4: period4 = period; break; case 5: period5 = period; break; case 6: period6 = period; break; case 7: period7 = period; break; } } } writeRequestToFile(name, organizationSchool, email, address, city, province, postalCode, workPhone, homePhone, bestTimeToCall, desiredOutcome, preferredDate1, preferredDate2, preferredDate3, numberOfPeriods, period1, period2, period3, period4, period5, period6, period7, otherComments); // Retreive a connection to the SMTP server Properties mailServerProperties = System.getProperties(); mailServerProperties.put("mail.host", smtpServerHost); // mailServerProperties.put(); Session mailSession = Session.getInstance(mailServerProperties, null); // Create Administrator Message try { Message adminMsg = new MimeMessage(mailSession); adminMsg.setFrom(new InternetAddress(adminEmailFrom)); adminMsg.setRecipient(Message.RecipientType.TO, new InternetAddress(adminEmailAddress)); adminMsg.setSubject(adminEmailSubject + " - " + organizationSchool); adminMsg.addHeader("X-Priority", "1"); sb = new StringBuffer(); sb.append("Assalaam Alaykum,\n"); sb.append("The following person has submitted a request for a speaker from our website:\n"); sb.append("\n"); sb.append("Request a Speaker\n"); sb.append("--------------------------------\n"); sb.append("Name: " + name + "\n"); sb.append("Organization/School: " + organizationSchool + "\n"); sb.append("Email Address: " + email + "\n"); sb.append("Address: \n"); sb.append(" " + address + "\n"); sb.append(" " + city + "\n"); sb.append(" " + province + "\n"); sb.append(" " + postalCode + "\n"); sb.append("\n"); sb.append("Work Phone Number: " + workPhone + "\n"); sb.append("Home Phone Number: " + homePhone + "\n"); sb.append("Best Time To Call: " + bestTimeToCall + "\n"); sb.append("\n"); sb.append("Desired Outcome\n"); sb.append("--------------------------------\n"); sb.append(desiredOutcome + "\n"); sb.append("\n"); sb.append("Preferred Dates\n"); sb.append("--------------------------------\n"); if (preferredDate1 != null) sb.append(preferredDate1 + "\n"); if (preferredDate2 != null) sb.append(preferredDate2 + "\n"); if (preferredDate3 != null) sb.append(preferredDate3 + "\n"); sb.append("\n"); sb.append("Number of Periods: " + numberOfPeriods + "\n"); sb.append("\n"); sb.append("Period Start/End Times\n"); sb.append("--------------------------------\n"); if (period1 != null) sb.append("Period 1: " + period1 + "\n"); if (period2 != null) sb.append("Period 2: " + period2 + "\n"); if (period3 != null) sb.append("Period 3: " + period3 + "\n"); if (period4 != null) sb.append("Period 4: " + period4 + "\n"); if (period5 != null) sb.append("Period 5: " + period5 + "\n"); if (period6 != null) sb.append("Period 6: " + period6 + "\n"); if (period7 != null) sb.append("Period 7: " + period7 + "\n"); sb.append("\n"); sb.append("Other Comments\n"); sb.append("--------------------------------\n"); sb.append(otherComments + "\n"); sb.append("\n"); sb.append("Wasalaam Alaykum,\n"); sb.append("- ISB Vancouver Website"); adminMsg.setText(sb.toString()); Transport tr = mailSession.getTransport("smtp"); tr.connect("mail.islamicspeakers.ca", "info@islamicspeakers.ca", "@m@n@"); tr.send(adminMsg); // Send Email //Transport.send(adminMsg); // Send Email } catch (MessagingException me) { log.error("Error sending Speaker request email to administrator", me); error = "[ISB Vancouver - Speaker Request] encountered a Messaging Exception = " + me.toString(); me.printStackTrace(System.err); SimpleDateFormat sdf = new SimpleDateFormat("HHmmssSSS"); File outputFile = new File("/home/isbadmin/public_html/request/log/request" + sdf.format(new Date()) + ".txt"); FileWriter fw = new FileWriter(outputFile); fw.write(sb.toString()); fw.close(); } catch (Exception e) { log.error("Error sending Speaker request email to administrator", e); error = "[ISB Vancouver - Speaker Request] encountered a Messaging Exception = " + e.toString(); System.err.println("[ISB Vancouver - Speaker Request] encountered an exception = " + e.toString()); e.printStackTrace(System.err); SimpleDateFormat sdf = new SimpleDateFormat("HHmmssSSS"); File outputFile = new File("/home/isbadmin/public_html/request/log/request" + sdf.format(new Date()) + ".txt"); FileWriter fw = new FileWriter(outputFile); fw.write(sb.toString()); fw.close(); } } %> Islamic Speakers Bureau - Vancouver - Contact Us <%@include file="../include/globalHead.html"%>
<%@include file="../include/topnav.html"%>
Request a Speaker
To expedite your request, please complete the following form and submit to the Islamic Speakers Bureau of Vancouver. In most cases, you will receive a call-back within 24 hours. If your request is a rush, then feel free to contact us at (604) 443-0000.
About our Speakers:
ISB Vancouver speakers adhere to the charter of rights and freedoms "A Teacher's Guide to Religion in the Public Schools", which we also apply to all public facilities.
ISB Vancouver speakers are also certified after a rigorous process of training, testing, and observation in a live setting by veteran trainers.
Presentation Rates:
We are happy to provide presentations to schools, Grades K-12 free of charge!

Note: For teachers who want to invite us to a Social Studies classroom grades 7th-12th, please check with other Social Studies and World History teachers in your school about their interest in also having a speaker before sending this request! This would also save us costs. Also please keep in mind that each presentation is approximately 45 minutes and we recommend 10-15 minutes for Q & A.


<% if (action != null) { // DISPLAY FORM %>
Thank you for submitting your speaker request. We will contact you within 24 hours.


<% } %>
Name
Organization/School
Email Address
Address
City
Province
Postal Code
Work Phone Number ( ) - Ext.
Home Phone Number
(preferred for teachers)
( ) -
Best time to call
Desired Outcome
(describe what you would hope the audience would receive from the speaker)
   
Preferred Dates
 
 
Number of periods required
Start and End Times
of Periods Requiring
a Speaker
: to :
: to :
(please be as accurate as
possible for proper
scheduling)
: to :
: to :
: to :
: to :
: to :
Other Comments

<%@include file="../include/footer.html"%>