Get("Site_Path"); $admin = $objConfig->Get("AdminDirectory"); if(!strlen($admin)) $admin = "admin"; $localURL=$rootURL."kernel/"; $adminURL = $rootURL.$admin; $imagesURL = $adminURL."/images"; $browseURL = $adminURL."/browse"; //admin only util $pathtolocal = $pathtoroot."kernel/"; require_once ($pathtoroot.$admin."/include/elements.php"); //require_once ($pathtoroot."kernel/admin/include/navmenu.php"); require_once ($pathtolocal."admin/include/navmenu.php"); require_once($pathtoroot.$admin."/browse/toolbar.php"); //Set Section $section = 'in-portal:sendmail'; //Set Environment Variable $envar = "env=" . BuildEnv(); $State = $_POST["EmailState"]; if(!strlen($State)) { $State = $_GET["EmailState"]; } $ado = GetADODBConnection(); $table = "ses_".$objSession->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("Default_FromAddr"); } if(!strlen(trim($FromName))) { $FromName = "System Administrator"; } $TargetURL = $_SERVER["PHP_SELF"]."?".$envar.'&destform=popup'; $CancelURL = $TargetURL."&EmailState=email_user_cancel"; /*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": $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 = ""; $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"; $sql = "CREATE TABLE $table SELECT * FROM ".$objEmailQueue->SourceTable." WHERE queued=99"; $ado->Execute($sql); //echo $sql."
\n"; for($i=0;$iSendMail($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)) { ?>