Usergruppen implementiert

- Chatfarben
 - Profil (Werbung)
usergroup.inc.php um add/removeUserToGroup erweitert
main
radiskull 13 years ago
parent 88e649fb39
commit 17a8f0e662

@ -59,7 +59,7 @@ if (isset($_GET['send'])) {
if($anon_block === false){ if($anon_block === false){
$send = $_GET['send']; $send = $_GET['send'];
// $send = preg_replace(array('#ace #i', '#tod#'), array('SPOIL!!', 'SPOIL!!'), $send); // $send = preg_replace(array('#ace #i', '#tod#'), array('SPOIL!!', 'SPOIL!!'), $send);
sendChatMessage($user_ida, $send); sendChatMessage($user_ida, $send, $usergroups);
} }
echo "OK"; echo "OK";
} }

@ -34,18 +34,15 @@ function getOtherUserGroups($user) {
return $groups; return $groups;
} }
//TODO: action loggen!
function displayUserGroups($action, $name, $ugname, $delete, $add) { function displayUserGroups($action, $name, $ugname, $delete, $add) {
if($action === 'search') { if($action === 'search') {
$username = validateName($name); $username = validateName($name);
if($username !== NULL) { if($username !== NULL) {
if ($delete !== NULL && $delete >= 0) { if ($delete !== NULL && $delete >= 0) {
$qry = 'DELETE FROM user_gruppe_zuordnung WHERE user_id in (SELECT id FROM user WHERE nickname = \''.$username. removeUserToGroup($username, $delete);
'\') AND gruppen_id = '.$delete.';';
mysql_query($qry);
} else if($add !== NULL && $add >= 0) { } else if($add !== NULL && $add >= 0) {
$qry = 'INSERT INTO user_gruppe_zuordnung(user_id, gruppen_id) addUserToGroup($username, $add);
VALUES((SELECT id FROM user WHERE nickname = \''.$username.'\'), '.$add.');';
mysql_query($qry);
} }
$usergroups = getUserGroups($username); $usergroups = getUserGroups($username);

@ -40,11 +40,11 @@ include_once ($_SERVER['DOCUMENT_ROOT'] . 'ag/include/usergroup.inc.php');
$name = validateName($_COOKIE['name']); $name = validateName($_COOKIE['name']);
$passwort = validateString($_COOKIE['passwort']); $passwort = validateString($_COOKIE['passwort']);
$usergroups = array();
if(!checkCookiePassword($name, $passwort)){ if(!checkCookiePassword($name, $passwort)){
$POLOE = 1; $POLOE = 1;
$user_ida = array(); $user_ida = array();
$usergroups = array();
} else { } else {
$user_ida = mysql_fetch_assoc(mysql_query("SELECT * FROM user WHERE nickname='$name' LIMIT 1")); $user_ida = mysql_fetch_assoc(mysql_query("SELECT * FROM user WHERE nickname='$name' LIMIT 1"));
$usergroups = getUserGroups($name); $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")); $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")); $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"));

@ -8,27 +8,27 @@
*/ */
/****************************************************************************** /******************************************************************************
* Dieser Skript enthält Funktionen für das versenden von Nachrichten wichtig ist * Dieser Skript enthält Funktionen für das versenden von Nachrichten wichtig ist
* Dabei werden die Info's ueber einen bbCode umgesetzt * Dabei werden die Info's ueber einen bbCode umgesetzt
******************************************************************************* *******************************************************************************
* Autor: Pascal Proksch * Autor: Pascal Proksch
* Erstellungsdatum: 20.08.2007 * Erstellungsdatum: 20.08.2007
* Zuletzt verändert: 03.10.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/config/db.inc.php');
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/parse.inc.php'); include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/parse.inc.php');
include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/bann.inc.php'); include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/bann.inc.php');
function sendMessage($von, $besitzer, $betreff, $text){ function sendMessage($von, $besitzer, $betreff, $text){
// $betreff = $betreff; // $betreff = $betreff;
$text = urldecode($text); $text = urldecode($text);
$text = encodeNoHTMLWithBB($text); $text = encodeNoHTMLWithBB($text);
$betreff = urldecode($betreff); $betreff = urldecode($betreff);
$betreff = encodeNoHTMLWithBB($betreff); $betreff = encodeNoHTMLWithBB($betreff);
$sql = 'INSERT INTO nachricht(von, besitzer, betreff, text) VALUES (\''.$von.'\', '.$besitzer.', \''.$betreff.'\', \''.$text.'\')'; $sql = 'INSERT INTO nachricht(von, besitzer, betreff, text) VALUES (\''.$von.'\', '.$besitzer.', \''.$betreff.'\', \''.$text.'\')';
// echo $sql.'<br>'; // echo $sql.'<br>';
mysql_query($sql); mysql_query($sql);
} }
@ -40,37 +40,37 @@ function colorize($text){
// Der Text MUSS schon vorher überprüft werden! // Der Text MUSS schon vorher überprüft werden!
function sendChatMessage($user,$text){ function sendChatMessage($user,$text, $usergroups){
// $text = urldecode($text); // $text = urldecode($text);
// echo $text.'<br>'; // echo $text.'<br>';
// So nun erstmal sehen ob der user eine spamstrafe besitzt!! // So nun erstmal sehen ob der user eine spamstrafe besitzt!!
if(isSpammer($user['id'])){ if(isSpammer($user['id'])){
return; return;
} }
$text = encodeNoHTMLWithBB($text); $text = encodeNoHTMLWithBB($text);
// Nun pruefen, ob der User ein spammer ist // Nun pruefen, ob der User ein spammer ist
becomeSpammer($user['id'],$user['nickname'],$text); becomeSpammer($user['id'],$user['nickname'],$text);
// Faerbe den Spieler nur ein wenn Werbung auf Hardcore steht // Faerbe den Spieler nur ein wenn Werbung auf Hardcore steht
if($user['ads'] == 1){ if(isUserInGroup($usergroups, Werbung_an)){
if($user['gm'] == 'ja'){ if(isUserInGroup($usergroups, admin)){
$nick = '<span style="color:lime">'.encodeNoHTMLNoBB($user['nickname']).'</span>'; $nick = '<span style="color:lime">'.encodeNoHTMLNoBB($user['nickname']).'</span>';
} else if($user['gm'] == 'et'){ } else if(isUserInGroup($usergroups, entwickler)){
$nick = '<span style="color:#44BFFF">'.encodeNoHTMLNoBB($user['nickname']).'</span>'; $nick = '<span style="color:#44BFFF">'.encodeNoHTMLNoBB($user['nickname']).'</span>';
} else if($user['gm'] == 'ka'){ } else if(isUserInGroup($usergroups, designer)){
$nick = '<span style="color:#F70000">'.encodeNoHTMLNoBB($user['nickname']).'</span>'; $nick = '<span style="color:#F70000">'.encodeNoHTMLNoBB($user['nickname']).'</span>';
} else {
$nick = '<span style="color:gold">'.encodeNoHTMLNoBB($user['nickname']).'</span>';
}
} else { } else {
$nick = encodeNoHTMLNoBB($user['nickname']); $nick = '<span style="color:gold">'.encodeNoHTMLNoBB($user['nickname']).'</span>';
} }
} else {
$nick = encodeNoHTMLNoBB($user['nickname']);
}
if($text != '' && !is_null($text)){ if($text != '' && !is_null($text)){
mysql_query('INSERT ag_chat SET nachricht=\''.$text.'\', user=\''.$nick.'\''); mysql_query('INSERT ag_chat SET nachricht=\''.$text.'\', user=\''.$nick.'\'');
} }
} }
function getChatMessages($userid, $messageid = 0, $limit = 25){ function getChatMessages($userid, $messageid = 0, $limit = 25){
@ -83,7 +83,7 @@ function getChatMessages($userid, $messageid = 0, $limit = 25){
if($messageid > $minid){ if($messageid > $minid){
$minid = $messageid; $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); $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)) { while ($row = mysql_fetch_assoc($result)) {
$h = $row['h']; $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.'\')'; $sql = 'INSERT INTO user_ticker(userid, date, msgid, text) values('.$userid.', '.$timestamp.', '.$msgid.', \''.$message.'\')';
mysql_query($sql); mysql_query($sql);
if(mysql_affected_rows() == 1){ if(mysql_affected_rows() == 1){
// echo 'MYSQL success: '.$sql; // echo 'MYSQL success: '.$sql;
return; return;
} }
} }
// echo 'MYSQL-Error: '.$sql; // echo 'MYSQL-Error: '.$sql;
} }
function insertClanTickerMessage($clanid, $message, $offset = 0){ 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.'\')'; $sql = 'INSERT INTO clan_ticker(clanid, date, msgid, text) values('.$clanid.', now(), '.$msgid.', \''.$message.'\')';
mysql_query($sql); mysql_query($sql);
if(mysql_affected_rows() == 1){ if(mysql_affected_rows() == 1){
// echo 'MYSQL success: '.$sql; // echo 'MYSQL success: '.$sql;
return; return;
} }
} }
// echo 'MYSQL-Error: '.$sql; // echo 'MYSQL-Error: '.$sql;
} }
//$test = "Dies ist eine [b]beliebige[/b] Nachricht mit einem auktionslink [a]testlink.html[/a]"; //$test = "Dies ist eine [b]beliebige[/b] Nachricht mit einem auktionslink [a]testlink.html[/a]";

@ -18,7 +18,7 @@ include_once($_SERVER['DOCUMENT_ROOT'].'ag/include/parse.inc.php');
function getUserGroups($user) { function getUserGroups($user) {
$qry = null; $qry = null;
$groups = array(); $groups = array();
//prüfen welcher wert für user steht (id oder name) //prüfen welcher wert für user steht (id oder name)
if(is_numeric($user)) { if(is_numeric($user)) {
$test = 'SELECT ug.gruppen_name, ug.gruppen_id FROM user_gruppe_zuordnung as ugz $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.'\''; WHERE u.nickname = \''.$user.'\'';
$qry = mysql_query($test); $qry = mysql_query($test);
} }
$i = 0; $i = 0;
while ($result = mysql_fetch_assoc($qry)) { while ($result = mysql_fetch_assoc($qry)) {
$groups[$i] = array("gruppen_id" => $result['gruppen_id'], "gruppen_name" => $result['gruppen_name']); $groups[$i] = array("gruppen_id" => $result['gruppen_id'], "gruppen_name" => $result['gruppen_name']);
@ -50,4 +50,28 @@ function isUserInGroup($usergrouparray, $group) {
} }
return false; 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;
}
?> ?>

@ -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)){ if(!is_numeric($chat)){
displayErrorMessage(NULL,'Chat-Feld inkorrekt ausgefuellt!',''); displayErrorMessage(NULL,'Chat-Feld inkorrekt ausgefuellt!','');
return; return;
@ -83,20 +83,29 @@ function changeProfil($user, $new_pw, $new_nick, $new_nick2, $alt_pw, $homepage,
} }
setPassword($user['nickname'], $new_pw); 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&auml;ndert','Sollte das Passwort ge&auml;ndert worden sein, ist ein erneuter Login erforderlich.',''); displayErrorMessage('Profil erfolgreich ge&auml;ndert','Sollte das Passwort ge&auml;ndert worden sein, ist ein erneuter Login erforderlich.','');
return mysql_fetch_assoc(mysql_query('Select * from user where id = '.$user['id'])); return mysql_fetch_assoc(mysql_query('Select * from user where id = '.$user['id']));
} }
function display($user){ function display($user, $usergroups){
if($user['post']){ if($user['post']){
$post_check = 'checked'; $post_check = 'checked';
} }
if($user['schnelllink'] == 2){ if($user['schnelllink'] == 2){
$char_schnell = 'selected'; $char_schnell = 'selected';
} }
?> ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<input type="hidden" name="as" value="profil"> <input type="hidden" name="as" value="profil">
<input type="hidden" name="charm" value="1"> <input type="hidden" name="charm" value="1">
@ -149,8 +158,9 @@ function display($user){
<tr> <tr>
<th align="center">Werbegrad:</th> <th align="center">Werbegrad:</th>
<td> <td>
<?php <?php
if($user['ads'] == 0){ if(isUserInGroup($usergroups, Werbung_an)) {
//$user['ads'] == 0){
$che1 = 'checked="checked"'; $che1 = 'checked="checked"';
$che2 = ''; $che2 = '';
} else{ } else{
@ -195,9 +205,9 @@ function display($user){
} }
if($charm == '1'){ if($charm == '1'){
$user_ida = changeProfil($user_ida, $new_pw, $new_nick, $new_nick2, $alt_pw, $homepage, $icq, $chat, $ads); $user_ida = changeProfil($user_ida, $usergroups, $new_pw, $new_nick, $new_nick2, $alt_pw, $homepage, $icq, $chat, $ads);
} }
display($user_ida); display($user_ida, $usergroups);
?> ?>
Loading…
Cancel
Save