- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/updatetools.php
- Класс: UpdateTools
- Вызов: UpdateTools::CheckUpdates
static function CheckUpdates()
{
global $USER;
if(MainApplication::getInstance()->getLicense()->isDemoKey())
{
return;
}
$days_check = intval(COption::GetOptionString('main', 'update_autocheck'));
if($days_check > 0)
{
CUtil::SetPopupOptions('update_tooltip', array('display'=>'on'));
$update_res = unserialize(COption::GetOptionString('main', '~update_autocheck_result'), ['allowed_classes' => false]);
if(!is_array($update_res))
$update_res = array("check_date"=>0, "result"=>false);
if(time() > $update_res["check_date"]+$days_check*86400)
{
if($USER->CanDoOperation('install_updates'))
{
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/update_client.php");
$result = CUpdateClient::IsUpdateAvailable($arModules, $strError);
$modules = array();
foreach($arModules as $module)
$modules[] = $module["@"]["ID"];
if($strError <> '' && COption::GetOptionString('main', 'update_stop_autocheck', 'N') == 'Y')
COption::SetOptionString('main', 'update_autocheck', '');
COption::SetOptionString('main', '~update_autocheck_result', serialize(array(
"check_date"=>time(),
"result"=>$result,
"error"=>$strError,
"modules"=>$modules,
)));
}
}
}
}