diff --git a/GameEngine/Database/db_MYSQL.php b/GameEngine/Database/db_MYSQL.php index 527298c9..d7138741 100644 --- a/GameEngine/Database/db_MYSQL.php +++ b/GameEngine/Database/db_MYSQL.php @@ -3100,6 +3100,27 @@ $q = "UPDATE " . TB_PREFIX . "users SET $column = 0 WHERE id = $uid"; return mysql_query($q, $this->connection); } + + function checkFriends($uid) { + $user = $this->getUserArray($uid, 1); + for($i=0;$i<=19;$i++) { + if($user['friend'.$i] == 0 && $user['friend'.$i.'wait'] == 0){ + for($j=$i+1;$j<=19;$j++) { + $k = $j-1; + if($user['friend'.$j] != 0){ + $friend = $this->getUserField($uid, "friend".$j, 0); + $this->addFriend($uid,"friend".$k,$friend); + $this->deleteFriend($uid,"friend".$j); + } + if($user['friend'.$j.'wait'] == 0){ + $friendwait = $this->getUserField($uid, "friend".$j."wait", 0); + $this->addFriend($sessionuid,"friend".$k."wait",$friendwait); + $this->deleteFriend($uid,"friend".$j."wait"); + } + } + } + } + } } ; diff --git a/GameEngine/Message.php b/GameEngine/Message.php index 6950a1c5..95f6d293 100644 --- a/GameEngine/Message.php +++ b/GameEngine/Message.php @@ -418,22 +418,33 @@ public function addFriends($post) { global $database; - for($i=0;$i<19;$i++) { + for($i=0;$i<=19;$i++) { if($post['addfriends'.$i] != ""){ $uid = $database->getUserField($post['addfriends'.$i], "id", 1); $added = 0; for($j=0;$j<=$i;$j++) { if($added == 0){ $user = $database->getUserField($post['myid'], "friend".$j, 0); + $userwait = $database->getUserField($post['myid'], "friend".$j."wait", 0); $exist = 0; for($k=0;$k<=19;$k++){ $user1 = $database->getUserField($post['myid'], "friend".$k, 0); - if($user1 == $uid or $user1 == $post['myid']){ + if($user1 == $uid or $uid == $post['myid']){ $exist = 1; } } - if($user == 0 && $exist == 0){ + if($user == 0 && $userwait == 0 && $exist == 0){ + $added1 = 0; + for($l=0;$l<=19;$l++){ + $user2 = $database->getUserField($uid, "friend".$l, 0); + $userwait2 = $database->getUserField($uid, "friend".$l."wait", 0); + if($user2 == 0 && $userwait2 == 0 && $added1 == 0){ + $database->addFriend($uid,"friend".$l."wait",$post['myid']); + $added1 = 1; + } + } $database->addFriend($post['myid'],"friend".$j,$uid); + $database->addFriend($post['myid'],"friend".$j."wait",$uid); $added = 1; } } diff --git a/Templates/Message/write.tpl b/Templates/Message/write.tpl index 9d56f855..f88484bc 100644 --- a/Templates/Message/write.tpl +++ b/Templates/Message/write.tpl @@ -103,12 +103,12 @@ Reply:
| - | "; }else{ echo " | ";}}else{ + | "; }else{ echo " | ";}}else if($user['friend'.$i.'wait'] == 0){ if(is_int($i/2)){ echo " |
![]() |
".$database->getUserField($user['friend'.$i],"username",0).""; ?> @@ -127,6 +127,32 @@ if(is_int($i/2)){ echo " | ||
![]() | ";
}
if(!is_int($i/2)){ echo "";} + }else{ +$friend = $database->getUserArray($user['friend'.$i.'wait'], 1); +$friendwait = 0; +for($j=0;$j<20;$j++) { +if($friend['friend'.$j.'wait'] == $session->uid){ +$wait = $friend['friend'.$j]; +$friendwait = $friend['id']; +} +} +if($wait == 0){ +if(is_int($i/2)){ echo " | ||
![]() |
+ + ".$database->getUserField($user['friend'.$i],"username",0).""; ?> + | + "; +if(!is_int($i/2)){ echo "";} +}else{ +if(is_int($i/2)){ echo " | |
![]() |
+ + ".$database->getUserField($friendwait,"username",0).""; ?> + | +![]() |
+"; }else{ echo "";} +} }} ?> |
diff --git a/nachrichten.php b/nachrichten.php index b3cb3cf6..fb60d85c 100644 --- a/nachrichten.php +++ b/nachrichten.php @@ -28,7 +28,36 @@ if(isset($_GET['t'])) { } } if(isset($_GET['delfriend']) && is_numeric($_GET['delfriend'])){ +$friend = $database->getUserField($session->uid, "friend".$_GET['delfriend'], 0); +for($i=0;$i<=19;$i++) { +$friend1 = $database->getUserField($friend, "friend".$i, 0); +if($friend1 == $session->uid){ +$database->deleteFriend($friend,"friend".$i); +} +$friendwait1 = $database->getUserField($friend, "friend".$i."wait", 0); +if($friendwait1 == $session->uid){ +$database->deleteFriend($friend,"friend".$i."wait"); +} +$database->checkFriends($friend); +} $database->deleteFriend($session->uid,"friend".$_GET['delfriend']); +$database->deleteFriend($session->uid,"friend".$_GET['delfriend']."wait"); +$database->checkFriends($session->uid); +header("Location: ".$_SERVER['PHP_SELF']."?t=1"); +} +if(isset($_GET['confirm']) && is_numeric($_GET['confirm'])){ +$myid = $database->getUserArray($session->uid, 1); +$wait = $database->getUserArray($myid['friend'.$_GET['confirm'].'wait'], 1); +$added = 0; +for($i=0;$i<20;$i++) { +$user = $database->getUserField($wait['id'], "friend".$i, 0); +if($user == $session->uid && $added == 0){ +$database->addFriend($wait['id'],"friend".$i."wait",0); +$added = 1; +} +} +$database->addFriend($session->uid,"friend".$_GET['confirm'],$wait['id']); +$database->addFriend($session->uid,"friend".$_GET['confirm']."wait",0); header("Location: ".$_SERVER['PHP_SELF']."?t=1"); } ?>