PageRenderTime 51ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/includes/pages/class.ShowFleetACSPage.php

https://github.com/jstar88/LibreTitan
PHP | 379 lines | 303 code | 61 blank | 15 comment | 49 complexity | 16d580f800b96034f532b250be50d3e4 MD5 | raw file
  1. <?php
  2. /**
  3. * @project XG Proyect
  4. * @version 2.10.x build 0000
  5. * @copyright Copyright (C) 2008 - 2012
  6. */
  7. if(!defined('INSIDE')){ die(header("location:../../"));}
  8. class ShowFleetACSPage
  9. {
  10. function __construct ( $CurrentUser , $CurrentPlanet )
  11. {
  12. global $resource, $pricelist, $reslist, $lang;
  13. #####################################################################################################
  14. // SOME DEFAULT VALUES
  15. #####################################################################################################
  16. // ARRAYS
  17. $missiontype = Fleets::get_missions();
  18. $speed = array (10 => 100,9 => 90,8 => 80,7 => 70,6 => 60,5 => 50,4 => 40,3 => 30,2 => 20,1 => 10 );
  19. // TEMPLATES
  20. $options_template = gettemplate ( 'fleet/fleet_options' );
  21. // QUERY
  22. $count = doquery("SELECT
  23. (SELECT COUNT(fleet_owner) AS `actcnt` FROM {{table}}fleets WHERE `fleet_owner` = '".intval($CurrentUser['id'])."') AS max_fleet,
  24. (SELECT COUNT(fleet_owner) AS `expedi` FROM {{table}}fleets WHERE `fleet_owner` = '".intval($CurrentUser['id'])."' AND `fleet_mission` = '15') AS max_expeditions" , '' , TRUE);
  25. // LOAD TEMPLATES REQUIRED
  26. $options_template = gettemplate ( 'fleet/fleet_options' );
  27. // LANGUAGE
  28. $parse = $lang;
  29. // COORDS
  30. $galaxy = ( ( $_GET['galaxy'] == '' ) ? $CurrentPlanet['galaxy'] : $_GET['galaxy'] );
  31. $system = ( ( $_GET['system'] == '' ) ? $CurrentPlanet['system'] : $_GET['system'] );
  32. $planet = ( ( $_GET['planet'] == '' ) ? $CurrentPlanet['planet'] : $_GET['planet'] );
  33. $planettype = ( ( $_GET['planet_type'] == '' ) ? $CurrentPlanet['planet_type'] : $_GET['planet_type'] );
  34. // OTHER VALUES
  35. $fleetid = $_POST['fleetid'];
  36. $MaxFlyingFleets = $count['max_fleet'];
  37. $MaxExpedition = $CurrentUser[$resource[124]];
  38. if ($MaxExpedition >= 1)
  39. {
  40. $ExpeditionEnCours = $count['max_expeditions'];
  41. $EnvoiMaxExpedition = 1 + floor( $MaxExpedition / 3 );
  42. }
  43. else
  44. {
  45. $ExpeditionEnCours = 0;
  46. $EnvoiMaxExpedition = 0;
  47. }
  48. $MaxFlottes = Fleets::get_max_fleets ( $CurrentUser[$resource[108]] , $CurrentUser['rpg_amiral'] );
  49. if ( !is_numeric ( $fleetid ) or empty ( $fleetid ) )
  50. {
  51. exit ( header ( "Location: game.php?page=fleet" ) );
  52. }
  53. if ( isset ( $_POST['add_member_to_acs'] ) && !empty ( $_POST['add_member_to_acs'] ) )
  54. {
  55. $added_user_id = 0;
  56. $member_qry = doquery("SELECT `id` FROM {{table}} WHERE `username` ='".($_POST['addtogroup'])."' ;",'users');
  57. while ( $row = mysql_fetch_array ( $member_qry ) )
  58. {
  59. $added_user_id .= $row['id'];
  60. }
  61. if ( $added_user_id > 0 )
  62. {
  63. $new_eingeladen_mr = ($_POST['acs_invited']).','.$added_user_id;
  64. doquery("UPDATE {{table}} SET `eingeladen` = '".$new_eingeladen_mr."' ;",'aks');
  65. $acs_user_message = "<font color=\"lime\">".$lang['fl_player']." ".$_POST['addtogroup']." ". $lang['fl_add_to_attack'];
  66. }
  67. else
  68. {
  69. $acs_user_message = "<font color=\"red\">".$lang['fl_player']." ".$_POST['addtogroup']." ".$lang['fl_dont_exist']."";
  70. }
  71. $invite_message = $lang['fl_player'] . $CurrentUser['username'] . $lang['fl_acs_invitation_message'];
  72. SendSimpleMessage ($added_user_id, $CurrentUser['id'], time(), 1, $CurrentUser['username'], $lang['fl_acs_invitation_title'], $invite_message);
  73. }
  74. $query = doquery("SELECT * FROM {{table}} WHERE fleet_id = '" . intval($fleetid) . "'", 'fleets');
  75. if ( mysql_num_rows ( $query ) != 1 )
  76. {
  77. exit ( header ( "Location: game.php?page=fleet" ) );
  78. }
  79. $daten = mysql_fetch_array ( $query );
  80. if ( $daten['fleet_start_time'] <= time() or
  81. $daten['fleet_end_time'] < time() or
  82. $daten['fleet_mess'] == 1 )
  83. {
  84. exit ( header ( "Location: game.php?page=fleet" ) );
  85. }
  86. if ( !isset ( $_POST['send'] ) )
  87. {
  88. $fleet = doquery("SELECT * FROM {{table}} WHERE fleet_id = '" . intval($fleetid) . "'", 'fleets', TRUE);
  89. if ( empty ( $fleet['fleet_group'] ) )
  90. {
  91. $rand = mt_rand ( 100000 , 999999999 );
  92. $acs_code = "AG" . $rand;
  93. $acs_invited = intval ( $CurrentUser['id'] );
  94. doquery ( "INSERT INTO {{table}}
  95. SET
  96. `name` = '" . $acs_code . "',
  97. `teilnehmer` = '" . $CurrentUser['id'] . "',
  98. `flotten` = '" . $fleetid . "',
  99. `ankunft` = '" . $fleet['fleet_start_time'] . "',
  100. `galaxy` = '" . $fleet['fleet_end_galaxy'] . "',
  101. `system` = '" . $fleet['fleet_end_system'] . "',
  102. `planet` = '" . $fleet['fleet_end_planet'] . "',
  103. `planet_type` = '" . $fleet['fleet_end_type'] . "',
  104. `eingeladen` = '" . $acs_invited . "'" , 'aks' );
  105. $acs = doquery ( "SELECT `id`
  106. FROM {{table}}
  107. WHERE `name` = '" . $acs_code . "' AND
  108. `teilnehmer` = '" . $CurrentUser['id'] . "' AND
  109. `flotten` = '" . $fleetid . "' AND
  110. `ankunft` = '" . $fleet['fleet_start_time'] . "' AND
  111. `galaxy` = '" . $fleet['fleet_end_galaxy'] . "' AND
  112. `system` = '" . $fleet['fleet_end_system'] . "' AND
  113. `planet` = '" . $fleet['fleet_end_planet'] . "' AND
  114. `eingeladen` = '" . intval($CurrentUser['id']) . "'
  115. " , 'aks' , TRUE);
  116. $acs_madnessred = doquery ( "SELECT *
  117. FROM {{table}}
  118. WHERE `name` = '" . $acs_code . "' AND
  119. `teilnehmer` = '" . $CurrentUser['id'] . "' AND
  120. `flotten` = '" . $fleetid . "' AND
  121. `ankunft` = '" . $fleet['fleet_start_time'] . "' AND
  122. `galaxy` = '" . $fleet['fleet_end_galaxy'] . "' AND
  123. `system` = '" . $fleet['fleet_end_system'] . "' AND
  124. `planet` = '" . $fleet['fleet_end_planet'] . "' AND
  125. `eingeladen` = '" . intval($CurrentUser['id']) . "'
  126. " , 'aks' );
  127. doquery("UPDATE {{table}}
  128. SET fleet_group = '" . intval ( $acs['id'] ) . "'
  129. WHERE fleet_id = '" . intval ( $fleetid ) . "'" , 'fleets');
  130. }
  131. else
  132. {
  133. if ( $_POST['txt_name_acs'] != "" )
  134. {
  135. doquery ( "UPDATE {{table}}
  136. SET name = '" . ($_POST['txt_name_acs']) . "'
  137. WHERE teilnehmer = '" . intval($CurrentUser['id']) . "'", 'aks');
  138. }
  139. $acs = doquery("SELECT COUNT(`id`) FROM {{table}} WHERE id = '" . intval($fleet['fleet_group']) . "'" , 'aks' , TRUE );
  140. $acs_madnessred = doquery("SELECT * FROM {{table}} WHERE id = '" . intval($fleet['fleet_group']) . "'", 'aks');
  141. if ( $acs[0] != 1 )
  142. {
  143. exit ( header ( "Location: game.php?page=fleet" ) );
  144. }
  145. }
  146. if ( $count['max_fleet'] <> 0 or $MaxExpedition <> 0 )
  147. {
  148. $fq = doquery("SELECT * FROM {{table}} WHERE fleet_owner='".intval($CurrentUser[id])."'", "fleets");
  149. $i = 0;
  150. while ( $f = mysql_fetch_array ( $fq ) )
  151. {
  152. $i++;
  153. $parse['num'] = $i;
  154. $parse['fleet_mission'] = $missiontype[$f[fleet_mission]];
  155. if (($f['fleet_start_time'] + 1) == $f['fleet_end_time'])
  156. {
  157. $parse['tooltip'] = $lang['fl_returning'];
  158. $parse['title'] = $lang['fl_r'];
  159. }
  160. else
  161. {
  162. $parse['tooltip'] = $lang['fl_onway'];
  163. $parse['title'] = $lang['fl_a'];
  164. }
  165. $fleet = explode ( ";" , $f['fleet_array'] );
  166. $e = 0;
  167. foreach ( $fleet as $a => $b )
  168. {
  169. if ( $b != '' )
  170. {
  171. $e++;
  172. $a = explode(",", $b);
  173. $parse['fleet'] .= $lang['tech'][$a[0]]. ":". $a[1] ."\n";
  174. if ($e > 1)
  175. {
  176. $parse['fleet'].= "\t";
  177. }
  178. }
  179. }
  180. $parse['fleet_amount'] = Format::pretty_number ( $f[fleet_amount] );
  181. $parse['fleet_start'] = "[".$f[fleet_start_galaxy].":".$f[fleet_start_system].":".$f[fleet_start_planet]."]";
  182. $parse['fleet_start_time'] = date ( "d M Y H:i:s" , $f['fleet_start_time'] );
  183. $parse['fleet_end'] = "[".$f[fleet_end_galaxy].":".$f[fleet_end_system].":".$f[fleet_end_planet]."]";
  184. $parse['fleet_end_time'] = date ( "d M Y H:i:s" , $f['fleet_end_time'] );
  185. $parse['fleet_arrival'] = Format::pretty_time ( floor ( $f['fleet_end_time'] + 1 - time() ) );
  186. if ($f['fleet_mess'] == 0 or $f['fleet_mess'] == 2)
  187. {
  188. $parse['inputs'] = "<form action=\"SendFleetBack.php\" method=\"post\">";
  189. $parse['inputs'] .= "<input name=\"fleetid\" value=\"". $f['fleet_id'] ."\" type=\"hidden\">";
  190. $parse['inputs'] .= "<input value=\"".$lang['fl_send_back']."\" type=\"submit\" name=\"send\">";
  191. $parse['inputs'] .= "</form>";
  192. if ($f[fleet_mission] == 1)
  193. {
  194. $parse['inputs'] .= "<form action=\"game.php?page=fleetACS\" method=\"post\">";
  195. $parse['inputs'] .= "<input name=\"fleetid\" value=\"". $f['fleet_id'] ."\" type=\"hidden\">";
  196. $parse['inputs'] .= "<input value=\"".$lang['fl_acs']."\" type=\"submit\">";
  197. $parse['inputs'] .= "</form>";
  198. }
  199. }
  200. else
  201. {
  202. $parse['inputs'] = "&nbsp;-&nbsp;";
  203. }
  204. $flying_fleets .= parsetemplate ( gettemplate ( 'fleet/fleet_row_fleets' ) , $parse );
  205. }
  206. }
  207. if ( $i == 0 )
  208. {
  209. $parse['num'] = '-';
  210. $parse['fleet_mission'] = '-';
  211. $parse['title'] = '';
  212. $parse['fleet_amount'] = '-';
  213. $parse['fleet_start'] = '-';
  214. $parse['fleet_start_time'] = '-';
  215. $parse['fleet_end'] = '-';
  216. $parse['fleet_end_time'] = '-';
  217. $parse['fleet_arrival'] = '-';
  218. $parse['inputs'] = '-';
  219. $flying_fleets .= parsetemplate ( gettemplate ( 'fleet/fleet_row_fleets' ) , $parse );
  220. }
  221. $parse['fleetpagerow'] = $flying_fleets;
  222. while ( $row = mysql_fetch_array ( $acs_madnessred ) )
  223. {
  224. $acs_code .= $row['name'];
  225. $acs_invited .= $row['eingeladen'];
  226. }
  227. $parse['acs_code'] = $acs_code;
  228. $members = explode ( "," , $acs_invited );
  229. foreach ( $members as $a => $b )
  230. {
  231. if ( $b != '' )
  232. {
  233. $member_qry = doquery("SELECT `username` FROM {{table}} WHERE `id` ='".intval($b)."' ;",'users');
  234. while ( $row = mysql_fetch_array ( $member_qry ) )
  235. {
  236. $members_option['value'] = '';
  237. $members_option['selected'] = '';
  238. $members_option['title'] = $row['username'];
  239. $members_row .= parsetemplate ( $options_template , $members_option );
  240. }
  241. }
  242. }
  243. $parse['invited_members'] = $members_row;
  244. $parse['fleetid'] = $_POST[fleetid];
  245. $parse['acs_invited'] = $acs_invited;
  246. $parse['add_user_message'] = $acs_user_message;
  247. if ($MaxFlottes == $MaxFlyingFleets)
  248. {
  249. $parse['message_nofreeslot'] .= parsetemplate ( gettemplate ( 'fleet/fleet_noslots_row' ) , $parse );
  250. }
  251. if (!$CurrentPlanet)
  252. {
  253. header("location:game.php?page=fleet");
  254. }
  255. $ships = $lang;
  256. foreach ($reslist['fleet'] as $n => $i)
  257. {
  258. if ($CurrentPlanet[$resource[$i]] > 0)
  259. {
  260. if ( $i == 212 )
  261. {
  262. $ships['fleet_max_speed'] = '-';
  263. }
  264. else
  265. {
  266. $ships['fleet_max_speed'] = Fleets::fleet_max_speed ( "" , $i , $CurrentUser );
  267. }
  268. $ships['ship'] = $lang['tech'][$i];
  269. $ships['amount'] = Format::pretty_number ( $CurrentPlanet[$resource[$i]] );
  270. $inputs['i'] = $i;
  271. $inputs['maxship'] = $CurrentPlanet[$resource[$i]];
  272. $inputs['consumption'] = Fleets::ship_consumption ( $i, $CurrentUser );
  273. $inputs['speed'] = Fleets::fleet_max_speed ("", $i, $CurrentUser );
  274. $inputs['capacity'] = $pricelist[$i]['capacity'];
  275. if ($i == 212)
  276. {
  277. $ships['max_ships'] = '';
  278. $ships['set_ships'] = '';
  279. }
  280. else
  281. {
  282. $ships['max_ships'] = "<a href=\"javascript:maxShip('ship". $i ."'); shortInfo();\">".$lang['fl_max']."</a>";
  283. $ships['set_ships'] = "<input name=\"ship". $i ."\" size=\"10\" value=\"0\" onfocus=\"javascript:if(this.value == '0') this.value='';\" onblur=\"javascript:if(this.value == '') this.value='0';\" alt=\"". $lang['tech'][$i] . $CurrentPlanet[$resource[$i]] ."\" onChange=\"shortInfo()\" onKeyUp=\"shortInfo()\" />";
  284. }
  285. $ship_inputs .= parsetemplate ( gettemplate ( 'fleet/fleet_inputs' ) , $inputs );
  286. $ships_row .= parsetemplate ( gettemplate ( 'fleet/fleet_row_ships' ) , $ships );
  287. }
  288. $have_ships = TRUE;
  289. if (!$have_ships)
  290. {
  291. $parse['noships_row'] = parsetemplate ( gettemplate ( 'fleet/fleet_noships_row' ) , $lang );
  292. }
  293. else
  294. {
  295. if ( $MaxFlottes > $MaxFlyingFleets )
  296. {
  297. $parse['none_max_selector'] = parsetemplate ( gettemplate ( 'fleet/fleet_selectors' ) , $lang );
  298. $parse['continue_button'] = parsetemplate ( gettemplate ( 'fleet/fleet_button' ) , $lang );
  299. }
  300. }
  301. }
  302. $parse['acs_members'] = parsetemplate ( gettemplate ( 'fleet/fleetACS_table' ) , $parse );
  303. $parse['body'] = $ships_row;
  304. $parse['shipdata'] = $ship_inputs;
  305. $parse['galaxy'] = $galaxy;
  306. $parse['system'] = $system;
  307. $parse['planet'] = $planet;
  308. $parse['planettype'] = $planettype;
  309. $parse['target_mission'] = $target_mission;
  310. $parse['flyingfleets'] = $MaxFlyingFleets;
  311. $parse['maxfleets'] = $MaxFlottes;
  312. $parse['currentexpeditions'] = $ExpeditionEnCours;
  313. $parse['maxexpeditions'] = $EnvoiMaxExpedition;
  314. }
  315. display ( parsetemplate ( gettemplate ( 'fleet/fleet_table' ) , $parse ) );
  316. }
  317. }
  318. ?>