PageRenderTime 42ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/install/install_step3.php

https://code.google.com/
PHP | 144 lines | 129 code | 10 blank | 5 comment | 36 complexity | c630d406a02592d79fe26b9d4b09c16f MD5 | raw file
Possible License(s): AGPL-1.0, LGPL-2.1
  1. <?php
  2. /**
  3. * @package EDK
  4. */
  5. if(!$installrunning) {header('Location: index.php');die();}
  6. $stoppage = true;
  7. $pass_img = '../img/sta_alliance.png';
  8. $fail_img = '../img/sta_horrible.png';
  9. $amb_img = '../img/sta_bad.png';
  10. global $smarty;
  11. $smarty->assign('db_image', $fail_img);
  12. if (!empty($_POST['submit']) && $_POST['submit'] == 'Test')
  13. {
  14. $_SESSION['sql']['host'] = $_POST['host'];
  15. $_SESSION['sql']['user'] = $_POST['user'];
  16. $_SESSION['sql']['pass'] = $_POST['dbpass'];
  17. $_SESSION['sql']['db'] = $_POST['db'];
  18. $_SESSION['sql']['engine'] = $_POST['engine'];
  19. }
  20. if (empty($_SESSION['sql']['host']))
  21. {
  22. $host = 'localhost';
  23. }
  24. else $host = $_SESSION['sql']['host'];
  25. //check if we already have a config file
  26. if (file_exists('../kbconfig.php') && (empty($_POST['submit']) || $_POST['submit'] != 'Test'))
  27. {
  28. if (filesize('../kbconfig.php') > 0)
  29. {
  30. $smarty->assign('conf_exists', true);
  31. $smarty->assign('conf_image', $amb_img);
  32. include_once('../kbconfig.php');
  33. $_SESSION['sql'] = array();
  34. $_SESSION['sql']['host'] = DB_HOST;
  35. if($_SESSION['sql']['host'] != "DB_HOST")
  36. {
  37. $_SESSION['sql']['user'] = DB_USER;
  38. $_SESSION['sql']['pass'] = DB_PASS;
  39. $_SESSION['sql']['db'] = DB_NAME;
  40. $_SESSION['sql']['engine'] = "InnoDB";
  41. }
  42. else {
  43. clearConnectionStrings();
  44. $_SESSION['sql']['host'] = $host;
  45. $smarty->assign('conf_exists', false);
  46. }
  47. }
  48. else
  49. {
  50. clearConnectionStrings();
  51. }
  52. }
  53. if (empty($_SESSION['sql']['host']))
  54. $smarty->assign('db_host', $host);
  55. else $smarty->assign('db_host', $_SESSION['sql']['host']);
  56. $smarty->assign('db_user', $_SESSION['sql']['user']);
  57. $smarty->assign('db_pass', $_SESSION['sql']['pass']);
  58. $smarty->assign('db_db', $_SESSION['sql']['db']);
  59. $smarty->assign('db_engine', $_SESSION['sql']['engine']);
  60. if ($_SESSION['sql']['db'])
  61. {
  62. $db = @mysql_connect($_SESSION['sql']['host'], $_SESSION['sql']['user'], $_SESSION['sql']['pass']);
  63. $smarty->assign('test_db', is_resource($db));
  64. if (is_resource($db))
  65. {
  66. $result = mysql_query('SELECT VERSION() AS version');
  67. $result = mysql_fetch_assoc($result);
  68. $smarty->assign('test_sql', $result);
  69. if (!$result)
  70. {
  71. $stoppage = true;
  72. $smarty->assign('test_error', mysql_error());
  73. }
  74. else
  75. {
  76. $smarty->assign('test_version', $result['version']);
  77. $version_ok = $result['version'] >= "5";
  78. $smarty->assign("version_ok", $version_ok);
  79. if (!$version_ok)
  80. $stoppage = true;
  81. else
  82. {
  83. $smarty->assign('test_select', mysql_select_db($_SESSION['sql']['db']));
  84. if (mysql_select_db($_SESSION['sql']['db']))
  85. {
  86. $stoppage = false;
  87. $smarty->assign('db_image', $pass_img);
  88. //InnoDB check
  89. if ($stoppage == false && $_SESSION['sql']['engine'] == 'InnoDB')
  90. {
  91. $smarty->assign('test_inno', true);
  92. $stoppage = true;
  93. $result = mysql_query('SHOW ENGINES;');
  94. while (($row = mysql_fetch_row($result)) && $stoppage == true){
  95. if ($row[0] == 'InnoDB'){
  96. if ($row[1] == 'YES' || $row[1] == 'DEFAULT'){ // (YES / NO / DEFAULT)
  97. $stoppage = false;
  98. }
  99. }
  100. }
  101. if ($stoppage){
  102. $smarty->assign('db_image', $fail_img);
  103. $smarty->assign('test_error_inno', true);
  104. }
  105. }
  106. }
  107. else
  108. {
  109. $smarty->assign('test_error', mysql_error());
  110. }
  111. }
  112. }
  113. }
  114. else
  115. {
  116. $smarty->assign('test_error', mysql_error());
  117. }
  118. }
  119. $smarty->assign('stoppage', $stoppage);
  120. $smarty->assign('nextstep', $_SESSION['state']+1);
  121. $smarty->display('install_step3.tpl');
  122. function clearConnectionStrings()
  123. {
  124. if(!isset($_SESSION['sql']['db']))
  125. {
  126. $_SESSION['sql'] = array();
  127. $_SESSION['sql']['host'] = '';
  128. $_SESSION['sql']['user'] = '';
  129. $_SESSION['sql']['pass'] = '';
  130. $_SESSION['sql']['db'] = '';
  131. $_SESSION['sql']['engine'] = '';
  132. }
  133. }
  134. ?>