{ $availableSources[$iblockSectionInfo['ID']] = $iblockSectionInfo['NAME']; } } } elseif ($arCurrentValues['SOURCE_TYPE'] === CFotoramaComponent::SOURCE_TYPE_MEDIALIBRARY_COLLECTION && isset($sourceTypes[CFotoramaComponent::SOURCE_TYPE_MEDIALIBRARY_COLLECTION])) { $sourceIdParameterName = GetMessage('MEDIALIBRARY_COLLECTION'); CMedialib::Init(); //Классы медиабиблиотеки недоступны до ее инициализации //CMedialibCollection::GetList возвращает сразу массив с информацией о коллекциях $medialibraryCollections = CMedialibCollection::GetList( array( 'arFilter' => array( 'ACTIVE' => 'Y' ) ) ); foreach($medialibraryCollections as $medialibraryCollection) { $collectionId = $medialibraryCollection['ID']; $collectionName = $medialibraryCollection['NAME']; $availableSources[$collectionId] = $collectionName; } } if(!empty($arCurrentValues['SOURCE_TYPE'])) { $customComponentParameters['SOURCE_ID'] = array( //Список доступных коллекций медиабиблиотеки или разделов инфоблоков
public static function Search($arQuery, $arTypes = array()) { global $DB; $err_mess = CMedialibCollection::GetErrorMess() . "<br>Function: CMedialibItem::Search<br>Line: "; $strSql = "SELECT\n\t\t\t\t\tMI.*, MI.*,MCI.COLLECTION_ID, F.HEIGHT, F.WIDTH, F.FILE_SIZE, F.CONTENT_TYPE, F.SUBDIR, F.FILE_NAME, F.HANDLER_ID,\n\t\t\t\t\t" . $DB->DateToCharFunction("MI.DATE_UPDATE") . " as DATE_UPDATE2\n\t\t\t\tFROM b_medialib_item MI\n\t\t\t\tINNER JOIN b_medialib_collection_item MCI ON (MI.ID=MCI.ITEM_ID)\n\t\t\t\tINNER JOIN b_file F ON (F.ID=MI.SOURCE_ID)\n\t\t\t\tWHERE 1=1"; $l = count($arQuery); if ($l == 0) { return array(); } for ($i = 0; $i < $l; $i++) { $strSql .= " AND MI.SEARCHABLE_CONTENT LIKE '%" . $DB->ForSql($arQuery[$i]) . "%'"; } $strSql .= " ORDER BY MI.ID DESC"; $res = $DB->Query($strSql, false, $err_mess); $arResult = array(); $rootPath = CSite::GetSiteDocRoot(false); $tmbW = COption::GetOptionInt('fileman', "ml_thumb_width", 140); $tmbH = COption::GetOptionInt('fileman', "ml_thumb_height", 105); $elId2Index = array(); $colId2Index = array(); $arCol = CMedialibCollection::GetList(array('arFilter' => array('ACTIVE' => 'Y', "TYPES" => $arTypes))); for ($i = 0, $l = count($arCol); $i < $l; $i++) { $colId2Index[$arCol[$i]['ID']] = $i; } while ($arRes = $res->Fetch()) { $colId = $arRes['COLLECTION_ID']; if (!isset($colId2Index[$colId]) || !CMedialibCollection::IsViewable($arCol[$colId2Index[$colId]], $arCol)) { continue; } if (isset($elId2Index[$arRes['ID']])) { $arResult[$elId2Index[$arRes['ID']]]['collections'][] = $colId; } else { $elId2Index[$arRes['ID']] = count($arResult); $arRes['collections'] = array($colId); $arRes['perm'] = array('edit' => true, 'del' => true); CMedialibItem::GenerateThumbnail($arRes, array('rootPath' => $rootPath, 'width' => $tmbW, 'height' => $tmbH)); $arRes['PATH'] = CFile::GetFileSRC($arRes); $arResult[] = $arRes; } } return $arResult; }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } CModule::IncludeModule("fileman"); CMedialib::Init(); $rsMedia = CMedialibCollection::GetList(array()); foreach ($rsMedia as $arMedia) { $arMediaLib[$arMedia["ID"]] = "[" . $arMedia["ID"] . "] " . $arMedia["NAME"]; } $arComponentParameters = array("PARAMETERS" => array("INCLUDE_JQUERY" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_INCLUDE_JQUERY"), "TYPE" => "CHECKBOX"), "MEDIA_ID" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_KOLLEKCIA_MEDIABIBLI"), "TYPE" => "LIST", "VALUES" => $arMediaLib), "MEDIA_SORT_FIELD" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_SORTIROVATQ_PO"), "TYPE" => "LIST", "ADDITIONAL_VALUES" => "Y", "VALUES" => array("DESCRIPTION" => GetMessage("APROF_LENTAZOOM_OPISANIU"), "KEYWORDS" => GetMessage("APROF_LENTAZOOM_KLUCEVYM_SLOVAM"))), "MEDIA_SORT_ORDER" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_PORADOK_SORTIROVKI"), "TYPE" => "LIST", "VALUES" => array("ASC" => GetMessage("APROF_LENTAZOOM_PO_VOZRASTANIU"), "DESC" => GetMessage("APROF_LENTAZOOM_PO_UBYVANIU"))), "SLIDE_WIDTH" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_MAKSIMALQNAA_SIRINA"), "TYPE" => "TEXT"), "SLIDE_HEIGHT" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_MAKSIMALQNAA_VYSOTA"), "TYPE" => "TEXT"), "SLIDE_ZOOM_WIDTH" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_MAKSIMALQNAA_SIRINA1"), "TYPE" => "TEXT"), "SLIDE_ZOOM_HEIGHT" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_MAKSIMALQNAA_VYSOTA1"), "TYPE" => "TEXT"), "CNT" => array("PARENT" => "BASE", "NAME" => GetMessage("APROF_LENTAZOOM_KOLICESTVO_SLAYDOV"), "TYPE" => "TEXT")));