File size: 4.01Kb
<?php
define('_IN_JOHNCMS', 1);
$headmod = 'lib';
$textl = 'Установка';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
switch($act)
{
default:
echo '<p>Добро пожаловать в Lib_For_JohnCMS_By_Gnom.<br />Перед началом инсталляции, настоятельно рекомендуем ознакомиться с инструкцией, в файле <a href="./install.txt">install.txt</a>.</p>';
echo '<p><a href="INSTALL.php?act=check">Начать установку</a></p>';
break;
case "check":
// Проверка прав доступа к файлам и папкам
function permissions($filez) {
$filez = @decoct(@fileperms("./$filez")) % 1000;
return $filez;
}
$cherr = "";
$err = FALSE;
// Проверка прав доступа к папкам
$arr = array("file/", "file/mas/");
foreach ($arr as $v)
{
if (permissions($v) < 777)
{
$cherr = $cherr . '<div class="gmenu"><span class="red">Ошибка!</span> - ' . $v . '<br /><span class="gray">Необходимо установить права доступа 777.</span></div>';
$err = 1;
} else
{
$cherr = $cherr . '<div class="gmenu"><span class="green">Oк</span> - ' . $v . '</div>';
}
}
echo '<div class="menu"><div class="tmenu">Права доступа</div>';
echo $cherr;
if(!$err)
{
echo '<span class="green">Отлично!</span><br />Все настройки правильные.<p><a href="INSTALL.php?act=ok">Продолжить установку</a></p>';
}
break;
case "ok":
// Читаем SQL файл и заносим его в базу данных
$query = fread(fopen('./install.sql', 'r'), filesize('./install.sql'));
$pieces = split_sql($query);
for ($i = 0; $i < count($pieces); $i++)
{
$pieces[$i] = trim($pieces[$i]);
if (!empty($pieces[$i]) && $pieces[$i] != "#")
{
if (!mysql_query($pieces[$i]))
{
$error = $error . mysql_error() . '<br />';
}
}
}
if (empty($error))
{
echo '<span class="green">Oк</span> - Таблицы созданы<br />';
echo "Поздравляем! Установка закончена.<br />Не забудьте:<br /> Удалить файлы INSTALL.php и install.sql с сайта.";
echo "<p><a href='./index.php'>Вход </a></p>";
} else
{
// Если были ошибки, выводим их
echo $error;
echo '<br /><span class="red">Error!</span><br />При создании таблиц возникла ошибка.<br />Продолжение невозможно.';
}
break;
}
function split_sql($sql)
{
$sql = trim($sql);
$sql = ereg_replace("\n#[^\n]*\n", "\n", $sql);
$buffer = array();
$ret = array();
$in_string = false;
for ($i = 0; $i < strlen($sql) - 1; $i++)
{
if ($sql[$i] == ";" && !$in_string)
{
$ret[] = substr($sql, 0, $i);
$sql = substr($sql, $i + 1);
$i = 0;
}
if ($in_string && ($sql[$i] == $in_string) && $buffer[1] != "\\")
{
$in_string = false;
} elseif (!$in_string && ($sql[$i] == '"' || $sql[$i] == "'") && (!isset($buffer[0]) || $buffer[0] != "\\"))
{
$in_string = $sql[$i];
}
if (isset($buffer[1]))
{
$buffer[0] = $buffer[1];
}
$buffer[1] = $sql[$i];
}
if (!empty($sql))
{
$ret[] = $sql;
}
return ($ret);
}
require_once ("../incfiles/end.php");
?>