isLoggedIn()) throw new NotAllowedException(); $photo = Asset::fromSlug($_GET['slug']); if (empty($photo)) throw new NotFoundException(); parent::__construct($photo->getTitle() . ' - ' . SITE_TITLE); $page = new PhotoPage($photo->getImage()); // Exif data? $exif = EXIF::fromFile($photo->getFullPath()); if ($exif) $page->setExif($exif); // What tag are we browsing? $tag = isset($_GET['in']) ? Tag::fromId($_GET['in']) : null; $id_tag = isset($tag) ? $tag->id_tag : null; // Find previous photo in set. $previous_url = $photo->getUrlForPreviousInSet($id_tag); if ($previous_url) $page->setPreviousPhotoUrl($previous_url); // ... and the next photo, too. $next_url = $photo->getUrlForNextInSet($id_tag); if ($next_url) $page->setNextPhotoUrl($next_url); $this->page->adopt($page); $this->page->setCanonicalUrl($photo->getPageUrl()); // Add an edit button to the admin bar. if (Registry::get('user')->isAdmin()) $this->admin_bar->appendItem(BASEURL . '/editasset/?id=' . $photo->getId(), 'Edit this photo'); } }