<?php
/*
* @package LabCMS
* @copyright (c) 2006 Alexander Levin aka Loki (loki_angel@mail.ru)
* @support http://labcms.ru
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
	if (!function_exists('rmdir_recurse'))
	{
		function rmdir_recurse($file)
		{
			if (is_dir($file) && !is_link($file))
			{
				foreach(glob($file.'/*') as $sf)
				{
					if (!rmdir_recurse($sf)) return false;
				}
				return rmdir($file);
			}
			else
			{
				return unlink($file);
			}
		}
	}
	
	$success=true;
	if (!is_dir('./data')) mkdir('./data', 0777);
	if (is_dir('./kernel/configs/backup'))
	{
		if (!is_dir('./data/backup'))
			rename('./kernel/configs/backup', './data/backup');
		else
			moveAllFiles('./kernel/configs/backup', './data/backup');
	}
	if (is_dir('./kernel/configs/configs'))
	{
		if (!is_dir('./data/configs'))
			rename('./kernel/configs/configs', './data/configs');
		else
			moveAllFiles('./kernel/configs/configs', './data/configs');
	}
	if (!is_dir('./data/objects'))  @mkdir('./data/objects', 0777);
	if (file_exists('./kernel/configs/cms.ini')) rename('./kernel/configs/cms.ini', './data/cms.ini');
	if (file_exists('./kernel/configs/install.lock')) rename('./kernel/configs/install.lock', './data/install.lock');
	if (file_exists('./kernel/configs/session_reset.php')) rename('./kernel/configs/session_reset.php', './data/session_reset.php');
	if (is_dir('./kernel/configs')) rmdir_recurse('./kernel/configs');
	if (!is_dir('./data/cache'))  @mkdir('./data/cache', 0777);
	if (is_dir('./cache')) rmdir_recurse('./cache');
	if (!is_dir('./data/template_c'))  @mkdir('./data/template_c', 0777);
	if (is_dir('./template_c')) rmdir_recurse('./template_c');
	
	if (is_object($db))
	{
		Db::instance()->query('ALTER TABLE  ?_modules ADD  `system` TINYINT( 1 ) NOT NULL AFTER  `depends`');
		Db::instance()->query("UPDATE ?_modules SET `system`=1 WHERE module IN ('blocks_static')");
	}
	else
	{
		$cfg=file_get_contents('./data/configs/core.conf');
		$cfg=str_replace("url_type']='f", "url_type']='F", $cfg);
		file_put_contents('./data/configs/core.conf', $cfg);

		echo 'теперь строчку "include \'updates/2.5-3.0.php\';exit;" из index.php нужно убрать';
		exit;
	}
	
	
	function moveAllFiles($src, $dest)
	{
		$files=glob($src.'/*');
		array_walk($files, 'moveFile', array('src'=>$src, 'dest'=>$dest));
	}

	function moveFile($item, $key, $path)
	{
		rename($path['src'].'/'.basename($item), $path['dest'].'/'.basename($item));
	}
	