2008-11-17 11:00:00 +00:00
< ? php
if ( ! defined ( 'INDEX' )) { header ( 'Location: ../' ); exit ; }
$titre = 'Alliance' ;
2008-11-04 11:00:00 +00:00
include_once ( _FCORE . " hb_game/Class/class.rapport.php " );
2008-11-17 11:00:00 +00:00
2008-11-04 11:00:00 +00:00
$bdd -> connexion ();
2008-11-17 11:00:00 +00:00
//Si le joueur est membre de l'alliance
2008-11-04 11:00:00 +00:00
if ( ! empty ( $queryUser [ 'id_alliance' ]) && $queryUser [ 'id_grade_alliance' ] != - 1 && $alliance = $bdd -> unique_query ( " SELECT * FROM $table_alliances WHERE id = ' " . $queryUser [ 'id_alliance' ] . " '; " )) {
2008-11-17 11:00:00 +00:00
//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 ) {
2008-11-04 11:00:00 +00:00
$grade = $bdd -> unique_query ( " SELECT * FROM $table_alliances_grade WHERE id = ' " . $queryUser [ 'id_grade_alliance' ] . " '; " );
2008-11-17 11:00:00 +00:00
$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' ]);
2008-11-04 11:00:00 +00:00
$bdd -> query ( " DELETE FROM $table_alliances_chat WHERE id = ' $i ' AND id_alliance = ' " . $alliance [ 'id' ] . " '; " );
2008-11-17 11:00:00 +00:00
header ( 'Location: ?p=alliances&q=adm_chat#chat' );
exit ;
}
$page = 'alliance_adm_chat' ;
2008-11-04 11:00:00 +00:00
$chat = $bdd -> query ( " SELECT * FROM $table_alliances_chat WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' ORDER BY id DESC LIMIT 50; " );
for ( $i = 0 ; $i < $bdd -> num_rows ; $i ++ ){
2008-11-17 11:00:00 +00:00
$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' ]);
2008-11-04 11:00:00 +00:00
if ( ! empty ( $_POST [ 'id' ])) {
$id = $_POST [ 'id' ];
$bdd -> escape ( $id );
@ $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' ] . " '; " );
}
else @ $bdd -> 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' ]) . " '); " );
2008-11-17 11:00:00 +00:00
header ( 'Location: ?p=alliances&q=adm_grades' );
exit ;
}
$page = 'alliance_adm_grades_add' ;
}
2008-11-04 11:00:00 +00:00
elseif ( ! empty ( $_GET [ 'i' ])) {
$page = 'alliance_adm_grades_add' ;
$i = $_GET [ 'i' ];
$bdd -> escape ( $i );
$mod = $bdd -> unique_query ( " SELECT * FROM $table_alliances_grade WHERE id = ' $i ' AND id_alliance = ' " . $alliance [ 'id' ] . " '; " );
$template -> assign ( 'mod' , $mod );
}
2008-11-17 11:00:00 +00:00
else {
$page = 'alliance_adm_grades' ;
2008-11-04 11:00:00 +00:00
$grades = $bdd -> query ( " SELECT * FROM $table_alliances_grade WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' ORDER BY nom ASC; " );
2008-11-17 11:00:00 +00:00
$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' ]);
2008-11-04 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_alliances SET $mod = ' " . mysql_real_escape_string ( $_POST [ 'textarea' ]) . " ' WHERE id = ' " . $alliance [ 'id' ] . " ' " );
2008-11-17 11:00:00 +00:00
header ( 'Location: ?p=alliances&q=adm_ecrits&t=' . $mod );
exit ;
}
$page = 'alliance_adm_ecritures' ;
$template -> assign ( 'alliance' , $alliance );
$template -> assign ( 'mod' , $mod );
}
2008-11-04 11:00:00 +00:00
elseif ( $_GET [ 'q' ] == 'adm_mp' && $access [ 'membre' ]) {
if ( ! empty ( $_POST [ 'textarea' ])) {
$titre = $_POST [ 'titre' ];
$bdd -> escape ( $titre );
$texte = $_POST [ 'textarea' ];
$bdd -> escape ( $texte );
$expediteur = '[' . $alliance [ 'tag' ] . '] <i>' . trouvNom ( $id_user ) . '</i>' ;
$bdd -> escape ( $expediteur );
$membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $alliance [ 'id' ] . " '; " );
$nbmembre = $bdd -> num_rows ;
$temps = time ();
for ( $i = 0 ; $i < $nbmembre ; $i ++ ){
$bdd -> query ( " INSERT INTO $table_mail VALUES(NULL, 1, ' " . $membres [ $i ][ 'pseudo' ] . " ', ' $expediteur ', ' $titre ', ' $texte ', ' $temps '); " );
}
$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' ;
}
2008-11-17 11:00:00 +00:00
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' ])) {
2008-11-04 11:00:00 +00:00
$bdd -> 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' ] . " ' " );
2008-11-17 11:00:00 +00:00
$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' ]) {
2008-11-04 11:00:00 +00:00
$bdd -> query ( " DELETE FROM $table_alliances WHERE id = ' " . $alliance [ 'id' ] . " '; " );
$membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $alliance [ 'id' ] . " '; " );
for ( $i = 0 ; $i < $bdd -> num_rows ; $i ++ ){
$bdd -> query ( " UPDATE $table_user SET id_alliance = '0', id_grade_alliance = '0' WHERE id = ' " . $membres [ $i ][ 'id' ] . " ' AND id_alliance = ' " . $alliance [ 'id' ] . " '; " );
2008-11-17 11:00:00 +00:00
}
$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 ;
}
2008-11-04 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_alliances SET fondateur = ' " . mysql_real_escape_string ( $_POST [ 'fondateur' ]) . " ' WHERE id = ' " . $alliance [ 'id' ] . " ' " );
2008-11-17 11:00:00 +00:00
$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 );
2008-11-04 11:00:00 +00:00
$membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $alliance [ 'id' ] . " '; " );
2008-11-17 11:00:00 +00:00
$membre = array ();
$membrei = array ();
2008-11-04 11:00:00 +00:00
for ( $i = 0 ; $i < $bdd -> num_rows ; $i ++ ){
2008-11-17 11:00:00 +00:00
$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' ]);
2008-11-04 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_user SET id_grade_alliance = ' " . $grade . " ' WHERE id = ' " . $user . " ' AND id_alliance = ' " . $alliance [ 'id' ] . " '; " );
2008-11-17 11:00:00 +00:00
}
elseif ( ! empty ( $_GET [ 'u' ])) {
$user = floor ( $_GET [ 'u' ]);
2008-11-04 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_user SET id_grade_alliance = '0', id_alliance = '0' WHERE id = ' " . $user . " ' AND id_alliance = ' " . $alliance [ 'id' ] . " '; " );
2008-11-17 11:00:00 +00:00
//TODO Envoyer un message au joueur renvoyé
}
elseif ( ! empty ( $_GET [ 'accept' ])) {
$user = floor ( $_GET [ 'accept' ]);
2008-11-04 11:00:00 +00:00
$verif = $bdd -> unique_query ( " SELECT * FROM $table_alliances_attente WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' AND id_membre = ' $user '; " );
2008-11-17 11:00:00 +00:00
if ( $verif ) {
2008-11-04 11:00:00 +00:00
$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 '; " );
2008-11-17 11:00:00 +00:00
//TODO Envoyer un message au joueur renvoyé
}
}
elseif ( ! empty ( $_GET [ 'refus' ])) {
$user = floor ( $_GET [ 'refus' ]);
2008-11-04 11:00:00 +00:00
$bdd -> query ( " DELETE FROM $table_alliances_attente WHERE id_membre = ' $user ' AND id_alliance = ' " . $alliance [ 'id' ] . " '; " );
2008-11-17 11:00:00 +00:00
//TODO Envoyer un message au joueur renvoyé
}
$page = 'alliance_adm_membres' ;
2008-11-04 11:00:00 +00:00
$grades = $bdd -> query ( " SELECT * FROM $table_alliances_grade WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' ORDER BY nom ASC; " );
2008-11-17 11:00:00 +00:00
$grade = array (); $gradei = array ();
2008-11-04 11:00:00 +00:00
for ( $i = 0 ; $i < $bdd -> num_rows ; $i ++ ){
2008-11-17 11:00:00 +00:00
$grade [] = $grades [ $i ][ 'nom' ];
$gradei [] = $grades [ $i ][ 'id' ];
}
$template -> assign ( 'grades' , $grade );
$template -> assign ( 'gradei' , $gradei );
2008-11-04 11:00:00 +00:00
$membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $alliance [ 'id' ] . " '; " );
2008-11-17 11:00:00 +00:00
$template -> assign ( 'membres' , $membres );
2008-11-04 11:00:00 +00:00
$candidats = $bdd -> query ( " SELECT * FROM $table_alliances_attente WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' ORDER BY timestamp ASC; " );
2008-11-17 11:00:00 +00:00
$template -> assign ( 'candidats' , $candidats );
$template -> assign ( 'alliance' , $alliance );
}
elseif ( $_GET [ 'q' ] == 'liste' ) {
$page = 'alliance_liste' ;
2008-11-04 11:00:00 +00:00
if ( isset ( $_GET [ 't' ]) && $_GET [ 't' ] == 'classement' ) $membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' ORDER BY place_points DESC; " );
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' ];
}
2008-11-17 11:00:00 +00:00
$template -> assign ( 'membres' , $membres );
}
elseif ( $_GET [ 'q' ] == 'chat' ) {
if ( isset ( $_POST [ 'msg' ])) {
2008-11-22 11:00:00 +00:00
$message = $_POST [ 'msg' ];
2008-11-04 11:00:00 +00:00
$bdd -> escape ( $message );
if ( ! empty ( $message )) $bdd -> query ( " INSERT INTO $table_alliances_chat VALUES (NULL, ' " . $alliance [ 'id' ] . " ', ' $id_user ', ' " . time () . " ', ' $message ') " );
2008-11-17 11:00:00 +00:00
header ( 'Location: ?p=alliances&q=chat#chat' );
exit ;
}
$page = 'alliance_chat' ;
//Chat
2008-11-04 11:00:00 +00:00
$chat = $bdd -> query ( " SELECT * FROM $table_alliances_chat WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' ORDER BY id DESC LIMIT 30 " );
for ( $i = 0 ; $i < $bdd -> num_rows ; $i ++ ){
2008-11-17 11:00:00 +00:00
$chat [ $i ][ 'emetteur' ] = trouvNom ( $chat [ $i ][ 'emetteur' ]);
2008-11-04 11:00:00 +00:00
$chat [ $i ][ 'message' ] = bbcode ( htmlspecialchars ( $chat [ $i ][ 'message' ]));
2008-11-17 11:00:00 +00:00
}
$template -> assign ( 'chat' , $chat );
}
else {
$page = 'alliance_accueil' ;
2008-11-30 11:00:00 +00:00
$alliance [ 'presentation' ] = bbcode ( htmlspecialchars ( $alliance [ 'presentation' ]));
$alliance [ 'texte_interne' ] = bbcode ( htmlspecialchars ( $alliance [ 'texte_interne' ]));
2008-11-17 11:00:00 +00:00
$template -> assign ( 'alliance' , $alliance );
2008-11-04 11:00:00 +00:00
$membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $alliance [ 'id' ] . " '; " );
$template -> assign ( 'nbmembre' , $bdd -> num_rows );
2008-11-17 11:00:00 +00:00
if ( ! isset ( $grade )) $template -> assign ( 'grade' , 0 );
else $template -> assign ( 'grade' , $grade );
//Chat
2008-11-04 11:00:00 +00:00
$chat = $bdd -> query ( " SELECT * FROM $table_alliances_chat WHERE id_alliance = ' " . $alliance [ 'id' ] . " ' ORDER BY id DESC LIMIT 30; " );
for ( $i = 0 ; $i < $bdd -> num_rows ; $i ++ ){
2008-11-17 11:00:00 +00:00
$chat [ $i ][ 'emetteur' ] = trouvNom ( $chat [ $i ][ 'emetteur' ]);
2008-11-22 11:00:00 +00:00
$chat [ $i ][ 'message' ] = htmlspecialchars ( $chat [ $i ][ 'message' ]);
2008-11-17 11:00:00 +00:00
}
$template -> assign ( 'chat' , $chat );
}
}
2008-11-04 11:00:00 +00:00
elseif ( ! empty ( $queryUser [ 'id_alliance' ]) && ! $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 '; " );
2008-11-30 11:00:00 +00:00
header ( 'Location: ?p=alliances' );
exit ;
}
2008-11-17 11:00:00 +00:00
//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' ]);
2008-11-04 11:00:00 +00:00
$recherche = $bdd -> query ( " SELECT * FROM $table_alliances WHERE $by LIKE '% $search %' ORDER BY nom ASC; " );
2008-11-17 11:00:00 +00:00
$template -> assign ( 'recherches' , $recherche );
}
elseif ( $_GET [ 'q' ] == 'liste' && ! empty ( $_GET [ 'i' ])) {
$page = 'alliance_liste' ;
2008-11-04 11:00:00 +00:00
if ( isset ( $_GET [ 't' ]) && $_GET [ 't' ] == 'classement' ) $membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $_GET [ 'i' ] . " ' ORDER BY place_points DESC; " );
else $membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $_GET [ 'i' ] . " '; " );
$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' ];
}
2008-11-17 11:00:00 +00:00
$template -> assign ( 'membres' , $membres );
2008-11-30 11:00:00 +00:00
$template -> assign ( 'i' , $_GET [ 'i' ]);
2008-11-17 11:00:00 +00:00
}
elseif ( $_GET [ 'q' ] == 'view' && ! empty ( $_GET [ 'i' ])) {
$id = mysql_real_escape_string ( $_GET [ 'i' ]);
2008-11-04 11:00:00 +00:00
$alliance = $bdd -> unique_query ( " SELECT * FROM $table_alliances WHERE id = ' $id '; " );
2008-11-17 11:00:00 +00:00
if ( $alliance ) {
$page = 'alliance_nm_view' ;
2008-11-30 11:00:00 +00:00
$alliance [ 'presentation' ] = bbcode ( htmlspecialchars ( $alliance [ 'presentation' ]));
2008-11-17 11:00:00 +00:00
$template -> assign ( 'alliance' , $alliance );
2008-11-04 11:00:00 +00:00
$membres = $bdd -> query ( " SELECT * FROM $table_user WHERE id_alliance = ' " . $alliance [ 'id' ] . " '; " );
$template -> assign ( 'nbmembre' , $bdd -> num_rows );
2008-11-17 11:00:00 +00:00
}
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' ]);
2008-11-04 11:00:00 +00:00
$alliance = $bdd -> unique_query ( " SELECT * FROM $table_alliances WHERE id = ' $id '; " );
2008-11-17 11:00:00 +00:00
if ( ! empty ( $_POST [ 'message' ])) {
2008-11-04 11:00:00 +00:00
$bdd -> query ( " INSERT INTO $table_alliances_attente VALUES (NULL, ' " . $alliance [ 'id' ] . " ', ' " . $id_user . " ', ' " . $queryUser [ 'pseudo' ] . " ', ' " . time () . " ', ' " . mysql_real_escape_string ( $_POST [ 'message' ]) . " '); " );
2008-11-17 11:00:00 +00:00
$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 );
2008-11-22 11:00:00 +00:00
$template -> assign ( 'alliancei' , $id );
2008-11-17 11:00:00 +00:00
$page = 'alliance_nm_postuler' ;
}
elseif ( $_GET [ 'q' ] == 'signer' && ! empty ( $_GET [ 'i' ])) {
$lien = mysql_real_escape_string ( $_GET [ 'i' ]);
2008-11-04 11:00:00 +00:00
$alliance = $bdd -> unique_query ( " SELECT * FROM $table_alliances_creation WHERE lien = ' $lien '; " );
2008-11-17 11:00:00 +00:00
if ( $alliance ) {
2008-11-18 11:00:00 +00:00
if ( empty ( $alliance [ 'signatures' ])) $signataires = array ();
else $signataires = explode ( ';' , $alliance [ 'signatures' ]);
2008-11-17 11:00:00 +00:00
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 ) {
2008-11-04 11:00:00 +00:00
$bdd -> query ( " INSERT INTO $table_alliances VALUES (NULL, ' " . $alliance [ 'tag' ] . " ', ' " . $alliance [ 'nom' ] . " ', ' " . $alliance [ 'fondateur' ] . " ', 'A faire', 'A faire', '', '', 1, 1, ''); " );
$bdd -> query ( " DELETE FROM $table_alliances_creation WHERE lien = ' $lien '; " );
2008-11-17 11:00:00 +00:00
2008-11-04 11:00:00 +00:00
$alliance = $bdd -> unique_query ( " SELECT * FROM $table_alliances WHERE nom = ' " . $alliance [ 'nom' ] . " ' AND fondateur = ' " . $alliance [ 'fondateur' ] . " '; " );
2008-11-22 11:00:00 +00:00
2008-11-17 11:00:00 +00:00
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 ++ ) {
2008-11-04 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_user SET id_alliance = ' " . $alliance [ 'id' ] . " ' WHERE id = ' " . $signataires [ $i ] . " '; " );
2008-11-17 11:00:00 +00:00
}
2008-11-04 11:00:00 +00:00
$bdd -> query ( " UPDATE $table_user SET id_alliance = ' " . $alliance [ 'id' ] . " ' WHERE id = ' $id_user '; " );
$bdd -> query ( " UPDATE $table_user SET id_alliance = ' " . $alliance [ 'id' ] . " ' WHERE id = ' " . $alliance [ 'fondateur' ] . " '; " );
2008-11-17 11:00:00 +00:00
2008-11-18 11:00:00 +00:00
$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 !' );
2008-11-17 11:00:00 +00:00
$template -> assign ( 'couleur' , 'green' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
else {
$signataires [] = $id_user ;
$signataires = implode ( ';' , $signataires );
2008-11-04 11:00:00 +00:00
$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 '; " );
2008-11-17 11:00:00 +00:00
$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 = 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' , '<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 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 ) < 3 ) {
$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 ;
}
2008-11-04 11:00:00 +00:00
$test = $bdd -> query ( " SELECT * FROM alliances WHERE nom = ' $nom ' AND tag = ' $tag '; " );
$test2 = $bdd -> query ( " SELECT * FROM alliances_creation WHERE nom = ' $nom ' AND tag = ' $tag '; " );
2008-11-17 11:00:00 +00:00
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 ());
2008-11-04 11:00:00 +00:00
$bdd -> query ( " INSERT INTO alliances_creation VALUES(NULL, ' $lien ' ,' $tag ', ' $nom ', ' $id_user ', ''); " );
2008-11-17 11:00:00 +00:00
2008-11-18 11:00:00 +00:00
$rapport = new Rapport ( 7 , $id_user , 0 , time ());
$rapport -> addInfo ( $lien , 0 );
$rapport -> send ();
2008-11-22 11:00:00 +00:00
$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>' );
2008-11-17 11:00:00 +00:00
$template -> assign ( 'couleur' , 'green' );
$template -> display ( 'game/erreur.tpl' );
exit ;
}
}
$page = 'alliance_nm_fonder' ;
}
else {
$page = 'alliance_nm_accueil' ;
}
}
2008-11-04 11:00:00 +00:00
$bdd -> deconnexion ();
2008-11-17 11:00:00 +00:00
?>