<?php
/**
 * V 1.0 : 	This file is part of XNova:Legacies
 *			@license http://www.gnu.org/licenses/gpl-3.0.txt
 * 			@see http://www.xnova-ng.org/
 *			Copyright (c) 2009-Present, XNova Support Team <http://www.xnova-ng.org>
 * 			All rights reserved.
 *
 * V 1.1 : 	Modification by Dudule Uni10 afin d'éviter les phalanges de lune à lune !
 * V 1.2 :  Modification by Dudule Uni10 afin d'éviter les phalanges de position non colonisé !
 * V 1.3 :  Modification by Dudule Uni10 afin d'éviter les phalanges hors position et intergalaxies lors d'un copier coller de l'URL et la modification de celle ci !
 *
 */

define('INSIDE' , true);
define('INSTALL' , false);
require_once dirname(__FILE__) .'/common.php';

	includeLang('overview');
	includeLang('phalanx');
	
	$PageTPL     = gettemplate('phalanx_body');
	$PhalanxMoon = doquery ("SELECT * FROM {{table}} WHERE `id` = '". $user['current_planet'] ."';", 'planets', true);

	if ( $PhalanxMoon['planet_type'] == 3) {
		$parse                     = $lang;

		$parse['phl_pl_galaxy']    = $PhalanxMoon['galaxy'];
		$parse['phl_pl_system']    = $PhalanxMoon['system'];
		$parse['phl_pl_place']     = $PhalanxMoon['planet'];
		$parse['phl_pl_name']      = $user['username'];

		if ( $PhalanxMoon['deuterium'] > 10000 ) {
			doquery ("UPDATE {{table}} SET `deuterium` = `deuterium` - '10000' WHERE `id` = '". $user['current_planet'] ."';", 'planets');
			$parse['phl_er_deuter'] = "";
			$DoScan                 = true;
		} else {
			$parse['phl_er_deuter'] = $lang['phl_no_deuter'];
			$DoScan                 = false;
		}

		if ($DoScan == true) {
			$Galaxy  = $_GET["galaxy"];
			$System  = $_GET["system"];
			$Planet  = $_GET["planet"];
			$PlType  = $_GET["planettype"];
			
			//Modification by Dudule Uni10 afin d'éviter les phalanges hors porté et inter-galaxies !
			//Recuperation du niveau de la phalange et calcul de sa portée.
			$NiveauPhalange = $PhalanxMoon['phalanx'];
			$PorteeCapteur = (($NiveauPhalange)*($NiveauPhalange)) - 1;
			
			// Calcul si hors portée ou non. Etape 1 : Check la galaxie.
			if ($Galaxy != $PhalanxMoon['galaxy'] ) {
				message ('Seul chuck Norris peut phalanger à travers les galaxies !');
			}
			// Calcul si hors portée ou non. Etape 2 : Check les système solaire.
			if (($System - $PhalanxMoon['system']) >= 0) {
				if (($System - $PhalanxMoon['system']) > $PorteeCapteur)  {
				message ('Votre phalange ne peut pas capter des flottes à cette distance');
				} 
			} else {
				if (($PhalanxMoon['system'] - $System) > $PorteeCapteur) {
				message ('Votre phalange ne peut pas capter des flottes à cette distance');
				}
			}
	
			//Modification by Dudule Uni10 afin d'éviter les phalanges de lune à lune !
			if ($PlType != 1) {			
				$PlType  = 0; 
				message ('Seul Chuck Norris peut phalanger des lunes ou des champs de ruines, et sans phalange, pour dire !');
			}
			
			//Modification by Dudule Uni10 afin d'éviter les phalanges de position libre !
			//Determination si la position est colonisé où non
			$select = doquery("SELECT * FROM {{table}} WHERE `galaxy` = '". $Galaxy ."' AND `system` = '". $System ."' AND `planet` = '". $Planet ."' AND `planet_type` = '". $PlType ."';", 'planets', true);
			if (!empty($select['id_owner'])) {
				$UsedPlanet = 1;
			} else {
				$UsedPlanet = 0;
			}
			//Si la position est pas colonisé, on envoie un jolie message.	
			if ($UsedPlanet != 1 ) {
			$PlType  = 0; 
			message ('Seul Chuck Norris peut phalanger des positions vides, et sans phalange, pour dire !');
			}
			
			//Tous les tests sont passé sans soucis, on recupere les infos de flottes en vols.			
			$TargetInfo = doquery("SELECT * FROM {{table}} WHERE `galaxy` = '". $Galaxy ."' AND `system` = '". $System ."' AND `planet` = '". $Planet ."' AND `planet_type` = '". $PlType ."';", 'planets', true);
			$TargetName = $TargetInfo['name'];

			$QryLookFleets  = "SELECT * ";
			$QryLookFleets .= "FROM {{table}} ";
			$QryLookFleets .= "WHERE ( ( ";
			$QryLookFleets .= "`fleet_start_galaxy` = '". $Galaxy ."' AND ";
			$QryLookFleets .= "`fleet_start_system` = '". $System ."' AND ";
			$QryLookFleets .= "`fleet_start_planet` = '". $Planet ."' AND ";
			$QryLookFleets .= "`fleet_start_type` = '". $PlType ."' ";
			$QryLookFleets .= ") OR ( ";
			$QryLookFleets .= "`fleet_end_galaxy` = '". $Galaxy ."' AND ";
			$QryLookFleets .= "`fleet_end_system` = '". $System ."' AND ";
			$QryLookFleets .= "`fleet_end_planet` = '". $Planet ."' AND ";
			$QryLookFleets .= "`fleet_end_type` = '". $PlType ."' ";
			$QryLookFleets .= ") ) ";
			$QryLookFleets .= "ORDER BY `fleet_start_time`;";

			$FleetToTarget  = doquery( $QryLookFleets, 'fleets' );

			if (mysql_num_rows($FleetToTarget) <> 0 ) {
				while ($FleetRow = mysql_fetch_array($FleetToTarget)) {
					$Record++;

					// Discrimination de l'heure
					$StartTime   = $FleetRow['fleet_start_time'];
					$StayTime    = $FleetRow['fleet_end_stay'];
					$EndTime     = $FleetRow['fleet_end_time'];

					// Flotte hostile ? ou pas ??
					if ($FleetRow['fleet_owner'] == $TargetInfo['id_owner']) {
						$FleetType = true;
					} else {
						$FleetType = false;
					}

					// Masquage des ressources transport�es
					$FleetRow['fleet_resource_metal']     = 0;
					$FleetRow['fleet_resource_crystal']   = 0;
					$FleetRow['fleet_resource_deuterium'] = 0;

					$Label = "fs";
					if ($StartTime > time()) {
						$fpage[$StartTime] = BuildFleetEventTable ( $FleetRow, 0, $FleetType, $Label, $Record );
					}

					if ($FleetRow['fleet_mission'] <> 4) {
						$Label = "ft";
						if ($StayTime > time()) {
							$fpage[$StayTime] = BuildFleetEventTable ( $FleetRow, 1, $FleetType, $Label, $Record );
						}

						if ($FleetType == true) {
							// On n'affiche les flottes en retour que pour les flottes du possesseur de la planete
							$Label = "fe";
							if ($EndTime > time()) {
								$fpage[$EndTime]  = BuildFleetEventTable ( $FleetRow, 2, $FleetType, $Label, $Record );
							}
						}
					}
				} // End While
			}

			if (count($fpage) > 0) {
				ksort($fpage);
				foreach ($fpage as $FleetTime => $FleetContent) {
					$Fleets .= $FleetContent ."\n";
				}
			}
		}

		$parse['phl_fleets_table'] = $Fleets;
		$page = parsetemplate( $PageTPL, $parse );
	}

	display ($page, $lang['sys_phalanx'], false, '', false);

?>
