• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/update_class.php
  • Класс: CUpdateSystem
  • Вызов: CUpdateSystem::GetLanguages
static function GetLanguages(&$strError, $arSelected = false)
{
	$arClientLangs = array();

	$strLangPath = $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/lang";

	$db_res = false;
	if (class_exists("CLanguage"))
	{
		$db_res = CLanguage::GetList(($by="sort"), ($order="asc"), array("ACTIVE"=>"Y"));
	}
	elseif (class_exists("CLang"))
	{
		$db_res = CLang::GetList(($by="sort"), ($order="asc"), array("ACTIVE"=>"Y"));
	}

	if ($db_res===false)
	{
		CUpdateSystem::AddMessage2Log(GetMessage("SUPP_GL_WHERE_LANGS"), "UGL00");
		$strError .= "[UGL00] ".GetMessage("SUPP_GL_WHERE_LANGS").".
"; } else { while ($ar_res = $db_res->Fetch()) { if ($arSelected===false || is_array($arSelected) && in_array($ar_res["LID"], $arSelected)) { $strLangDate = ""; if (file_exists($strLangPath."/".$ar_res["LID"]) && file_exists($strLangPath."/".$ar_res["LID"]."/supd_lang_date.dat")) { $strLangDate = file_get_contents($strLangPath."/".$ar_res["LID"]."/supd_lang_date.dat"); $strLangDate = preg_replace("/[D]+/", "", $strLangDate); if (strlen($strLangDate)!=8) { CUpdateSystem::AddMessage2Log(str_replace("#LANG#", $ar_res["LID"], GetMessage("SUPP_GL_ERR_DLANG")), "UGL01"); $strError .= "[UGL01] ".str_replace("#LANG#", $ar_res["LID"], GetMessage("SUPP_GL_ERR_DLANG")).".
"; $strLangDate = ""; } } $arClientLangs[$ar_res["LID"]] = $strLangDate; } } if ($arSelected===false && empty($arClientLangs)) { CUpdateSystem::AddMessage2Log(GetMessage("SUPP_GL_NO_SITE_LANGS"), "UGL02"); $strError .= "[UGL02] ".GetMessage("SUPP_GL_NO_SITE_LANGS").".
"; } } return $arClientLangs; }