예제 #1
0
파일: Cart.php 프로젝트: jeffhorus/sepatuku
 static function _setOrderStatusPaid($controller, $order, $key_pl)
 {
     $paidStatus = 'Processing';
     if (!is_null($controller->getKrcoConfigValue($key_pl, 'order_paid_status'))) {
         $paidStatus = $controller->getKrcoConfigValue($key_pl, 'order_paid_status');
     }
     $order->setOrderStatus($paidStatus);
     $ordersDb = $controller->getKrcoConfigValue($key_pl, 'db_orders');
     if (!$ordersDb) {
         throw new Exception('Unknown order type.');
     }
     $id = $order->getLongId();
     $controller->{$ordersDb}->updateOrder($order);
     $memberObj = $controller->getSingleObject('members', 'getMemberById', array($order->getMemberId()));
     if ($callback = $controller->getKrcoConfigValue('cart', 'callback_order_paid')) {
         $callback($controller, $order, $memberObj);
     }
     $controller->raiseSystemEvent('member_purchase', array('member' => $memberObj, 'order' => $order));
     if ($key_pl == 'subscribe') {
         Helper_Subscription::updateSubscriptionOfOrder($controller, $order);
     }
     $orderId = $order->getLongId();
     Helper_Krco::sendOrderEmailStatusChanged($controller, "Order {$orderId} Status Report: {$paidStatus}", 'email/order_processed', $order);
 }