Move delete form and more multi select fixes

This commit is contained in:
Alex Cabal 2024-12-19 14:40:38 -06:00
parent 93b8008c7e
commit 8e8cbb0c5e
10 changed files with 136 additions and 24 deletions

35
www/ebooks/delete.php Normal file
View file

@ -0,0 +1,35 @@
<?
$ebook = null;
try{
if(Session::$User === null){
throw new Exceptions\LoginRequiredException();
}
if(!Session::$User->Benefits->CanEditEbookPlaceholders){
throw new Exceptions\InvalidPermissionsException();
}
$identifier = EBOOKS_IDENTIFIER_PREFIX . trim(str_replace('.', '', HttpInput::Str(GET, 'url-path') ?? ''), '/');
$ebook = Ebook::GetByIdentifier($identifier);
if($ebook->IsPlaceholder()){
require(WEB_ROOT . '/ebook-placeholders/delete.php');
exit();
}
// Deleting published `Ebooks` is not supported.
Template::ExitWithCode(Enums\HttpCode::NotFound);
}
catch(Exceptions\EbookNotFoundException){
Template::ExitWithCode(Enums\HttpCode::NotFound);
}
catch(Exceptions\LoginRequiredException){
Template::RedirectToLogin();
}
catch(Exceptions\InvalidPermissionsException){
Template::ExitWithCode(Enums\HttpCode::Forbidden);
}