-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathlogs.php
384 lines (369 loc) · 19.2 KB
/
logs.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
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
<?php
// 09072004
/*
View faillogs and user mail
Find multi accounts and cheaters
by anpera
*/
require_once("common.php");
page_header("Logs und Mail");
if ($_GET[op]=="mail"){
if ($_GET[in]){
$ppp=25; // Player Per Page to display
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","logs.php?op=mail&in=$_GET[in]&limit=".($page-1)."");
}
$limit="".($page*$ppp).",".($ppp+1);
output("`qYe Olde Mail (".($_GET[limit]*$ppp)."-".($_GET[limit]*$ppp+$ppp).") -- Alle Mails: Inbox $_GET[in] `0`n`n");
$sql = "SELECT mail.*,accounts.login AS absender FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgfrom WHERE msgto=$_GET[in] ORDER BY sent DESC LIMIT $limit";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>$ppp) addnav("Nächste Seite","logs.php?op=mail&in=$_GET[in]&limit=".($page+1)."");
output("<table align='center'><tr><td>`bDatum`b</td><td>`bAbsender`b</td><td>`bBetreff`b</td></tr>",true);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr><td>$row[sent]</td><td>$row[absender]</td><td>$row[subject]</td></tr><tr><td colspan='3'>$row[body]</td></tr>",true);
output("<tr><td colspan='3'><hr></td></tr>",true);
}
output("</table>",true);
addnav("Zurück","logs.php?op=mail");
}else if ($_GET[out]){
$ppp=25; // Player Per Page to display
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","logs.php?op=mail&out=$_GET[in]&limit=".($page-1)."");
}
$limit="".($page*$ppp).",".($ppp+1);
output("`qYe Olde Mail (".($_GET[limit]*$ppp)."-".($_GET[limit]*$ppp+$ppp).") -- Alle Mails: Outbox $_GET[out] `0`n`n");
$sql = "SELECT mail.*,accounts.login AS empfaenger FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgto WHERE msgfrom=$_GET[out] ORDER BY sent DESC LIMIT $limit";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>$ppp) addnav("Nächste Seite","logs.php?op=mail&out=$_GET[out]&limit=".($page+1)."");
output("<table align='center'><tr><td>`bDatum`b</td><td>`bEmpfänger`b</td><td>`bBetreff`b</td></tr>",true);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr><td>$row[sent]</td><td>$row[empfaenger]</td><td>$row[subject]</td></tr><tr><td colspan='3'>$row[body]</td></tr>",true);
output("<tr><td colspan='3'><hr></td></tr>",true);
}
output("</table>",true);
addnav("Zurück","logs.php?op=mail");
}else{
if (!$_GET[subop]) $_GET[subop]="system";
$ppp=25; // Player Per Page to display
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","logs.php?op=mail&limit=".($page-1)."&subop=$_GET[subop]&order=$sort");
}
$limit="".($page*$ppp).",".($ppp+1);
$sort="sent";
if ($_GET[order]) $sort=$_GET[order];
output("`qYe Olde Mail (".($_GET[limit]*$ppp)."-".($_GET[limit]*$ppp+$ppp).") -- ".($_GET[subop]=="all"?"Private Mails":"Systemnachrichten")."`0`n`n");
//addnav($_GET[subop]=="system"?"Normale Nachrichten":"Systemnachrichten","logs.php?op=mail&subop=".($_GET[subop]=="system"?"all":"system")."&order=$_GET[order]&limit=$_GET[limit]"); // ist möglicherweise nicht erlaubt
$sql = "SELECT mail.*,accounts.login AS empfaenger FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgto WHERE ".($_GET[subop]=="system"?"msgfrom=0":"msgfrom<>0")." AND msgto<>0 ORDER BY $sort DESC LIMIT $limit";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>$ppp) addnav("Nächste Seite","logs.php?op=mail&limit=".($page+1)."&order=$sort&subop=$_GET[subop]");
output("<table align='center'><tr><td>`b<a href='logs.php?op=mail&limit=$page&order=sent&subop=$_GET[subop]'>Datum</a>`b</td><td>`b<a href='logs.php?op=mail&limit=$page&order=msgfrom&subop=$_GET[subop]'>Absender</a>`b</td><td>`b<a href='logs.php?op=mail&limit=$page&order=msgto&subop=$_GET[subop]'>Empfänger</a>`b</td><td>`bBetreff`b</td></tr>",true);
addnav("","logs.php?op=mail&limit=$page&order=sent&subop=$_GET[subop]");
addnav("","logs.php?op=mail&limit=$page&order=msgto&subop=$_GET[subop]");
addnav("","logs.php?op=mail&limit=$page&order=msgfrom&subop=$_GET[subop]");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$row2=db_fetch_assoc(db_query("SELECT acctid,login FROM accounts WHERE acctid=$row[msgfrom]"));
output("<tr><td>$row[sent]</td><td><a href='logs.php?op=mail&out=$row2[acctid]'>$row2[login]</a></td><td><a href='logs.php?op=mail&in=$row[msgto]'>$row[empfaenger]</a></td><td>$row[subject]</td></tr><tr><td colspan='4'>$row[body]</td></tr>",true);
output("<tr><td colspan='4'><hr></td></tr>",true);
addnav("","logs.php?op=mail&in=$row[msgto]");
addnav("","logs.php?op=mail&out=$row2[acctid]");
}
output("</table>",true);
addnav("Zurück","logs.php");
output("`n`iUm das Postfach eines Spielers zu sehen, auf seinen Namen unter \"Empfänger\" klicken.`nUm zu sehen, was ein Spieler gesendet hat, auf seinen Namen unter \"Absender\" klicken.`i");
}
}else if ($_GET[op]=="faillog"){
if ($_GET[id]){
$ppp=25; // Player Per Page to display
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","logs.php?op=faillog&id=$_GET[id]&limit=".($page-1)."&order=$sort&pw=$_GET[pw]");
}
$limit="".($page*$ppp).",".($ppp+1);
$sort="date";
if ($_GET[order]) $sort=$_GET[order];
$sql = "SELECT * FROM faillog WHERE acctid=$_GET[id] ORDER BY $sort DESC LIMIT $limit";
$result = db_query($sql) or die(db_error(LINK));
output("Fehlgeschlagene Logins (".($_GET[limit]*$ppp)."-".($_GET[limit]*$ppp+$ppp).") für ID $_GET[id]`n`n");
if (db_num_rows($result)>$ppp) addnav("Nächste Seite","logs.php?op=faillog&id=$_GET[id]&limit=".($page+1)."&order=$sort&pw=$_GET[pw]");
output("<table align='center'><tr><td>`b<a href='logs.php?op=faillog&id=$_GET[id]&limit=$page&order=date'>Datum</a>`b</td><td>`b<a href='logs.php?op=faillog&id=$_GET[id]&limit=$page&order=ip'>IP</a>`b</td>".($_GET[pw]?"<td>`bfalsches PW`b</td>":"")."</tr>",true);
addnav("","logs.php?op=faillog&id=$_GET[id]&limit=$page&order=date");
addnav("","logs.php?op=faillog&id=$_GET[id]&limit=$page&order=ip");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
if ($_GET[pw] && $session[user][superuser]>=3) $row[post]=unserialize($row[post]);
output("<tr><td>$row[date]</td><td>$row[ip]</td>".($_GET[pw]?"<td>".$row[post][password]."</td>":"")."</tr>",true);
}
addnav("Zurück","logs.php?op=faillog&order=$_GET[order]");
output("</table>",true);
if ($session[user][superuser]>=3) addnav("PWs ".($_GET[pw]?"ausblenden":"einblenden")."","logs.php?op=faillog&id=$_GET[id]".($_GET[pw]?"":"&pw=true")."&order=$_GET[order]&limit=$_GET[limit]");
if ($_GET[pw] && $i>=3) output("`n`iDie Anzeige der falsch eingegebenen Passwörter dient dazu, um festzustellen, wo Passwörter geraten werden und wo nur ein Tippfehler vorliegt.`i");
}else if ($_GET[ip]){
$ppp=25; // Player Per Page to display
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","logs.php?op=faillog&ip=$_GET[ip]&limit=".($page-1)."&pw=$_GET[pw]");
}
$limit="".($page*$ppp).",".($ppp+1);
$sql = "SELECT faillog.*,accounts.name AS absender FROM faillog LEFT JOIN accounts ON accounts.acctid=faillog.acctid WHERE ip='$_GET[ip]' ORDER BY date DESC LIMIT $limit";
$result = db_query($sql) or die(db_error(LINK));
output("Fehlgeschlagene Logins (".($_GET[limit]*$ppp)."-".($_GET[limit]*$ppp+$ppp).") von IP $_GET[ip]`n`n");
if (db_num_rows($result)>$ppp) addnav("Nächste Seite","logs.php?op=faillog&ip=$_GET[ip]&limit=".($page+1)."&pw=$_GET[pw]");
output("<table align='center'><tr><td>`bDatum`b</td><td>`bName`b</td>".($_GET[pw]?"<td>`bfalsches PW`b</td>":"")."</tr>",true);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
if ($_GET[pw] && $session[user][superuser]>=3) $row[post]=unserialize($row[post]);
output("<tr><td>$row[date]</td><td>$row[absender]</td>".($_GET[pw]?"<td>".$row[post][password]."</td>":"")."</tr>",true);
}
addnav("Zurück","logs.php?op=faillog&order=$_GET[order]");
output("</table>",true);
if ($session[user][superuser]>=3) addnav("PWs ".($_GET[pw]?"ausblenden":"einblenden")."","logs.php?op=faillog&ip=$_GET[ip]".($_GET[pw]?"":"&pw=true")."&order=$_GET[order]&limit=$_GET[limit]");
if ($_GET[pw] && $i>=3) output("`n`iDie Anzeige der falsch eingegebenen Passwörter dient dazu, um festzustellen, wo Passwörter geraten werden und wo nur ein Tippfehler vorliegt.`i");
}else{
$ppp=25; // Player Per Page to display
output("Fehlgeschlagene Logins (".($_GET[limit]*$ppp)."-".($_GET[limit]*$ppp+$ppp).")`n`iSpielername oder IP anklicken, um alle Fehlversuche anzuzeigen.`i`n`n");
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","logs.php?op=faillog&limit=".($page-1)."&order=$sort");
}
$limit="".($page*$ppp).",".($ppp+1);
$sort="date";
if ($_GET[order]) $sort=$_GET[order];
$sql = "SELECT faillog.*,accounts.name AS absender FROM faillog LEFT JOIN accounts ON accounts.acctid=faillog.acctid WHERE 1 ORDER BY $sort DESC LIMIT $limit";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>$ppp) addnav("Nächste Seite","logs.php?op=faillog&limit=".($page+1)."&order=$sort");
output("<table align='center'><tr><td>`b<a href='logs.php?op=faillog&limit=$page&order=date'>Datum</a>`b</td><td>`b<a href='logs.php?op=faillog&limit=$page&order=acctid'>Acctid</a>`b</td><td>`bName`b</td><td>`b<a href='logs.php?op=faillog&limit=$page&order=ip'>IP</a>`b</td></tr>",true);
addnav("","logs.php?op=faillog&limit=$page&order=date");
addnav("","logs.php?op=faillog&limit=$page&order=acctid");
addnav("","logs.php?op=faillog&limit=$page&order=ip");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr><td>$row[date]</td><td>$row[acctid]</td><td><a href='logs.php?op=faillog&id=$row[acctid]&order=$sort'>$row[absender]</a></td><td><a href='logs.php?op=faillog&ip=$row[ip]&order=$sort'>$row[ip]</a></td></tr>",true);
addnav("","logs.php?op=faillog&id=$row[acctid]&order=$sort");
addnav("","logs.php?op=faillog&ip=$row[ip]&order=$sort");
}
output("</table>",true);
addnav("Zurück","logs.php");
}
} elseif ($_GET['op']=='multi') {
if (!empty($_POST['setupban']) && count($_POST['userid'])>0) {
output("<form action='logs.php?op=multi&act=saveban&searchby=$_GET[searchby]' method='POST'>",true);
if ($_POST['setupban']=='IPs bannen') {
$sql = 'SELECT lastip FROM accounts WHERE acctid IN ("'.implode('","',$_POST['userid']).'") GROUP BY lastip';
$result = db_query($sql);
$ips = array();
while ($row = db_fetch_assoc($result)) $ips[] = $row['lastip'];
output('Sperre für die IP '.implode(', ',$ips).'`n');
output('<input type="hidden" name="type" value="ip"><input type="hidden" name="ip" value="'.implode('|',$ips).'">',true);
}
else {
$sql = 'SELECT uniqueid FROM accounts WHERE acctid IN ("'.implode('","',$_POST['userid']).'") GROUP BY uniqueid';
$result = db_query($sql);
$ids = array();
while ($row = db_fetch_assoc($result)) $ids[] = $row['uniqueid'];
output('Sperre für die ID '.implode(', ',$ids).'`n');
output('<input type="hidden" name="type" value="id"><input type="hidden" name="id" value="'.implode('|',$ids).'">',true);
}
output("Dauer: <input name='duration' id='duration' size='3' value='14'> days (0 for permanent)`n",true);
output("Grund für die Verbannung: <input name='reason' value=\"Ärger mich nicht.\">`n",true);
output("<input type='submit' class='button' value='Post Ban' onClick='if (document.getElementById(\"duration\").value==0) {return confirm(\"Willst du wirklich eine permanente Verbannung aussprechen?\");} else {return true;}'></form>",true);
addnav("","logs.php?op=multi&act=saveban&searchby=$_GET[searchby]");
}
elseif ($_GET['act']=='saveban') {
if ($_POST['type']=='ip') $vals = explode('|',$_POST['ip']);
else $vals = explode('|',$_POST['id']);
foreach ($vals AS $this) {
$sql = "INSERT INTO bans (";
if ($_POST[type]=="ip"){
$sql.="ipfilter";
}else{
$sql.="uniqueid";
}
$sql.=",banexpire,banreason) VALUES (";
$sql.="\"$this\"";
$sql.=",\"".((int)$_POST[duration]==0?"0000-00-00":date("Y-m-d",strtotime("+$_POST[duration] days")))."\",";
$sql.="\"$_POST[reason]\")";
if ($_POST[type]=="ip"){
if (substr($_SERVER['REMOTE_ADDR'],0,strlen($this)) == $this){
$sql = "";
output("Du willst dich doch nicht wirklich selbst verbannen, oder?? Das ist deine eigene IP-Adresse!");
}
}else{
if ($_COOKIE[lgi]==$this){
$sql = "";
output("Du willst dich doch nicht wirklich selbst verbannen, oder?? Das ist deine eigene ID!");
}
}
if ($sql!=""){
db_query($sql) or die(db_error(LINK));
output(db_affected_rows()." Bann eingetragen.`n`n");
output(db_error(LINK));
}
}
output('`n');
}
elseif (!empty($_POST['deleteuser']) && count($_POST['userid'])>0) {
$sql = "SELECT name FROM accounts WHERE acctid IN (".implode(',',$_POST['userid']).")";
$result = db_query($sql) or die(sql_error($sql));
$delnames = array();
while ($row = db_fetch_assoc($result)) {
$delnames[] = '`$'.$row['name'].'`0';
}
output('User '.implode(', ',$delnames).' aus folgendem Grund löschen: ');
output("<form action='logs.php?op=multi&act=dodeleteuser&searchby=$_GET[searchby]&userid=".implode(',',$_POST['userid'])."' method='POST'>",true);
output('Begründung auswählen: ');
output('<select name="stdreason" size="1">',true);
output('<option value="0">--- keine Begründung angeben ---</option>',true);
$sql = 'SELECT reasonid, reason FROM deluser_reasons';
$result = db_query($sql);
while ($row = db_fetch_assoc($result)) {
if (strlen($row['reason'])>50) $row['reason'] = substr($row['reason'],0,47).'...';
output('<option value="'.$row['reasonid'].'">'.htmlentities($row['reason']).'</option>',true);
}
output('</select>',true);
output(' `n`ioder`i eingeben: ');
output('<input type="Text" name="reason" value="" maxlength="255" size="50" /> ',true);
output('<input type="Checkbox" name="savereason" value="1">',true);
output('Begründung speichern`n');
output('</option>',true);
output('<input type="Submit" value="löschen">',true);
output('</form>',true);
addnav('','logs.php?op=multi&act=dodeleteuser&searchby='.$_GET['searchby'].'&userid='.implode(',',$_POST['userid']));
}
elseif ($_GET['act']=='dodeleteuser') {
$userid = explode(',',$_GET['userid']);
foreach ($userid AS $this) {
deleteuser($this,$_POST['stdreason'],$_POST['reason'],$_POST['savereason']);
}
output('`n');
}
else output('`n');
$in_ip = $in_id = '';
if ($_GET['searchby']!='id') {
$sql = 'SELECT lastip FROM accounts WHERE lastip!="" GROUP BY lastip HAVING COUNT(*) > 1';
$result = db_query($sql) or die(db_error(LINK));
while ($row = db_fetch_assoc($result)) {
$in_ip .= ',"'.$row['lastip'].'"';
}
}
if ($_GET['searchby']!='ip') {
$sql = 'SELECT uniqueid FROM accounts WHERE uniqueid!="" GROUP BY uniqueid HAVING COUNT(*) > 1';
$result = db_query($sql) or die(db_error(LINK));
while ($row = db_fetch_assoc($result)) {
$in_id .= ',"'.$row['uniqueid'].'"';
}
}
$ip = $id = $users = array();
$sql = 'SELECT acctid,name,lastip,uniqueid,dragonkills,level FROM accounts WHERE (lastip IN (-1'.$in_ip.') OR uniqueid IN (-1'.$in_id.')) AND locked="0" ORDER BY dragonkills ASC, level ASC';
$result = db_query($sql) or die(db_error(LINK));
while ($row = db_fetch_assoc($result)) {
if ((!isset($id[$row['uniqueid']]) || $_GET['searchby']=='ip') && (!isset($ip[$row['lastip']]) || $_GET['searchby']=='id')) {
if ($_GET['searchby']!='id') $ip[$row['lastip']] = count($users);
if ($_GET['searchby']!='ip') $id[$row['uniqueid']] = count($users);
$users[] = array($row);
}
elseif (isset($id[$row['uniqueid']])) {
$ip[$row['lastip']] = $id[$row['uniqueid']];
$users[$id[$row['uniqueid']]][] = $row;
}
else {
$id[$row['uniqueid']] = $ip[$row['lastip']];
$users[$ip[$row['lastip']]][] = $row;
}
}
output('`n`bMultiaccounts`b`nNaaa, wer spielt denn hier noch wen?`n`n');
output('Multiaccounts suchen nach: ');
if ($_GET['searchby']!='ip') {
output('<a href="logs.php?op=multi&searchby=ip">IP</a> ',true);
addnav('','logs.php?op=multi&searchby=ip');
}
else output('`&`bIP`b`0 ');
if ($_GET['searchby']!='id') {
output('<a href="logs.php?op=multi&searchby=id">ID</a> ',true);
addnav('','logs.php?op=multi&searchby=id');
}
else output('`&`bID`b`0 ');
if (!empty($_GET['searchby'])) {
output('<a href="logs.php?op=multi&searchby=">Beidem</a> ',true);
addnav('','logs.php?op=multi&searchby=');
}
else output('`&`bBeidem`b`0 ');
output('<table><tr><td>',true);
foreach ($users AS $list) {
if (count($list)<3) continue;
$tmpstr = '';
$ips = $ids = $accts = array();
foreach ($list AS $this) {
$tmpstr .= ('<tr><td><input type="checkbox" name="userid[]" value="'.$this['acctid'].'"></td>
<td>'.$this['name'].'</td>
<td>'.$this['lastip'].'</td>
<td>'.$this['uniqueid'].'</td>
<td>'.$this['dragonkills'].'</td>
<td>'.$this['level'].'</td></tr>');
}
output('<form action="logs.php?op=multi&searchby='.$_GET['searchby'].'" method="post">',true);
addnav('','logs.php?op=multi&searchby='.$_GET['searchby']);
output("<table align='center' class='input' width='100%'><tr><td> </td>
<td>`bName`b</td>
<td>`bIP`b</td>
<td>`bID`b</td>
<td>`bDK`b</td>
<td>`bLevel`b</td>
</tr>",true);
output($tmpstr,true);
output('<tr><td colspan="6" align="left">
<input type="submit" name="deleteuser" value="löschen">
<input type="submit" name="setupban" value="IPs bannen">
<input type="submit" name="setupban" value="IDs bannen">
</td></tr>',true);
output('</table>`n`n',true);
output('</form>',true);
}
output('</td></tr></table>',true);
addnav('Aktualisieren','logs.php?op=multi&searchby='.$_GET['searchby']);
addnav('Zurück','logs.php');
}else{
output("Die 5 letzten fehlgeschlagenen Logins:`n`n");
$sql = "SELECT faillog.*,accounts.name AS absender FROM faillog LEFT JOIN accounts ON accounts.acctid=faillog.acctid WHERE 1 ORDER BY date DESC LIMIT 5";
$result = db_query($sql) or die(db_error(LINK));
output("<table align='center'><tr><td>`bDatum`b</td><td>`bAcctid`b</td><td>`bName`b</td><td>`bIP`b</td></tr>",true);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr><td>$row[date]</td><td>$row[acctid]</td><td>$row[absender]</td><td>$row[ip]</td></tr>",true);
}
output("</table>`n`nDie 5 letzten Systemmails:`n`n",true);
$sql = "SELECT mail.*,accounts.name AS empfaenger FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgto WHERE msgfrom=0 ORDER BY sent DESC LIMIT 5";
$result = db_query($sql) or die(db_error(LINK));
output("<table align='center'><tr><td>`bDatum`b</td><td>`bEmpfänger`b</td><td>`bBetreff`b</td></tr>",true);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr><td>$row[sent]</td><td>$row[empfaenger]</td><td>$row[subject]</td></tr>",true);
}
output("</table>`n",true);
addnav("Faillog","logs.php?op=faillog");
addnav("Usermails","logs.php?op=mail");
addnav("Multiaccounts","logs.php?op=multi");
addnav("Aktualisieren","logs.php");
}
addnav("Zurück zur Grotte","superuser.php");
addnav("Zurück zum Weltlichen","village.php");
output("`n<div align='right'>`)2004 by anpera & Chaosmaker</div>",true);
page_footer();
?>