public function addVariants(&$field, $params)
 {
     if (!$params["LINK_IBLOCK_ID"]) {
         return;
     }
     $cacheDir = KFilter::$config['CACHE_DIR'] . self::$cacheSubdir;
     $obCache = new CPHPCache();
     if ($obCache->InitCache(KFilter::$config['CACHE_TIME'], md5($params["LINK_IBLOCK_ID"] . __METHOD__), $cacheDir)) {
         $field['VARIANTS'] = $obCache->GetVars();
     } elseif ($obCache->StartDataCache()) {
         CModule::IncludeModule('iblock');
         global $CACHE_MANAGER;
         $CACHE_MANAGER->StartTagCache($cacheDir);
         $CACHE_MANAGER->RegisterTag("iblock_id_" . $params["LINK_IBLOCK_ID"]);
         $CACHE_MANAGER->EndTagCache();
         $rsSect = CIBlockSection::GetList(array('sort' => 'asc', 'name' => 'asc'), array('IBLOCK_ID' => $params["LINK_IBLOCK_ID"], 'ACTIVE' => 'Y'), false, array('ID', 'NAME'));
         while ($arSect = $rsSect->GetNext()) {
             $field['VARIANTS'][] = array('ID' => $arSect['ID'], 'NAME' => $arSect['NAME']);
         }
         $obCache->EndDataCache($field['VARIANTS']);
     }
     foreach ($field['VARIANTS'] as &$section) {
         if ($_REQUEST[$field['NAME']] == $section['ID']) {
             $section['SELECTED'] = 'Y';
             $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => $params["LINK_IBLOCK_ID"], "SECTION_ID" => $section['ID']), false, false, array("ID", "IBLOCK_ID"));
             $arr = array();
             while ($el = $res->GetNext()) {
                 $arr[] = $el['ID'];
             }
             $this->filter['PROPERTY_' . $field['PROPERTY']] = $arr;
             break;
         }
     }
 }
Ejemplo n.º 2
0
Archivo: CInc.php Proyecto: Tvaruga/ae
 public static function getJobName($id)
 {
     if (empty($id)) {
         return false;
     }
     $result = false;
     $obCache = new CPHPCache();
     $dir = '/companies/names';
     if ($obCache->InitCache(9999999999, md5($id), $dir)) {
         $result = $obCache->GetVars();
     } elseif ($obCache->StartDataCache() && \Bitrix\Main\Loader::includeModule('iblock')) {
         if ($result = CIBlockElement::GetByID($id)->Fetch()) {
             if (defined('BX_COMP_MANAGED_CACHE')) {
                 $GLOBALS['CACHE_MANAGER']->StartTagCache($dir);
                 $GLOBALS['CACHE_MANAGER']->RegisterTag('iblock_id_' . $result['IBLOCK_ID']);
             }
             $result = $result['NAME'];
             if (defined('BX_COMP_MANAGED_CACHE')) {
                 $GLOBALS['CACHE_MANAGER']->EndTagCache();
             }
         }
         $obCache->EndDataCache($result);
     }
     return $result;
 }
Ejemplo n.º 3
0
 public function loadConfig()
 {
     //todo fix empty config caching
     $cache = new \CPHPCache();
     $cacheFile = $_SERVER['DOCUMENT_ROOT'] . "/bitrix/cache/" . $cache->GetPath(__CLASS__);
     // проверяем, обновлялся ли конфиг
     $cacheWritten = filemtime($cacheFile);
     $configWritten = filemtime($this->configFile);
     // устаревший кеш или неудачно начатый кеш перезаписываем
     if ($configWritten > $cacheWritten || !$cache->InitCache(self::TTL, __CLASS__, '/')) {
         $cache->Clean(__CLASS__, '/');
         try {
             parent::loadConfig();
             if ($cache->StartDataCache(self::TTL, __CLASS__, '/')) {
                 $cache->EndDataCache(array('config' => $this->config));
             } else {
                 _log('Caching failed', 'widgets');
             }
         } catch (Exception $e) {
             _log('loading config error: ' . $e->getMessage(), 'widgets');
         }
     } else {
         $vars = $cache->GetVars();
         $this->config = $vars['config'];
     }
 }
Ejemplo n.º 4
0
 public function get($typeSID)
 {
     // ƒл¤ показа баннера одного типа только 1 раз на странице
     if (!empty($this->_typeSids[$typeSID])) {
         return false;
     }
     if (!empty($_SESSION['SESS_SHOW_INCLUDE_TIME_EXEC'])) {
         $debugKey = $_SESSION['SESS_SHOW_INCLUDE_TIME_EXEC'];
         $_SESSION["SESS_SHOW_INCLUDE_TIME_EXEC"] = 'N';
     }
     $cacheBlock = new CPHPCache();
     $url = CAdvBanner::GetCurUri();
     if (($pos = strpos(CAdvBanner::GetCurUri(), '?')) !== false) {
         $url = substr($url, 0, $pos);
     }
     $cacheId = $typeSID . '-' . $url;
     if ($cacheBlock->StartDataCache($this->_cacheTime, $cacheId, $this->_cacheDir)) {
         $result = CAdvBanner::Show($typeSID, '', '');
         $cacheBlock->EndDataCache(array('VARS' => $result));
     } else {
         $vars = $cacheBlock->GetVars();
         $result = $vars['VARS'];
     }
     if (!empty($_SESSION['SESS_SHOW_INCLUDE_TIME_EXEC'])) {
         $_SESSION['SESS_SHOW_INCLUDE_TIME_EXEC'] = $debugKey;
     }
     /*ѕодсчЄт показов*/
     if (empty($this->_typeSids[$typeSID])) {
         $this->_typeSids[$typeSID] = 1;
     } else {
         $this->_typeSids[$typeSID] = $this->_typeSids[$typeSID] + 1;
     }
     /**/
     return $result;
 }
Ejemplo n.º 5
0
 public static function getPropertyFieldSections($linkIblockId)
 {
     $linkIblockId = (int) $linkIblockId;
     if ($linkIblockId <= 0) {
         return false;
     }
     $ttl = 10000;
     $cache_id = 'catalog_store_sections';
     $cache_dir = '/bx/catalog_store_sections';
     $obCache = new CPHPCache();
     if ($obCache->InitCache($ttl, $cache_id, $cache_dir)) {
         $res = $obCache->GetVars();
     } else {
         $res = array();
     }
     if (!isset($res[$linkIblockId])) {
         $res[$linkIblockId] = array();
         $sections = \CIBlockSection::GetTreeList(array("IBLOCK_ID" => $linkIblockId));
         while ($row = $sections->Fetch()) {
             $res[$linkIblockId][] = $row;
         }
         if ($obCache->StartDataCache()) {
             $obCache->EndDataCache($res);
         }
     }
     return $res[$linkIblockId];
 }
Ejemplo n.º 6
0
function getListElements( $arSort = array(), $arFilter = array(), $arNav = array(), $arGroup = array(), $arSelect = array(), $cache_id = '' ) {
	
	$cache = new CPHPCache();
	$cache_time = 3600;
	$cache_id = 'service_calc_'.$cache_id.'_'.md5(array( $arSort,$arFilter, $arNav, $arGroup, $arSelect, $cache_id));
	$cache_path = '/bitrix/cache/';

	if ($cache_time > 0 && $cache->InitCache($cache_time, $cache_id, $cache_path))
	{
	   $res = $cache->GetVars();
	   if (is_array($res["dbElements"]) && (!empty($res["dbElements"]) ) )
		  $dbElements = $res["dbElements"];
	}
	if (empty($dbElements))
	{
	   $dbElements = CIBlockElement::GetList ( $arSort,$arFilter, $arNav, $arGroup, $arSelect);
	   
	   //////////// end cache /////////
	   if ($cache_time > 0)
	   {
			 $cache->StartDataCache ( $cache_time, $cache_id, $cache_path);
			 $cache->EndDataCache   ( array("dbElements" => $dbElements) );
	   }
	}
	return $dbElements;
}
Ejemplo n.º 7
0
 function LoadTrigrams($dir_name)
 {
     if (empty($this->_trigrams)) {
         $file_name = $dir_name . "/trigram";
         if (file_exists($file_name) && is_file($file_name)) {
             $cache_id = filemtime($file_name) . "," . $file_name;
             $obCache = new CPHPCache();
             if ($obCache->StartDataCache(360000, $cache_id, "search")) {
                 $text = file_get_contents($file_name);
                 $ar = explode("\n", $text);
                 foreach ($ar as $trigramm) {
                     if (strlen($trigramm) == 3) {
                         $strScanCodesTmp = $this->ConvertToScancode($trigramm, false, true);
                         if (strlen($strScanCodesTmp) == 3) {
                             $this->_trigrams[$strScanCodesTmp] = true;
                         }
                     }
                 }
                 $obCache->EndDataCache($this->_trigrams);
             } else {
                 $this->_trigrams = $obCache->GetVars();
             }
         }
     }
 }
Ejemplo n.º 8
0
 /**
  * @param $name
  * @param $value
  * @param int $time
  */
 public function set($name, $value, $time = 3600)
 {
     $cache = new \CPHPCache();
     list($dir, $name) = $this->dirAndName($name);
     $cache->InitCache($time, $name, $dir);
     $cache->Clean($name, $dir);
     $cache->StartDataCache();
     $cache->EndDataCache(array('value' => $value));
 }
Ejemplo n.º 9
0
 /**
  * @param string $key
  * @param mixed $data
  */
 public function set($key, $data, $duration = null)
 {
     if (isset($_REQUEST['clear_cache']) && $_REQUEST['clear_cache'] === 'Y') {
         return null;
     }
     $this->delete($key);
     $time = $duration !== null ? (int) $duration : $this->getDefaultTime();
     $obCache = new \CPHPCache();
     $obCache->InitCache($time, $key, $this->getFolder($key));
     $obCache->StartDataCache();
     $obCache->EndDataCache($data);
 }
Ejemplo n.º 10
0
 public static function getData($SITE_ID = SITE_ID, $bFull = false)
 {
     global $USER, $CACHE_MANAGER;
     $obCache = new CPHPCache();
     $today = ConvertTimeStamp();
     $cache_dir = '/intranet/planner/' . $USER->GetID();
     $cache_id = 'intranet|planner|' . $USER->GetID() . '|' . $SITE_ID . '|' . intval($bFull) . '|' . $today . '|' . FORMAT_DATETIME . '|' . FORMAT_DATE . '|' . LANGUAGE_ID;
     $arData = null;
     if ($obCache->InitCache(self::CACHE_TTL, $cache_id, $cache_dir)) {
         $arData = $obCache->GetVars();
         if (is_array($arData['SCRIPTS'])) {
             foreach ($arData['SCRIPTS'] as $key => $script) {
                 if (is_array($script)) {
                     $arData['SCRIPTS'][$key] = self::JS_CORE_EXT_RANDOM_NAME . RandString(5);
                     CJSCore::RegisterExt($arData['SCRIPTS'][$key], $script);
                 }
             }
         }
     } else {
         // cache expired or there's no cache
         $obCache->StartDataCache();
         $arData = array('SCRIPTS' => array(), 'STYLES' => array(), 'DATA' => array());
         $CACHE_MANAGER->StartTagCache($cache_dir);
         $CACHE_MANAGER->RegisterTag(self::CACHE_TAG . $USER->GetID());
         $events = GetModuleEvents("intranet", "OnPlannerInit");
         while ($arEvent = $events->Fetch()) {
             $arEventData = ExecuteModuleEventEx($arEvent, array(array('SITE_ID' => SITE_ID, 'FULL' => $bFull)));
             if (is_array($arEventData)) {
                 if (is_array($arEventData['SCRIPTS'])) {
                     $arData['SCRIPTS'] = array_merge($arData['SCRIPTS'], $arEventData['SCRIPTS']);
                 }
                 if (is_array($arEventData['STYLES'])) {
                     $arData['STYLES'] = array_merge($arData['STYLES'], $arEventData['STYLES']);
                 }
                 if (is_array($arEventData['DATA'])) {
                     $arData['DATA'] = array_merge($arData['DATA'], $arEventData['DATA']);
                 }
             }
         }
         $arCacheData = $arData;
         if (is_array($arCacheData['SCRIPTS'])) {
             foreach ($arCacheData['SCRIPTS'] as $key => $script) {
                 if (CJSCore::IsExtRegistered($script)) {
                     $arCacheData['SCRIPTS'][$key] = CJSCore::getExtInfo($script);
                 }
             }
         }
         $CACHE_MANAGER->EndTagCache();
         $obCache->EndDataCache($arCacheData);
     }
     return $arData;
 }
Ejemplo n.º 11
0
function getSections()
{
    CModule::IncludeModule("iblock");
    $obCache = new CPHPCache();
    $lifeTime = 60 * 60 * 2;
    $cacheId = 'u_creative_sections';
    $data = array();
    $arFilter = array('IBLOCK_ID' => IBLOCK_ID);
    $raw = CIBlockSection::GetList(array('ID' => 'ASC'), $arFilter);
    while ($item = $raw->Fetch()) {
        $data[$item['CODE']] = $item['ID'];
    }
    $obCache->StartDataCache($lifeTime, $cacheId, "/");
    $obCache->EndDataCache(array("SECTIONS" => $data));
    return $data;
}
Ejemplo n.º 12
0
 private function __construct()
 {
     $cache = new CPHPCache();
     $cache_time = 2592000;
     // month
     $cache_id = self::$cacheKey;
     $cache_path = '/' . self::$cacheKey . '/';
     if ($cache->InitCache($cache_time, $cache_id, $cache_path)) {
         $vars = $cache->GetVars();
         $this->arIBlockIds = $vars['arIBlockIds'];
         $this->arPropertyIds = $vars['arPropertyIds'];
         $this->arPropertyValueIds = $vars['arPropertyValueIds'];
     } else {
         $cache->StartDataCache($cache_time, $cache_id, $cache_path);
         $this->SetIBlocks();
         $this->SetProperties();
         $cache->EndDataCache(array('arIBlockIds' => $this->arIBlockIds, 'arPropertyIds' => $this->arPropertyIds, 'arPropertyValueIds' => $this->arPropertyValueIds));
     }
 }
Ejemplo n.º 13
0
 public function getObject($id, $code, $sectionCode = false, $iblock = false, $clear_cache = "N")
 {
     $id = (int) $id;
     $cache = new CPHPCache();
     if ($id) {
         $arFilter = array("ID" => $id);
         $cacheId = "object_" . $id . $sectionCode;
         $cachePath = "/" . SITE_ID . "/object/" . substr($id, 0, 3);
     } else {
         $arFilter = array("=CODE" => $code);
         $cacheId = "object_" . $code . $sectionCode;
         $cachePath = "/" . SITE_ID . "/object/" . substr($code, 0, 3);
     }
     if ($sectionCode) {
         $arFilter["SECTION_CODE"] = $sectionCode;
         $arFilter["!SECTION_ID"] = false;
     }
     if ($iblock) {
         $arFilter["IBLOCK_ID"] = $iblock;
     }
     // чистим кеш?
     if ('Y' == $clear_cache) {
         CPHPCache::clean($cacheId, $cachePath);
     }
     $cacheTime = CACHE_OBJECT;
     if ($cache->InitCache($cacheTime, $cacheId, $cachePath)) {
         $vars = $cache->GetVars();
         $obj = $vars["OBJECT"];
         return $obj;
     } else {
         $res = CIBlockElement::GetList(array(), $arFilter);
         if ($elem = $res->GetNextElement()) {
             $obj = $elem->GetFields();
             $props = $elem->GetProperties();
             $obj["PROPS"] = $props;
             if ($cache->StartDataCache()) {
                 $cache->EndDataCache(array("OBJECT" => $obj));
             }
             return $obj;
         }
     }
     return null;
 }
 public static function GetData($courseId)
 {
     $arContents = array();
     $cacheId = 'course_id_' . (string) (int) $courseId;
     $oCache = new CPHPCache();
     if ($oCache->InitCache(self::TTL, $cacheId, self::CACHE_PATH) && !self::IsDirty()) {
         $arCached = $oCache->GetVars();
         if (isset($arCached['arContents']) && is_array($arCached['arContents'])) {
             $arContents = $arCached['arContents'];
         }
     } else {
         self::Purge();
         $arContents = self::GetDataWoCache($courseId);
         $oCache->StartDataCache(self::TTL, $cacheId, self::CACHE_PATH);
         $oCache->EndDataCache(array('arContents' => $arContents));
         self::MarkAsClean();
     }
     return $arContents;
 }
Ejemplo n.º 15
0
 public static function getValueFromCache($cache_function, $cache_function_params, $nocache = false)
 {
     $result = null;
     $obj_cache = new CPHPCache();
     $cache_time = self::DEFAULT_CACHE_PERIOD;
     $cache_id = $cache_function . serialize($cache_function_params);
     $cache_path = '/drclinics/' . $cache_function . '/';
     if (!$nocache && $obj_cache->InitCache($cache_time, $cache_id, $cache_path)) {
         $result = $obj_cache->GetVars();
     } else {
         if ($nocache || $obj_cache->StartDataCache($cache_time, $cache_id, $cache_path)) {
             $result = call_user_func_array(__CLASS__ . '::' . $cache_function, $cache_function_params);
             if (!$nocache) {
                 $obj_cache->EndDataCache($result);
             }
         }
     }
     return $result;
 }
Ejemplo n.º 16
0
 /**
  * Ищет данные о сущности по ее названию
  * @param string $name
  * @return array
  */
 public static function getEntityByName($name)
 {
     if (empty(self::$_entities[$name]) || !array_key_exists($name, self::$_entities[$name])) {
         $cid = 'bxar\\helpers\\HlEntity_' . $name;
         $obCache = new \CPHPCache();
         if ($obCache->InitCache(7200, $cid, '/')) {
             self::$_entities[$name] = $obCache->GetVars();
         } elseif ($obCache->StartDataCache()) {
             $filter = ['select' => ['ID', 'NAME', 'TABLE_NAME'], 'filter' => ['NAME' => $name]];
             $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getList($filter)->fetch();
             if (!empty($hlblock['ID'])) {
                 self::$_entities[$name] = $hlblock;
             } else {
                 self::$_entities[$name] = null;
             }
             $obCache->EndDataCache(self::$_entities[$name]);
         }
     }
     return self::$_entities[$name];
 }
Ejemplo n.º 17
0
 /**
  * Get active channels by city
  * 
  * @return array
  */
 public static function getActiveByCity()
 {
     $arChannels = array();
     $arFilter = array("=UF_CHANNEL.UF_BASE.UF_ACTIVE" => 1, "=UF_CITY_ID" => $_SESSION["USER_GEO"]["ID"]);
     $arSelect = array('ID', 'UF_CHANNEL_ID', 'UF_CHANNEL_BASE_ID' => 'UF_CHANNEL.UF_BASE.ID', 'UF_TITLE' => 'UF_CHANNEL.UF_BASE.UF_TITLE', 'UF_ICON' => 'UF_CHANNEL.UF_BASE.UF_ICON', 'UF_CODE' => 'UF_CHANNEL.UF_BASE.UF_CODE', "UF_IS_NEWS" => 'UF_CHANNEL.UF_BASE.UF_IS_NEWS', 'UF_PRICE' => 'UF_CHANNEL.UF_BASE.UF_PRICE_H24');
     $arSort = array("UF_CHANNEL.UF_BASE.UF_SORT" => "ASC");
     $obCache = new \CPHPCache();
     if ($obCache->InitCache(86400, serialize($arFilter) . serialize($arSelect) . serialize($arSort), "/channels_active/")) {
         $arChannels = $obCache->GetVars();
     } elseif ($obCache->StartDataCache()) {
         $result = \Hawkart\Megatv\ChannelCityTable::getList(array('filter' => $arFilter, 'select' => $arSelect, 'order' => $arSort));
         while ($row = $result->fetch()) {
             $row["ID"] = $row["UF_CHANNEL_ID"];
             $row["DETAIL_PAGE_URL"] = "/channels/" . $row['UF_CODE'] . "/";
             $arChannels[] = $row;
         }
         $obCache->EndDataCache($arChannels);
     }
     return $arChannels;
 }
Ejemplo n.º 18
0
function IBlockElementsMenu($IBLOCK_ID)
{
    $obCache = new CPHPCache();
    $cacheLifetime = 86400;
    $cacheID = 'IBlockElementsMenu_' . $IBLOCK_ID;
    $cachePath = '/' . $cacheID;
    if ($obCache->InitCache($cacheLifetime, $cacheID, $cachePath)) {
        $vars = $obCache->GetVars();
        return $vars['NAV'];
    } elseif ($obCache->StartDataCache()) {
        CModule::IncludeModule("iblock");
        $arNav = array();
        $arSort = array("NAME" => "DESC");
        $arFilter = array("IBLOCK_ID" => $IBLOCK_ID, 'ACTIVE' => 'Y');
        $rs = CIBlockElement::GetList($arSort, $arFilter, false, false);
        //$rs->SetUrlTemplates("/catalog/#SECTION_CODE#/#ELEMENT_CODE#.php");
        while ($item = $rs->GetNext()) {
            $arNav[] = array($item['NAME'], $item['DETAIL_PAGE_URL'], array(), array(), "");
        }
        $obCache->EndDataCache(array('NAV' => $arNav));
        return $arNav;
    }
}
Ejemplo n.º 19
0
 public function cacheElement($arOrder, $arrFilter, $tag_cache = '', $limit, $arSelect)
 {
     global $CACHE_MANAGER;
     $obCache = new CPHPCache();
     $cache_time = $this->cache_time;
     $cache_path = $this->cache_path;
     $arRes = array();
     $cache_id = 'cache_' . serialize($arOrder) . serialize($arrFilter) . serialize($limit) . serialize($arSelect);
     if ($cache_time > 0 && $obCache->InitCache($cache_time, $cache_id, $cache_path)) {
         $arRes = $obCache->GetVars();
     } elseif ($obCache->StartDataCache()) {
         $arLimit = false;
         if (intval($limit) > 0) {
             $arLimit = array("nTopCount" => $limit);
         }
         $rsRes = CIBlockElement::GetList($arOrder, $arrFilter, false, $arLimit, $arSelect);
         while ($arItem = $rsRes->GetNext()) {
             $arRes[] = $arItem;
         }
         $obCache->EndDataCache($arRes);
     }
     return $arRes;
 }
Ejemplo n.º 20
0
	/**
	 * Получение идентификатора информационного блока по его коду
	 * для нормальной работы необходимо чтобы у информационных блоков были уникальные коды
	 * 
	 * @param string $CODE - код иформационного блока
	 * @param string $TYPE_ID - тип информационных блоков в котором будет выполнятся поиск, необязательное по умолчани false - все типы
	 */
	public static function GetIBlockIdByCode($CODE, $TYPE_ID = false)
	{
		static $arCache;
		
		$CACHE_ID = "iblock";
		if($TYPE_ID)
			$CACHE_ID .= $TYPE_ID;

		if(isset($arCache[$CACHE_ID][$CODE]))
			return $arCache[$CACHE_ID][$CODE];
				
		if(!$CODE || !CModule::IncludeModule("iblock"))
			return false;
			
		$cache = new CPHPCache;
		if($cache -> StartDataCache(self::$CACHE_TIME, $CACHE_ID, self::$CACHE_DIR . '/' . SITE_ID))
		{
			$arIds = array();
			$arFilter = array("ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y");
			if($TYPE_ID)
				$arFilter["TYPE"] = $TYPE_ID;
				
			$rsIBlock = CIBlock::GetList(array(), $arFilter);
			while($arr = $rsIBlock -> Fetch())
				$arIds[$arr["CODE"]] = $arr["ID"];
				
			$cache -> EndDataCache(array("arIds" => $arIds));
		} else 
			extract($cache -> GetVars());
		
		$arCache[$CACHE_ID] = $arIds;
			
		if(isset($arIds[$CODE]))
			return $arIds[$CODE];
			
		return false;
	}
Ejemplo n.º 21
0
if($obCache->InitCache($arParams["CACHE_TIME"], $CACHE_ID, "/")) {
    $cache = $obCache->GetVars();
    $arResult = $cache["arResult"];
}
else {
    $obCache->StartDataCache();

    $filter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "ACTIVE" => "Y");

    $rsItems = CIBlockElement::GetList(
        array("DATE_CREATE" => "DESC", "SORT" => "ASC"),
        $filter,
        false,
        false,
        array("IBLOCK_ID", "ID", "CODE", "DETAIL_PAGE_URL", "PREVIEW_PICTURE", "NAME", "PREVIEW_TEXT", "PROPERTY_REGION")
        );
    while ($item = $rsItems->GetNext()) {
        $arResult["ITEMS"][$item["ID"]] = array(
            "ID" => $item["ID"],
            "PREVIEW_TEXT" => $item["PREVIEW_TEXT"],
            "NAME" => $item["NAME"],
            "CODE" => $item["CODE"],
            "REGION" => $item["PROPERTY_REGION_VALUE"]
            );
    }

    $obCache->EndDataCache(array("arResult" => $arResult));
}

$this->IncludeComponentTemplate();
Ejemplo n.º 22
0
    } else {
        $CACHE_TIME = $arParams["CACHE_TIME"];
    }
    if ($obCache->StartDataCache($CACHE_TIME, $strCacheID, $componentPath)) {
        $rsProperties = CIBlockElement::GetProperty($arParams["IBLOCK_ID"], $ElementID, "sort", "asc", array("ACTIVE" => "Y", "CODE" => $arParams["CATEGORY_CODE"]));
        $arCategoryFilter = array();
        while ($arProperty = $rsProperties->Fetch()) {
            if (is_array($arProperty["VALUE"]) && count($arProperty["VALUE"]) > 0) {
                foreach ($arProperty["VALUE"] as $value) {
                    $arCategoryFilter[$value] = true;
                }
            } elseif (!is_array($arProperty["VALUE"]) && strlen($arProperty["VALUE"]) > 0) {
                $arCategoryFilter[$arProperty["VALUE"]] = true;
            }
        }
        $obCache->EndDataCache($arCategoryFilter);
    } else {
        $arCategoryFilter = $obCache->GetVars();
    }
    if (count($arCategoryFilter) > 0) {
        $arCategoryFilter = array("PROPERTY_" . $arParams["CATEGORY_CODE"] => array_keys($arCategoryFilter), "!" . "ID" => $ElementID);
        ?>
		<hr /><h3><?php 
        echo GetMessage("CATEGORIES");
        ?>
</h3>
		<?php 
        foreach ($arParams["CATEGORY_IBLOCK"] as $iblock_id) {
            ?>
			<?php 
            $APPLICATION->IncludeComponent("bitrix:news.list", $arParams["CATEGORY_THEME_" . $iblock_id], array("IBLOCK_ID" => $iblock_id, "NEWS_COUNT" => $arParams["CATEGORY_ITEMS_COUNT"], "SET_TITLE" => "N", "INCLUDE_IBLOCK_INTO_CHAIN" => "N", "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "FILTER_NAME" => "arCategoryFilter", "CACHE_FILTER" => "Y", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "N"), $component);
Ejemplo n.º 23
0
 public static function GetAttendeesList($Params = array(), &$strInvIds)
 {
     global $DB;
     $userKey = intVal($Params['userKey']);
     $bCache = CCalendar::CacheTime() > 0;
     if ($bCache) {
         $cache = new CPHPCache();
         $cacheId = 'attendees_list_' . $userKey;
         $cachePath = CCalendar::CachePath() . 'attendees_list';
         if ($cache->InitCache(CCalendar::CacheTime(), $cacheId, $cachePath)) {
             $res = $cache->GetVars();
             $strInvIds = $res["strInvIds"];
             $arUserMeeting = $res["arUserMeeting"];
         }
     }
     if (!$bCache || !isset($arUserMeeting)) {
         $strSql = "SELECT * FROM b_calendar_attendees WHERE USER_KEY='" . $userKey . "'";
         $res = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         $strInvIds = "";
         $arUserMeeting = array();
         while ($ev = $res->Fetch()) {
             $ev["STATUS"] = trim($ev["STATUS"]);
             $ev["DESCRIPTION"] = trim($ev["DESCRIPTION"]);
             $ev["COLOR"] = trim($ev["COLOR"]);
             $ev["TEXT_COLOR"] = trim($ev["TEXT_COLOR"]);
             $ev["ACCESSIBILITY"] = trim($ev["ACCESSIBILITY"]);
             $arUserMeeting[$ev['EVENT_ID']] = $ev;
             $strInvIds .= ',' . intVal($ev['EVENT_ID']);
         }
         $strInvIds = trim($strInvIds, " ,");
         if ($bCache) {
             $cache->StartDataCache(CCalendar::CacheTime(), $cacheId, $cachePath);
             $cache->EndDataCache(array("strInvIds" => $strInvIds, "arUserMeeting" => $arUserMeeting));
         }
     }
     return $arUserMeeting;
 }
Ejemplo n.º 24
0
 $cache_path = $cache_path_main . "forums";
 if ($arParams["CACHE_TIME"] > 0 && $cache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path)) {
     $res = $cache->GetVars();
     $arForums = CForumCacheManager::Expand($res["arForums"]);
 }
 $arForums = is_array($arForums) ? $arForums : array();
 if (empty($arForums)) {
     $db_res = CForumNew::GetListEx(array("FORUM_GROUP_SORT" => "ASC", "FORUM_GROUP_ID" => "ASC", "SORT" => "ASC", "NAME" => "ASC"), $arFilter);
     if ($db_res && ($res = $db_res->GetNext())) {
         do {
             $arForums[$res["ID"]] = $res;
         } while ($res = $db_res->GetNext());
     }
     if ($arParams["CACHE_TIME"] > 0) {
         $cache->StartDataCache($arParams["CACHE_TIME"], $cache_id, $cache_path);
         $cache->EndDataCache(array("arForums" => CForumCacheManager::Compress($arForums)));
     }
 }
 $arResult["FORUMS"] = $arForums;
 $arGroupsForums = array();
 $arGroups = array();
 foreach ($arResult["FORUMS"] as $key => $res) {
     $arGroupsForums[$res["FORUM_GROUP_ID"]][$key] = $res;
 }
 foreach ($arGroupsForums as $PARENT_ID => $res) {
     $bResult = true;
     $res = array("FORUMS" => $res);
     while ($PARENT_ID > 0) {
         if (!array_key_exists($PARENT_ID, $arResult["GROUPS"])) {
             $bResult = false;
             $PARENT_ID = false;
Ejemplo n.º 25
0
            $text = preg_replace("#\\[url(.+?)\\](.*?)\\[/url\\]#is", "\\2", $text);
            $text = preg_replace("#\\[video(.+?)\\](.+?)\\[/video\\]#is", "", $text);
            $text = preg_replace("#^(.+?)<cut[\\s]*(/>|>).*?\$#is", "\\1", $text);
            $text = preg_replace("#^(.+?)\\[cut[\\s]*(/\\]|\\]).*?\$#is", "\\1", $text);
            $text = preg_replace("#(\\[|<)(/?)(b|u|i|list|code|quote|url|img|color|font|/*)(.*?)(\\]|>)#is", "", $text);
            $text = TruncateText($text, $arParams["MESSAGE_LENGTH"]);
            $text1 = $text;
            $title = $p->convert($text1, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "N", "NL2BR" => "N"));
            $text = $p->convert($text, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "Y", "NL2BR" => "N"));
            $text = CBlogTools::DeleteDoubleBR($text);
            $arTmp["TEXT_FORMATED"] = $text;
            $arTmp["DATE_PUBLISH_FORMATED"] = FormatDate($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arTmp["DATE_PUBLISH"], CSite::GetDateFormat("FULL")));
            if ($arTmp["MICRO"] == "Y") {
                $arTmp["TITLE"] = TruncateText(str_replace(array("<br />", "<br>", "'", "&quot;", "&lt;", "&gt;"), "", $title), 60);
                $arTmp["~TITLE"] = htmlspecialcharsback($arTmp["TITLE"]);
            }
            $itemCnt++;
            $arResult[] = $arTmp;
            $ids[] = $arTmp["ID"];
        }
        $arResult["IDS"] = $ids;
    }
    if ($arParams["CACHE_TIME"] > 0) {
        $cache->EndDataCache(array("templateCachedData" => $this->GetTemplateCachedData(), "arResult" => $arResult));
    }
}
if ($arParams["SHOW_RATING"] == "Y" && !empty($arResult["IDS"])) {
    $arResult[0]['RATING'] = CRatings::GetRatingVoteResult('BLOG_POST', $arResult["IDS"]);
}
unset($arResult["IDS"]);
$this->IncludeComponentTemplate();
Ejemplo n.º 26
0
							true
						);

					$arSectionsInfo[crc32($arSections["SECTION_PAGE_URL"])]["PICTURE"] = $pictureSrc ? $arResizePicture["src"] : false;
					$arSectionsInfo[crc32($arSections["SECTION_PAGE_URL"])]["DESCRIPTION"] = $arSections["DESCRIPTION"];
				}
				if(defined("BX_COMP_MANAGED_CACHE"))
				{
					global $CACHE_MANAGER;
					$CACHE_MANAGER->StartTagCache("/iblock/menu");
					$CACHE_MANAGER->RegisterTag("iblock_id_".$arIBlock["ID"]);
					$CACHE_MANAGER->EndTagCache();
				}
			}
		}
		$obCache->EndDataCache($arSectionsInfo);
	}
}

$arMenuItemsIDs = array();
$arAllItems = array();
$arImgDesc = array();
foreach($arResult as $key=>$arItem)
{
	if($arItem["DEPTH_LEVEL"] > $arParams["MAX_LEVEL"])
	{
		unset($arResult[$key]);
		continue;
	}

	$arItem["PARAMS"]["item_id"] = crc32($arItem["LINK"]);
Ejemplo n.º 27
0
        $arResult["ALL_ELEMENTS_CNT"] = $arParams['MAX_SHOWED_PHOTOS'];
    }
    if ($arResult["ALL_ELEMENTS_CNT"] <= $arResult["NAV_RESULT"]->NavPageSize) {
        $arResult["MORE_PHOTO_NAV"] = "N";
    }
    $arResult["NAV_RESULT_NavPageSize"] = $arResult["NAV_RESULT"]->NavPageSize;
    $arResult["NAV_RESULT_NavNum"] = $arResult["NAV_RESULT"]->NavNum;
    $arResult["NAV_RESULT_NavPageNomer"] = $arResult["NAV_RESULT"]->NavPageNomer;
    $arResult["NAV_RESULT_NavPageCount"] = $arResult["NAV_RESULT"]->NavPageCount;
    if ($arParams["RELOAD_ITEMS_ONLOAD"] == "Y" && count($arResult["ELEMENTS_LIST"]) > 0) {
        $cur = current($arResult["ELEMENTS_LIST"]);
        $arResult["MIN_ID"] = $cur['ID'];
    }
    if ($arParams["CACHE_TIME"] > 0) {
        $cache->StartDataCache($arParams["CACHE_TIME"], $cache_id, $cache_path);
        $cache->EndDataCache(array("ELEMENTS_CNT" => $arResult["ELEMENTS_CNT"], "ALL_ELEMENTS_CNT" => $arResult["ALL_ELEMENTS_CNT"], "ELEMENTS_LIST" => $arResult["ELEMENTS_LIST"], "ELEMENTS_LIST_JS" => $arResult["ELEMENTS_LIST_JS"], "MORE_PHOTO_NAV" => $arResult["MORE_PHOTO_NAV"], "NAV_RESULT_NavPageSize" => $arResult["NAV_RESULT_NavPageSize"], "NAV_RESULT_NavNum" => $arResult["NAV_RESULT_NavNum"], "NAV_RESULT_NavPageNomer" => $arResult["NAV_RESULT_NavPageNomer"], "NAV_RESULT_NavPageCount" => $arResult["NAV_RESULT_NavPageCount"], "MIN_ID" => $arResult["MIN_ID"]));
    }
} else {
    $GLOBALS['NavNum'] = intVal($GLOBALS['NavNum']) + 1;
}
if ($arResult["ELEMENTS_CNT"] <= 1) {
    $arParams['DRAG_SORT'] = "N";
}
/************** URL ************************************************/
/********************************************************************
				/Data
********************************************************************/
if ($arParams["JUST_RETURN_DATA_JS"] == "Y") {
    return $arResult["ELEMENTS_LIST_JS"];
}
CUtil::InitJSCore(array('window', 'ajax', 'tooltip', 'popup'));
Ejemplo n.º 28
0
 /**
  * Private method used to check out for template and template cache file
  * Returns true whether tpl file exists and puts its path to private
  * property __cache_file_name. Otherwise returns false
  *
  * @return bool
  */
 public function __check_form_cache()
 {
     global $CACHE_MANAGER;
     // if no tpl at all - return false
     if (strlen($this->arForm["FORM_TEMPLATE"]) <= 0 || $this->arForm["USE_DEFAULT_TEMPLATE"] != "N") {
         $this->arForm["USE_DEFAULT_TEMPLATE"] = "Y";
         return false;
     }
     $this->__cache_tpl = '';
     $cache_dir = '/form/templates/' . $this->arForm['ID'];
     $cache_id = 'form|template|' . $this->arForm['ID'];
     $obCache = new CPHPCache();
     if ($obCache->InitCache(30 * 86400, $cache_id, $cache_dir)) {
         $res = $obCache->GetVars();
         $this->__cache_tpl = $res['FORM_TEMPLATE'];
     } else {
         $obCache->StartDataCache();
         $CACHE_MANAGER->StartTagCache($cache_dir);
         $CACHE_MANAGER->RegisterTag('forms');
         $CACHE_MANAGER->RegisterTag('form_' . $this->arForm['ID']);
         $this->__cache_tpl = $res['FORM_TEMPLATE'] = $this->__cache_file_header . $this->arForm['FORM_TEMPLATE'] . $this->__cache_file_footer;
         $CACHE_MANAGER->EndTagCache();
         $obCache->EndDataCache(array('FORM_TEMPLATE' => $this->__cache_tpl));
     }
     return true;
 }
Ejemplo n.º 29
0
$intSectionID = $APPLICATION->IncludeComponent("bitrix:catalog.section", "", array("IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "ELEMENT_SORT_FIELD" => $arParams["ELEMENT_SORT_FIELD"], "ELEMENT_SORT_ORDER" => $arParams["ELEMENT_SORT_ORDER"], "ELEMENT_SORT_FIELD2" => $arParams["ELEMENT_SORT_FIELD2"], "ELEMENT_SORT_ORDER2" => $arParams["ELEMENT_SORT_ORDER2"], "PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"], "META_KEYWORDS" => $arParams["LIST_META_KEYWORDS"], "META_DESCRIPTION" => $arParams["LIST_META_DESCRIPTION"], "BROWSER_TITLE" => $arParams["LIST_BROWSER_TITLE"], "SET_LAST_MODIFIED" => $arParams["SET_LAST_MODIFIED"], "INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"], "BASKET_URL" => $arParams["BASKET_URL"], "ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"], "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"], "SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"], "PRODUCT_QUANTITY_VARIABLE" => $arParams["PRODUCT_QUANTITY_VARIABLE"], "PRODUCT_PROPS_VARIABLE" => $arParams["PRODUCT_PROPS_VARIABLE"], "FILTER_NAME" => $arParams["FILTER_NAME"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_FILTER" => $arParams["CACHE_FILTER"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "SET_TITLE" => $arParams["SET_TITLE"], "MESSAGE_404" => $arParams["MESSAGE_404"], "SET_STATUS_404" => $arParams["SET_STATUS_404"], "SHOW_404" => $arParams["SHOW_404"], "FILE_404" => $arParams["FILE_404"], "DISPLAY_COMPARE" => $arParams["USE_COMPARE"], "PAGE_ELEMENT_COUNT" => $arParams["PAGE_ELEMENT_COUNT"], "LINE_ELEMENT_COUNT" => $arParams["LINE_ELEMENT_COUNT"], "PRICE_CODE" => $arParams["PRICE_CODE"], "USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"], "SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"], "PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"], "USE_PRODUCT_QUANTITY" => $arParams['USE_PRODUCT_QUANTITY'], "ADD_PROPERTIES_TO_BASKET" => isset($arParams["ADD_PROPERTIES_TO_BASKET"]) ? $arParams["ADD_PROPERTIES_TO_BASKET"] : '', "PARTIAL_PRODUCT_PROPERTIES" => isset($arParams["PARTIAL_PRODUCT_PROPERTIES"]) ? $arParams["PARTIAL_PRODUCT_PROPERTIES"] : '', "PRODUCT_PROPERTIES" => $arParams["PRODUCT_PROPERTIES"], "DISPLAY_TOP_PAGER" => $arParams["DISPLAY_TOP_PAGER"], "DISPLAY_BOTTOM_PAGER" => $arParams["DISPLAY_BOTTOM_PAGER"], "PAGER_TITLE" => $arParams["PAGER_TITLE"], "PAGER_SHOW_ALWAYS" => $arParams["PAGER_SHOW_ALWAYS"], "PAGER_TEMPLATE" => $arParams["PAGER_TEMPLATE"], "PAGER_DESC_NUMBERING" => $arParams["PAGER_DESC_NUMBERING"], "PAGER_DESC_NUMBERING_CACHE_TIME" => $arParams["PAGER_DESC_NUMBERING_CACHE_TIME"], "PAGER_SHOW_ALL" => $arParams["PAGER_SHOW_ALL"], "PAGER_BASE_LINK_ENABLE" => $arParams["PAGER_BASE_LINK_ENABLE"], "PAGER_BASE_LINK" => $arParams["PAGER_BASE_LINK"], "PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"], "OFFERS_CART_PROPERTIES" => $arParams["OFFERS_CART_PROPERTIES"], "OFFERS_FIELD_CODE" => $arParams["LIST_OFFERS_FIELD_CODE"], "OFFERS_PROPERTY_CODE" => $arParams["LIST_OFFERS_PROPERTY_CODE"], "OFFERS_SORT_FIELD" => $arParams["OFFERS_SORT_FIELD"], "OFFERS_SORT_ORDER" => $arParams["OFFERS_SORT_ORDER"], "OFFERS_SORT_FIELD2" => $arParams["OFFERS_SORT_FIELD2"], "OFFERS_SORT_ORDER2" => $arParams["OFFERS_SORT_ORDER2"], "OFFERS_LIMIT" => $arParams["LIST_OFFERS_LIMIT"], "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], "SECTION_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["section"], "DETAIL_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["element"], "USE_MAIN_ELEMENT_SECTION" => $arParams["USE_MAIN_ELEMENT_SECTION"], 'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'], 'CURRENCY_ID' => $arParams['CURRENCY_ID'], 'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"], 'LABEL_PROP' => $arParams['LABEL_PROP'], 'ADD_PICT_PROP' => $arParams['ADD_PICT_PROP'], 'PRODUCT_DISPLAY_MODE' => $arParams['PRODUCT_DISPLAY_MODE'], 'OFFER_ADD_PICT_PROP' => $arParams['OFFER_ADD_PICT_PROP'], 'OFFER_TREE_PROPS' => $arParams['OFFER_TREE_PROPS'], 'PRODUCT_SUBSCRIPTION' => $arParams['PRODUCT_SUBSCRIPTION'], 'SHOW_DISCOUNT_PERCENT' => $arParams['SHOW_DISCOUNT_PERCENT'], 'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'], 'MESS_BTN_BUY' => $arParams['MESS_BTN_BUY'], 'MESS_BTN_ADD_TO_BASKET' => $arParams['MESS_BTN_ADD_TO_BASKET'], 'MESS_BTN_SUBSCRIBE' => $arParams['MESS_BTN_SUBSCRIBE'], 'MESS_BTN_DETAIL' => $arParams['MESS_BTN_DETAIL'], 'MESS_NOT_AVAILABLE' => $arParams['MESS_NOT_AVAILABLE'], 'TEMPLATE_THEME' => isset($arParams['TEMPLATE_THEME']) ? $arParams['TEMPLATE_THEME'] : '', "ADD_SECTIONS_CHAIN" => "N", 'ADD_TO_BASKET_ACTION' => $basketAction, 'SHOW_CLOSE_POPUP' => isset($arParams['COMMON_SHOW_CLOSE_POPUP']) ? $arParams['COMMON_SHOW_CLOSE_POPUP'] : '', 'COMPARE_PATH' => $arResult['FOLDER'] . $arResult['URL_TEMPLATES']['compare']), $component);
$GLOBALS['CATALOG_CURRENT_SECTION_ID'] = $intSectionID;
unset($basketAction);
if ($verticalGrid) {
    ?>
</div>
	<div style="clear: both;"></div>
	</div><?php 
}
if (ModuleManager::isModuleInstalled("sale")) {
    $arRecomData = array();
    $recomCacheID = array('IBLOCK_ID' => $arParams['IBLOCK_ID']);
    $obCache = new CPHPCache();
    if ($obCache->InitCache(36000, serialize($recomCacheID), "/sale/bestsellers")) {
        $arRecomData = $obCache->GetVars();
    } elseif ($obCache->StartDataCache()) {
        if (Loader::includeModule("catalog")) {
            $arSKU = CCatalogSKU::GetInfoByProductIBlock($arParams['IBLOCK_ID']);
            $arRecomData['OFFER_IBLOCK_ID'] = !empty($arSKU) ? $arSKU['IBLOCK_ID'] : 0;
        }
        $obCache->EndDataCache($arRecomData);
    }
    if (!empty($arRecomData)) {
        if (!isset($arParams['USE_SALE_BESTSELLERS']) || $arParams['USE_SALE_BESTSELLERS'] != 'N') {
            $APPLICATION->IncludeComponent("bitrix:sale.bestsellers", "", array("HIDE_NOT_AVAILABLE" => $arParams["HIDE_NOT_AVAILABLE"], "PAGE_ELEMENT_COUNT" => "5", "SHOW_DISCOUNT_PERCENT" => $arParams['SHOW_DISCOUNT_PERCENT'], "PRODUCT_SUBSCRIPTION" => $arParams['PRODUCT_SUBSCRIPTION'], "SHOW_NAME" => "Y", "SHOW_IMAGE" => "Y", "MESS_BTN_BUY" => $arParams['MESS_BTN_BUY'], "MESS_BTN_DETAIL" => $arParams['MESS_BTN_DETAIL'], "MESS_NOT_AVAILABLE" => $arParams['MESS_NOT_AVAILABLE'], "MESS_BTN_SUBSCRIBE" => $arParams['MESS_BTN_SUBSCRIBE'], "LINE_ELEMENT_COUNT" => 5, "TEMPLATE_THEME" => isset($arParams['TEMPLATE_THEME']) ? $arParams['TEMPLATE_THEME'] : '', "DETAIL_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["element"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "BY" => array(0 => "AMOUNT"), "PERIOD" => array(0 => "15"), "FILTER" => array(0 => "CANCELED", 1 => "ALLOW_DELIVERY", 2 => "PAYED", 3 => "DEDUCTED", 4 => "N", 5 => "P", 6 => "F"), "FILTER_NAME" => $arParams["FILTER_NAME"], "ORDER_FILTER_NAME" => "arOrderFilter", "DISPLAY_COMPARE" => $arParams["USE_COMPARE"], "SHOW_OLD_PRICE" => $arParams['SHOW_OLD_PRICE'], "PRICE_CODE" => $arParams["PRICE_CODE"], "SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"], "PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"], "CONVERT_CURRENCY" => $arParams["CONVERT_CURRENCY"], "CURRENCY_ID" => $arParams["CURRENCY_ID"], "BASKET_URL" => $arParams["BASKET_URL"], "ACTION_VARIABLE" => (!empty($arParams["ACTION_VARIABLE"]) ? $arParams["ACTION_VARIABLE"] : "action") . "_slb", "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"], "PRODUCT_QUANTITY_VARIABLE" => $arParams["PRODUCT_QUANTITY_VARIABLE"], "ADD_PROPERTIES_TO_BASKET" => isset($arParams["ADD_PROPERTIES_TO_BASKET"]) ? $arParams["ADD_PROPERTIES_TO_BASKET"] : '', "PRODUCT_PROPS_VARIABLE" => $arParams["PRODUCT_PROPS_VARIABLE"], "PARTIAL_PRODUCT_PROPERTIES" => isset($arParams["PARTIAL_PRODUCT_PROPERTIES"]) ? $arParams["PARTIAL_PRODUCT_PROPERTIES"] : '', "USE_PRODUCT_QUANTITY" => $arParams['USE_PRODUCT_QUANTITY'], "SHOW_PRODUCTS_" . $arParams["IBLOCK_ID"] => "Y", "OFFER_TREE_PROPS_" . $arRecomData['OFFER_IBLOCK_ID'] => $arParams["OFFER_TREE_PROPS"], "ADDITIONAL_PICT_PROP_" . $arParams['IBLOCK_ID'] => $arParams['ADD_PICT_PROP'], "ADDITIONAL_PICT_PROP_" . $arRecomData['OFFER_IBLOCK_ID'] => $arParams['OFFER_ADD_PICT_PROP']), $component, array("HIDE_ICONS" => "Y"));
        }
        if (!isset($arParams['USE_BIG_DATA']) || $arParams['USE_BIG_DATA'] != 'N') {
            $APPLICATION->IncludeComponent("bitrix:catalog.bigdata.products", "", array("LINE_ELEMENT_COUNT" => 5, "TEMPLATE_THEME" => isset($arParams['TEMPLATE_THEME']) ? $arParams['TEMPLATE_THEME'] : '', "DETAIL_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["element"], "BASKET_URL" => $arParams["BASKET_URL"], "ACTION_VARIABLE" => (!empty($arParams["ACTION_VARIABLE"]) ? $arParams["ACTION_VARIABLE"] : "action") . "_cbdp", "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"], "PRODUCT_QUANTITY_VARIABLE" => $arParams["PRODUCT_QUANTITY_VARIABLE"], "ADD_PROPERTIES_TO_BASKET" => isset($arParams["ADD_PROPERTIES_TO_BASKET"]) ? $arParams["ADD_PROPERTIES_TO_BASKET"] : '', "PRODUCT_PROPS_VARIABLE" => $arParams["PRODUCT_PROPS_VARIABLE"], "PARTIAL_PRODUCT_PROPERTIES" => isset($arParams["PARTIAL_PRODUCT_PROPERTIES"]) ? $arParams["PARTIAL_PRODUCT_PROPERTIES"] : '', "SHOW_OLD_PRICE" => $arParams['SHOW_OLD_PRICE'], "SHOW_DISCOUNT_PERCENT" => $arParams['SHOW_DISCOUNT_PERCENT'], "PRICE_CODE" => $arParams["PRICE_CODE"], "SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"], "PRODUCT_SUBSCRIPTION" => $arParams['PRODUCT_SUBSCRIPTION'], "PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"], "USE_PRODUCT_QUANTITY" => $arParams['USE_PRODUCT_QUANTITY'], "SHOW_NAME" => "Y", "SHOW_IMAGE" => "Y", "MESS_BTN_BUY" => $arParams['MESS_BTN_BUY'], "MESS_BTN_DETAIL" => $arParams['MESS_BTN_DETAIL'], "MESS_BTN_SUBSCRIBE" => $arParams['MESS_BTN_SUBSCRIBE'], "MESS_NOT_AVAILABLE" => $arParams['MESS_NOT_AVAILABLE'], "PAGE_ELEMENT_COUNT" => 5, "SHOW_FROM_SECTION" => "Y", "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "DEPTH" => "2", "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "SHOW_PRODUCTS_" . $arParams["IBLOCK_ID"] => "Y", "HIDE_NOT_AVAILABLE" => $arParams["HIDE_NOT_AVAILABLE"], "CONVERT_CURRENCY" => $arParams["CONVERT_CURRENCY"], "CURRENCY_ID" => $arParams["CURRENCY_ID"], "SECTION_ID" => $intSectionID, "SECTION_CODE" => "", "SECTION_ELEMENT_ID" => "", "SECTION_ELEMENT_CODE" => "", "LABEL_PROP_" . $arParams["IBLOCK_ID"] => $arParams['LABEL_PROP'], "PROPERTY_CODE_" . $arParams["IBLOCK_ID"] => $arParams["LIST_PROPERTY_CODE"], "PROPERTY_CODE_" . $arRecomData['OFFER_IBLOCK_ID'] => $arParams["LIST_OFFERS_PROPERTY_CODE"], "CART_PROPERTIES_" . $arParams["IBLOCK_ID"] => $arParams["PRODUCT_PROPERTIES"], "CART_PROPERTIES_" . $arRecomData['OFFER_IBLOCK_ID'] => $arParams["OFFERS_CART_PROPERTIES"], "ADDITIONAL_PICT_PROP_" . $arParams["IBLOCK_ID"] => $arParams['ADD_PICT_PROP'], "ADDITIONAL_PICT_PROP_" . $arRecomData['OFFER_IBLOCK_ID'] => $arParams['OFFER_ADD_PICT_PROP'], "OFFER_TREE_PROPS_" . $arRecomData['OFFER_IBLOCK_ID'] => $arParams["OFFER_TREE_PROPS"], "RCM_TYPE" => isset($arParams['BIG_DATA_RCM_TYPE']) ? $arParams['BIG_DATA_RCM_TYPE'] : ''), $component, array("HIDE_ICONS" => "Y"));
        }
    }
}
Ejemplo n.º 30
0
                }
                $arFilter = array_merge(array($arStatus["DB_FIELD"] . "_FROM" => $arPeriod["MIN_DATE"], $arStatus["DB_FIELD"] . "_TO" => $arPeriod["MAX_DATE"]), $arFilterLID, $arFilterPerms, $arFilterYField);
                $dbOrder = CSaleOrder::GetList(array(), $arFilter, array("SUM" => "PRICE", "COUNT" => "ID"), array('ID', 'PRICE'));
                if ($arOrder = $dbOrder->Fetch()) {
                    $arOrderStats[$key][$status_code] = $arOrder["ID"];
                    $arOrderStats[$key]["PRICE_" . $status_code] = $arOrder["PRICE"];
                }
            }
        }
    }
    if ($obCache->StartDataCache()) {
        $arCacheData = array();
        foreach ($arStatus1 as $status_code => $arStatus) {
            $arCacheData[$status_code] = array("COUNT" => $arOrderStats[$key][$status_code], "SUM" => $arOrderStats[$key]["PRICE_" . $status_code]);
        }
        $obCache->EndDataCache($arCacheData);
    }
}
$arFilter = array_merge($arFilterLID, $arFilterPerms);
$arSelectedFields = array("ID", "PAYED", "DATE_PAYED", "CANCELED", "DATE_CANCELED", "STATUS_ID", "DATE_STATUS", "PRICE_DELIVERY", "ALLOW_DELIVERY", "DATE_ALLOW_DELIVERY", "PRICE", "CURRENCY", "DISCOUNT_VALUE", "PAY_SYSTEM_ID", "DELIVERY_ID", "DATE_INSERT", "LID", "USER_ID", "USER_NAME", "USER_LAST_NAME");
$dbOrder = CSaleOrder::GetList(array("DATE_UPDATE" => "DESC"), $arFilter, false, array("nTopCount" => $arGadgetParams["ITEMS_COUNT"]), $arSelectedFields);
while ($arOrder = $dbOrder->Fetch()) {
    $arOrders[] = $arOrder;
}
$today = ConvertTimeStamp(time());
$yesterday = ConvertTimeStamp(AddToTimeStamp(array("DD" => -2, "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), time()));
$before_yesterday = ConvertTimeStamp(AddToTimeStamp(array("DD" => -1, "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), time()));
$d = date("w");
if ($d < 1) {
    $d = 6;
} elseif ($d > 1) {