<?php

$startTime = microtime(true);

$fileDir = dirname(__FILE__);
if (file_exists($fileDir . '/301config.php'))
{
	include($fileDir . '/301config.php');
}

require($fileDir . '/library/XenForo/Autoloader.php');
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');

XenForo_Application::initialize($fileDir . '/library', $fileDir);
XenForo_Application::set('page_start_time', $startTime);

$dependencies = new XenForo_Dependencies_Public();
$dependencies->preLoadData();

$inputHandler = new XenForo_Input(new Zend_Controller_Request_Http());

$input = $inputHandler->filter(array(
	'c' => XenForo_Input::UINT,
	'userid' => XenForo_Input::UINT
));

/** @var $importModel XenGallery_Model_Importers */
$importModel = XenForo_Model::create('XenGallery_Model_Importers');
$logTable = (defined('IMPORT_LOG_TABLE') ? IMPORT_LOG_TABLE : 'xf_import_log');

$target = false;
if ($input['c'] && $input['userid'])
{
	$memberCat = array(
		'c' => $input['c'],
		'u' => $input['userid']
	);
	$memberAlbumId = $importModel->getImportContentMap('xengallery_album', serialize($memberCat), $logTable);
	if (!$memberAlbumId)
	{
		$username = $importModel->getUsernameByUserId($memberCat['u']);

		$titlePhrase = new XenForo_Phrase('xengallery_member_album_by_x', array('name' => $username));
		$albumTitle = $titlePhrase->render();

		$album = $importModel->getAlbumByTitle($albumTitle);
		if ($album)
		{
			$memberAlbumId = array($album['album_id']);
		}
	}
	if ($memberAlbumId)
	{
		$target = XenForo_Link::buildPublicLink('canonical:xengallery/albums', array('album_id' => reset($memberAlbumId)));
	}
}
elseif ($input['c'])
{
	if ($newId = $importModel->getImportContentMap('xengallery_album', $input['c'], $logTable))
	{
		$target = XenForo_Link::buildPublicLink('canonical:xengallery/albums', array('album_id' => reset($newId)));
	}
}

if (!$target)
{
	$target = XenForo_Link::buildPublicLink('canonical:xengallery');
}

$response = new Zend_Controller_Response_Http();
$response->setRedirect(XenForo_Link::convertUriToAbsoluteUri($target), 301);
$response->sendResponse();