include $xnova_root_path . 'rak.' . $phpEx; if (defined('IN_ADMIN')) { $UserSkin = $user['dpath']; $local = stristr($UserSkin, "http:"); if ($local === false) { if (!$user['dpath']) { $dpath = "../" . DEFAULT_SKINPATH; } else { $dpath = "../" . $user["dpath"]; } } else { $dpath = $UserSkin; } } else { $dpath = !$user["dpath"] ? DEFAULT_SKINPATH : $user["dpath"]; } SetSelectedPlanet($user); $planetrow = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $user['current_planet'] . "';", 'planets', true); $galaxyrow = doquery("SELECT * FROM {{table}} WHERE `id_planet` = '" . $planetrow['id'] . "';", 'galaxy', true); CheckPlanetUsedFields($planetrow); date_default_timezone_set($user['timezone']); } else { $dpath = "../" . DEFAULT_SKINPATH; } includeLang("lang_info", ".cfg"); includeLang("system"); includeLang('tech'); } else { includeLang("lang_info", ".cfg"); $dpath = "../" . DEFAULT_SKINPATH; }
function ShowFleetACSPage($CurrentUser, $CurrentPlanet) { global $resource, $pricelist, $reslist, $phpEx, $lang; $parse = $lang; $fleetid = $_POST['fleetid']; if (!is_numeric($fleetid) || empty($fleetid)) { exit(header("Location: game." . $phpEx . "?page=fleet")); } if (isset($_POST['add_member_to_aks']) && !empty($_POST['add_member_to_aks'])) { $added_user_id_mr = 0; $member_qry_mr = doquery("SELECT `id` FROM {{table}} WHERE `username` ='" . $_POST['addtogroup'] . "' ;", 'users'); while ($row = mysql_fetch_array($member_qry_mr)) { $added_user_id_mr .= $row['id']; } if ($added_user_id_mr > 0) { $new_eingeladen_mr = $_POST['aks_invited_mr'] . ',' . $added_user_id_mr; doquery("UPDATE {{table}} SET `eingeladen` = '" . $new_eingeladen_mr . "' ;", 'aks'); $add_user_message_mr = "<font color=\"lime\">" . $lang['fl_player'] . " " . $_POST['addtogroup'] . " " . $lang['fl_Add_to_attack']; } else { $add_user_message_mr = "<font color=\"red\">" . $lang['fl_player'] . " " . $_POST['addtogroup'] . " " . $lang['fl_dont_exist'] . ""; } $invite_message = $lang['fl_player'] . $CurrentUser['username'] . $lang['fl_acs_invitation_message']; SendSimpleMessage($added_user_id_mr, $CurrentUser['id'], time(), 1, $CurrentUser['username'], $lang['fl_acs_invitation_title'], $invite_message); } $query = doquery("SELECT * FROM {{table}} WHERE fleet_id = '" . $fleetid . "'", 'fleets'); if (mysql_num_rows($query) != 1) { exit(header("Location: game." . $phpEx . "?page=fleet")); } $daten = mysql_fetch_array($query); if ($daten['fleet_start_time'] <= time() || $daten['fleet_end_time'] < time() || $daten['fleet_mess'] == 1) { exit(header("Location: game." . $phpEx . "?page=fleet")); } if (!isset($_POST['send'])) { SetSelectedPlanet($CurrentUser); $galaxyrow = doquery("SELECT * FROM {{table}} WHERE `id_planet` = '" . $CurrentPlanet['id'] . "';", 'galaxy', true); $maxfleet = doquery("SELECT COUNT(fleet_owner) as ilosc FROM {{table}} WHERE fleet_owner='{$CurrentUser['id']}'", 'fleets', true); $maxfleet_count = $maxfleet["ilosc"]; $fleet = doquery("SELECT * FROM {{table}} WHERE fleet_id = '" . $fleetid . "'", 'fleets', true); if (empty($fleet['fleet_group'])) { $rand = mt_rand(100000, 999999999); $aks_code_mr = "AG" . $rand; $aks_invited_mr = $CurrentUser['id']; doquery("INSERT INTO {{table}} SET\r\n\t\t\t`name` = '" . $aks_code_mr . "',\r\n\t\t\t`teilnehmer` = '" . $CurrentUser['id'] . "',\r\n\t\t\t`flotten` = '" . $fleetid . "',\r\n\t\t\t`ankunft` = '" . $fleet['fleet_start_time'] . "',\r\n\t\t\t`galaxy` = '" . $fleet['fleet_end_galaxy'] . "',\r\n\t\t\t`system` = '" . $fleet['fleet_end_system'] . "',\r\n\t\t\t`planet` = '" . $fleet['fleet_end_planet'] . "',\r\n\t\t\t`planet_type` = '" . $fleet['fleet_end_type'] . "',\r\n\t\t\t`eingeladen` = '" . $aks_invited_mr . "'\r\n\t\t\t", 'aks'); $aks = doquery("SELECT * FROM {{table}} WHERE\r\n\t\t\t`name` = '" . $aks_code_mr . "' AND\r\n\t\t\t`teilnehmer` = '" . $CurrentUser['id'] . "' AND\r\n\t\t\t`flotten` = '" . $fleetid . "' AND\r\n\t\t\t`ankunft` = '" . $fleet['fleet_start_time'] . "' AND\r\n\t\t\t`galaxy` = '" . $fleet['fleet_end_galaxy'] . "' AND\r\n\t\t\t`system` = '" . $fleet['fleet_end_system'] . "' AND\r\n\t\t\t`planet` = '" . $fleet['fleet_end_planet'] . "' AND\r\n\t\t\t`eingeladen` = '" . $CurrentUser['id'] . "'\r\n\t\t\t", 'aks', true); $aks_madnessred = doquery("SELECT * FROM {{table}} WHERE\r\n\t\t\t`name` = '" . $aks_code_mr . "' AND\r\n\t\t\t`teilnehmer` = '" . $CurrentUser['id'] . "' AND\r\n\t\t\t`flotten` = '" . $fleetid . "' AND\r\n\t\t\t`ankunft` = '" . $fleet['fleet_start_time'] . "' AND\r\n\t\t\t`galaxy` = '" . $fleet['fleet_end_galaxy'] . "' AND\r\n\t\t\t`system` = '" . $fleet['fleet_end_system'] . "' AND\r\n\t\t\t`planet` = '" . $fleet['fleet_end_planet'] . "' AND\r\n\t\t\t`eingeladen` = '" . $CurrentUser['id'] . "'\r\n\t\t\t", 'aks'); doquery("UPDATE {{table}} SET\r\n\t\t\tfleet_group = '" . $aks['id'] . "'\r\n\t\t\tWHERE\r\n\t\t\tfleet_id = '" . $fleetid . "'", 'fleets'); } else { $aks = doquery("SELECT * FROM {{table}} WHERE id = '" . $fleet['fleet_group'] . "'", 'aks'); $aks_madnessred = doquery("SELECT * FROM {{table}} WHERE id = '" . $fleet['fleet_group'] . "'", 'aks'); if (mysql_num_rows($aks) != 1) { exit(header("Location: game." . $phpEx . "?page=fleet")); } $aks = mysql_num_rows($aks); } $missiontype = array(1 => $lang['type_mission'][1], 2 => $lang['type_mission'][2], 3 => $lang['type_mission'][3], 4 => $lang['type_mission'][4], 5 => $lang['type_mission'][5], 6 => $lang['type_mission'][6], 7 => $lang['type_mission'][7], 8 => $lang['type_mission'][8], 9 => $lang['type_mission'][9], 15 => $lang['type_mission'][15], 16 => $lang['type_mission'][16], 17 => $lang['type_mission'][17]); $speed = array(10 => 100, 9 => 90, 8 => 80, 7 => 70, 6 => 60, 5 => 50, 4 => 40, 3 => 30, 2 => 20, 1 => 10); $galaxy = intval($_GET['galaxy']); $system = intval($_GET['system']); $planet = intval($_GET['planet']); $planettype = intval($_GET['planettype']); $target_mission = intval($_GET['target_mission']); if (!$galaxy) { $galaxy = $CurrentPlanet['galaxy']; } if (!$system) { $system = $CurrentPlanet['system']; } if (!$planet) { $planet = $CurrentPlanet['planet']; } if (!$planettype) { $planettype = $CurrentPlanet['planet_type']; } $ile = '' . (1 + $CurrentUser[$resource[108]]) + $CurrentUser['rpg_commandant'] * COMMANDANT . ''; $parse['ile'] = $ile; $fq = doquery("SELECT * FROM {{table}} WHERE fleet_owner='{$CurrentUser['id']}' AND fleet_mission <> 10", "fleets"); $i = 0; while ($f = mysql_fetch_array($fq)) { $i++; $page .= "<tr height=20><th>{$i}</th><th>"; $page .= "<a title=\"\">{$missiontype[$f[fleet_mission]]}</a>"; if ($f['fleet_start_time'] + 1 == $f['fleet_end_time']) { $page .= " <a title=\"" . $lang['fl_returning'] . "\">" . $lang['fl_r'] . "</a>"; } $page .= "</th><th><a title=\""; $fleet = explode(";", $f['fleet_array']); $e = 0; foreach ($fleet as $a => $b) { if ($b != '') { $e++; $a = explode(",", $b); $page .= "{$lang['tech'][$a[0]]}: {$a[1]}\n"; if ($e > 1) { $page .= "\t"; } } } $page .= "\">" . pretty_number($f[fleet_amount]) . "</a></th>"; $page .= "<th>[{$f[fleet_start_galaxy]}:{$f[fleet_start_system]}:{$f[fleet_start_planet]}]</th>"; $page .= "<th>" . gmdate("d. M Y H:i:s", $f['fleet_start_time']) . "</th>"; $page .= "<th>[{$f[fleet_end_galaxy]}:{$f[fleet_end_system]}:{$f[fleet_end_planet]}]</th>"; $page .= "<th>" . gmdate("d. M Y H:i:s", $f['fleet_end_time']) . "</th>"; $page .= " </form>"; $page .= "<th><font color=\"lime\"><div id=\"time_0\"><font>" . pretty_time(floor($f['fleet_end_time'] + 1 - time())) . "</font></th><th>"; if ($f['fleet_mess'] == 0) { $page .= "<form action=\"SendFleetBack.php\" method=\"post\">\r\n\t\t\t\t<input name=\"zawracanie\" value=" . $f['fleet_id'] . " type=hidden>\r\n\t\t\t\t<input value=\"" . $lang['fl_send_back'] . "\" type=\"submit\">\r\n\t\t\t\t</form></th>"; } else { $page .= " </th>"; } $page .= "</div></font></tr>"; } if ($i == 0) { $page .= "<th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th>"; } $parse['page1'] = $page; if ($ile == $maxfleet_count) { $maxflot = "<tr height=\"20\"><th colspan=\"9\"><font color=\"red\">" . $lang['fl_no_more_slots'] . "</font></th></tr>"; } while ($row = mysql_fetch_array($aks_madnessred)) { $aks_code_mr .= $row['name']; $aks_invited_mr .= $row['eingeladen']; } $parse['maxflot'] = $maxflot; $parse['aks_code_mr'] = $aks_code_mr; $members = explode(",", $aks_invited_mr); foreach ($members as $a => $b) { if ($b != '') { $member_qry_mr = doquery("SELECT `username` FROM {{table}} WHERE `id` ='" . $b . "' ;", 'users'); while ($row = mysql_fetch_array($member_qry_mr)) { $pageDos .= "<option>" . $row['username'] . "</option>"; } } } $parse['page2'] = $pageDos; $parse['fleetid'] = $_POST[fleetid]; $parse['aks_invited_mr'] = $aks_invited_mr; $parse['add_user_message_mr'] = $add_user_message_mr; if (!$CurrentPlanet) { exit(header("Location: game." . $phpEx . "?page=fleet")); } foreach ($reslist['fleet'] as $n => $i) { if ($CurrentPlanet[$resource[$i]] > 0) { if ($i == 202 or $i == 203 or $i == 204 or $i == 209 or $i == 210) { $pricelist[$i]['speed'] = $pricelist[$i]['speed'] + $pricelist[$i]['speed'] * $CurrentUser['combustion_tech'] * 0.1; } if ($i == 205 or $i == 206 or $i == 208 or $i == 211) { $pricelist[$i]['speed'] = $pricelist[$i]['speed'] + $pricelist[$i]['speed'] * $CurrentUser['impulse_motor_tech'] * 0.2; } if ($i == 207 or $i == 213 or $i == 214 or $i == 215 or $i == 216) { $pricelist[$i]['speed'] = $pricelist[$i]['speed'] + $pricelist[$i]['speed'] * $CurrentUser['hyperspace_motor_tech'] * 0.3; } $page3 .= '<tr height="20"> <th><a title="' . $lang[fl_fleet_speed] . ': ' . $pricelist[$i]['speed'] . '">' . $lang['tech'][$i] . '</a></th> <th>' . pretty_number($CurrentPlanet[$resource[$i]]) . ' <input type="hidden" name="maxship' . $i . '" value="' . $CurrentPlanet[$resource[$i]] . '"/></th> <input type="hidden" name="consumption' . $i . '" value="' . $pricelist[$i]['consumption'] . '"/> <input type="hidden" name="speed' . $i . '" value="' . $pricelist[$i]['speed'] . '" /> <input type="hidden" name="galaxy" value="' . $galaxy . '"/> <input type="hidden" name="system" value="' . $system . '"/> <input type="hidden" name="planet" value="' . $planet . '"/> <input type="hidden" name="planet_type" value="' . $planettype . '"/> <input type="hidden" name="mission" value="' . $target_mission . '"/> </th> <input type="hidden" name="capacity' . $i . '" value="' . $pricelist[$i]['capacity'] . '" /> </th>'; if ($i == 212) { $page3 .= '<th></th><th></th></tr>'; } else { $page3 .= '<th><a href="javascript:maxShip(\'ship' . $i . '\'); shortInfo();">' . $lang['fl_max'] . '</a> </th> <th><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()"/></th> </tr>'; $aaaaaaa = $pricelist[$i]['consumption']; } $have_ships = true; } } if (!$have_ships) { $page3 .= '<tr height="20"> <th colspan="4">' . $lang['fl_no_ships'] . '/th> </tr> <tr height="20"> <th colspan="4"> <input type="button" value="' . $lang['fl_continue'] . '" enabled/></th> </tr> </table> </center> </form>'; } else { $page3 .= ' <tr height="20"> <th colspan="2"><a href="javascript:noShips();shortInfo();noResources();" >' . $lang['fl_remove_all_ships'] . '</a></th> <th colspan="2"><a href="javascript:maxShips();shortInfo();" >' . $lang['fl_select_all_ships'] . '</a></th> </tr>'; $przydalej = '<tr height="20"><th colspan="4"><input type="submit" value="' . $lang['fl_continue'] . '" /></th></tr>'; if ($ile == $maxfleet_count) { $przydalej = ''; } $page3 .= ' ' . $przydalej . ' <tr><th colspan="4"> <br><center></center><br> </th></tr> </table> </center> </form>'; } $parse['page3'] = $page3; } display(parsetemplate(gettemplate('fleet/fleetACS_table'), $parse)); }
* * @version 1.1 Security checks by Gorlum for http://supernova.ws */ require_once 'includes/init.php'; global $debug, $sn_mvc, $template_result, $user; // Напоминание для Администрации, что игра отключена if ($template_result[F_GAME_DISABLE]) { // $disable_reason = sys_bbcodeParse($config->game_disable_reason); // Должна быть инициализирована выше по коду - в init.php echo '<div class="global_admin_warning">', $template_result[F_GAME_DISABLE_REASON], '</div>'; } unset($disable_reason); if (defined('IN_ADMIN') && IN_ADMIN === true) { lng_include('admin'); } elseif ($sys_user_logged_in) { sys_user_vacation($user); $planet_id = SetSelectedPlanet($user); // TODO НЕ НУЖНО АЛЬЯНС КАЖДЫЙ РАЗ ОБНОВЛЯТЬ!!! if ($user['ally_id']) { sn_db_transaction_start(); sn_ali_fill_user_ally($user); if (!$user['ally']['player']['id']) { sn_sys_logout(false, true); $debug->error("User ID {$user['id']} has ally ID {$user['ally_id']} but no ally info", 'User record error', 502); } // TODO UNCOMMENT que_process($user['ally']['player']); db_user_set_by_id($user['ally']['player']['id'], '`onlinetime` = ' . SN_TIME_NOW); sn_db_transaction_commit(); } // TODO - в режиме эмуляции, на самом деле! sn_db_transaction_start();
function ShowFleetSacPage($CurrentUser, $CurrentPlanet) { global $resource, $pricelist, $reslist, $phpEx, $lang, $db, $displays, $users; //$parse = $lang; $displays->assignContent('fleet/fleetACS_table'); //, $parse) $fleetid = $_POST['fleetid']; //Comprobación de si es o no un número el id de la flota. if (!is_numeric($fleetid) || empty($fleetid)) { exit(header("Location: game." . $phpEx . "?page=fleet")); } //Si no está vacÃo el campo "invitar usuario" procedemos if (isset($_POST['invited'])) { $added_user_id_mr = count($_POST['invited']); //Si las id de los usuarios añadidos es mayor que 0 (es decir, si se ha invitado a alguien) if ($added_user_id_mr > 0) { $aks = $db->query("SELECT invited FROM {{table}} WHERE\r\n\t\t\t`fleet_id` = '" . $fleetid . "'", 'sac', true); $array = explode(",", $aks["invited"]); //Declaramos el nuevo grupo de ataque con el invitador, y los invitados $new_eingeladen_mr = ""; foreach ($_POST['invited'] as $id) { if (!in_array($id, $array)) { $not_yet_invited[] = $id; } $new_eingeladen_mr .= $id . ","; } $new_eingeladen_mr = substr_replace($new_eingeladen_mr, '', -1); //Actualizamos la base de datos poniendo en el campo `ìnvited` el grupo invitado $db->query("UPDATE {{table}} SET `invited` = '" . $new_eingeladen_mr . "' WHERE fleet_id={$fleetid} ;", 'sac'); } /*else{ $db->query("UPDATE {{table}} SET `invited` = '' WHERE fleet_id={$fleetid} ;",'sac'); }*/ //Mandamos el mensaje al usuario/s invitado/s para que puedan proceder a mandar flota $invite_message = $lang['fl_player'] . $CurrentUser['username'] . $lang['fl_acs_invitation_message']; foreach ($_POST['invited'] as $id) { if (is_array($not_yet_invited)) { if (in_array($id, $not_yet_invited)) { $users->SendSimpleMessage($id, $CurrentUser['id'], time(), 1, $CurrentUser['username'], $lang['fl_acs_invitation_title'], $invite_message); } } } exit; } elseif (isset($_POST['invited']) && empty($_POST['invited'])) { $db->query("UPDATE {{table}} SET `invited` = '' WHERE fleet_id={$fleetid} ;", 'sac'); exit; } if (isset($_POST["sac_name"])) { /*$aks = $db->query( "SELECT name FROM {{table}} WHERE `fleet_id` = '" . $fleetid . "'", 'sac', true); if($aks["name"]!=$_POST["sac_name"]){ $db->query("UPDATE {{table}} SET `name` = '{$_POST["sac_name"]}' WHERE fleet_id={$fleetid} ;",'sac'); }*/ echo "cambiado"; exit; } //Imprimimos el id de la flota //echo $fleetid; //Seleccionamos la flota con el id anterior de la tabla de flotas $query = $db->query("SELECT * FROM {{table}} WHERE fleet_id = '" . $fleetid . "'", 'fleets'); //Si no hay ninguna fila en la tabla de datos que corresponda con esa id nos devuelve a la página de flotas inicial if (mysql_num_rows($query) != 1) { exit(header("Location: game." . $phpEx . "?page=fleet")); } //Recogemos todos los datos obtenidos con $query en un array llamado $daten $daten = mysql_fetch_array($query); //Si la hora de salida de la flota es menor que la hora actual o que la hora final es menor que la hora actual //O si la flota está volviendo nos devuelve a la página inicial de flotas. if ($daten['fleet_start_time'] < time() || $daten['fleet_end_time'] < time() || $daten['fleet_mess'] == 1) { exit(header("Location: game." . $phpEx . "?page=fleet")); } //Si no se ha enviado la flota if (!isset($_POST['send'])) { //Seleccionamos el planeta del usuario actual SetSelectedPlanet($CurrentUser); //Realizamos querys para recoger todos los datos del planeta actual //Y para saber el numero de flotas enviadas $galaxyrow = $db->query("SELECT * FROM {{table}} WHERE `id_planet` = '" . $CurrentPlanet['id'] . "';", 'galaxy', true); $maxfleet = $db->query("SELECT COUNT(fleet_owner) as ilosc FROM {{table}} WHERE fleet_owner='{$CurrentUser['id']}'", 'fleets', true); $maxfleet_count = $maxfleet["ilosc"]; //Seleccionamos todos los datos de la flota (tabla 'fleets') en un array $fleet. $fleet = $db->query("SELECT * FROM {{table}} WHERE fleet_id = '" . $fleetid . "'", 'fleets', true); //Si la flota no pertenece a ningun grupo if (empty($fleet['fleet_group'])) { //Se establece el nombre del SAC mediante un número aleatorio detrás de las letras "SVN" $rand = mt_rand(100000, 999999999); $aks_code_mr = "SVN" . $rand; //Definimos "$aks_invited_mr" como el usuario que ha invitado al resto $aks_invited_mr = $CurrentUser['id'] . ',' . $added_user_id_mr; //Introducimos todos los datos del SAC en la tabla correspondiente $db->query("INSERT INTO {{table}} SET\r\n\t\t\t`name` = '" . $aks_code_mr . "',\r\n\t\t\t`origen_id` = '" . $CurrentUser['id'] . "',\r\n\t\t\t`fleet_id` = '" . $fleetid . "',\r\n\t\t\t`time` = '" . $fleet['fleet_start_time'] . "',\r\n\t\t\t`galaxy` = '" . $fleet['fleet_end_galaxy'] . "',\r\n\t\t\t`system` = '" . $fleet['fleet_end_system'] . "',\r\n\t\t\t`planet` = '" . $fleet['fleet_end_planet'] . "',\r\n\t\t\t`type` = '" . $fleet['fleet_end_type'] . "',\r\n\t\t\t`accept` = '" . $aks_invited_mr . "'\r\n\t\t\t", 'sac'); //Seleccionamos todos los datos en un array $aks $aks = $db->query("SELECT * FROM {{table}} WHERE\r\n\t\t\t`name` = '" . $aks_code_mr . "' AND\r\n\t\t\t`origen_id` = '" . $CurrentUser['id'] . "' AND\r\n\t\t\t`fleet_id` = '" . $fleetid . "' AND\r\n\t\t\t`time` = '" . $fleet['fleet_start_time'] . "' AND\r\n\t\t\t`galaxy` = '" . $fleet['fleet_end_galaxy'] . "' AND\r\n\t\t\t`system` = '" . $fleet['fleet_end_system'] . "' AND\r\n\t\t\t`planet` = '" . $fleet['fleet_end_planet'] . "'\r\n\t\t\t", 'sac', true); //print_r($aks); $aks_madnessred = $db->query("SELECT * FROM {{table}} WHERE\r\n\t\t\t`name` = '" . $aks_code_mr . "' AND\r\n\t\t\t`origen_id` = '" . $CurrentUser['id'] . "' AND\r\n\t\t\t`fleet_id` = '" . $fleetid . "' AND\r\n\t\t\t`time` = '" . $fleet['fleet_start_time'] . "' AND\r\n\t\t\t`galaxy` = '" . $fleet['fleet_end_galaxy'] . "' AND\r\n\t\t\t`system` = '" . $fleet['fleet_end_system'] . "' AND\r\n\t\t\t`planet` = '" . $fleet['fleet_end_planet'] . "'\r\n\t\t\t", 'sac'); //Actualizamos la tabla fleets con el id del grupo de la flota $db->query("UPDATE {{table}} SET\r\n\t\t\tfleet_group = '" . $aks['id'] . "',\r\n fleet_mission = '2' \r\n\t\t\tWHERE\r\n\t\t\tfleet_id = '" . $fleetid . "'", 'fleets'); } else { //Seleccionamos los datos del sac que corresponden con la id del grupo de la flota. $aks = $db->query("SELECT * FROM {{table}} WHERE id = '" . $fleet['fleet_group'] . "'", 'sac'); $aks_madnessred = $db->query("SELECT * FROM {{table}} WHERE id = '" . $fleet['fleet_group'] . "'", 'sac'); //Si hay más de una fila afectada por la query de $aks nos echan a la pagina de flotas principal if (mysql_num_rows($aks) != 1) { exit(header("Location: game." . $phpEx . "?page=fleet")); } //Redeclaramos la variable $aks con las filas afectadas por su query $aks = mysql_num_rows($aks); } //Declaramos los tipos de misión (Atacar, transportar..) $missiontype = array(1 => $lang['type_mission'][1], 2 => $lang['type_mission'][2], 3 => $lang['type_mission'][3], 4 => $lang['type_mission'][4], 5 => $lang['type_mission'][5], 6 => $lang['type_mission'][6], 7 => $lang['type_mission'][7], 8 => $lang['type_mission'][8], 9 => $lang['type_mission'][9], 15 => $lang['type_mission'][15], 16 => $lang['type_mission'][16], 17 => $lang['type_mission'][17]); //Array con velocidades.. $speed = array(10 => 100, 9 => 90, 8 => 80, 7 => 70, 6 => 60, 5 => 50, 4 => 40, 3 => 30, 2 => 20, 1 => 10); //Datos de galaxia, sistema solar, posición planetaria, tipo de planeta o //misión escogida. $galaxy = intval($_GET['galaxy']); $system = intval($_GET['system']); $planet = intval($_GET['planet']); $planettype = intval($_GET['planettype']); $target_mission = intval($_GET['target_mission']); //Si no hay galaxia escogida se pone la del planeta propio if (!$galaxy) { $galaxy = $CurrentPlanet['galaxy']; } //Si no hay sistema escogido se pone la del planeta propio if (!$system) { $system = $CurrentPlanet['system']; } //Si no hay planeta escogido se pone la del planeta propio if (!$planet) { $planet = $CurrentPlanet['planet']; } //Si no hay tipo de planeta escogido se pone la del planeta propio if (!$planettype) { $planettype = $CurrentPlanet['planet_type']; } //Slots de flota $ile = '' . (1 + $CurrentUser[$resource[108]]) + $CurrentUser['rpg_commandant'] * 3 . ''; $parse['ile'] = $ile; //Seleccionamos toda la información de flotas que tengan como owner al propio usuario $fq = $db->query("SELECT * FROM {{table}} WHERE fleet_owner='{$CurrentUser['id']}' AND fleet_mission <> 10", "fleets"); //Iniciamos un bucle con $f array de los resultados de $fq $i = 0; while ($f = mysql_fetch_array($fq)) { $i++; //Formamos la página 1 de flotas. $page .= "<tr height=20><th>{$i}</th><th>"; $page .= "<a title=\"\">{$missiontype[$f[fleet_mission]]}</a>"; //Si la hora de salida de la flota y la final es la misma -1 se pone un mensaje de flota regresando if ($f['fleet_start_time'] + 1 == $f['fleet_end_time']) { $page .= " <a title=\"" . $lang['fl_returning'] . "\">" . $lang['fl_r'] . "</a>"; } $page .= "</th><th><a title=\""; //Se separa la flota en sus naves $fleet = explode(";", $f['fleet_array']); $e = 0; foreach ($fleet as $a => $b) { //Si $b no es nulo if ($b != '') { //Incrementamos en 1 $e y en $a metemos los códigos de las naves (200, 201..) $e++; $a = explode(",", $b); //En la página añadimos la nave y la cantidad que hay $page .= "{$lang['tech'][$a[0]]}: {$a[1]}\n"; if ($e > 1) { // Si $e es mayor que 1 se hace una tabulación $page .= "\t"; } } } //Damos formato a la cantidad de flota $page .= "\">" . pretty_number($f[fleet_amount]) . "</a></th>"; //Colocamos las coordenadas separadas por ":" $page .= "<th>[{$f[fleet_start_galaxy]}:{$f[fleet_start_system]}:{$f[fleet_start_planet]}]</th>"; //Ponemos la fecha de salida en formato D M Y H:i:s $page .= "<th>" . gmdate("d. M Y H:i:s", $f['fleet_start_time']) . "</th>"; //Coordenadas objetivo $page .= "<th>[{$f[fleet_end_galaxy]}:{$f[fleet_end_system]}:{$f[fleet_end_planet]}]</th>"; //Ponemos la fecha de llegada en el mismo formato anterior $page .= "<th>" . gmdate("d. M Y H:i:s", $f['fleet_end_time']) . "</th>"; $page .= " </form>"; //Ponemos color al tiempo $page .= "<th><font color=\"lime\"><div id=\"time_0\"><font>" . pretty_time(floor($f['fleet_end_time'] + 1 - time())) . "</font></th><th>"; //Si la flota está yendo if ($f['fleet_mess'] == 0) { //Ponemos pulsable el boton de volver la flota a casa $page .= "<form action=\"?page=fleetback\" method=\"post\">\r\n\t\t\t\t<input name=\"fleetid\" value=\"" . $f['fleet_id'] . "\" type=\"hidden\">\r\n\t\t\t\t<input value=\"" . $lang['fl_send_back'] . "\" type=\"submit\">\r\n\t\t\t\t</form></th>"; } else { //Si está volviendo no ponemos el boton de volver a casa $page .= " </th>"; } //Terminamos el formato $page .= "</div></font></tr>"; } //Si el valor de $i no se ha modificado ponemos guiones en el lugar de la flota if ($i == 0) { $page .= "<th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th><th>-</th>"; } //Mostramos la página 1 de flotas $parse['page1'] = $page; //Si están todos los slots de flota ocupados lo ponemos en rojo if ($ile == $maxfleet_count) { $maxflot = "<tr height=\"20\"><th colspan=\"9\"><font color=\"red\">" . $lang['fl_no_more_slots'] . "</font></th></tr>"; } //Establecemos un bucle mientras $row contenga el array de los resultados de $aks_madnessred while ($row = mysql_fetch_array($aks_madnessred)) { //Nombre del SAC $aks_code_mr = $row['name']; //Miembros que han aceptado la invitacion $aks_invited_mr .= $row['invited']; } //Definimos las flotas enviadas y los miembros invitados (he modificado $row['accept'] por $row['invited'] //tratando de corregir el problema de que los "invitados" no pueden enviar flota $parse['maxflot'] = $maxflot; $parse['aks_code_mr'] = $aks_code_mr; //Separamos los miembros por comas y los almacenamos en dimensiones del array diferentes $members = explode(",", $aks_invited_mr); /*foreach($members as $a => $b) { //Cuando $b no sea nulo haremos if ($b != '') { //Definimos una variable con los nombres de los invitados $member_qry_mr = $db->query("SELECT `username` FROM {{table}} WHERE `id` ='".$b."' ;",'users'); //$row será un array con los nombres de los invitados while($row = mysql_fetch_array($member_qry_mr)) { //Los añadimos a una "selección" $pageDos .= "<option>".$row['username']."</option>"; } } }*/ $member_qry_mr = $db->query("SELECT u.username,u.id FROM {{table}}users as u\r\n LEFT JOIN {{table}}buddy as b\r\n ON ( u.id=b.sender AND b.owner ='{$CurrentUser["id"]}')\r\n OR ( u.id=b.owner AND b.sender='{$CurrentUser["id"]}')\r\n WHERE (b.sender='{$CurrentUser["id"]}' OR b.owner='{$CurrentUser["id"]}')\r\n OR (u.ally_id='{$CurrentUser["ally_id"]}' AND u.id!='{$CurrentUser["id"]}'); ", ''); $pageDos = ""; //$row será un array con los nombres de los invitados while ($row = mysql_fetch_assoc($member_qry_mr)) { //Los añadimos a una "selección" //REVISAR XDD $(this).clone().appendTo('#invited');$(this).remove(); if (!in_array($row['id'], $members)) { $pageDos .= "<option value=" . $row['id'] . " >" . $row['username'] . "</option>"; } else { $pageDos2 .= "<option value=" . $row['id'] . " >" . $row['username'] . "</option>"; } } //Mostramos la página 2, la ID de la flota, los miembros imbitados y el mensaje de invitar usuario al SAC $parse['page2'] = $pageDos; $parse['page22'] = $pageDos2; $parse['fleetid'] = $_POST['fleetid']; $parse['aks_invited_mr'] = $aks_invited_mr; $parse['add_user_message_mr'] = $add_user_message_mr; //Si no estamos en el planeta actual nos devuelve a la pagina 1 de flotas if (!$CurrentPlanet) { exit(header("Location: game." . $phpEx . "?page=fleet")); } //Vamos comprobando las naves foreach ($reslist['fleet'] as $n => $i) { //Siempre que las naves del planeta sean mayor que 0 if ($CurrentPlanet[$resource[$i]] > 0) { //Vamos comparando las naves con cada una y se pone la velocidad, dependiendo del motor usado if ($i == 202 or $i == 203 or $i == 204 or $i == 209 or $i == 210) { $pricelist[$i]['speed'] = $pricelist[$i]['speed'] + $pricelist[$i]['speed'] * $CurrentUser['combustion_tech'] * 0.1; } if ($i == 205 or $i == 206 or $i == 208 or $i == 211) { $pricelist[$i]['speed'] = $pricelist[$i]['speed'] + $pricelist[$i]['speed'] * $CurrentUser['impulse_motor_tech'] * 0.2; } if ($i == 207 or $i == 213 or $i == 214 or $i == 215 or $i == 216) { $pricelist[$i]['speed'] = $pricelist[$i]['speed'] + $pricelist[$i]['speed'] * $CurrentUser['hyperspace_motor_tech'] * 0.3; } //Ponemos la página 3 con toda la información de la flota, pasada por referidos a otra página. $page3 .= '<tr height="20"> <th><a title="' . $lang[fl_fleet_speed] . ': ' . $pricelist[$i]['speed'] . '">' . $lang['tech'][$i] . '</a></th> <th>' . pretty_number($CurrentPlanet[$resource[$i]]) . ' <input type="hidden" name="maxship' . $i . '" value="' . $CurrentPlanet[$resource[$i]] . '"/></th> <input type="hidden" name="consumption' . $i . '" value="' . $pricelist[$i]['consumption'] . '"/> <input type="hidden" name="speed' . $i . '" value="' . $pricelist[$i]['speed'] . '" /> <input type="hidden" name="galaxy" value="' . $galaxy . '"/> <input type="hidden" name="system" value="' . $system . '"/> <input type="hidden" name="planet" value="' . $planet . '"/> <input type="hidden" name="planet_type" value="' . $planettype . '"/> <input type="hidden" name="mission" value="' . $target_mission . '"/> </th> <input type="hidden" name="capacity' . $i . '" value="' . $pricelist[$i]['capacity'] . '" /> </th>'; if ($i == 212) { //si son satélites solares no ponemos nada $page3 .= '<th></th><th></th></tr>'; } else { //Si no son satélites ponemos el botón de máximo número de naves $page3 .= '<th><a href="javascript:maxShip(\'ship' . $i . '\'); shortInfo();">' . $lang['fl_max'] . '</a> </th> <th><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()"/></th> </tr>'; //Variable cachondÃsima con el consumo de cada nave $aaaaaaa = $pricelist[$i]['consumption']; } //Tenemos naves = Verdadero (Obvio(?)) $have_ships = true; } } //Si no tenemos naves mostramos un mensaje que dice que no hay naves if (!$have_ships) { $page3 .= '<tr height="20"> <th colspan="4">' . $lang['fl_no_ships'] . '/th> </tr> <tr height="20"> <th colspan="4"> <input type="button" value="' . $lang['fl_continue'] . '" enabled/></th> </tr> </table> </center> </form>'; } else { //Mostramos el boton de seleccionar todas o ninguna $page3 .= ' <tr height="20"> <th colspan="2"><a href="javascript:noShips();shortInfo();noResources();" >' . $lang['fl_remove_all_ships'] . '</a></th> <th colspan="2"><a href="javascript:maxShips();shortInfo();" >' . $lang['fl_select_all_ships'] . '</a></th> </tr>'; //Boton de continuar, claramente representado por el nombre de la variable $przydalej = '<tr height="20"><th colspan="4"><input type="submit" value="' . $lang['fl_continue'] . '" /></th></tr>'; //Si todos los slots están ocupados no aparece mensaje if ($ile == $maxfleet_count) { $przydalej = ''; } //Vamos completando la página 3 con el boton de continuar en el centro $page3 .= ' ' . $przydalej . ' <tr><th colspan="4"> <br><center></center><br> </th></tr> </table> </center> </form>'; } //Mostramos la página 3 $parse['page3'] = $page3; } //Mostramos la página foreach ($parse as $key => $value) { $displays->assign($key, $value); } $displays->display(); }