From 98fa919fc40b28ba49443cc30302079c1034c326 Mon Sep 17 00:00:00 2001 From: hecht Date: Wed, 30 Nov 2011 21:42:33 +0000 Subject: [PATCH] now the participants get an private message if a challenge request is denied or canceled. Also there will be a big notification if a challenge is canceled! Not yet locally tested!!!! --- ag/include/clan_fights.inc.php | 61 +++++++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/ag/include/clan_fights.inc.php b/ag/include/clan_fights.inc.php index cd08b80..9d8e54b 100644 --- a/ag/include/clan_fights.inc.php +++ b/ag/include/clan_fights.inc.php @@ -213,10 +213,15 @@ function acceptChallengeRequest($challenged_clan, array $user) { if(is_numeric($oclan['leader'])) { sendMessage($user['nickname'], $oclan['leader'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat eure Herausforderungen zu einem Clan-Fight angenommen! Über "Mein Clan" könnt ihr nun Chars anmelden!'); } + if(is_numeric($oclan['co_leader']) && $oclan['leader'] != $oclan['co_leader']) { sendMessage($user['nickname'], $oclan['co_leader'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat eure Herausforderungen zu einem Clan-Fight angenommen! Über "Mein Clan" könnt ihr nun Chars anmelden!'); } + if(is_numeric($clan_challenge['clan_challenge_creator']) && $clan_challenge['clan_challenge_creator'] != $oclan['leader'] && $clan_challenge['clan_challenge_creator'] != $oclan['co_leader']) { + sendMessage($user['nickname'], $clan_challenge['clan_challenge_creator'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat eure Herausforderungen zu einem Clan-Fight angenommen! Über "Mein Clan" könnt ihr nun Chars anmelden!'); + } + $finished = FALSE; $id = -1; // get id @@ -243,7 +248,8 @@ function acceptChallengeRequest($challenged_clan, array $user) { } function cancelChallengeRequest($challenged_clan, array $user) { - $clan = getClan($user['clan']); + $clan = getClan($user['clan']); + $oclan = getClan($challenged_clan); if(!$clan) { return 'Du bist in keinem Clan!!'; @@ -270,6 +276,15 @@ function cancelChallengeRequest($challenged_clan, array $user) { // okay seems to be okay mysql_query('UPDATE clan_challenge_requests SET active = false WHERE clan_challenged = ' .$challenged_clan . ' AND clan_requester = ' .$user['clan'] . ' AND active = TRUE'); + + if(is_numeric($oclan['leader'])) { + sendMessage($user['nickname'], $oclan['leader'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat die Herausforderungen zu einem Clan-Fight zurückgezogen! Über "Mein Clan" kann eine neue Herausforderungen erstellt werden!'); + } + + if(is_numeric($oclan['co_leader']) && $oclan['leader'] != $oclan['co_leader']) { + sendMessage($user['nickname'], $oclan['co_leader'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat die Herausforderungen zu einem Clan-Fight zurückgezogen! Über "Mein Clan" kann eine neue Herausforderungen erstellt werden!'); + } + return NULL; } @@ -280,7 +295,7 @@ function cancelChallengeRequest($challenged_clan, array $user) { */ function denyChallengeRequest($challenge_requester, array $user) { $clan = getClan($user['clan']); - + $oclan = getClan($challenge_requester); if(!$clan) { return 'Du bist in keinem Clan!!'; } @@ -306,6 +321,20 @@ function denyChallengeRequest($challenge_requester, array $user) { // okay seems to be okay mysql_query('UPDATE clan_challenge_requests SET active = false WHERE clan_challenged = ' .$user['clan'] . ' AND clan_requester = ' .$challenge_requester. ' AND active = TRUE'); + + if(is_numeric($oclan['leader'])) { + sendMessage($user['nickname'], $oclan['leader'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat eure Herausforderungen zu einem Clan-Fight abgelehnt! Über "Mein Clan" könnt neue Herausforderungen erstellen!'); + } + + if(is_numeric($oclan['co_leader']) && $oclan['leader'] != $oclan['co_leader']) { + sendMessage($user['nickname'], $oclan['co_leader'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat eure Herausforderungen zu einem Clan-Fight abgelehnt! Über "Mein Clan" könnt neue Herausforderungen erstellen!'); + } + + if(is_numeric($clan_challenge['clan_challenge_creator']) && $clan_challenge['clan_challenge_creator'] != $oclan['leader'] && $clan_challenge['clan_challenge_creator'] != $oclan['co_leader']) { + sendMessage($user['nickname'], $clan_challenge['clan_challenge_creator'], 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat eure Herausforderungen zu einem Clan-Fight abgelehnt! Über "Mein Clan" könnt neue Herausforderungen erstellen!'); + } + + return NULL; } @@ -643,12 +672,13 @@ function leaveChallenge($clan_challenge_id, array $user, $charid) { function cancelChallenge($clan_challenge_id, array $user) { $clan = getClan($user['clan']); + $clan_ids = getParticipatingClanIDs($clan_challenge_id); + if(!$clan) { return 'Du bist in keinem Clan!!'; } - $clans = getParticipatingClanIDs($clan_challenge_id); - if(!in_array($clan['id'], $clans)) { + if(!in_array($clan['id'], $clan_ids)) { return 'Dein Clan nimmt überhaupt nicht an diesem Clan-Fight teil!'; } @@ -656,12 +686,35 @@ function cancelChallenge($clan_challenge_id, array $user) { return 'Du hast nicht die Rechte diesen Clan-Fight zurück zu ziehen!'; } + // calculate who to notify!! + $user_to_notify = array(); + foreach ($clan_ids as $clan_id) { + $clan_tmp = getClan($clan_id); + if(is_numeric($clan_tmp['leader']) && !in_array($clan_tmp['leader'], $user_to_notify)) { + $user_to_notify[] = $clan_tmp['leader']; + } else if(is_numeric($clan_tmp['co_leader']) && !in_array($clan_tmp['co_leader'], $user_to_notify)) { + $user_to_notify[] = $clan_tmp['co_leader']; + } + $char_ids = getParticipatingCharIDs($clan_challenge_id, $clan_id); + foreach($char_ids as $char_id) { + $char_tmp = getChar($char_id); + if(is_numeric($char_tmp['besitzer']) && !in_array($char_tmp['besitzer'], $user_to_notify)) { + $user_to_notify[] = $char_tmp['besitzer']; + } + } + } + // kay, finish him !!! $sql = 'DELETE FROM clan_challenges WHERE clan_challenge_id = ' .$clan_challenge_id . ' AND calculated = FALSE'; // echo $sql . '
'; $res = mysql_query($sql); if(!$res) return 'Beim zurückziehen des Clan-Fights ist ein technischer Fehler aufgetreten!'; + + foreach ($user_to_notify as $userid) { + sendMessage($user['nickname'], $userid, 'Clan-Fight', 'Der Clan '.$clan['clanname'].' hat den Clan-Fight zurückgezogen!'); + } + return NULL; }