Поддержка серверов

CMedialib::GetCollectionTree: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=176139

<?php 
//    /bitrix/modules/fileman/classes/general/medialib.phpCMedialib::GetCollectionTree()
//    921:

    
public static function GetCollectionTree($Params = array())
    {
        
$arColTree = array();
        
$arColTemp = array();
        
$Collections = array();
        
$arCol $Params['menu'] ? CMedialibCollection::GetList(array('arFilter' => array('ACTIVE' => 'Y''PARENT_ID' => 0))) : CMedialibCollection::GetList(array('arFilter' => array('ACTIVE' => 'Y')));
        
$iter 0;

        for (
$i 0$l count($arCol); $i $l$i++)
        {
            if (isset(
$Params['CheckAccessFunk']) && !call_user_func($Params['CheckAccessFunk'], $arCol[$i]['ID']))
                continue;

            if (!
CMedialib::_buildCollection($arCol[$i], $i$arColTree$Collections$Params))
                
$arColTemp[] = array($arCol[$i], $i);
        }

        while(
count($arColTemp) > && $iter 50)
        {
            
$newAr = array();
            for (
$i 0$l count($arColTemp); $i $l$i++)
            {
                if (isset(
$Params['CheckAccessFunk']) && !call_user_func($Params['CheckAccessFunk'], $arCol[$i]['ID']))
                    continue;

                if (!
CMedialib::_buildCollection($arColTemp[$i][0], $arColTemp[$i][1], $arColTree$Collections$Params))
                    
$newAr[] = $arColTemp[$i];
            }
            
$arColTemp $newAr;
            
$iter++;
        }

        if (
$Params['checkByType'] && $Params['typeId'] > 0)
        {
            
$arType CMedialib::GetTypeById($Params['typeId']);
            if (
$arType)
            {
                foreach (
$Collections as $id => $col)
                {
                    
// Del collection escription if it has another type
                    
if (!CMedialib::CompareTypesEx($Collections[$id]['ML_TYPE'], $arType))
                        unset(
$Collections[$id]);
                }
            }
        }

        return array(
'arColTree' => $arColTree'Collections' => $Collections);
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение