• Модуль: fileman
  • Путь к файлу: ~/bitrix/modules/fileman/classes/general/medialib.php
  • Класс: CMedialibItem
  • Вызов: CMedialibItem::Search
static function Search($arQuery, $arTypes = array())
{
	global $DB;
	$err_mess = CMedialibCollection::GetErrorMess()."
Function: CMedialibItem::Search
Line: "; $strSql = "SELECT MI.*, MI.*,MCI.COLLECTION_ID, F.HEIGHT, F.WIDTH, F.FILE_SIZE, F.CONTENT_TYPE, F.SUBDIR, F.FILE_NAME, F.HANDLER_ID, ".$DB->DateToCharFunction("MI.DATE_UPDATE")." as DATE_UPDATE2 FROM b_medialib_item MI INNER JOIN b_medialib_collection_item MCI ON (MI.ID=MCI.ITEM_ID) INNER JOIN b_file F ON (F.ID=MI.SOURCE_ID) WHERE 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; }