За последние 24 часа нас посетили 18314 программистов и 1597 роботов. Сейчас ищут 870 программистов ...

Отправка уведомления на электронку

Тема в разделе "Прочие вопросы по PHP", создана пользователем timonio, 29 окт 2013.

  1. timonio

    timonio Новичок

    С нами с:
    29 окт 2013
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени. Прошу помощи в реализации небольшой функции.
    Немного введу в курс. Есть движок интернет-магазина. При смене статуса заказа в админпанели пользователю приходит письмо об этом. При смене любого статуса на любой (отличного от "новый заказ") человеку приходит уведомление. Так вот За это отвечает функция
    Код (Text):
    1.  
    2. function sendUserMail($data) {
    3.     global $PHPShopSystem;
    4.  
    5.     if ($data['statusi'] != $_POST['statusi_new']) {
    6.         PHPShopObj::loadClass("parser");
    7.         PHPShopObj::loadClass("mail");
    8.         PHPShopParser::set('ouid', $data['uid']);
    9.         PHPShopParser::set('date', PHPShopDate::dataV($data['datas']));
    10.  
    11.         // Доступные статусы заказов
    12.         $PHPShopOrderStatusArray = new PHPShopOrderStatusArray();
    13.         PHPShopParser::set('status', $PHPShopOrderStatusArray->getParam($_POST['statusi_new'] . '.name'));
    14.         PHPShopParser::set('user', $data['user']);
    15.         PHPShopParser::set('company', $PHPShopSystem->getParam('name'));
    16.         $title = $PHPShopSystem->getValue('name') . ' - статус заказа ' . $data['uid'] . ' изменен';
    17.         $order = unserialize($data['orders']);
    18.  
    19.         PHPShopParser::set('mail', $order['Person']['mail']);
    20.         $content = PHPShopParser::file('../../lib/templates/order/status.tpl', true);
    21.         if (!empty($content)) {
    22.             new PHPShopMail($order['Person']['mail'], $PHPShopSystem->getValue('adminmail2'), $title, $content);
    23.         }
    24.     }
    25. }
    Тут проверяются все данные и через шаблон status.tpl (туда вписываются некоторые переменные из функции) отправляются пользователю.
    Необходимо чтобы при изменении статуса на "Выполнен" пользователю отправлялось письмо по другому ШАБЛОНУ, скажем status2.tpl (его я сам сделаю)
    Проще говоря, нужно сделать еще 1 условие. Если статус изменился на "Выполнен" то ВПисывать переменные и отправлять пользователю по шаблону status2.tpl
    Задача как мне видится для знаюзих простая. У меня туго с программированием, логику представляю, синтаксис не знаю.

    Надеюсь на помощь, спасибо!

    Добавлено спустя 53 минуты 43 секунды:
    Спасибо. Уже разобрался сам как сделать. Действительно ничего сложного.
    Код (Text):
    1. function sendUserMail($data) {
    2.     global $PHPShopSystem;
    3.  
    4.     if ($_POST['statusi_new']  == 7 and $_POST['statusi_new']  != $data['statusi']) {
    5.         PHPShopObj::loadClass("parser");
    6.         PHPShopObj::loadClass("mail");
    7.         PHPShopParser::set('ouid', $data['uid']);
    8.         PHPShopParser::set('date', PHPShopDate::dataV($data['datas']));
    9.  
    10.         // Доступные статусы заказов
    11.         $PHPShopOrderStatusArray = new PHPShopOrderStatusArray();
    12.         PHPShopParser::set('status', $PHPShopOrderStatusArray->getParam($_POST['statusi_new'] . '.name'));
    13.         PHPShopParser::set('user', $data['user']);
    14.         PHPShopParser::set('company', $PHPShopSystem->getParam('name'));
    15.         $title = $PHPShopSystem->getValue('name') . ' - статус заказа ' . $data['uid'] . ' изменен';
    16.         $order = unserialize($data['orders']);
    17.    
    18.         PHPShopParser::set('mail', $order['Person']['mail']);
    19.         $content = PHPShopParser::file('../../lib/templates/order/status2.tpl', true);
    20.         if (!empty($content)) {
    21.             new PHPShopMail($order['Person']['mail'], $PHPShopSystem->getValue('adminmail2'), $title, $content);
    22.         }
    23.         }
    24.         else { if ($data['statusi'] != $_POST['statusi_new']) {
    25.         PHPShopObj::loadClass("parser");
    26.         PHPShopObj::loadClass("mail");
    27.         PHPShopParser::set('ouid', $data['uid']);
    28.         PHPShopParser::set('date', PHPShopDate::dataV($data['datas']));
    29.  
    30.         // Доступные статусы заказов
    31.         $PHPShopOrderStatusArray = new PHPShopOrderStatusArray();
    32.         PHPShopParser::set('status', $PHPShopOrderStatusArray->getParam($_POST['statusi_new'] . '.name'));
    33.         PHPShopParser::set('user', $data['user']);
    34.         PHPShopParser::set('company', $PHPShopSystem->getParam('name'));
    35.         $title = $PHPShopSystem->getValue('name') . ' - статус заказа ' . $data['uid'] . ' изменен';
    36.         $order = unserialize($data['orders']);
    37.    
    38.         PHPShopParser::set('mail', $order['Person']['mail']);
    39.         $content = PHPShopParser::file('../../lib/templates/order/status.tpl', true);
    40.         if (!empty($content)) {
    41.             new PHPShopMail($order['Person']['mail'], $PHPShopSystem->getValue('adminmail2'), $title, $content);
    42.         }
    43.         }
    44.         }
    45.        
    46.        
    47.    
    48. }
    Цифра 7 в условии = ID статуса в админке.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7