PageRenderTime 47ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/fuel_calculator.php

http://pos-tracker-temar.googlecode.com/
PHP | 289 lines | 217 code | 37 blank | 35 comment | 10 complexity | 0f02cf49a36911caf6f4494bd3fca6cf MD5 | raw file
Possible License(s): LGPL-2.1, GPL-3.0
  1. <?php
  2. /*
  3. * Pos-Tracker2
  4. *
  5. * Starbase Fuel calculator page
  6. *
  7. * PHP version 5
  8. *
  9. * LICENSE: This file is part of POS-Tracker2.
  10. * POS-Tracker2 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, version 3 of the License.
  13. *
  14. * POS-Tracker2 is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with POS-Tracker2. If not, see <http://www.gnu.org/licenses/>.
  21. *
  22. * @author Stephen Gulickk <stephenmg12@gmail.com>
  23. * @author DeTox MinRohim <eve@onewayweb.com>
  24. * @author Andy Snowden <forumadmin@eve-razor.com>
  25. * @copyright 2007-2009 (C) Stephen Gulick, DeTox MinRohim, and Andy Snowden
  26. * @license http://www.gnu.org/licenses/gpl-3.0.html GPL 3.0
  27. * @package POS-Tracker2
  28. * @version SVN: $Id: fuel_calculator.php 243 2009-04-26 16:10:33Z stephenmg $
  29. * @link https://sourceforge.net/projects/pos-tracker2/
  30. * @link http://www.eve-online.com/
  31. */
  32. if(!$index)
  33. die('Hack Attempt...');
  34. include_once 'includes/pos_val.php';
  35. EveDBInit();
  36. $eveRender->Assign('config', $config);
  37. $posmgmt = New POSMGMT();
  38. $userinfo = $posmgmt->GetUserInfo();
  39. $access = $eve->SessionGetVar('access');
  40. $eveRender->Assign('access', $access);
  41. $pos_to_refuel = $eve->VarCleanFromInput('pos_to_refuel');
  42. if (!empty($pos_to_refuel))
  43. {
  44. $daysorcargo = $eve->VarCleanFromInput('daysorcargo');
  45. $days = $eve->VarCleanFromInput('days');
  46. $hours = $eve->VarCleanFromInput('hours');
  47. $use_current_levels = $eve->VarCleanFromInput('use_current_levels');
  48. $use_hanger_levels = 0;//$eve->VarCleanFromInput('use_hanger_levels');
  49. $cargosize = $eve->VarCleanFromInput('size');
  50. //$tower = $posgmt->GetTowerInfo($pos_to_refuel);
  51. if($daysorcargo == 'cargo')
  52. {
  53. $hours = 0;
  54. $total_size = 0;
  55. while($total_size < $cargosize)
  56. {
  57. $hours++;
  58. $args['days_to_refuel'] = $hours/24;
  59. $args['pos_ids'][] = $pos_to_refuel;
  60. $args['use_current_levels'] = $use_current_levels;
  61. $bill = $posmgmt->GetFuelBill($args);
  62. $tower = $bill[$pos_to_refuel];
  63. $required_H_isotope = 0;
  64. $required_N_isotope = 0;
  65. $required_O_isotope = 0;
  66. $required_Hy_isotope = 0;
  67. $system = $tower['system'];
  68. $needed_uranium = $tower['needed_uranium'];
  69. $needed_oxygen = $tower['needed_oxygen'];
  70. $needed_mechanical_parts = $tower['needed_mechanical_parts'];
  71. $needed_coolant = $tower['needed_coolant'];
  72. $needed_robotics = $tower['needed_robotics'];
  73. $needed_isotopes = $tower['needed_isotopes'];
  74. $needed_ozone = $tower['needed_ozone'];
  75. $needed_heavy_water = $tower['needed_heavy_water'];
  76. $needed_charters = $tower['needed_charters'];
  77. $needed_stront = $tower['needed_stront'];
  78. $pos_id = $tower['pos_id'];
  79. $pos_race = $tower['pos_race'];
  80. $locationName = $tower['locationName'];
  81. $tower['regionName'] = $posmgmt->getRegionNameFromMoonID($locationName);
  82. switch($pos_race)
  83. {
  84. case 1:
  85. case 6:
  86. case 7:
  87. case 11:
  88. case 14: $required_H_isotope = $tower['needed_isotopes']; break;
  89. case 4:
  90. case 5:
  91. case 8: $required_Hy_isotope = $tower['needed_isotopes']; break;
  92. case 2:
  93. case 9:
  94. case 10: $required_N_isotope = $tower['needed_isotopes']; break;
  95. case 3:
  96. case 12:
  97. case 13: $required_O_isotope = $tower['needed_isotopes']; break;
  98. }
  99. $tower['required_H_isotope'] = $required_H_isotope;
  100. $tower['required_Hy_isotope'] = $required_Hy_isotope;
  101. $tower['required_N_isotope'] = $required_N_isotope;
  102. $tower['required_O_isotope'] = $required_O_isotope;
  103. $fuel_H_isotopes = $required_H_isotope;
  104. $fuel_N_isotopes = $required_N_isotope;
  105. $fuel_O_isotopes = $required_O_isotope;
  106. $fuel_Hy_isotopes = $required_Hy_isotope;
  107. $fuel_uranium = $needed_uranium;
  108. $fuel_oxygen = $needed_oxygen;
  109. $fuel_mechanical_parts = $needed_mechanical_parts;
  110. $fuel_coolant = $needed_coolant;
  111. $fuel_robotics = $needed_robotics;
  112. $fuel_ozone = $needed_ozone;
  113. $fuel_heavy_water = $needed_heavy_water;
  114. (integer) $fuel_uranium_size = round($fuel_uranium * $pos_Ura);
  115. (integer) $fuel_oxygen_size = round($fuel_oxygen * $pos_Oxy);
  116. (float) $fuel_mechanical_parts_size = round($fuel_mechanical_parts * $pos_Mec);
  117. (integer) $fuel_coolant_size = round($fuel_coolant * $pos_Coo);
  118. (integer) $fuel_robotics_size = round($fuel_robotics * $pos_Rob);
  119. (integer) $fuel_H_isotopes_size = round($fuel_H_isotopes * $pos_Iso);
  120. (integer) $fuel_N_isotopes_size = round($fuel_N_isotopes * $pos_Iso);
  121. (integer) $fuel_O_isotopes_size = round($fuel_O_isotopes * $pos_Iso);
  122. (integer) $fuel_Hy_isotopes_size = round($fuel_Hy_isotopes * $pos_Iso);
  123. (integer) $fuel_ozone_size = round($fuel_ozone * $pos_Ozo);
  124. (integer) $fuel_heavy_water_size = round($fuel_heavy_water * $pos_Hea);
  125. //(integer) $fuel_strontium_size = round($current_strontium * 3) ;
  126. $total_size = $fuel_uranium_size + $fuel_oxygen_size + $fuel_mechanical_parts_size + $fuel_coolant_size + $fuel_robotics_size + $fuel_H_isotopes_size + $fuel_N_isotopes_size + $fuel_O_isotopes_size + $fuel_Hy_isotopes_size + $fuel_ozone_size + $fuel_heavy_water_size;
  127. }
  128. $hours = $hours - 1;
  129. $days = floor($hours/24);
  130. $hours = $hours - ($days * 24);
  131. }
  132. $args['days_to_refuel'] = $days + ($hours/24);
  133. $args['pos_ids'][] = $pos_to_refuel;
  134. $args['use_current_levels'] = $use_current_levels;
  135. $bill = $posmgmt->GetFuelBill($args);
  136. $tower = $bill[$pos_to_refuel];
  137. $required_H_isotope = 0;
  138. $required_N_isotope = 0;
  139. $required_O_isotope = 0;
  140. $required_Hy_isotope = 0;
  141. $system = $tower['system'];
  142. $needed_uranium = $tower['needed_uranium'];
  143. $needed_oxygen = $tower['needed_oxygen'];
  144. $needed_mechanical_parts = $tower['needed_mechanical_parts'];
  145. $needed_coolant = $tower['needed_coolant'];
  146. $needed_robotics = $tower['needed_robotics'];
  147. $needed_isotopes = $tower['needed_isotopes'];
  148. $needed_ozone = $tower['needed_ozone'];
  149. $needed_heavy_water = $tower['needed_heavy_water'];
  150. $needed_charters = $tower['needed_charters'];
  151. $needed_stront = $tower['needed_stront'];
  152. $pos_id = $tower['pos_id'];
  153. $pos_race = $tower['pos_race'];
  154. $locationName = $tower['locationName'];
  155. $tower['regionName'] = $posmgmt->getRegionNameFromMoonID($locationName);
  156. switch($pos_race)
  157. {
  158. case 1:
  159. case 6:
  160. case 7:
  161. case 11:
  162. case 14: $required_H_isotope = $tower['needed_isotopes']; break;
  163. case 4:
  164. case 5:
  165. case 8: $required_Hy_isotope = $tower['needed_isotopes']; break;
  166. case 2:
  167. case 9:
  168. case 10: $required_N_isotope = $tower['needed_isotopes']; break;
  169. case 3:
  170. case 12:
  171. case 13: $required_O_isotope = $tower['needed_isotopes']; break;
  172. }
  173. $tower['required_H_isotope'] = $required_H_isotope;
  174. $tower['required_Hy_isotope'] = $required_Hy_isotope;
  175. $tower['required_N_isotope'] = $required_N_isotope;
  176. $tower['required_O_isotope'] = $required_O_isotope;
  177. $fuel_H_isotopes = $required_H_isotope;
  178. $fuel_N_isotopes = $required_N_isotope;
  179. $fuel_O_isotopes = $required_O_isotope;
  180. $fuel_Hy_isotopes = $required_Hy_isotope;
  181. $fuel_uranium = $needed_uranium;
  182. $fuel_oxygen = $needed_oxygen;
  183. $fuel_mechanical_parts = $needed_mechanical_parts;
  184. $fuel_coolant = $needed_coolant;
  185. $fuel_robotics = $needed_robotics;
  186. $fuel_ozone = $needed_ozone;
  187. $fuel_heavy_water = $needed_heavy_water;
  188. (integer) $fuel_uranium_size = round($fuel_uranium * $pos_Ura);
  189. (integer) $fuel_oxygen_size = round($fuel_oxygen * $pos_Oxy);
  190. (float) $fuel_mechanical_parts_size = round($fuel_mechanical_parts * $pos_Mec);
  191. (integer) $fuel_coolant_size = round($fuel_coolant * $pos_Coo);
  192. (integer) $fuel_robotics_size = round($fuel_robotics * $pos_Rob);
  193. (integer) $fuel_H_isotopes_size = round($fuel_H_isotopes * $pos_Iso);
  194. (integer) $fuel_N_isotopes_size = round($fuel_N_isotopes * $pos_Iso);
  195. (integer) $fuel_O_isotopes_size = round($fuel_O_isotopes * $pos_Iso);
  196. (integer) $fuel_Hy_isotopes_size = round($fuel_Hy_isotopes * $pos_Iso);
  197. (integer) $fuel_ozone_size = round($fuel_ozone * $pos_Ozo);
  198. (integer) $fuel_heavy_water_size = round($fuel_heavy_water * $pos_Hea);
  199. //(integer) $fuel_strontium_size = round($current_strontium * 3) ;
  200. $total_size = $fuel_uranium_size + $fuel_oxygen_size + $fuel_mechanical_parts_size + $fuel_coolant_size + $fuel_robotics_size + $fuel_H_isotopes_size + $fuel_N_isotopes_size + $fuel_O_isotopes_size + $fuel_Hy_isotopes_size + $fuel_ozone_size + $fuel_heavy_water_size;
  201. $fuel = array('fuel_H_isotopes' => $fuel_H_isotopes,
  202. 'fuel_N_isotopes' => $fuel_N_isotopes,
  203. 'fuel_O_isotopes' => $fuel_O_isotopes,
  204. 'fuel_Hy_isotopes' => $fuel_Hy_isotopes,
  205. 'fuel_uranium' => $fuel_uranium,
  206. 'fuel_oxygen' => $fuel_oxygen,
  207. 'fuel_mechanical_parts' => $fuel_mechanical_parts,
  208. 'fuel_coolant' => $fuel_coolant,
  209. 'fuel_robotics' => $fuel_robotics,
  210. 'fuel_ozone' => $fuel_ozone,
  211. 'fuel_heavy_water' => $fuel_heavy_water,
  212. 'fuel_uranium_size' => $fuel_uranium_size,
  213. 'fuel_oxygen_size' => $fuel_oxygen_size,
  214. 'fuel_mechanical_parts_size' => $fuel_mechanical_parts_size,
  215. 'fuel_coolant_size' => $fuel_coolant_size,
  216. 'fuel_robotics_size' => $fuel_robotics_size,
  217. 'fuel_H_isotopes_size' => $fuel_H_isotopes_size,
  218. 'fuel_N_isotopes_size' => $fuel_N_isotopes_size,
  219. 'fuel_O_isotopes_size' => $fuel_O_isotopes_size,
  220. 'fuel_Hy_isotopes_size' => $fuel_Hy_isotopes_size,
  221. 'fuel_ozone_size' => $fuel_ozone_size,
  222. 'fuel_heavy_water_size' => $fuel_heavy_water_size,
  223. 'total_size' => $total_size);
  224. $fuel = array_merge($fuel, $tower);
  225. if($cargosize > 0) {
  226. $fuel['trips'] = ceil($total_size / $cargosize);
  227. }
  228. $eveRender->Assign('daysorcargo', $daysorcargo);
  229. $eveRender->Assign('fuel', $fuel);
  230. $eveRender->Assign('hours', $hours);
  231. $eveRender->Assign('cargosize', $cargosize);
  232. $eveRender->Assign('pos_to_refuel', $pos_to_refuel);
  233. $eveRender->Assign('days_to_refuel', $days);
  234. $eveRender->Assign('use_current_levels', $use_current_levels);
  235. //echo '<pre>';print_r($fuel); echo '</pre>';exit;
  236. }
  237. $towers = $posmgmt->GetAllPos2();
  238. $opttowers[0] = 'POS List';
  239. foreach ($towers as $tower)
  240. {
  241. // Users with Access below 3 -> Only Display the Tower if they are Fuel Tech for it.
  242. if ($access <= "2")
  243. {
  244. if ($tower['owner_id'] != $userinfo['eve_id'] && $tower['secondary_owner_id'] != $userinfo['eve_id'])
  245. continue ;
  246. }
  247. $opttowers[$tower['pos_id']] = $tower['MoonName'] . ' - ' . $tower['towerName'];
  248. }
  249. $eveRender->Assign('opttowers', $opttowers);
  250. $eveRender->Display('fuel_calc.tpl');
  251. exit;
  252. ?>