Ejemplo n.º 1
0
         $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 "&nbsp;<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;
Ejemplo n.º 2
0
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>&nbsp;&nbsp;\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]}>&nbsp;" . 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 . "&nbsp;" . $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 . "&nbsp;" . $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 . "&nbsp;<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'] . "&nbsp;</B></TD>" . "<TD BGCOLOR=\"#" . $f['u_farbe'] . "\">&nbsp;&nbsp;&nbsp;</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);
    }
}
Ejemplo n.º 4
0
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);
    }
}
Ejemplo n.º 5
0
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;
}
Ejemplo n.º 6
0
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);
}