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) { $grade = $chapeau->unique_query("SELECT * FROM `$table_alliances_grade` WHERE `id` = '".$queryUser['id_grade_alliance']."';"); $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']); $chapeau->query("DELETE FROM `$table_alliances_chat` WHERE `id` = '$i' AND `id_alliance` = '".$alliance['id']."';"); header('Location: ?p=alliances&q=adm_chat#chat'); exit; } $page = 'alliance_adm_chat'; $chat = $chapeau->query("SELECT * FROM `$table_alliances_chat` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `id` DESC LIMIT 50;"); for($i = 0; $i < $chapeau->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 = mysql_real_escape_string($_POST['nom']); $description = mysql_real_escape_string($_POST['description']); @$chapeau->query("INSERT INTO `$table_alliances_grade` VALUES (NULL, '".$alliance['id']."', '$nom', '$description', '".ceil($_POST['gest_chat'])."', '".ceil($_POST['gest_rang'])."', '".ceil($_POST['gest_membre'])."', '".ceil($_POST['gest_ecriture'])."', '".ceil($_POST['gest_alliance'])."');"); header('Location: ?p=alliances&q=adm_grades'); exit; } $page = 'alliance_adm_grades_add'; } else { $page = 'alliance_adm_grades'; $grades = $chapeau->query("SELECT * FROM `$table_alliances_grade` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `nom` ASC;"); $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 = mysql_real_escape_string($_POST['type']); $chapeau->query("UPDATE `$table_alliances` SET `$mod` = '".mysql_real_escape_string($_POST['textarea'])."' WHERE `id` = '".$alliance['id']."'"); 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_alliance' && $access['alliance']) { $recharg = false; if (isset($_POST['defcon']) && isset($_POST['defcon_txt']) && isset($_POST['etat_inscription']) && isset($_POST['image']) && isset($_POST['url'])) { $chapeau->query("UPDATE `$table_alliances` SET `defcon` = '".mysql_real_escape_string($_POST['defcon'])."', `defcon_txt` = '".mysql_real_escape_string($_POST['defcon_txt'])."', `etat_inscription` = '".mysql_real_escape_string($_POST['etat_inscription'])."', `image` = '".mysql_real_escape_string($_POST['image'])."', `url` = '".mysql_real_escape_string($_POST['url'])."' WHERE `id` = '".$alliance['id']."'"); $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 ?
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($queryUser['pseudo']).':'.$_POST['pswd_admin']) && isset($sess->values['forcealli']) && $sess->values['forcealli']) { $chapeau->query("DELETE FROM `$table_alliances` WHERE `id` = '".$alliance['id']."';"); $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';"); for($i = 0; $i < $chapeau->num_rows; $i++){ $chapeau->query("UPDATE `$table_user` SET `id_alliance` = '0', `id_grade_alliance` = '0' WHERE `id` = '".$membres[$i]['id']."' AND `id_alliance` = '".$alliance['id']."';"); } $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',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); exit; } $chapeau->query("UPDATE `$table_alliances` SET `fondateur` = '".mysql_real_escape_string($_POST['fondateur'])."' WHERE `id` = '".$alliance['id']."'"); $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); $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';"); $membre = array(); $membrei = array(); for($i = 0; $i < $chapeau->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']); $chapeau->query("UPDATE `$table_user` SET `id_grade_alliance` = '".$grade."' WHERE `id` = '".$user."' AND `id_alliance` = '".$alliance['id']."';"); } elseif (!empty($_GET['u'])) { $user = floor($_GET['u']); $chapeau->query("UPDATE `$table_user` SET `id_grade_alliance` = '0', `id_alliance` = '0' WHERE `id` = '".$user."' AND `id_alliance` = '".$alliance['id']."';"); //TODO Envoyer un message au joueur renvoyé } elseif (!empty($_GET['accept'])) { $user = floor($_GET['accept']); $verif = $chapeau->unique_query("SELECT * FROM `$table_alliances_attente` WHERE `id_alliance` = '".$alliance['id']."' AND `id_membre` = '$user';"); if ($verif) { $chapeau->query("UPDATE `$table_user` SET `id_grade_alliance` = '0', `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$user."' AND `id_alliance` = '0';"); $chapeau->query("DELETE FROM `$table_alliances_attente` WHERE `id_membre` = '$user';"); //TODO Envoyer un message au joueur renvoyé } } elseif (!empty($_GET['refus'])) { $user = floor($_GET['refus']); $chapeau->query("DELETE FROM `$table_alliances_attente` WHERE `id_membre` = '$user' AND `id_alliance` = '".$alliance['id']."';"); //TODO Envoyer un message au joueur renvoyé } $page = 'alliance_adm_membres'; $grades = $chapeau->query("SELECT * FROM `$table_alliances_grade` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `nom` ASC;"); $grade = array(); $gradei = array(); for($i = 0; $i < $chapeau->num_rows ; $i++){ $grade[] = $grades[$i]['nom']; $gradei[] = $grades[$i]['id']; } $template->assign('grades', $grade); $template->assign('gradei', $gradei); $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';"); $template->assign('membres', $membres); $candidats = $chapeau->query("SELECT * FROM `$table_alliances_attente` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `timestamp` ASC;"); $template->assign('candidats', $candidats); $template->assign('alliance', $alliance); } elseif ($_GET['q'] == 'liste') { $page = 'alliance_liste'; $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';"); $template->assign('membres', $membres); } elseif ($_GET['q'] == 'chat') { if (isset($_POST['msg'])) { $message = mysql_real_escape_string($_POST['msg']); if (!empty($message)) $chapeau->query("INSERT INTO `$table_alliances_chat` VALUES (NULL, '".$alliance['id']."', '$id_user', '".time()."', '$message')"); header('Location: ?p=alliances&q=chat#chat'); exit; } $page = 'alliance_chat'; //Chat $chat = $chapeau->query("SELECT * FROM `$table_alliances_chat` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `id` DESC LIMIT 30"); for($i = 0; $i < $chapeau->num_rows ; $i++){ $chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']); } $template->assign('chat', $chat); } else { $page = 'alliance_accueil'; $template->assign('alliance', $alliance); $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';"); $template->assign('nbmembre', $chapeau->num_rows); if (!isset($grade)) $template->assign('grade', 0); else $template->assign('grade', $grade); //Chat $chat = $chapeau->query("SELECT * FROM `$table_alliances_chat` WHERE `id_alliance` = '".$alliance['id']."' ORDER BY `id` DESC LIMIT 30"); for($i = 0; $i < $chapeau->num_rows ; $i++){ $chat[$i]['emetteur'] = trouvNom($chat[$i]['emetteur']); } $template->assign('chat', $chat); } } //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 = mysql_real_escape_string($_POST['by']); $search = mysql_real_escape_string($_POST['search']); $recherche = $chapeau->query("SELECT * FROM `$table_alliances` WHERE `$by` LIKE '%$search%' ORDER BY `nom` ASC"); $template->assign('recherches', $recherche); } elseif ($_GET['q'] == 'liste' && !empty($_GET['i'])) { $page = 'alliance_liste'; $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".floor($_GET['i'])."';"); $template->assign('membres', $membres); } elseif ($_GET['q'] == 'view' && !empty($_GET['i'])) { $id = mysql_real_escape_string($_GET['i']); $alliance = $chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `id` = '$id';"); if ($alliance) { $page = 'alliance_nm_view'; $template->assign('alliance', $alliance); $membres = $chapeau->query("SELECT * FROM `$table_user` WHERE `id_alliance` = '".$alliance['id']."';"); $template->assign('nbmembre', $chapeau->num_rows); } else { $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 = mysql_real_escape_string($_GET['i']); $alliance = $chapeau->unique_query("SELECT * FROM `$table_alliances` WHERE `id` = '$id';"); if (!empty($_POST['message'])) { $chapeau->query("INSERT INTO `$table_alliances_attente` VALUES (NULL, '".$alliance['id']."', '".$id_user."', '".$queryUser['pseudo']."', '".time()."', '".mysql_real_escape_string($_POST['message'])."');"); $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; } $template->assign('alliance', $alliance); $page = 'alliance_nm_postuler'; } elseif ($_GET['q'] == 'signer' && !empty($_GET['i'])) { $lien = mysql_real_escape_string($_GET['i']); $alliance = $chapeau->unique_query("SELECT * FROM `$table_alliances_creation` WHERE `lien` = '$lien';"); 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',''); $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) { $chapeau->query("INSERT INTO `$table_alliances` VALUES (NULL, '".$alliance['tag']."', '".$alliance['nom']."', '".$alliance['fondateur']."', 'A faire', 'A faire', '', '', 1, 1, '');"); $chapeau->query("DELETE FROM `$table_alliances_creation` WHERE `lien` = '$lien';"); 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); for ($i=0 ; $i<$nbsign ; $i++) { $chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '".$signataires[$i]."'"); } $chapeau->query("UPDATE `$table_user` SET `id_alliance` = '".$alliance['id']."' WHERE `id` = '$id_user'"); $template->assign('message','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 !'); $template->assign('couleur','green'); $template->display('game/erreur.tpl'); exit; } else { $signataires[] = $id_user; $signataires = implode(';', $signataires); $chapeau->query("UPDATE `$table_alliances_creation` SET `signatures` = '$signataires' WHERE `lien` = '$lien'"); $chapeau->query("UPDATE `$table_user` SET `id_alliance` = 'c".$alliance['id']."' WHERE `id` = '$id_user'"); $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',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); exit; } } elseif ($_GET['q'] == 'fonder') { if (!empty($_POST['nom']) && !empty($_POST['tag'])) { $nom = mysql_real_escape_string(htmlentities($_POST['nom'])); $tag = mysql_real_escape_string(htmlentities($_POST['tag'])); if (strlen($nom) < 5) { $template->assign('message','Le nom d\'alliance que vous avez choisit est trop court.'); $template->assign('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',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); exit; } elseif (strlen($tag) > 5) { $template->assign('message','Le nom d\'alliance que vous avez choisit est trop long.'); $template->assign('script',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); exit; } elseif (strlen($tag) < 3) { $template->assign('message','Le nom d\'alliance que vous avez choisit est trop court.'); $template->assign('script',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); exit; } $test = $chapeau->query("SELECT * FROM `alliances` WHERE `nom` = '$nom' AND `tag` = '$tag';"); $test2 = $chapeau->query("SELECT * FROM `alliances_creation` WHERE `nom` = '$nom' AND `tag` = '$tag';"); 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',''); $template->assign('couleur','red'); $template->display('game/erreur.tpl'); exit; } else { $lien = sha1($tag.'Hb$'.$nom.'☺Ø'.$id_user.rand()); $chapeau->query("INSERT INTO `alliances_creation` VALUES(NULL, '$lien' ,'$tag', '$nom', '$id_user', '');"); $rapport = new Rapport(7, $id_user, 0, time()); $rapport->addInfo($lien, 0); $rapport->send(); $template->assign('message','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 '.$config['serv_adresse'].'?p=alliances&q=signer&i='.$lien.''); $template->assign('couleur','green'); $template->display('game/erreur.tpl'); exit; } } $page = 'alliance_nm_fonder'; } else { $page = 'alliance_nm_accueil'; } } ?>