- Add "Sprawdź aktualizacje" refresh button in admin sidebar (AJAX check without page reload) - Add UpdateController::checkUpdate() action clearing session cache and querying update server - Replace hand-edited changelog.php with auto-generating script (reads manifests + legacy JSON) - Migrate all legacy changelog entries (0.300-0.001) to changelog-legacy.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
66 lines
1.8 KiB
PHP
66 lines
1.8 KiB
PHP
<?php
|
|
namespace admin\Controllers;
|
|
|
|
use Domain\Update\UpdateRepository;
|
|
|
|
class UpdateController
|
|
{
|
|
private UpdateRepository $repository;
|
|
|
|
public function __construct( UpdateRepository $repository )
|
|
{
|
|
$this->repository = $repository;
|
|
}
|
|
|
|
public function main_view(): string
|
|
{
|
|
$logContent = @file_get_contents( '../libraries/update_log.txt' );
|
|
|
|
return \Shared\Tpl\Tpl::view( 'update/main-view', [
|
|
'ver' => \Shared\Helpers\Helpers::get_version(),
|
|
'new_ver' => \Shared\Helpers\Helpers::get_new_version(),
|
|
'log' => $logContent ?: '',
|
|
] );
|
|
}
|
|
|
|
public function update(): void
|
|
{
|
|
$result = $this->repository->update();
|
|
|
|
if ( !$result['success'] ) {
|
|
\Shared\Helpers\Helpers::alert( 'W trakcie aktualizacji systemu wystąpił błąd. Proszę spróbować ponownie.' );
|
|
} else {
|
|
\Shared\Helpers\Helpers::set_message( 'Aktualizacja przebiegła pomyślnie.' );
|
|
}
|
|
|
|
header( 'Location: /admin/update/main_view/' );
|
|
exit;
|
|
}
|
|
|
|
public function updateAll(): void
|
|
{
|
|
$result = $this->repository->update();
|
|
|
|
$response = [
|
|
'status' => !empty( $result['success'] ) && empty( $result['no_updates'] ),
|
|
'version' => number_format( (float) \Shared\Helpers\Helpers::get( 'version_current' ) + 0.001, 3, '.', '' ),
|
|
];
|
|
|
|
echo json_encode( $response );
|
|
exit;
|
|
}
|
|
|
|
public function checkUpdate(): void
|
|
{
|
|
\Shared\Helpers\Helpers::set_session( 'new-version', null );
|
|
$newVer = \Shared\Helpers\Helpers::get_new_version();
|
|
$curVer = \Shared\Helpers\Helpers::get_version();
|
|
|
|
echo json_encode( [
|
|
'has_update' => $newVer > $curVer,
|
|
'new_ver' => $newVer,
|
|
] );
|
|
exit;
|
|
}
|
|
}
|