<?php 
/**
 * Система управления сайтом HostCMS v. 5.xx
 * Copyright © 2005-2010 ООО "Хостмэйк" (Hostmake LLC), http://www.hostcms.ru
 *
 * Модуль site.
 * 
 * Файл: /admin/site/site.php
 * 
 * @author Hostmake LLC
 * @version 5.x
 */
// Подключаем основные классы.
require_once('../../main_classes.php');

$admin = new Admin();

// Проверка авторизации пользователя.
$admin->admin_session_valid('Site');

$kernel = & singleton('kernel');

// Инсталляция всех модулей ядра.
$kernel->LoadModules(!isset($_REQUEST['JsHttpRequest']));

// Инициализация CURRENT_SITE и констант.
$admin->admin_init();

if (!isset($_REQUEST['JsHttpRequest']))
{
	do_html_header_admin($GLOBALS['MSG_site']['site_show_site_title_list']);
}

$admin_forms = & singleton('admin_forms');

$DateClass = new DateClass();

// Удаление файла изображения
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete_ico_file') 
{
	$site_id = to_int($_REQUEST['site_id']);
	
	// Получаем путь к файлу
	$fname = CMS_FOLDER . UPLOADDIR . 'favicon/site_' . $site_id . '.ico';
	
	if (is_file($fname)) 
	{
		@unlink($fname);
	}
	
	$JsHttpRequest = new JsHttpRequest('UTF-8');
	
	$GLOBALS['_RESULT'] = array(
	'result' => "
	<script>
		// Удаляем дочерние узлы
		deleteChildNodes('upload_big_site_ico_image');
	</script>");
	
	echo $JsHttpRequest->LOADER;
	exit();
}

// добавляем домен
if (isset($_REQUEST['add_domen'])|| isset($_REQUEST['save_domen']))
{
	ob_start();

	if (defined('READ_ONLY') && READ_ONLY)
	{
		$kernel->ReadMode();
	}
	else
	{
		include(CMS_FOLDER . 'admin/site/action/add_edit_domen.php');
	}

	$message = ob_get_clean();

	$JsHttpRequest = new JsHttpRequest('UTF-8');

	// При добавлении (не сохранении) - отправляем команду на загрузку
	if (isset($_REQUEST['add_domen']))
	{
		// Отображаем форму
		include(CMS_FOLDER.'admin/site/action/load_domen.php');
		$GLOBALS['_RESULT'] = $admin_forms->ShowForm(43, 'load_data');
		// Добавляем определенное выше сообщение
		$GLOBALS['_RESULT']['error'] = $message;
	}
	else
	{
		// Отправляем только сообщение о произведенных действиях
		$GLOBALS['_RESULT'] = array(
		'error' => $message,
		'form_html' => '',
		'title' => '');
	}

	echo $JsHttpRequest->LOADER;
	exit();
}

if (isset($_REQUEST['add_site_with_template']))
{
	ob_start();

	if (defined('READ_ONLY') && READ_ONLY)
	{
		$kernel->ReadMode();
	}
	else
	{
		include(CMS_FOLDER . 'admin/site/action/add_site_with_template_step2.php');
	}

	$content = ob_get_clean();

	$JsHttpRequest = new JsHttpRequest('UTF-8');

	// Отправляем только сообщение о произведенных действиях
	$GLOBALS['_RESULT'] = array(
	'error' => '',
	'form_html' => $content,
	'title' => '');

	echo $JsHttpRequest->LOADER;
	exit();
}

if (isset($_REQUEST['add_site_with_template_step2']))
{
	ob_start();

	if (defined('READ_ONLY') && READ_ONLY)
	{
		$kernel->ReadMode();
	}
	else
	{
		include(CMS_FOLDER . 'admin/site/action/add_site_with_template_step3.php');
	}

	$message = ob_get_clean();

	$JsHttpRequest = new JsHttpRequest('UTF-8');

	// Отображаем форму
	include(CMS_FOLDER . 'admin/site/action/load_site.php');
	$GLOBALS['_RESULT'] = $admin_forms->ShowForm(42, 'load_data');
	// Добавляем определенное выше сообщение
	$GLOBALS['_RESULT']['error'] = $message;
		
	echo $JsHttpRequest->LOADER;
	exit();
}

// добавляем сайт
if (isset($_REQUEST['add_site']) || isset($_REQUEST['save_site']))
{
	ob_start();

	if (defined('READ_ONLY') && READ_ONLY)
	{
		$kernel->ReadMode();
	}
	else
	{
		include(CMS_FOLDER . 'admin/site/action/add_edit_site.php');
	}

	$message = ob_get_clean();

	$JsHttpRequest = new JsHttpRequest('UTF-8');

	// При добавлении (не сохранении) - отправляем команду на загрузку
	if (isset($_REQUEST['add_site']))
	{
		// Отображаем форму
		include(CMS_FOLDER . 'admin/site/action/load_site.php');
		$GLOBALS['_RESULT'] = $admin_forms->ShowForm(42, 'load_data');
		// Добавляем определенное выше сообщение
		$GLOBALS['_RESULT']['error'] = $message;
	}
	else
	{
		// Отправляем только сообщение о произведенных действиях
		$GLOBALS['_RESULT'] = array(
		'error' => $message,
		'form_html' => '',
		'title' => '');
	}

	echo $JsHttpRequest->LOADER;
	exit();
}

// добавляем сайт
if (isset($_REQUEST['add_regdata']))
{
	ob_start();

	if (defined('READ_ONLY') && READ_ONLY)
	{
		$kernel->ReadMode();
	}
	else
	{
		include(CMS_FOLDER . 'admin/site/action/add_regdata.php');
	}

	$message = ob_get_clean();

	$JsHttpRequest = new JsHttpRequest('UTF-8');

	// При добавлении (не сохранении) - отправляем команду на загрузку
	if (isset($_REQUEST['add_regdata']))
	{
		// Отображаем форму
		include(CMS_FOLDER . 'admin/site/action/load_site.php');
		$GLOBALS['_RESULT'] = $admin_forms->ShowForm(42, 'load_data');
		// Добавляем определенное выше сообщение
		$GLOBALS['_RESULT']['error'] = $message;
	}
	else
	{
		// Отправляем только сообщение о произведенных действиях
		$GLOBALS['_RESULT'] = array(
		'error' => $message,
		'form_html' => '',
		'title' => '');
	}

	echo $JsHttpRequest->LOADER;
	exit();
}

// Отображение форм
switch (to_int($_REQUEST['admin_forms_id']))
{
	case 42:
	default:
		{
			// Список сайтов
			include(CMS_FOLDER . 'admin/site/action/load_site.php');
			$admin_forms->ProcessAjax(42);
			break;
		}
	case 43:
		{
			// Список доменов сайта
			include(CMS_FOLDER . 'admin/site/action/load_domen.php');
			$admin_forms->ProcessAjax(to_int($_REQUEST['admin_forms_id']));
			break;
		}
}

if (!isset($_REQUEST['JsHttpRequest']))
{
	do_html_footer_admin();
}
?>