Файл: _rootadmin/_mailsend.inc.php
Строк: 234
<?
checkAdminAccess('mailSendAllow',1);
if ($sub == "send") {
if (!$subject) { $error = "Не указана тема сообщения."; }
else if (!$to and !$useremail) { $error = "Не указан адресат сообщения. "; }
else if ($to == "server" and !$serverid) { $error = "Не указан сервер. "; }
else if (!$mailType) { $error = "Не указан формат сообщения."; }
else if (!$message) { $error = "Не указан текст сообщения."; }
else if ($mailType == "ticket" and $background) { $error = "Возможность отправки сообщений в бекграунде доступна только для E-Mail сообщений."; }
else if ($mailType == "ticket" and !$to and $useremail) { $error = "Возможность отправки тикетов на указанный эмейл не доступна.";}
else if ($mailType == "ticket" and !$priority) { $error = "Не указана важность."; }
else {
$company_name = GetSetting("company_name");
$manager_email = GetSetting("manager_email");
if (!$background) {
if ($to == "all") { $users = GetUsersAll(); }
else if ($to == "server") { $users = GetUsersByServerId($serverid); }
else if ($to) { $users = GetUsersByOrderType($to); }
if ($users) {
if ($mailType == "ticket") {
$admUser = GetAdminById($_SESSION["adminId"]);
if ($admUser->signature) {
$message = $message."rnrn".$admUser->signature;
}
}
while ($user = @mysql_fetch_object($users)) {
if ($user->news or $ignore or $mailType == "ticket") {
if ($mailType == "ticket") {
$z=@mysql_query("select * from tickets where parentid='0' and priority='$priority' and subject='$subject' and userid='$user->id' and message='".addslashes($message)."'") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
if (mysql_num_rows($z) == 0) {
@mysql_query("insert into tickets (priority,dt,subject,userid,message,newforuser,newforadmin,adminname,adminId,department,sendadminsms) values('$priority',NOW(),'$subject','$user->id','".addslashes($message)."','1','0','".$_SESSION["adminName"]."','".$_SESSION["adminId"]."','$department','$sendadminsms')") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
$ticketid=mysql_insert_id();
$pwd = generatePassword(25);
@mysql_query("update users set tempPassword='".crypt($pwd)."' where id='$user->id'") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
$tpl=GetTpl('email_touser_ticket_new',$user->lang);
$subj=$tpl[subject]; $template=$tpl[template];
if ($subj and $template) {
$company_name=GetSetting('company_name');
$company_url=GetSetting('company_url');
$support_email=GetSetting("support_email");
$support_url=GetSetting('support_url');
$subj = str_replace('{id}',$ticketid,$subj);
$subj = str_replace('{priority}',$_priority[$priority],$subj);
$template = str_replace('{company_name}',$company_name,$template);
$template = str_replace('{company_url}',$company_url,$template);
$template = str_replace('{support_url}',$support_url,$template);
$template = str_replace('{subject}',$subject,$template);
$template = str_replace('{message}',$message,$template);
$template = str_replace('{id}',$ticketid,$template);
$template = str_replace('{link}',$full_www_path."billing.php?do=tickets&sub=view&id=$ticketid&login=$user->login&pass=$pwd",$template);
WriteMailLog($subj,$template,$user->id);
sendmail($user->email,$company_name,$support_email,$subj,$template,'','',$tpl[type]);
sendmail($user->email2,$company_name,$support_email,$subj,$template,'','',$tpl[type]);
}
if (GetSetting("smsGateway") and GetSetting("smsUserTicketNew")) {
$tpl=GetTpl('email_touser_ticket_new_sms',$user->lang);
$template=$tpl[template];
if ($template and $user->mobile and $user->smsUserTicketNew) {
$company_name=GetSetting('company_name');
$company_url=GetSetting('company_url');
$support_email=GetSetting("support_email");
$support_url=GetSetting('support_url');
$template = str_replace('{company_name}',$company_name,$template);
$template = str_replace('{company_url}',$company_url,$template);
$template = str_replace('{support_url}',$support_url,$template);
$template = str_replace('{subject}',$subject,$template);
$template = str_replace('{message}',$message,$template);
$template = str_replace('{id}',$ticketid,$template);
$template = str_replace('{priority}',$_priority[$priority],$template);
$template = str_replace('{link}',$full_www_path."billing.php?do=tickets&sub=view&id=$ticketid&login=$user->login&pass=$pwd",$template);
sendSMS($user->id,'',$template);
}
}
writeAdminLog("Создан новый тикет ID # $ticketid");
}
} else {
WriteMailLog($subject,$message,$user->id);
sendmail($user->email, $company_name, $manager_email, htmlDecode($subject), htmlDecode($message), '', '', $mailType);
sendmail($user->email2, $company_name, $manager_email, htmlDecode($subject), htmlDecode($message), '', '', $mailType);
}
}
}
} else if ($useremail) {
sendmail($useremail, $company_name, $manager_email, htmlDecode($subject), htmlDecode($message), '', '', $mailType);
} else {
$error = "Нет ни одного клиента данного типа.";
}
if ($mailType != "ticket") {
writeAdminLog("Отправлено E-mail сообщение клиенту/клиентам с темой $subject");
}
print "Сообщение/тикет успешно отправлены.<BR><BR>";
$to = ""; $email = ""; $priority = ""; $subject = ""; $message = ""; $ignore = ""; $useremail = ""; $background = ""; $serverid = ""; $mailType = "";
} else {
@mysql_query("INSERT INTO mail_queue (`ignore`,`email`,`to`,`server`,`subject`,`message`,`mailType`) VALUES ('$ignore','$useremail','$to','$serverid','$subject','$message','$mailType')") or die("File: ".__FILE__."<BR>Line: ".__LINE__."<BR>MySQL Error: ".mysql_error());
exec($PHPPATH." ".$full_home_path."/_rootsender.php > /dev/null 2>&1", $result, $resultstatus);
# exec($PHPPATH." ".$full_home_path."/_rootsender.php &", $result, $resultstatus);
if ($resultstatus == "0") {
writeAdminLog("Запущен поток для отправки E-mail клиенту/клиентам с темой $subject");
print "Отправка писем запущена в бэкграунде.<BR><BR>";
$to = ""; $email = ""; $subject = ""; $message = ""; $ignore = ""; $useremail = ""; $background = ""; $serverid = ""; $mailType = "";
} else {
$error = "Не удалось запустить процес в бэкграунде.<BR><BR>";
}
}
}
}
if ($userid) {
$user = GetUserById($userid);
if ($alt) {
$email = $user->email2;
} else {
$email = $user->email;
}
}
if ($error) { print "<font color=red>Ошибка: $error</font><BR><BR>"; }
?>
<form method=post>
<input type=hidden name=do value=mailsend>
<input type=hidden name=sub value=send>
<table>
<tr><td colspan=2 align=center bgcolor=<? print $font_head?>><B>Отправить сообщение</b></td></tr>
<tr><td>Кому: </td><td><select name=to><option value="">На указанный ниже e-mail</option><option value=all <? if ($to == "all") { print "selected"; } ?>>Всем клиентам</option><option value=hosting <? if ($to == "hosting") { print "selected"; } ?>>Клиентам на Хостинг</option><option value=reseller <? if ($to == "reseller") { print "selected"; } ?>>Клиентам на Реселлинг</option><option value=vds <? if ($to == "vds") { print "selected"; } ?>>Клиентам на Виртуальный выделенный сервер</option><option value=dedicated <? if ($to == "dedicated") { print "selected"; } ?>>Клиентам на Выделенный сервер</option><option value=vpn <? if ($to == "vpn") { print "selected"; } ?>>Клиентам на VPN</option><option value=ssh <? if ($to == "ssh") { print "selected"; } ?>>Клиентам на SSH</option><option value=domains <? if ($to == "domains") { print "selected"; } ?>>Клиентам на регистрацию доменов</option><option value=shop <? if ($to == "shop") { print "selected"; } ?>>Клиентам на товары</option><option value=server <? if ($to == "server") { print "selected"; } ?>>Клиентам указанного ниже сервера</option></select></td></tr>
<tr><td>E-Mail: </td><td><input type=text name=useremail value="<? print $email?>" size=52></td></tr>
<tr><td>Сервер: </td><td><select name=serverid><option value=""></option>
<?
$servers = GetServers();
while ($server = @mysql_fetch_object($servers)) {
print "<option value=$server->id>$server->name [$server->ip]</option>";
}
?>
</select></td></tr>
<tr><td>Формат: </td><Td><input type=radio name=mailType value="text" <? if ($mailType == "text" or !$mailType) {print "checked";}?>> E-Mail (TEXT) <input type=radio name=mailType value="html" <? if ($mailType == "html") {print "checked";}?>> E-Mail (HTML) <input type=radio name=mailType value="ticket" <? if ($mailType == "ticket") {print "checked";}?>> Тикет</td></tr>
<tr><td>Важность:</td><td><?GetPrioritySelect($priority)?></td></tr>
<tr><td>Тема: </td><Td><input type=text name=subject value="<? print $subject?>" size=52></td></tr>
<tr><td valign=top>Письмо: </td><td><textarea name=message cols=50 rows=10><? print $message?></textarea></td></tr>
<tr><Td></td><Td><input type=checkbox name=ignore value=1 <? if ($ignore) {print "checked";} ?>> отправить, даже если клиент отказался от подписки на новости</td></tr>
<tr><Td></td><Td><input type=checkbox name=background value=1 <? if ($background) {print "checked";} ?>> отправить в бэкграунде отдельным процессом</td></tr>
<tr><td colspan=2 align=center><BR><input type=submit value=Отправить> <input type=reset value=Очистить></td></tr>
</table>
</form>
<?
?>