/**
  * Функция отправляет пользователю сообщение о том, что его статья возвращена на редактирование
  *
  * @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;
     }
 }
Example #4
0
 /**
  * функция действий над новостями
  *
  * @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'] . '&amp;do=payments'), 15000);
         }
     }
 }
Example #6
0
 /**
  * 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'] . '&amp;do=user.activate'), '%ACTIVATE_LINK%' => CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&amp;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'] . '&amp;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'] . '&amp;do=authorize'));
         } else {
             die(ERROR_SEND_EMAIL);
         }
     }
 }