/**
  * protected функция рассылки сообщений пользователям, в соответствии с действием
  *
  * @param array $arrUsers - массив пользователей, которым необходимо отправить сообщения. Формат: array(key => email, ...)
  * @param string $action - действие, в соответствии с которым необходимо произвести рассылку сообщений. На данный момент есть три действия: activate - активация пользователя, состоящего на активации; delete - удаление пользователя, состоящего на модерации; moderate - активация пользователя, состоящего на модерации.
  *
  * @return void
  */
 protected function actionSendUsersEmails($arrUsers, $action)
 {
     // проверяем действие
     if (!$action || 'activate' !== $action && 'moderate' !== $action && 'delete' !== $action) {
         return false;
     }
     $mailer = new mailer();
     foreach ($arrUsers as $value) {
         // очищаем список адресов
         $mailer->ClearAddresses();
         // массив для замены в шаблоне
         $mailer->setAddReplace(array('%AUTHORIZE_LINK%' => chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=authorize')));
         // выполняем рассылку в соответствии с указанным действием
         switch ($action) {
             case 'activate':
                 $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $value, false, MAIL_SUBJ_ADM_USER_ACTIVATE, 'user.activate.admin.txt');
                 break;
             case 'moderate':
                 $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $value, false, MAIL_SUBJ_ADM_USER_MODERATE, 'user.moderate.txt');
                 break;
             case 'delete':
                 $mailer->sendEmail(CONF_MAIL_ADMIN_EMAIL, false, false, $value, false, MAIL_SUBJ_ADM_USER_NO_MODERATE, 'user.not.moderate.txt');
                 break;
         }
     }
 }
Exemple #2
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));
 }
Exemple #3
0
function sendMail($address, $name, $subject, $message)
{
    global $config;
    if ($config['allowemails']) {
        // instantiate the class
        $mail = new mailer();
        // Set the subject
        $mail->Subject = $subject;
        // Body
        $mail->Body = str_replace(array("<br", "<br />"), "\r\n", $message);
        // Add an address to send to.
        $mail->AddAddress($address, $name);
        $mail->Send();
        $mail->ClearAddresses();
        $mail->ClearAttachments();
    }
}