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