Esempio n. 1
0
?>
<div style="clear:both;"></div>
<?php 
if ($config->show_modules["resource"] && !isset($filters["filter_resource"])) {
    print SlimStat::render_module($config->i18n->module_titles["resource"], total_table("resource", $config->truncate_medium, "", $filters), "mediummodule");
}
if ($config->show_modules["resource"] && $config->show_modules["next_resource"] && isset($filters["filter_resource"])) {
    $filters_copy = $filters;
    unset($filters_copy["filter_resource"]);
    print SlimStat::render_module($config->i18n->module_titles["next_resource"], total_table("resource", $config->truncate_medium, "referer LIKE '%" . SlimStat::my_esc(SlimStat::trim_referer($_SERVER["SERVER_NAME"] . urldecode($filters["filter_resource"]))) . "'", $filters_copy), "mediummodule");
}
if ($config->show_modules["searchterms"] && !isset($filters["filter_searchterms"])) {
    print SlimStat::render_module($config->i18n->module_titles["searchterms"], total_table("searchterms", $config->truncate_medium, "searchterms != ''", $filters), "mediummodule");
}
if ($config->show_modules["domain"] && !isset($filters["filter_domain"])) {
    print SlimStat::render_module($config->i18n->module_titles["domain"], total_table("domain", $config->truncate, "domain != '" . SlimStat::my_esc(SlimStat::trim_referer($_SERVER["SERVER_NAME"])) . "' AND domain != ''", $filters));
}
if ($config->show_modules["referer"] && isset($filters["filter_domain"]) && !isset($filters["filter_referer"])) {
    print SlimStat::render_module($config->i18n->module_titles["referer"], total_table("referer", $config->truncate_medium, "", $filters), "mediummodule");
}
if ($config->show_modules["browser"] && !isset($filters["filter_browser"])) {
    print SlimStat::render_module($config->i18n->module_titles["browser"], percentage_table("browser", $config->truncate, "", $filters));
}
if ($config->show_modules["version"] && (!isset($filters["filter_browser"]) || !isset($filters["filter_version"]))) {
    print SlimStat::render_module($config->i18n->module_titles["version"], percentage_table(array("browser", "version"), $config->truncate, "", $filters));
}
if ($config->show_modules["platform"] && !isset($filters["filter_platform"])) {
    print SlimStat::render_module($config->i18n->module_titles["platform"], percentage_table("platform", $config->truncate, "", $filters));
}
if ($config->show_modules["country"] && SlimStat::is_ip_to_country_installed() && !isset($filters["filter_country"])) {
    print SlimStat::render_module($config->i18n->module_titles["country"], percentage_table("country", $config->truncate, "", $filters));
Esempio n. 2
0
				</tr>
			</table></div>
		</div>
		<?php 
    }
    if ($config->show_modules["recent_resource"]) {
        print SlimStat::render_module($config->i18n->module_titles["recent_resource"], recent_table(array("href" => "resource", "title" => $config->show_hostnames ? "remote_addr" : "remote_ip", "display" => "resource"), $config->truncate_medium, "dt > " . $config->recent_threshold), "mediummodule");
    }
    if ($config->show_modules["recent_referer"]) {
        print SlimStat::render_module($config->i18n->module_titles["recent_referer"], recent_table(array("href" => "referer", "title" => "resource", "display" => "domain"), $config->truncate, "dt > " . $config->recent_threshold . " AND referer NOT LIKE '%" . SlimStat::my_esc(SlimStat::trim_referer($_SERVER["SERVER_NAME"])) . "/%' AND referer NOT LIKE '%" . SlimStat::my_esc(SlimStat::trim_referer($_SERVER["SERVER_NAME"])) . "' AND referer != '' AND domain != ''"));
    }
    if ($config->show_modules["recent_searchterms"]) {
        print SlimStat::render_module($config->i18n->module_titles["recent_searchterms"], recent_table(array("href" => "referer", "title" => "resource", "display" => "searchterms"), $config->truncate, "dt > " . $config->recent_threshold . " AND searchterms != ''"));
    }
    if ($config->show_modules["unique_domain"]) {
        print SlimStat::render_module($config->i18n->module_titles["unique_domain"] . " <span><a href=\"rss.php?domain\">" . $config->i18n->feed . "</a></span>", unique_table(array("href" => "referer", "title" => "resource", "display" => "domain"), $config->truncate, "dt > " . $config->recent_threshold . " AND domain != '" . SlimStat::my_esc(SlimStat::trim_referer($_SERVER["SERVER_NAME"])) . "' AND domain != ''"));
    }
    if ($config->show_modules["unique_resource"]) {
        print SlimStat::render_module($config->i18n->module_titles["unique_resource"] . " <span><a href=\"rss.php?resource\">" . $config->i18n->feed . "</a></span>", unique_table(array("href" => "resource", "title" => $config->show_hostnames ? "remote_addr" : "remote_ip", "display" => "resource"), $config->truncate_medium, "dt > " . $config->recent_threshold), "mediummodule");
    }
}
function recent_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->when));
    $tbody = array();
    $col_query = is_array($_cols) ? array_merge($_cols, array("dt")) : array($_cols, "dt");
    $results = SlimStat::_get_table_data($col_query, $_where_clause, implode(", ", $col_query), "dt", $_filters);
    foreach ($results as $result) {
        $display_value = $result[$_cols["display"]];
        if (isset($config->i18n->name_lookups[$_cols["display"]])) {
Esempio n. 3
0
function show_paths()
{
    $config =& SlimStatConfig::get_instance();
    // get max visit
    $query = "SELECT MAX(`visit`) FROM `" . SlimStat::my_esc($config->database) . "`.`" . SlimStat::my_esc($config->stats) . "`";
    if ($result = mysql_query($query)) {
        list($max_visit) = mysql_fetch_row($result);
    }
    $str = "";
    // get requests
    $query = "SELECT * FROM `" . SlimStat::my_esc($config->database) . "`.`" . SlimStat::my_esc($config->stats) . "` WHERE ";
    if (!$config->show_crawlers) {
        $query .= "`browser` != '" . SlimStat::my_esc($config->i18n->crawler) . "' AND ";
    }
    $query .= "`visit` >= " . ($max_visit - $config->rows);
    $query .= " ORDER BY `visit` DESC, `dt`";
    if ($result = mysql_query($query)) {
        $prev_visit = 0;
        $visits = array();
        $visit = array();
        $pages = array();
        while ($assoc = mysql_fetch_assoc($result)) {
            if ($assoc["visit"] != $prev_visit && !empty($visit)) {
                $visits[] = $visit;
                $visit = array();
            }
            $visit[] = $assoc;
            $prev_visit = $assoc['visit'];
        }
        if (!empty($visit)) {
            $visits[] = $visit;
        }
        $str .= "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
        $str .= "<tr><th>" . $config->i18n->fields["remote_ip"] . "</th>";
        $str .= "<th>" . $config->i18n->when . "</th>";
        $str .= "<th>" . $config->i18n->fields["browser"] . "</th>";
        $str .= "<th>" . $config->i18n->fields["platform"] . "</th>";
        $str .= "<th>" . $config->i18n->fields["country"] . "</th></tr>\n";
        $usr_today = SlimStat::to_user_time(time());
        $svr_today = SlimStat::to_server_time(mktime(0, 0, 0, date("n", $usr_today), date("d", $usr_today), date("Y", $usr_today)));
        foreach ($visits as $visit) {
            $is_today = $visit[0]["dt"] >= $svr_today;
            $mindt = SlimStat::time_label($visit[0]["dt"]);
            $maxdt = SlimStat::time_label($visit[sizeof($visit) - 1]["dt"]);
            $str .= "<tr><td class=\"accent\">" . htmlentities(SlimStat::get_domain($visit[0]["remote_ip"])) . "</td>";
            $str .= "<td class=\"accent\">";
            if ($is_today) {
                $str .= $mindt == $maxdt ? $mindt : $mindt . "-" . $maxdt;
            } else {
                $str .= SlimStat::time_label($visit[0]["dt"], time());
            }
            $str .= "</td>";
            $str .= "<td class=\"accent\">" . htmlentities($visit[0]["browser"]);
            if ($visit[0]["version"] != $config->i18n->indeterminable) {
                $str .= " " . htmlentities($visit[0]["version"]);
            }
            $str .= "</td><td class=\"accent\">" . htmlentities($visit[0]["platform"]) . "</td>";
            $str .= "<td class=\"accent\">" . htmlentities($visit[0]["country"]) . "</td></tr>\n";
            $prev_dt = "";
            foreach ($visit as $hit) {
                $str .= "<tr><td>";
                $str .= "<a href=\"" . $hit["resource"] . "\" class=\"external\"";
                $str .= "\" title=\"" . $config->i18n->link_title("external", "FIELD", strtolower($config->i18n->fields["resource"])) . "\">";
                $str .= "<img src=\"external.gif\" width=\"9\" height=\"9\" alt=\"\" /></a>&nbsp;&nbsp;";
                $str .= "<a href=\"?filter_resource=" . urlencode($hit["resource"]);
                $str .= "\" title=\"" . $config->i18n->link_title("details_filtered", "FIELD", strtolower($config->i18n->fields["resource"])) . "\">";
                if (isset($config->i18n->name_lookups["resource"][$hit["resource"]])) {
                    $str .= SlimStat::truncate($config->i18n->name_lookups["resource"][$hit["resource"]], 53);
                } else {
                    $str .= SlimStat::truncate($hit["resource"], 53);
                }
                $str .= "</a></td>";
                $dt_label = SlimStat::time_label($hit["dt"]);
                if (!$is_today && $prev_dt == "" || $mindt != $maxdt && $dt_label != $prev_dt) {
                    $str .= "<td>" . $dt_label . "</td>";
                } else {
                    $str .= "<td>&nbsp;</td>";
                }
                $prev_dt = $dt_label;
                if ($hit["referer"] != "" && $hit["domain"] != SlimStat::trim_referer($_SERVER["SERVER_NAME"])) {
                    $str .= "<td colspan=\"3\" class=\"last\">";
                    $str .= "<a href=\"?filter_domain=" . urlencode($hit["domain"]);
                    $str .= "\" title=\"" . $config->i18n->link_title("details_filtered", "FIELD", strtolower($config->i18n->fields["domain"])) . "\"";
                    $str .= ">" . htmlentities(SlimStat::truncate($hit["domain"], 30)) . "</a>&nbsp;&nbsp;";
                    $str .= "<a href=\"" . $hit["referer"] . "\" class=\"external\" rel=\"nofollow\"";
                    $str .= "\" title=\"" . $config->i18n->link_title("external", "FIELD", strtolower($config->i18n->fields["referer"])) . "\">";
                    $str .= "<img src=\"external.gif\" width=\"9\" height=\"9\" alt=\"\" /></a>";
                } else {
                    $str .= "<td colspan=\"3\">&nbsp;</td>";
                }
                $str .= "</tr>\n";
            }
        }
        $str .= "</table>\n";
        return $str;
    }
}
Esempio n. 4
0
	<statstoday lastupdate="<?php 
echo date('g:ia');
?>
">
		<totalhits><?php 
print isset($hvu["hits"]) ? $hvu["hits"] : "-";
?>
</totalhits>
		<visits><?php 
print isset($hvu["visits"]) ? $hvu["visits"] : "-";
?>
</visits>
		<uniquehits><?php 
print isset($hvu["uniques"]) ? $hvu["uniques"] : "-";
?>
</uniquehits>
		<recentreferrers>
<?php 
$query = "SELECT referer, resource, domain, dt \n\t\t  FROM " . SlimStat::my_esc($config->database) . "." . SlimStat::my_esc($config->stats) . "\n\t\t  WHERE referer NOT LIKE '%" . SlimStat::my_esc(SlimStat::trim_referer($_SERVER["SERVER_NAME"])) . "%' AND \n\t\t\t\treferer!='' \n\t\t  ORDER BY dt DESC \n\t\t  LIMIT 0,7";
if ($result = mysql_query($query)) {
    while ($r = mysql_fetch_array($result)) {
        $when = SlimStat::time_label($r["dt"] + $config->dt_offset_secs, time());
        $resource = $r["resource"] == "/" ? $config->i18n->homepage : $r["resource"];
        print "<referrer time=\"" . $when . "\" url=\"" . htmlentities($r["referer"]) . "\">" . $r["domain"] . "</referrer>";
    }
}
?>
		</recentreferrers>
	</statstoday>
</shortstat>