GetSessionKey()."_sendmail";
$MessagesPerPage =2;
$SendQueue = new clsEmailQueue($table,$MessagesPerPage);
$FromUser = $objUsers->GetItem($objSession->Get("PortalUserId"));
$FromAddr = $FromUser->Get("Email");
$FromName = $FromUser->Get("FirstName")." ".$FromUser->Get("LastName");
if(!strlen(trim($FromAddr)))
{
$FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
}
if(!strlen(trim($FromName)))
{
$FromName = strip_tags( $objConfig->Get('Site_Name') );
}
$TargetURL = $_SERVER["PHP_SELF"]."?".$envar.'&destform=popup';
$CancelURL = $TargetURL."&EmailState=email_user_cancel";
function getEmailFooter($is_html = true)
{
static $footer = Array('html' => null, 'plain' => null);
$footer_body =& $footer[$is_html ? 'html' : 'plain'];
if (is_null($footer_body)) {
$application =& kApplication::Instance();
$email_object =& $application->recallObject('kEmailMessage');
$email_object->Clear();
$sql = 'SELECT em.Template
FROM '.TABLE_PREFIX.'EmailMessage em
LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId
WHERE em.LanguageId = '.$application->GetVar('m_lang').' AND e.Event = "COMMON.FOOTER"';
$footer_body = explode("\n\n", $application->Conn->GetOne($sql));
$footer_body = "\r\n".($is_html ? $footer_body[1] : $email_object->convertHTMLtoPlain($footer_body[1]));
}
return $footer_body;
}
/*Initialize page*/
switch($State)
{
case "email_single_send": /*single user send */
$PageTitle = admin_language("la_Title_SendInit");
$Subject = $_POST["subject"];
$Html = $_POST["messageHTML"].getEmailFooter(true);
$Text = strip_tags($_POST["messageTEXT"]).getEmailFooter(false);
if(is_array($_FILES))
{
$attatch = $_FILES["attatchment"];
if(strlen($attatch["name"]) >0 && $attatch["size"]>0)
{
$FileName = $attatch["name"];
$FileLoc = $attatch["tmp_name"];
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
$charset = "";
$TargetURL .= "&EmailState=email_send_complete";
break;
case "email_multi_send": /*Init multiuser send*/
$UserList = explode(",",$_POST["sendaddrs"]);
//echo $_POST["sendaddrs"]."
\n";
$Subject = $_POST["subject"];
$Html = $_POST["messageHTML"].getEmailFooter(true);
$Text = strip_tags($_POST["messageTEXT"]).getEmailFooter(false);
if(is_array($_FILES))
{
$attatch = $_FILES["attatchment"];
if(strlen($attatch["name"]) >0 && $attatch["size"]>0)
{
$FileName = $attatch["name"];
$FileLoc = $attatch["tmp_name"];
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
}
else
{
$FileName = NULL;
$FileLoc = NULL;
}
$charset = "";
$PageTitle = admin_language("la_Title_SendMailInit");
$TargetURL .="&EmailState=email_send_progress&Start=0&Total=".count($UserList);
break;
case "email_send_progress":
$total = $_GET["Total"];
$start = $_GET["Start"];
if($start < $total)
{
$pct = (int)(($start/$total)*100);
$NewStart = $start+$MessagesPerPage;
$TargetURL .= "&EmailState=email_send_progress&Start=$NewStart&Total=$total";
$PageTitle = admin_language("la_Title_SendMailProgress")." - ".$pct."% ".admin_language("la_Text_Complete");
}
else
{
$PageTitle = admin_language("la_Title_SendMailProgress");
$TargetURL .= "&EmailState=email_send_complete";
}
break;
case "email_send_complete":
$PageTitle = admin_language("la_Title_SendMailComplete");
$TargetURL="";
break;
case "email_user_cancel":
$PageTitle = admin_language("la_Title_SendMailCancel");
$TargetURL = "";
break;
}
int_header(NULL,NULL,admin_language("la_Title_PleaseWait"));
echo "\n";
/*do page functions */
// echo "Current State:". $State."
\n";
echo "
";
switch($State)
{
case "email_single_send": /*single user send */
$PageTitle = admin_language($Pagetitle);
$ToAddr = $_POST["sendaddrs"];
$SendQueue->SendMail($FromAddr,$FromName,$ToAddr,"",$Subject,$Text,$Html,$charset, "",$FileName,$FileLoc,0, NULL);
$o = "
\n"; for($i=0;$i \n"; $rs = $ado->Execute($sql); while($rs && !$rs->EOF) { $data = $rs->fields; $SendQueue->DeliverMail($data["toaddr"],$data["fromaddr"],$data["Subject"],$data["message"],$data["headers"],1); $rs->MoveNext(); } $o = "
|