PageRenderTime 52ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/admin/manage/specifications.php

https://github.com/anodyne/sms
PHP | 367 lines | 332 code | 20 blank | 15 comment | 4 complexity | 825e651e26a73a84e622168ae78dbcdd MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. /**
  3. This is a necessary system file. Do not modify this page unless you are highly
  4. knowledgeable as to the structure of the system. Modification of this file may
  5. cause SMS to no longer function.
  6. Author: David VanScott [ davidv@anodyne-productions.com ]
  7. File: admin/manage/specifications.php
  8. Purpose: Page that moderates the specs
  9. System Version: 2.6.0
  10. Last Modified: 2008-04-19 1748 EST
  11. **/
  12. /* access check */
  13. if( in_array( "m_specs", $sessionAccess ) ) {
  14. /* set the page class and vars */
  15. $pageClass = "admin";
  16. $subMenuClass = "manage";
  17. $query = FALSE;
  18. $result = FALSE;
  19. if(isset($_POST['action_update_x']))
  20. {
  21. $update = "UPDATE sms_specs SET shipClass = %s, shipRole = %s, duration = %d, durationUnit = %s, refit = %d, refitUnit = %s, ";
  22. $update.= "resupply = %d, resupplyUnit = %s, length = %d, width = %d, height = %d, decks = %d, complimentEmergency = %s, ";
  23. $update.= "complimentOfficers = %s, complimentEnlisted = %s, complimentMarines = %s, complimentCivilians = %s, warpCruise = %s, ";
  24. $update.= "warpMaxCruise = %s, warpEmergency = %s, warpMaxTime = %s, warpEmergencyTime = %s, phasers = %s, torpedoLaunchers = %s, ";
  25. $update.= "torpedoCompliment = %s, defensive = %s, shields = %s, shuttlebays = %s, hasShuttles = %s, hasRunabouts = %s, ";
  26. $update.= "hasFighters = %s, shuttles = %s, runabouts = %s, fighters = %s, hasTransports = %s, transports = %s WHERE specid = 1 LIMIT 1";
  27. $query = sprintf(
  28. $update,
  29. escape_string($_POST['shipClass']),
  30. escape_string($_POST['shipRole']),
  31. escape_string($_POST['duration']),
  32. escape_string($_POST['durationUnit']),
  33. escape_string($_POST['refit']),
  34. escape_string($_POST['refitUnit']),
  35. escape_string($_POST['resupply']),
  36. escape_string($_POST['resupplyUnit']),
  37. escape_string($_POST['length']),
  38. escape_string($_POST['width']),
  39. escape_string($_POST['height']),
  40. escape_string($_POST['decks']),
  41. escape_string($_POST['complimentEmergency']),
  42. escape_string($_POST['complimentOfficers']),
  43. escape_string($_POST['complimentEnlisted']),
  44. escape_string($_POST['complimentMarines']),
  45. escape_string($_POST['complimentCivilians']),
  46. escape_string($_POST['warpCruise']),
  47. escape_string($_POST['warpMaxCruise']),
  48. escape_string($_POST['warpEmergency']),
  49. escape_string($_POST['warpMaxTime']),
  50. escape_string($_POST['warpEmergencyTime']),
  51. escape_string($_POST['phasers']),
  52. escape_string($_POST['torpedoLaunchers']),
  53. escape_string($_POST['torpedoCompliment']),
  54. escape_string($_POST['defensive']),
  55. escape_string($_POST['shields']),
  56. escape_string($_POST['shuttlebays']),
  57. escape_string($_POST['hasShuttles']),
  58. escape_string($_POST['hasRunabouts']),
  59. escape_string($_POST['hasFighters']),
  60. escape_string($_POST['shuttles']),
  61. escape_string($_POST['runabouts']),
  62. escape_string($_POST['fighters']),
  63. escape_string($_POST['hasTransports']),
  64. escape_string($_POST['transports'])
  65. );
  66. $result = mysql_query($query);
  67. /* optimize table */
  68. optimizeSQLTable( "sms_specs" );
  69. }
  70. $getSpecs = "SELECT * FROM sms_specs WHERE specid = 1";
  71. $getSpecsResult = mysql_query( $getSpecs );
  72. while( $specFetch = mysql_fetch_array( $getSpecsResult ) ) {
  73. extract( $specFetch, EXTR_OVERWRITE );
  74. }
  75. ?>
  76. <div class="body">
  77. <?php
  78. $check = new QueryCheck;
  79. $check->checkQuery( $result, $query );
  80. if( !empty( $check->query ) ) {
  81. $check->message( "specifications", "update" );
  82. $check->display();
  83. }
  84. ?>
  85. <span class="fontTitle"><?=ucwords( $simmType );?> Specifications</span>
  86. <form method="post" action="<?=$webLocation;?>admin.php?page=manage&sub=specifications">
  87. <table>
  88. <tr>
  89. <td colspan="3" height="15"></td>
  90. </tr>
  91. <tr>
  92. <td colspan="3" class="fontMedium"><b>Ship Information</b></td>
  93. </tr>
  94. <tr>
  95. <td class="tableCellLabel">Ship Class</td>
  96. <td>&nbsp;</td>
  97. <td><input type="text" class="text" name="shipClass" maxlength="50" value="<?=$shipClass;?>" /></td>
  98. </tr>
  99. <tr>
  100. <td class="tableCellLabel">Ship Role</td>
  101. <td>&nbsp;</td>
  102. <td><input type="text" class="text" name="shipRole" maxlength="80" value="<?=$shipRole;?>" /></td>
  103. </tr>
  104. <tr>
  105. <td class="tableCellLabel">Expected Duration</td>
  106. <td>&nbsp;</td>
  107. <td>
  108. <input type="text" class="text" name="duration" size="3" maxlength="3" value="<?=$duration;?>" />
  109. </td>
  110. </tr>
  111. <tr>
  112. <td class="tableCellLabel">Duration Unit<br />(Years, Months, etc.)</td>
  113. <td>&nbsp;</td>
  114. <td>
  115. <input type="text" class="text" name="durationUnit" maxlength="80" value="<?=$durationUnit;?>" />
  116. </td>
  117. </tr>
  118. <tr>
  119. <td class="tableCellLabel">Time Before Refit</td>
  120. <td>&nbsp;</td>
  121. <td>
  122. <input type="text" class="text" name="refit" size="3" maxlength="3" value="<?=$refit;?>" />
  123. </td>
  124. </tr>
  125. <tr>
  126. <td class="tableCellLabel">Refit Unit<br />(Years, Months, etc.)</td>
  127. <td>&nbsp;</td>
  128. <td>
  129. <input type="text" class="text" name="refitUnit" maxlength="80" value="<?=$refitUnit;?>" />
  130. </td>
  131. </tr>
  132. <tr>
  133. <td class="tableCellLabel">Time Before Resupply</td>
  134. <td>&nbsp;</td>
  135. <td>
  136. <input type="text" class="text" name="resupply" size="3" maxlength="3" value="<?=$resupply;?>" />
  137. </td>
  138. </tr>
  139. <tr>
  140. <td class="tableCellLabel">Resupply Unit<br />(Years, Months, etc.)</td>
  141. <td>&nbsp;</td>
  142. <td>
  143. <input type="text" class="text" name="resupplyUnit" maxlength="80" value="<?=$resupplyUnit;?>" />
  144. </td>
  145. </tr>
  146. <tr>
  147. <td colspan="3" height="15">
  148. </tr>
  149. <tr>
  150. <td colspan="3" class="fontMedium"><b>Dimensions</b></td>
  151. </tr>
  152. <tr>
  153. <td class="tableCellLabel">Length</td>
  154. <td>&nbsp;</td>
  155. <td><input type="text" class="text" name="length" size="5" maxlength="5" value="<?=$length;?>" /> Meters</td>
  156. </tr>
  157. <tr>
  158. <td class="tableCellLabel">Width</td>
  159. <td>&nbsp;</td>
  160. <td><input type="text" class="text" name="width" size="5" maxlength="5" value="<?=$width;?>" /> Meters</td>
  161. </tr>
  162. <tr>
  163. <td class="tableCellLabel">Height</td>
  164. <td>&nbsp;</td>
  165. <td><input type="text" class="text" name="height" size="5" maxlength="5" value="<?=$height;?>" /> Meters</td>
  166. </tr>
  167. <tr>
  168. <td class="tableCellLabel">Decks</td>
  169. <td>&nbsp;</td>
  170. <td><input type="text" class="text" name="decks" size="5" maxlength="5" value="<?=$decks;?>" /></td>
  171. </tr>
  172. <tr>
  173. <td colspan="3" height="15">
  174. </tr>
  175. <tr>
  176. <td colspan="3" class="fontMedium">
  177. <b>Personnel Information</b><br />
  178. <span class="fontSmall">Leave blank if your simm doesn't have the specific type of personnel</span>
  179. </td>
  180. </tr>
  181. <tr>
  182. <td class="tableCellLabel">Officers</td>
  183. <td>&nbsp;</td>
  184. <td><input type="text" class="text" name="complimentOfficers" size="6" maxlength="6" value="<?=$complimentOfficers;?>" /></td>
  185. </tr>
  186. <tr>
  187. <td class="tableCellLabel">Enlisted Officers</td>
  188. <td>&nbsp;</td>
  189. <td><input type="text" class="text" name="complimentEnlisted" size="6" maxlength="6" value="<?=$complimentEnlisted;?>" /></td>
  190. </tr>
  191. <tr>
  192. <td class="tableCellLabel">Marines</td>
  193. <td>&nbsp;</td>
  194. <td><input type="text" class="text" name="complimentMarines" size="6" maxlength="6" value="<?=$complimentMarines;?>" /></td>
  195. </tr>
  196. <tr>
  197. <td class="tableCellLabel">Civilians</td>
  198. <td>&nbsp;</td>
  199. <td><input type="text" class="text" name="complimentCivilians" size="6" maxlength="6" value="<?=$complimentCivilians;?>" /></td>
  200. </tr>
  201. <tr>
  202. <td class="tableCellLabel">Emergency Capacity</td>
  203. <td>&nbsp;</td>
  204. <td><input type="text" class="text" name="complimentEmergency" size="8" maxlength="8" value="<?=$complimentEmergency;?>" /></td>
  205. </tr>
  206. <tr>
  207. <td colspan="3" height="15">
  208. </tr>
  209. <tr>
  210. <td colspan="3" class="fontMedium"><b>Speed Information</b></td>
  211. </tr>
  212. <tr>
  213. <td class="tableCellLabel">Standard Velocity</td>
  214. <td>&nbsp;</td>
  215. <td>Warp <input type="text" class="text" name="warpCruise" size="8" maxlength="8" value="<?=$warpCruise;?>" /></td>
  216. </tr>
  217. <tr>
  218. <td class="tableCellLabel">Maximum Velocity</td>
  219. <td>&nbsp;</td>
  220. <td>
  221. Warp <input type="text" class="text" name="warpMaxCruise" size="8" maxlength="8" value="<?=$warpMaxCruise;?>" />
  222. <input type="text" class="text" name="warpMaxTime" maxlength="20" value="<?=$warpMaxTime;?>" />
  223. </td>
  224. </tr>
  225. <tr>
  226. <td class="tableCellLabel">Emergency Velocity</td>
  227. <td>&nbsp;</td>
  228. <td>
  229. Warp <input type="text" class="text" name="warpEmergency" size="8" maxlength="8" value="<?=$warpEmergency;?>" />
  230. <input type="text" class="text" name="warpEmergencyTime" maxlength="20" value="<?=$warpEmergencyTime;?>" />
  231. </td>
  232. </tr>
  233. <tr>
  234. <td colspan="3" height="15">
  235. </tr>
  236. <tr>
  237. <td colspan="3" class="fontMedium"><b>Offensive &amp; Defensive Systems</b></td>
  238. </tr>
  239. <tr>
  240. <td class="tableCellLabel">Phasers</td>
  241. <td>&nbsp;</td>
  242. <td><textarea name="phasers" rows="5" class="textArea"><?=stripslashes( $phasers );?></textarea></td>
  243. </tr>
  244. <tr>
  245. <td class="tableCellLabel">Torpedo Launchers</td>
  246. <td>&nbsp;</td>
  247. <td><textarea name="torpedoLaunchers" rows="5" class="textArea"><?=stripslashes( $torpedoLaunchers );?></textarea></td>
  248. </tr>
  249. <tr>
  250. <td class="tableCellLabel">Torpedo Compliment</td>
  251. <td>&nbsp;</td>
  252. <td><textarea name="torpedoCompliment" rows="5" class="textArea"><?=stripslashes( $torpedoCompliment );?></textarea></td>
  253. </tr>
  254. <tr>
  255. <td class="tableCellLabel">Defensive Systems</td>
  256. <td>&nbsp;</td>
  257. <td><textarea name="defensive" rows="5" class="textArea"><?=stripslashes( $defensive );?></textarea></td>
  258. </tr>
  259. <tr>
  260. <td class="tableCellLabel">Shields</td>
  261. <td>&nbsp;</td>
  262. <td><textarea name="shields" rows="5" class="textArea"><?=stripslashes( $shields );?></textarea></td>
  263. </tr>
  264. <tr>
  265. <td colspan="3" height="15">
  266. </tr>
  267. <tr>
  268. <td colspan="3" class="fontMedium"><b>Auxiliary Craft</b></td>
  269. </tr>
  270. <tr>
  271. <td class="tableCellLabel">Shuttlebays</td>
  272. <td>&nbsp;</td>
  273. <td><input type="text" class="text" name="shuttlebays" size="3" maxlength="3" value="<?=$shuttlebays;?>" /></td>
  274. </tr>
  275. <tr>
  276. <td class="tableCellLabel">Ship Has Shuttles?</td>
  277. <td>&nbsp;</td>
  278. <td>
  279. <input type="radio" id="shutY" name="hasShuttles" value="y" <? if( $hasShuttles == "y" ) { echo "checked"; } ?>/> <label for="shutY">Yes</label>
  280. <input type="radio" id="shutN" name="hasShuttles" value="n" <? if( $hasShuttles == "n" ) { echo "checked"; } ?>/> <label for="shutN">No</label>
  281. </td>
  282. </tr>
  283. <tr>
  284. <td class="tableCellLabel">Shuttles</td>
  285. <td>&nbsp;</td>
  286. <td><textarea name="shuttles" rows="5" class="textArea"><?=$shuttles;?></textarea></td>
  287. </tr>
  288. <tr>
  289. <td class="tableCellLabel">Ship Has Runabouts?</td>
  290. <td>&nbsp;</td>
  291. <td>
  292. <input type="radio" id="runY" name="hasRunabouts" value="y" <? if( $hasRunabouts == "y" ) { echo "checked"; } ?>/> <label for="runY">Yes</label>
  293. <input type="radio" id="runN" name="hasRunabouts" value="n" <? if( $hasRunabouts == "n" ) { echo "checked"; } ?>/> <label for="runN">No</label>
  294. </td>
  295. </tr>
  296. <tr>
  297. <td class="tableCellLabel">Runabouts</td>
  298. <td>&nbsp;</td>
  299. <td><textarea name="runabouts" rows="5" class="textArea"><?=$runabouts;?></textarea></td>
  300. </tr>
  301. <tr>
  302. <td class="tableCellLabel">Ship Has Fighters?</td>
  303. <td>&nbsp;</td>
  304. <td>
  305. <input type="radio" id="fightersY" name="hasFighters" value="y" <? if( $hasFighters == "y" ) { echo "checked"; } ?>/> <label for="fightersY">Yes</label>
  306. <input type="radio" id="fightersN" name="hasFighters" value="n" <? if( $hasFighters == "n" ) { echo "checked"; } ?>/> <label for="fightersN">No</label>
  307. </td>
  308. </tr>
  309. <tr>
  310. <td class="tableCellLabel">Fighters</td>
  311. <td>&nbsp;</td>
  312. <td><textarea name="fighters" rows="5" class="textArea"><?=$fighters;?></textarea></td>
  313. </tr>
  314. <tr>
  315. <td class="tableCellLabel">Ship Has Transports?</td>
  316. <td>&nbsp;</td>
  317. <td>
  318. <input type="radio" id="tranY" name="hasTransports" value="y" <? if( $hasTransports == "y" ) { echo "checked"; } ?>/> <label for="tranY">Yes</label>
  319. <input type="radio" id="tranN" name="hasTransports" value="n" <? if( $hasTransports == "n" ) { echo "checked"; } ?>/> <label for="tranN">No</label>
  320. </td>
  321. </tr>
  322. <tr>
  323. <td class="tableCellLabel">Transports</td>
  324. <td>&nbsp;</td>
  325. <td><textarea name="transports" rows="5" class="textArea"><?=$transports;?></textarea></td>
  326. </tr>
  327. <tr>
  328. <td colspan="3" height="25"></td>
  329. </tr>
  330. <tr>
  331. <td colspan="2"></td>
  332. <td><input type="image" src="<?=path_userskin;?>buttons/update.png" class="button" name="action_update" value="Update" /></td>
  333. </tr>
  334. </table>
  335. </form>
  336. </div>
  337. <? } else { errorMessage( "specifications management" ); } ?>