Benefits->CanEditEbookPlaceholders){ throw new Exceptions\InvalidPermissionsException(); } session_start(); $isCreated = HttpInput::Bool(SESSION, 'is-ebook-placeholder-created') ?? false; $isOnlyProjectCreated = HttpInput::Bool(SESSION, 'is-only-ebook-project-created') ?? false; $isDeleted = HttpInput::Bool(SESSION, 'is-ebook-placeholder-deleted') ?? false; $exception = HttpInput::SessionObject('exception', Exceptions\AppException::class); $ebook = HttpInput::SessionObject('ebook', Ebook::class); $project = HttpInput::SessionObject('project', Project::class); $deletedEbookTitle = ''; if($isCreated || $isOnlyProjectCreated){ // We got here because an `Ebook` was successfully created. http_response_code(Enums\HttpCode::Created->value); if($ebook !== null){ $createdEbook = clone $ebook; if(sizeof($ebook->CollectionMemberships) > 0){ // If the `EbookPlaceholder` we just added is part of a collection, prefill the form with the same data to make it easier to submit series. unset($ebook->EbookId); unset($ebook->Title); unset($ebook->ProjectInProgress); if($ebook->EbookPlaceholder !== null){ $ebook->EbookPlaceholder->YearPublished = null; $ebook->EbookPlaceholder->IsWanted = false; $ebook->EbookPlaceholder->IsInProgress = false; } foreach($ebook->CollectionMemberships as $collectionMembership){ if($collectionMembership->SequenceNumber !== null){ $collectionMembership->SequenceNumber++; } } } else{ $ebook = null; } } session_unset(); } elseif($isDeleted){ if($ebook !== null){ $deletedEbookTitle = $ebook->Title; $ebook = null; } session_unset(); } elseif($exception){ // We got here because an `Ebook` submission had errors and the user has to try again. http_response_code(Enums\HttpCode::UnprocessableContent->value); session_unset(); } } catch(Exceptions\LoginRequiredException){ Template::RedirectToLogin(); } catch(Exceptions\InvalidPermissionsException){ Template::ExitWithCode(Enums\HttpCode::Forbidden); // No permissions to create an ebook placeholder. } ?>

Create an Ebook Placeholder

An ebook placeholder already exists for this ebook, but a new project was created!

Ebook placeholder created: Title) ?>!

Ebook placeholder deleted: