-
Notifications
You must be signed in to change notification settings - Fork 3
/
interaktiv.php
238 lines (199 loc) · 8.33 KB
/
interaktiv.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
<?php
// interaktiv.php muss mit id=$hash_id aufgerufen werden
require("functions.php");
// Vergleicht Hash-Wert mit IP und liefert u_id, u_name, o_id, o_raum, admin
id_lese($id);
$body_tag = "<HTML><HEAD></HEAD><BODY BGCOLOR=\"$farbe_chat_background3\" ";
if (strlen($grafik_background3) > 0) {
$body_tag = $body_tag . "BACKGROUND=\"$grafik_background3\" ";
}
$body_tag = $body_tag . "TEXT=\"$farbe_chat_text3\" "
. "LINK=\"$farbe_chat_link3\" " . "VLINK=\"$farbe_chat_vlink3\" "
. "ALINK=\"$farbe_chat_vlink3\">\n";
// Prüfung, ob User wegen Inaktivität ausgelogt werden soll
if ($u_id && $chat_timeout && $u_level != 'S' && $u_level != 'C'
&& $u_level != 'M' && $o_timeout_zeit) {
if ($o_timeout_warnung == "J" && $chat_timeout < (time() - $o_timeout_zeit)) {
// User ausloggen
$zusatzjavascript = "<SCRIPT>\n"
. "window.open(\"hilfe.php?http_host=$http_host&id=$id&aktion=logout\",'Logout',\"resizable=yes,scrollbars=yes,width=300,height=300\")\n"
. "</SCRIPT>\n";
require_once("functions.php-func-verlasse_chat.php");
verlasse_chat($u_id, $u_nick, $o_raum);
logout($o_id, $u_id, "interaktiv->timeout");
unset($u_id);
unset($o_id);
} elseif ($o_timeout_warnung != "J"
&& (($chat_timeout / 4) * 3) < (time() - $o_timeout_zeit)) {
// Warnung über bevorstehenden Logout ausgeben
system_msg("", 0, $u_id, $system_farbe,
str_replace("%zeit%", $chat_timeout / 60, $t['chat_msg101']));
unset($f);
$f['o_timeout_warnung'] = "J";
schreibe_db("online", $f, $o_id, "o_id");
}
} else {
$zusatzjavascript = "";
}
if (isset($u_id) && $u_id) {
?>
<HTML><HEAD><TITLE><?php echo $body_titel; ?></TITLE><META CHARSET=UTF-8>
<META HTTP-EQUIV="REFRESH" CONTENT="<?php echo intval($timeout / 3)
. "; URL=interaktiv.php?http_host=$http_host&id=$id&o_raum_alt=$o_raum";
?>">
<SCRIPT>
function chat_reload(file) {
parent.chat.location.href=file;
}
function frame_online_reload(file) {
parent.frame_online.location.href=file;
}
</SCRIPT>
<?php 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;
}
mysql_free_result($result);
if (!isset($o_raum_alt))
$o_raum_alt = -9;
// Optional via JavaScript den oberen Werbeframe mit dem Werbeframe des Raums neu laden
if ($erweitertefeatures && $o_js && $o_raum_alt != $o_raum) {
if (isset($row->r_werbung) && strlen($row->r_werbung) > 7) {
echo "<SCRIPT>\n"
. "frame_online_reload('$row->r_werbung?http_host=$http_host');\n</SCRIPT>\n";
} elseif (isset($frame_online) && $frame_online != "") {
echo "<SCRIPT>\n"
. "frame_online_reload('$frame_online?http_host=$http_host');\n</SCRIPT>\n";
}
}
// Menue Ausgeben:
echo "<FORM ACTION=\"" . $chat_url
. "interaktiv.php\" NAME=form1 METHOD=POST>\n";
echo "<TABLE BORDER=0 CELLSPACING=3 CELLPADDING=0 HEIGHT=100%>\n";
// Benutzer-Menue
// Anzahl der User insgesamt feststellen
$query = "SELECT count(o_id) as anzahl FROM online "
. "WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= $timeout";
$result = mysql_query($query, $conn);
if ($result && mysql_Num_Rows($result) != 0) {
$anzahl_gesamt = mysql_result($result, 0, "anzahl");
mysql_free_result($result);
}
// Anzahl der User in diesem Raum feststellen
$query = "SELECT count(o_id) as anzahl FROM online "
. "WHERE o_raum=$o_raum AND "
. "(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(o_aktiv)) <= $timeout";
$result = mysql_query($query, $conn);
if ($result && mysql_Num_Rows($result) != 0) {
$anzahl_raum = mysql_result($result, 0, "anzahl");
mysql_free_result($result);
}
if ($u_level != "M") {
echo "<TR><TD> </TD><TD>";
} else {
echo "<TR><TD>";
}
echo $f1;
if ($anzahl_raum == 1) {
$txt = str_replace("%anzahl_raum%", $anzahl_raum, $t['sonst2']);
if (!isset($chattext['chatter'])) {
$txt = str_replace("%chatter%", $t['sonst5'], $txt);
$txt = str_replace("%einzahl%", $t['sonst7'], $txt);
} else {
$txt = str_replace("%chatter%", $chattext['chatter'], $txt);
$txt = str_replace("%einzahl%", $chattext['einzahl'], $txt);
}
} else {
$txt = str_replace("%anzahl_raum%", $anzahl_raum, $t['sonst3']);
if (!isset($chattext['chattern'])) {
$txt = str_replace("%chattern%", $t['sonst6'], $txt);
} else {
$txt = str_replace("%chattern%", $chattext['chattern'], $txt);
}
}
if (!(($u_level == 'U' || $level == 'G')
&& (isset($useronline_anzeige_deaktivieren)
&& $useronline_anzeige_deaktivieren == "1"))) {
echo " " . str_replace("%anzahl_gesamt%", $anzahl_gesamt, $txt) . $f2
. "</TD>";
}
if ($u_level != "M") {
echo "</TD><TD></TD><TD>";
} else {
echo "</TD></TR><TR><TD>";
}
// Special: Bei nur einem Raum kein Auswahl
$query = "SELECT count(*) as zahl FROM raum";
$result = mysql_query($query);
$a = mysql_fetch_array($result);
$zahl = $a['zahl'];
if (($u_level == "U" || $u_level == "G") && ($single_room_verhalten == "1"))
$zahl = 0;
if ($zahl > 1) {
echo $f3
. " $t[sonst4]<br> <NOBR><SELECT NAME=\"r_id\"\" onChange=\"document.form1.submit()\">\n";
// Admin sehen alle Räume, andere User nur die offenen
if ($admin) {
raeume_auswahl($o_raum, TRUE, TRUE);
} else {
raeume_auswahl($o_raum, FALSE, TRUE);
}
echo "</SELECT>" . "<INPUT TYPE=\"HIDDEN\" NAME=\"id\" VALUE=\"$id\">"
. "<INPUT TYPE=\"HIDDEN\" NAME=\"o_raum_alt\" VALUE=\"$o_raum\">"
. "<INPUT TYPE=\"HIDDEN\" NAME=\"http_host\" VALUE=\"$http_host\">\n"
. "<INPUT TYPE=\"HIDDEN\" NAME=\"neuer_raum\" VALUE=\"1\">";
if ($u_level != "M") {
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"raum_submit\" VALUE=\"Go!\"> </NOBR>"
. $f4 . "</TD>\n";
} else {
echo "<BR> "
. "<INPUT TYPE=\"SUBMIT\" NAME=\"raum_submit\" VALUE=\"Go!\"> </NOBR>"
. $f4 . "</TD>\n" . "</tr><tr>";
}
}
echo "<TD>\n";
// Werbung ausgeben
if ($u_level != "M") {
werbung('interaktiv', $werbung_gruppe);
}
echo "</TD></TR>\n" . "</TABLE></FORM>\n";
echo "</BODY></HTML>\n";
} else {
// User wird nicht gefunden. Login ausgeben
echo "<HTML><HEAD>$zusatzjavascript</HEAD>"
. "<BODY onLoad='javascript:parent.location.href=\"index.php?http_host=$http_host\"'>\n"
. "</BODY></HTML>\n";
exit;
}
?>