/** * Ищет идентификатор заказа в ответе платежной системы. * Сначала проверяются стандартные поля, потом опрашивается метод 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; }
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; }
/** * Получить экземпляр наименования в заказе с учетом текущих настроек интернет-магазина и типа товара. * @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); }
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); }