<?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::i())) {
	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));
}
