protected function initSmiles() { if (static::$defSmiles === null) { $smiles = CSmile::getByType(); $arSmiles = array(); foreach ($smiles as $smile) { $arTypings = explode(" ", $smile["TYPING"]); foreach ($arTypings as $typing) { $arSmiles[] = array_merge($smile, array('TYPING' => $typing, 'IMAGE' => CSmile::PATH_TO_SMILE . $smile["SET_ID"] . "/" . $smile["IMAGE"], 'DESCRIPTION' => $smile["NAME"], 'DESCRIPTION_DECODE' => 'Y')); } } static::$defSmiles = $arSmiles; } $this->smiles = static::$defSmiles; }
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; }