You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			143 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			143 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			PHP
		
	
| <?php
 | |
| /*
 | |
|  *
 | |
|  * @copyright (c) 2009 animegame.eu
 | |
|  * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
 | |
|  *
 | |
|  */
 | |
| 
 | |
| include_once(ROOT_PATH.'/include/config.inc.php');
 | |
| include_once(ROOT_PATH.'/include/designfunctions.inc.php');
 | |
| include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php');
 | |
| include_once (ROOT_PATH . '/include/parse.inc.php');
 | |
| include_once (ROOT_PATH . '/include/messagefunctions.inc.php');
 | |
| // GET-Section
 | |
| // Kritisch (SQL-Injections)
 | |
| $text = validateString($_GET['text']);
 | |
| $username = validateName($_GET['username'], NULL);
 | |
| 
 | |
| // Unkritisch
 | |
| $action = $_GET['action'];
 | |
| 
 | |
| function handleInvitation($user, $username, $clan){
 | |
| 	if($clan['leader'] != $user['id'] && $clan['co_leader'] != $user['id']){
 | |
| 		displayErrorMessage(NULL, 'Nur der Leader, bzw. der Co-Leader kann neue Member einladen!');
 | |
| 		return false;
 | |
| 	}
 | |
| 
 | |
| 	if($user['clan'] == NULL){
 | |
| 		displayErrorMessage(NULL, 'Fehler! Nutzer existiert nicht!');
 | |
| 		return false;
 | |
| 	}
 | |
| 	$row = mysqli_fetch_assoc(db_query('SELECT * FROM user where nickname = \''. $username.'\''));
 | |
| 	$userid = $row['id'];
 | |
| 	if($row['clan'] == $user['clan']){
 | |
| 		displayErrorMessage(NULL, 'Fehler! Nutzer ist schon in deinem Clan!', displayHistoryBackLink());
 | |
| 		return false;
 | |
| 	}
 | |
| 
 | |
| 	if($row){
 | |
| 		$sql = 'INSERT INTO user_clan_invitations(userid, clanid, valid) values('.$userid.','.$user['clan'].',TIMESTAMPADD(DAY, 5, now()))';
 | |
| //		echo $sql.'<br>';
 | |
| 		db_query($sql);
 | |
| 		if(db_affected_rows() <= 0){ // Fehler?
 | |
| 			$sql = 'UPDATE user_clan_invitations SET valid = TIMESTAMPADD(DAY, 5, now()) where userid = '.$userid.' and clanid = '.$user['clan'];
 | |
| //			echo $sql.'<br>';
 | |
| 			db_query($sql);
 | |
| 			if(db_affected_rows() <= 0){ // Fehler?
 | |
| 				displayErrorMessage(NULL, 'Fehler! Konnte Nutzer nicht einladen!', displayHistoryBackLink());
 | |
| 				return false;
 | |
| 			} else{
 | |
| 				displayErrorMessage('','Nutzereinladung aufgefrischt!', '<a href="index.php?as=clan/post">weiter</a>');
 | |
| 				sendMessage($user['id'], $userid, 'Einladung in Clan', 'Die Einladung des Clans '.$clan['clanname'].' wurde aufgefrischt! Klicke auf "Clan beitreten" um die Einladung anzunehmen!');
 | |
| 			}
 | |
| 		} else{
 | |
| 			displayErrorMessage('','Nutzer erfolgreich eingeladen!', '<a href="index.php?as=clan/post">weiter</a>');
 | |
| 			sendMessage($user['id'], $userid, 'Einladung in Clan', 'Du wurdest eingeladen dich dem Clan '.$clan['clanname'].' anzuschliessen! Klicke auf "Clan beitreten" um die Einladung anzunehmen!');
 | |
| 		}
 | |
| 	}
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| function sendClanNewsletter($user, $clan, $text){
 | |
| 	if($clan == NULL){
 | |
| 		return;
 | |
| 	}
 | |
| 	$sql = 'SELECT id FROM user WHERE clan='.$clan['id'];
 | |
| 	$clans = db_query($sql);
 | |
| 	while($row = mysqli_fetch_assoc($clans)) {
 | |
| 		sendMessage($user['id'], $row['id'], $clan['clanname'].' Nachricht', $text);
 | |
| 	}
 | |
| 	displayErrorMessage(NULL,'Nachricht erfolgreich verschickt', '<a href="index.php?as=clan/post">weiter...</a>');
 | |
| }
 | |
| 
 | |
| function revertInvitation($user, $clan, $userid){
 | |
| 	if($clan['leader'] != $user['id'] && $clan['co_leader'] != $user['id']){
 | |
| 		displayErrorMessage(NULL, 'Nur der Leader, bzw. der Co-Leader kann Einladungen zurückziehen!!', displayHistoryBackLink());
 | |
| 		return false;
 | |
| 	}
 | |
| 	db_query('DELETE FROM user_clan_invitations WHERE clan = '.$clan['id'].' AND userid = '.$userid);
 | |
| 	if(db_affected_rows() > 0){
 | |
| 		displayErrorMessage('Zurückgezogen','Du hast die Einladung erfolgreich zurückgezogen!','<a href="index.php?as=clan/post">weiter</a>');
 | |
| 	} else{
 | |
| 		displayErrorMessage(NULL,'Einladung konnte nicht zurückgezogen werden!',displayHistoryBackLink());
 | |
| 		return false;
 | |
| 	}
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| 
 | |
| $clan = mysqli_fetch_assoc(db_query('SELECT * from clan where id = '.$user_ida['clan']));
 | |
| 
 | |
| if($action == 'newsletter') {
 | |
| 	sendClanNewsletter($user_ida, $clan, $text);
 | |
| } else if($action == 'invite'){
 | |
| 	handleInvitation($user_ida, $username, $clan);
 | |
| } else if($action == 'reject'){
 | |
| 	revertInvitation($user_ida, $username, $clan);
 | |
| } else {
 | |
| 	?>
 | |
| 
 | |
| <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
 | |
| 	<input type="hidden" name="as" value="clan/post">
 | |
| 	<input type="hidden" name="action" value="invite">
 | |
| 	<table cellpadding="0" cellspacing="0" width="100%" height="69">
 | |
| 		<tr>
 | |
| 			<th height="18" width="603" class="content">
 | |
| 				Nutzer in Clan einladen!
 | |
| 			</th>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td height="25" align="center"> <input class="input" name="username"/></td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td height="25" valign="top" colspan="2" align="center"> <input class="input" type="submit" value="abschicken"></td>
 | |
| 		</tr>
 | |
| 	</table>
 | |
| </form>
 | |
| 
 | |
| 	<table cellpadding="0" cellspacing="0" width="100%">
 | |
| 		<tr>
 | |
| 			<th height="30" width="585" colspan="5" class="content">Versendete Claneinladungen</th>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<th height="30" class="content">Username</th>
 | |
| 			<th height="30" colspan="2" class="content">Deadline</th>
 | |
| 			<th height="30" colspan="2" class="content">Aktion</th>
 | |
| <?php
 | |
| 	$sql = 'SELECT * FROM user_clan_invitations WHERE clanid = '.$user_ida['clan'].' and valid > now();';
 | |
| 	$qry = db_query($sql);
 | |
| 	while($row = mysqli_fetch_assoc($qry)){
 | |
| ?>
 | |
| 		<tr>
 | |
| 			<td height="30" align="center" class="content"><?php echo displayUserLinkById($row['userid']); ?></td>
 | |
| 			<td height="30" align="center" colspan="2" class="content"><?php echo $row['valid']; ?></td>
 | |
| 			<td height="30" align="center" colspan="2" class="content"><a href="index.php?as=clan/post&action=reject&userid=<?php echo $row['userid']; ?>">zurückziehen</a></td>
 | |
| 		</tr>
 | |
| <?php
 | |
| 	}
 | |
| ?>
 | |
| </table>
 | |
| <?php
 | |
| }
 | |
| ?>
 |