<?php
/**
 * Part of Showkase web site management package
 *
 * @package Showkase
 * @author Jack Hardie {@link http://www.jhardie.com}
 * @copyright Copyright (c) 2012, SimpleViewer Inc.
 */
defined('SK_ACCESS')||die('<h1>403: Forbidden</h1>');
$sep = DIRECTORY_SEPARATOR;
require_once "commands{$sep}command.php" ;
require_once "classes{$sep}pagefactory.php";
require_once "classes{$sep}screenfactory.php";
require_once "classes{$sep}themeset.php";
 
/**
 * Command - Image Library
 *
 * @package Showkase
 */
class ImageLib extends Command {
    function doExecute( Request $request )
    {
        unset ($_SESSION['pageIndex']);
        $config = SkConfig::getInstance();
        $context = array('token' => $request->newToken());
        $pageRef = 'library';
        $pageType = 'library';
        $pagePath = $config->getRelativeLibraryPath().DIRECTORY_SEPARATOR;
        $pageFactory = new PageFactory(new ThemeSet());
        $page = $pageFactory->make($pageType, $pageRef, $pagePath);
        //$page->gallery->rebuild();
        $post = $request->getPost();
        //$page->gallery->saveGallery();
        if (isset($post['imagessubmitted'])) {
            try {
                if (!$request->validatePost()) {
                    throw new Exception('No action. Re-submission or remote submission is not allowed.');
                }
                if (!empty($post['del'])) {
                    $page->gallery->flagDeletedImages($post['del']);
                    $page->gallery->deleteImages();
                }
                $page->gallery->saveGallery();
            } catch (Exception $e) {
                Board::addExceptionMessage($e);
            }
        }
        $imageObjects = $page->gallery->getImageObjects();
        $context['imageCount'] = count($page->gallery->getImageObjects());
        $screenFactory = new ScreenFactory();
        $screen = $screenFactory->makeImagesScreen($pageType, $page);
        print $screen->getHtml($context);
    }
}