/** * Функция отправляет пользователю сообщение о том, что его статья удалена * * @param (array) $arrData - массив данных статьи * * @return void */ public function sendUserDeletedArticle(&$arrData) { /** Получаем данные пользователя **/ $user = new user(); if ($uData = $user->getUser("id IN (" . secure::escQuoteData($arrData['id']) . ")")) { $mailer = new mailer(); // массив для замены в шаблоне $mailer->setAddReplace(array('%ARTICLE_TITLE%' => $arrData['title'], '%COMMENTS%' => CONF_MAIL_FORMAT_HTML ? nl2br($arrData['comments']) : $arrData['comments'])); // отправляем письмо администратору $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $uData['email'], $uData['first_name'], MAIL_MODERATE_ARTICLES_DELETED . ': ' . $arrData['title'], 'user.article.deleted.txt'); unset($mailer); // уничтожаем объект } unset($user); // уничтожаем объект }
/** * Функция отправляет жалобу на комментарий * * @param array $arrComment - массив данных комментария * @param array $arrNews - массив данных новости * @param string $recipient - адрес получателя * * @return bool */ public function sendComplaintComment($arrComment, $arrNews, $recipient) { $mailer = new mailer(); // проверяем, кому уходит письмо if (CONF_MAIL_ADMIN_EMAIL == $recipient) { $newsLink = CONF_SCRIPT_URL . CONF_ADMIN_FILE . '?m=manager&s=news&do=filter&id=' . $arrNews['id'] . '&id_user=&author=&title=&sDate=&eDate=&records='; } else { $newsLink = chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=news&action=view&id=' . $arrNews['tId']); } // массив для замены в шаблоне $mailer->setAddReplace(array('%NEWS_TITLE%' => $arrNews['title'], '%NEWS_LINK%' => $newsLink, '%COMPLAINT_DATE%' => date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime(terms::currentDateTime())), '%COMMENT_DATE%' => date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime($arrComment['datetime'])), '%AUTHOR%' => $arrComment['name'], '%COMMENT_TEXT%' => CONF_MAIL_FORMAT_HTML ? nl2br($arrComment['text']) : $arrComment['text'])); // отправляем письмо администратору return $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $recipient, false, MAIL_SUBJ_NEWS_COMMENTS_COMPLAINT, 'news.comments.complaint.txt'); }
$articles->rateArticle($_GET['score'], $_GET['id']); } elseif (isset($_POST['dl']) && (int) $_POST['dl'] && 0 < $_POST['dl']) { $user = new user(); $result = $user->ajaxDeleteUserLogo($_POST['dl']); echo 'ok' === $result ? $result : ('noisset' === $result ? ERROR_USER_NOT_EXISTS : ERROR_DELETE_LOGO); } elseif (isset($_GET['sendto'])) { if (!isset($_POST['sendto']) || !($sendto = secure::strSecureDecode($_POST['sendto'])) || !validate::validateEmail($sendto)) { echo 'errSendto'; } elseif (!isset($_POST['email']) || !validate::validateEmail($_POST['email'])) { echo 'errEmail'; } elseif (!isset($_GET['respAnn']) && SECURE_CAPTCHA && (!isset($_POST['keystring']) || !($securimage = new securimage()) || !$securimage->check($_POST['keystring']))) { echo 'errKeystring'; } else { $mailer = new mailer(); if (!empty($_POST['message'])) { $mailer->setAddReplace(array('%FEEDBACK%' => $_POST['message'])); $mailTemplate = 'feedback.txt'; $mailText = false; } elseif (!empty($_POST['text'])) { $mailTemplate =& $_POST['text']; $mailText = true; } else { echo 'errEmptyMessage'; } if (!empty($_POST['attachment']) && is_array($_POST['attachment'])) { foreach ($_POST['attachment'] as &$attachment) { $nameAttachment = implode('.', array_slice(explode('.', $attachment), 1)); $attachment = 'uploads/temporary/' . $attachment; $mailer->AddAttachment($attachment, $nameAttachment); } }
strlen($_POST['subject']) < 5 ? $arrErrors[] = ERROR_SUBJECT_SHORT : null; strlen($_POST['message']) < 10 ? $arrErrors[] = ERROR_MESSAGE_SHORT : null; if (SECURE_CAPTCHA) { $securimage = new securimage(); !$securimage->check($_POST['keystring']) ? $arrErrors[] = ERROR_CAPTCHA : null; } } else { $arrErrors[] = ERROR_EMPTY_FIELDS; } /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// if (!$arrErrors) { $mailer = new mailer(); // массив для замены в шаблоне CONF_MAIL_FORMAT_HTML ? $message = nl2br($_POST['message']) : ($message =& $_POST['message']); $mailer->setAddReplace(array('%FEEDBACK%' => &$message)); // проверяем, если есть дополнительный словарь тем, то используем его $toAddress = isset($arrAddDict['FeedbackSubject']) && ($address = array_search($_POST['subject'], $arrAddDict['FeedbackSubject']['values'])) ? $address : CONF_MAIL_ADMIN_EMAIL; // пытамеся отправить сообщение if (!$mailer->sendEmail($_POST['email'], $_POST['email'], $_POST['email'], $toAddress, $toAddress, $_POST['subject'], 'feedback.txt')) { $arrErrors[] = ERROR_SEND_EMAIL; } else { messages::messageChangeSaved(MESSAGE_WAS_SEND, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=feedback')); } } $return_data['subject'] = !empty($_POST['subject']) ? $_POST['subject'] : ''; $return_data['email'] = !empty($_POST['email']) ? $_POST['email'] : ''; $return_data['message'] = !empty($_POST['message']) ? $_POST['message'] : ''; } // проверяем, если есть дополнительный словарь тем, то бере темы из него $feedBackSubject = isset($arrAddDict['FeedbackSubject']) ? $arrAddDict['FeedbackSubject']['values'] : $arrSysDict['FeedbackSubject']['values'];
/** * protected функция уведомления пользователя о платеже * @param (int) $action - действие * @param (string) $userEmail - email пользователя, которому отправить уведомление * @param (string) $message - сообщение, которое будет вставлено в письмо * @return bool */ protected function userPaymentNotification($action, &$userEmail, &$message) { if (empty($action) || empty($userEmail) || empty($message)) { return false; } $mailer = new mailer(); // проверяем действие switch ($action) { case 'close': $mailSubj = JUR_MAIL_SUBJECT_CLOSE_PAYMENT; $comment = JUR_MAIL_COMMENT_CLOSE_PAYMENT; break; case 'delete': $mailSubj = JUR_MAIL_SUBJECT_DELETE_PAYMENT; $comment = JUR_MAIL_COMMENT_DELETE_PAYMENT; break; } // массив для замены в шаблоне $mailer->setAddReplace(array('%COMMENT%' => $comment, '%MESSAGE%' => $message)); return $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $userEmail, $userEmail, $mailSubj, 'payment.jur.message.txt'); }
/** * private функция рассылки почтовых сообщений * * @param string $typeAnnounce - тип объявления (должно соответствовать имени таблицы БД) * @param array $arrAnnounceData - массив данных объявления * @param bool $screenMessageOn [default = true] - завершение работы скрипта, выводом информационного сообщения * * @return bool */ private function sendEmails(&$typeAnnounce, &$arrAnnounceData, $screenMessageOn = true) { if (isset($_SESSION['referer'])) { unset($_SESSION['referer']); } $user_type = !empty($_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type']) ? 'ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&' : ''; switch ($arrAnnounceData['token']) { case 'new': /** * отправляем письмо пользователю */ $mailer = new mailer(); // дата удаления неактивированного объявления $deldate = date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime(terms::calcDateTimeOfTerm(constant('CONF_' . strtoupper($typeAnnounce) . '_ACTIVATE_THERM')))); $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title'], '%CODE%' => $arrAnnounceData['unikey'], '%DELDATE%' => $deldate, '%ACTIVATE_PAGE%' => CONF_SCRIPT_URL . 'index.php?' . $user_type . 'do=' . $typeAnnounce . '&action=activate', '%ACTIVATE_LINK%' => CONF_SCRIPT_URL . 'index.php?' . $user_type . 'do=' . $typeAnnounce . '&action=activate&code=' . $arrAnnounceData['unikey'])); $result = $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $arrAnnounceData['email'], $arrAnnounceData['email'], MAIL_SUBJ_ACTIVATE_ANNOUNCE . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'announce.user.activate.txt'); unset($mailer); // уничтожаем объект if (!$result && !empty($screenMessageOn)) { messages::printDie(ERROR_SEND_EMAIL); } elseif (!empty($screenMessageOn)) { messages::messageChangeSaved(ANNOUNCE_ADD_ACTIVATE_TITLE, ANNOUNCE_ADD_ACTIVATE_MESSAGE, CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=' . $typeAnnounce . '&action=activate', 5000); } else { return $result; } case 'moderate': // массив для замены в шаблоне $arrAddReplace = array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title']); /** * отправляем письмо администратору */ $mailer = new mailer(); // передаем массив для замены в шаблоне $mailer->setAddReplace($arrAddReplace + array('%ADMIN_PANEL_LINK%' => CONF_SCRIPT_URL . CONF_ADMIN_FILE . '?m=announces&s=' . $typeAnnounce . 's&action=moderate')); $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, CONF_MAIL_ADMIN_EMAIL, false, MAIL_SUBJ_NEW_ANNOUNCE . $arrAnnounceData['title'], empty($arrAnnounceData['comments']) ? 'adm.moderate.announce.txt' : 'adm.edited.announce.txt'); unset($mailer); // уничтожаем объект /** * отправляем письмо пользователю */ $mailer = new mailer(); // передаем массив для замены в шаблоне $mailer->setAddReplace($arrAddReplace); $result = $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $arrAnnounceData['email'], $arrAnnounceData['email'], MAIL_SUBJ_MODERATE_ANNOUNCE . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'announce.user.moderate.txt'); unset($mailer); // уничтожаем объект if (!$result && !empty($screenMessageOn)) { messages::printDie(ERROR_SEND_EMAIL); } elseif (!empty($screenMessageOn)) { $link = !empty($arrAnnounceData['id_user']) ? CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.announces&action=' . $typeAnnounce . '&token=' . $arrAnnounceData['token'] : CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type']; messages::messageChangeSaved(ANNOUNCE_ADD_MODERATION_TITLE, ANNOUNCE_ADD_MODERATION_MESSAGE, chpu::createChpuUrl($link), 5000); } else { return $result; } case 'correction': /** * отправляем письмо пользователю */ $mailer = new mailer(); // дата удаления не исправленного объявления $deldate = date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime(terms::calcDateTimeOfTerm(constant('CONF_' . strtoupper($typeAnnounce) . '_CORRECTION_THERM')))); $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title'], '%DELDATE%' => $deldate, '%USER_PANEL_LINK%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=user.announces&action=' . $typeAnnounce . '&token=' . $arrAnnounceData['token']), '%COMMENTS%' => CONF_MAIL_FORMAT_HTML ? nl2br($arrAnnounceData['comments']) : $arrAnnounceData['comments'])); $result = $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $arrAnnounceData['email'], $arrAnnounceData['email'], MAIL_SUBJ_NEW_ANNOUNCE_CORRECTION . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'announce.user.correction.txt'); unset($mailer); // уничтожаем объект if (!$result && !empty($screenMessageOn)) { messages::printDie(ERROR_SEND_EMAIL); } else { return $result; } case 'payment': /** * отправляем письмо пользователю */ $mailer = new mailer(); // дата удаления неоплаченого объявления $deldate = date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime(terms::calcDateTimeOfTerm(constant('CONF_' . strtoupper($typeAnnounce) . '_PAYMENT_THERM')))); $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title'], '%CODE%' => $arrAnnounceData['unikey'], '%DELDATE%' => $deldate, '%PAYMENT_LINK%' => CONF_SCRIPT_URL . 'index.php?' . $user_type . 'do=' . $typeAnnounce . '&action=payment&id=' . $arrAnnounceData['id'])); $result = $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $arrAnnounceData['email'], $arrAnnounceData['email'], MAIL_SUBJ_NEW_ANNOUNCE_PAYMENT . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'announce.user.payment.txt'); unset($mailer); // уничтожаем объект if (!$result && !empty($screenMessageOn)) { messages::printDie(ERROR_SEND_EMAIL); } elseif (!empty($screenMessageOn)) { $_SESSION['payment'] = array('service' => 'add_' . $typeAnnounce, 'announce_type' => $typeAnnounce, 'id' => $arrAnnounceData['id'], 'tId' => $arrAnnounceData['tId'], 'announce_title' => $arrAnnounceData['title']); messages::messageChangeSaved(ANNOUNCE_ADD_PAYMENT_TITLE, ANNOUNCE_ADD_PAYMENT_MESSAGE, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=payments'), 5000); } else { return $result; } case 'active': // транслитерация ЧПУ chpu::chpuTranslit($arrAnnounceData); if (CONF_ANNOUNCE_ADD_SUCCESS_ADMIN_INFORM) { $mailer = new mailer(); // массив для замены в шаблоне $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title'], '%ANNOUNCE_LINK%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=' . $typeAnnounce . '&action=view&id=' . $arrAnnounceData['tId']), '%ADMIN_PANEL_LINK%' => CONF_SCRIPT_URL . CONF_ADMIN_FILE . '?m=announces&s=' . $typeAnnounce . 's')); // отправляем письмо администратору $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, CONF_MAIL_ADMIN_EMAIL, false, MAIL_SUBJ_NEW_ANNOUNCE . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'adm.add.announce.txt'); unset($mailer); // уничтожаем объект } if (CONF_ANNOUNCE_ADD_SUCCESS_USER_INFORM) { $mailer = new mailer(); $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title'], '%ANNOUNCE_LINK%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=' . $typeAnnounce . '&action=view&id=' . $arrAnnounceData['tId']), '%USER_PANEL_LINK%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=user.announces&action=' . $typeAnnounce . '&token=' . $arrAnnounceData['token']))); // отправляем письмо пользователю $result = $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $arrAnnounceData['email'], $arrAnnounceData['email'], MAIL_SUBJ_NEW_ANNOUNCE . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'announce.user.added.txt'); unset($mailer); // уничтожаем объект if (!$result && !empty($screenMessageOn)) { messages::printDie(ERROR_SEND_EMAIL); } } if (!empty($screenMessageOn)) { messages::messageChangeSaved(ANNOUNCE_ADD_SUCCESS_TITLE, ANNOUNCE_ADD_SUCCESS_MESSAGE, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=' . $typeAnnounce . '&action=view&id=' . $arrAnnounceData['tId']), 5000); } else { return true; } case 'deleted': case 'archived': /** * отправляем письмо пользователю */ $mailer = new mailer(); $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title'], '%COMMENTS%' => $arrAnnounceData['comments'])); $result = $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $arrAnnounceData['email'], $arrAnnounceData['email'], MAIL_SUBJ_NEW_ANNOUNCE_DELETED . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'announce.user.deleted.txt'); unset($mailer); // уничтожаем объект if (!$result && !empty($screenMessageOn)) { messages::printDie(ERROR_SEND_EMAIL); } else { return $result; } case 'vip': case 'hot': /** * отправляем письмо пользователю */ $mailer = new mailer(); $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)), '%ANNOUNCE_TITLE%' => $arrAnnounceData['title'], '%STATUS%' => strtoupper($arrAnnounceData['token']))); $result = $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $arrAnnounceData['email'], $arrAnnounceData['email'], MAIL_SUBJ_NEW_ANNOUNCE_DELETED . constant('MAIL_ANNOUNCE_TYPE_' . strtoupper($typeAnnounce)) . ' - ' . $arrAnnounceData['title'], 'announce.user.' . $arrAnnounceData['token'] . '.reset.txt'); unset($mailer); // уничтожаем объект if (!$result && !empty($screenMessageOn)) { messages::printDie(ERROR_SEND_EMAIL); } else { return $result; } default: return false; } }
} } else { $arrErrors[] = ERROR_EMAIL_NOT_FOUND; } } } else { $arrErrors[] = ERROR_EMPTY_FIELDS; } $smarty->assign('return_data', array('email' => $_POST['email'])); } elseif (isset($_GET['i']) && $_GET['i']) { if ($userData = $user->checkLinkToChangePassword()) { // генерируем новый пароль $password = strings::randomString(CONF_REGISTER_USER_PASSWORD); $mailer = new mailer(); // массив для замены в шаблоне $mailer->setAddReplace(array('%NEW_PASSWORD%' => $password)); if ($mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $userData['email'], $userData['email'], CONF_SITE_NAME . MAIL_SUBJ_NEW_PASS, 'new.pass.txt')) { // если письмо успешно отправлено, обновляем пароль if ($user->updateUser(array('password' => md5($password)), "id IN (" . secure::escQuoteData($userData['id']) . ") AND password IN (" . secure::escQuoteData($userData['password']) . ")")) { messages::messageChangeSaved(MENU_NEW_PASS, MESSAGE_NEW_PASS_SUCCESS, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=authorize'), 10000); } else { $arrErrors[] = db::$message_error; } } else { $arrErrors[] = ERROR_SEND_EMAIL; } } else { messages::error404(); } } $smarty->assignByRef('errors', $arrErrors);
/** * protected функция уведомления пользователя о платеже * * @param (int) $action - действие * @param (string) $userEmail - email пользователя, которому отправить уведомление * @param (string) $message - сообщение, которое будет вставлено в письмо * @param (array) $arrFiles - пути к файлам файлы (вложения в письмо) * * @return bool */ protected function userPaymentNotification($action, &$userEmail, &$message, &$arrFiles = false) { if (empty($action) || empty($userEmail) || empty($message)) { return false; } $mailer = new mailer(); // проверяем действие switch ($action) { case 'processing': $mailSubj = HAND_MAIL_SUBJECT_PROCESSING_PAYMENT; $comment = HAND_MAIL_COMMENT_PROCESSING_PAYMENT; // вложения if (is_array($arrFiles) && !empty($arrFiles)) { foreach ($arrFiles as $value) { $value = ltrim($value, '/'); file_exists($value) ? $mailer->AddAttachment($value) : null; } } break; case 'close': $mailSubj = HAND_MAIL_SUBJECT_CLOSE_PAYMENT; $comment = HAND_MAIL_COMMENT_CLOSE_PAYMENT; break; case 'delete': $mailSubj = HAND_MAIL_SUBJECT_DELETE_PAYMENT; $comment = HAND_MAIL_COMMENT_DELETE_PAYMENT; break; } // массив для замены в шаблоне $mailer->setAddReplace(array('%COMMENT%' => $comment, '%MESSAGE%' => $message)); return $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $userEmail, $userEmail, $mailSubj, 'payment.hand.message.txt'); }
/** * private функция рассылки почтовых сообщений при модерации новости * * @param (string) $action - действие, которое было выполнено с новостью * @param (array) $arrData - должен содержать id пользователя и title новости * @param (string or false) $comments - комментарий к модерируемой новости * @param (string or false) $date - дата, когда новость будет автоматически удалена. По умолчанию false * * @return void */ private function moderateSendMail($action, $arrData, $comments, $date = false) { // проверяем, есть ли данные по новости if (!$arrData['id_user'] || !$arrData['title']) { return false; } $user = new user(); // получаем емайл пользователя if (!($arrUser = $user->getUser("id IN (" . secure::escQuoteData($arrData['id_user']) . ")"))) { return false; } // проверяем действие, выполненное над новостью switch ($action) { case 'show': $status = MAIL_MODERATE_NEWS_ACTIVATED; break; case 'correction': $status = MAIL_MODERATE_NEWS_CORRECTION; break; case 'del': $status = MAIL_MODERATE_NEWS_DELETED; break; } $mailer = new mailer(); // массив для замены в шаблоне $mailer->setAddReplace(array('%TITLE%' => $arrData['title'], '%STATUS%' => $status, '%COMMENTS%' => $comments ? $comments : MAIL_MODERATE_NEWS_COMMENTS, '%DELDATE%' => $date ? MAIL_MODERATE_NEWS_DELETE_DATE . date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime($date)) : '')); $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $arrUser['email'], $arrUser['email'], MAIL_SUBJ_MODERATE_NEWS . ': ' . $arrData['title'], 'moderate.news.txt'); }
/** * protected функция выполняет рассылку, в ссответствии с полученными параметрами * * @param (array) $arrData - массив данных, необходимых для рассылки * * @return bool */ protected function runSubscription($arrData) { // проверяем наличие необходимых данных if (!$this->validateSubscriptionData($arrData)) { return false; } // формируем данные для рассылки if ($data = $this->createSubscriptionData($arrData)) { $mailer = new mailer(); // массив для замены в шаблоне $mailer->setAddReplace(array('%ANNOUNCE_TYPE%' => 'vacancy' === $arrData['type_subscription'] ? SITE_VACANCY : SITE_RESUME, '%DATA%' => $data)); if ($mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $arrData['email'], $arrData['email'], CONF_SITE_NAME . MAIL_SUBJ_SUBSCRIPTION_SEND, 'announce.subscription.txt')) { $this->editEntrys(secure::escQuoteData(array('date_lastsend' => terms::currentDate())), "email IN (" . secure::escQuoteData($arrData['email']) . ") AND type_subscription IN (" . secure::escQuoteData($arrData['type_subscription']) . ") AND id_profession IN (" . secure::escQuoteData($arrData['id_profession']) . ") AND id_region IN (" . secure::escQuoteData($arrData['id_region']) . ") AND id_city IN (" . secure::escQuoteData($arrData['id_city']) . ") AND period IN (" . secure::escQuoteData($arrData['period']) . ") AND token IN ('active')"); return true; } else { return false; } } else { return false; } }
/** * protected функция отправки пользователю сообщения о том, что на сайт его добавил администратор * * @param (array) $arrData - Данные пользователя array('email' => email, 'password' => password) * * @return void */ protected function addUserSendEmail($arrData) { $mailer = new mailer(); $mailer->setAddReplace(array('%AUTHORIZE_LINK%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=authorize'), '%USER_LOGIN%' => $arrData['email'], '%USER_PASSWORD%' => $arrData['password'])); $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $arrData['email'], false, MAIL_SUBJ_ADM_USER_ADD, 'user.add.admin.txt'); }