Danke fürs Verlinken:
($time - $update_interval_in_seconds)) { echo(cms_cache("backlink.text")); return TRUE; }; //update file modification time //so other instances will use the cache //instead of trying to update, too cms_cache_touch("backlink.text"); //retrieve referers $query = "SELECT referer AS 'url', " . "COUNT(DISTINCT userid) AS 'count' " . "FROM cms_log_access " . "WHERE date>(CURDATE()-$time_frame_in_days) " . "AND referer!='none' " . "AND referer NOT LIKE '" . implode("' AND referer NOT LIKE '", sqlesc($exclusion_list)) . "' " . "GROUP BY url " . "ORDER BY count DESC " . "LIMIT 100"; $mysql = new mysql(); $result = mysql_query($query); $page = preg_quote(CMS_ROOT_URL, "/"); $buffer = ""; $i = 0; cms_load("html"); while ($resultrow = mysql_fetch_assoc($result)) { if ($i >= $number_of_backlinks) break; //limit reached $url = $resultrow["url"]; $count = $resultrow["count"]; //get external referer info $info = html_page_info($url); if ($info === FALSE) continue; //cannot read $title = $info["title"]; $flag = FALSE; $_i = 0; //check for inbound link reset($info["links"]); while (list(, $value) = each($info["links"])) { if ($_i++ >= $link_limit_per_page) break; //too many links $_url = $value["url"]; $text = $value["text"]; if ($flag = (bool)preg_match("/^$page/i", "$_url/")) break; }; if ($flag === FALSE) continue; //no inbound link $text = strabridge(htmltoplain($text), 80); $buffer .= "
" . (nstre($text) ? "\"" . x($text) . "\"
" : "") . "" . "" . x(strabridge($title)) . "" . "" . "" . "
"; $i++; }; //write cache cms_cache("backlink.text", "$buffer ", TRUE); //output echo($buffer); ?>