connexion(); if (!empty($planete->id_alliance) && $planete->id_grade_alliance != -1 && $alliance = $bdd->unique_query("SELECT * FROM $table_alliances WHERE id = ".$planete->id_alliance.";")) { //On détermine les accès du joueur if ($alliance['fondateur'] == $id_user) $access = array( 'fondateur' => 1, 'chat' => 1, 'grades' => 1, 'membre' => 1, 'ecriture' => 1, 'alliance' => 1 ); elseif ($planete->id_grade_alliance != 0) { $bdd->connexion(); $grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = ".$planete->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'].'] '.trouvNom($id_user).''; $alliId = $alliance['id']; $bdd->connexion(); $bdd->escape($titre); $bdd->escape($texte); $bdd->escape($expediteur); $membres = $bdd->query("SELECT id FROM $table_user WHERE id_alliance = $alliId;"); $bdd->deconnexion(); $temps = time(); foreach($membres as $membre){ send_mp($membre['id'], $titre, $texte, 1, $id_user); } erreur('Le message privé a été communiqué à tous les joueurs de l\'alliance.', "green", '?p=alliances'); } $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.
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'])) { $bdd->connexion(); $queryUser = $bdd->unique_query("SELECT * FROM $table_user WHERE id = $id_user;"); $bdd->deconnexion(); if (!empty($_POST['pswd_admin']) && $queryUser['mdp'] == sha1(strtoupper($planete->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 ?
Pour confirmer la dissolution de l\'alliance, rechargez cette page.'); $template->assign('couleur','orange'); $template->display('game/erreur.tpl'); exit; } elseif (!empty($_POST['pswd_admin']) && $queryUser['mdp'] == sha1(strtoupper($planete->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 id FROM $table_user WHERE id_alliance = '$alliId';"); $nbeff = $bdd->num_rows; foreach($membres as $membre){ $bdd->query("UPDATE $table_user SET id_alliance = '0', id_grade_alliance = '0' WHERE id = '".$membre['id']."' AND id_alliance = '$alliId';"); } $bdd->deconnexion(); erreur('L\'alliance a été dissoute avec succès.', 'green'); } elseif (!empty($_POST['pswd_admin']) && $queryUser['mdp'] != sha1(strtoupper($planete->pseudo).':'.$_POST['pswd_admin'])) { erreur('Impossible de dissoudre l\'alliance : mot de passe incorrect.', "red", "?p=alliances&q=adm_alliance", 3000); } $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(); foreach($membres as $membrex){ $membre[] = $membrex['pseudo']; $membrei[] = $membrex['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.
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(); foreach($grades as $gradex){ $grade[] = $gradex['nom']; $gradei[] = $gradex['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']."';"); foreach($membres as $membre){ $grade = $bdd->unique_query("SELECT * FROM $table_alliances_grade WHERE id = '".$membre['id_grade_alliance']."';"); $membre['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(); foreach($chat as $lign){ $lign['emetteur'] = trouvNom($lign['emetteur']); $lign['message'] = bbcode(htmlspecialchars($lign['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']).'] '.trouvNom($id_user).' quitte l\'alliance', linkNom($id_user).'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 && $planete->cristal > $cristalD && $planete->hydrogene > $hydrogeneD) { $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'].";"); $planete->metal -= $metalD; $planete->cristal -= $cristalD; $planete->hydrogene -= $hydrogeneD; 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', ''); } 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($planete->id_alliance) && $bdd->connexion() && !$bdd->unique_query("SELECT * FROM $table_alliances WHERE id = ".$planete->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.
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 été créée.
Il ne vous reste plus qu\'à trouver au moins 4 signatures pour finir la création de votre alliance.

Le lien permettant à vos quatres personnes de signer est http://'.$_SERVER['HTTP_HOST'].'?p=alliances&q=signer&i='.$lien.'', "green"); } } $page = 'alliance_nm_fonder'; } else { $page = 'alliance_nm_accueil'; } } ?>