本文整理汇总了PHP中messages::GetZeroMessageUsers方法的典型用法代码示例。如果您正苦于以下问题:PHP messages::GetZeroMessageUsers方法的具体用法?PHP messages::GetZeroMessageUsers怎么用?PHP messages::GetZeroMessageUsers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类messages
的用法示例。
在下文中一共展示了messages::GetZeroMessageUsers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: SendAdminMessage
/**
* Отправляет уведомления о новых сообщениях в личке при рассылке администрации.
* Консьюмер plproxy-mail
*
* @param array $params Данные от PgQ, TO-адреса получателей; FROM-адрес отправителя
* @param string $msg Текст сообщения
*/
function SendAdminMessage($params)
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
$messObj = new messages();
$message_id = $params;
if (!($message = $messObj->GetMessage($message_id))) {
return "Тело сообщения отсутствует.";
}
$this->subject = "Новое сообщение от Команды FL.ru";
$msg_text = reformat2($message['msg_text'], 100);
$attaches = array();
if ($message['attach']) {
foreach ($message['attach'] as $a) {
$attaches[] = new CFile($a['path'] . $a['fname']);
}
$attaches = $this->CreateAttach($attaches);
}
if (!$this->Connect()) {
return "Невозможно соеденится с SMTP сервером";
}
$from = new users();
$from->GetUserByUID($message['from_id']);
$parse = $from->login == 'admin';
$header = $parse ? 'none' : 'default';
for ($i = 0; $users = $messObj->GetZeroMessageUsers($message['from_id'], $message_id, 1000, $i * 1000); $i++) {
foreach ($users as $ikey => $user) {
if ($parse) {
$msg_text = reformat2($message['msg_text'], 100);
$msg_text = preg_replace("/%USER_NAME%/", $user['uname'], $msg_text);
$msg_text = preg_replace("/%USER_SURNAME%/", $user['usurname'], $msg_text);
$msg_text = preg_replace("/%USER_LOGIN%/", $user['login'], $msg_text);
}
if (!$user['email'] || substr($user['subscr'], 7, 1) == '0') {
continue;
}
$this->recipient = $user['uname'] . " " . $user['usurname'] . " [" . $user['login'] . "] <" . $user['email'] . ">";
$this->message = $this->GetHtml($user['uname'], $msg_text, array('header' => 'none', 'footer' => 'none'));
$this->SmtpMail('text/html', $attaches);
}
}
return '';
}
示例2: SendMasssending
/**
* Отправляет сообщение от администрации группе юзеров, определенных в модуле /siteadmin/admin/. Вызвается из hourly.php.
*
* Чтобы сообщение было отправлено нужно его занести в таблицу messages с полем to_id равным 0 и,
* по необходимости, определить какому виду пользователей нужно отправить сообщение.
* Кроме того, далее необходимо зарегистрировать данное сообщение в таблице переменных variables, переменной
* с именем 'admin_message_id' со значением идентификатором отправляемого сообщения.
* Отправляет уведомление о новом сообщении в личке ("Мои контакты").
*
* @return string возможная ошибка
*/
public function SendMasssending()
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/spam.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php';
if (!($message_id = spam::GetMasssendingMessageID())) {
return "Не зарегистрировано ни одного сообщения от администрации (таблица 'variables', имя переменной 'admin_message_id').";
}
if (!($message = messages::GetMessage($message_id))) {
return 'Тело сообщения отсутствует.';
}
$this->subject = 'Новое сообщение на FL.ru';
$msg_text = "\n<a href='{$GLOBALS['host']}/users/{$message['from_login']}{$this->_addUrlParams('b')}'>{$message['from_uname']} {$message['from_usurname']}</a> [<a href='{$GLOBALS['host']}/users/{$message['from_login']}{$this->_addUrlParams('b')}'>{$message['from_login']}</a>]\nнаправил(а) вам новое сообщение на сайте FL.ru.<br />\n<br />\n---------- \n<br />\n" . $this->ToHtml(LenghtFormatEx(strip_tags($message['msg_text']), 300)) . "\n<br />\n<br />\n<br />\n<a href='{$GLOBALS['host']}/contacts/?from={$message['from_login']}{$this->_addUrlParams('b', '&')}'>{$GLOBALS['host']}/contacts/?from={$message['from_login']}</a>\n<br />\n<br />\n------------\n";
// атачи по идее не нужны в письме в массовых рассылках, пусть читают на сайте :) но если вдруг... то включить это
$attaches = array();
/*if ($message['attach']) {
foreach($message['attach'] as $a) {
$attaches[] = new CFile($a['path'].$a['fname']);
}
$attaches = $this->CreateAttach($attaches);
}*/
if (!$this->Connect()) {
return 'Невозможно соеденится с SMTP сервером';
}
for ($i = 0; $users = messages::GetZeroMessageUsers($message['from_id'], $message_id, 1000, $i * 1000, false); ++$i) {
foreach ($users as $ikey => $user) {
if ($user['email'] && substr($user['subscr'], 12, 1) == '1') {
$this->recipient = $user['uname'] . ' ' . $user['usurname'] . ' [' . $user['login'] . '] <' . $user['email'] . '>';
$this->message = $this->GetHtml($user['uname'], $msg_text, array('header' => 'default', 'footer' => 'default'), array('login' => $user['login']));
$this->SmtpMail('text/html', $attaches);
}
}
}
// отправляем сообщение автору рассылки
$this->subject = 'Ваша заявка на рассылку прошла модерацию';
$this->recipient = $message['from_uname'] . ' ' . $message['from_usurname'] . ' [' . $message['from_login'] . '] <' . $message['from_email'] . '>';
$attaches = '';
if ($message['attach']) {
foreach ($message['attach'] as $a) {
$attaches .= ", <a href='" . WDCPREFIX . "/{$a['path']}{$a['fname']}{$this->_addUrlParams('b')}'>{$a['fname']}</a>";
}
}
$msg_text = $this->ToHtml($message['msg_text']);
$body = "Ваша заявка на рассылку была рассмотрена и одобрена модераторами сайта FL.ru (3). \n Фрилансерам выбранных вами специализаций будет отправлено сообщение следующего содержания:</br>\n ---<br/>\n {$msg_text}<br/>\n ---<br/>";
$this->message = $this->GetHtml($message['from_uname'], $body, array('header' => 'default', 'footer' => 'simple'));
$this->SmtpMail('text/html');
return '';
}