Beispiel #1
0
function unique_table($_cols, $_truncate, $_where_clause = "", $_filters = array())
{
    $config =& SlimStatConfig::get_instance();
    $thead = array("first" => array(isset($config->i18n->fields[$_cols["display"]]) ? $config->i18n->fields[$_cols["display"]] : $_cols["display"]), "last" => array("&nbsp", $config->i18n->hits, $config->i18n->since));
    $tbody = array();
    $results = SlimStat::get_unique_data($_cols, $_where_clause, $_cols["display"], $_filters);
    foreach ($results as $result) {
        $display_value = $result[$_cols["display"]];
        if (isset($config->i18n->name_lookups[$_cols["display"]])) {
            if (is_array($config->i18n->name_lookups[$_cols["display"]]) && isset($config->i18n->name_lookups[$_cols["display"]][$display_value])) {
                $display_value = $config->i18n->name_lookups[$_cols["display"]][$display_value];
            } elseif (is_string($config->i18n->name_lookups[$_cols["display"]])) {
                $display_value = eval(str_replace("VALUE", $display_value, $config->i18n->name_lookups[$_cols["display"]]));
            }
        }
        $row = array("first" => array(), "last" => array());
        $str = "<a href=\"?filter_" . $_cols["display"] . "=" . urlencode($result[$_cols["display"]]);
        $str .= "\" title=\"" . $config->i18n->link_title("details_filtered", "FIELD", strtolower($config->i18n->fields[$_cols["display"]])) . "\">";
        $str .= SlimStat::truncate($display_value, $_truncate - (int) (SlimStat::strlen($config->i18n->hits) + SlimStat::strlen($config->i18n->since))) . "</a>";
        $row["first"][] = $str;
        $str = "<a href=\"" . $result[$_cols["href"]] . "\" class=\"external\" rel=\"nofollow\"";
        $str .= " title=\"" . $config->i18n->link_title("external", "FIELD", strtolower($config->i18n->fields[$_cols["href"]])) . "\">";
        $str .= "<img src=\"external.gif\" width=\"9\" height=\"9\" alt=\"\" /></a>";
        $row["last"][] = $str;
        /*$str = "<a href=\"".$result[$_cols["href"]]."\" class=\"external\" rel=\"nofollow\"";
        		$str .= " title=\"".$config->i18n->fields[ $_cols["title"] ].": ".htmlentities( $result[$_cols["title"]] )."\">";
        		$str .= SlimStat::truncate( $display_value, $config->truncate - 6 )."</a>";
        		$row["first"][] = $str;*/
        $row["last"][] = $result["hits"];
        $row["last"][] = $config->i18n->time_label($result["mindt"], time());
        $tbody[] = $row;
    }
    return SlimStat::render_table($thead, $tbody);
}
Beispiel #2
0
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */
ob_start("ob_gzhandler");
include_once realpath(dirname(__FILE__)) . "/_config.php";
include_once realpath(dirname(__FILE__)) . "/_functions.php";
$config =& SlimStatConfig::get_instance();
SlimStat::connect();
$recent_threshold = time() - $config->week;
header("Content-Type: application/xml");
print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"" . "?" . ">\n";
print "<rss version=\"2.0\">\n";
if (array_key_exists("QUERY_STRING", $_SERVER)) {
    if (array_key_exists($_SERVER["QUERY_STRING"], $config->i18n->fields)) {
        $field = $_SERVER["QUERY_STRING"];
        $results = SlimStat::get_unique_data(array("field" => $field), "dt > " . $recent_threshold, $field, array());
        print "<channel>\n";
        print "<title>SlimStat: " . $config->i18n->fields[$field] . " feed for " . $config->sitename . "</title>\n";
        print "<link>http://" . $_SERVER["SERVER_NAME"] . dirname($_SERVER["PHP_SELF"]) . "/</link>\n";
        print "<description>SlimStat: " . $config->sitename . ": " . $config->i18n->fields[$field] . "</description>\n";
        print "<pubDate>" . date("r") . "</pubDate>\n";
        print "<lastBuildDate>" . date("r", $results[0]["mindt"]) . "</lastBuildDate>\n";
        print "<docs>http://blogs.law.harvard.edu/tech/rss</docs>\n";
        print "<ttl>60</ttl>\n\n";
        foreach ($results as $result) {
            print "<item>\n";
            print "<title>" . $result[$field] . "</title>\n";
            print "<link>http://" . $_SERVER["SERVER_NAME"] . dirname($_SERVER["PHP_SELF"]) . "/?filter_" . $field . "=" . urlencode($result[$field]) . "</link>\n";
            print "<description>" . $config->i18n->fields[$field] . ": " . $result[$field] . "</description>\n";
            print "<guid isPermaLink=\"true\">http://" . $_SERVER["SERVER_NAME"] . dirname($_SERVER["PHP_SELF"]) . "/?filter_" . $field . "=" . urlencode($result[$field]) . "</guid>\n";
            print "<pubDate>" . date("r", $result["mindt"]) . "</pubDate>\n";