mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-10-05 04:13:09 -04:00
34 lines
910 B
PHP
34 lines
910 B
PHP
<?php
|
|
/** @phpstan-var \Gazelle\User $Viewer */
|
|
/** @phpstan-var \Twig\Environment $Twig */
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Gazelle;
|
|
|
|
if (!$Viewer->permitted('admin_periodic_task_view')) {
|
|
Error403::error();
|
|
}
|
|
|
|
$scheduler = new TaskScheduler();
|
|
$task = $scheduler->findById((int)($_REQUEST['id'] ?? 0));
|
|
if ($task) {
|
|
if ($_REQUEST['mode'] === 'run_now') {
|
|
if (!$Viewer->permitted('admin_schedule')) {
|
|
Error403::error();
|
|
}
|
|
authorize();
|
|
$scheduler->runNow($task['periodic_task_id']);
|
|
} elseif ($_REQUEST['mode'] === 'enqueue') {
|
|
$scheduler->enqueue($task['periodic_task_id']);
|
|
header("Location: tools.php?action=periodic&mode=view");
|
|
exit;
|
|
}
|
|
}
|
|
|
|
echo $Twig->render('admin/scheduler/view.twig', [
|
|
'heading' => $scheduler->heading(),
|
|
'task_list' => $scheduler->taskDetailList(),
|
|
'viewer' => $Viewer,
|
|
]);
|