• Модуль: 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;
}