예제 #1
0
	public static function PrepareSmiles()
	{
		$arResult = Array();
		$arSmile = CSmile::getByType(CSmile::TYPE_SMILE);
		$arSmileSet = CSmileSet::getListCache();

		foreach ($arSmile as $smile)
		{
			$typing = explode(" ", $smile['TYPING']);
			if (isset($arResult['SMILE'][$typing[0]]))
				continue;

			$arResult['SMILE'][$typing[0]] = Array(
				'SET_ID' => $smile['SET_ID'],
				'NAME' => $smile['NAME'],
				'IMAGE' => CSmile::PATH_TO_SMILE.$smile["SET_ID"]."/".$smile["IMAGE"],
				'TYPING' => $typing[0],
				'WIDTH' => $smile['IMAGE_WIDTH'],
				'HEIGHT' => $smile['IMAGE_HEIGHT'],
			);
		}
		foreach ($arSmileSet as $key => $value)
		{
			unset($value['STRING_ID']);
			unset($value['SORT']);
			if (empty($value['NAME']))
				$value['NAME'] = GetMessage('IM_SMILE_SET_EMPTY', Array('#ID#' => $key));

			$arResult['SMILE_SET'][$key] = $value;
		}

		return $arResult;
	}
예제 #2
0
 static function getSetsByType($type, $lang)
 {
     $type = $type == CSmile::TYPE_ICON ? CSmile::TYPE_ICON : CSmile::TYPE_SMILE;
     $key = $type . "_" . $lang;
     if (!array_key_exists($key, self::$sets)) {
         $smiles = self::GetByType($type, $lang);
         $smilesSet = CSmileSet::getListCache();
         $result = array();
         foreach ($smiles as $smile) {
             if (!array_key_exists($smile["SET_ID"], $result)) {
                 $result[$smile["SET_ID"]] = $smilesSet[$smile["SET_ID"]];
             }
         }
         self::$sets[$key] = $result;
     }
     return self::$sets[$key];
 }
예제 #3
0
 /**
  * <p>Получение списка наборов. Использовать вместо <a href="http://dev.1c-bitrix.ru/api_help/main/reference/csmileset/getformlist.php">CSmileSet::getFormList</a>. Статичный метод.</p>
  *
  *
  * @param mixed $galleryId = 0 Идентификатор галереи. Не обязательный, по умолчанию использует
  * настройку главного модуля.
  *
  * @param mixed $lang = LANGUAGE_ID Идентификатор языка для получения локализации, по умолчанию
  * LANGUAGE_ID (можно передать константу CSmileSet::GET_ALL_LANGUAGE для получения
  * всех локализаций).
  *
  * @return mixed <p>Возвращает массив с данными о наборе.</p> <br><br>
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/main/reference/csmileset/getlistforform.php
  * @author Bitrix
  */
 public static function getListForForm($galleryId = 0, $lang = LANGUAGE_ID)
 {
     $arGalleryList = array();
     if (!$galleryId) {
         $arGalleryList = CSmileGallery::getListForForm($lang);
     }
     $arSetList = array();
     foreach (CSmileSet::getListCache($lang) as $key => $value) {
         if ($galleryId > 0 && $value['PARENT_ID'] != $galleryId) {
             continue;
         }
         $arSetList[$key] = !empty($value['NAME']) ? $value['NAME'] : GetMessage('MAIN_SMILE_SET_NAME', array('#ID#' => $key));
         if (count($arGalleryList) > 1) {
             $arSetList[$key] = $arGalleryList[$value['PARENT_ID']] . ' > ' . $arSetList[$key];
         }
     }
     return $arSetList;
 }
예제 #4
0
파일: smile.php 프로젝트: ASDAFF/open_bx
 public static function getFormList($bWithOptionAll = false, $lang = LANGUAGE_ID)
 {
     $arSetList = array();
     if ($bWithOptionAll) {
         $arSetList[0] = GetMessage('MAIN_SMILE_ALL_SET');
     }
     foreach (CSmileSet::getListCache($lang) as $key => $value) {
         $arSetList[$key] = !empty($value['NAME']) ? $value['NAME'] : GetMessage('MAIN_SMILE_SET_NAME', array('#ID#' => $key));
     }
     return $arSetList;
 }