PHP-Code:
<?
ob_end_flush();
$starttime=time();
INCLUDE "./include/configuration.inc.php";
$header = new EasyTemplate("$basepath/templates/outputheader.tpl");
$header -> assign("OUTPUTCOL","$defoutputcol");
$header -> assign("OUTPUTTEXTCOL","$defoutputtextcol");
$header -> assign("OUTPUTLINKCOL","$defoutputlinkcol");
$header -> assign("OUTPUTALINKCOL","$defoutputalinkcol");
$header -> assign("OUTPUTVLINKCOL","$defoutputvlinkcol");
if($autoscroll == "nein"){
$header -> assign("SCROLLING","onmouseover=\"scrolling=false\" onmouseout=\"scrolling=true\"");}
if($autoscroll == "ja"){
$header -> assign("SCROLLING","");}
$header -> assign("BGURL","$defoutputbgpic");
$header -> assign("BGFIX","$outputbgfixed");
$header -> assign("TITLE",$title);
$header -> easy_print();
$db10=new db_local;
$db10->query("UPDATE ".$chatprefix."chatusers SET lastaction='".time()."',away='0' WHERE nick='$chatuser'");
usleep(50000);
//$db11=new db_local;
$db10->query("SELECT maxaway,maxnoaway,maxposts,greeting,werbe_news,werbe_news_col FROM ".$chatprefix."chat_options");
$db10->next_record();
$maxaway2 = $db10->record[maxaway];
$maxnoaway2 = $db10->record[maxnoaway];
$maxposts2 = $db10->record[maxposts];
$greeting = $db10->record[greeting];
$chatnews = $db10->record[werbe_news];
$chatnews_col = $db10->record[werbe_news_col];
echo "<script language=\javascript\">
function oefnefenster(lol)
{
window.open(lol, 'fenster', 'toolbar=no,location=no,scrollbars=yes,resizable=yes');
}
</script>";
function Stream($chatuser,$chatroom) {
global $host,$database,$user,$password,$stoolonginactive,$maxaway,$maxnoaway,$awayschutz,$chatprefix;
if($chatuser) {
ignore_user_abort(1);
$PingTime=1;
$Ping=0;
$query3="SELECT lastaction,away,ignorelist2,streamabort FROM ".$chatprefix."chatusers where nick='$chatuser'";
$db = new db_local;
$db2 = new db_local;
// Aktueller Stand wird einmalig ausgelesen
$db->query("SELECT id from ".$chatprefix."chatmessages_$chatroom order by id desc limit 1");
$lastpos=$db->result();
while(!connection_aborted()) {
$db5= new db_local;
$db5 -> query("UPDATE ".$chatprefix."chatusers SET streamabort='0' WHERE nick='$chatuser'"); // stream ist da
// Autokick
$db->query("SELECT lastaction,away,ignorelist2,streamabort,clockview,mode FROM ".$chatprefix."chatusers where nick='$chatuser'");
$db->next_record();
$clockview = $db->record[clockview];
$time = time();
$onl = $time - $db->record[lastaction];
$min = $onl/60;
$min = sprintf("%.0lf",$min);
$away = $db->record[away];
$active1 = $db->record[active];
//$db5->query("SELECT lastaction,away,ignorelist2,streamabort,clockview,mode FROM ".$chatprefix."chatusers where nick='$chatuser'");
//$db5->next_record();
$mode = $db->record[mode];
$gastmins=$time-$starttime;
$gastmins=$gastmins/180;
$ignorelist = $db->record[ignorelist2];
$streamabort = $db->record[streamabort];
$clockview = $db->record[clockview];
$streamchk = mktime() - $streamabort;
if ($active1 == '0') {
?>
<script language="javascript">top.window.location.href="index.php?logout=autokick";</script>
<?
exit;
}
else
{
if(is_int($gastmins) && $mode == '-1')
{
$db_guest_mins=new db_local;
$db_guest_mins->query("INSERT INTO ".$chatprefix."chatmessages_$chatroom VALUES ('','privatemessagestring $chatuser <font color=#ff0000>Nachricht vom Chatbot: $chatuser bitte regestriere Dich, damit Du alle Funktionen des Chats benutzen kannst.(Klicke [url="index.php"]hier[/url].)</font>
','$chatuser','$date','$usersip','$usersxforwarded')");
sleep(1);
}
}
if(($min >= "$maxnoaway2" && $away == "0") || $min >= "$maxaway2") {
if ($mode >= '2' && $awayschutz=="ja") {
} else {
if ($active1 >= '1') {
$db5=new db_local;
$db6=new db_local;
$db5->query("UPDATE ".$chatprefix."chatusers SET active='0', away='0', id='0', streamabort='0' WHERE nick = '$chatuser'");
$db6->query("INSERT INTO ".$chatprefix."chatmessages_$chatroom VALUES ('','<font color=#ff0000>$schatbotmessage $chatuser $sautokick</font>
','$chatuser','$date','$usersip','$usersxforwarded')");
$db5->query("DELETE FROM ".$chatprefix."security WHERE nick = '$chatuser'");
?>
Du warst zulange Inaktiv ! <script language="javascript">top.window.location.href="index.php?logout=autokick";</script>
<?
exit;
}
}
}
// Ende Autokick
// MSGs anzeigen
// Aktuelle Position auslesen
$db->query("SELECT id from ".$chatprefix."chatmessages_$chatroom order by id desc limit 1");
$pos=$db->result();
// Mit alter Position vergleichen
if($lastpos < $pos) {
$query2="SELECT message,user,datum FROM ".$chatprefix."chatmessages_$chatroom WHERE id > $lastpos";
$db->query($query2);
// Alle hinzugekommenen MSGs durchlaufen
while ($db->next_record()) {
$text=stripslashes($db->record[message]);
$schreiber=$db->record[user];
#$Text=$text;
#INCLUDE"./include/bbcode.php";
#$text=$Text;
// Normale MSGs
#Hier ignore Script einfügen/by Kaio
if($schreiber=="") {
$schreiber="scheißdrecksverdammel";
}
if(eregi($schreiber,$ignorelist)) {
} else {
if(!eregi("privatemessagestring",$text)) {
echo "$text";
}
// Private MSGs
else if(eregi("privatemessagestring $chatuser ",$text)) {
$text=eregi_replace("privatemessagestring $chatuser ","",$text);
echo" $text";
}
}
#Hier ende Ignore Script
}
$lastpos=$pos;
} else {
echo " ";
}
// Neue Zeilen oder Leerzeichen an den Browser schicken
flush();
usleep(500000);
} // while connection
$db->close();
} //if user
} // Function
//Autodel by progressive
$db10->query("SELECT count(id) from ".$chatprefix."chatmessages_$chatroom");
$anzposting=$db10->result();
$delposting = $maxposts2;
if ($anzposting>=$delposting) {
$db10->query("SELECT id from ".$chatprefix."chatmessages_$chatroom ORDER BY id DESC LIMIT 1");
$db10->next_record();
$id=$db10->record[id];
$id = $id - 2; //die letzten zeile stehen lassen
$db10->query("DELETE LOW_PRIORITY FROM ".$chatprefix."chatmessages_$chatroom WHERE id<'$id'");
$db10->query("OPTIMIZE TABLE ".$chatprefix."chatmessages_$chatroom");
}
//Center Welcome Msg by Kaio
if($welcomecenter=="ja")
{
echo "<center>";
}
//Autodel by progressive
if (!isset($clear) || $clear!=1 || !eregi("sep_",$chatroom)) { // Zeigt die Meldungen nicht bei einem /clear-Befehl an
if($greeting=="1") {
echo $welcomemsg2;
} else {
?>
<SCRIPT language=JavaScript><!--
// begin script
function display_title() {
date = new Date();
var hours = date.getHours();
var message = '';
if (hours >= 0) { time_of_day = '<? echo $morningmsg1 ?>,'; message='Morning Message';}
if (hours >= 6) { time_of_day = '<? echo $morningmsg2 ?>,'; message='Morning Message';}
if ((hours >= 12) && (hours < 17)) { time_of_day = '<? echo $daymsg2 ?>,'; message='Afternoon Message'}
if (hours >= 17) { time_of_day = '<? echo $eveningmsg1 ?>,'; message='Evening Message';}
if (hours >= 22) { time_of_day = '<? echo $eveningmsg2 ?>,'; message='Evening Message';}
document.write('' + time_of_day + '');
}
// document.write('' + message + '');
//end display title
// --></SCRIPT>
<SCRIPT language=javascript>
<!-- begin script
display_title();
//--></SCRIPT>
<?
echo $welcomemsg;
}
$jetztip=getenv("REMOTE_ADDR");
//Was für user sind Online anzeige//
$db = new db_local;
$db2 = new db_local;
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '3' AND active='1'");
$webbie_online=$db2->result();
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE active='1'");
$usersonline=$db2->result();
if($db2->result == 1)
{$oneormoreusers="ist";}
else{$oneormoreusers="sind";}
if ($webbie_online=='0') {
$webbie_online="0";
}
echo "Zurzeit $oneormoreusers <font color=red>$webbie_online</font> Webmaster, ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '2' AND active='1'");
$admins_online=$db2->result();
if ($admins_online=='0'){
$admins_online="0";
}
if ($admins_online=='1') {
$adminbit="Admin";
} else {
$adminbit="Admins";
}
echo "<font color=red>$admins_online</font> $adminbit, ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '1' AND active='1'");
$vip_online=$db2->result();
if ($vip_online=='0') {
$vip_online="0";
}
if ($vip_online=='1') {
$vipbit="VIP";
} else {
$vipbit="VIPs";
}
echo "<font color=red>$vip_online</font> $vipbit, ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '0' AND active='1'");
$user_online=$db2->result();
if ($user_online=='0') {
$user_online="0";
}
if ($user_online=='1') {
$userbit="Normaler";
} else {
$userbit="Normale";
}
echo " <font color=red>$user_online</font> $userbit User ";
$db2->query("SELECT count(nick) FROM ".$chatprefix."chatusers WHERE mode like '-1' AND active='1'");
$gast_online=$db2->result();
if ($gast_online=='0') {
$gast_online="0";
}
if ($gast_online=='1') {
$gastbit="Gast";
} else {
$gastbit="Gäste";
}
echo "und <font color=red>$gast_online</font> $gastbit Online.
[b]<font color=$chatnews_col>$chatnews</font>[/b]
";
//noch Welcome Center adon by kaio
if($welcomecenter=="ja")
{
echo "</center>";
}
// Gespeicherte Msgs anzeigen
$db = new db_local;
$db2 = new db_local;
$db->query("SELECT message,id FROM ".$chatprefix."msgs where sentto='$chatuser' ORDER BY datum asc,uhrzeit asc");
$num = $db->num_rows();
if($num > 0) {
echo "$fontprefixa Es wurden $num ungelesene Nachrichten an dich geschickt während du nicht da warst :</font>
";
while ($db->next_record()) {
$message = $db->record[message];
$id = $db->record[id];
print $message;
$db2->query("delete from ".$chatprefix."msgs where id='$id'");
}
}
} // von clear
$jetztip=$HTTP_SERVER_VARS["REMOTE_ADDR"];
$db = new db_local;
$db->query("SELECT pass,lastip,id FROM ".$chatprefix."chatusers WHERE nick = '$chatuser'");
$db->next_record();
$dbid=$db->record[id];
$lastip=$db->record[lastip];
if ($lastip==$jetztip && $chatid==$dbid) {
ignore_user_abort(1);
$db -> query("UPDATE ".$chatprefix."chatusers SET streamabort='0' WHERE nick='$chatuser'"); // stream ist da
if($last_ten=="ja") // die letzten 10 Zeilen Addon
{
####before stream
echo "<font size=-2>[b]<u>Die letzten 10 Zeilen:</u>[/b]</font>
";
$db_ten=new db_local;
$db_readten=new db_local;
$db_ten->query("SELECT id from ".$chatprefix."chatmessages_$chatroom order by id desc limit 1");
$lastpos=$db_ten->result()-"11";
$db_readten->query("SELECT * FROM ".$chatprefix."chatmessages_$chatroom WHERE id > '$lastpos' ");
$zaehler="0";
while($db_readten->next_record() && $zaehler <= '10')
{
$text=$db_readten->record[message];
if(!eregi("privatemessagestring",$text) && !eregi("<script language=\"javascript\">",$text))
{
$text=stripslashes($text);
echo "$text";
}
else { }
$zaehler++;
}
echo "<font color=ff0000>-----------------------------------------------------------------------------------------------------------------------------------</font>
";
########
}
Stream($chatuser,$chatroom); //stream starten
//stream beendet..
sleep(5);
if (connection_aborted()) {
$db->query("SELECT active FROM ".$chatprefix."chatusers WHERE nick = '$chatuser'");
$db->next_record();
$aktiv=$db->record[active];
if ($aktiv == 1) {
$jetzt = mktime();
$db -> query("UPDATE ".$chatprefix."chatusers SET streamabort='$jetzt' WHERE nick='$chatuser'");
}
}
$db10->close();
$db_guest_mins->close();
$db5->close();
$db6->close();
$db2->close();
$db->close();
} else {
echo "Fehler, Chatid Stimmt nicht mit der Userid überein.
Möglicherweise wurde Ihre Verbindung zum Server Unterbrochen, Loggen sie sich Bitte Erneut ein!";
}
?>
quelle mymazenphp
ich konnte damit garnichts anfangen vielleicht kommt ihr ja weiter in der datei ist vieles dirn wie autokick und sowas hatte den chat mal instaliert und da funktioniert das mit dem durchsuchen nach neuen beiträgen