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));
 }