%PDF- %PDF-
Direktori : /www/varak.net/www.varak.net/sig/ |
Current File : /www/varak.net/www.varak.net/sig/ref.php |
<? include("_db.php"); include("_armory.php"); logReferer("RefererTracking"); $db = getDBCacheConnection(); ?> <script src="static/sorttable.js"></script> <style> body, th, td { font-family: helvetica; font-size: 9pt; } a { text-decoration: none; } a:visited { color: #aaa; } </style> <form> <select name="app"> <option value="">-- All --</option> <? $sql = "select distinct app from referrer_log order by app asc"; $result = mysql_query($sql, $db); while($row = mysql_fetch_array($result)) { echo "<option>$row[app]</option>\n"; } ?> </select><br /> Filter: <input type="text" name="filter" /><input type="text" name="title_filter" /><br /> Minimum hits: <input type="text" name="minhits" /><br /> <input type="checkbox" name="nobad" checked /> Try to filter<br /> <input type="checkbox" name="compact" /> Compact (prevents title lookup)<br /> <input type="checkbox" name="exlude_engine" /> Exclude sig engine<br /> <input type="checkbox" name="order_created" /> Order by created_at<br /> <input type="submit" /> </form> <? $conditions = array("referrer_url not like '%/friends%' and referrer_url not like '%guildportal%'"); if(@$_REQUEST["app"]) { $app = mysql_real_escape_string($_REQUEST["app"]); $conditions[] = "app = '$app'"; } if(@$_REQUEST["filter"]) { $refurl = mysql_real_escape_string($_REQUEST["filter"]); $conditions[] = "referrer_url like '%$refurl%'"; } if(@$_REQUEST["title_filter"]) { $refurl = mysql_real_escape_string($_REQUEST["title_filter"]); $conditions[] = "page_title like '%$refurl%'"; } if(@$_REQUEST["nobad"]) { $conditions[] = "page_title not like '%Log%in%'"; } if(@$_REQUEST["minhits"]) { $hits = (int)$_REQUEST["minhits"]; $conditions[] = "hits >= $hits"; } if(@$_REQUEST["exlude_engine"]) { $conditions[] = "app != 'SigEngine'"; } $where = ""; if(sizeof($conditions) > 0) $where = "where " . join(" and ", $conditions); $CURRENT_PAGE = @$_REQUEST["page"]; $ct = mysql_fetch_row(mysql_query("select count(*), sum(hits) from referrer_log $where", $db)); for($i=1; $i<=ceil($ct[0]/100); $i++) { @$_REQUEST["page"] = $i; $vars = array(); foreach($_REQUEST as $key=>$val) { $vars[] = "$key=$val"; } $v = join("&", $vars); echo "<a href='?$v'>$i</a> "; } echo "<br />$ct[1] total"; ?> <table border="1" style="border-collapse: collapse" cellpadding="6"> <tr class="sorthead"> <th>Link</th> <th>Hits</th> <th>First Seen</th> <th>App</th> <th>Page Title</th> </tr> <? $skip = 0; if(@$CURRENT_PAGE) { $skip = ((int)$CURRENT_PAGE - 1) * 100; } $g = ""; if(@$_REQUEST["compact"]) $g = "group by page_title"; $order = "updated_at"; if(@$_REQUEST["order_created"]) $order = "created_at"; $sql = "select * from referrer_log $where $g order by $order desc limit $skip, 100"; $result = mysql_query($sql, $db); $thits = 0; while($row = mysql_fetch_array($result)) { $row = logTitle($db, $row); ?> <tr><td> <a href="<?=$row["referrer_url"]?>"><?=strlen($row["referrer_url"]) > 70 ? (substr($row["referrer_url"], 0, 40) . "..." . substr($row["referrer_url"], strlen($row["referrer_url"])-30, 30)) : $row["referrer_url"]?></a> </td><td><?=$row["hits"]?></td><td><?=$row["created_at"]?></td><td><?=$row["app"]?></td><td><a href="<?=$row["referrer_url"]?>"><?=stripslashes($row["page_title"])?></a></td></tr> <? $thits += $row["hits"]; } ?> </table> Total hits: <?=$thits?> <? function logTitle($db, $row) { if($row["page_title"]) return $row; $t = mysql_real_escape_string(getPageTitle($row["referrer_url"])); $row["page_title"] = $t; $sql = "update referrer_log set page_title = '$t' where id = '$row[id]'"; mysql_query($sql, $db); return $row; } function getPageTitle($url) { $u = @file_get_contents($url); preg_match("/<title>(.*?)<\/title>/i", $u, $matches); $m = $matches[1]; if(!$m) $m = "(no title)"; return $m; } ?>