public static function GetUpdateData()
 {
     $DBData = Updater::GetDatabaseVersion();
     $UpdateURL = "https://project.freedomcore.ru/freedomcore.php?action=%s&current_hash=%s";
     $UpdateData = Manager::GetUrlData(sprintf($UpdateURL, 'update', $DBData['database_version']));
     return json_decode($UpdateData, true);
 }
 public static function GetUpdateData()
 {
     $DBData = Updater::GetDatabaseVersion();
     $UpdateURL = "https://project.freedomcore.ru/freedomcore.php?action=%s&current_hash=%s";
     $UpdateData = Manager::GetUrlData(sprintf($UpdateURL, 'update', $DBData['database_version']));
     $Data = json_decode($UpdateData, true);
     $Data['downloaded'] = Updater::CheckForPull($Data['updating_to']['sha']);
     return $Data;
 }
 private static function APIRequest($Method, $Hash, $AdditionalParameters = [])
 {
     $PList = "";
     $AgentData = Manager::GetUrlData(sprintf(LauncherAPI::$FreedomCoreURL, $Method, $Hash) . $PList);
     $JsonResponse = json_decode($AgentData, true);
     return $JsonResponse;
 }
<?php

require_once 'header.php';
$UpdateData = Updater::GetUpdateData();
$UpdatesList = Manager::GetUrlData("https://project.freedomcore.ru/freedomcore.php?action=post_install&version=" . $UpdateData['updating_to']['id']);
$UpdatesList = json_decode($UpdatesList, true);
$DownloadDirectory = getcwd() . DS . 'Update' . DS . 'data' . DS;
$Count = count($UpdatesList['updates']);
$Iterations = 0;
foreach ($UpdatesList['updates'] as $Update) {
    $LoadedData = Manager::GetUrlData($Update['download']);
    $FileHandler = fopen($DownloadDirectory . str_replace('.freedomcore', '.php', $Update['filename']), 'w');
    fwrite($FileHandler, $LoadedData);
    fclose($FileHandler);
    if ($Iterations == $Count - 1) {
        header('Location: /Update/complete');
    }
}