Ejemplo n.º 1
0
 /**
  * Отправка письма со cсылкой на восстановление пароля.
  * @param array $emailData - массив с передаваемыми данными.
  * @return boolean - результат выполнения оперции.
  */
 public function sendUrlToEmail($emailData)
 {
     if (Mailer::sendMimeMail($emailData)) {
         return true;
     }
     return false;
 }
Ejemplo n.º 2
0
 public function sendOrderToPayment()
 {
     $id = USER::getThis()->id;
     $data = array('noparnter' => true);
     $result = DB::query('
   SELECT *
   FROM `' . PREFIX . 'partner`
   WHERE `user_id` = ' . DB::quote($id));
     if ($row = DB::fetchAssoc($result)) {
         $data = $row;
         $sitename = MG::getSetting('sitename');
         $subj = 'Партнер #' . $row['id'] . ' на сайте ' . $sitename . ' хочет получить выплату';
         $msg = 'Партнер #' . $row['id'] . ' на сайте ' . $sitename . ' хочет получить выплату в размере <b>' . $_POST['summ'] . ' рублей.</b>        
     <br/> Воспользуйтесь <a href="' . SITE . '/mg-admin">панелью администрирования</a>, чтобы проверить информацию о партнере и его заработке.';
         //если ответил пользователь то письма отправляются админам
         $mails = explode(',', MG::getSetting('adminEmail'));
         // Отправка заявки админам
         foreach ($mails as $mail) {
             if (preg_match('/^[A-Za-z0-9._-]+@[A-Za-z0-9_-]+.([A-Za-z0-9_-][A-Za-z0-9_]+)$/', $mail)) {
                 Mailer::addHeaders(array("Reply-to" => $this->email));
                 Mailer::sendMimeMail(array('nameFrom' => USER::getThis()->sname . " " . USER::getThis()->name, 'emailFrom' => USER::getThis()->email, 'nameTo' => $sitename, 'emailTo' => $mail, 'subject' => $subj, 'body' => $msg, 'html' => true));
             }
         }
         //оповещение на мыло партнера
         Mailer::sendMimeMail(array('nameFrom' => $sitename, 'emailFrom' => "noreply@" . $sitename, 'nameTo' => USER::getThis()->sname . " " . USER::getThis()->name, 'emailTo' => USER::getThis()->email, 'subject' => 'Отправлена заявка на получение партнерской выплаты на сайте ' . $sitename, 'body' => 'Вами была отправлена заявка на получение партнерской выплаты на сайте ' . $sitename . ' в размере <b>' . $_POST['summ'] . ' рублей.</b>
           <br/>Пожалуйста, дождитесь пока мы свяжемся с Вами по электронной почте для учтонения способов перевода денежных средств.
           <br/>Данное письмо сформированно роботом, отвечать на него не надо.', 'html' => true));
     }
     return true;
 }
Ejemplo n.º 3
0
 function __construct()
 {
     $html = MG::get('pages')->getPageByUrl('feedback');
     $html['html_content'] = MG::inlineEditor(PREFIX . 'page', "html_content", $html['id'], $html['html_content']);
     $data = array('dislpayForm' => true, 'meta_title' => $html['meta_title'] ? $html['meta_title'] : $html['title'], 'meta_keywords' => $html['meta_keywords'], 'meta_desc' => $html['meta_desc'], 'html_content' => $html['html_content'], 'title' => $html['title']);
     // Если пришли данные с формы.
     if (isset($_POST['send'])) {
         // Создает модель отправки сообщения.
         $feedBack = new Models_Feedback();
         // Проверяет на корректность вода.
         $error = $feedBack->isValidData($_POST);
         $data['error'] = $error;
         // Если есть ошибки заносит их в переменную.
         if (!$error) {
             $_POST['message'] = nl2br($_POST['message']);
             //Отправляем админам.
             $sitename = MG::getSetting('sitename');
             //$message = str_replace('№', '#', $feedBack->getMessage());
             $body = MG::layoutManager('email_feedback', array('msg' => $_POST['message'], 'email' => $feedBack->getEmail(), 'name' => $feedBack->getFio()));
             $mails = explode(',', MG::getSetting('adminEmail'));
             foreach ($mails as $mail) {
                 if (preg_match('/^[-._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]+\\.)+[a-zA-Z]{2,6}$/', $mail)) {
                     Mailer::addHeaders(array("Reply-to" => $feedBack->getEmail()));
                     Mailer::sendMimeMail(array('nameFrom' => $feedBack->getFio(), 'emailFrom' => $feedBack->getEmail(), 'nameTo' => $sitename, 'emailTo' => $mail, 'subject' => 'Сообщение с формы обратной связи', 'body' => $body, 'html' => true));
                 }
             }
             MG::redirect('/feedback?thanks=1');
         }
     }
     // Формирует сообщение.
     if (isset($_REQUEST['thanks'])) {
         $data = array('message' => 'Ваше сообщение отправлено!', 'dislpayForm' => false, 'meta_title' => 'Обратная связь', 'meta_keywords' => $model->currentCategory['meta_keywords'] ? $model->currentCategory['meta_keywords'] : "Обратная сввязь, быстрое сообщение, вопрос в поддержку", 'meta_desc' => $model->currentCategory['meta_desc'] ? $model->currentCategory['meta_desc'] : "Задайте свой вопрос по средствам формы обратной связи.");
     }
     $this->data = $data;
 }
Ejemplo n.º 4
0
 public function send()
 {
     if (empty($_POST['fio']) || empty($_POST['email']) || empty($_POST['message']) || empty($_POST['capcha'])) {
         $this->messageError = 'Необходимо заполнить все поля!';
         return FALSE;
     } else {
         if (!preg_match('/^[A-Za-z0-9._-]+@[A-Za-z0-9_-]+.([A-Za-z0-9_-][A-Za-z0-9_]+)$/', $_POST['email'])) {
             $this->messageError = 'Неверно заполнено поле e-mail!';
             return FALSE;
         }
         if ($_POST['capcha'] != $_SESSION['capcha']) {
             $this->messageError = 'Неверно введен код с картинки';
             return FALSE;
         }
     }
     $feedBack = new Models_Feedback();
     $error = $feedBack->isValidData($_POST);
     $sitename = MG::getSetting('sitename');
     $message = str_replace('№', '#', $feedBack->getMessage());
     $mails = explode(',', MG::getSetting('adminEmail'));
     foreach ($mails as $mail) {
         if (preg_match('/^[-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]+\\.)+[a-z]{2,6}$/', $mail)) {
             Mailer::addHeaders(array("Reply-to" => $feedBack->getEmail()));
             Mailer::sendMimeMail(array('nameFrom' => $feedBack->getFio(), 'emailFrom' => $feedBack->getEmail(), 'nameTo' => $sitename, 'emailTo' => $mail, 'subject' => 'Сообщение с формы обратной связи', 'body' => $message, 'html' => true));
         }
     }
     $this->messageSucces = 'Ваше сообщение успешно отправлено! В ближайшее время мы свяжемся с вами.';
     return TRUE;
 }
Ejemplo n.º 5
0
 private function sendMail()
 {
     $msg = '';
     foreach ($_POST as $k => $v) {
         $msg .= '<b>' . $k . ':' . '</b> ' . htmlspecialchars($v) . '<br>';
     }
     $msg .= "<b>Отвечать на письмо не нужно</b>";
     $siteName = MG::getOption('sitename');
     return Mailer::sendMimeMail(array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Администратору сайта ' . $siteName, 'emailTo' => MG::getOption('adminEmail'), 'subject' => 'Форма обратного звонка ' . $siteName, 'body' => $msg, 'html' => true));
 }
Ejemplo n.º 6
0
 /**
  * Уведомляет админов о смене статуса заказа пользователем, высылая им письма.
  * @param type $orderId - id заказа.
  * $orderNumber - номер заказа, которые отображается у пользователя
  */
 public function sendMailOfUpdateOrder($orderId)
 {
     $order = $this->getOrder('id = ' . $orderId);
     $orderNumber = $order[$orderId]['number'];
     $siteName = MG::getSetting('sitename');
     $adminEmail = MG::getSetting('adminEmail');
     $subj = 'Пользователь отменил заказ №' . $orderNumber . ' на сайте ' . $siteName;
     $msg = '
   Вы получили это письмо, так как произведена смена статуса заказа.
  <br/>Статус заказа #' . $orderNumber . ' сменен на "Отменен".';
     $mails = explode(',', MG::getSetting('adminEmail'));
     foreach ($mails as $mail) {
         if (preg_match('/^[-._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]+\\.)+[a-zA-Z]{2,6}$/', $mail)) {
             Mailer::sendMimeMail(array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => $sitename, 'emailTo' => $mail, 'subject' => $subj, 'body' => $msg, 'html' => true));
         }
     }
 }
Ejemplo n.º 7
0
 /**
  * Проверяем, нужно ли отчислить коммисионные по пришедшей оплате для заказа с сервисов оплаты
  * @param $arg - параметры переданые из payment.php
  */
 static function updateOrder($arg)
 {
     $orderId = $arg["args"]["paymentOrderId"];
     $model = new Models_Order();
     $order = $model->getOrder(PREFIX . 'order.id=' . $orderId);
     // если статус заказа становится "Оплачен или выполнен", то отправляем письмо админу, о том что заказ оформлен благодаря партнеру.
     // в базе сохраняется привязка. Если в последствии изменить статус, то привязка останется!
     if ($order[$orderId]['status_id'] == 2) {
         $partner = self::closeOrderPartner($orderId);
         if (empty($partner)) {
             return true;
         }
         //Отправляем админам
         $sitename = MG::getSetting('sitename');
         $message = 'Заказ #' . $orderId . ' был оплачен после перехода по реферальной ссылке <b>партнера #' . $partner['id'] . '</b>.
       На счет пользователя <b>' . $partner['email'] . '</b> зачислены коммисионные ' . $partner['summ'] . ' ' . MG::getSetting('currency');
         $mails = explode(',', MG::getSetting('adminEmail'));
         foreach ($mails as $mail) {
             if (preg_match('/^[-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]+\\.)+[a-z]{2,6}$/', $mail)) {
                 Mailer::addHeaders(array("Reply-to" => MG::getSetting('noReplyEmail')));
                 Mailer::sendMimeMail(array('nameFrom' => $sitename, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => $sitename, 'emailTo' => $mail, 'subject' => $partner['percent'] . '% от заказа #' . $partner['id'] . ' зачислено на счет партнеру ' . $partner['email'], 'body' => $message, 'html' => true));
             }
         }
     }
     return true;
 }
Ejemplo n.º 8
0
 /**
  * Получает данные об ошибке произошедшей в админке и отправляет на support@moguta.ru.
  * @return boolean
  */
 public function sendBugReport()
 {
     $this->messageSucces = "Отчет отправлен";
     $this->messageError = "Неудалось отправить отчет";
     $body .= 'Непредвиденная ошибка на сайте ' . $_SERVER['SERVER_NAME'];
     $body .= '<br/><br/><br/><strong>Информация о системе</strong>';
     $body .= '<br/>Версия Moguta.CMS: ' . VER;
     $body .= '<br/>Версия php: ' . phpversion();
     $body .= '<br/>USER_AGENT: ' . $_SERVER['HTTP_USER_AGENT'];
     $body .= '<br/>IP: ' . $_SERVER['SERVER_ADDR'];
     $body .= '<br/><strong>Информация о магазине</strong>';
     $product = new Models_Product();
     $body .= '<br/>Количество товаров: ' . $product->getProductsCount();
     $body .= '<br/>Количество категорий: ' . MG::get('category')->getCategoryCount();
     $body .= '<br/>Шаблон: ' . MG::getSetting('templateName');
     $body .= '<br/>E-mail администратора: ' . MG::getSetting('adminEmail');
     $body .= '<br/><strong>Баг-репорт</strong>';
     $body .= '<br/>' . $_POST['text'];
     $body .= '<br/><br/><img alt="Embedded Image" src="data:' . $_POST['screen'] . '" />';
     Mailer::addHeaders(array("Reply-to" => MG::getSetting('adminEmail')));
     Mailer::sendMimeMail(array('nameFrom' => MG::getSetting('adminEmail'), 'emailFrom' => MG::getSetting('adminEmail'), 'nameTo' => "*****@*****.**", 'emailTo' => "*****@*****.**", 'subject' => "Отчет об ошибке с сайта " . $_SERVER['SERVER_NAME'], 'body' => $body, 'html' => true));
     return true;
 }
Ejemplo n.º 9
0
 /**
  * Метод отправки письма администратору с сcылкой для отмены блокировки авторизации .
  * @param type $unlockCode
  * @return void 
  */
 private function sendUnlockMail($unlockCode)
 {
     $link = '<a href="' . SITE . '/enter?unlock=' . $unlockCode . '" target="blank">' . SITE . '/enter?unlock=' . $unlockCode . '</a>';
     $siteName = MG::getOption('sitename');
     $paramToMail = array('siteName' => $siteName, 'link' => $link);
     $message = MG::layoutManager('email_unclockauth', $paramToMail);
     $emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Администратору сайтй ' . $siteName, 'emailTo' => MG::getSetting('adminEmail'), 'subject' => 'Подбор паролей на сайте ' . $siteName . ' предотвращен!', 'body' => $message, 'html' => true);
     if (Mailer::sendMimeMail($emailData)) {
         return true;
     }
     return false;
 }