/**
  * Функция отправляет жалобу на комментарий
  *
  * @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');
 }
Exemple #2
0
            !$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'];
$smarty->assign('sid', md5(time()));
$smarty->assignByRef('return_data', $return_data);
$smarty->assignByRef('subject', $feedBackSubject);
$smarty->assignByRef('errors', $arrErrors);
 /**
  * Функция отправляет пользователю сообщение о том, что его статья удалена
  *
  * @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);
     // уничтожаем объект
 }
 /**
  * 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;
     }
 }
Exemple #5
0
            $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);
            }
        }
        if (!$mailer->sendEmail($_POST['email'], false, false, $sendto, false, $_POST['subject'], $mailTemplate, $mailText)) {
            echo 'errSend';
        } else {
            !empty($_POST['attachment']) ? filesys::removeFiles($_POST['attachment']) : null;
            echo 'success';
        }
    }
} elseif (isset($_GET['uploadFile'])) {
    // обработка запроса о процессе загрузки файла (Если php поддерживает функцию uploadFileProgress)
    if (isset($_GET['action']) && 'uploadFileProgress' === $_GET['action'] && !empty($_POST['file']) && !empty($_POST['key'])) {
        echo !function_exists('uploadprogress_get_info') || !($result = uploadprogress_get_info($_POST['key'])) ? ajax::sdgJSONencode(array('result' => 0, 'size' => file_exists($_POST['file']) ? filesize($_POST['file']) : 0)) : ajax::sdgJSONencode($result + array('result' => 1));
    } elseif (isset($_GET['action']) && 'delUploaded' === $_GET['action'] && !empty($_POST['delUploadedFile'])) {
        foreach (array_unique(explode(',', $_POST['delUploadedFile'])) as $file) {
            @unlink('uploads/temporary/' . $file);
        }
        echo 'success';
Exemple #6
0
                 } 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 - сообщение, которое будет вставлено в письмо
  * @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');
 }
Exemple #8
0
                 if (empty($_POST['uGroups']) && !empty($_POST['uTypes'])) {
                     $strWhere = "conf_users.user_type IN (" . implode(',', secure::escQuoteData($_POST['uTypes'])) . ") AND conf_users.token IN ('active')";
                 } elseif (!empty($_POST['uGroups']) && empty($_POST['uTypes'])) {
                     $strWhere = "conf_users.user_group IN (" . implode(',', secure::escQuoteData($_POST['uGroups'])) . ") AND conf_users.token IN ('active')";
                 } else {
                     $strWhere = "conf_users.user_type IN (" . implode(',', secure::escQuoteData($_POST['uTypes'])) . ") AND conf_users.user_group IN (" . implode(',', secure::escQuoteData($_POST['uGroups'])) . ") AND conf_users.token IN ('active')";
                 }
                 empty($_POST['noSubscr']) ? $strWhere .= " AND conf_users.mailer_subscribe>0" : null;
                 $arrUsers = $user->getCombinedUsersData($arrFields, $strWhere, false, false);
                 if (!empty($arrUsers) && is_array($arrUsers)) {
                     $count = $user->cntUsers();
                     $mailer = new mailer();
                     foreach ($arrUsers as $value) {
                         // очищаем список адресов
                         $mailer->ClearAddresses();
                         $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $value['email'], false, $_POST['mailerSubject'], $_POST['doUserSubscription'], true);
                     }
                     echo ajax::sdgJSONencode(array('success' => $count));
                 } else {
                     echo ajax::sdgJSONencode(array('error' => MESSAGE_WARNING_MAILER_NOT_FOUND_USERS));
                 }
             } else {
                 echo ajax::sdgJSONencode(array('error' => ERROR_MAILER_SELECT_GROUP_OR_TYPE));
             }
         } else {
             echo ajax::sdgJSONencode(array('error' => ERROR_EMPTY_SUBJECT));
         }
     } else {
         echo ajax::sdgJSONencode(array('error' => ERROR_EMPTY_TEXT));
     }
 } elseif (!empty($_POST['getMailerTemplate'])) {
 /**
  * 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');
 }