- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/update_client_partner.php
- Класс: CUpdateClientPartner
- Вызов: CUpdateClientPartner::GetCurrentModules
static function GetCurrentModules(&$strError)
{
$arClientModules = array();
if (file_exists($_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules/main/classes/general/version.php")
&& is_file($_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules/main/classes/general/version.php"))
{
$p = file_get_contents($_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules/main/classes/general/version.php");
preg_match("/defines*(s*"SM_VERSION"s*,s*"(d+.d+.d+)"s*)s*/im", $p, $arVers);
$arClientModules["main"] = array("VERSION" => $arVers[1], "IS_DEMO" => ((defined("DEMO") && DEMO == "Y") ? "Y" : "N"));
}
if (!array_key_exists("main", $arClientModules) || $arClientModules["main"]["VERSION"] == '')
{
CUpdateClientPartner::AddMessage2Log(GetMessage("SUPP_GM_ERR_DMAIN"), "Ux09");
$strError .= "[Ux09] ".GetMessage("SUPP_GM_ERR_DMAIN").". ";
return array();
}
if ($handle = @opendir($_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules"))
{
while (false !== ($dir = readdir($handle)))
{
if (is_dir($_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules/".$dir)
&& $dir != "." && $dir != ".." && $dir != "main")
{
$module_dir = $_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules/".$dir;
if (file_exists($module_dir."/install/index.php"))
{
$arInfo = CUpdateClientPartner::__GetModuleInfo($module_dir);
if (!isset($arInfo["VERSION"]) || $arInfo["VERSION"] == '')
{
CUpdateClientPartner::AddMessage2Log(str_replace("#MODULE#", $dir, GetMessage("SUPP_GM_ERR_DMOD")), "Ux11");
$strError .= "[Ux11] ".str_replace("#MODULE#", $dir, GetMessage("SUPP_GM_ERR_DMOD")).". ";
return array();
}
else
{
if($arInfo["ACTIVE"] == "Y")
$arClientModules[$dir] = array("VERSION" => $arInfo["VERSION"], "IS_DEMO" => $arInfo["IS_DEMO"]);
}
}
else
{
CUpdateClientPartner::AddMessage2Log(str_replace("#MODULE#", $dir, GetMessage("SUPP_GM_ERR_DMOD")), "Ux12");
}
}
}
closedir($handle);
}
else
{
CUpdateClientPartner::AddMessage2Log(GetMessage("SUPP_GM_NO_KERNEL"), "Ux15");
$strError .= "[Ux15] ".GetMessage("SUPP_GM_NO_KERNEL").". ";
return array();
}
return $arClientModules;
}