Функции которые могут пригодится для разных проектов на 1С-Битрикс



//Получает информация о пользователе

function UserInfo($user_id){
	if($user_id>0){
	$rsUser = CUser::GetByID($user_id);
	return $rsUser->Fetch();		
	}
}

//Получает количество товаров в корзине без цикла
function getBasketCount(){
	
	if(CModule::IncludeModule("sale")){
		$cntBasketItems = CSaleBasket::GetList(
		   array(),
		   array( 
			  "FUSER_ID" => CSaleBasket::GetBasketUserID(),
			  "LID" => SITE_ID,
			  "ORDER_ID" => "NULL"
		   ), 
		   array()
		);
		
		return $cntBasketItems;		
	}
}

//Получает уменьшенную копию изображение по ID;
function getImageByID($imgid, $width=false, $height=false){
    
	if(empty($imgid)){
			$img="/images/default-image.png";
		}else{
			
		if($width==false){$width=100;}
		if($height==false){$height=100;}
			
		$img = CFile::ResizeImageGet($imgid, Array("width" => $width, "height" => $width),BX_RESIZE_IMAGE_PROPORTIONAL);
		$img = $img['src'];					
	}    
    return $img;
	
}


// Получаем Изображение из свойства MORE_PHOTO

function GetPropImgByElID($id){
	$res = CIBlockElement::GetByID($id);
	if($ob = $res->GetNextElement())
		{
		$arProp = $ob->GetProperty("MORE_PHOTO");
		return CFile::GetPath($arProp['VALUE'][0]);		
		}		
}; 


//Получает название раздела по символ ному коду

function GetSectionNameByCode($iblock_id, $code){
    $res = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $iblock_id, 'CODE' =>$code), false, array("NAME"));
	$section = $res->Fetch();
	return $section['NAME'];
}


//Получает вложенность раздела

function GetSectionLevelByCode($iblock_id, $code){
    $res = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $iblock_id, 'CODE' =>$code), false, array("DEPTH_LEVEL"));
	$section = $res->Fetch();
	return $section['DEPTH_LEVEL'];
}


//Выводит разделы HTML Select ом

function GetSectionsSelect($IBLOCK_ID, $name, $params=false){
	
      CModule::IncludeModule("iblock");
	  $arFilter = Array('IBLOCK_ID'=>$IBLOCK_ID, 'GLOBAL_ACTIVE'=>'Y');
	  $dblist = CIBlockSection::GetList(Array("NAME"=>"ASC"), $arFilter, true);
	  
	  $res = '';
	  
	  return $res;	
}


// получить ID раздела по Элемент ID

function GetElementSectionsID($ID){
    CModule::IncludeModule("iblock");
    $res = CIBlockElement::GetByID($ID);
    $ar_res = $res->GetNext();
    return $ar_res['IBLOCK_SECTION_ID'];
}



//получить ID раздела или элемента инфоблока по символьному коду

function getIdByCode($code, $iblock_id, $type)
{
	if(CModule::IncludeModule("iblock"))
	{
		if($type == 'IBLOCK_ELEMENT')
		{
			$arFilter = array("IBLOCK_ID"=>$iblock_id, "CODE" => $code);
			$res = CIBlockElement::GetList(array(), $arFilter, false, array("nPageSize"=>1), array('ID'));
			$element = $res->Fetch();
			if($res->SelectedRowsCount() != 1) return '

Элемент не найден

'; else return $element['ID']; } else if($type == 'IBLOCK_SECTION') { $res = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $iblock_id, 'CODE' => $code)); $section = $res->Fetch(); if($res->SelectedRowsCount() != 1) return '

Раздел не найден

'; else return $section['ID']; } else { echo '

Укажите тип

'; return; } } }