Документация для разработчиков
Темная тема

Класс CForumSmile

CForumSmile - класс для работы со смайлами.

Методы класса

МетодОписаниеC версии
GetListПолучение списка смайлов с возможностью фильтрации и сортировки.3.3.3
GetByIDПолучение параметров смайла, не зависящих от языка, по его коду.3.3.3
GetByIDExПолучение всех параметров смайла по его коду и языку.3.3.3
GetLangByIDПолучение языковых параметров смайла по его коду и языку.3.3.3
AddДобавление нового смайла.3.3.3
UpdateИзменение параметров смайла.3.3.3
DeleteУдаление смайла.3.3.3

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Роберт Басыров
Только надо учитывать одну особенность при использовании примера от EvGenius,. Возможна такая ситуация: смайлы в форум добавлялись когда в системе было два языка, а копируются, когда в системе стало больше языков. В этом случае смайлы не скопируются.
0
EvGenius
Пример: копирование смайлов из форума в модуль блогов.
Код
CModule::IncludeModule("forum");
CModule::IncludeModule("blog");

$arLanguages = Array();
$rsLang = CLanguage::GetList();
while ($arLang = $rsLang->Fetch())
{
   $arLanguages[] = $arLang["LID"];
}

$rsSmiles = CForumSmile::GetList();
while ($arSmile = $rsSmiles->Fetch())
{
   if ($arSmile["TYPE"] != "S") continue;  // Закомментировать, если надо скопировать не только смайлы, но и иконки
   
   $arFields = Array(
      "SORT" => $arSmile["SORT"],
      "SMILE_TYPE" => $arSmile["TYPE"],
      "TYPING" => $arSmile["TYPING"],
      "IMAGE" => $arSmile["IMAGE"],
      "CLICKABLE" => $arSmile["CLICKABLE"],
      "IMAGE_WIDTH" => $arSmile["IMAGE_WIDTH"],
      "IMAGE_HEIGHT" => $arSmile["IMAGE_HEIGHT"],
      "LANG" => Array (),
   );
   
   foreach ($arLanguages as $lid)
   {
      $arSmileLang = CForumSmile::GetLangByID($arSmile["ID"], $lid);
      $arFields["LANG"][] = Array(
         "LID" => $lid,
         "NAME" => $arSmileLang["NAME"],
      );
   }
   
   $filename = $_SERVER["DOCUMENT_ROOT"]."/bitrix/images/blog/smile/".$arSmile["IMAGE"];
   echo $filename.": ".$arSmile["TYPING"]."<br />";
   
   copy ($_SERVER["DOCUMENT_ROOT"]."/bitrix/images/forum/smile/".$arSmile["IMAGE"], $filename);
   chmod ($filename, BX_FILE_PERMISSIONS);
   
   CBlogSmile::Add($arFields);
}
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх