/** * Функция отправляет пользователю сообщение о том, что его статья возвращена на редактирование * * @param (array) $arrData - массив данных статьи * * @return void */ public function sendUserCorrectionArticle(&$arrData) { /** Получаем данные пользователя **/ $user = new user(); if ($uData = $user->getUser("id IN (" . secure::escQuoteData($arrData['id']) . ")")) { $mailer = new mailer(); // массив для замены в шаблоне $mailer->setAddReplace(array('%ARTICLE_TITLE%' => $arrData['title'], '%PUBLICATION_DATE%' => date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime($arrData['datetime'])), '%COMMENTS%' => CONF_MAIL_FORMAT_HTML ? nl2br($arrData['comments']) : $arrData['comments'], '%DELDATE%' => date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime(terms::calcDateTimeOfTerm(CONF_ARTICLES_CORRECTION_THERM))), '%USER_PANEL_LINK%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=user.articles&action=correction'))); // отправляем письмо администратору $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, CONF_SITE_NAME, false, $uData['email'], $uData['first_name'], MAIL_MODERATE_ARTICLES_CORRECTION . ': ' . $arrData['title'], 'user.article.correction.txt'); unset($mailer); // уничтожаем объект } unset($user); // уничтожаем объект }
$updData = array('token' => 'correction', 'token_datetime' => terms::calcDateTimeOfTerm(CONF_ARTICLES_CORRECTION_THERM)); !$articles->updateArticles($updData, array_keys($_POST['articles'])) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } elseif ('delete' === $_POST['action'] && !empty($_POST['articles'])) { !$articles->deleteArticles(array_keys($_POST['articles'])) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } } elseif (!empty($_POST['arrData']['action']) && !empty($_POST['arrData']['id'])) { if ('active' === $_POST['arrData']['action'] && !empty($_POST['arrData']['title']) && !empty($_POST['arrData']['datetime']) && !empty($_POST['arrData']['id_user'])) { if ($articles->updateArticle(array('token' => 'active', 'token_datetime' => ''), $_POST['arrData']['id'])) { $articles->sendUserActiveArticle($_POST['arrData']); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } else { $arrErrors[] = db::$message_error; } } elseif ('correction' === $_POST['arrData']['action'] && !empty($_POST['arrData']['comments']) && !empty($_POST['arrData']['title']) && !empty($_POST['arrData']['datetime']) && !empty($_POST['arrData']['id_user'])) { // данные для обновления в таблице $updData = array('comments' => $_POST['arrData']['comments'], 'token' => 'correction', 'token_datetime' => terms::calcDateTimeOfTerm(CONF_ARTICLES_CORRECTION_THERM)); if ($articles->updateArticle($updData, $_POST['arrData']['id'])) { $articles->sendUserCorrectionArticle($_POST['arrData']); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } else { $arrErrors[] = db::$message_error; } } elseif ('deleted' === $_POST['arrData']['action'] && !empty($_POST['arrData']['comments']) && !empty($_POST['arrData']['title']) && !empty($_POST['arrData']['id_user'])) { if ($articles->deleteArticles(array($_POST['arrData']['id']))) { $articles->sendUserDeletedArticle($_POST['arrData']); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } else { $arrErrors[] = db::$message_error; } } }
/** * 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; } }
/** * функция действий над новостями * * @param (string) $action - действие, которое необходимо выполнить (сейчас доступны следующие действия: show - активировать, hide - архивировать, moderate - модерировать, del - удалить) * @param (array) $arrNews - массив, содержащий id новостей для выполнения действия * @param (string) $link - ссылка, для переадресации после выполнения действия * @param (string or false) $comments - комментарий, (добавляется администратором, при отправке новости на редактирование) or false. * @param (array or false) $notification - массив, содержащий данные для уведомления пользователя (id пользователя, title - заголовок новости) or false. * * @return false или переадресация */ protected function actionNews($action, $arrNews, $link, $comments, $notification) { switch ($action) { case 'show': if (!$this->updateNews(array('token' => 'active'), $arrNews)) { return false; } else { // отправляем пользователю уведомление $notification ? $this->moderateSendMail($action, $notification, $comments) : null; messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, $link); } break; case 'hide': if (!$this->updateNews(array('token' => 'archived'), $arrNews)) { return false; } else { messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, $link); } break; case 'correction': // вычисляем дату удаления новости $date = terms::calcDateTimeOfTerm(CONF_NEWS_USER_CORRECTION_TIME); // массив данных для обновления новости $arrData = $comments ? array('token' => 'correction', 'token_datetime' => $date, 'comments' => $comments) : array('token' => 'correction', 'token_datetime' => $date); if (!$this->updateNews($arrData, $arrNews)) { return false; } else { // отправляем пользователю уведомление $notification ? $this->moderateSendMail($action, $notification, $comments, $date) : null; messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, $link); } break; case 'del': if (!$this->deleteNews($arrNews, false)) { return false; } else { // отправляем пользователю уведомление $notification ? $this->moderateSendMail($action, $notification, $comments) : null; messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, $link); } break; } }
/** * protected функция производит запись данных в таблицу БД * * @param array $arrBindFields - массив полей обязательных для заполнения * @param array $arrNoBindFields - массив полей не обязательных для заполнения * @param string $typeAnnounce - тип объявления или false * * @return bool */ protected function recSubscr(&$arrBindFields, &$arrNoBindFields, $typeAnnounce) { // Для подписок добавляемых с объявлением if (!empty($typeAnnounce) && !empty($arrNoBindFields['id_announce']) && isset($GLOBALS[$typeAnnounce])) { $objCaller =& $GLOBALS[$typeAnnounce]; if (!($arrAnnounceData = $objCaller->retDataSubj())) { return false; } // заполняем период подписки из настройки панели администратора $arrBindFields['period'] = CONF_SUBSCRIPTIONS_ANNOUNCE_PERIOD; // запролняем сервисные поля $this->arrServiceFields = array_intersect_key($arrAnnounceData, $this->arrServiceFields); } else { // Проверяем тип подписки на платность // и количество бесплатных подписок пользователя if (!$this->arrPayments['subscr_' . $arrBindFields['type_subscription']] || $this->cntSubscriptions("id_announce IN ('0') AND id_user IN (" . secure::escQuoteData($_SESSION['sd_user']['data']['id']) . ") AND payment IN ('no') AND type_subscription IN (" . secure::escQuoteData($arrBindFields['type_subscription']) . ") AND token IN ('active')") < @constant('CONF_SUBSCRIPTIONS_FREE_' . strtoupper($arrBindFields['type_subscription']))) { // если доступны бесплатные подписки, формируем данные для добавления бесплатной подписки $this->arrServiceFields['token'] = 'active'; } else { // если бесплатные подписки уже не доступны, формируем платную подписку $this->arrServiceFields['token'] = 'payment'; $this->arrServiceFields['token_datetime'] = terms::calcDateTimeOfTerm(CONF_SUBSCRIPTIONS_PAYMENT_DELETE); $this->arrServiceFields['payment'] = 'yes'; } $this->arrServiceFields['date_lastsend'] = terms::currentDate(); } // записываем данные в таблицу $result = $this->setSubscrSubj($arrBindFields, $arrNoBindFields) && $this->addEntry() ? true : false; // если подписка не платная, возвращаем результат if ('payment' !== $this->arrServiceFields['token']) { return $result; } else { // иначе, формируем даные для оплаты и переадресовываем пользователя на страницу оплат // проверяем, есть ли у нас ID только что добавленной записи if (!($id = $this->getLine_id())) { // если нет, возвращаем false return false; } else { // иначе, формируем данные и переадресовываем пользователя на страницу оплат $_SESSION['payment'] = array('service' => 'subscr_' . strtolower($arrBindFields['type_subscription']), 'id' => $id); messages::messageChangeSaved(MESSAGE_SUBSCRIPTION_ADD_PAYMENT, MESSAGE_SUBSCRIPTION_ADD_PAYMENT_TEXT, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=payments'), 15000); } } }
/** * private функция рассылки почтовых сообщений пользователям при регистрации * Завершает работу скрипта, выводом информационного сообщения пользователю * * @return void */ private function sendEmails($arrData) { $mailer = new mailer(); // если включена активация пользователей if (CONF_USER_ACTIVATE) { // массив для замены в шаблоне $mailer->setAddReplace(array('%DELDATE%' => date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime(terms::calcDateTimeOfTerm(CONF_USER_ACTIVATE_DELETE))), '%CODE%' => md5($arrData['email']), '%ACTIVATE_PAGE%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.activate'), '%ACTIVATE_LINK%' => CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.activate&code=' . md5($arrData['email']))); // отправляем письмо пользователю if ($mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $arrData['email'], $arrData['email'], MAIL_SUBJ_ACTIVATE_ACCOUNT . $arrData['email'], 'user.activate.txt')) { messages::messageChangeSaved(MESSAGE_REGISTER_SUCCESS, MESSAGE_REGISTER_SUCCESS_ACTIVATE_USER, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.activate'), 6000); } else { die(ERROR_SEND_EMAIL); } } else { if ($mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $arrData['email'], $arrData['email'], MAIL_SUBJ_REGISTER . CONF_SITE_NAME, 'user.register.txt')) { // если включено уведомление админа о новых пользователях, отправляем админу ссобщение if (CONF_MAIL_ADMIN_USER_REGISTER) { $this->sendAdminEmail($arrData['email']); } messages::messageChangeSaved(MESSAGE_REGISTER_SUCCESS, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=authorize')); } else { die(ERROR_SEND_EMAIL); } } }