Пример #1
0
 /**
  * Ищет идентификатор заказа в ответе платежной системы.
  * Сначала проверяются стандартные поля, потом опрашивается метод getOrderId
  * каждой подключенной платежной системы
  * @return Integer | boolean false
  */
 public static final function getResponseOrderId()
 {
     $orderId = (int) getRequest('param0');
     if (!$orderId) {
         $orderId = (int) getRequest('orderid');
     }
     if (!$orderId) {
         $orderId = (int) getRequest('orderId');
     }
     // RBK
     if (!$orderId) {
         $orderId = (int) getRequest('order-id');
     }
     // Chronopay
     if (!$orderId) {
         $orderId = (int) getRequest('order_id');
     }
     if (!$orderId) {
         $paymentSystems = self::getList();
         foreach ($paymentSystems as $paymentSystem) {
             $classPrefix = objectProxyHelper::getClassPrefixByType($paymentSystem->payment_type_id);
             objectProxyHelper::includeClass('emarket/classes/payment/systems/', $classPrefix);
             $className = $classPrefix . 'Payment';
             //TODO: change to $className::getOrderId() after minimum requirements for UMI changes to PHP 5.3
             $orderId = (int) call_user_func("{$className}::getOrderId");
             if ($orderId) {
                 break;
             }
         }
     }
     return $orderId;
 }
Пример #2
0
 public function getDeliveryType($delivery_id = false)
 {
     if (!$delivery_id) {
         return '';
     }
     $object = umiObjectsCollection::getInstance()->getObject($delivery_id);
     $classPrefix = objectProxyHelper::getClassPrefixByType($object->delivery_type_id);
     return $classPrefix;
 }
Пример #3
0
 /**
  * Получить экземпляр наименования в заказе с учетом текущих настроек интернет-магазина и типа товара.
  * @param Integer $objectId id объекта, по которому нужно строить класс
  * @return orderItem объект наименования в заказе (допускается, что может вернуться любой класс-наследник от orderItem)
  */
 public static function get($objectId)
 {
     $objects = umiObjectsCollection::getInstance();
     $object = $objects->getObject($objectId);
     if ($object instanceof iUmiObject == false) {
         throw new privateException("Couldn't load order item object #{$objectId}");
     }
     $classPrefix = "";
     if ($object->item_type_id) {
         $classPrefix = objectProxyHelper::getClassPrefixByType($object->item_type_id);
         objectProxyHelper::includeClass('emarket/classes/orders/items/', $classPrefix);
     }
     $className = $classPrefix ? $classPrefix . 'OrderItem' : 'orderItem';
     return new $className($object);
 }
Пример #4
0
 public static final function get($objectId)
 {
     if ($objectId instanceof iUmiObject) {
         $object = $objectId;
     } else {
         $objects = umiObjectsCollection::getInstance();
         $object = $objects->getObject($objectId);
         if ($object instanceof iUmiObject == false) {
             throw new coreException("Couldn't load order item object #{$objectId}");
         }
     }
     $classPrefix = objectProxyHelper::getClassPrefixByType($object->delivery_type_id);
     objectProxyHelper::includeClass('emarket/classes/delivery/systems/', $classPrefix);
     $className = $classPrefix . 'Delivery';
     return new $className($object);
 }