Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.99 KB | None | 0 0
  1. <?php
  2.  
  3. ##############################################################################
  4. # * #
  5. # * XG PROYECT #
  6. # * #
  7. # * @copyright Copyright (C) 2008 - 2009 By lucky from Xtreme-gameZ.com.ar #
  8. # * #
  9. # * #
  10. # * This program is free software: you can redistribute it and/or modify #
  11. # * it under the terms of the GNU General Public License as published by #
  12. # * the Free Software Foundation, either version 3 of the License, or #
  13. # * (at your option) any later version. #
  14. # * #
  15. # * This program is distributed in the hope that it will be useful, #
  16. # * but WITHOUT ANY WARRANTY; without even the implied warranty of #
  17. # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
  18. # * GNU General Public License for more details. #
  19. # * #
  20. ##############################################################################
  21.  
  22. define('INSIDE' , true);
  23. define('INSTALL' , true);
  24.  
  25. $xgp_root = './../';
  26. include($xgp_root . 'extension.inc.php');
  27. include($xgp_root . 'common.'.$phpEx);
  28. include_once('databaseinfos.'.$phpEx);
  29.  
  30. $Mode = $_GET['mode'];
  31. $Page = $_GET['page'];
  32. $phpself = $_SERVER['PHP_SELF'];
  33. $nextpage = $Page + 1;
  34.  
  35. if(version_compare(PHP_VERSION, "5.1.0", "<"))
  36. die("Error! Your server must use PHP 5.1.0 or higher");
  37.  
  38. if (empty($Mode)) { $Mode = 'intro'; }
  39. if (empty($Page)) { $Page = 1; }
  40.  
  41. switch ($Mode) {
  42. case'license':
  43. $frame = parsetemplate(gettemplate('install/ins_license'), false);
  44. break;
  45. case 'intro':
  46. $frame = parsetemplate(gettemplate('install/ins_intro'), false);
  47. break;
  48. case 'ins':
  49. if ($Page == 1) {
  50. if ($_GET['error'] == 1) {
  51. message ("Connection to the database failed!","?mode=ins&page=1", 3, false, false);
  52. }
  53. elseif ($_GET['error'] == 2) {
  54. message ("The config.php file is not writable, please set to CHMOD 777 to continue!","?mode=ins&page=1", 3, false, false);
  55. }
  56.  
  57. $frame = parsetemplate ( gettemplate ('install/ins_form'), false);
  58. }
  59. elseif ($Page == 2) {
  60. $host = $_POST['host'];
  61. $user = $_POST['user'];
  62. $pass = $_POST['passwort'];
  63. $prefix = $_POST['prefix'];
  64. $db = $_POST['db'];
  65.  
  66. $connection = @mysql_connect($host, $user, $pass);
  67. if (!$connection) {
  68. header("Location: ?mode=ins&page=1&error=1");
  69. exit();
  70. }
  71.  
  72. $dbselect = @mysql_select_db($db);
  73. if (!$dbselect) {
  74. header("Location: ?mode=ins&page=1&error=1");
  75. exit();
  76. }
  77.  
  78. $numcookie = mt_rand(1000, 1234567890);
  79. $dz = fopen("../config.php", "w");
  80. if (!$dz)
  81. {
  82. header("Location: ?mode=ins&page=1&error=2");
  83. exit();
  84. }
  85.  
  86. $parse[first] = "Connection established successfully...";
  87.  
  88. fwrite($dz, "<?php\n");
  89. fwrite($dz, "if(!defined(\"INSIDE\")){ header(\"location:".$xgp_root."\"); }\n");
  90. fwrite($dz, "\$dbsettings = Array(\n");
  91. fwrite($dz, "\"server\" => \"".$host."\", // MySQL server name.\n");
  92. fwrite($dz, "\"user\" => \"".$user."\", // MySQL username.\n");
  93. fwrite($dz, "\"pass\" => \"".$pass."\", // MySQL password.\n");
  94. fwrite($dz, "\"name\" => \"".$db."\", // MySQL database name.\n");
  95. fwrite($dz, "\"prefix\" => \"".$prefix."\", // Tables prefix.\n");
  96. fwrite($dz, "\"secretword\" => \"XGProyect".$numcookie."\"); // Cookies.\n");
  97. fwrite($dz, "?>");
  98. fclose($dz);
  99.  
  100. $parse[second] = "Config.php successfully created...";
  101.  
  102. doquery ($QryTableAks , 'aks' );
  103. doquery ($QryTableAlliance , 'alliance' );
  104. doquery ($QryTableBanned , 'banned' );
  105. doquery ($QryTableBuddy , 'buddy' );
  106. doquery ($QryTableConfig , 'config' );
  107. doquery ($QryInsertConfig , 'config' );
  108. doquery ($QryTableErrors , 'errors' );
  109. doquery ($QryTableFleets , 'fleets' );
  110. doquery ($QryTableGalaxy , 'galaxy' );
  111. doquery ($QryTableLunas , 'lunas' );
  112. doquery ($QryTableMessages , 'messages' );
  113. doquery ($QryTableNotes , 'notes' );
  114. doquery ($QryTablePlanets , 'planets' );
  115. doquery ($QryTableRw , 'rw' );
  116. doquery ($QryTableStatPoints , 'statpoints' );
  117. doquery ($QryTableUsers , 'users' );
  118.  
  119. $parse[third] = "Tables created successfully...";
  120.  
  121. $frame = parsetemplate(gettemplate('install/ins_form_done'), $parse);
  122. }
  123. elseif ($Page == 3)
  124. {
  125. if ($_GET['error'] == 3)
  126. message ("You must complete all fields!","?mode=ins&page=3", 2, false, false);
  127.  
  128. $frame = parsetemplate(gettemplate('install/ins_acc'), false);
  129. }
  130. elseif ($Page == 4)
  131. {
  132. $adm_user = $_POST['adm_user'];
  133. $adm_pass = $_POST['adm_pass'];
  134. $adm_email = $_POST['adm_email'];
  135. $md5pass = md5($adm_pass);
  136.  
  137. if (!$_POST['adm_user'])
  138. {
  139. header("Location: ?mode=ins&page=3&error=3");
  140. exit();
  141. }
  142. if (!$_POST['adm_pass'])
  143. {
  144. header("Location: ?mode=ins&page=3&error=3");
  145. exit();
  146. }
  147. if (!$_POST['adm_email'])
  148. {
  149. header("Location: ?mode=ins&page=3&error=3");
  150. exit();
  151. }
  152.  
  153. $QryInsertAdm = "INSERT INTO {{table}} SET ";
  154. $QryInsertAdm .= "`id` = '1', ";
  155. $QryInsertAdm .= "`username` = '". $adm_user ."', ";
  156. $QryInsertAdm .= "`email` = '". $adm_email ."', ";
  157. $QryInsertAdm .= "`email_2` = '". $adm_email ."', ";
  158. $QryInsertAdm .= "`authlevel` = '3', ";
  159. $QryInsertAdm .= "`id_planet` = '1', ";
  160. $QryInsertAdm .= "`galaxy` = '1', ";
  161. $QryInsertAdm .= "`system` = '1', ";
  162. $QryInsertAdm .= "`planet` = '1', ";
  163. $QryInsertAdm .= "`current_planet` = '1', ";
  164. $QryInsertAdm .= "`register_time` = '". time() ."', ";
  165. $QryInsertAdm .= "`password` = '". $md5pass ."';";
  166. doquery($QryInsertAdm, 'users');
  167.  
  168. $QryAddAdmPlt = "INSERT INTO {{table}} SET ";
  169. $QryAddAdmPlt .= "`id_owner` = '1', ";
  170. $QryAddAdmPlt .= "`galaxy` = '1', ";
  171. $QryAddAdmPlt .= "`system` = '1', ";
  172. $QryAddAdmPlt .= "`planet` = '1', ";
  173. $QryAddAdmPlt .= "`last_update` = '". time() ."', ";
  174. $QryAddAdmPlt .= "`planet_type` = '1', ";
  175. $QryAddAdmPlt .= "`image` = 'normaltempplanet02', ";
  176. $QryAddAdmPlt .= "`diameter` = '12750', ";
  177. $QryAddAdmPlt .= "`field_max` = '163', ";
  178. $QryAddAdmPlt .= "`temp_min` = '47', ";
  179. $QryAddAdmPlt .= "`temp_max` = '87', ";
  180. $QryAddAdmPlt .= "`metal` = '500', ";
  181. $QryAddAdmPlt .= "`metal_perhour` = '0', ";
  182. $QryAddAdmPlt .= "`metal_max` = '1000000', ";
  183. $QryAddAdmPlt .= "`crystal` = '500', ";
  184. $QryAddAdmPlt .= "`crystal_perhour` = '0', ";
  185. $QryAddAdmPlt .= "`crystal_max` = '1000000', ";
  186. $QryAddAdmPlt .= "`deuterium` = '500', ";
  187. $QryAddAdmPlt .= "`deuterium_perhour` = '0', ";
  188. $QryAddAdmPlt .= "`deuterium_max` = '1000000';";
  189. doquery($QryAddAdmPlt, 'planets');
  190.  
  191. $QryAddAdmGlx = "INSERT INTO {{table}} SET ";
  192. $QryAddAdmGlx .= "`galaxy` = '1', ";
  193. $QryAddAdmGlx .= "`system` = '1', ";
  194. $QryAddAdmGlx .= "`planet` = '1', ";
  195. $QryAddAdmGlx .= "`id_planet` = '1'; ";
  196. doquery($QryAddAdmGlx, 'galaxy');
  197.  
  198. doquery("UPDATE {{table}} SET `config_value` = '1' WHERE `config_name` = 'LastSettedGalaxyPos';", 'config');
  199. doquery("UPDATE {{table}} SET `config_value` = '1' WHERE `config_name` = 'LastSettedSystemPos';", 'config');
  200. doquery("UPDATE {{table}} SET `config_value` = '1' WHERE `config_name` = 'LastSettedPlanetPos';", 'config');
  201. doquery("UPDATE {{table}} SET `config_value` = `config_value` + '1' WHERE `config_name` = 'users_amount' LIMIT 1;", 'config');
  202.  
  203. $frame = parsetemplate(gettemplate('install/ins_acc_done'), $parse);
  204. }
  205. break;
  206. case'upgrade':
  207. if ($_POST)
  208. {
  209. $conexion = mysql_connect($_POST[servidor], $_POST[usuario], $_POST[clave])
  210. or die ('<font color=red><strong>Error in connecting to the database. It is likely that database name, username or password are incorrect. Or MySQL may not be configured properly.</strong></font>');
  211. @mysql_select_db($_POST[base],$conexion)
  212. or die ('<font color=red><strong>Error in connecting to the database. Either the database does not exist or you have entered incorrect information.</strong></font>');
  213.  
  214. if ($_POST[continuar] && (empty($_POST[modo]) or empty($_POST[servidor]) or empty($_POST[usuario]) or empty($_POST[clave]) or empty($_POST[base]) or empty($_POST[prefix])))
  215. {
  216. message("You must accept the Terms and Conditions, and fill in all fields<br><a href=\"./index.php\">Back</a>","", "", false, false);
  217. }
  218. else
  219. {
  220. if(filesize('../config.php') == 0)
  221. {
  222. die(message("Error! Your config.php file is enpty or not configured. Please check CHMOD is 777.","", "", false, false));
  223. }
  224. else
  225. {
  226. include_once("../config.php");
  227.  
  228. if($_POST[prefix] != $dbsettings["prefix"])
  229. {
  230. die(message("Error! The prefix selected (<font color=\"red\"><strong>".$_POST[prefix]."</strong></font>) does not match the database!","", "", false, false));
  231. }
  232. }
  233.  
  234. // ALL QUERYS NEEDED
  235.  
  236. $Qry1 = "ALTER TABLE `$_POST[prefix]users`
  237. DROP `new_message`,
  238. DROP `raids`,
  239. DROP `p_infligees`,
  240. DROP `mnl_alliance`,
  241. DROP `mnl_joueur`,
  242. DROP `mnl_attaque`,
  243. DROP `mnl_spy`,
  244. DROP `mnl_exploit`,
  245. DROP `mnl_transport`,
  246. DROP `mnl_expedition`,
  247. DROP `mnl_general`,
  248. DROP `mnl_buildlist`,
  249. DROP `multi_validated`;";
  250.  
  251. $Qry2 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'urlaubs_modus_erz' AND CONVERT(`$_POST[prefix]config`.`config_value` USING utf8) = '1' LIMIT 1;";
  252. $Qry3 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'enable_bbcode' AND CONVERT(`$_POST[prefix]config`.`config_value` USING utf8) = '1' LIMIT 1;";
  253. $Qry4 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'enable_bbcode' AND CONVERT(`$_POST[prefix]config`.`config_value` USING utf8) = '0' LIMIT 1;";
  254. $Qry5 = "ALTER TABLE `$_POST[prefix]users` DROP `lvl_minier`, DROP `lvl_raid`, DROP `xpraid`, DROP `xpminier`;";
  255. $Qry6 = "INSERT INTO `$_POST[prefix]config` (`config_name`, `config_value`) VALUES ('adm_attack', '0');";
  256. $Qry7 = "INSERT INTO `$_POST[prefix]config` (`config_name`, `config_value`) VALUES ('stat', '1');";
  257. $Qry8 = "ALTER TABLE `$_POST[prefix]users` DROP `lang`;";
  258. $Qry9 = "INSERT INTO `$_POST[prefix]config` (`config_name` ,`config_value`)VALUES ('lang', 'spanish');";
  259. $Qry10 = "ALTER TABLE `$_POST[prefix]users` ADD `new_message` INT( 11 ) NOT NULL DEFAULT '0' AFTER `db_deaktjava` ;";
  260. $Qry11 = "ALTER TABLE `$_POST[prefix]messages` DROP `leido`";
  261. $Qry12 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'stat_level' LIMIT 1;";
  262. $Qry13 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'stat' LIMIT 1;";
  263. $Qry14 = "INSERT INTO `$_POST[prefix]config` (`config_name`, `config_value`) VALUES
  264. ('stat', 1),
  265. ('stat_level', 2),
  266. ('stat_last_update', 1),
  267. ('stat_settings', 1000),
  268. ('stat_amount', 25),
  269. ('stat_update_time', 15),
  270. ('stat_flying', 1);";
  271. $Qry15 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'actualizar_puntos' LIMIT 1;";
  272. $Qry16 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'OverviewNewsFrame' LIMIT 1;";
  273. $Qry17 = "DELETE FROM `$_POST[prefix]config` WHERE CONVERT(`$_POST[prefix]config`.`config_name` USING utf8) = 'OverviewNewsText' LIMIT 1;";
  274. $Qry18 = "DELETE FROM `$_POST[prefix]config` WHERE `config_name` = 'VERSION'";
  275. $Qry19 = "INSERT INTO `$_POST[prefix]config` (`config_name`, `config_value`) VALUES ('VERSION', '2.8');";
  276. $Qry20 = "ALTER TABLE `$_POST[prefix]rw` ADD `owners` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0';";
  277. $Qry21 = "ALTER TABLE `$_POST[prefix]fleets` CHANGE `fleet_group` `fleet_group` VARCHAR( 15 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' ;";
  278. $Qry22 = "ALTER TABLE `$_POST[prefix]aks` ADD `planet_type` TINYINT( 1 ) NOT NULL DEFAULT '1' AFTER `planet` ;";
  279. $Qry23 = "ALTER TABLE `$_POST[prefix]aks` CHANGE `eingeladen` `eingeladen` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL";
  280. $Qry24 = "ALTER TABLE `$_POST[prefix]rw` ADD `id_owner1` INT( 11 ) NOT NULL FIRST , ADD `id_owner2` INT( 11 ) NOT NULL AFTER `id_owner1` ";
  281. $Qry25 = "ALTER TABLE `$_POST[prefix]users` CHANGE `db_deaktjava` `db_deaktjava` BIGINT( 19 ) NOT NULL DEFAULT '0'";
  282. $Qry26 = "ALTER TABLE `$_POST[prefix]statpoints`
  283. CHANGE `id_owner` `id_owner` INT(11) NOT NULL DEFAULT '0',
  284. CHANGE `id_ally` `id_ally` INT(11) NOT NULL DEFAULT '0',
  285. CHANGE `stat_type` `stat_type` INT(2) NOT NULL DEFAULT '0',
  286. CHANGE `stat_code` `stat_code` INT(11) NOT NULL DEFAULT '0',
  287. CHANGE `tech_rank` `tech_rank` INT(11) NOT NULL DEFAULT '0',
  288. CHANGE `tech_old_rank` `tech_old_rank` INT(11) NOT NULL DEFAULT '0',
  289. CHANGE `tech_points` `tech_points` BIGINT(20) NOT NULL DEFAULT '0',
  290. CHANGE `tech_count` `tech_count` INT(11) NOT NULL DEFAULT '0',
  291. CHANGE `build_rank` `build_rank` INT(11) NOT NULL DEFAULT '0',
  292. CHANGE `build_old_rank` `build_old_rank` INT(11) NOT NULL DEFAULT '0',
  293. CHANGE `build_points` `build_points` BIGINT(20) NOT NULL DEFAULT '0',
  294. CHANGE `build_count` `build_count` INT(11) NOT NULL DEFAULT '0',
  295. CHANGE `defs_rank` `defs_rank` INT(11) NOT NULL DEFAULT '0',
  296. CHANGE `defs_old_rank` `defs_old_rank` INT(11) NOT NULL DEFAULT '0',
  297. CHANGE `defs_points` `defs_points` BIGINT(20) NOT NULL DEFAULT '0',
  298. CHANGE `defs_count` `defs_count` INT(11) NOT NULL DEFAULT '0',
  299. CHANGE `fleet_rank` `fleet_rank` INT(11) NOT NULL DEFAULT '0',
  300. CHANGE `fleet_old_rank` `fleet_old_rank` INT(11) NOT NULL DEFAULT '0',
  301. CHANGE `fleet_points` `fleet_points` BIGINT(20) NOT NULL DEFAULT '0',
  302. CHANGE `fleet_count` `fleet_count` INT(11) NOT NULL DEFAULT '0',
  303. CHANGE `total_rank` `total_rank` INT(11) NOT NULL DEFAULT '0',
  304. CHANGE `total_old_rank` `total_old_rank` INT(11) NOT NULL DEFAULT '0',
  305. CHANGE `total_points` `total_points` BIGINT(20) NOT NULL DEFAULT '0',
  306. CHANGE `total_count` `total_count` INT(11) NOT NULL DEFAULT '0',
  307. CHANGE `stat_date` `stat_date` INT(11) NOT NULL DEFAULT '0'";
  308. $Qry27 = "ALTER TABLE `$_POST[prefix]messages` CHANGE `message_subject` `message_subject` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL";
  309.  
  310. switch($_POST[modo])
  311. {
  312. case'2.3':
  313. $QrysArray = array($Qry1, $Qry2, $Qry3, $Qry4, $Qry5, $Qry6, $Qry7, $Qry8, $Qry9, $Qry10, $Qry11, $Qry12, $Qry13,
  314. $Qry14, $Qry15, $Qry16, $Qry17, $Qry18, $Qry19, $Qry20, $Qry21, $Qry22, $Qry23, $Qry25, $Qry26, $Qry27);
  315.  
  316. foreach ( $QrysArray as $DoQuery)
  317. {
  318. mysql_query($DoQuery);
  319. }
  320. break;
  321. case'2.4':
  322. $QrysArray = array($Qry3, $Qry4, $Qry5, $Qry6, $Qry7, $Qry8, $Qry9, $Qry10, $Qry11, $Qry12, $Qry13,
  323. $Qry14, $Qry15, $Qry16, $Qry17, $Qry18, $Qry19, $Qry20, $Qry21, $Qry22, $Qry23, $Qry25, $Qry26, $Qry27);
  324.  
  325. foreach ( $QrysArray as $DoQuery)
  326. {
  327. mysql_query($DoQuery);
  328. }
  329. break;
  330. case'2.5':
  331. $QrysArray = array($Qry16, $Qry17, $Qry18, $Qry19, $Qry20, $Qry21, $Qry22, $Qry23, $Qry25, $Qry26,$Qry27);
  332.  
  333. foreach ( $QrysArray as $DoQuery)
  334. {
  335. mysql_query($DoQuery);
  336. }
  337. break;
  338. case( ( $_POST[modo] == '2.6' ) or ( $_POST[modo] == '2.7' ) ):
  339. $QrysArray = array($Qry18, $Qry19, $Qry20, $Qry21, $Qry22, $Qry23, $Qry25, $Qry26, $Qry27);
  340.  
  341. foreach ( $QrysArray as $DoQuery)
  342. {
  343. mysql_query($DoQuery);
  344. }
  345. break;
  346. case'2.8':
  347. $QrysArray = array($Qry18, $Qry19, $Qry20, $Qry21, $Qry22, $Qry23, $Qry24, $Qry25, $Qry26, $Qry27);
  348.  
  349. foreach ( $QrysArray as $DoQuery)
  350. {
  351. mysql_query($DoQuery);
  352. }
  353. break;
  354. }
  355. message("XNova [Pegasus] Project was successfully installed. Please delete or rename the install directory, and then <a href=\"./../\">click Here!</a>", "", "", false, false);
  356. }
  357. }
  358. else
  359. $frame = parsetemplate(gettemplate('install/ins_update'), false);
  360. break;
  361. default:
  362. }
  363. $parse['ins_state'] = $Page;
  364. $parse['ins_page'] = $frame;
  365. $parse['dis_ins_btn'] = "?mode=$Mode&page=$nextpage";
  366. display (parsetemplate (gettemplate('install/ins_body'), $parse), false, '', true, false);
  367. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement