package gr.aegean.syros.jetspeed.portal.portlets;

/**
 * <p>Title: Portles</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: University of the Aegean</p>
 * @author Evangelos Vlachogiannis
 * @version 1.0
 */
import java.net.*;
import java.io.*;
import java.util.*;
import java.net.*;
import org.apache.jetspeed.portal.portlets.AbstractPortlet;
import org.apache.turbine.util.RunData;
import org.apache.turbine.om.security.User;
import org.apache.ecs.ConcreteElement;
import org.apache.ecs.StringElement;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.jetspeed.portal.service.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
import java.net.*;
import java.util.*;
import org.apache.jetspeed.services.JetspeedSecurity;
import org.apache.jetspeed.services.resources.JetspeedResources;

import gr.aegean.syros.jetspeed.utils.*;
import java.util.Date;
public class PortalMessenger extends AbstractPortlet
{
  public ConcreteElement getContent (RunData runData)
  {
    StringBuffer out = new StringBuffer();
    String button = null;
    String username = runData.getUser().getFirstName();
    String useremail = runData.getUser().getEmail();

    HttpServletRequest request = runData.getRequest();
    button = request.getParameter("button");
    if (button == null)
    {
      out.append("<h2>Portal Messenger</h2>");
      out.append("<form action=\"http://"+request.getServerName()+"/jetspeed/portal\" method=\"post\">");
      out.append("<br>Sent to: <select size=\"1\" name=\"option\"> <option selected>email</option><option>forum</option><option>both</option></select>");
      out.append("<b>From: </b>" + useremail);
      out.append("<br>Subject: <input type=\"text\" value=\"\" name=\"msgSubject\" size=\"20\">");
      out.append("<br>To</a>: <input type=\"text\" value=\"\" name=\"to\" size=\"20\">");
      out.append("<br><textarea rows=\"5\" name=\"msg\" cols=\"40\"></textarea>");
      out.append("<br><input type=\"submit\" value=\"Post\" name=\"button\"></p>");
      out.append("</form>");
      return (new StringElement(out.toString()));
    }
    else
    {
      String option = request.getParameter("option");
      String msgSubject = request.getParameter("msgSubject");
      String msg = request.getParameter("msg");
      String to = request.getParameter("to");
      if(option.equals("email"))
      {
        try
        {
          MailClient client = new MailClient();
          String server = JetspeedResources.getString( "mail.server" );
          client.sendMail(server,useremail,to,msgSubject,msg);
        }
        catch(javax.mail.MessagingException e)
        {
             System.out.println("Error Sending Email");
        }
    System.out.println("Email Sent");
      }
      else if(option.equals("forum"))
      {
        StringBuffer s = new StringBuffer();
        Date now = new Date();
        s.append("INSERT INTO forum (id, fromEmail, toEmail, subjectEmail, bodyEmail, dateEmail) VALUES ");
        s.append("(NULL, '" + useremail + "', '" + to + "', '" + msgSubject + "', '" + msg + "', '" + now.toString()+"')");
      System.out.println(s.toString());
        Db.QMySQL(s.toString());
      }
      else
      {
        try
        {
          MailClient client = new MailClient();
          String server = JetspeedResources.getString( "mail.server" );
          client.sendMail(server,useremail,to,msgSubject,msg);
        }
        catch(javax.mail.MessagingException e)
        {
             System.out.println("Error Sending Email");
        }
    System.out.println("Email Sent");

       StringBuffer s = new StringBuffer();
        Date now = new Date();
        s.append("INSERT INTO forum (id, fromEmail, toEmail, subjectEmail, bodyEmail, dateEmail) VALUES ");
        s.append("(NULL, '" + useremail + "', '" + to + "', '" + msgSubject + "', '" + msg + "', '" + now.toString()+"')");
      System.out.println(s.toString());
        Db.QMySQL(s.toString());
      }

    }
      out.append("Done <a href=\"http://"+request.getServerName()+"/jetspeed/portal\">Back</a>");
      return (new StringElement(out.toString()));
  }
}