mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-01-16 18:04:34 -05:00
48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?php
|
|
/** @phpstan-var \Gazelle\User $Viewer */
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Gazelle;
|
|
|
|
if (!$Viewer->permitted('site_collages_manage')) {
|
|
Error403::error();
|
|
}
|
|
|
|
authorize();
|
|
|
|
$collage = (new Manager\Collage())->findById((int)($_POST['collageid']));
|
|
if (is_null($collage)) {
|
|
Error404::error("Cannot find the requested collage");
|
|
}
|
|
if ($collage->isPersonal() && !$collage->isOwner($Viewer) && !$Viewer->permitted('site_collages_delete')) {
|
|
Error403::error();
|
|
}
|
|
|
|
if (isset($_POST['drag_drop_collage_sort_order'])) {
|
|
$collage->updateSequence($_POST['drag_drop_collage_sort_order']);
|
|
} elseif (isset($_POST['groupid'])) {
|
|
$tgroup = (new Manager\TGroup())->findById((int)($_POST['groupid'] ?? 0));
|
|
if (is_null($tgroup)) {
|
|
Error404::error("Cannot find torrent group");
|
|
}
|
|
if (isset($_POST['sort'])) {
|
|
$collage->updateSequenceEntry($tgroup, (int)$_POST['sort']);
|
|
}
|
|
|
|
if ($_POST['submit'] === 'Remove') {
|
|
$userId = $collage->entryUserId($tgroup);
|
|
if ($collage->removeEntry($tgroup)) {
|
|
$collage->logger()->general(
|
|
"Collage {$collage->id()} ({$collage->name()}) group entry {$tgroup->id()} (added by user $userId) removed by {$Viewer->username()}"
|
|
);
|
|
}
|
|
} else {
|
|
header("Location: {$collage->location()}");
|
|
exit;
|
|
}
|
|
}
|
|
$collage->flush();
|
|
|
|
header("Location: {$collage->location()}&action=manage");
|