Exemplo n.º 1
0
 protected function initSmiles()
 {
     if (!array_key_exists($this->smilesGallery, self::$repoSmiles)) {
         $smiles = CSmile::getByGalleryId(CSmile::TYPE_SMILE, $this->smilesGallery);
         $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'));
             }
         }
         self::$repoSmiles[$this->smilesGallery] = $arSmiles;
     }
     $this->smiles = self::$repoSmiles[$this->smilesGallery];
 }
Exemplo n.º 2
0
 /**
  * <p>Возвращает смайлы и наборы на основе галереи для последующего использования в модулях при построении списка доступных смайлов. Статичный метод.</p>
  *
  *
  * @param mixed $galleryId = self::GALLERY_DEFAULT по умолчанию CSmileGallery::GALLERY_DEFAULT
  *
  * @return result_type <p>Возвращает массив Array('SMILE' =&gt; Array(...), 'SMILE_SET' =&gt; Array(...)) </p> </ht<br><br>
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/main/reference/csmilegallery/getsmileswithsets.php
  * @author Bitrix
  */
 public static function getSmilesWithSets($galleryId = self::GALLERY_DEFAULT)
 {
     if ($galleryId == self::GALLERY_DEFAULT) {
         $galleryId = self::getDefaultId();
     }
     $result = array('SMILE' => array(), 'SMILE_SET' => array());
     $smiles = CSmile::getByGalleryId(CSmile::TYPE_SMILE, $galleryId);
     $smilesSet = CSmileSet::getListCache();
     $userSets = array();
     foreach ($smiles as $smile) {
         if ($smile['HIDDEN'] == 'Y') {
             continue;
         }
         $typing = explode(" ", $smile['TYPING']);
         if (isset($result['SMILE'][$typing[0]])) {
             continue;
         }
         $result['SMILE'][$smile['ID']] = 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']);
         $userSets[$smile['SET_ID']] = true;
     }
     foreach ($smilesSet as $key => $value) {
         if (!$userSets[$value['ID']]) {
             continue;
         }
         unset($value['STRING_ID']);
         unset($value['SORT']);
         if (empty($value['NAME'])) {
             $value['NAME'] = GetMessage('MAIN_SMILE_SET_NAME', array('#ID#' => $key));
         }
         $result['SMILE_SET'][] = $value;
     }
     return $result;
 }
Exemplo n.º 3
0
 static function getSmiles($type, $lang)
 {
     $type = $type == "I" ? CSmile::TYPE_ICON : CSmile::TYPE_SMILE;
     $key = "new_" . $type . "_" . $lang;
     if (!array_key_exists($key, self::$smiles)) {
         $smiles = CSmile::getByGalleryId($type, COption::GetOptionInt("forum", "smile_gallery_id", 0), $lang);
         $result = array();
         foreach ($smiles as $smile) {
             if ($smile['HIDDEN'] == 'Y') {
                 continue;
             }
             $result[] = array('SET_ID' => $smile['SET_ID'], 'NAME' => $smile['NAME'], 'IMAGE' => ($smile['TYPE'] == CSmile::TYPE_SMILE ? CSmile::PATH_TO_SMILE : CSmile::PATH_TO_ICON) . $smile["SET_ID"] . "/" . $smile["IMAGE"], 'TYPING' => $smile['TYPING'], 'WIDTH' => $smile['IMAGE_WIDTH'], 'HEIGHT' => $smile['IMAGE_HEIGHT']);
         }
         self::$smiles[$key] = $result;
     }
     return self::$smiles[$key];
 }