. */ require_once('./index.php'); require_once('./login.php'); require('./header.php'); ?>
View information of the offer with id // ?toggle_accept= Toggle the accepted status of the offer with id // ?toggle_payment_eligibility= Toggle the payment eligibility of the offer with id // ?generate_invoice= Generate an invoice for the offer with id // ?trash_invoice= Trash the invoice file // ?delete= Delete the offer with id //------------------------------------------------------------------------------ // The header of the page $header = 'Offers'; // Whether or not to show an individual offer in the end (false if not, or the id if yes) $show_individual = false; // View offer if (isset($_GET['id'])) { $id = (int) $_GET['id']; try { $offer = new Offer($_pdo, $id); $header = "Offers / #{$offer->id}"; $show_individual = $id; } catch (PDOException $e) { $alert = "
The offer with id $id could not be found.
"; } catch (Exception $e) { $alert = "
The offer with id $id could not be found.
"; } } // Show the header echo "

$header

"; if (isset($alert)) echo "
$alert
"; // Accept offer if (isset($_GET['toggle_accept'])) { echo "
"; $id = (int) $_GET['toggle_accept']; try { $offer = new Offer($_pdo, $id); $offer->accepted = !$offer->accepted; echo "
The status of offer #{$offer->id} has been set to ".($offer->accepted ? "accepted" : "unaccepted").".
"; } catch (PDOException $e) { echo "
The status of the offer could not be changed due to a PDO error.
"; } catch (Exception $e) { echo "
The offer with id {$id} could not be found.
"; } echo "
"; } // Toggle offer payment eligibility if (isset($_GET['toggle_payment_eligibility'])) { echo "
"; $id = (int) $_GET['toggle_payment_eligibility']; try { $offer = new Offer($_pdo, $id); if ($offer->getPaymentEligibility()) { $offer->payment_key = null; } else { $offer->payment_key = Offer::getRandomPaymentKey(); } echo "
The offer #{$offer->id} is now ".($offer->getPaymentEligibility() ? "eligible" : "ineligible")." for online payment.
"; } catch (PDOException $e) { echo "
The online payment eligibility could not be changed due to a PDO error.
"; } catch (Exception $e) { echo "
The offer with id {$id} could not be found.
"; } echo "
"; } // Generate invoice if (isset($_GET['generate_invoice'])) { echo "
"; $id = (int) $_GET['generate_invoice']; try { $offer = new Offer($_pdo, $id); $file = $offer->generateInvoice(); echo "
The invoice for offer #{$offer->id} is generated: {$file->filename}
"; } catch (PDOException $e) { echo "
The invoice for offer #{$offer->id} could not be generated due to a PDO error.
"; } catch (Exception $e) { echo "
The invoice for offer #{$id} could not be generated.
"; } echo "
"; } // Trash invoice if (isset($_GET['trash_invoice'])) { echo "
"; $id = (int) $_GET['trash_invoice']; try { $offer = new Offer($_pdo, $id); $file = $offer->getInvoiceFile(); if ($file instanceof file && $file->delete()) { echo "
The invoice for offer #{$offer->id} is trashed.
"; } else { echo "
The invoice for offer #{$id} could not be trashed.
"; } } catch (PDOException $e) { echo "
The invoice for offer #{$offer->id} could not be trashed due to a PDO error.
"; } catch (Exception $e) { echo "
The invoice for offer #{$id} could not be trashed.
"; } echo "
"; } // Delete offer if (isset($_GET['delete'])) { echo "
"; $id = (int) $_GET['delete']; try { $offer = new Offer($_pdo, $id); if ($offer->delete()) { echo "
The offer #{$offer->id} has been removed.
"; } else { echo "
The offer #{$offer->id} could not be removed. Perhaps it's already removed?
"; } } catch (PDOException $e) { echo "
The offer could not be removed due to a PDO error.
"; } catch (Exception $e) { echo "
The offer with id {$id} could not be found.
"; } echo "
"; } if ($show_individual !== false) { $_id = $show_individual; require('offers-view.php'); } else { require('offers-overview.php'); } ?>