From 17a8f0e6628a29fa62531540fe2e5339e931ab86 Mon Sep 17 00:00:00 2001 From: radiskull Date: Wed, 24 Aug 2011 20:34:24 +0000 Subject: [PATCH] Usergruppen implementiert - Chatfarben - Profil (Werbung) usergroup.inc.php um add/removeUserToGroup erweitert --- ag/ag_popupchat.php | 2 +- ag/gm/include/user.inc.php | 9 +-- ag/include/config.inc.php | 3 +- ag/include/messagefunctions.inc.php | 86 ++++++++++++++--------------- ag/include/usergroup.inc.php | 28 +++++++++- ag/profil.php | 28 +++++++--- 6 files changed, 93 insertions(+), 63 deletions(-) diff --git a/ag/ag_popupchat.php b/ag/ag_popupchat.php index 08e1b9a..75505a1 100644 --- a/ag/ag_popupchat.php +++ b/ag/ag_popupchat.php @@ -59,7 +59,7 @@ if (isset($_GET['send'])) { if($anon_block === false){ $send = $_GET['send']; // $send = preg_replace(array('#ace #i', '#tod#'), array('SPOIL!!', 'SPOIL!!'), $send); - sendChatMessage($user_ida, $send); + sendChatMessage($user_ida, $send, $usergroups); } echo "OK"; } diff --git a/ag/gm/include/user.inc.php b/ag/gm/include/user.inc.php index 8e47917..96d1324 100644 --- a/ag/gm/include/user.inc.php +++ b/ag/gm/include/user.inc.php @@ -34,18 +34,15 @@ function getOtherUserGroups($user) { return $groups; } +//TODO: action loggen! function displayUserGroups($action, $name, $ugname, $delete, $add) { if($action === 'search') { $username = validateName($name); if($username !== NULL) { if ($delete !== NULL && $delete >= 0) { - $qry = 'DELETE FROM user_gruppe_zuordnung WHERE user_id in (SELECT id FROM user WHERE nickname = \''.$username. - '\') AND gruppen_id = '.$delete.';'; - mysql_query($qry); + removeUserToGroup($username, $delete); } else if($add !== NULL && $add >= 0) { - $qry = 'INSERT INTO user_gruppe_zuordnung(user_id, gruppen_id) - VALUES((SELECT id FROM user WHERE nickname = \''.$username.'\'), '.$add.');'; - mysql_query($qry); + addUserToGroup($username, $add); } $usergroups = getUserGroups($username); diff --git a/ag/include/config.inc.php b/ag/include/config.inc.php index c466511..c61905c 100644 --- a/ag/include/config.inc.php +++ b/ag/include/config.inc.php @@ -40,11 +40,11 @@ include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/usergroup.inc.php'); $name = validateName($_COOKIE['name']); $passwort = validateString($_COOKIE['passwort']); +$usergroups = array(); if(!checkCookiePassword($name, $passwort)){ $POLOE = 1; $user_ida = array(); - $usergroups = array(); } else { $user_ida = mysql_fetch_assoc(mysql_query("SELECT * FROM user WHERE nickname='$name' LIMIT 1")); $usergroups = getUserGroups($name); @@ -54,7 +54,6 @@ if(!checkCookiePassword($name, $passwort)){ } } - $banned_accs = mysql_num_rows(mysql_query("SELECT id FROM user WHERE ip!='' AND ip='$user_ida[ip]' AND id!='$user_ida[id]' LIMIT 2")); $clan_nachricht = mysql_fetch_array(mysql_query("SELECT i.id FROM clan_k_list i LEFT JOIN clan c ON(c.id=i.an) WHERE i.anzeige='1' AND (c.leader='$user_ida[id]' OR c.co_leader='$user_ida[id]') AND i.an='$user_ida[clan]' LIMIT 1")); diff --git a/ag/include/messagefunctions.inc.php b/ag/include/messagefunctions.inc.php index ac8265e..1914c9c 100644 --- a/ag/include/messagefunctions.inc.php +++ b/ag/include/messagefunctions.inc.php @@ -8,27 +8,27 @@ */ /****************************************************************************** -* Dieser Skript enthält Funktionen für das versenden von Nachrichten wichtig ist -* Dabei werden die Info's ueber einen bbCode umgesetzt -******************************************************************************* -* Autor: Pascal Proksch -* Erstellungsdatum: 20.08.2007 -* Zuletzt verändert: 03.10.2007 -*******************************************************************************/ + * Dieser Skript enthält Funktionen für das versenden von Nachrichten wichtig ist + * Dabei werden die Info's ueber einen bbCode umgesetzt + ******************************************************************************* + * Autor: Pascal Proksch + * Erstellungsdatum: 20.08.2007 + * Zuletzt verändert: 03.10.2007 + *******************************************************************************/ include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/config/db.inc.php'); include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/parse.inc.php'); include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/bann.inc.php'); function sendMessage($von, $besitzer, $betreff, $text){ -// $betreff = $betreff; + // $betreff = $betreff; $text = urldecode($text); $text = encodeNoHTMLWithBB($text); $betreff = urldecode($betreff); $betreff = encodeNoHTMLWithBB($betreff); - + $sql = 'INSERT INTO nachricht(von, besitzer, betreff, text) VALUES (\''.$von.'\', '.$besitzer.', \''.$betreff.'\', \''.$text.'\')'; -// echo $sql.'
'; + // echo $sql.'
'; mysql_query($sql); } @@ -40,37 +40,37 @@ function colorize($text){ // Der Text MUSS schon vorher überprüft werden! -function sendChatMessage($user,$text){ -// $text = urldecode($text); -// echo $text.'
'; - // So nun erstmal sehen ob der user eine spamstrafe besitzt!! - if(isSpammer($user['id'])){ - return; - } - - $text = encodeNoHTMLWithBB($text); - - // Nun pruefen, ob der User ein spammer ist - becomeSpammer($user['id'],$user['nickname'],$text); - - // Faerbe den Spieler nur ein wenn Werbung auf Hardcore steht - if($user['ads'] == 1){ - if($user['gm'] == 'ja'){ - $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; - } else if($user['gm'] == 'et'){ - $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; - } else if($user['gm'] == 'ka'){ - $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; - } else { - $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; - } +function sendChatMessage($user,$text, $usergroups){ + // $text = urldecode($text); + // echo $text.'
'; + // So nun erstmal sehen ob der user eine spamstrafe besitzt!! + if(isSpammer($user['id'])){ + return; + } + + $text = encodeNoHTMLWithBB($text); + + // Nun pruefen, ob der User ein spammer ist + becomeSpammer($user['id'],$user['nickname'],$text); + + // Faerbe den Spieler nur ein wenn Werbung auf Hardcore steht + if(isUserInGroup($usergroups, Werbung_an)){ + if(isUserInGroup($usergroups, admin)){ + $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; + } else if(isUserInGroup($usergroups, entwickler)){ + $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; + } else if(isUserInGroup($usergroups, designer)){ + $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; } else { - $nick = encodeNoHTMLNoBB($user['nickname']); + $nick = ''.encodeNoHTMLNoBB($user['nickname']).''; } + } else { + $nick = encodeNoHTMLNoBB($user['nickname']); + } - if($text != '' && !is_null($text)){ - mysql_query('INSERT ag_chat SET nachricht=\''.$text.'\', user=\''.$nick.'\''); - } + if($text != '' && !is_null($text)){ + mysql_query('INSERT ag_chat SET nachricht=\''.$text.'\', user=\''.$nick.'\''); + } } function getChatMessages($userid, $messageid = 0, $limit = 25){ @@ -83,7 +83,7 @@ function getChatMessages($userid, $messageid = 0, $limit = 25){ if($messageid > $minid){ $minid = $messageid; } - + $result = mysql_query('SELECT *, Minute(zeit) as m, Hour(zeit) as h FROM ag_chat WHERE id > '.$minid.' ORDER BY ID ASC LIMIT '.$limit); while ($row = mysql_fetch_assoc($result)) { $h = $row['h']; @@ -109,11 +109,11 @@ function insertUserTickerMessage($userid, $message, $offset = 0){ $sql = 'INSERT INTO user_ticker(userid, date, msgid, text) values('.$userid.', '.$timestamp.', '.$msgid.', \''.$message.'\')'; mysql_query($sql); if(mysql_affected_rows() == 1){ -// echo 'MYSQL success: '.$sql; + // echo 'MYSQL success: '.$sql; return; } } -// echo 'MYSQL-Error: '.$sql; + // echo 'MYSQL-Error: '.$sql; } function insertClanTickerMessage($clanid, $message, $offset = 0){ @@ -126,11 +126,11 @@ function insertClanTickerMessage($clanid, $message, $offset = 0){ $sql = 'INSERT INTO clan_ticker(clanid, date, msgid, text) values('.$clanid.', now(), '.$msgid.', \''.$message.'\')'; mysql_query($sql); if(mysql_affected_rows() == 1){ -// echo 'MYSQL success: '.$sql; + // echo 'MYSQL success: '.$sql; return; } } -// echo 'MYSQL-Error: '.$sql; + // echo 'MYSQL-Error: '.$sql; } //$test = "Dies ist eine [b]beliebige[/b] Nachricht mit einem auktionslink [a]testlink.html[/a]"; diff --git a/ag/include/usergroup.inc.php b/ag/include/usergroup.inc.php index 2f53b70..37d83da 100644 --- a/ag/include/usergroup.inc.php +++ b/ag/include/usergroup.inc.php @@ -18,7 +18,7 @@ include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/parse.inc.php'); function getUserGroups($user) { $qry = null; $groups = array(); - + //prüfen welcher wert für user steht (id oder name) if(is_numeric($user)) { $test = 'SELECT ug.gruppen_name, ug.gruppen_id FROM user_gruppe_zuordnung as ugz @@ -32,7 +32,7 @@ function getUserGroups($user) { WHERE u.nickname = \''.$user.'\''; $qry = mysql_query($test); } - + $i = 0; while ($result = mysql_fetch_assoc($qry)) { $groups[$i] = array("gruppen_id" => $result['gruppen_id'], "gruppen_name" => $result['gruppen_name']); @@ -50,4 +50,28 @@ function isUserInGroup($usergrouparray, $group) { } return false; } + +function removeUserToGroup($user, $group) { + if($user !== NULL) { + if ($group !== NULL && $group >= 0) { + $qry = 'DELETE FROM user_gruppe_zuordnung WHERE user_id in (SELECT id FROM user WHERE nickname = \''.$user. + '\') AND gruppen_id = '.$group.';'; + mysql_query($qry); + return true; + } + } + return false; +} + +function addUserToGroup($user, $group) { + if($user !== NULL) { + if ($group !== NULL && $group >= 0) { + $qry = 'INSERT INTO user_gruppe_zuordnung(user_id, gruppen_id) + VALUES((SELECT id FROM user WHERE nickname = \''.$user.'\'), '.$group.');'; + mysql_query($qry); + return true; + } + } + return false; +} ?> \ No newline at end of file diff --git a/ag/profil.php b/ag/profil.php index 5bcb00d..56e1c2d 100644 --- a/ag/profil.php +++ b/ag/profil.php @@ -42,7 +42,7 @@ function isNickChanged($user){ } -function changeProfil($user, $new_pw, $new_nick, $new_nick2, $alt_pw, $homepage, $icq, $chat, $ads){ +function changeProfil($user, $usergroups, $new_pw, $new_nick, $new_nick2, $alt_pw, $homepage, $icq, $chat, $ads){ if(!is_numeric($chat)){ displayErrorMessage(NULL,'Chat-Feld inkorrekt ausgefuellt!',''); return; @@ -83,20 +83,29 @@ function changeProfil($user, $new_pw, $new_nick, $new_nick2, $alt_pw, $homepage, } setPassword($user['nickname'], $new_pw); } - mysql_query('UPDATE user SET homepage=\''.$homepage.'\', icq=\''.$icq.'\', chat = '.$chat.', ads = '.$ads.' WHERE id=\''.$user['id'].'\''); + if($ads == 1) { + if(!isUserInGroup($usergroups, Werbung_an)) { + addUserToGroup($user['nickname'], Werbung_an); + } + } else { + if(isUserInGroup($usergroups, Werbung_an)) { + removeUserToGroup($user['nickname'], Werbung_an); + } + } + mysql_query('UPDATE user SET homepage=\''.$homepage.'\', icq=\''.$icq.'\', chat = '.$chat.' WHERE id=\''.$user['id'].'\''); displayErrorMessage('Profil erfolgreich geändert','Sollte das Passwort geändert worden sein, ist ein erneuter Login erforderlich.',''); return mysql_fetch_assoc(mysql_query('Select * from user where id = '.$user['id'])); } -function display($user){ +function display($user, $usergroups){ if($user['post']){ $post_check = 'checked'; } if($user['schnelllink'] == 2){ $char_schnell = 'selected'; - } - ?> + } + ?>
@@ -149,8 +158,9 @@ function display($user){ Werbegrad: - \ No newline at end of file