\n";
$logintext .= ($sprachconfig == "deutsch.php") ? $kostenlosgast : $t['login3'];
// SSL?
if (($ssl_login) || ($SSLRedirect == "1"))
{
$chat_file="http://".$http_host.$chat_url;
}
// IP bestimmen und prüfen. Ist Login erlaubt?
$abweisen=false;
$warnung=false;
$ip_adr = $_SERVER["REMOTE_ADDR"];
$ip_name= @gethostbyaddr($ip_adr);
// TEST - Sperrt den Chat, wenn in der Sperre Domain "-GLOBAL-" ist
#$query="SELECT is_domain FROM ip_sperre WHERE is_domain = '-GLOBAL-'";
#$result=mysql_query($query,$conn);
$cquery = "SELECT COUNT(*) FROM ip_sperre WHERE is_domain = '-GLOBAL-'";
$res = $dbh->query($cquery);
$rows = $res->fetchColumn();
if ($rows > 0) { $abweisen = true; }
#if ($result && mysql_num_rows($result) > 0) { $abweisen = true; }
#mysql_free_result($result);
// TEST - Sperrt den Chat für bestimmte Browser komplett
//if ($dbase=="mainchat")
{
if (($_SERVER["HTTP_USER_AGENT"] == "Spamy v3.0 with 32 Threads") ||
($_SERVER["HTTP_USER_AGENT"] == "Powered by Spamy The Spambot v5.2.1"))
{
// system_msg("",0,1222,$system_farbe,"User abgewiesen mit Browser: ".$HTTP_SERVER_VARS["HTTP_USER_AGENT"]);
$abweisen = true;
}
}
/* user agent sperrung */
if (in_array($dbase,array(
'chats_suicidal_dreams_chat',
'chats_freiheit',
))) {
if (in_array($_SERVER["HTTP_USER_AGENT"],array(
'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15',
# '*Intel Mac OS X 10_15_1*',
))) {
$abweisen = true;
}
}
/* ende user agent sperrung*/
// Gastsperre aktiv? Wird beim Login und beim AGB Login ausgewertet
$temp_gast_sperre = false;
// Wenn die dbase = "mainchat" und in Sperre = "-GAST-"
// dann Gastlogin gesperrt
#$query="SELECT is_domain FROM ip_sperre WHERE is_domain = '-GAST-'";
#$result=mysql_query($query,$conn);
$cquery = "SELECT COUNT(*) FROM ip_sperre WHERE is_domain = '-GAST-'";
$res = $dbh->query($cquery);
$rows = $res->fetchColumn();
if ($rows > 0) { $temp_gast_sperre = true; }
#if ($result && mysql_num_rows($result) > 0) { $temp_gast_sperre = true; }
#mysql_free_result($result);
#$query="SELECT * FROM ip_sperre ".
# "WHERE (SUBSTRING_INDEX(is_ip,'.',is_ip_byte) ".
# " LIKE SUBSTRING_INDEX('$ip_adr','.',is_ip_byte) AND is_ip IS NOT NULL) ".
# "OR (is_domain LIKE RIGHT('$ip_name',LENGTH(is_domain)) AND LENGTH(is_domain)>0)";
$query="SELECT * FROM ip_sperre ".
"WHERE (SUBSTRING_INDEX(is_ip,'.',is_ip_byte) ".
" LIKE SUBSTRING_INDEX(:ip_adr,'.',is_ip_byte) AND is_ip IS NOT NULL) ".
"OR (is_domain LIKE RIGHT(:ip_name,LENGTH(is_domain)) AND LENGTH(is_domain)>0)";
$sth = $dbh->prepare($query);
$sth->execute(array(':ip_adr' => $ip_adr, ':ip_name' => $ip_name));
#$result=mysql_query($query,$conn);
$cquery = "SELECT COUNT(*) FROM ip_sperre ".
"WHERE (SUBSTRING_INDEX(is_ip,'.',is_ip_byte) ".
" LIKE SUBSTRING_INDEX(:ip_adr,'.',is_ip_byte) AND is_ip IS NOT NULL) ".
"OR (is_domain LIKE RIGHT(:ip_name,LENGTH(is_domain)) AND LENGTH(is_domain)>0)";
$res = $dbh->prepare($cquery);
$res->execute(array(':ip_adr' => $ip_adr, ':ip_name' => $ip_name));
$rows = $res->fetchColumn();
#$rows=mysql_num_rows($result);
if ($rows>0){
while($row=$sth->fetch(PDO::FETCH_OBJ)){
#while($row=mysql_fetch_object($result)){
if($row->is_warn=="ja"){
// Warnung ausgeben
$warnung=true;
$infotext=$row->is_infotext;
} else {
// IP ist gesperrt
$abweisen=true;
}
}
};
#mysql_free_result($result);
// HTTP_X_FORWARDED_FOR IP bestimmen und prüfen. Ist Login erlaubt?
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
$ip_adr = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else
{
$ip_adr = "";
}
if (!$abweisen && $ip_adr && $ip_adr!=$_SERVER["REMOTE_ADDR"]){
$ip_name= @gethostbyaddr($ip_adr);
#$query="SELECT * FROM ip_sperre ".
# "WHERE (SUBSTRING_INDEX(is_ip,'.',is_ip_byte) ".
# " LIKE SUBSTRING_INDEX('$ip_adr','.',is_ip_byte) AND is_ip IS NOT NULL) ".
# "OR (is_domain LIKE RIGHT('$ip_name',LENGTH(is_domain)) AND LENGTH(is_domain)>0)";
#$result=mysql_query($query,$conn);
$query="SELECT * FROM ip_sperre ".
"WHERE (SUBSTRING_INDEX(is_ip,'.',is_ip_byte) ".
" LIKE SUBSTRING_INDEX(:ip_adr,'.',is_ip_byte) AND is_ip IS NOT NULL) ".
"OR (is_domain LIKE RIGHT(:ip_name,LENGTH(is_domain)) AND LENGTH(is_domain)>0)";
$sth = $dbh->prepare($query);
$sth->execute(array(':ip_adr' => $ip_adr, ':ip_name' => $ip_name));
$cquery = "SELECT COUNT(*) FROM ip_sperre ".
"WHERE (SUBSTRING_INDEX(is_ip,'.',is_ip_byte) ".
" LIKE SUBSTRING_INDEX(:ip_adr,'.',is_ip_byte) AND is_ip IS NOT NULL) ".
"OR (is_domain LIKE RIGHT(:ip_name,LENGTH(is_domain)) AND LENGTH(is_domain)>0)";
$res = $dbh->prepare($cquery);
$rs = $res->execute(array(':ip_adr' => $ip_adr, ':ip_name' => $ip_name));
$rows = $res->fetchColumn();
#$rows=mysql_num_rows($result);
if ($rows>0){
while($row=$sth->fetch(PDO::FETCH_OBJ)){
#while($row=mysql_fetch_object($result)){
if($row->is_warn=="ja"){
// Warnung ausgeben
$warnung=true;
$infotext=$row->is_infotext;
} else {
// IP ist gesperrt
$abweisen=true;
}
}
};
#mysql_free_result($result);
};
// zweite Prüfung, gibts was, was mit "*" in der mitte schafft? für p3cea9*.t-online.de
$query="SELECT * FROM ip_sperre WHERE is_domain like '_%*%_'";
$sth = $dbh->prepare($query);
$sth->execute();
$cquery = "SELECT COUNT(*) FROM ip_sperre WHERE is_domain like '_%*%_'";
$res = $dbh->query($cquery);
$rows = $res->fetchColumn();
#$result=mysql_query($query,$conn);
if ($rows>0) {
#if ($result && mysql_num_rows($result)>0) {
while ($row=$sth->fetch(PDO::FETCH_OBJ)) {
#while ($row=mysql_fetch_object($result)) {
$part=explode("*",$row->is_domain,2);
if ((strlen($part[0])>0) && (strlen($part[1])>0)) {
if (substr($ip_name,0,strlen($part[0]))==$part[0]
&& substr($ip_name,strlen($ip_name)-strlen($part[1]),strlen($part[1]))==$part[1]) {
// IP stimmt überein
if($row->is_warn=="ja"){
// Warnung ausgeben
$warnung=true;
$infotext=$row->is_infotext;
} else {
// IP ist gesperrt
$abweisen=true;
}
}
}
}
}
#mysql_free_result($result);
// Wenn $abweisen=true, dann ist Login ist für diesen User gesperrt
// Es sei denn wechsel Forum -> Chat, dann "Relogin", und wechsel trotz IP Sperre in Chat möglich
if ($abweisen && $aktion <> "relogin" && isset($login) && strlen($login)>0)
{
// test: ist user=admin -> dann nicht abweisen...
#$query="select u_nick,u_level from user where u_nick='".coreCheckName($login,$check_name)."' AND (u_level in ('S','C'))";
#$r=mysql_query($query,$conn);
#$rw=mysql_num_rows($r);
$cquery = "select COUNT(*) from user where u_nick= :coreCheckName AND (u_level in ('S','C'))";
$res = $dbh->prepare($cquery);
$res->execute(array(':coreCheckName' => coreCheckName($login,$check_name)));
$rw = $res->fetchColumn();
if ($rw==1 && (strlen($aktion)>0))
{
$abweisen = false;
}
#mysql_free_result($r);
// Prüfung nun auf Admin beendet
// Nun Prüfung ob genug Punkte
$durchgangwegenpunkte = 0;
if ($communityfeatures && $loginwhileipsperre <> 0)
{
// Test auf Punkte
#$query="select u_id, u_nick,u_level,u_punkte_gesamt from user ".
# "where (u_nick='".coreCheckName($login,$check_name)."' OR u_name='".coreCheckName($login,$check_name)."') ".
# "AND (u_level in ('A','C','G','M','S','U')) ";
# "AND u_passwort = encrypt('$passwort',u_passwort)"; // Nutzt die MYSQL -> Unix crypt um DES, SHA256, etc. automatisch zu erkennen
// Durchleitung wg. Punkten im Fall der MD5() verschlüsselung wird nicht gehen
#$r=mysql_query($query,$conn);
#$rw=mysql_num_rows($r);
$query="select u_id, u_nick,u_level,u_punkte_gesamt from user ".
"where (u_nick=:coreCheckName OR u_name=:coreCheckName) ".
"AND (u_level in ('A','C','G','M','S','U')) ";
"AND u_passwort = encrypt(':passwort',u_passwort)";
$sth = $dbh->prepare($query);
$sth->execute(array(':coreCheckName' => coreCheckName($login,$check_name), ':passwort' => $passwort));
$cquery = "select COUNT(*) from user ".
"where (u_nick=:coreCheckName OR u_name=:coreCheckName) ".
"AND (u_level in ('A','C','G','M','S','U')) ";
"AND u_passwort = encrypt(':passwort',u_passwort)";
$res = $dbh->prepare($cquery);
$res->execute(array(':coreCheckName' => coreCheckName($login,$check_name), ':passwort' => $passwort));
$rw = $res->fetchColumn();
if ($rw == 1 && strlen($aktion)>0)
{
$row=$sth->fetch(PDO::FETCH_OBJ);
#$row=mysql_fetch_object($r);
if ($row->u_punkte_gesamt >= $loginwhileipsperre)
{
// genügend Punkte
// Login zulassen
$durchgangwegenpunkte = 1;
$abweisen = false;
$t_u_id = $row->u_id;
$t_u_nick = $row->u_nick;
$infotext = str_replace("%punkte%", $row->u_punkte_gesamt, $t['ipsperre2']);
}
}
#mysql_free_result($r);
}
if ($durchgangwegenpunkte == 1)
{
// Wenn User wegen Punkte durch IP Sperre kommen, dann Meldung an alle Admins
if ($eintritt == 'forum')
{
$raumname = " (".$whotext[2].")";
}
else
{
#$query2="SELECT r_name from raum where r_id=$eintritt";
$query2="SELECT r_name from raum where r_id=:eintritt";
#$result2=mysql_query($query2,$conn);
$sth = $dbh->prepare($query2);
$sth->execute(array(':eintritt'=>$eintritt));
$cquery="SELECT COUNT(*) from raum where r_id=:eintritt";
$res = $dbh->prepare($cquery);
$res->execute(array(':eintritt'=>$eintritt));
$rw = $res->fetchColumn();
if ($rw>0)
#if ($result2 AND mysql_num_rows($result2)>0)
{
$raumname=" (".$sth->fetchColumn().") ";
#$raumname=" (".mysql_result($result2,0,0).") ";
}
else
{
$raumname="";
}
#mysql_free_result($result2);
}
$query2="SELECT o_user FROM online WHERE (o_level='S' OR o_level='C')";
#$result2=mysql_query($query2,$conn);
$sth = $dbh->prepare($query2);
$sth->execute();
$cquery = "SELECT COUNT(*) FROM online WHERE (o_level='S' OR o_level='C')";
$res = $dbh->query($cquery);
$rows = $res->fetchColumn();
if ($rows>0)
#if ($result2 AND mysql_num_rows($result2)>0)
{
$txt=str_replace("%ip_adr%",$ip_adr,$t['ipsperre1']);
$txt=str_replace("%ip_name%",$ip_name,$txt);
$txt=str_replace("%is_infotext%",$infotext,$txt);
while ($row2=$sth->fetch(PDO::FETCH_OBJ))
#while ($row2=mysql_fetch_object($result2))
{
$ur1="user.php?http_host=&id=&aktion=zeig&user=$t_u_id";
$ah1="";
$ah2="";
system_msg("",0,$row2->o_user,$system_farbe,str_replace("%u_nick%",$ah1.$t_u_nick.$ah2.$raumname,$txt));
}
unset($infotext);
unset($t_u_id);
unset($u_nick);
}
#mysql_free_result($result2);
}
}
if ($abweisen && (strlen($aktion)>0) && $aktion <> "relogin")
{
$aktion="abweisen";
unset($logintext);
}
// Login ist für alle User gesperrt
if (($chat_offline_kunde) || ((isset($chat_offline)) && (strlen($chat_offline)>0))) {
$aktion="gesperrt";
};
// Ausloggen, falls eingeloggt
if ($aktion=="logoff"):
// Vergleicht Hash-Wert mit IP und liefert u_id, u_name, o_id, o_raum
id_lese($id);
// Header ausgeben
if (($layout_bodytag) && (!isset($chat_logout_url)))
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n\n";
// Logoff falls noch online
if (strlen($u_id)>0):
verlasse_chat($u_id,$u_nick,$o_raum);
sleep(2);
logout($o_id,$u_id,"index->logout");
endif;
if (isset($chat_logout_url) && ($chat_logout_url <> "")) {
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf.
"\n".
"\n";
zeige_kopf();
$chat_login_url="$chat_logout_url";
echo ("Sie werden nun auf $chat_logout_url weitergeleitet");
// print "chat_refer = $chat_referer HTTP_REFERER=$HTTP_SERVER_VARS[HTTP_REFERER] ";
zeige_fuss();
exit();
}
endif;
// Falls in Loginmaske/Nutzungsbestimmungen auf Abbruch geklickt wurde
if ($los==$t['login18'] && $aktion=="login") $aktion="";
// Titeltext der Loginbox setzen, Link auf Registrierung optional ausgeben
if ($neuregistrierung_deaktivieren)
{
if ($sprachconfig == "deutsch.php") {
$login_titel=$ft0.$kostenloslogin.$ft1;
}
else {
$login_titel=$ft0.$t['default1'].$ft1;
}
if ($aktion == "neu") $aktion = "";
if ($aktion == "neu2") $aktion = "";
if ($aktion == "mailcheckm") $aktion = "";
}
else if ($t['login14']) {
if ($sprachconfig == "deutsch.php") {
$login_titel=$ft0.$kostenloslogin." [".$ft0.$kostenlosneuanmelden.$ft1."]".$ft1;
}
else {
$login_titel=$ft0.$t['default1']." [".$ft0.$t['login14'].$ft1."]".$ft1;
}
} else {
if ($sprachconfig == "deutsch.php") {
$login_titel=$ft0.$kostenloslogin.$ft1;
}
else {
$login_titel=$ft0.$t['default1'].$ft1;
}
};
if (!isset($chatserver) || $chatserver == "")
{
$chatserver=$serverprotokoll."://".$_SERVER['HTTP_HOST']."/";
}
if ($aktion == "neu" &&
$pruefe_email == "1" &&
isset($f['u_adminemail']) &&
$hash != md5($f['u_adminemail']."+".date("Y-m-d")))
{
if ($layout_bodytag)
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n\n";
zeige_kopf();
echo "
Fehler: Die URL ist nicht korrekt! Bitte melden Sie sich ".
"hier neu an.
";
zeige_fuss();
exit;
}
if ($aktion == "neu" && $pruefe_email == "1" && $los != $t['neu22']) $aktion="mailcheck";
if ($aktion == "neu2") { $aktion = "mailcheckm";}
if (isset($f['u_adminemail'])) { $ro="readonly"; }
if ($aktion == "mailcheck" && isset($email) && isset($hash))
{
$email=addslashes($email);
#$query="SELECT * FROM mail_check WHERE email = '$email'";
$query="SELECT * FROM mail_check WHERE email = :email";
$sth = $dbh->prepare($query);
$sth->execute(array(':email'=>$email));
#$result=mysql_query($query);
$cquery="SELECT COUNT(*) FROM mail_check WHERE email = :email";
$res = $dbh->prepare($cquery);
$res->execute(array(':email'=>$email));
$rw = $res->fetchColumn();
if ($rw == 1)
#if ($result && mysql_numrows($result) == 1)
{
$a=$sth->fetch(PDO::FETCH_BOTH);
#$a=mysql_fetch_array($result);
$hash2=md5($a['email']."+".$a['datum']);
if ($hash==$hash2) {
$aktion="neu";
$ro="readonly";
$f['u_adminemail']=$email;
}
else
{
// Header ausgeben
if ($layout_bodytag)
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n\n";
zeige_kopf();
echo "
Fehler: Die URL ist nicht korrekt! Bitte melden Sie sich ".
"hier neu an.
";
#$query="DELETE FROM mail_check WHERE email = '$email'";
#mysql_query($query);
$query="DELETE FROM mail_check WHERE email = :email";
$sth = $dbh->prepare($query);
$sth->execute(array(':email'=>$email));
zeige_fuss();
exit;
}
}
else
{
// Header ausgeben
if ($layout_bodytag)
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n\n";
zeige_kopf();
echo "
Fehler: Diese Mail wurde bereits für eine Anmeldung benutzt! Bitte melden Sie sich ".
"hier neu an.
";
zeige_fuss();
exit;
}
}
switch ($aktion) {
case "passwort_neu":
if ($layout_bodytag)
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n\n";
zeige_kopf();
echo $willkommen;
unset ($richtig);
unset ($u_id);
$richtig=0;
$fehlermeldung="";
if (isset($email) && isset($nickname) && isset($hash))
{
$nickname=coreCheckName($nickname,$check_name);
$email=urldecode($email);
#$query="SELECT u_id, u_login, u_nick, u_name, u_passwort, u_adminemail, u_punkte_jahr FROM user ".
# "WHERE u_nick = '$nickname' AND u_level = 'U' AND u_adminemail = '$email' LIMIT 1";
#$result=mysql_query($query);
$query="SELECT u_id, u_login, u_nick, u_name, u_passwort, u_adminemail, u_punkte_jahr FROM user ".
"WHERE u_nick = :nickname AND u_level = 'U' AND u_adminemail = :email LIMIT 1";
$sth = $dbh->prepare($query);
$sth->execute(array(':nickname'=>$nickname, ':email'=>$email));
$cquery="SELECT COUNT(*) FROM user ".
"WHERE u_nick = :nickname AND u_level = 'U' AND u_adminemail = :email LIMIT 1";
$res = $dbh->prepare($cquery);
$res->execute(array(':nickname'=>$nickname, ':email'=>$email));
$rw = $res->fetchColumn();
if ($rw == 1)
#if ($result && mysql_numrows($result) == 1)
{
$a=$sth->fetch(PDO::FETCH_BOTH);
#$a=mysql_fetch_array($result);
$hash2=md5($a['u_id'].$a['u_login'].$a['u_nick'].$a['u_name'].$a['u_passwort'].$a['u_adminemail'].$a['u_punkte_jahr']);
if ($hash == $hash2)
{
$richtig = 1;
$u_id = $a['u_id'];
}
else
{
$fehlermeldung .= $t['pwneu11'];
}
}
else
{
$fehlermeldung .= $t['pwneu11'];
}
#mysql_free_result($result);
}
else if (isset($email) && isset($nickname))
{
$nickname=coreCheckName($nickname,$check_name);
$email=addslashes(urldecode($email));
if (!preg_match("(\w[-._\w]*@\w[-._\w]*\w\.\w{2,3})",addslashes($email)))
{
$fehlermeldung .= $t['pwneu5'].' ';
}
if ($fehlermeldung == "")
{
#$query="SELECT u_id, u_login, u_nick, u_name, u_passwort, u_adminemail, u_punkte_jahr FROM user ".
# "WHERE u_nick = '$nickname' AND u_level = 'U' AND u_adminemail = '$email' LIMIT 2";
#$result=mysql_query($query, $conn);
$query="SELECT u_id, u_login, u_nick, u_name, u_passwort, u_adminemail, u_punkte_jahr FROM user ".
"WHERE u_nick = :nickname AND u_level = 'U' AND u_adminemail = :email LIMIT 2";
$sth = $dbh->prepare($query);
$sth->execute(array(':nickname'=>$nickname, ':email'=>$email));
$cquery="SELECT COUNT(*) FROM user ".
"WHERE u_nick = :nickname AND u_level = 'U' AND u_adminemail = :email LIMIT 2";
$res = $dbh->prepare($cquery);
$res->execute(array(':nickname'=>$nickname, ':email'=>$email));
$rw = $res->fetchColumn();
if ($rw == 1)
#if ($result && mysql_numrows($result) == 1)
{
$a=$sth->fetch(PDO::FETCH_BOTH);
#$a=mysql_fetch_array($result);
$hash=md5($a['u_id'].$a['u_login'].$a['u_nick'].$a['u_name'].$a['u_passwort'].$a['u_adminemail'].$a['u_punkte_jahr']);
$email=urlencode($a['u_adminemail']);
$link=$serverprotokoll."://".$http_host.$chatserver.$_SERVER['PHP_SELF']."?http_host=$http_host&aktion=passwort_neu&frame=1&email=".$email."&nickname=".$nickname."&hash=".$hash;
$text2=str_replace("%link%",$link,$t['pwneu9']);
$text2=str_replace("%hash%",$hash,$text2);
$text2=str_replace("%nickname%",$a['u_nick'],$text2);
$email=urldecode($a['u_adminemail']);
$text2=str_replace("%email%",$email,$text2);
$mailbetreff = $t['pwneu8'];
$mailempfaenger = $email;
$header = "\n"."X-MC-IP: ".$_SERVER["REMOTE_ADDR"]."\n"."X-MC-TS: ".time();
mail($mailempfaenger,$mailbetreff,$text2,"From: $webmaster ($chat)".$header);
echo $t['pwneu7'];
unset ($hash);
}
else
{
$fehlermeldung .= $t['pwneu6'].' ';
unset($hash);
}
#mysql_free_result($result);
}
}
else
{
echo $t['pwneu1'];
}
if (!$richtig)
{
if ($fehlermeldung <> "")
{
if (isset($hash))
{
echo $t['pwneu7'];
}
else
{
echo $t['pwneu1'];
}
print "
$fehlermeldung
\n";
}
print "\n";
}
zeige_fuss();
exit;
} elseif ($los==$t['login17']) {
// AGBs wurden bestätigt
$u_agb="Y";
} else {
$u_agb="";
};
// User in Blacklist überprüfen
// in den kostenlosen Chats konnte es sein, das die Tabelle nicht vorhanden ist
#$query2="SELECT f_text from blacklist where f_blacklistid=$u_id";
#$result2=mysql_query($query2,$conn);
$query="SELECT f_text from blacklist where f_blacklistid=:u_id";
$sth = $dbh->prepare($query);
$result2 = $sth->execute(array(':u_id'=>$u_id));
$cquery="SELECT COUNT(*) from blacklist where f_blacklistid=:u_id";
$res = $dbh->prepare($cquery);
$res->execute(array(':u_id'=>$u_id));
$rw = $res->fetchColumn();
#if ($result2 AND mysql_num_rows($result2)>0) {
if ($result2 AND $rw>0) {
#$infotext="Blacklist: ".mysql_result($result2,0,0);
$infotext="Blacklist: ".$sth->fetchColumn();
$warnung=TRUE;
}
#if ($result2) mysql_free_result($result2);
// Bei Login dieses Users alle Admins (online, nicht Temp) warnen
if ($warnung) {
if ($eintritt == 'forum')
{
$raumname = " (".$whotext[2].")";
}
else
{
#$query2="SELECT r_name from raum where r_id=$eintritt";
#$result2=mysql_query($query2,$conn);
$query="SELECT r_name from raum where r_id=:eintritt";
$sth = $dbh->prepare($query);
$result2 = $sth->execute(array(':eintritt'=>$eintritt));
$cquery="SELECT COUNT(*) from raum where r_id=:eintritt";
$res = $dbh->prepare($cquery);
$res->execute(array(':eintritt'=>$eintritt));
$rw = $res->fetchColumn();
#if ($result2 AND mysql_num_rows($result2)>0) {
if ($result2 AND $rw>0) {
#$raumname=" (".mysql_result($result2,0,0).") ";
$raumname=" (".$sth->fetchColumn().") ";
} else {
$raumname="";
}
#mysql_free_result($result2);
}
#$query2="SELECT o_user FROM online WHERE (o_level='S' OR o_level='C')";
#$result2=mysql_query($query2,$conn);
$query="SELECT o_user FROM online WHERE (o_level='S' OR o_level='C')";
$sth = $dbh->prepare($query);
$result2 = $sth->execute();
$cquery="SELECT COUNT(*) FROM online WHERE (o_level='S' OR o_level='C')";
$res = $dbh->query($cquery);
$rw = $res->fetchColumn();
#if ($result2 AND mysql_num_rows($result2)>0) {
if ($result2 AND $rw>0) {
$txt=str_replace("%ip_adr%",$ip_adr,$t['default6']);
$txt=str_replace("%ip_name%",$ip_name,$txt);
$txt=str_replace("%is_infotext%",$infotext,$txt);
#while ($row2=mysql_fetch_object($result2)) {
while ($row2=$sth->fetch(PDO::FETCH_OBJ)) {
$ur1="user.php?http_host=&id=&aktion=zeig&user=$u_id";
$ah1="";
$ah2="";
system_msg("",0,$row2->o_user,$system_farbe,str_replace("%u_nick%",$ah1.$u_nick.$ah2.$raumname,$txt));
}
}
#mysql_free_result($result2);
};
// User nicht gesperrt, weiter mit Login und Eintritt in ausgewählten Raum mit ID $eintritt
// Hash-Wert ermitteln
$hash_id=id_erzeuge($u_id);
// $javascript wird als input type hidden übergeben...
if (isset($javascript) && $javascript=="on"){
$javascript=1;
} else {
$javascript=0;
};
// Login
$o_id=login($u_id,$u_nick,$u_level,$hash_id,$javascript,$ip_historie,$u_agb,
$u_punkte_monat,$u_punkte_jahr,
$u_punkte_datum_monat,$u_punkte_datum_jahr,
$u_punkte_gesamt);
// Beichtstuhl-Special
// Falls es Räume mit nur einem Admin gibt und niemand in der Lobby ist,
// Eintritt in einen solchen Raum, ansonsten in Lobby
if ($beichtstuhl) {
$login_in_lobby=FALSE;
// Prüfen, ob ein User in der Lobby ist
#$query2="SELECT o_id ".
# "FROM raum,online WHERE o_raum=r_id ".
# "AND r_name='$lobby' ".
# "AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= $timeout ";
#$result2=mysql_query($query2,$conn);
$cquery="SELECT COUNT(*) ".
"FROM raum,online WHERE o_raum=r_id ".
"AND r_name='$lobby' ".
"AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= :timeout ";
$res = $dbh->prepare($cquery);
$res->execute(array(':timeout'=>$timeout));
$rw = $res->fetchColumn();
#if ($result2 && mysql_num_rows($result2)>0) {
if ($rw>0) {
// Mehr als 0 User in Lobby
#mysql_free_result($result2);
$login_in_lobby=TRUE;
} else {
// Prüfen, ob es Räume mit genau einem Admin gibt
#mysql_free_result($result2);
#$query2="SELECT r_id,count(o_id) as anzahl, ".
# "count(o_level='C') as CADMIN, count(o_level='S') as SADMIN ".
# "FROM raum,online WHERE o_raum=r_id ".
# "AND r_name!='$lobby' ".
# "AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= $timeout ".
# "GROUP BY r_id HAVING anzahl=1 AND (CADMIN=1 OR SADMIN=1)";
#$result2=mysql_query($query2,$conn);
#$anzahl=mysql_num_rows($result2);
$query="SELECT r_id,count(o_id) as anzahl, ".
"count(o_level='C') as CADMIN, count(o_level='S') as SADMIN ".
"FROM raum,online WHERE o_raum=r_id ".
"AND r_name!=:lobby ".
"AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= :timeout ".
"GROUP BY r_id HAVING anzahl=1 AND (CADMIN=1 OR SADMIN=1)";
$sth = $dbh->prepare($query);
$result2 = $sth->execute(array(':lobby'=>$lobby, ':timeout'=>$timeout));
$cquery="SELECT COUNT(*) as anzahl, ".
"count(o_level='C') as CADMIN, count(o_level='S') as SADMIN ".
"FROM raum,online WHERE o_raum=r_id ".
"AND r_name!=:lobby ".
"AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= :timeout ";
$res = $dbh->prepare($cquery);
$res->execute(array(':lobby'=>$lobby, ':timeout'=>$timeout));
$anzahl = $res->fetchColumn();
if ($result2 && $anzahl==1) {
#$eintritt=mysql_result($result2,0,"r_id");
$rs1 = $sth -> fetchAll();
$eintritt=$rs1[0]['r_id'];
} elseif ($result2 && $anzahl>1) {
#$eintritt=mysql_result($result2,mt_rand(0,$anzahl-1),"r_id");
$rs1 = $sth->fetchAll();
$eintritt= $rs1[mt_rand(0,$anzahl-1)]['r_id'];
} else {
$login_in_lobby=TRUE;
};
#mysql_free_result($result2);
};
// ID der Lobby neu ermitteln -> Login in Lobby
if ($login_in_lobby) {
#$query2="SELECT r_id FROM raum WHERE r_name = '$eintrittsraum' ";
#$result2=mysql_query($query2,$conn);
$query="SELECT r_id FROM raum WHERE r_name = :eintrittsraum ";
$sth = $dbh->prepare($query);
$result2 = $sth->execute(array(':eintrittsraum'=>$eintrittsraum));
$cquery="SELECT COUNT(*) FROM raum WHERE r_name = :eintrittsraum ";
$res = $dbh->prepare($cquery);
$res->execute(array(':eintrittsraum'=>$eintrittsraum));
$rw = $res->fetchColumn();
#if ($result2 && mysql_num_rows($result2)==1) {
if ($result2 && $rw==1) {
#$eintritt=mysql_result($result2,0,"r_id");
$rs1 = $sth->fetchAll();
$eintritt=$rs1[0]['r_id'];
};
#mysql_free_result($result2);
};
// Bei Login dieses Users alle Admins (online, nicht Temp) informieren
#$query2="SELECT r_name from raum where r_id=$eintritt";
#$result2=mysql_query($query2,$conn);
$query="SELECT r_name from raum where r_id=:eintritt";
$sth = $dbh->prepare($query);
$result2 = $sth->execute(array(':eintritt'=>$eintritt));
$cquery="SELECT COUNT(*) from raum where r_id=:eintritt";
$res = $dbh->prepare($cquery);
$res->execute(array(':eintritt'=>$eintritt));
$rw = $res->fetchColumn();
#if ($result2 AND mysql_num_rows($result2)>0) {}
if ($result2 AND $rw>0) {
#$raumname=mysql_result($result2,0,0);
$raumname=$sth->fetchColumn();
} else {
$raumname="";
}
#mysql_free_result($result2);
#$query2="SELECT o_user FROM online WHERE (o_level='S' OR o_level='C')";
#$result2=mysql_query($query2,$conn);
$query="SELECT o_user FROM online WHERE (o_level='S' OR o_level='C')";
$sth = $dbh->prepare($query);
$result2 = $sth->execute();
$cquery="SELECT COUNT(*) FROM online WHERE (o_level='S' OR o_level='C')";
$res = $dbh->query($cquery);
$rw = $res->fetchColumn();
#if ($result2 AND mysql_num_rows($result2)>0) {
if ($result2 AND $rw>0) {
$txt=str_replace("%raumname%",$raumname,$t['default7']);
#while ($row2=mysql_fetch_object($result2)) {
while ($row2=$sth->fetch(PDO::FETCH_OBJ)) {
$ur1="user.php?http_host=&id=&aktion=zeig&user=$u_id";
$ah1="";
$ah2="";
system_msg("",0,$row2->o_user,$system_farbe,str_replace("%u_nick%",$ah1.$u_nick.$ah2,$txt));
}
}
#mysql_free_result($result2);
};
// Kopf ausgeben
if ($layout_bodytag)
echo "\n$body_titel\n".$stylesheet."\n".$zusatztext_kopf."\n\n";
if ($communityfeatures && $eintritt == "forum") {
// Login ins Forum
betrete_forum($o_id,$u_id,$u_nick,$u_level);
// Frame-Einstellungen für Browser definieren
$user_agent=strtolower($HTTP_USER_AGENT);
if (preg_match("/linux/",$user_agent)):
$frame_type="linux";
elseif (preg_match("/solaris/",$user_agent)):
$frame_type="solaris";
elseif (preg_match("/msie/",$user_agent)):
$frame_type="ie";
elseif (preg_match('|mozilla/4\.7|i',$user_agent)):
$frame_type="nswin";
else:
$frame_type="def";
endif;
// Obersten Frame definieren
if (!isset($frame_online)) {
$frame_online="frame_online.php";
};
// Falls user eigene Einstellungen für das Frameset hat -> überschreiben
if (is_array($u_frames)) {
foreach ($u_frames as $key => $val) {
if ($val) $frame_size[$frame_type][$key]=$val;
}
};
// Frameset aufbauen
// echo "\n";
echo "\n";
echo $body_tag.$t['login6'];
die();
} else {
// Chat betreten
betrete_chat($o_id,$u_id,$u_nick,$u_level,$eintritt,$javascript,$u_backup);
$back=1;
// Frame-Einstellungen für Browser definieren
$user_agent=strtolower($_SERVER["HTTP_USER_AGENT"]);
if (preg_match("/linux/",$user_agent)):
$frame_type="linux";
elseif (preg_match("/solaris/",$user_agent)):
$frame_type="solaris";
elseif (preg_match("/msie/",$user_agent)):
$frame_type="ie";
elseif (preg_match('|mozilla/4\.7|i',$user_agent)):
$frame_type="nswin";
else:
$frame_type="def";
endif;
// Obersten Frame definieren
if (!isset($frame_online) || $frame_online == "") {
$frame_online="frame_online.php";
}
if ($u_level=="M") {
$frame_size[$frame_type]['interaktiv']=$moderationsgroesse;
$frame_size[$frame_type]['eingabe']=$frame_size[$frame_type]['eingabe']*2;
};
// Falls user eigene Einstellungen für das Frameset hat -> überschreiben
if (is_array($u_frames)) {
foreach ($u_frames as $key => $val) {
if ($val) $frame_size[$frame_type][$key]=$val;
}
};
// Chatuserliste Sichtbarkeit
// schwarze ränder
// echo "";
// Frameset aufbauen
echo "\n";
echo '';
echo "\n";
echo "\n";
echo "\n";
if (!isset($userframe_url)) echo "\n";
else echo "\n";
echo "\n";
echo "\n";
if ($u_level=="M") {
echo "\n";
echo "\n";
echo "\n";
echo "\n";
} else {
echo "\n";
}
echo "\n";
echo "\n".
"\n".
"\n".
$body_tag.$t['login6'];
// userlist als bool
/* if ($userlist == TRUE || !isset($userlist)){
$chatuserframe = $frame_size[$frame_type]['chatuserliste'];
}
// Frameset aufbauen
echo "";
#echo "\n";
echo "\n";
echo "\n";
echo "\n";
echo "\n";
if (!isset($userframe_url)) echo "\n";
else echo "\n";
echo "\n";
echo "\n";
if ($u_level=="M") {
echo "\n";
echo "\n";
echo "\n";
echo "\n";
} else {
echo "\n";
}
echo "\n";
echo "\n".
# "\n".
"\n".
"\n".
$body_tag.$t['login6'];
*/
};
};
} elseif (!$login_ok) {
if ($rows==0) {
// Zu viele fehlgeschlagenen Logins, aktueller Login ist
// wieder fehlgeschlagen, daher Mail an Betreiber verschicken
if ($userdata->u_loginfehler) $u_loginfehler=unserialize($userdata->u_loginfehler);
$betreff=str_replace("%login%",$login,$t['login20']);
$text=str_replace("%login%",$login,$t['login21'])."\n";
foreach ($u_loginfehler as $key => $val) {
$text.="[".substr("00".$key,-3)."] ".
date("M d Y H:i:s",$val[login]).
" \tIP: $val[ip] \tPW: $val[pw]\n";
};
$text.="\n-- \n $chat ($serverprotokoll://".$HTTP_HOST.$_SERVER['PHP_SELF']." | ".$http_host.")\n";
mail($webmaster,$betreff,$text,"From: $hackmail\nReply-To: $hackmail\nCC: $hackmail\n");
};
// Fehlermeldung ausgeben
// Header ausgeben
if ($layout_bodytag)
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n\n";
zeige_kopf();
unset($u_name);
unset($u_nick);
echo "
";
zeige_fuss();
};
//mysql_free_result($result);
break;
case "neu":
// Neu anmelden
// Header ausgeben
if ($layout_bodytag)
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n".
"\n\n";
zeige_kopf();
echo $willkommen;
// Gggf Nick setzen
if ((isset($f['u_nick'])) && (strlen($f['u_nick'])<4))
{
$f['u_nick']=$f['u_name'];
}
// Im Nick alle Sonderzeichen entfernen
if (isset($f['u_nick'])) $f['u_nick']=coreCheckName($f['u_nick'],$check_name);
// Tags aus dem Usernamen raus
if (isset($f['u_name'])) $f['u_name']=strip_tags($f['u_name']);
// Eingaben prüfen
if ($los==$t['neu22']):
$ok="1";
if (strlen($f['u_name'])==0):
echo $t['neu1'];
$ok="0";
elseif (strlen($f['u_name'])<4):
echo $t['neu2'];
$ok="0";
elseif (strlen($f['u_name'])>20):
echo $t['neu3'];
$ok="0";
endif;
$pos=strpos($f['u_nick'],"+");
if ($pos===false) $pos=-1;
if ($pos >= 0)
{
echo $t['neu44'];
$ok="0";
}
if (strlen($f['u_nick'])>20 || strlen($f['u_nick'])<4):
echo str_replace("%zeichen%",$check_name,$t['neu4']);
$ok="0";
endif;
if (preg_match("/^".$t['login13']."/i",$f['u_nick']))
{
echo str_replace("%gast%",$t['login13'],$t['neu32']);
$ok="0";
}
if (strlen($f['u_passwort'])<4):
echo $t['neu5'];
$ok="0";
endif;
if ($f['u_passwort']!=$u_passwort2):
echo $t['neu6'];
$f['u_passwort']="";
$u_passwort2="";
$ok="0";
endif;
if (strlen($f['u_email'])!=0 && !preg_match("(\w[-._\w]*@\w[-._\w]*\w\.\w{2,3})",$f['u_email']) ):
echo $t['neu8'];
$ok="0";
endif;
if (strlen($f['u_adminemail'])==0 || !preg_match("(\w[-._\w]*@\w[-._\w]*\w\.\w{2,3})",$f['u_adminemail'])):
echo $t['neu7'];
$ok="0";
endif;
// Gibts den Usernamen schon?
#$query="SELECT u_id FROM user ".
# "WHERE u_nick = '".$f['u_nick']."' ";
#$result=mysql_query($query,$conn);
#$rows=mysql_num_rows($result);
$cquery="SELECT COUNT(*) FROM user ".
"WHERE u_nick =:u_nick ";
$res = $dbh->prepare($cquery);
$res->execute(array(':u_nick'=>$f['u_nick']));
$rows = $res->fetchColumn();
if ($rows!=0):
echo $t['neu9'];
$ok="0";
endif;
#mysql_free_result($result);
else:
$ok="0";
endif;
if (!isset($f['u_name'])) $f['u_name'] = "";
if (!isset($f['u_nick'])) $f['u_nick'] = "";
if (!isset($f['u_passwort'])) $f['u_passwort'] = "";
if (!isset($f['u_email'])) $f['u_email'] = "";
if (!isset($f['u_url'])) $f['u_url'] = "";
$text="
".$t['neu10']."
".
"
".$f1."".$f2."
".
"
* ".$f1.$t['neu11'].$f2."
".
"
".$t['neu12']."
".
"
".$f1."".$f2."
".
"
".$f1.$t['neu13'].$f2."
".
"
".$t['neu14']."
".
"
".$f1."".$f2."
".
"
*
".
"
".$t['neu15']."
".
"
".$f1."".$f2."
".
"
*".$f1.$t['neu16'].$f2."
";
if ($ro=="") {
$text.="
".$t['neu17']."
".
"
".$f1."".$f2."
".
"
* ".$f1.$t['neu18'].$f2."
";
} else {
$text.="
".
"
";
};
$text.="
".$t['neu19']."
\n".
"
".$f1."".$f2."
\n".
"
".$f1.$t['neu20'].$f2."
\n".
"
".$t['neu21']."
\n".
"
".$f1."".$f2."
\n".
"
".$f1."\n".
"
".$f1."\n";
if (!empty($backarray)) $text.="";
$text.= "".$f2."
\n".
"
";
if ($los!=$t['neu22']) echo $t['neu23'];
// print_r($backarray);
// Prüfe ob Mailadresse schon zu oft registriert, durch ZURÜCK Button bei der 1. registrierung
if ($ok)
{
if ($begrenzung_anmeld_pro_mailadr > 0)
{
#$query="select u_id from user WHERE u_adminemail = '$f[u_adminemail]'";
#$result=mysql_query($query);
#$num=mysql_numrows($result);
$cquery="select COUNT(*) from user WHERE u_adminemail = :u_adminemail";
$res = $dbh->prepare($cquery);
$res->execute(array(':u_adminemail'=>$f['u_adminemail']));
$num = $res->fetchColumn();
if ($num >= $begrenzung_anmeld_pro_mailadr)
{
$ok=0;
echo str_replace("%anzahl%", $begrenzung_anmeld_pro_mailadr, $t['neu55'])."
";
endif;
if ($ok && $los==$t['neu22']):
// Daten in DB als User eintragen
if (!empty($backarray)) {
// fix für magic-quotes...
$backarray=urldecode($backarray);
$backarray=str_replace('\"','"',$backarray);
$backarray=unserialize($backarray);
$text=$f1.$backarray['text'].$f2."\n".
"
\n";
if (is_array($backarray['parameter'])) {
for ($i=0; $i\n";
}
}
$text.="\n
\n";
$titel=$t['neu30'];
}
show_box($titel,$text,"","");
echo " ";
// Homepage muss http:// enthalten
if (!preg_match("|^(http://)|i",$f['u_url']) && strlen($f['u_url'])>0):
$f['u_url']="http://".$f['u_url'];
endif;
$f['u_level']="U";
$u_id=schreibe_db("user",$f,"","u_id");
#$result=mysql_query("UPDATE user SET u_neu=DATE_FORMAT(now(),\"%Y%m%d%H%i%s\") WHERE u_id=$u_id",$conn);
$query="UPDATE user SET u_neu=DATE_FORMAT(now(),\"%Y%m%d%H%i%s\") WHERE u_id=:u_id";
$sth = $dbh->prepare($query);
$result = $sth->execute(array(':u_id'=>$u_id));
if ($pruefe_email == "1")
{
#$query="DELETE FROM mail_check WHERE email = '$f[u_adminemail]'";
#$result=mysql_query($query);
$query="DELETE FROM mail_check WHERE email = :email";
$sth = $dbh->prepare($query);
$result = $sth->execute(array(':email'=>$f['u_adminemail']));
#print "DEBUG: lösche mailadresse aus mail_check";
}
endif;
zeige_fuss();
break;
case "relogin":
// Login aus Forum in Chat; Userdaten setzen
id_lese($id);
$hash_id = $id;
//system_msg("",0,$u_id,"","DEBUG: $neuer_raum ");
// Chat betreten
$back = betrete_chat($o_id,$u_id,$u_nick,$u_level,$neuer_raum,$o_js,$u_backup);
// Frame-Einstellungen für Browser definieren
$user_agent=strtolower($HTTP_USER_AGENT);
if (preg_match("/linux/",$user_agent)):
$frame_type="linux";
elseif (preg_match("/solaris/",$user_agent)):
$frame_type="solaris";
elseif (preg_match("/msie/",$user_agent)):
$frame_type="ie";
elseif (preg_match('|mozilla/4\.7|i',$user_agent)):
$frame_type="nswin";
else:
$frame_type="def";
endif;
// Obersten Frame definieren
if (!isset($frame_online)) $frame_online = "";
if (strlen($frame_online)==0):
$frame_online="frame_online.php";
endif;
if ($u_level=="M") $frame_size[$frame_type][interaktiv]=$moderationsgroesse;
// Falls user eigene Einstellungen für das Frameset hat -> überschreiben
#$sql = "select u_frames from user where u_id = $u_id";
#$result = mysql_query($sql, $conn);
$query="select u_frames from user where u_id =:u_id";
$sth = $dbh->prepare($query);
$result = $sth->execute(array(':u_id'=>$u_id));
$cquery="select COUNT(*) from user where u_id =:u_id";
$res = $dbh->prepare($cquery);
$res->execute(array(':u_id'=>$u_id));
$num = $res->fetchColumn();
#if ($result && mysql_num_rows($result)>0) {
if ($result && $dbh->last_row_count()>0) {
#$u_frames = mysql_result($result,0,"u_frames");
$rs1 = $sth->fetchAll();
$r_id=$rs1[0]['u_frames'];
};
if (isset($u_framses) && $u_frames) {
$u_frames = unserialize($u_frames);
if (is_array($u_frames)) {
foreach ($u_frames as $key => $val) {
if ($val) $frame_size[$frame_type][$key]=$val;
}
};
}
#mysql_free_result($result);
// Frameset aufbauen
// echo "";
echo "\n";
echo "\n";
echo "\n";
// echo "\n";
echo "\n";
echo "\n";
echo "\n";
echo "\n";
if ($u_level=="M") {
echo "\n";
echo "\n";
echo "\n";
echo "\n";
} else {
echo "\n";
}
echo "\n";
echo "\n".
"\n".
"\n".
$body_tag.$t['login6'];
break;
default:
// Homepage des Chats ausgeben
// Kopf
// Header ausgeben
if ($layout_bodytag)
echo "\n$body_titel\n".$metatag.$stylesheet."\n".$zusatztext_kopf."\n".
''."\n".
"\n";
zeige_kopf();
echo $willkommen;
if ($zusatznachricht) echo "
".$zusatznachricht."
\n";
/*
// JMStV
if (($dbase=="mainchat") or ($mysqlhost <> "chatdb5.fidion.de"))
{
echo "
Liebe Chatter,
die Novellierung des Jugendmedienschutz-Staatsvertrags wurde im Landtag
Nordrhein-Westfalens von den Fraktionen von BÜNDNIS90/DIE GRÜNEN, DIE
LINKE, SPD, CDU und FDP am 16.12.2010 gegen 15:40 Uhr abgelehnt.
Darüber sind wir natürlich sehr froh. Der mainChat wird also
weiterbetrieben werden.
Bei aller Freude möchten wir alle Chatbetreiber trotzdem noch einmal
daran erinnern, dass die Regeln des \"alten\" JMStV selbstverständlich
weiter gelten. Deshalb die Bitte: habt, soweit dies zumutbar und möglich
ist, ein Auge drauf, was in Eurem Chat passiert.
Bei Problemen hilft Euch das mainChat Team natürlich gerne weiter.