Просмотр файла INSTALL.php

Размер файла: 4.01Kb
  1. <?php
  2. define('_IN_JOHNCMS', 1);
  3.  
  4. $headmod = 'lib';
  5. $textl = 'Установка';
  6. require_once ("../incfiles/core.php");
  7. require_once ("../incfiles/head.php");
  8.  
  9. switch($act)
  10. {
  11. default:
  12. echo '<p>Добро пожаловать в Lib_For_JohnCMS_By_Gnom.<br />Перед началом инсталляции, настоятельно рекомендуем ознакомиться с инструкцией, в файле <a href="./install.txt">install.txt</a>.</p>';
  13. echo '<p><a href="INSTALL.php?act=check">Начать установку</a></p>';
  14. break;
  15. case "check":
  16. // Проверка прав доступа к файлам и папкам
  17. function permissions($filez) {
  18. $filez = @decoct(@fileperms("./$filez")) % 1000;
  19. return $filez;
  20. }
  21. $cherr = "";
  22. $err = FALSE;
  23.  
  24. // Проверка прав доступа к папкам
  25. $arr = array("file/", "file/mas/");
  26. foreach ($arr as $v)
  27. {
  28. if (permissions($v) < 777)
  29. {
  30. $cherr = $cherr . '<div class="gmenu"><span class="red">Ошибка!</span> - ' . $v . '<br /><span class="gray">Необходимо установить права доступа 777.</span></div>';
  31. $err = 1;
  32. } else
  33. {
  34. $cherr = $cherr . '<div class="gmenu"><span class="green">Oк</span> - ' . $v . '</div>';
  35. }
  36. }
  37. echo '<div class="menu"><div class="tmenu">Права доступа</div>';
  38. echo $cherr;
  39. if(!$err)
  40. {
  41. echo '<span class="green">Отлично!</span><br />Все настройки правильные.<p><a href="INSTALL.php?act=ok">Продолжить установку</a></p>';
  42. }
  43. break;
  44. case "ok":
  45. // Читаем SQL файл и заносим его в базу данных
  46. $query = fread(fopen('./install.sql', 'r'), filesize('./install.sql'));
  47. $pieces = split_sql($query);
  48. for ($i = 0; $i < count($pieces); $i++)
  49. {
  50. $pieces[$i] = trim($pieces[$i]);
  51. if (!empty($pieces[$i]) && $pieces[$i] != "#")
  52. {
  53. if (!mysql_query($pieces[$i]))
  54. {
  55. $error = $error . mysql_error() . '<br />';
  56. }
  57. }
  58. }
  59. if (empty($error))
  60. {
  61. echo '<span class="green">Oк</span> - Таблицы созданы<br />';
  62.  
  63. echo "Поздравляем! Установка закончена.<br />Не забудьте:<br /> Удалить файлы INSTALL.php и install.sql с сайта.";
  64. echo "<p><a href='./index.php'>Вход </a></p>";
  65. } else
  66. {
  67. // Если были ошибки, выводим их
  68. echo $error;
  69. echo '<br /><span class="red">Error!</span><br />При создании таблиц возникла ошибка.<br />Продолжение невозможно.';
  70. }
  71. break;
  72. }
  73. function split_sql($sql)
  74. {
  75. $sql = trim($sql);
  76. $sql = ereg_replace("\n#[^\n]*\n", "\n", $sql);
  77. $buffer = array();
  78. $ret = array();
  79. $in_string = false;
  80. for ($i = 0; $i < strlen($sql) - 1; $i++)
  81. {
  82. if ($sql[$i] == ";" && !$in_string)
  83. {
  84. $ret[] = substr($sql, 0, $i);
  85. $sql = substr($sql, $i + 1);
  86. $i = 0;
  87. }
  88. if ($in_string && ($sql[$i] == $in_string) && $buffer[1] != "\\")
  89. {
  90. $in_string = false;
  91. } elseif (!$in_string && ($sql[$i] == '"' || $sql[$i] == "'") && (!isset($buffer[0]) || $buffer[0] != "\\"))
  92. {
  93. $in_string = $sql[$i];
  94. }
  95. if (isset($buffer[1]))
  96. {
  97. $buffer[0] = $buffer[1];
  98. }
  99. $buffer[1] = $sql[$i];
  100. }
  101. if (!empty($sql))
  102. {
  103. $ret[] = $sql;
  104. }
  105. return ($ret);
  106. }
  107. require_once ("../incfiles/end.php");
  108. ?>