/** * Оплата услуг. * * @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'); }