$f['u_austritt'] = $row->u_austritt; $f['u_punkte_anzeigen'] = $row->u_punkte_anzeigen; $f['u_signatur'] = $row->u_signatur; $f['u_kommentar'] = $row->u_kommentar; $size = unserialize($row->u_frames); user_edit($f, $admin, $u_level, $size); } mysql_free_result($result); // Bei Änderungen an u_smilie, u_systemmeldungen, u_punkte_anzeigen chat-Fenster neu laden if (($u_smilie != $f['u_smilie'] || $u_systemmeldungen != $f['u_systemmeldungen'] || $u_punkte_anzeigen != $f['u_punkte_anzeigen']) && $o_who == 0) { echo "<SCRIPT LANGUAGE=JavaScript>" . "opener_reload('chat.php?http_host={$http_host}&id={$id}&back={$chat_back}','1')" . "</SCRIPT>\n"; } } elseif (isset($eingabe) && $eingabe == "Löschen!" && $admin) { // User löschen // Ist User noch Online? if (!ist_online($f['u_id'])) { // Nachfrage ob sicher echo "<P><B>" . str_replace("%u_nick%", $f['u_nick'], $t['edit13']) . "</B></P>\n"; echo "<FORM NAME=\"{$f['u_nick']}\" ACTION=\"edit.php\" METHOD=POST>\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"id\" VALUE=\"{$id}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"http_host\" VALUE=\"{$http_host}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"f[u_id]\" VALUE=\"{$f['u_id']}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"f[u_name]\" VALUE=\"{$f['u_name']}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"f[u_nick]\" VALUE=\"{$f['u_nick']}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"aktion\" VALUE=\"loesche\">\n"; echo $f1 . "<INPUT TYPE=\"SUBMIT\" NAME=\"eingabe\" VALUE=\"Löschen!\">"; echo " <INPUT TYPE=\"SUBMIT\" NAME=\"eingabe\" VALUE=\"Abbrechen\">" . $f2; echo "</FORM>\n"; } else { echo "<P><B>" . str_replace("%u_nick%", $f['u_nick'], $t['edit14']) . "</B></P>\n"; // User mit ID $u_id anzeigen $query = "SELECT user.* " . "FROM user WHERE u_id=" . intval($f[u_id]); $result = mysql_query($query, $conn); $rows = mysql_num_rows($result); if ($rows == 1) { $row = mysql_fetch_object($result); $f['u_id'] = $u_id;
function user_edit($f, $admin, $u_level, $size = array()) { // $f = Ass. Array mit Userdaten // $size = Ass. Array mit Fenstereinstellungen (Optional) global $id, $http_host, $level, $f1, $f2, $f3, $f4, $farbe_tabelle_kopf, $farbe_tabelle_koerper; global $farbe_chat_user, $farbe_chat_user_groesse, $farbe_text, $user_farbe; global $t, $ft0, $ft1, $backup_chat, $smilies_pfad, $erweitertefeatures; global $frame_size, $u_id, $communityfeatures, $punktefeatures; global $einstellungen_aendern, $eintritt_individuell; if (ist_netscape()) { $input_breite = 15; $passwort_breite = 6; } else { $input_breite = 32; $passwort_breite = 15; } if (ist_online($f['u_id'])) { $box = $ft0 . str_replace("%user%", $f['u_nick'], $t['user_zeige20']) . $ft1; } else { $box = $ft0 . str_replace("%user%", $f['u_nick'], $t['user_zeige21']) . $ft1; } echo "<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0 WIDTH=100% BGCOLOR={$farbe_tabelle_kopf}>\n"; echo "<TR><TD COLSPAN=2>"; echo "<A HREF=\"javascript:window.close();\">" . "<IMG SRC=\"pics/button-x.gif\" ALT=\"schließen\" " . "WIDTH=15 HEIGHT=13 ALIGN=\"RIGHT\" BORDER=0></A>\n"; echo "<FONT SIZE=-1 COLOR={$farbe_text}><B>{$box}</B></FONT>\n"; echo "<IMG SRC=\"pics/fuell.gif\" ALT=\"\" WIDTH=4 HEIGHT=4><BR>\n"; echo "<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH=100% BGCOLOR=\"{$farbe_tabelle_koerper}\">\n"; echo "<TR><TD COLSPAN=2>"; // Ausgabe in Tabelle echo "<FORM NAME=\"{$f['u_nick']}\" ACTION=\"edit.php\" METHOD=POST>\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"id\" VALUE=\"{$id}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"http_host\" VALUE=\"{$http_host}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"f[u_id]\" VALUE=\"{$f['u_id']}\">\n" . "<INPUT TYPE=\"HIDDEN\" NAME=\"aktion\" VALUE=\"edit\">\n"; echo "<TABLE BORDER=0 CELLPADDING=0 WIDTH=100%>"; // Backup-Algotithmus einschalten? echo "<TR><TD COLSPAN=2>" . $f1 . $t['user_zeige14'] . "<SELECT NAME=\"f[u_backup]\">"; if ($backup_chat) { echo "<OPTION VALUE=\"0\">{$t['user_zeige15']}"; } elseif ($f['u_backup'] == 1) { echo "<OPTION SELECTED VALUE=\"1\">{$t['user_zeige15']}"; echo "<OPTION VALUE=\"0\">{$t['user_zeige16']}"; } else { echo "<OPTION VALUE=\"1\">{$t['user_zeige15']}"; echo "<OPTION SELECTED VALUE=\"0\">{$t['user_zeige16']}"; } echo "</SELECT><INPUT TYPE=\"SUBMIT\" NAME=\"eingabe\" VALUE=\"Ändern!\">" . $f2 . "<HR SIZE=2 NOSHADE></TD></TR>\n"; // Nur für Admins if ($admin) { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige17'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"{$f['u_name']}\" NAME=\"f[u_name]\" SIZE={$input_breite}>" . "</TD></TR>\n"; } else { if ($einstellungen_aendern && $u_level == 'U') { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige17'] . "</B> (<a href=\"edit.php?http_host={$http_host}&id={$id}&aktion=andereadminmail\">ändern</a>)<BR>\n" . $f2 . htmlspecialchars($f['u_name']) . "</TD></TR>\n"; } } if (!$einstellungen_aendern) { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige18'] . "</B> \n" . $f['u_nick'] . $f2 . "</TD></TR>\n"; } else { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige18'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"{$f['u_nick']}\" NAME=\"f[u_nick]\" SIZE={$input_breite}>" . "</TD></TR>\n"; } // Für alle außer Gäste if ($u_level != "G") { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige6'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"{$f['u_email']}\" NAME=\"f[u_email]\" SIZE={$input_breite}>" . "</TD></TR>\n"; } // Nur für Admins if ($admin) { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige3'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"{$f['u_adminemail']}\" NAME=\"f[u_adminemail]\" SIZE={$input_breite}>" . "</TD></TR>\n"; } else { if ($einstellungen_aendern && $u_level == 'U') { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige3'] . "</B> (<a href=\"edit.php?http_host={$http_host}&id={$id}&aktion=andereadminmail\">ändern</a>)<BR>\n" . $f2 . htmlspecialchars($f['u_adminemail']) . "</TD></TR>\n"; } } if ($admin) { if (!isset($f['u_kommentar'])) { $f['u_kommentar'] = ""; } echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige49'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"" . htmlspecialchars($f['u_kommentar']) . "\" NAME=\"f[u_kommentar]\" SIZE={$input_breite}>" . "</TD></TR>\n"; } // Für alle außer Gäste if ($u_level != "G") { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige7'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"{$f['u_url']}\" NAME=\"f[u_url]\" SIZE={$input_breite}>" . "</TD></TR>\n"; // Signatur echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige44'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"" . htmlspecialchars($f['u_signatur']) . "\" NAME=\"f[u_signatur]\" SIZE={$input_breite}>" . "</TD></TR>\n"; if ($eintritt_individuell == "1") { // Eintrittsnachricht echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige53'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"" . htmlspecialchars($f['u_eintritt']) . "\" NAME=\"f[u_eintritt]\" SIZE={$input_breite} MAXLENGTH=\"100\">" . "</TD></TR>\n"; // Austrittsnachricht echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige54'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"TEXT\" VALUE=\"" . htmlspecialchars($f['u_austritt']) . "\" NAME=\"f[u_austritt]\" SIZE={$input_breite} MAXLENGTH=\"100\">" . "</TD></TR>\n"; } // Passwort if ($einstellungen_aendern) { echo "<TR><TD COLSPAN=2>" . $f1 . "<B>" . $t['user_zeige19'] . "</B><BR>\n" . $f2 . "<INPUT TYPE=\"PASSWORD\" NAME=\"passwort1\" SIZE={$passwort_breite}>" . "<INPUT TYPE=\"PASSWORD\" NAME=\"passwort2\" SIZE={$passwort_breite}>" . "</TD></TR>\n"; } } // System Ein/Austrittsnachrichten Y/N echo "<TR><TD COLSPAN=2><HR SIZE=2 NOSHADE></TD></TR>\n"; echo "<TR><TD>" . $f1 . "<B>" . $t['user_zeige51'] . "</B>\n" . $f2 . "</TD><TD>" . $f1 . "<SELECT NAME=\"f[u_systemmeldungen]\">"; if ($f['u_systemmeldungen'] == "Y") { echo "<OPTION SELECTED VALUE=\"Y\">{$t['user_zeige36']}"; echo "<OPTION VALUE=\"N\">{$t['user_zeige37']}"; } else { echo "<OPTION VALUE=\"Y\">{$t['user_zeige36']}"; echo "<OPTION SELECTED VALUE=\"N\">{$t['user_zeige37']}"; } echo "</SELECT>" . $f2 . "</TD></TR>\n"; // Smilies Y/N if ($smilies_pfad && $erweitertefeatures) { echo "<TR><TD>" . $f1 . "<B>" . $t['user_zeige35'] . "</B>\n" . $f2 . "</TD><TD>" . $f1 . "<SELECT NAME=\"f[u_smilie]\">"; if ($f['u_smilie'] == "Y") { echo "<OPTION SELECTED VALUE=\"Y\">{$t['user_zeige36']}"; echo "<OPTION VALUE=\"N\">{$t['user_zeige37']}"; } else { echo "<OPTION VALUE=\"Y\">{$t['user_zeige36']}"; echo "<OPTION SELECTED VALUE=\"N\">{$t['user_zeige37']}"; } echo "</SELECT>" . $f2 . "</TD></TR>\n"; } // Punkte Anzeigen Y/N if ($communityfeatures && $u_level != 'G' && $punktefeatures) { echo "<TR><TD>" . $f1 . "<B>" . $t['user_zeige52'] . "</B>\n" . $f2 . "</TD><TD>" . $f1 . "<SELECT NAME=\"f[u_punkte_anzeigen]\">"; if ($f['u_punkte_anzeigen'] == "Y") { echo "<OPTION SELECTED VALUE=\"Y\">{$t['user_zeige36']}"; echo "<OPTION VALUE=\"N\">{$t['user_zeige37']}"; } else { echo "<OPTION VALUE=\"Y\">{$t['user_zeige36']}"; echo "<OPTION SELECTED VALUE=\"N\">{$t['user_zeige37']}"; } echo "</SELECT>" . $f2 . "</TD></TR>\n"; } // Level nur für Admins if ($admin) { echo "<TR><TD>" . $f1 . "<B>" . $t['user_zeige8'] . "</B>\n" . $f2 . "</TD><TD>" . $f1 . "<SELECT NAME=\"f[u_level]\">\n"; // Liste der Gruppen ausgeben reset($level); $i = 0; while ($i < count($level)) { $name = key($level); // Alle Level außer Besitzer zur Auswahl geben, für Gäste gibt es nur Gast if ($name != "B") { if ($f['u_level'] == "G") { if ($i == 0) { echo "<OPTION SELECTED VALUE=\"G\">{$level['G']}\n"; } } else { if ($name != "G") { if ($f['u_level'] == $name) { echo "<OPTION SELECTED VALUE=\"{$name}\">{$level[$name]}\n"; } else { echo "<OPTION VALUE=\"{$name}\">{$level[$name]}\n"; } } } } next($level); $i++; } echo "</SELECT>" . $f2 . "</TD></TR>\n"; } // Einstellungen für Fenstergrößen if ($u_level != "G") { echo "<TR><TD COLSPAN=2><HR SIZE=2 NOSHADE>" . $f1 . "<B>" . $t['user_zeige43'] . "</B>\n" . $f2 . "</TD></TR>\n"; foreach ($frame_size['def'] as $key => $val) { echo "<TR><TD>" . $f1 . "<B>" . $t[$key] . "</B>\n" . $f2 . "</TD><TD>" . $f1 . "<INPUT TYPE=\"TEXT\" NAME=\"size[{$key}]\" SIZE=4 VALUE={$size[$key]}> " . str_replace("%vor%", $val, $t['user_zeige42']) . $f2 . "</TD></TR>\n"; } } // Default für Farbe setzen, falls undefiniert if (strlen($f['u_farbe']) == 0) { $f['u_farbe'] = $user_farbe; } $link = ""; // Farbe direkt einstellen if ($f['u_id'] == $u_id) { if ($communityfeatures) { $url = "home_farben.php?http_host={$http_host}&id={$id}&mit_grafik=0&feld=u_farbe&bg=Y&oldcolor=" . urlencode($f['u_farbe']); $link = "<B>[<A HREF=\"{$url}\" TARGET=\"Farben\" onclick=\"window.open('{$url}','Farben','resizable=yes,scrollbars=yes,width=400,height=500'); return(false);\">{$t['user_zeige46']}</A>]</B>"; } echo "<TR><TD COLSPAN=2><HR SIZE=2 NOSHADE></TD></TR>" . "<TR><TD>{$f1}<B>" . $t['user_zeige45'] . "</B>\n" . $f2 . "</TD><TD>" . $f1 . "<INPUT TYPE=\"TEXT\" NAME=\"f[u_farbe]\" SIZE=7 VALUE=\"{$f['u_farbe']}\">" . "<INPUT TYPE=\"HIDDEN\" NAME=\"farben[u_farbe]\">" . $f2 . " " . $f3 . $link . $f4 . "</TD></TR>\n"; } else { if ($admin) { echo "<TR><TD COLSPAN=2><HR SIZE=2 NOSHADE></TD></TR>" . "<TR><TD>{$f1}<B>" . $t['user_zeige45'] . "</B>\n" . $f2 . "</TD><TD>" . $f1 . "<INPUT TYPE=\"TEXT\" NAME=\"f[u_farbe]\" SIZE=7 VALUE=\"{$f['u_farbe']}\">" . "<INPUT TYPE=\"HIDDEN\" NAME=\"farben[u_farbe]\">" . $f2 . " " . $f3 . $link . $f4 . "</TD></TR>\n"; } } echo "</TABLE>\n"; echo $f1 . "<HR SIZE=2 NOSHADE><INPUT TYPE=\"SUBMIT\" NAME=\"eingabe\" VALUE=\"Ändern!\">" . $f2; if ($admin) { echo $f1 . " <INPUT TYPE=\"SUBMIT\" NAME=\"eingabe\" VALUE=\"Löschen!\">" . $f2; } // Farbenliste & aktuelle Farbe if ($f['u_id'] == $u_id) { echo "\n<HR SIZE=2 NOSHADE><TABLE><TD COLSPAN=2><B>" . $t['user_zeige10'] . " </B></TD>" . "<TD BGCOLOR=\"#" . $f['u_farbe'] . "\"> </TD>" . "</TR></TABLE>"; echo "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0><TR>\n"; foreach ($farbe_chat_user as $key => $val) { echo "<TD WIDTH={$farbe_chat_user_groesse} " . "BGCOLOR=\"#" . $val . "\">" . "<A HREF=\"edit.php?http_host={$http_host}&id={$id}&aktion=edit&f[u_id]={$f['u_id']}&farbe={$val}\">" . "<IMG SRC=\"pics/fuell.gif\" WIDTH={$farbe_chat_user_groesse} " . "HEIGHT={$farbe_chat_user_groesse} ALT=\"\" BORDER=0></A></TD>\n"; } echo "</TR></TABLE>\n"; } // Fuß der Tabelle echo "</FORM>\n"; echo "</TD></TR></TABLE></TD></TR></TABLE>\n"; }
function aktion_sofort($po_id, $po_vater_id, $thread) { global $conn, $t; //aktionen nur fuer Antworten if ($po_vater_id > 0) { $sql = "select po_u_id, date_format(from_unixtime(po_ts), '%d.%m.%Y') as po_date, po_titel,\n\t\t\tth_name, fo_name \n\t\t\tfrom posting, thema, forum\n\t\t\twhere po_id = " . intval($po_vater_id) . "\n\t\t\tand po_th_id = th_id\n\t\t\tand th_fo_id = fo_id"; $query = mysql_query($sql, $conn); if ($query && mysql_num_rows($query) > 0) { //Daten des Vaters holen $user = mysql_result($query, 0, "po_u_id"); $po_ts = mysql_result($query, 0, "po_date"); $po_titel = mysql_result($query, 0, "po_titel"); $thema = mysql_result($query, 0, "th_name"); $forum = mysql_result($query, 0, "fo_name"); @mysql_free_result($query); } else { return; } $sql = "select u_id, u_nick, \n\t\t\tdate_format(from_unixtime(po_ts), '%d.%m.%Y %H:%i') as po_date, po_titel \n\t\t\tfrom user, posting \n\t\t\twhere po_u_id = u_id \n\t\t\tand po_id = " . intval($po_id); $query = mysql_query($sql, $conn); if ($query && mysql_num_rows($query) > 0) { $user_from_id = mysql_result($query, 0, "u_id"); $user_from_nick = mysql_result($query, 0, "u_nick"); $po_ts_antwort = mysql_result($query, 0, "po_date"); $po_titel_antwort = mysql_result($query, 0, "po_titel"); @mysql_free_result($query); } else { return; } //Ist betroffener User Online? $online = ist_online($user); if ($online) { $wann = "Sofort/Online"; } else { $wann = "Sofort/Offline"; } //Threadorder fuer diesen Thread holen $sql = "select po_threadorder \n\t\t\tfrom posting \n\t\t\twhere po_id=" . intval($thread); $query = mysql_query($sql, $conn); if ($query && mysql_num_rows($query) == 1) { $threadorder = mysql_result($query, 0, "po_threadorder"); } else { return; } $baum = erzeuge_baum($threadorder, $po_id, $thread); $text['po_titel'] = $po_titel; $text['po_ts'] = $po_ts; $text['forum'] = $forum; $text['thema'] = $thema; $text['user_from_nick'] = $user_from_nick; $text['po_titel_antwort'] = $po_titel_antwort; $text['po_ts_antwort'] = $po_ts_antwort; $text['baum'] = $baum; aktion($wann, $user, $user_from_id, "", "Antwort auf eigenes Posting", $text); } }
function logout($o_id, $u_id, $info = "") { // Logout aus dem Gesamtsystem global $dbase, $u_farbe, $conn, $communityfeatures, $logout_logging; if ($logout_logging) { logout_debug($o_id, $info); } // Tabellen online+user exklusiv locken $query = "LOCK TABLES online WRITE, user WRITE"; $result = mysql_query($query, $conn); $o_id = mysql_real_escape_string($o_id); // sec // Aktuelle Punkte auf Punkte in Usertabelle addieren $result = @mysql_query("select o_punkte,o_name,o_knebel, UNIX_TIMESTAMP(o_knebel)-UNIX_TIMESTAMP(NOW()) as knebelrest FROM online WHERE o_id={$o_id}", $conn); if ($result && mysql_num_rows($result) == 1) { $row = mysql_fetch_object($result); $u_name = $row->o_name; if ($row->knebelrest > 0) { $knebelzeit = $row->o_knebel; } else { $knebelzeit = NULL; } $query = "update user set " . "u_punkte_monat=u_punkte_monat+{$row->o_punkte}, " . "u_punkte_jahr=u_punkte_jahr+{$row->o_punkte}, " . "u_punkte_gesamt=u_punkte_gesamt+{$row->o_punkte}, " . "u_knebel='{$knebelzeit}' " . "where u_id={$u_id}"; $result2 = mysql_query($query, $conn); } @mysql_free_result($result); // User löschen $result2 = mysql_query("DELETE FROM online WHERE o_id={$o_id} OR o_user={$u_id}", $conn); // Lock freigeben $query = "UNLOCK TABLES"; $result = mysql_query($query, $conn); // Punkterepair $repair1 = "UPDATE user SET u_punkte_jahr = 0, u_punkte_monat = 0, u_punkte_datum_jahr = YEAR(NOW()), u_punkte_datum_monat = MONTH(NOW()), u_login=u_login WHERE u_punkte_datum_jahr != YEAR(NOW()) AND u_id={$u_id}"; mysql_query($repair1); $repair2 = "UPDATE user SET u_punkte_monat = 0, u_punkte_datum_monat = MONTH(NOW()), u_login=u_login WHERE u_punkte_datum_monat != MONTH(NOW()) AND u_id={$u_id}"; mysql_query($repair2); // Nachrichten an Freunde verschicken if ($communityfeatures) { $query = "SELECT f_id,f_text,f_userid,f_freundid,f_zeit FROM freunde WHERE f_userid={$u_id} AND f_status = 'bestaetigt' " . "UNION " . "SELECT f_id,f_text,f_userid,f_freundid,f_zeit FROM freunde WHERE f_freundid={$u_id} AND f_status = 'bestaetigt' " . "ORDER BY f_zeit desc "; $result = mysql_query($query, $conn); if ($result && mysql_num_rows($result) > 0) { while ($row = mysql_fetch_object($result)) { unset($f); $f['aktion'] = "Logout"; $f['f_text'] = $row->f_text; if ($row->f_userid == $u_id) { if (ist_online($row->f_freundid)) { $wann = "Sofort/Online"; $an_u_id = $row->f_freundid; } else { $wann = "Sofort/Offline"; $an_u_id = $row->f_freundid; } } else { if (ist_online($row->f_userid)) { $wann = "Sofort/Online"; $an_u_id = $row->f_userid; } else { $wann = "Sofort/Offline"; $an_u_id = $row->f_userid; } } // Aktion ausführen aktion($wann, $an_u_id, $u_name, "", "Freunde", $f); } } @mysql_free_result($result); } }
function mail_sende($von, $an, $text, $betreff = "") { // Verschickt Mail von ID $von an ID $an mit Text $text global $t; global $u_nick; $mailversand_ok = true; $fehlermeldung = ""; // User die die Mailbox zu haben, bekommen keine Aktionen per Mainchat $query = "SELECT m_id FROM mail WHERE m_von_uid=" . intval($an) . " AND m_an_uid=" . intval($an) . " and m_betreff = 'MAILBOX IST ZU' and m_status != 'geloescht'"; $result = mysql_query($query); $num = mysql_numrows($result); if ($num >= 1) { $mailversand_ok = false; $fehlermeldung = $t['chat_msg105']; } // Gesperrte User bekommen keine Chatmail Aktionen mehr $query = "SELECT u_id FROM user WHERE u_id=" . intval($an) . " AND u_level='Z'"; $result = mysql_query($query); $num = mysql_numrows($result); if ($num >= 1) { $mailversand_ok = false; $fehlermeldung = "User ist gesperrt, und kann deswegen keine Chatmail empfangen"; } // mailbombing schutz! $query = "SELECT m_id,now()-m_zeit as zeit FROM mail WHERE m_von_uid = " . intval($von) . " AND m_an_uid = '" . intval($an) . " order by m_id desc limit 0,1"; // system_msg("",0,$von,$system_farbe,"DEBUG: $query"); $result = mysql_query($query); if (mysql_numrows($result) == 1) { $a = mysql_fetch_array($result); $zeit = $a['zeit']; } else { $zeit = 999; } if ($zeit < 30) { $mailversand_ok = false; $fehlermeldung = $t['chat_msg104']; } if ($mailversand_ok == true) { $f['m_von_uid'] = $von; $f['m_an_uid'] = $an; $f['m_status'] = "neu"; $f['m_text'] = chat_parse($text); if ($betreff) { $f['m_betreff'] = $betreff; } else { // Betreff aus Text übernehmen und kürzen $f['m_betreff'] = $text; if (strlen($f['m_betreff']) > 5) { $f['m_betreff'] = substr($f['m_betreff'], 0, 30); $f['m_betreff'] = substr($f['m_betreff'], 0, strrpos($f['m_betreff'], " ") + 1); } } $f['m_id'] = schreibe_db("mail", $f, "", "m_id"); // Nachricht über neue E-Mail sofort erzeugen if (ist_online($an)) { aktion("Sofort/Online", $an, $u_nick, "", "Neue Mail", $f); } else { aktion("Sofort/Offline", $an, $u_nick, "", "Neue Mail", $f); } } if (!isset($f['m_id'])) { $f['m_id'] = ""; } $ret = array($f['m_id'], $fehlermeldung); return $ret; }
function betrete_forum($o_id, $u_id, $u_name, $u_level) { // User betritt beim Login das Forum global $dbase, $conn, $chat, $lobby, $eintrittsraum, $t, $hash_id, $communityfeatures, $beichtstuhl, $system_farbe; //Daten in onlinetabelle schreiben $f['o_raum'] = -1; $f['o_who'] = "2"; //user betritt nicht chat, sondern direkt forum --> $back ist die aktuellste Zeile in chat $f['o_chat_id'] = system_msg("", 0, $u_id, "", str_replace("%u_nick%", $u_name, $t['betrete_forum1'])); schreibe_db("online", $f, $o_id, "o_id"); // Hat der User Aktionen für den Login eingestellt, wie Nachricht bei neuer Mail oder Freunden an sich selbst? if ($communityfeatures && $u_level != "G") { aktion("Login", $u_id, $u_name, $hash_id); } // Nachrichten an Freude verschicken if ($communityfeatures) { $query = "SELECT f_id,f_text,f_userid,f_freundid,f_zeit FROM freunde WHERE f_userid={$u_id} AND f_status = 'bestaetigt' UNION SELECT f_id,f_text,f_userid,f_freundid,f_zeit FROM freunde WHERE f_freundid={$u_id} AND f_status = 'bestaetigt' ORDER BY f_zeit desc "; $result = mysql_query($query, $conn); if ($result && mysql_num_rows($result) > 0) { while ($row = mysql_fetch_object($result)) { unset($f); $f['raum'] = ""; $f['aktion'] = "Login"; $f['f_text'] = $row->f_text; if ($row->f_userid == $u_id) { if (ist_online($row->f_freundid)) { $wann = "Sofort/Online"; $an_u_id = $row->f_freundid; } else { $wann = "Sofort/Offline"; $an_u_id = $row->f_freundid; } } else { if (ist_online($row->f_userid)) { $wann = "Sofort/Online"; $an_u_id = $row->f_userid; } else { $wann = "Sofort/Offline"; $an_u_id = $row->f_userid; } } // Aktion ausführen aktion($wann, $an_u_id, $u_name, "", "Freunde", $f); } } } @mysql_free_result($result); }