- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/util.php
- Класс: BitrixIntranetUtil
- Вызов: Util::getLanguageList
static function getLanguageList()
{
$list = array();
$langFromTemplate = array();
if (BitrixMainModuleManager::isModuleInstalled("intranet"))
{
global $b24Languages;
$fileName = BitrixMainApplication::getDocumentRoot() . getLocalPath('templates/bitrix24', BX_PERSONAL_ROOT) . "/languages.php";
if (BitrixMainIOFile::isFileExists($fileName))
{
include_once $fileName;
}
if (isset($b24Languages) && is_array($b24Languages))
{
$langFromTemplate = BitrixMainTextEncoding::convertEncoding($b24Languages, 'UTF-8', SITE_CHARSET);
}
}
$langDir = BitrixMainApplication::getDocumentRoot() . '/bitrix/modules/intranet/lang/';
$dir = new BitrixMainIODirectory($langDir);
if ($dir->isExists())
{
foreach($dir->getChildren() as $childDir)
{
if (!$childDir->isDirectory())
{
continue;
}
$list[] = $childDir->getName();
}
if (count($list) > 0)
{
$listDb = BitrixMainLocalizationLanguageTable::getList(array(
'select' => array('LID', 'NAME'),
'filter' => array(
'=LID' => $list,
'=ACTIVE' => 'Y'
),
'order' => array('SORT' => 'ASC')
));
$list = array();
while ($item = $listDb->fetch())
{
$list[$item['LID']] = isset($langFromTemplate[$item['LID']])? $langFromTemplate[$item['LID']]: $item['NAME'];
}
}
}
return $list;
}