-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathreferers.php
77 lines (72 loc) · 3.09 KB
/
referers.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
<?php
// 15082004
require_once "common.php";
isnewday(2);
$sql = "DELETE FROM referers WHERE last<'".date("Y-m-d H:i:s",strtotime(date ("r")."-".getsetting("expirecontent",180)." days"))."'";
db_query($sql);
if ($_GET['op']=="rebuild"){
$sql = "SELECT * FROM referers";
$result = db_query($sql);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$site = str_replace("http://","",$row['uri']);
if (strpos($site,"/")) $site = substr($site,0,strpos($site,"/"));
$sql = "UPDATE referers SET site='".addslashes($site)."' WHERE refererid='{$row['refererid']}'";
db_query($sql);
}
}
addnav("G?Zurück zur Grotte","superuser.php");
addnav("W?Zurück zum Weltlichen","village.php");
addnav("Referer Optionen");
addnav("",$_SERVER['REQUEST_URI']);
addnav("Aktualisieren","referers.php?sort=".URLEncode($_GET['sort'])."");
addnav("a?Nach Anzahl sortieren","referers.php?sort=count".($_GET['sort']=="count DESC"?"":"+DESC"));
addnav("U?Nach URL sortieren","referers.php?sort=uri".($_GET['sort']=="uri"?"+DESC":""));
addnav("Z?Nach Zeit sortieren","referers.php?sort=last".($_GET['sort']=="last DESC"?"":"+DESC"));
addnav("Neu aufbauen","referers.php?op=rebuild");
page_header("Referers");
$order = "count DESC";
if ($_GET['sort']!="") $order=$_GET['sort'];
$sql = "SELECT SUM(count) AS count, MAX(last) AS last,site FROM referers GROUP BY site ORDER BY $order";
output("<table><tr><td>Anzahl</td><td>Zuletzt</td><td>URL</td></tr>",true);
$result = db_query($sql);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr class='trdark'><td valign='top'>`b",true);
output($row['count']);
output("`b</td><td valign='top'>`b",true);
$diffsecs = strtotime(date("r"))-strtotime($row['last']);
output((int)($diffsecs/86400)."d ".(int)($diffsecs/3600%3600)."h ".(int)($diffsecs/60%60)."m ".(int)($diffsecs%60)."s");
output("`b</td><td>`b".HTMLEntities($row['site']==""?"`iKeine`i":$row['site'])."`b</td></tr>",true);
$sql = "SELECT count,last,uri FROM referers WHERE site='".addslashes($row['site'])."' ORDER BY {$order}";
$result1 = db_query($sql);
$skippedcount=0;
$skippedtotal=0;
for ($k=0;$k<db_num_rows($result1);$k++){
$row1=db_fetch_assoc($result1);
$diffsecs = strtotime(date("r"))-strtotime($row1['last']);
if ($diffsecs<=604800){
output("<tr class='trlight'><td>",true);
output($row1['count']);
output("</td><td valign='top'>",true);
//output((int)($diffsecs/86400)."d".(int)($diffsecs/3600%3600)."h".(int)($diffsecs/60%60)."m".(int)($diffsecs%60)."s");
output(dhms($diffsecs));
output("</td><td valign='top'>",true);
if ($row1['uri']>"")
output("<a href='".HTMLEntities($row1['uri'])."' target='_blank'>".HTMLEntities(substr($row1['uri'],0,150))."</a>`n",true);
else
output("`i`bKeine`b`i`n");
output("</td></tr>",true);
}else{
$skippedcount++;
$skippedtotal+=$row1['count'];
}
}
if ($skippedcount>0){
output("<tr class='trlight'><td>$skippedtotal</td><td valign='top' colspan='2'>`i$übersprungene Aufzeichnungen (über eine Woche alt)`i</td></tr>",true);
}
//output("</td></tr>",true);
}
output("</table>",true);
page_footer();
?>