예제 #1
0
 /**
  * Оплата услуг.
  * 
  * @global type $host
  * @global type $DB
  *
  * @param type $reserves
  * @param type $is_reserved
  */
 public function sendReservedOrders($reserves, $is_reserved)
 {
     global $host, $DB;
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/billing.php';
     $reserved_ids = array_keys($reserves);
     $not_reserved = array_diff($reserved_ids, $is_reserved);
     if (!empty($is_reserved)) {
         $bill = new billing($reserves[$is_reserved[0]]['uid']);
         $this->recipient = (string) "{$bill->user['uname']} {$bill->user['usurname']} [{$bill->user['login']}] <{$bill->user['email']}>";
         $more = count($is_reserved) > 1;
         $this->subject = 'FL.ru: исполнение ' . ($more ? 'списков' : 'списка') . ' заказов';
         $payed_sum = 0;
         foreach ($is_reserved as $id) {
             $payed_sum += $reserves[$id]['ammount'];
         }
         $where = $DB->parse(' AND status = ? AND reserve_id IN (?l)', billing::STATUS_COMPLETE, $is_reserved);
         $orders = $bill->findOrders($where);
         $message = 'По ранее ' . ($more ? 'сформированным спискам заказов' : 'сформированному списку заказа') . ' №' . implode(', №', $is_reserved) . '  списана сумма ' . to_money($payed_sum, 2) . ' руб. и активированы следующие услуги:<br/><br/>';
         $message .= '---<br/>';
         foreach ($orders as $order) {
             $message .= $order['comment'] . '<br>';
         }
         $message .= '---<br/><br/>';
         //$message .= "Доступная сумма после оплаты услуг – " . $bill->acc['sum'] . " руб. ";
         if (!empty($not_reserved)) {
             $notpayed_sum = 0;
             foreach ($not_reserved as $id) {
                 $notpayed_sum += $reserves[$id]['ammount'];
             }
             if (count($not_reserved) >= 1) {
                 $message .= (count($not_reserved) > 1 ? 'Списки заказов №' : ' Список заказов №') . implode(', №', $not_reserved) . ' на сумму ' . to_money($notpayed_sum, 2) . ' руб. по-прежнему ожидают оплаты.<br/><br/>';
             }
         }
         $message .= "С подробной информацией по управлению услугами и личным счетом на FL.ru вы можете ознакомиться в нашем <a href='https://feedback.fl.ru/' target='_blank'>сообществе поддержки</a>.<br/>";
         $this->message = $this->getHtml($bill->user['login'], $message, array('header' => 'default', 'footer' => 'feedback_default'), array('login' => $bill->user['login']));
     } else {
         $bill = new billing($reserves[$not_reserved[0]]['uid']);
         $this->recipient = (string) "{$bill->user['uname']} {$bill->user['usurname']} [{$bill->user['login']}] <{$bill->user['email']}>";
         $more = count($not_reserved) > 1;
         $this->subject = 'FL.ru: Недостаточно средств для исполнения ' . ($more ? 'списков' : 'списка') . ' заказов';
         $message = 'Ранее вами ' . ($more ? 'были сформированы списки' : 'был сформирован список') . ' заказов №' . implode(', №', $not_reserved) . ', однако сумма оплаты в ' . ($more ? 'них' : 'нем') . ' больше той, которая доступна на вашем личном счете.<br/><br/>';
         $message .= 'Изменить ' . ($more ? 'списки' : 'список') . " заказов, отменить их или завершить оплату вы можете по этой <a href='{$host}/bill/history/'>ссылке</a>.";
         $this->message = $this->getHtml($bill->user['login'], $message, array('header' => 'default', 'footer' => 'feedback_default'), array('login' => $bill->user['login']));
     }
     $this->send('text/html');
 }