/home/coolpkct/www/websites/cake3.cool.rocks/admin/commands/import.php
<?php
/**
 * Part of Showkase web site management package
 *
 * @package Showkase
 * @author Jack Hardie {@link http://www.jhardie.com}
 * @copyright Copyright (c) 2013, SimpleViewer Inc.
 */
defined('SK_ACCESS')||die('<h1>403: Forbidden</h1>');
$sep = DIRECTORY_SEPARATOR;
require_once "commands{$sep}command.php" ;
require_once "classes{$sep}importscreen.php";
require_once "classes{$sep}pageset.php";
require_once "classes{$sep}importer.php";
require_once "classes{$sep}themeset.php";
require_once "classes{$sep}pagefactory.php";
require_once "classes{$sep}nav.php";
require_once "classes{$sep}galleryindex.php";
 
/**
 * Command - Repair
 *
 * @package Showkase
 */
class Import extends Command
{
    function doExecute( Request $request )
    {
        unset ($_SESSION['pageIndex']);
        $pageSet = new PageSet();
        $themeSet = new ThemeSet();
        $pageFactory = new PageFactory($themeSet);
        $nav = new Nav($pageFactory, $pageSet);
        $importer = new Importer();
        $context = array('token' => $request->newToken());
        $context['importPath'] = '/';
        $context['scanData'] = array();
        $context['message'] = '';
        if (!DEMO_MODE && $request->propertyIsSet('importsubmitted')) {
            try {
                if (!$request->validatePost()) {
                    throw new Exception('No action. Re-submission or remote submission is not allowed.');
                }
                $context['importPath'] = $request->getProperty('importPath');
                $context['scanData'] = $importer->scan($context['importPath']);
                if (!$request->propertyIsSet('pathsubmit')) {
                    $selectedScanData = is_array($request->getProperty('import'))
                    ? array_intersect_key($context['scanData'], $request->getProperty('import'))
                    : array();
                    $importer->import($selectedScanData, $pageSet, $pageFactory, $nav, new GalleryIndex($pageSet));
                } else {
                    if (empty($context['scanData'])) {
                        $context['message'] = '<p>No importable galleries or pages found.</p>';
                    }
                }
            } catch (Exception $e) {
                Board::addExceptionMessage($e);
            }
        }
        $screen = new ImportScreen('Showkase &ndash; import', 'import', 'site import');
        print $screen->getHtml($context);
    }
}