%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sale/lib/delivery/tracking/ |
Current File : //home/bitrix/www/bitrix/modules/sale/lib/delivery/tracking/base.php |
<?php namespace Bitrix\Sale\Delivery\Tracking; use \Bitrix\Sale\Delivery\Services; use Bitrix\Sale\Result; /** * Class Base * @package Bitrix\Sale\Delivery\Tracking * * Base class for shipment tracking services handlers */ abstract class Base { /** @var array */ protected $params; /** @var Services\Base */ protected $deliveryService; /** * @param array $params * @param Services\Base $deliveryService */ public function __construct(array $params, Services\Base $deliveryService) { $this->params = $params; $this->deliveryService = $deliveryService; } /** * Returns class name for administration interface * @return string */ abstract public function getClassTitle(); /** * Returns class description for administration interface * @return string */ abstract public function getClassDescription(); /** * @param $trackingNumber * @return \Bitrix\Sale\Delivery\Tracking\StatusResult. */ public function getStatus($trackingNumber) { return new StatusResult(); } /** * @param string $trackingNumber * @param array $shipmentData * @return StatusResult */ public function getStatusShipment($shipmentData) { return $this->getStatus($shipmentData['TRACKING_NUMBER']); } /** * @param string[] $trackingNumbers * @return \Bitrix\Sale\Result. */ public function getStatuses(array $trackingNumbers) { return new Result(); } /** * @param array $shipmentsData * @return \Bitrix\Sale\Result */ public function getStatusesShipment(array $shipmentsData) { $trackingNumbers = array_keys($shipmentsData); return $this->getStatuses($trackingNumbers); } /** * Returns params structure * @return array */ abstract public function getParamsStructure(); /** * @param string $paramKey * @param string $inputName * @return string Html * @throws \Bitrix\Main\SystemException */ public function getEditHtml($paramKey, $inputName) { $paramsStructure = $this->getParamsStructure(); return \Bitrix\Sale\Internals\Input\Manager::getEditHtml( $inputName, $paramsStructure[$paramKey], $this->params[$paramKey] ); } /** * @param string $trackingNumber * @return string Url were we can see tracking information */ public function getTrackingUrl($trackingNumber = '') { return ''; } }