/** * Сохранить историю заказа * * @param type $new_order * @param type $old_order */ public function save($new_order, $old_order = null) { if (!$old_order) { $this->addEvent(sprintf(self::MES_CREATE, htmlspecialchars($new_order['title']), tservices_helper::days_format($new_order['order_days']), tservices_helper::cost_format($new_order['order_price'], true), tservices_helper::isOrderReserve($new_order['pay_type']) ? self::TEXT_RESERVE : self::TEXT_NORESERVE)); } else { if ($old_order['order_price'] != $new_order['order_price']) { $this->addEvent(sprintf(self::MES_UPD_PRICE, tservices_helper::cost_format($old_order['order_price'], true), tservices_helper::cost_format($new_order['order_price'], true))); } if ($old_order['order_days'] != $new_order['order_days']) { $this->addEvent(sprintf(self::MES_UPD_DAYS, tservices_helper::days_format($old_order['order_days']), tservices_helper::days_format($new_order['order_days']))); } if ($old_order['pay_type'] != $new_order['pay_type']) { $is_reserve = tservices_helper::isOrderReserve($new_order['pay_type']); $str_from = $is_reserve ? self::TEXT_NORESERVE : self::TEXT_RESERVE; $str_to = !$is_reserve ? self::TEXT_NORESERVE : self::TEXT_RESERVE; $this->addEvent(sprintf(self::MES_UPD_RESERVE, $str_from, $str_to)); } } }
<?php /** * Если создан заказ, предложен исполнителю, и в течение суток от него не было никаких действий * (отказа или подтверждения), то отправляем исполнителю почтовое уведомление:. */ $title = reformat(htmlspecialchars($order['title']), 30, 0, 1); $order_url = $GLOBALS['host'] . tservices_helper::getOrderCardUrl($order['id']); $order_price = tservices_helper::cost_format($order['order_price'], true, false, false); $order_days = tservices_helper::days_format($order['order_days']); $accept_url = $GLOBALS['host'] . tservices_helper::getOrderStatusUrl($order['id'], 'accept', $order['frl_id']); $decline_url = $GLOBALS['host'] . tservices_helper::getOrderStatusUrl($order['id'], 'decline', $order['frl_id']); ?> Напоминаем, что вчера Заказчик <?php echo $emp_fullname; ?> предложил вам заказ на услугу «<a href="<?php echo $order_url; ?> "><?php echo $title; ?> </a>» на сумму <?php echo $order_price; ?> со сроком выполнения <?php echo $order_days; ?> .<br/> Вы можете перейти к заказу и обговорить условия сотрудничества, начать выполнение заказа или отказаться от него.
public function getSrcDays() { return tservices_helper::days_format(@$this->reserve_data['order_days']); }
/** * Редактирование стоимости и сроков заказа ТУ * * @param type $order_id * @param type $price * @param type $days * * @return \xajaxResponse */ function tservicesOrdersSetPrice($order_id, $price, $days, $paytype) { $objResponse =& new xajaxResponse(); $uid = get_uid(false); $price = intval($price); $days = intval($days); $paytype = intval($paytype); //Валидация входных параметров $validator = new validation(); $valid = $validator->is_natural_no_zero($price) && $validator->greater_than_equal_to($price, 300); $valid = $valid && $validator->is_natural_no_zero($days) && $validator->numeric_interval($days, 1, 730); $valid = $valid && in_array($valid, array(TServiceOrderModel::PAYTYPE_DEFAULT, TServiceOrderModel::PAYTYPE_RESERVE)); if (!$valid) { return $objResponse; } //Получение заказа $orderModel = TServiceOrderModel::model(); $order_id = intval($order_id); $old_order = $orderModel->getCard($order_id, $uid); if (!$old_order) { return $objResponse; } //Валидация возможности изменений $is_new_status = $old_order['status'] == TServiceOrderModel::STATUS_NEW; $is_owner = $old_order['emp_id'] == $uid; $is_reserve_accepted = isset($old_order['reserve_data']); if (!($is_new_status && $is_owner && !$is_reserve_accepted)) { return $objResponse; } //Проверка возможности смены типа оплаты $is_reserve = tservices_helper::isOrderReserve($paytype); if ($is_reserve && !tservices_helper::isAllowOrderReserve($old_order['category_id'])) { return $objResponse; } if (!$is_reserve) { $paytype = TServiceOrderModel::PAYTYPE_DEFAULT; } $data = array('order_price' => $price, 'order_days' => $days, 'pay_type' => $paytype); //Меняем if ($orderModel->edit($order_id, $data, $old_order['tax'])) { $order = $old_order; $order['order_price'] = $price; $order['order_days'] = $days; $order['pay_type'] = $paytype; //Сохранить действие в историю $history = new tservices_order_history($order_id); $history->save($order, $old_order); //Уведомление на почту $tservices_smail = new tservices_smail(); $tservices_smail->changeOrder2($order, $old_order); //Обновляем интерфейс цен и сроков $objResponse->script("\$('tu-container-price').set('html', '" . tservices_helper::cost_format($price) . "');"); $objResponse->script("\$('tu-container-days').set('html', '" . tservices_helper::days_format($days) . "');"); $objResponse->script("\$('tu_edit_budjet_price').set('value', '" . $price . "');"); $objResponse->script("\$('tu_edit_budjet_days').set('value', '" . $days . "');"); //Обновляем сообщение статуса, т.к. вторая сторона тоже могла его изменить $tserviceOrderStatusWidget = new TServiceOrderStatus(); $tserviceOrderStatusWidget->setIsEmp(true); $tserviceOrderStatusWidget->setOrder($order); $tserviceOrderStatusWidget->init(); ob_start(); $tserviceOrderStatusWidget->run(); $statusHtml = ob_get_contents(); ob_end_clean(); $objResponse->assign('tservices_order_status_' . $order_id, 'innerHTML', $statusHtml); $objResponse->script("\n \$('tu-container-price').getParent()\n .removeClass('b-layout__link_bordbot_dot_" . ($is_reserve ? '000' : 'ee1d16') . "')\n .addClass('b-layout__link_bordbot_dot_" . ($is_reserve ? 'ee1d16' : '000') . "');\n \$('tu-container-price').getPrevious('span').set('html','" . ($is_reserve ? 'Бюджет:' : 'Стоимость:') . "'); \n "); } return $objResponse; }
<?php /** * Часть шаблона письма уведомление исполнителю об изменении заказа * содержащая изменения в заказе */ $templ = '%s >> %s'; $order_price_txt = isset($order['old_order_price']) ? sprintf($templ, tservices_helper::cost_format($order['old_order_price'], false), tservices_helper::cost_format($order['order_price'], true, false, false)) : tservices_helper::cost_format($order['order_price'], true, false, false); $order_days_txt = isset($order['old_order_days']) ? sprintf($templ, $order['old_order_days'], tservices_helper::days_format($order['order_days'])) : tservices_helper::days_format($order['order_days']); $is_new_reserve = tservices_helper::isOrderReserve($order['pay_type']); $order_paytype_txt = $is_new_reserve ? "С резервированием" : "Без резервирования"; if (isset($order['old_pay_type'])) { $is_old_reserve = tservices_helper::isOrderReserve($order['old_pay_type']); $from_txt = $is_old_reserve ? "С резервированием" : "Без резервирования"; $to_txt = !$is_old_reserve ? "С резервированием" : "Без резервирования"; $order_paytype_txt = sprintf($templ, $from_txt, $to_txt); } ?> Бюджет: <?php echo $order_price_txt . PHP_EOL; ?> Срок: <?php echo $order_days_txt . PHP_EOL; ?> Тип оплаты: <?php echo $order_paytype_txt . PHP_EOL;
public function daytext($value) { return tservices_helper::days_format($value); }