<?php
/**
 * Class Rapport
 *
 * Génération et envoie de rapport de mission de flotte
 *
 */
class Rapport{
	var $table = 'mail';
	var $type = 0;
	var $var = array();
	var $utilA = 0;
	var $utilB = 0;
	var $timestamp = 0;
	var $basededonnes;

	/**
	 * Constructor
	 * @access protected
	 */
	function Rapport($type, $utilA, $utilB, $time){
		global $table_mail;
		$this->table = $table_mail;

		$this->type = $type;
		$this->utilA = $utilA;
		$this->utilB = $utilB;
		$this->timestamp = $time;
		$this->basededonnes = new bdd();
	}

	function addInfo($info, $id){
		$this->var[$id] = $info;
	}

	function send(){
		if ($this->type == '1') $this->sendCombat();
		elseif ($this->type == '2') $this->sendTransport();
		elseif ($this->type == '3') $this->sendColonisation();
		elseif ($this->type == '4') $this->sendRecyclage();
		elseif ($this->type == '5') $this->sendEspionnage();
		elseif ($this->type == '6') $this->sendAlliance();
		elseif ($this->type == '7') $this->sendAlliance2();
	}

	function sendEspionnage(){
		global $config;
		include_once(_FCORE."../game/function.php");
		$titreA = 'Rapport d\'espionnage de '.$this->var[0]['nom_planete'].' ['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].']';
		$rapportA = '<b>Espionnage de '.trouvNom($this->utilB).' sur '.$this->var[0]['nom_planete'].'['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].']</b><br /><br />';

		$race = trouvInfo($this->utilB, 'race');
		$auth_level = 0;
		include(_FCORE."../game/noms.php");
		include(_FCORE."../game/vars.php");

		if (isset($this->var[1]) && $this->var[1] == false) $rapportA .= '<i>Nos sondes n\'ont pas pu récolter d\'information sur cette planète.</i>';
		else {
			$rapportA .= '<table style="margin: auto;"><tr><th colspan="2">Ressources sur la planète :</th></tr><tr><td>Métal :</td><td>'.$this->var[0]['metal'].'</td></tr><tr><td>Cristal :</td><td>'.$this->var[0]['cristal'].'</td></tr><tr><td>Hydrogène :</td><td>'.$this->var[0]['hydrogene'].'</td></tr></table><br />';
			if (isset($this->var[1]) && $this->var[1] == true) {
				$rapportA .= '<table style="margin: auto;"><tr><th>Nombre</th><th>Vaisseaux</th></tr>';
				$nbvais = count($nomvaisn);
				for($i=1 ; $i<$nbvais ; $i++) {
					if ($this->var[0]['vaisseau_'.$i] >= 1) $rapportA .= '<tr><td>'.$this->var[0]['vaisseau_'.$i].'</td><td>'.$nomvaisn[$i-1].'</td></tr>';
				}
				$rapportA .= '</table><br />';
			}
			if (isset($this->var[2]) && $this->var[2] == true) {
				$rapportA .= '<table style="margin: auto;"><tr><th>Nombre</th><th>Défenses</th></tr>';
				$nbdef = count($nomterrn) - 7;
				for($i=1 ; $i<$nbdef ; $i++) {
					if ($this->var[0]['def_'.$i] >= 1) $rapportA .= '<tr><td>'.$this->var[0]['def_'.$i].'</td><td>'.$nomterrn[$i+7].'</td></tr>';
				}
				$rapportA .= '</table><br />';
			}
			if (isset($this->var[3]) && $this->var[3] == true) {
				$rapportA .= '<table style="margin: auto;"><tr><th>Niveau</th><th>Batiment</th></tr>';
				$nbbat = count($batiment);
				for($i=1 ; $i<$nbbat ; $i++) {
					if ($this->var[0][$batimentVAR[$i-1]] >= 1) $rapportA .= '<tr><td>'.$this->var[0][$batimentVAR[$i-1]].'</td><td>'.$batiment[$i-1].'</td></tr>';
				}
				$rapportA .= '</table><br />';
			}
			if (isset($this->var[4]) && is_array($this->var[4])) {
				$rapportA .= '<table style="margin: auto;"><tr><th>Niveau</th><th>Technologie</th></tr>';
				$nbtec = count($technolo);
				for($i=1 ; $i<$nbtec ; $i++) {
					if ($this->var[4][$technoloVAR[$i-1]] >= 1) $rapportA .= '<tr><td>'.$this->var[4][$technoloVAR[$i-1]].'</td><td>'.$technolo[$i-1].'</td></tr>';
				}
				$rapportA .= '</table><br />';
			}
			if (isset($this->var[5]) && is_array($this->var[5])) {
				//ISOLEMENT
			}
		}

		$titreB = 'Rapport de contre-espionnage';
		$rapportB = 'Nous venons d\'apprendre que notre planète : '.$this->var[0]['nom_planete'].'['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].'] a été la cible d\'un espionnage de la part de '.trouvNom($this->utilA);

		$temps = $this->timestamp;
		$db = new bdd();
		$db->connexion();
		$db->escape($titreA);
		$db->escape($titreB);
		$db->escape($rapportA);
		$db->escape($rapportB);
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA.", '$titreA', '$rapportA', '$temps')");
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilB.", '$titreB', '$rapportB', '$temps')");
		$db->deconnexion();
	}

	function sendTransport(){
		global $config;
		include_once(_FCORE."../game/function.php");
		$titre = 'Transport vers '.$this->var[0]['nom_planete'].' ['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].']';

		$race = trouvInfo($this->utilA, 'race');
		include(_FCORE."../game/noms.php");
		$rapportA = 'Vos vaisseaux ont déposé '.$this->var[1][0].' de '.$ressourc[0].', '.$this->var[1][1].' de '.$ressourc[1].' et '.$this->var[1][2].' d\''.$ressourc[2].' sur '.$this->var[0]['nom_planete'].'['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].']</b><br /><br />';

		$race = trouvInfo($this->utilB, 'race');
		include(_FCORE."../game/noms.php");
		$rapportB = 'Les vaisseaux de '.trouvNom($this->utilA).' ont déposé '.$this->var[1][0].' de '.$ressourc[0].', '.$this->var[1][1].' de '.$ressourc[1].' et '.$this->var[1][2].' d\''.$ressourc[2].' sur '.$this->var[0]['nom_planete'].'['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].']</b><br /><br />';

		$temps = $this->timestamp;
		$db = new bdd();
		$db->connexion();
		$db->escape($titre);
		$db->escape($rapportA);
		$db->escape($rapportB);

		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA.", '$titre', '$rapportA', '$temps')");
		if ($this->utilA != $this->utilB) $db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilB.", '$titre', '$rapportB', '$temps')");
		$db->deconnexion();
	}

	function sendColonisation(){
		include_once(_FCORE."../game/function.php");
		$titre = 'Colonisation de ['.$this->var[0][0].':'.$this->var[0][1].':'.$this->var[0][2].']';
		if ($this->var[1]) $rapport = 'Votre vaisseau a atteint la planète ['.$this->var[0][0].':'.$this->var[0][1].':'.$this->var[0][2].'] et commence la colonisation.';
		else $rapport = 'Nous n\'avons pas pu coloniser la planète ['.$this->var[0][0].':'.$this->var[0][1].':'.$this->var[0][2].'] car lorsque nous sommes arrivé sur place, elle était déjà colonisée.';

		$temps = $this->timestamp;
		$db = new bdd();
		$db->connexion();
		$db->escape($titre);
		$db->escape($rapport);
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA.", '$titre', '$rapport', '$temps')");
		$db->deconnexion();
	}

	function sendRecyclage(){
		include_once(_FCORE."../game/function.php");
		$titre = 'Recyclage de '.$this->var[0]['nom_planete'].' ['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].']';
		$rapport = 'Vos vaisseaux récoltent '.$this->var[1][0].' de '.$ressourc[0].' et '.$this->var[1][1].' de '.$ressourc[1].' sur '.$this->var[0]['nom_planete'].'['.$this->var[0]['galaxie'].':'.$this->var[0]['ss'].':'.$this->var[0]['position'].']</b><br /><br />';

		$temps = $this->timestamp;

		$db = new bdd();
		$db->connexion();
		$db->escape($titre);
		$db->escape($rapport);
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA.", '$titre', '$rapport', '$temps')");
		$db->deconnexion();
	}

	function sendCombat(){
		include(_FCORE."../game/vars.php");
		include_once(_FCORE."../game/function.php");
		require_once(SMARTY_DIR."Smarty.class.php");

		$rapportA = new Smarty();
		$rapportB = new Smarty();

		$rapportA->template_dir = _FCORE.'templates/templates/';
		$rapportA->compile_dir =  _FCORE.'templates/templates_c/';
		$rapportA->config_dir =  _FCORE.'templates/configs/';
		$rapportA->cache_dir =  _FCORE.'templates/cache/';

		$rapportB->template_dir = _FCORE.'templates/templates/';
		$rapportB->compile_dir =  _FCORE.'templates/templates_c/';
		$rapportB->config_dir =  _FCORE.'templates/configs/';
		$rapportB->cache_dir =  _FCORE.'templates/cache/';

		$this->var[4]['pseudo'] = trouvNom($this->var[4]['id_user']);
		$this->var[5]['pseudo'] = trouvNom($this->var[5]['id_user']);

		$rapportA->assign('tour', $this->var[3]);
		$rapportA->assign('EN', $this->var[4]);
		$rapportA->assign('flotte', $this->var[5]);
		$rapportA->assign('vaisseaux1', $this->var[0]);
		$rapportA->assign('vaisseaux2', $this->var[1]);
		$rapportA->assign('defenses1', $this->var[2]);
		$rapportA->assign('vaisseaux3', $this->var[7]);
		$rapportA->assign('vaisseaux4', $this->var[8]);
		$rapportA->assign('defenses2', $this->var[9]);

		$rapportA->assign('termine', $this->var[6][0]);
		$rapportA->assign('attaquantG', $this->var[6][1]);
		$rapportA->assign('pillage', $this->var[11]);

		$rapportA->assign('vaisBC', $nomvais_bc);
		$rapportA->assign('vaisPV', $nomvais_pv);
		$rapportA->assign('defBC', $defense_bc);
		$rapportA->assign('defPV', $defense_pv);
		$rapportA->assign('nextTour', $this->var[10]);

		$race = trouvInfo($this->utilA, 'race');
		include(_FCORE."../game/noms.php");
		$rapportA->assign('ressources', $ressourc);
		$rapportA->assign('nomvaisAT', $nomvaisa);

		$race = trouvInfo($this->var[4]['id_user'], 'race');
		include(_FCORE."../game/noms.php");
		$rapportA->assign('nomvaisEN', $nomvaisa);
		array_splice($nomterra, 0, 8);
		$rapportA->assign('nomdefEN', $nomterra);

		$rapportA = $rapportA->fetch('game/ATrapport_combat.tpl');


		$rapportB->assign('tour', $this->var[3]);
		$rapportB->assign('EN', $this->var[4]);
		$rapportB->assign('flotte', $this->var[5]);
		$rapportB->assign('vaisseaux1', $this->var[0]);
		$rapportB->assign('vaisseaux2', $this->var[1]);
		$rapportB->assign('defenses1', $this->var[2]);
		$rapportB->assign('vaisseaux3', $this->var[7]);
		$rapportB->assign('vaisseaux4', $this->var[8]);
		$rapportB->assign('defenses2', $this->var[9]);

		$rapportB->assign('termine', $this->var[6][0]);
		$rapportB->assign('attaquantG', $this->var[6][1]);
		$rapportB->assign('matchnul', $this->var[6][2]);
		$rapportB->assign('pillage', $this->var[11]);

		$rapportB->assign('vaisBC', $nomvais_bc);
		$rapportB->assign('vaisPV', $nomvais_pv);
		$rapportB->assign('defBC', $defense_bc);
		$rapportB->assign('defPV', $defense_pv);
		$rapportB->assign('nextTour', $this->var[10]);

		$race = trouvInfo($this->utilA, 'race');
		include(_FCORE."../game/noms.php");
		$rapportB->assign('ressources', $ressourc);
		$rapportB->assign('nomvaisAT', $nomvaisa);

		$race = trouvInfo($this->var[4]['id_user'], 'race');
		include(_FCORE."../game/noms.php");
		$rapportB->assign('nomvaisEN', $nomvaisa);
		array_splice($nomterra, 0, 8);
		$rapportB->assign('nomdefEN', $nomterra);

		$rapportB = $rapportB->fetch('game/ENrapport_combat.tpl');


		$titreA = 'Combat contre '.$this->var[4]['pseudo'];
		$titreB = 'Combat contre '.$this->var[5]['pseudo'];
		$temps = $this->timestamp;
		$db = new bdd();
		$db->connexion();
		$db->escape($titreA);
		$db->escape($titreB);
		$db->escape($rapportA);
		$db->escape($rapportB);
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA.", '$titreA', '$rapportA', '$temps')");
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilB."', '$titreB', '$rapportB', '$temps')");
		$db->deconnexion();
	}

	function show(){
		include(_FCORE."../game/vars.php");
		include_once(_FCORE."../game/function.php");
		require_once(SMARTY_DIR."Smarty.class.php");

		$rapportA = new Smarty();

		$rapportA->template_dir = _FCORE.'templates/templates/';
		$rapportA->compile_dir =  _FCORE.'templates/templates_c/';
		$rapportA->config_dir =  _FCORE.'templates/configs/';
		$rapportA->cache_dir =  _FCORE.'templates/cache/';

		$rapportA->assign('tour', $this->var[3]);
		$rapportA->assign('EN', $this->var[4]);
		$rapportA->assign('flotte', $this->var[5]);
		$rapportA->assign('vaisseaux1', $this->var[0]);
		$rapportA->assign('vaisseaux2', $this->var[1]);
		$rapportA->assign('defenses1', $this->var[2]);
		$rapportA->assign('vaisseaux3', $this->var[7]);
		$rapportA->assign('vaisseaux4', $this->var[8]);
		$rapportA->assign('defenses2', $this->var[9]);

		$rapportA->assign('termine', $this->var[6][0]);
		$rapportA->assign('attaquantG', $this->var[6][1]);
		$rapportA->assign('pillage', $this->var[11]);
		$rapportA->assign('debris', $this->var[12]);
		$rapportA->assign('infoPLUS', $this->var[14]);
		//$rapportA->assign('infoPLUS2', $this->var[15]);

		$rapportA->assign('page', 'simulation');
		$rapportA->assign('enligne', $this->var[13][0]);
		$rapportA->assign('infos', $this->var[13][1]);
		$rapportA->assign('nbinfos', $this->var[13][2]);
		$rapportA->assign('count', $this->var[13][3]);
		$rapportA->assign('version', $this->var[13][4]);
		$rapportA->assign('tpsdejeu', $this->var[13][5]);

		$rapportA->assign('vaisBC', $nomvais_bc);
		$rapportA->assign('vaisPV', $nomvais_pv);
		$rapportA->assign('defBC', $defense_bc);
		$rapportA->assign('defPV', $defense_pv);
		$rapportA->assign('nextTour', $this->var[10]);

		$race = trouvInfo($this->utilA, 'race');
		include(_FCORE."../game/noms.php");
		$rapportA->assign('ressources', $ressourc);
		$rapportA->assign('nomvaisAT', $nomvaisa);
		$rapportA->assign('nomvaisEN', $nomvaisa);
		array_splice($nomterra, 0, 8);
		$rapportA->assign('nomdefEN', $nomterra);
		$rapportA->assign('race', $race);

		return $rapportA->fetch('game/SIMrapport_combat.tpl');
		return $rapportA;
	}

	function sendAlliance(){
		include_once(_FCORE."../game/function.php");
		$titreA = 'Déclaration officielle de votre alliance !';
		$rapportA = 'Félicitations, votre alliance a recueilli suffisament de signature, sa déclaration est maintenant officielle !<br /><br />Vous pouvez dès maintenant administrer votre alliance en vous rendant sur la page Alliance.';

		$temps = $this->timestamp;

		$db = new bdd();
		$db->connexion();
		$db->escape($titreA);
		$db->escape($rapportA);
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA.", '$titreA', '$rapportA', '$temps')");
		$db->deconnexion();
	}

	function sendAlliance2(){
		include_once(_FCORE."../game/function.php");
		$titreA = 'Fondation de votre alliance !';
		$rapportA = 'Pour terminer la création de votre alliance, trouvez 4 joueurs de cette galaxie sans alliance pour leur faire signer votre traité de fondation d\'alliance.<br /><br />Lien de signature : <a href="?p=alliances&amp;q=signer&amp;i='.$this->var[0].'">http://'.$_SERVER['HTTP_HOST'].'/?p=alliances&amp;q=signer&amp;i='.$this->var[0].'</a>';

		$temps = $this->timestamp;

		$db = new bdd();
		$db->connexion();
		$db->escape($titreA);
		$db->escape($rapportA);
		$db->query("INSERT INTO ".$this->table." (destinataire, sujet, contenu, temps) VALUES(".$this->utilA.", '$titreA', '$rapportA', '$temps')");
		$db->deconnexion();
	}
}
?>