Пример #1
0
 function GetBySID($SID, $SITE_ID = false)
 {
     global $DB;
     if (!defined('SALE_DH_INITIALIZED')) {
         CSaleDeliveryHandler::Initialize();
     }
     $arHandlersList = CSaleDeliveryHandler::__getRegisteredHandlers();
     $cnt = count($arHandlersList);
     $arResult = array();
     for ($i = 0; $i < $cnt; $i++) {
         if ($arHandlersList[$i]["SID"] == $SID) {
             $arResult[] = $arHandlersList[$i];
             break;
         }
     }
     if (count($arResult) > 0) {
         $arResult = CSaleDeliveryHandler::__getHandlersData($arResult, $SITE_ID);
     }
     $dbResult = new CDBResult();
     reset($arResult);
     $dbResult->InitFromArray($arResult);
     return $dbResult;
 }
Пример #2
0
	function GetBySID($SID, $SITE_ID = false)
	{
		if (!defined('SALE_DH_INITIALIZED'))
			CSaleDeliveryHandler::Initialize();

		static $cache = array();

		if (!isset($cache[$SITE_ID]))
			$cache[$SITE_ID] = array();

		if (!isset($cache[$SITE_ID][$SID]))
		{
			$cache[$SITE_ID][$SID] = array();

			$arHandlersList = CSaleDeliveryHandler::__getRegisteredHandlers();
			foreach ($arHandlersList as $handler)
			{
				if ($handler["SID"] == $SID)
				{
					$cache[$SITE_ID][$SID][] = $handler;
					break;
				}
			}

			if ($cache[$SITE_ID][$SID])
			{
				$cache[$SITE_ID][$SID] = CSaleDeliveryHandler::__getHandlersData($cache[$SITE_ID][$SID], $SITE_ID);
			}
		}

		$dbResult = new CDBResult();
		$dbResult->InitFromArray($cache[$SITE_ID][$SID]);

		return $dbResult;
	}