<?php
if(!defined('INDEX')) { header('Location: ../'); exit; }
$titre = 'Alliance';
include_once(_FCORE."../game/Class/class.rapport.php");

//Si le joueur est membre de l'alliance
$bdd->connexion();
if (!empty($queryUser['id_alliance']) && $queryUser['id_grade_alliance'] != -1 && $alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = ".$queryUser['id_alliance'].";")) {
	//On détermine les accès du joueur
	if ($alliance['fondateur'] == $queryUser['id'])
		$access = array(
			'fondateur' => 1,
			'chat' => 1,
			'grades' => 1,
			'membre' => 1,
			'ecriture' => 1,
			'alliance' => 1
		);
	elseif ($queryUser['id_grade_alliance'] != 0) {
		$id_grade_alliance = $queryUser['id_grade_alliance'];
		$bdd->connexion();
		$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = $id_grade_alliance;");
		$bdd->deconnexion();
		$access = array(
			'fondateur' => 0,
			'chat' => $grade['gest_chat'],
			'grades' => $grade['gest_rang'],
			'membre' => $grade['gest_membre'],
			'ecriture' => $grade['gest_ecriture'],
			'alliance' => $grade['gest_admin']
		);
	}
	else
		$access = array(
			'fondateur' => 0,
			'chat' => 0,
			'grades' => 0,
			'membre' => 0,
			'ecriture' => 0,
			'alliance' => 0
		);
	$template->assign('access', $access);

	//Visionnage des pages de l'alliance
	if (!isset($_GET['q'])) $_GET['q'] = '';
	//Pages d'administration
	if ($_GET['q'] == 'adm_chat' && $access['chat']) {
		if (!empty($_GET['i'])) {
			$i = floor($_GET['i']);
			$alliId = $alliance['id'];
			$bdd->connexion();
			$bdd->escape($i);
			$bdd->query("DELETE FROM $table_alliances_chat WHERE id = $i AND id_alliance = $alliId;");
			$bdd->deconnexion();
			header('Location: ./?p=alliances&q=adm_chat#chat');
			exit;
		}
		$page = 'alliance_adm_chat';
		$alliId = $alliance['id'];
		$bdd->connexion();
		$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = $alliId ORDER BY id DESC LIMIT 50;");
		$bdd->deconnexion();
		for($i = 0; $i < $bdd->num_rows ; $i++){
			$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
		}
		$template->assign('chat', $chat);

	}
	elseif ($_GET['q'] == 'adm_grades' && $access['membre']) {
		if (isset($_GET['a']) && $_GET['a'] == 'add') {
			if (!empty($_POST['nom']) && isset($_POST['description'])) {
				$nom = $_POST['nom'];
				$description = $_POST['description'];

				if (!empty($_POST['id'])) {
					$id = $_POST['id'];
					$bdd->connexion();
					$bdd->escape($id);
					$bdd->escape($nom);
					$bdd->escape($description);
					@$bdd->query("UPDATE $table_alliances_grade SET nom = '$nom', description = '$description', gest_chat = ".ceil($_POST['gest_chat']).", gest_rang = ".ceil($_POST['gest_rang']).", gest_membre = ".ceil($_POST['gest_membre']).", gest_ecriture = ".ceil($_POST['gest_ecriture']).", gest_admin = ".ceil($_POST['gest_alliance'])." WHERE id = $id AND id_alliance = ".$alliance['id'].";");
					$bdd->deconnexion();
				}
				else {
					$bdd->connexion();
					$bdd->escape($nom);
					$bdd->escape($description);
					@$bdd->query("INSERT INTO $table_alliances_grade (id_alliance, nom, description, gest_chat, gest_rang, gest_membre, gest_ecriture, gest_admin) VALUES (".$alliance['id'].", '$nom', '$description', ".ceil($_POST['gest_chat']).", ".ceil($_POST['gest_rang']).", ".ceil($_POST['gest_membre']).", ".ceil($_POST['gest_ecriture']).", ".ceil($_POST['gest_alliance']).");");
					$bdd->deconnexion();
				}
				header('Location: ./?p=alliances&q=adm_grades');
				exit;
			}
			$page = 'alliance_adm_grades_add';
		}
		elseif (!empty($_GET['i']) && isset($_GET['a']) && $_GET['a'] == 'del') {
			$i = gpc('i');
			$bdd->connexion();
			$bdd->escape($i);
			$mod = $bdd->unique_query("DELETE FROM $table_alliances_grade WHERE id = $i AND id_alliance = ".$alliance['id'].";");
			$bdd->deconnexion();

			header('Location: ./?p=alliances&q=adm_grades');
			exit;
		}
		elseif (!empty($_GET['i'])) {
			$page = 'alliance_adm_grades_add';
			$i = $_GET['i'];
			$bdd->connexion();
			$bdd->escape($i);
			$mod = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = $i AND id_alliance = ".$alliance['id'].";");
			$bdd->deconnexion();
			$template->assign('mod', $mod);
		}
		else {
			$page = 'alliance_adm_grades';
			$alliId = $alliance['id'];
			$bdd->connexion();
			$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = $alliId ORDER BY nom ASC;");
			$bdd->deconnexion();
			$template->assign('grades', $grades);
		}
	}
	elseif ($_GET['q'] == 'adm_ecrits' && $access['ecriture']) {
		if (isset($_GET['t']) && $_GET['t'] == 'presentation') $mod = 'presentation';
		else $mod = 'interne';
		if (!empty($_POST['type']) && isset($_POST['textarea'])) {
			$mod = $_POST['type'];
			$text = $_POST['textarea'];
			$alliId = $alliance['id'];
			$bdd->connexion();
			$bdd->escape($text);
			$bdd->escape($mod);
			$bdd->query("UPDATE $table_alliances SET $mod = '$text' WHERE id = $alliId;");
			$bdd->deconnexion();
			header('Location: ./?p=alliances&q=adm_ecrits&t='.$mod);
			exit;
		}
		$page = 'alliance_adm_ecritures';
		$template->assign('alliance', $alliance);
		$template->assign('mod', $mod);
	}
	elseif ($_GET['q'] == 'adm_mp' && $access['membre']) {
		if (!empty($_POST['textarea'])) {
			$titre = $_POST['titre'];
			$texte = $_POST['textarea'];
			$expediteur = '['.$alliance['tag'].'] <i>'.trouvNom($id_user).'</i>';
			$alliId = $alliance['id'];
			$bdd->connexion();
			$bdd->escape($titre);
			$bdd->escape($texte);
			$bdd->escape($expediteur);
			$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = $alliId;");
			$bdd->deconnexion();
			$nbmembre = $bdd->num_rows;
			$temps = time();
			$bdd->connexion();
			for($i = 0; $i < $nbmembre; $i++){
				$pseudos = $membres[$i]['pseudo'];
				$bdd->escape($pseudos);
				$bdd->query("INSERT INTO $table_mail (destinataire, expediteur, sujet, contenu, temps) VALUES ('$pseudos', '$expediteur', '$titre', '$texte', '$temps');");
			}
			$bdd->deconnexion();
			$template->assign('message','Le message privé a été communiqué à tous les joueurs de l\'alliance.');
			$template->assign('couleur','green');
			$template->display('game/erreur.tpl');
			exit;
		}
		$page = 'alliance_adm_mpmass';
	}
	elseif ($_GET['q'] == 'adm_emprunt' && $access['membre']) {
		$u = gpc('u');
		$a = gpc('a');
		if (!empty($a) && is_numeric($a)) {
			$bdd->escape($a);
			$demande = $bdd->unique_query("SELECT * FROM $table_alliances_emprunt WHERE id=$a");
			if ($bdd->query("UPDATE $table_alliances SET metal = metal - ".$demande['metal'].", cristal = cristal - ".$demande['cristal'].", hydrogene = hydrogene - ".$demande['hydrogene']." WHERE id = ".$alliance['id'].";") == NULL) {
				$bdd->query("UPDATE $table_planete SET metal = metal + ".$demande['metal'].", cristal = cristal + ".$demande['cristal'].", hydrogene = hydrogene + ".$demande['hydrogene']." WHERE id_user = ".$demande['id_user']." LIMIT 1;");
				$bdd->query("DELETE FROM $table_alliances_emprunt WHERE id = $a;");
				send_mp($demande['id_user'], '['.$alliance['tag'].'] Réponse à la demande de financement', 'Votre demande de financement a été acceptée par l\'alliance.<br />Vous recevez '.$demande['metal'].' '.$ressourc[0].', '.$demande['cristal'].' '.$ressourc[1].', '.$demande['hydrogene'].' '.$ressourc[2].'.');

				header('Location: ./?p=alliances&q=adm_emprunt');
				exit;
			}
			else erreur('Impossible d\'accepter la demande de financement pour le moment.');
		}
		elseif (!empty($u) && is_numeric($u)) {
			$bdd->escape($u);
			$demande = $bdd->unique_query("SELECT id_user FROM $table_alliances_emprunt WHERE id=$u");
			$bdd->query("DELETE FROM $table_alliances_emprunt WHERE id = $u;");
			send_mp($demande['id_user'], '['.$alliance['tag'].'] Réponse à la demande de financement', 'Votre demande de financement a été refusée par l\'alliance.');

			header('Location: ./?p=alliances&q=adm_emprunt');
			exit;
		}
		$demandes = $bdd->query("SELECT E.id, E.raison, E.metal, E.cristal, E.hydrogene, U.pseudo FROM $table_alliances_emprunt E INNER JOIN $table_user U ON U.id = E.id_user WHERE E.id_alliance = ".$alliance['id'].";");
		$template->assign('demandes', $demandes);

		$alliance['metalS'] = separerNombres($alliance['metal']);
		$alliance['cristalS'] = separerNombres($alliance['cristal']);
		$alliance['hydrogeneS'] = separerNombres($alliance['hydrogene']);
		$template->assign('alliance', $alliance);		$page = 'alliance_adm_emprunt';
	}
	elseif ($_GET['q'] == 'adm_alliance' && $access['alliance']) {
		$recharg = false;
		if (isset($_POST['defcon']) && isset($_POST['defcon_txt']) && isset($_POST['etat_inscription']) && isset($_POST['image']) && isset($_POST['url'])) {
			$defcon = $_POST['defcon'];
			$defcon_txt = $_POST['defcon_txt'];
			$etat_inscription = $_POST['etat_inscription'];
			$image = $_POST['image'];
			$url = $_POST['url'];
			$alliId = $alliance['id'];
			$bdd->connexion();
			$bdd->escape($defcon);
			$bdd->escape($defcon_txt);
			$bdd->escape($etat_inscription);
			$bdd->escape($image);
			$bdd->escape($url);
			$bdd->query("UPDATE $table_alliances SET defcon = '$defcon', defcon_txt = '$defcon_txt', etat_inscription = '$etat_inscription', image = '$image', url = '$url' WHERE id = '$alliId';");
			$bdd->deconnexion();
			$recharg = true;
		}
		if (isset($_POST['fondateur']) && $alliance['fondateur'] == $id_user && isset($_POST['pswd_admin'])) {
			if (!empty($_POST['pswd_admin']) && $queryUser['mdp'] == sha1(strtoupper($queryUser['pseudo']).':'.$_POST['pswd_admin']) && empty($sess->values['forcealli'])) {
				$sess->values['forcealli'] = true;
				$sess->put();
				$template->assign('message','Êtes-vous sûr de vouloir dissoudre cette alliance ?<br /><i>Pour confirmer la dissolution de l\'alliance, rechargez cette page.</i>');
				$template->assign('couleur','orange');
				$template->display('game/erreur.tpl');
				exit;
			}
			elseif (!empty($_POST['pswd_admin']) && $queryUser['mdp'] == sha1(strtoupper($queryUser['pseudo']).':'.$_POST['pswd_admin']) && isset($sess->values['forcealli']) && $sess->values['forcealli']) {
				$alliId = $alliance['id'];
				$bdd->connexion();
				$bdd->query("DELETE FROM $table_alliances WHERE id = '$alliId';");
				$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '$alliId';");
				$nbeff = $bdd->num_rows;
				for($i = 0; $i < $nbeff; $i++){
					$bdd->query("UPDATE $table_user SET id_alliance = '0', id_grade_alliance = '0' WHERE id = '".$membres[$i]['id']."' AND id_alliance = '$alliId';");
				}
				$bdd->deconnexion();
				$template->assign('message','L\'alliance a été dissoute avec succès.');
				$template->assign('couleur','green');
				$template->display('game/erreur.tpl');
				exit;
			}
			elseif (!empty($_POST['pswd_admin']) && $queryUser['mdp'] != sha1(strtoupper($queryUser['pseudo']).':'.$_POST['pswd_admin'])) {
				$template->assign('message','Impossible de dissoudre l\'alliance : mot de passe incorrect.');
				$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=adm_alliance";\', 3000);</script>');
				$template->assign('couleur','red');
				$template->display('game/erreur.tpl');
				exit;
			}
			$fondateur = $_POST['fondateur'];
			$bdd->connexion();
			$bdd->escape($fondateur);
			$bdd->query("UPDATE $table_alliances SET fondateur = '$fondateur' WHERE id = '".$alliance['id']."'");
			$bdd->deconnexion();
			$recharg = true;
		}
		if ($recharg) {
			header('Location: ./?p=alliances&q=adm_alliance');
			exit;
		}
		$page = 'alliance_adm_admin';
		$niveaux = array('Niveau 1', 'Niveau 2', 'Niveau 3', 'Niveau 4', 'Niveau 5');
		$niveauxi = array('1', '2', '3', '4', '5');
		$template->assign('niveaux', $niveaux);
		$template->assign('niveauxi', $niveauxi);
		$etatinscript = array('Ouvertes', 'Fermées');
		$etatinscripti = array('1', '0');
		$template->assign('etatinscript', $etatinscript);
		$template->assign('etatinscripti', $etatinscripti);
		$bdd->connexion();
		$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
		$bdd->deconnexion();
		$membre = array();
		$membrei = array();
		for($i = 0; $i < $bdd->num_rows; $i++){
			$membre[] = $membres[$i]['pseudo'];
			$membrei[] = $membres[$i]['id'];
		}
		$template->assign('membres', $membre);
		$template->assign('membresi', $membrei);
		$template->assign('alliance', $alliance);
	}
	elseif ($_GET['q'] == 'adm_membres' && $access['membre']) {
		if (!empty($_POST['user']) && isset($_POST['grade'])) {
			$user = floor($_POST['user']);
			$grade = floor($_POST['grade']);
			$bdd->connexion();
			$bdd->escape($grade);
			$bdd->escape($user);
			$bdd->query("UPDATE $table_user SET id_grade_alliance = '".$grade."' WHERE id = '".$user."' AND id_alliance = '".$alliance['id']."';");
			$bdd->deconnexion();
		}
		elseif (!empty($_GET['u'])) {
			$user = floor($_GET['u']);
			$bdd->connexion();
			$bdd->escape($user);
			$bdd->query("UPDATE $table_user SET id_grade_alliance = '0', id_alliance = '0' WHERE id = '".$user."' AND id_alliance = '".$alliance['id']."';");
			$bdd->deconnexion();
			send_mp($user, '['.strtoupper($alliance['tag']).'] Renvoie de l\'alliance', 'Vous venez d\'être renvoyé de votre alliance.');
		}
		elseif (!empty($_GET['accept'])) {
			$user = floor($_GET['accept']);
			$bdd->connexion();
			$bdd->escape($user);
			$verif = $bdd->unique_query("SELECT * FROM $table_alliances_attente WHERE id_alliance = ".$alliance['id']." AND id_membre = $user;");
			if ($verif) {
				$bdd->query("UPDATE $table_user SET id_grade_alliance = '0', id_alliance = '".$alliance['id']."' WHERE id = '".$user."' AND id_alliance = '0';");
				$bdd->query("DELETE FROM $table_alliances_attente WHERE id_membre = '$user';");
				send_mp($user, '['.strtoupper($alliance['tag']).'] Bienvenue dans l\'alliance '.$alliance['nom'], 'L\'alliance '.$alliance['nom'].' a accepté votre demande d\'intégration.<br />Félicitations !');
			}
			$bdd->deconnexion();
		}
		elseif (!empty($_GET['refus'])) {
			$user = floor($_GET['refus']);
			$bdd->connexion();
			$bdd->escape($user);
			$bdd->query("DELETE FROM $table_alliances_attente WHERE id_membre = $user AND id_alliance = ".$alliance['id'].";");
			$bdd->deconnexion();
			send_mp($user, 'Refus de candidature pour '.$alliance['nom'], 'L\'alliance '.$alliance['nom'].' a rejeté votre demande d\'intégration.');
		}
		$page = 'alliance_adm_membres';
		$bdd->connexion();
		$grades = $bdd->query("SELECT * FROM $table_alliances_grade WHERE id_alliance = ".$alliance['id']." ORDER BY nom ASC;");
		$bdd->deconnexion();
		$grade = array(); $gradei = array();
		for($i = 0; $i < $bdd->num_rows ; $i++){
			$grade[] = $grades[$i]['nom'];
			$gradei[] = $grades[$i]['id'];
		}
		$template->assign('grades', $grade);
		$template->assign('gradei', $gradei);
		$bdd->connexion();
		$membres = $bdd->query("SELECT pseudo, race, last_visite, id, id_grade_alliance FROM $table_user WHERE id_alliance = ".$alliance['id'].";");
		$candidats = $bdd->query("SELECT A.message, A.timestamp, A.id_membre, U.pseudo AS pseudo_membre FROM $table_alliances_attente A WHERE id_alliance = ".$alliance['id']." INNER JOIN $table_user U ON U.id = A.id_membre ORDER BY timestamp ASC;");
		$bdd->deconnexion();
		$template->assign('membres', $membres);
		$template->assign('candidats', $candidats);
		$template->assign('alliance', $alliance);
	}
	elseif ($_GET['q'] == 'liste') {
		$page = 'alliance_liste';
		$bdd->connexion();
		if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."' ORDER BY place_points ASC;");
		else $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = '".$alliance['id']."';");
		$nb = $bdd->num_rows;
		for ($i = 0; $i < $nb; $i++) {
			$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '".$membres[$i]['id_grade_alliance']."';");
			$membres[$i]['grade_alliance'] = $grade['nom'];
		}
		$bdd->deconnexion();
		$template->assign('membres', $membres);
	}
	elseif ($_GET['q'] == 'chat') {
		if (isset($_POST['msg'])) {
			$message = $_POST['msg'];
			$bdd->connexion();
			$bdd->escape($message);
			if (!empty($message)) $bdd->query("INSERT INTO $table_alliances_chat (id_alliance, emetteur, timestamp, message) VALUES (".$alliance['id'].", $id_user, ".time().", '$message')");
			$bdd->deconnexion();
			header('Location: ./?p=alliances&q=chat#chat');
			exit;
		}
		$page = 'alliance_chat';
		//Chat
		$bdd->connexion();
		$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = ".$alliance['id']." ORDER BY id DESC LIMIT 30");
		$bdd->deconnexion();
		for($i = 0; $i < $bdd->num_rows ; $i++){
			$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
			$chat[$i]['message'] = bbcode(htmlspecialchars($chat[$i]['message']));
		}
		$template->assign('chat', $chat);
	}
	elseif ($_GET['q'] == 'quit_alliance' && gpc('a') == sha1('ç§'.date('AWGzO').$alliance['id'])) {
		$bdd->connexion();
		$bdd->escape($user);
		$bdd->query("UPDATE $table_user SET id_grade_alliance = '0', id_alliance = '0' WHERE id = '".$id_user."' AND id_alliance = '".$alliance['id']."';");
		$bdd->deconnexion();
		send_mp($id_user, '['.strtoupper($alliance['tag']).'] Vous quittez l\'alliance', 'Vous venez de quitter votre alliance.');
		send_mp($alliance['fondateur'], '['.strtoupper($alliance['tag']).'] quitte l\'alliance', 'vient de quitter votre alliance.');

		$template->assign('message','Vous avez quitté votre alliance.');
		$template->assign('couleur','green');
		$template->display('game/erreur.tpl');
		exit;
	}
	elseif ($_GET['q'] == 'donner') {
		$page = 'alliance_donner';
		$metalD = gpc('metal', 'post'); if (!is_numeric($metalD)) $metalD = 0;
		$cristalD = gpc('cristal', 'post'); if (!is_numeric($cristalD)) $cristalD = 0;
		$hydrogeneD = gpc('hydrogene', 'post'); if (!is_numeric($hydrogeneD)) $hydrogeneD = 0;
		if ($metalD+$cristalD+$hydrogeneD > 0 && $metalD >= 0 && $cristalD >= 0 && $hydrogeneD >= 0) {
			if ($planete->metal-$metalD >= 0 && $planete->cristal-$cristalD >= 0 && $planete->hydrogene-$hydrogeneD >= 0) {
				$bdd->escape($metalD);
				$bdd->escape($cristalD);
				$bdd->escape($hydrogeneD);
				$bdd->query("UPDATE $table_alliances SET metal = metal + $metalD, cristal = cristal + $cristalD, hydrogene = hydrogene + $hydrogeneD WHERE id = ".$alliance['id'].";");
				$bdd->query("UPDATE $table_planete SET metal = metal - $metalD, cristal = cristal - $cristalD, hydrogene = hydrogene - $hydrogeneD WHERE id = $id_user;");

				header('Location: ?p=alliances');
				exit;
			}
			else {
				erreur('Vous n\'avez pas assez de ressources sur cette planète pour donner autant à votre alliance.');
			}
		}
	}
	elseif ($_GET['q'] == 'emprunt') {
		$bdd->query("SELECT id FROM $table_alliances_emprunt WHERE id_user = $id_user AND id_alliance = ".$alliance['id'].";");
		if ($bdd->num_rows > 0) {
			erreur('Vous avez déjà une demande de financement en cours, vous ne pouvez pas en faire une nouvelle', "red", '?p=alliances');
		}
		$page = 'alliance_emprunt';
		$metalD = gpc('metal', 'post'); if (!is_numeric($metalD)) $metalD = 0;
		$cristalD = gpc('cristal', 'post'); if (!is_numeric($cristalD)) $cristalD = 0;
		$hydrogeneD = gpc('hydrogene', 'post'); if (!is_numeric($hydrogeneD)) $hydrogeneD = 0;
		$raison = gpc('raison', 'post');
		if ($metalD+$cristalD+$hydrogeneD > 0 && $metalD >= 0 && $cristalD >= 0 && $hydrogeneD >= 0) {
			if ($alliance['metal']-$metalD >= 0 && $alliance['cristal']-$cristalD >= 0 && $alliance['hydrogene']-$hydrogeneD >= 0) {
				$bdd->escape($metalD);
				$bdd->escape($cristalD);
				$bdd->escape($hydrogeneD);
				$bdd->escape($raison);
				$bdd->query("INSERT INTO $table_alliances_emprunt (id_alliance, id_user, raison, metal, cristal, hydrogene) VALUES (".$alliance['id'].", $id_user, '$raison', $metalD, $cristalD, $hydrogeneD);");

				erreur('Votre demande a été enregistrée avec succès.', "green", '?p=alliances');
			}
			else {
				erreur('Vous n\'avez pas assez de ressources sur cette planète pour donner autant à votre alliance.');
			}
		}

		$alliance['metalS'] = separerNombres($alliance['metal']);
		$alliance['cristalS'] = separerNombres($alliance['cristal']);
		$alliance['hydrogeneS'] = separerNombres($alliance['hydrogene']);
		$template->assign('alliance', $alliance);
		$template->assign('scripth', '<script src="js/alli_emprunt.js" type="text/javascript"></script>');
	}
	else {
		$page = 'alliance_accueil';
		$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']),1);
		$alliance['texte_interne'] = bbcode(htmlspecialchars($alliance['texte_interne']),1);

		$alliance['metal'] = separerNombres($alliance['metal']);
		$alliance['cristal'] = separerNombres($alliance['cristal']);
		$alliance['hydrogene'] = separerNombres($alliance['hydrogene']);

		$template->assign('alliance', $alliance);
		$template->assign('quitalliance', sha1('ç§'.date('AWGzO').$alliance['id']));
		$bdd->connexion();
		$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = ".$alliance['id'].";");
		$bdd->deconnexion();
		$template->assign('nbmembre', $bdd->num_rows);
		if (!isset($grade)) $template->assign('grade', 0);
		else $template->assign('grade', $grade);

		//Chat
		$bdd->connexion();
		$chat = $bdd->query("SELECT * FROM $table_alliances_chat WHERE id_alliance = ".$alliance['id']." ORDER BY id DESC LIMIT 30;");
		$bdd->deconnexion();
		for($i = 0; $i < $bdd->num_rows ; $i++){
			$chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']);
			$chat[$i]['message'] = htmlspecialchars($chat[$i]['message']);
		}
		$template->assign('chat', $chat);
	}
}
elseif (!empty($queryUser['id_alliance']) && $bdd->connexion() && !$bdd->unique_query("SELECT * FROM $table_alliances WHERE id = ".$queryUser['id_alliance'].";")) {
	$bdd->query("UPDATE $table_user SET id_alliance = 0, id_grade_alliance = 0 WHERE id = $id_user;");
	header('Location: ./?p=alliances');
	exit;
}
//Si le joueur n'est membre d'aucune alliance
else {
	if (!isset($_GET['q'])) $_GET['q'] = '';
	if ($_GET['q'] == 'search' && !empty($_POST['by']) && isset($_POST['search'])) {
		$page = 'alliance_nm_search';

		$by = $_POST['by'];
		$search = $_POST['search'];

		$bdd->connexion();
		$bdd->escape($by);
		$bdd->escape($search);
		$recherche = $bdd->query("SELECT * FROM $table_alliances WHERE $by LIKE '%$search%' ORDER BY nom ASC;");
		$bdd->deconnexion();
		$template->assign('recherches', $recherche);
	}
	elseif ($_GET['q'] == 'liste' && !empty($_GET['i'])) {
		$page = 'alliance_liste';
		$id = $_GET['i'];
		$bdd->connexion();
		$bdd->escape($id);
		if (isset($_GET['t']) && $_GET['t'] == 'classement') $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = $id ORDER BY place_points DESC;");
		else $membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = $id;");
		$nb = $bdd->num_rows;
		for ($i = 0; $i < $nb; $i++) {
			$grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = ".$membres[$i]['id_grade_alliance'].";");
			$membres[$i]['grade_alliance'] = $grade['nom'];
		}
		$bdd->deconnexion();
		$template->assign('membres', $membres);
		$template->assign('i', $_GET['i']);
	}
	elseif ($_GET['q'] == 'view' && !empty($_GET['i'])) {
		$id = $_GET['i'];
		$bdd->connexion();
		$bdd->escape($id);
		$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = $id;");
		if ($alliance) {
			$page = 'alliance_nm_view';
			$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']),1);
			$template->assign('alliance', $alliance);
			$membres = $bdd->query("SELECT * FROM $table_user WHERE id_alliance = ".$alliance['id'].";");
			$bdd->deconnexion();
			$template->assign('nbmembre', $bdd->num_rows);
		}
		else {
			$bdd->deconnexion();
			erreur('Impossible de trouver cette alliance !');
		}
	}
	elseif ($_GET['q'] == 'postuler' && !empty($_GET['i'])) {
		$id = $_GET['i'];
		$bdd->connexion();
		$bdd->escape($id);
		$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = $id;");
		if (!empty($_POST['message'])) {
			$message = $_POST['message'];
			$bdd->escape($message);
			$bdd->query("INSERT INTO $table_alliances_attente (id_alliance, id_membre, timestamp, message, ) VALUES (NULL, ".$alliance['id'].", ".$id_user.", '".time()."', '$message');");
			$bdd->deconnexion();
			erreur('Votre candidature a été envoyée avec succès à l\'alliance : '.$alliance['nom'], "green");
		}
		$bdd->deconnexion();
		$template->assign('alliance', $alliance);
		$template->assign('alliancei', $id);
		$page = 'alliance_nm_postuler';
	}
	elseif ($_GET['q'] == 'signer' && !empty($_GET['i'])) {
		$lien = $_GET['i'];
		$bdd->connexion();
		$bdd->escape($lien);
		$alliance = $bdd->unique_query("SELECT * FROM $table_alliances_creation WHERE lien = '$lien';");
		$bdd->deconnexion();
		if ($alliance) {
			if (empty($alliance['signatures'])) $signataires = array();
			else $signataires = explode(';', $alliance['signatures']);
			if ($alliance['fondateur'] == $id_user || in_array($id_user, $signataires)) erreur('Vous avez déjà signé pour cette alliance.', "red", "?p=alliances&q=signer", 3500);
			else {
				//Si c'est la 4ème signature, on crée l'alliance
				if (count($signataires) >= 3) {
					$tag = $alliance['tag'];
					$nom = $alliance['nom'];
					$bdd->connexion();
					$bdd->escape($tag);
					$bdd->escape($nom);
					$bdd->query("INSERT INTO $table_alliances (tag, nom, fondateur, presentation, texte_interne, url, image, etat_inscription, defcon, defcon_txt) VALUES ('$tag', '$nom', '".$alliance['fondateur']."', 'A faire', 'A faire', '', '', 1, 1, '');");
					$bdd->query("DELETE FROM $table_alliances_creation WHERE lien = '$lien';");

					$alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE nom = '".$alliance['nom']."' AND fondateur = '".$alliance['fondateur']."';");
					$bdd->deconnexion();

					file_log("Création de l'alliance : ".$alliance['nom']." par ".$id_user." (fondateur : ".$alliance['fondateur'].") après validation de 4 signatures : ".implode(', ', $signataires).$id_user);

					//On envoie un message au fondateur de l'alliance
					$rapport = new Rapport(6, $alliance['fondateur'], 0, time());
					$rapport->send();

					$nbsign = count($signataires);
					$id_alli = $alliance['id'];
					$fondateur = $alliance['fondateur'];
					$bdd->connexion();
					for ($i=0 ; $i<$nbsign ; $i++) {
						$sign = $signataires[$i];
						$bdd->query("UPDATE $table_user SET id_alliance = '$id_alli' WHERE id = '$sign';");
					}
					$bdd->query("UPDATE $table_user SET id_alliance = '$id_alli' WHERE id = '$id_user';");
					$bdd->query("UPDATE $table_user SET id_alliance = '$id_alli' WHERE id = '$fondateur';");
					$bdd->deconnexion();

					erreur('Votre signature a bien été ajoutée à la déclaration de l\'alliance.<br />L\'alliance a désormais suffisament de signature pour être créée !', "green");
				}
				else {
					$signataires[] = $id_user;
					$signataires = implode(';', $signataires);
					$bdd->connexion();
					$bdd->query("UPDATE $table_alliances_creation SET signatures = '$signataires' WHERE lien = '$lien';");
					$bdd->query("UPDATE $table_user SET id_alliance = 'c".$alliance['id']."' WHERE id = '$id_user';");
					$bdd->deconnexion();
					erreur('Votre signature a bien été ajoutée à la déclaration de l\'alliance.', "green");
				}
			}
		}
		else erreur('Impossible de trouver l\'alliance !', "red", "?p=alliances&q=signer");
	}
	elseif ($_GET['q'] == 'fonder') {
		if (!empty($_POST['nom']) && !empty($_POST['tag'])) {

			$nom = htmlentities($_POST['nom']);
			$tag = htmlentities($_POST['tag']);

			if (strlen($nom) < 5) erreur('Le nom d\'alliance que vous avez choisit est trop court.', "red", "?p=alliances&q=fonder", 3500);
			elseif (strlen($nom) > 25) erreur('Le nom d\'alliance que vous avez choisit est trop long.', "red", "?p=alliances&q=fonder", 3500);
			elseif (strlen($tag) > 5) erreur('Le tag d\'alliance que vous avez choisit est trop long.', "red", "?p=alliances&q=fonder", 3500);
			elseif (strlen($tag) < 3) erreur('Le tag d\'alliance que vous avez choisit est trop court.', "red", "?p=alliances&q=fonder", 3500);
			elseif (ereg('\'', $tag) || ereg('\'', $nom)) erreur('Le nom d\'alliance ou le tag que vous avez choisit contient des caractères non autorisé.', "red", "?p=alliances&q=fonder", 3500);
			$bdd->connexion();
			$bdd->escape($nom);
			$bdd->escape($tag);

			$test = $bdd->query("SELECT * FROM $table_alliances WHERE nom = '$nom' AND tag = '$tag';");
			$test2 = $bdd->query("SELECT * FROM $table_alliances_creation WHERE nom = '$nom' AND tag = '$tag';");
			$bdd->deconnexion();
			if ($test || $test2) erreur('Le nom ou le tag que vous avez choisit est déjà utilisé par une alliance.', "red", "?p=alliances&q=fonder", 3500);
			else {
				$lien = sha1($tag.'Hb$'.$nom.'☺Ø'.$id_user.rand());
				$bdd->connexion();
				$bdd->query("INSERT INTO $table_alliances_creation (lien, tag, nom, fondateur, signatures) VALUES ('$lien' ,'$tag', '$nom', '$id_user', '');");
				$bdd->deconnexion();

				$rapport = new Rapport(7, $id_user, 0, time());
				$rapport->addInfo($lien, 0);
				$rapport->send();

				erreur('Votre alliance a bien &eacute;t&eacute; cr&eacute;&eacute;e.<br />Il ne vous reste plus qu\'à trouver au moins 4 signatures pour finir la création de votre alliance.<br /><br />Le lien permettant à vos quatres personnes de signer est <a href="?p=alliances&amp;q=signer&amp;i='.$lien.'">http://'.$_SERVER['HTTP_HOST'].'?p=alliances&amp;q=signer&amp;i='.$lien.'</a>', "green");
			}
		}
		$page = 'alliance_nm_fonder';
	}
	else {
		$page = 'alliance_nm_accueil';
	}
}
?>