<?PHP
/**
 * This file displays object detail pages as fetched from museum-digital.
 *
 * @author Joshua Ramon Enslin <joshua@jrenslin.de>
 */

// Include functions and settings.

require_once __DIR__ . "/inc/functions.php";

// Check validity of request.

if (!isset($_GET['id']) or !is_numeric($_GET['id'])) {
    echo printErrorPage("Exhibition does not exist.");
    return;
}

// Ensure working environment for frontend.

ensureEnvironment();
$pages = loadPublicPages();           // Load overview of pages.

$contents = json_decode(queryCachePage($settings['mdVersion'] . "?t=exhibition&id=" . urlencode($_GET['id']) . "&output=json", "exhibition", $settings), true);

if (!$contents || (isset($contents[0]) and $contents[0] == "There is no exhibition with this ID yet.")) {
    echo printErrorPage("Temporarily unavailable.");
    return;
}

if ($settings['limitToInstitutions'] != [] and !in_array($contents['institution_id'], $settings['limitToInstitutions'])) {
    echo printErrorPage("This exhibition does not belong to an enabled institution.");
    return;
}

/*
 * Output
 */
$addToHead = '
     <link rel="canonical" href="' . $settings['mdVersion'] . 'index.php?t=exhibition&id=' . $contents['exhibition_id'] . '" />';

echo printPublicHead($settings, $_GET['id'], $settings['pageTitle'] . " - " . $contents['name'], $settings['logo'], $addToHead);
echo printPublicHeader($settings['pageTitle']);
echo printStaticPagePart("banner", "header"); // Print aside (if need be)

echo generatePublicNav($pages);

echo '
<div id="mainWrapper">
';

// Print main content
echo '
    <main>';

echo drawExhibitionDetails($contents, $settings);

echo '
    </main>
';

echo printStaticPagePart("aside", "aside"); // Print aside (if need be)

echo '
</div>';

echo printStaticPagePart("footer", "footer"); // Print footer (if need be)

echo printPublicEnd();

?>