install.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:11k
源码类别:

电子政务应用

开发平台:

Java

  1. <?php
  2. // +-------------------------------------------------------------+
  3. // | DeskPRO v [2.0.1 Production]
  4. // | Copyright (C) 2001 - 2004 Headstart Solutions Limited
  5. // | Supplied by WTN-WDYL
  6. // | Nullified by WTN-WDYL
  7. // | Distribution via WebForum, ForumRU and associated file dumps
  8. // +-------------------------------------------------------------+
  9. // | DESKPRO IS NOT FREE SOFTWARE
  10. // +-------------------------------------------------------------+
  11. // | License ID : Full Enterprise License =) ...
  12. // | License Owner : WTN-WDYL Team
  13. // +-------------------------------------------------------------+
  14. // | $RCSfile: install.php,v $
  15. // | $Date: 2004/02/10 01:34:25 $
  16. // | $Revision: 1.4 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Installation script for DeskPRO v2.0.0.
  20. // | *** READ THE INSTALLATION MANUAL BEFORE USING THIS FILE! ***
  21. // +-------------------------------------------------------------+
  22. error_reporting(E_ALL & ~E_NOTICE);
  23. ignore_user_abort(1);
  24. @set_time_limit(0);
  25. install_check();
  26. ////////////////////////// mySQL connection //////////////////////////
  27. if ($_REQUEST['step'] == 1) {
  28. /*
  29. 1. Assume config.php is correct and try and do a connection
  30. 2. If database exists it works
  31. 3. If database does not exist try and create it
  32. 4. Any problems, tell them to edit config.php!
  33. */
  34. do_message("Checking your mySQL connection");
  35. echo "<br /><br />";
  36. $connection = check_mysql_connection();
  37. // we have an error
  38. if ($connection[1]) {
  39. // the problem is from creating the database
  40. if ($connection[2]) {
  41. $create = create_database(DATABASE_NAME);
  42. if ($create[1]) {
  43. $error = "Your mySQL connection failed because the database you specified in config.php does not exist. DeskPRO attempted to create the database specified in config.php for you but was unable to. <br /><br /><i>$create[1]</i><br /><br />";
  44. } else {
  45. // we should have create the database, lets check the connection
  46. $connection = check_mysql_connection();
  47. if ($connection[1]) {
  48. $error = "DeskPRO was unable to connect to your mySQL server with the settings listed in config.php. DeskPRO attempted to create the database listed in config.php and your mySQL server reported this database creation a success however access to this database is still not possible. <br /><br /><i>$connection[1]</i><br /><br />";
  49. } else {
  50. // we created the database
  51. $notice = "DeskPRO automatically created the database " . DATABASE_NAME . " for you.<br /><br />";
  52. }
  53. }
  54. } else {
  55. $error = "<span class="cp_temp_edit">DeskPRO was unable to connect to your mySQL server with the settings listed in config.php.</span><br /><br /><ul><li><i>$connection[1]</i></li></ul>";
  56. }
  57. }
  58. if ($error) {
  59. echo "$error";
  60. echo "To correct this error please ensure that the settings inside /includes/config.php are correct. Please note that DeskPRO staff can <b>not</b> help you find these settings, you will need to contact your webhost. Once you have updated your config.php file you should refresh this page.";
  61. exit();
  62. }
  63. echo "$notice";
  64. echo "<span class="cp_temp_orig">Your mySQL connection was a success. DeskPRO is now ready to be installed.</span>";
  65. }
  66. ////////////////////////// Load database tables //////////////////////////
  67. if ($_REQUEST['step'] == 2) {
  68. do_message("Creating DeskPRO Tables");
  69. $db = new DB_Sql;
  70. $db->User=constant('DATABASE_USER');
  71. $db->Password=constant('DATABASE_PASSWORD');
  72. $db->Host=constant('DATABASE_HOST');
  73. $db->Database=constant('DATABASE_NAME');
  74. $db->connect();
  75. require('./v2data/tables.php');
  76. execute($queries);
  77. do_message_yes();
  78. }
  79. ////////////////////////// Load installation data //////////////////////////
  80. if ($_REQUEST['step'] == 3) {
  81. do_message("Loading Installation Data");
  82. $db = new DB_Sql;
  83. $db->User=constant('DATABASE_USER');
  84. $db->Password=constant('DATABASE_PASSWORD');
  85. $db->Host=constant('DATABASE_HOST');
  86. $db->Database=constant('DATABASE_NAME');
  87. $db->connect();
  88. load_data('install.sql');
  89. do_message_yes();
  90. }
  91. ////////////////////////// Load general data //////////////////////////
  92. if ($_REQUEST['step'] == 4) {
  93. do_message("Loading Default Data");
  94. $db = new DB_Sql;
  95. $db->User=constant('DATABASE_USER');
  96. $db->Password=constant('DATABASE_PASSWORD');
  97. $db->Host=constant('DATABASE_HOST');
  98. $db->Database=constant('DATABASE_NAME');
  99. $db->connect();
  100. load_data('data.sql');
  101. do_message_yes();
  102. }
  103. ////////////////////////// Load basic web templates //////////////////////////
  104. if ($_REQUEST['step'] == 5) {
  105. do_message("Loading web templates");
  106. $db = new DB_Sql;
  107. $db->User=constant('DATABASE_USER');
  108. $db->Password=constant('DATABASE_PASSWORD');
  109. $db->Host=constant('DATABASE_HOST');
  110. $db->Database=constant('DATABASE_NAME');
  111. $db->connect();
  112. sort_web_templates();
  113. do_message_yes();
  114. }
  115. ////////////////////////// Load email templates //////////////////////////
  116. if ($_REQUEST['step'] == 6) {
  117. do_message("Loading email templates");
  118. $db = new DB_Sql;
  119. $db->User=constant('DATABASE_USER');
  120. $db->Password=constant('DATABASE_PASSWORD');
  121. $db->Host=constant('DATABASE_HOST');
  122. $db->Database=constant('DATABASE_NAME');
  123. $db->connect();
  124. sort_email_templates();
  125. do_message_yes();
  126. }
  127. ////////////////////////// Load words //////////////////////////
  128. if ($_REQUEST['step'] == 7) {
  129. do_message("Loading words");
  130. $db = new DB_Sql;
  131. $db->User=constant('DATABASE_USER');
  132. $db->Password=constant('DATABASE_PASSWORD');
  133. $db->Host=constant('DATABASE_HOST');
  134. $db->Database=constant('DATABASE_NAME');
  135. $db->connect();
  136. sort_words();
  137. do_message_yes();
  138. }
  139. ////////////////////////// Load basic data //////////////////////////
  140. if ($_REQUEST['step'] == 8) {
  141. do_message("Loading settings");
  142. $db = new DB_Sql;
  143. $db->User=constant('DATABASE_USER');
  144. $db->Password=constant('DATABASE_PASSWORD');
  145. $db->Host=constant('DATABASE_HOST');
  146. $db->Database=constant('DATABASE_NAME');
  147. $db->connect();
  148. load_data('settings.sql');
  149. do_message_yes();
  150. }
  151. ////////////////////////// SETTINGS / ADMIN ACCOUNT //////////////////////////
  152. if ($_REQUEST['step'] == 9) {
  153. $db = new DB_Sql;
  154. $db->User=constant('DATABASE_USER');
  155. $db->Password=constant('DATABASE_PASSWORD');
  156. $db->Host=constant('DATABASE_HOST');
  157. $db->Database=constant('DATABASE_NAME');
  158. $db->connect();
  159. if ($_REQUEST['complete']) {
  160. if (!$_REQUEST['admin_password']) {
  161. $error .= '<li>You did not enter a password</li>';
  162. }
  163. if (!($_REQUEST['admin_password'] == $_REQUEST['admin_password2'])) {
  164. $error .= '<li>The two passwords do not match</li>';
  165. }
  166. if (!validate_email($_REQUEST['email'])) {
  167. $error .= '<li>You did not enter a valid email address</li>';
  168. }
  169. if (!$_REQUEST['username']) {
  170. $error .= '<li>You did not enter a username</li>';
  171. }
  172. if (!$error) {
  173. install_header('DeskPro v2.0 Installation Completed!');
  174. $adminpasscookie = substr(md5($_REQUEST['admin_password'].rand()), 0, 8);
  175. // create the tech
  176. $db->query("
  177. INSERT INTO tech SET 
  178. username = '" . mysql_escape_string($_REQUEST['username']) . "', 
  179. password = '" . mysql_escape_string($_REQUEST['admin_password']) . "', 
  180. password_cookie = '" . mysql_escape_string($adminpasscookie) . "',
  181. email = '" . mysql_escape_string($_REQUEST['email']) . "',
  182. is_admin = 1,
  183. fielddisplay = 1,
  184. cats_user = '',
  185. cats_admin = '',
  186.  p_close_ticket = 1,
  187.  p_tech_view = 1,
  188.  p_tech_edit = 1,
  189.  p_add_k = 1,
  190.  p_edit_k = 1,
  191.  p_delete_k = 1,
  192.  p_add_c_k = 1,
  193.  p_delete_c_k = 1,
  194.  p_edit_c_k = 1,
  195.  p_edit_users = 1,
  196.  p_delete_users = 1,
  197.  p_add_announcements = 1,
  198.  p_delete_announcements = 1,
  199.  p_create_users = 1,
  200.  p_edit_announcements = 1,
  201.  p_delete_other = 1,
  202.  p_delete_own = 1,
  203.  p_approve_new_registrations = 1,
  204.  p_user_expire = 1,
  205.  p_quickedit = 1,
  206.  p_global_note = 1,
  207.  p_html_tech = 1,
  208.  p_html_user = 1
  209. ");
  210. // pre fill any settings
  211. $settings['cookie_path'] = str_replace('/admin/install', '', strtolower(dirname($_SERVER['SCRIPT_NAME'])));
  212. foreach($settings AS $key => $val) {
  213. $db->query("
  214. UPDATE settings SET 
  215. value = '" . mysql_escape_string($_REQUEST[$key]) . "' 
  216. WHERE settings = '$key'
  217. ");
  218. }
  219. echo "<P><span class="cp_temp_orig">Congratulations! You've successfully completed the DeskPro v2.0 installation!</span><p>The installer script has finished preparing your DeskPro
  220. v2.0 installation. Before you can access the administration interface,
  221. you'll need to rename or delete the following file from the
  222. install/ directory on your server:
  223. <UL>
  224. <LI>/install/index.php</LI>
  225. </UL></P>";
  226. echo "<P>You should now start the DeskPRO configuration system. To continue, please <A HREF="./../admin/">Click Here</A>.</P>";
  227. _a();
  228. define('FINISHED', 1);
  229. exit();
  230. }
  231. }
  232. echo "<P>The final step is to create an administor account for use in DeskPRO. This will be the account that is used to control your DeskPRO setup. You will be able to create additional accounts from the admin interface at a later point.</P>";
  233. echo '<FORM METHOD="POST" ACTION="index.php" NAME="proceed">';
  234. echo '<INPUT TYPE="hidden" NAME="step" VALUE="9">';
  235. echo '<INPUT TYPE="hidden" NAME="complete" VALUE="1">';
  236. echo '<INPUT TYPE="hidden" NAME="do" VALUE="install">';
  237. if ($error) {
  238. echo "<P><B>One or more error(s) were found in the values you provided. Please adjust the highlighted fields and submit this form again.</B></P><ul>$error</ul>";
  239. }
  240. ?>
  241. <TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="2">
  242. <tr>
  243. <td>
  244. <b>Administrator Account Username</b><br />
  245. The username for this administrator.
  246. </td><td>
  247. <INPUT TYPE="input" value="<?php echo $_REQUEST['username']?>" NAME="username" SIZE="30" />
  248. </td></tr>
  249. <td>
  250. <b>Administrator Account Password</b><br />
  251. Specify the desired password for the default administrator account here.
  252. </td><td>
  253. <INPUT TYPE="password" NAME="admin_password" SIZE="30" />
  254. </td></tr><tr><td>
  255. <b>Administrator Account Password</b><br />
  256. Confirm the password you entered above.  
  257. </td><td>
  258. <INPUT TYPE="password" NAME="admin_password2" SIZE="30" />
  259. </td></tr><tr><td>
  260. <b>Administrator Account E-mail Address.</b><br />
  261. </td><td>
  262. <INPUT TYPE="input" value="<?php echo $_REQUEST['email']?>" NAME="email" SIZE="30" />
  263. </td></tr></table>
  264. <?php
  265. echo '<br /><center><INPUT TYPE="submit" NAME="ready" VALUE="&gt;&gt; Complete Installation &gt;&gt;"></P>';
  266. echo '</FORM>';
  267. exit();
  268. }