. **/ class CControllerSoftwareVersionCheckGet extends CController { protected function init(): void { $this->disableCsrfValidation(); } protected function checkInput(): bool { return true; } protected function checkPermissions(): bool { return !CWebUser::isGuest(); } protected function doAction(): void { $data = [ 'is_software_update_check_enabled' => CSettingsHelper::isSoftwareUpdateCheckEnabled() ]; if ($data['is_software_update_check_enabled']) { $check_data = CSettingsHelper::getSoftwareUpdateCheckData() + ['nextcheck' => 0]; $now = time(); if ($check_data['nextcheck'] > $now) { $data['delay'] = $check_data['nextcheck'] - $now + random_int(1, SEC_PER_MIN); } else { $data['version'] = CSettingsHelper::getServerStatus()['version']; $data['check_hash'] = CSettingsHelper::getPrivate(CSettingsHelper::SOFTWARE_UPDATE_CHECKID); $data['csrf_token'] = CCsrfTokenHelper::get('softwareversioncheck'); } } $this->setResponse(new CControllerResponseData(['main_block' => json_encode($data)])); } }