<?php

//
// Bootstrap
//
require realpath(__DIR__ . '/../app/bootstrap.php');

$objectManager = \Stonehenge\Framework\App\ObjectManager::getInstance();
$app = $objectManager->create('Stonehenge\Framework\App');

if (!array_key_exists('action', $_REQUEST)) {
    $app->run();
} else {

    $config = $app->getConfig()->getConfig();
    if ($config['mode'] !== 'development') {
        header('HTTP/1.0 403 Forbidden');
        die('Forbidden');
    }

    if ($_REQUEST['action'] === 'enable_editor') {
        setcookie('editor_enabled', 'true');
        var_dump('OK! ');
        die();
    }

    if ($_REQUEST['action'] === 'disable_editor') {
        setcookie('editor_enabled', 'false');
        var_dump('OK! ');
        die();
    }

    // Check editor mode
    if (!$app->isAdmin()) {
        header('HTTP/1.0 403 Forbidden');
        die('Forbidden');
    }

    $filename = $_REQUEST['filename'];
    $count = array_key_exists('count', $_REQUEST) ? $_REQUEST['count'] : 1;
    $pathInfo = pathinfo($filename);
    $dirName = $pathInfo['dirname'];
    $galleryDir = substr($dirName, strlen(PUB . 'images/'));
    // $gallery = Gallery::getInstance($galleryDir);

    $gallery = $objectManager->create('Stonehenge\Gallery\Admin\PhotoGalleryFactory')->create()->setBaseDir($galleryDir);

    var_dump($_REQUEST);
    var_dump($pathInfo);
    var_dump($dirName);
    var_dump($galleryDir);

    switch ($_REQUEST['action']) {
        case 'append':

            $position = $gallery->getFirstAvailableFreePosition();
            $newFilename = $dirName . '/' . $position . ' - ' . str_replace( '-Enhanced-NR', '', $pathInfo['basename']);

            var_dump($newFilename);
            rename($filename, $newFilename);

            break;

        case 'up':
            $gallery->movePosition($filename, $count, 'up');
            break;

        case 'down':
            $gallery->movePosition($filename, $count, 'down');
            break;
        case 'disable':
            $gallery->disable($filename)->renumberPositions();
            break;
        case 'renumber':
            $gallery->renumberPositions();
            break;
    }
}
