- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/functions.php
- Класс: CSocNetTextParser
- Вызов: CSocNetTextParser::__construct
public function __construct($strLang = False, $pathToSmile = false)
{
global $DB, $CACHE_MANAGER;
static $arSmiles = array();
$this->smiles = array();
if ($strLang === False)
$strLang = LANGUAGE_ID;
$this->path_to_smile = $pathToSmile;
if($CACHE_MANAGER->Read(604800, "b_sonet_smile"))
{
$arSmiles = $CACHE_MANAGER->Get("b_sonet_smile");
}
else
{
$db_res = CSocNetSmile::GetList(array("SORT" => "ASC"), array("SMILE_TYPE" => "S"/*, "LANG_LID" => $strLang*/), false, false, Array("LANG_LID", "ID", "IMAGE", "DESCRIPTION", "TYPING", "SMILE_TYPE", "SORT"));
while ($res = $db_res->Fetch())
{
$tok = strtok($res['TYPING'], " ");
while ($tok !== false)
{
$arSmiles[$res['LANG_LID']][] = array(
'TYPING' => $tok,
'IMAGE' => stripslashes($res['IMAGE']), // stripslashes is not needed here
'DESCRIPTION' => stripslashes($res['NAME']) // stripslashes is not needed here
);
$tok = strtok(" ");
}
}
foreach ($arSmiles as $LID => $arSmilesLID)
{
uasort($arSmilesLID, array('CSocNetTextParser', 'sonet_sortlen'));
$arSmiles[$LID] = $arSmilesLID;
}
$CACHE_MANAGER->Set("b_sonet_smile", $arSmiles);
}
$this->smiles = $arSmiles[$strLang] ?? null;
}