public function renderPaymentsList(order $order, $template) { list($tpl_block, $tpl_item) = def_module::loadTemplates("emarket/payment/" . $template, 'payment_block', 'payment_item'); $payementIds = payment::getList(); $items_arr = array(); $currentPaymentId = $order->getValue('payment_id'); foreach ($payementIds as $paymentId) { $payment = payment::get($paymentId); if ($payment->validate($order) == false) { continue; } $paymentObject = $payment->getObject(); $paymentTypeId = $paymentObject->getValue('payment_type_id'); $paymentTypeName = umiObjectsCollection::getInstance()->getObject($paymentTypeId)->getValue('class_name'); if ($paymentTypeName == 'social') { continue; } $item_arr = array('attribute:id' => $paymentObject->id, 'attribute:name' => $paymentObject->name, 'attribute:type-name' => $paymentTypeName, 'xlink:href' => $paymentObject->xlink); if ($paymentId == $currentPaymentId) { $item_arr['attribute:active'] = 'active'; } $items_arr[] = def_module::parseTemplate($tpl_item, $item_arr, false, $paymentObject->id); } /* if(cmsController::getInstance()->getCurrentTemplater() instanceof tplTemplater) { return def_module::parseTemplate($tpl_block, array('items' => $items_arr)); } else { return array('items' => array('nodes:item' => $items_arr)); }*/ $urlPrefix = cmsController::getInstance()->getUrlPrefix() ? cmsController::getInstance()->getUrlPrefix() . '/' : ''; $submitUrl = $this->pre_lang . '/' . $urlPrefix . 'emarket/purchase/payment/choose/do/'; return def_module::parseTemplate($tpl_block, array('subnodes:items' => $items_arr, 'submit_url' => $submitUrl)); }
public function notifyOrderStatusChange(order $order, $changedProperty) { $order->need_export = true; if($changedProperty == "status_id") { $order->status_change_date = new umiDate(); } if(order::getCodeByStatus($order->getPaymentStatus()) == "accepted" && !$order->delivery_allow_date) { $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'delivery'); if($sel->length) { $order->delivery_allow_date = new umiDate(); } } $statusId = $order->getValue($changedProperty); $codeName = order::getCodeByStatus($statusId); if($changedProperty == 'status_id' && (!$statusId || $codeName == 'payment')) return; $this->sendCustomerNotification($order, $changedProperty, $codeName); if($changedProperty == 'status_id' && $codeName == 'waiting') { $this->sendManagerNotification($order); } }
public function renderDeliveryList(order $order, $template, $selfDeliveryOnly = false) { $tplPrefix = $selfDeliveryOnly ? 'self_' : ''; list($tpl_block, $tpl_item_free, $tpl_item_priced) = def_module::loadTemplates("emarket/delivery/{$template}", $tplPrefix . 'delivery_block', $tplPrefix . 'delivery_item_free', $tplPrefix . 'delivery_item_priced'); if (!isset($_SESSION['emarket'])) { $_SESSION['emarket'] = array(); } if (!isset($_SESSION['emarket']['delivery'])) { $_SESSION['emarket']['delivery'] = array(); } $deliveryIds = delivery::getList($selfDeliveryOnly); $items_arr = array(); $currentDeliveryId = $order->getValue('delivery_id'); foreach ($deliveryIds as $delivery) { $delivery = delivery::get($delivery); if ($delivery->validate($order) == false) { continue; } $deliveryObject = $delivery->getObject(); $deliveryPrice = $delivery->getDeliveryPrice($order); $_SESSION['emarket']['delivery'][$delivery->id] = (double) $deliveryPrice; $item_arr = array('attribute:id' => $deliveryObject->id, 'attribute:name' => $deliveryObject->name, 'attribute:price' => $deliveryPrice . '', 'xlink:href' => $deliveryObject->xlink); if ($delivery->id == $currentDeliveryId) { $item_arr['attribute:active'] = 'active'; $item_arr['void:checked'] = 'checked="checked" '; } else { $item_arr['void:checked'] = ''; } $tpl_item = $deliveryPrice ? $tpl_item_priced : $tpl_item_free; $items_arr[] = def_module::parseTemplate($tpl_item, $item_arr, false, $deliveryObject->id); } return def_module::parseTemplate($tpl_block, array('subnodes:items' => $items_arr)); }