Esempio n. 1
0
function sperre($r_id, $u_id, $u_name, $s_user, $s_user_name, $admin)
{
    // Sperrt User s_user für Raum r_id oder hebt Sperre auf
    // Wirft User ggf aus dem Raum r_id
    global $lobby;
    global $dbase;
    global $timeout;
    global $t;
    global $u_level;
    global $conn;
    // Id der Lobby als Voreinstellung ermitteln
    $query = "SELECT r_id FROM raum WHERE r_name LIKE '{$lobby}' ";
    $result = mysql_query($query, $conn);
    $rows = mysql_num_rows($result);
    if ($rows > 0) {
        $lobby_id = mysql_result($result, 0, "r_id");
    } else {
        system_msg("", 0, $u_id, $system_farbe, $t['sperre1']);
    }
    mysql_free_result($result);
    if ($r_id != $lobby_id) {
        $query = "SELECT s_id FROM sperre " . "WHERE s_user={$s_user} " . "AND  s_raum={$r_id}";
        $result = mysql_query($query, $conn);
        $rows = mysql_num_rows($result);
        if ($rows == 0) {
            // Ist User s_user in diesem Raum? $o_id ermitteln
            $query2 = "SELECT o_id FROM online " . "WHERE o_raum={$r_id} " . "AND o_user={$s_user} " . "AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= {$timeout} ";
            $result2 = mysql_query($query2, $conn);
            $rows2 = mysql_num_rows($result2);
            if ($rows2 > 0) {
                // Sperre neu setzen
                $o_id = mysql_result($result2, 0, "o_id");
                $f['s_user'] = $s_user;
                $f['s_raum'] = $r_id;
                schreibe_db("sperre", $f, "", "s_id");
                // User aus Raum werfen
                global_msg($u_id, $r_id, "'{$u_name}' {$t['sperre2']} '{$s_user_name}' {$t['sperre3']}");
                raum_gehe($o_id, $s_user, $s_user_name, $r_id, $lobby_id, FALSE);
            } else {
                // User ist nicht in diesem Raum... meldung ausgeben.
                system_msg("", 0, $u_id, $system_farbe, str_replace("%s_user_name%", $s_user_name, $t['sperre4']));
                // trotzdem in Seprre eintragen.
                $f['s_user'] = $s_user;
                $f['s_raum'] = $r_id;
                schreibe_db("sperre", $f, "", "s_id");
            }
        } else {
            // Sperre löschen
            $s_id = mysql_result($result, 0, "s_id");
            $query2 = "DELETE FROM sperre WHERE s_id={$s_id} ";
            $result2 = mysql_query($query2, $conn);
            global_msg($u_id, $r_id, "'{$u_name}' {$t['sperre2']} '{$s_user_name}' {$t['sperre5']}");
        }
        mysql_free_result($result);
    } else {
        // User ist in Lobby
        if (!($admin || $u_level == "A")) {
            system_msg("", 0, $u_id, $system_farbe, $t['sperre6']);
        } else {
            // User aus Chat werfen
            // Ist User s_user in diesem Raum? $o_id ermitteln
            $query2 = "SELECT o_id FROM online " . "WHERE o_raum={$r_id} " . "AND o_user={$s_user} " . "AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= {$timeout} ";
            $result2 = mysql_query($query2, $conn);
            $rows2 = mysql_num_rows($result2);
            if ($rows2 > 0) {
                // User rauswerfen
                $o_id = mysql_result($result2, 0, "o_id");
                global_msg($u_id, $r_id, "'{$u_name}' {$t['sperre2']} '{$s_user_name}' {$t['sperre7']}");
                // 2 sek vor dem ausloggen warten, damit der Störer die Meldung auch noch lesen kann !!!
                sleep(2);
                verlasse_chat($s_user, $s_user_name, $r_id);
                sleep(2);
                logout($o_id, $s_user, "sperre in lobby");
            } else {
                system_msg("", 0, $u_id, $system_farbe, str_replace("%s_user_name%", $s_user_name, $t['sperre4']));
            }
        }
    }
}
Esempio n. 2
0
         $lobby_id = mysql_result($result2, 0, "r_id");
     }
     @mysql_free_result($result2);
     // Raum ist nicht Lobby -> Löschen
     if ($f['r_id'] == $lobby_id) {
         echo "<P>" . str_replace("%r_name%", $row->r_name, $t['fehler12']) . "</P>\n";
     } else {
         // Raum schließen
         $f['r_status1'] = "G";
         schreibe_db("raum", $f, $f['r_id'], "r_id");
         // Raum leeren
         $query = "SELECT o_user,o_name FROM online WHERE o_raum={$f['r_id']} ";
         $result2 = mysql_query($query, $conn);
         while ($row2 = mysql_fetch_object($result2)) {
             system_msg("", 0, $row2->o_user, $system_farbe, str_replace("%r_name%", $row->r_name, $t['fehler4']));
             $oo_raum = raum_gehe($o_id, $row2->o_user, $row2->o_name, $f['r_id'], $lobby_id, FALSE);
             raum_user($lobby_id, $row2->o_user, $id);
             $i++;
         }
         @mysql_free_result($result2);
         $query = "DELETE FROM raum WHERE r_id={$f['r_id']} ";
         $result2 = mysql_query($query, $conn);
         @mysql_free_result($result2);
         // Gesperrte Räume löschen
         $query = "DELETE FROM sperre WHERE s_raum={$f['r_id']}";
         $result2 = mysql_query($query, $conn);
         @mysql_free_result($result2);
         // ausgeben: raum wurde gelöscht.
         echo "<P>" . str_replace("%r_name%", $row->r_name, $t['fehler3']) . "</P>\n";
     }
 } else {
Esempio n. 3
0
    echo $stylesheet;
    ?>
</HEAD> <?php 
    echo $body_tag;
    // Timestamp im Datensatz aktualisieren
    aktualisiere_online($u_id, $o_raum);
    // Aktionen ausführen, falls nicht innerhalb der letzten 5
    // Minuten geprüft wurde (letzte Prüfung=o_aktion)
    if ($communityfeatures && time() > $o_aktion + 300) {
        aktion("Alle 5 Minuten", $u_id, $u_nick, $id);
    }
    // Wurde Raum r_id aus Formular übergeben? Falls ja Raum von $o_raum nach $r_id wechseln
    if (isset($r_id) && $o_raum != $r_id) {
        // Raum wechseln
        // Im Beichtstuhl-Modus dürfen Admins geschlossene Räume betreten
        $o_raum = raum_gehe($o_id, $u_id, $u_nick, $o_raum, $r_id, isset($beichtstuhl) ? $beichtstuhl : null);
        if ($o_raum == $r_id) {
            // User in Raum ausgeben
            raum_user($r_id, $u_id, $id);
        }
        // Falls Pull-Chat, chat-Fenster neu laden
        if ($backup_chat || $u_backup) {
            echo "<SCRIPT LANGUAGE=JavaScript>" . "chat_reload('chat.php?http_host={$http_host}&id={$id}')" . "</SCRIPT>\n";
        }
    }
    // Daten für Raum lesen
    $query = "SELECT raum.* FROM raum,online WHERE r_id=o_raum " . "AND o_id={$o_id} ORDER BY o_aktiv DESC";
    $result = mysql_query($query, $conn);
    if ($result && mysql_Num_Rows($result) != 0) {
        $row = mysql_fetch_object($result);
        $o_raum = $row->r_id;