Index: trunk/admin/email/do_send.php =================================================================== diff -u -N --- trunk/admin/email/do_send.php (revision 8901) +++ trunk/admin/email/do_send.php (revision 0) @@ -1,272 +0,0 @@ -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(); - - $esender =& $application->recallObject('EmailSender'); - /* @var $esender kEmailSendingHelper */ - - $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] : $esender->ConvertToText($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"]; - $Text = strip_tags($_POST["messageTEXT"]); - - 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"]; - $Text = strip_tags($_POST["messageTEXT"]); - - 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": - $application =& kApplication::Instance(); - $application->RemoveVar('email_queue_progress'); - $application->Redirect('emails/send_queue', null, '', 'index.php'); - - /*$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"; - -if ($Html) $Html .= getEmailFooter(true); -if ($Text) $Text .= getEmailFooter(false); - - -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 = ""; - $o .= int_subsection_title_ret($PageTitle); - $o .= ""; - $o .= ""; - $o .= "
".admin_language("la_prompt_EmailInitMessage")."
"; - echo $o."\n"; - break; - case "email_multi_send": /*Init multiuser send*/ - /*Create storage Table for Queue */ - $o = ""; - $o .= int_subsection_title_ret($PageTitle); - $o .= ""; - $o .= ""; - $o .= "
".admin_language("la_prompt_EmailInitMessage")."
"; - echo $o."\n"; - - set_time_limit(0); - - for($i = 0; $i < count($UserList); $i++) - { - $ToAddr = $UserList[$i]; - //$From,$FromName,$To,$ToName,$Subject,$Text,$Html,$charset,$AttmFiles,$QueueOnly=0 - $SendQueue->SendMail($FromAddr,$FromName,$ToAddr,"",$Subject,$Text,$Html,$charset, "",$FileName,$FileLoc,1, NULL); - } - break; - case "email_send_progress": - $sql = "SELECT * FROM $table LIMIT $start,".$MessagesPerPage; - // echo $sql."
\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 = ""; - $o .= int_subsection_title_ret($PageTitle); - $o .=""; - $comp_pct = 100-$pct; - $o .= ""; - $o .= "
 
"; - $o .= ""; - - echo $o."\n"; - break; - case "email_send_complete": - $sql = "DROP TABLE IF EXISTS $table"; - $ado->Execute($sql); - $o = ""; - $o .= int_subsection_title_ret($PageTitle); - $o .= ""; - $o .= ""; - $o .= "
".admin_language("la_prompt_EmailCompleteMessage")."
"; - echo $o."\n"; - break; - case "email_user_cancel": - $o = ""; - $o .= int_subsection_title_ret($PageTitle); - $o .= ""; - $o .= "
".admin_language("la_prompt_EmailCancelMessage")."
"; - echo $o."\n"; - - break; -} -echo "
"; -if(strlen($TargetURL)) -{ -?> - - -