forked from halo-battle/game
589 lines
25 KiB
PHP
589 lines
25 KiB
PHP
<?php
|
|
if(!defined('INDEX')) { header('Location: ../'); exit; }
|
|
$titre = 'Alliance';
|
|
include_once(_FCORE."hb_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'])) {
|
|
$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_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();
|
|
//TODO Envoyer un message au joueur renvoyé
|
|
}
|
|
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';");
|
|
//TODO Envoyer un message au joueur renvoyé
|
|
}
|
|
$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();
|
|
//TODO Envoyer un message au joueur renvoyé
|
|
}
|
|
$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);
|
|
}
|
|
else {
|
|
$page = 'alliance_accueil';
|
|
$alliance['presentation'] = bbcode(htmlspecialchars($alliance['presentation']),1);
|
|
$alliance['texte_interne'] = bbcode(htmlspecialchars($alliance['texte_interne']),1);
|
|
$template->assign('alliance', $alliance);
|
|
$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();
|
|
$template->assign('message','Impossible de trouver cette alliance !');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
}
|
|
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();
|
|
$template->assign('message','Votre candidature a été envoyée avec succès à l\'alliance : '.$alliance['nom']);
|
|
$template->assign('couleur','green');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
$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)) {
|
|
$template->assign('message','Vous avez déjà signé pour cette alliance.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=signer";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
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();
|
|
|
|
$template->assign('message','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 !');
|
|
$template->assign('couleur','green');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
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();
|
|
$template->assign('message','Votre signature a bien été ajoutée à la déclaration de l\'alliance.');
|
|
$template->assign('couleur','green');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$template->assign('message','Impossible de trouver l\'alliance !');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=signer";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
}
|
|
elseif ($_GET['q'] == 'fonder') {
|
|
if (!empty($_POST['nom']) && !empty($_POST['tag'])) {
|
|
|
|
$nom = htmlentities($_POST['nom']);
|
|
$tag = htmlentities($_POST['tag']);
|
|
|
|
if (strlen($nom) < 5) {
|
|
$template->assign('message','Le nom d\'alliance que vous avez choisit est trop court.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
elseif (strlen($nom) > 25) {
|
|
$template->assign('message','Le nom d\'alliance que vous avez choisit est trop long.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
elseif (strlen($tag) > 5) {
|
|
$template->assign('message','Le tag d\'alliance que vous avez choisit est trop long.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
elseif (strlen($tag) < 3) {
|
|
$template->assign('message','Le tag d\'alliance que vous avez choisit est trop court.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
elseif (ereg('\'', $tag) || ereg('\'', $nom)) {
|
|
$template->assign('message','Le nom d\'alliance ou le tag que vous avez choisit contient des caractères non autorisé.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
|
|
$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) {
|
|
$template->assign('message','Le nom ou le tag que vous avez choisit est déjà utilisé par une alliance.');
|
|
$template->assign('script','<script type="text/javascript">setTimeout(\'document.location.href="?p=alliances&q=fonder";\', 3500);</script>');
|
|
$template->assign('couleur','red');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
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();
|
|
|
|
$template->assign('message','Votre alliance a bien été créé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&q=signer&i='.$lien.'">http://'.$_SERVER['HTTP_HOST'].'?p=alliances&q=signer&i='.$lien.'</a>');
|
|
$template->assign('couleur','green');
|
|
$template->display('game/erreur.tpl');
|
|
exit;
|
|
}
|
|
}
|
|
$page = 'alliance_nm_fonder';
|
|
}
|
|
else {
|
|
$page = 'alliance_nm_accueil';
|
|
}
|
|
}
|
|
?>
|