Пример #1
0
function getPageContent()
{
    global $time_frame, $year, $month, $day, $hour, $minute, $view, $limitPage, $limitNumber, $wpdb, $tablestattraq, $wpst_url;
    $orderBy = st_getVar("orderBy", "dd DESC");
    $startDate = date("Ymd");
    $endDate = date("Ymd");
    $betweenClause = "WHERE session_id <> 0";
    $date_format = "%Y-%m-%d %H:i";
    $drill_date_format = 6;
    $width = 600;
    if ($time_frame == 6) {
        $startDate = st_createDateQueryString($year, 1, 1, 0, 0, 0);
        $endDate = st_createDateQueryString($year, 12, 31, 23, 59, 59);
        $betweenClause .= " AND access_time BETWEEN '{$startDate}' AND '{$endDate}'";
        $drill_date_format = 8;
    } else {
        if ($time_frame == 8) {
            $startDate = "{$year}" . ($month < 10 ? "0" : "") . $month . "01000000";
            $endDate = "{$year}" . ($month < 10 ? "0" : "") . $month . "31235959";
            $betweenClause .= " AND access_time BETWEEN '{$startDate}' AND '{$endDate}'";
            $drill_date_format = 10;
        } else {
            if ($time_frame == 10) {
                $startDate = "{$year}" . ($month < 10 ? "0" : "") . $month . ($day < 10 ? "0" : "") . $day . "000000";
                $endDate = "{$year}" . ($month < 10 ? "0" : "") . $month . ($day < 10 ? "0" : "") . $day . "235959";
                $betweenClause .= " AND access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                $drill_date_format = 12;
            } else {
                if ($time_frame == 12) {
                    $startDate = "{$year}" . ($month < 10 ? "0" : "") . $month . ($day < 10 ? "0" : "") . $day . ($hour < 10 ? "0" : "") . "{$hour}0000";
                    $endDate = "{$year}" . ($month < 10 ? "0" : "") . $month . ($day < 10 ? "0" : "") . $day . ($hour < 10 ? "0" : "") . "5959";
                    $betweenClause .= " AND access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                    $drill_date_format = 0;
                    $width = 780;
                }
            }
        }
    }
    echo "<p>Click a session ID for details of that session.</p>";
    $results = getPageDBResults("%Y-%m-%d %H:%i", $time_frame, $betweenClause, $orderBy);
    echo "<table>" . "<thead>" . "<tr>" . ("<th><a href=\"{$wpst_url}view=sessions&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&orderBy=" . ($orderBy == "dd DESC" ? "dd ASC" : "dd DESC") . "\">Date</a></th>") . ("<th><a href=\"{$wpst_url}view=sessions&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&orderBy=" . ($orderBy == "session_id DESC" ? "session_id ASC" : "session_id DESC") . "\">Session</a></th>") . "</tr>" . "</thead>";
    echo '<tfoot><tr>' . ("<th><a href=\"{$wpst_url}view=sessions&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&orderBy=" . ($orderBy == "dd DESC" ? "dd ASC" : "dd DESC") . "\">Date</a></th>") . ("<th><a href=\"{$wpst_url}view=sessions&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&orderBy=" . ($orderBy == "session_id DESC" ? "session_id ASC" : "session_id DESC") . "\">Session</a></th>") . '</tr>' . '</tfoot>';
    echo '<tbody>';
    if ($results) {
        foreach ($results as $row) {
            $session_id = $row->session_id;
            echo "<tr>" . "<td>{$row->fmtDate}</td>" . "<td><a href=\"{$wpst_url}view=session&year={$year}&month={$month}&day={$day}&hour={$hour}&time_frame={$drill_date_format}&session_id={$session_id}\">{$session_id}</a></td>" . "<td>{$row->cnt}</td>" . "</tr>";
        }
    } else {
        echo '<tr><td>No data for this time period</td></tr>';
    }
    echo '</tbody></table>';
}
Пример #2
0
function generate_hour_list()
{
    global $time_frame, $year, $month, $day, $hour, $minute, $view, $session_id, $wpdb, $tablestattraq, $limitNumber, $options, $wpst_url;
    $output = "<ol>";
    $time_format = get_settings("time_format");
    $sqlQuery = "SELECT DISTINCT DATE_FORMAT( access_time, '%H' ) AS hour, \n                               COUNT(access_time) AS cnt \n                               FROM {$tablestattraq} \n                               WHERE access_time BETWEEN '" . st_createDateQueryString($year, $month, $day, 0, 0, 0) . "' \n                                 AND '" . st_createDateQueryString($year, $month, $day, 23, 59, 59) . "' " . ($options['user_counts_hide_bots'] == 'true' ? "AND user_agent_type=0" : '') . " GROUP BY hour ORDER BY hour ASC";
    $results = $wpdb->get_results($sqlQuery);
    if ($results) {
        $time_format = get_settings('time_format');
        foreach ($results as $row) {
            $cTime = $year . '-' . ($month < 10 ? '0' : '') . $month . '-' . ($day < 10 ? '0' : '') . $day . ' ' . $row->hour . ':00:00';
            $formatted_hour = mysql2date($time_format, $cTime);
            $output .= '<li><a href="' . $wpst_url . 'view=' . $view . '&amp;time_frame=' . $time_frame . '
                  &amp;year=' . $year . '&amp;month=' . $month . '&amp;day=' . $day . '&amp;hour=' . $row->hour . '
                  &amp;session_id=' . $session_id . '&amp;limitNumber=' . $limitNumber . '" title="Hits: ' . number_format($row->cnt) . '"' . ($hour == $row->hour ? ' class="today"' : '') . '>' . $formatted_hour . '</a></li>';
        }
    } else {
        $output .= "<li>No Data</li>";
    }
    $output .= "</ol>";
    return $output;
}
Пример #3
0
function getStatTraqWidgetContents()
{
    $year = (int) date("Y");
    $month = (int) date("m");
    $day = (int) date("d");
    $hour = (int) date("H");
    $minute = (int) date("i");
    $startDate = st_createDateQueryString($year, $month, $day, 0, 0, 0);
    $endDate = st_createDateQueryString($year, $month, $day, 23, 59, 59);
    $wpst_url = get_bloginfo('wpurl') . '/wp-admin/admin.php?page=wp-stattraq/index.php&view=summary';
    $wpst_chart_url = get_bloginfo('wpurl') . "/wp-content/plugins/wp-stattraq/reporter/chart_maker.php?";
    // Display whatever it is you want to show
    echo '<script>';
    echo "var stWidth = document.getElementById('StatTraq').offsetWidth-24;";
    echo 'document.write(\'';
    echo "<a href=\"{$wpst_url}\"><img id=\"chart_img\" class=\"chart-picture\" src=\"{$wpst_chart_url}chart=hit_counter&amp;time_frame=10&amp;year={$year}&amp;month={$month}&amp;day={$day}&amp;hour={$hour}&amp;minute={$minute}&amp;startDate={$startDate}&amp;endDate={$endDate}&amp;width=' + stWidth + '&amp;height=270&amp;orderBy=dd&amp;chart_type=hz_bar&amp;limitNumber=24\" width=\"'+stWidth+'\" height=\"270\" alt=\"chart\" />";
    echo '\');</script>';
}
Пример #4
0
        $date_format = "%Y-%m-%d";
        $the_interval = "%d";
        $drill_date_format = 8;
        break;
    case 10:
        // hours
        $startDate = st_createDateQueryString($year, $month, $day, 0, 0, 0);
        $endDate = st_createDateQueryString($year, $month, $day, 23, 59, 59);
        $date_format = "%Y-%m-%d %H:00";
        $the_interval = "%H";
        $drill_date_format = 10;
        break;
    case 12:
        // minute
        $startDate = st_createDateQueryString($year, $month, $day, $hour, 0, 0);
        $endDate = st_createDateQueryString($year, $month, $day, $hour, 59, 59);
        $date_format = "%Y-%m-%d %H:%i";
        $the_interval = "%i";
        $drill_date_format = 0;
        $width = 780;
        break;
    default:
        // do nothing, the default is above and set already.
        break;
}
$betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
function getPageContent()
{
    global $time_frame, $year, $month, $day, $hour, $minute, $view, $limitPage, $limitNumber, $the_interval, $date_format, $startDate, $endDate, $wpdb, $tablestattraq, $options, $betweenClause, $width, $drill_date_format, $chart_type, $wpst_chart_url, $wpst_url;
    $orderBy = st_getVar("orderBy", "dd DESC");
    $totalHits = 0;
Пример #5
0
function getPageContent()
{
    global $time_frame, $year, $month, $day, $hour, $minute, $view, $showReferrerType, $siteName, $wpdb, $tablestattraq, $wpst_url, $limitNumber;
    $orderBy = st_getVar("orderBy", "cnt DESC");
    $startDate = date("Ymd");
    $endDate = date("Ymd");
    $betweenClause = "";
    $date_format = "%Y-%m-%d %H:i";
    $drill_date_format = 6;
    $width = 600;
    if ($time_frame == 4) {
        $date_format = "%Y";
    }
    if ($time_frame == 6) {
        $startDate = $year . '0100000000';
        $endDate = $year + 1 . '0101000000';
        $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
        $date_format = "%Y-%m";
        $drill_date_format = 8;
    } else {
        if ($time_frame == 8) {
            $startDate = "{$year}" . ($month < 10 ? "0" : "") . $month . "01000000";
            $endDate = "{$year}" . ($month < 10 ? "0" : "") . $month . "31235959";
            $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
            $date_format = "%Y-%m-%d";
            $drill_date_format = 10;
        } else {
            if ($time_frame == 10) {
                $startDate = "{$year}" . ($month < 10 ? "0" : "") . $month . ($day < 10 ? "0" : "") . $day . "000000";
                $endDate = "{$year}" . ($month < 10 ? "0" : "") . $month . ($day < 10 ? "0" : "") . $day . "235959";
                $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                $date_format = "%Y-%m-%d %H:00";
                $drill_date_format = 12;
            } else {
                if ($time_frame == 12) {
                    $startDate = st_createDateQueryString($year, $month, $day, $hour, 0, 0);
                    $endDate = st_createDateQueryString($year, $month, $day, $hour, 59, 59);
                    $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                    $date_format = "%Y-%m-%d %H:i";
                    $drill_date_format = 0;
                    $width = 780;
                }
            }
        }
    }
    $totalHits = 0;
    $maxHits = 0;
    $rows = array();
    $results = getPageDBResults($date_format, $time_frame, $betweenClause, $orderBy, false);
    if ($results) {
        foreach ($results as $row) {
            $totalHits += $row->cnt;
            if ($maxHits < $row->cnt) {
                $maxHits = $row->cnt;
            }
            $rows[] = $row;
        }
    }
    // START PAGE CONTENT OUTPUT
    ?>
<h1><img src="/wp-content/plugins/wp-stattraq/images/referrers_icon_32.gif" alt="Referrers" />Referrers</h1>
<p class="description">
	When a site refers to your WordPress blog and the browser passes referrer data this is recorded to help you know who's linking to your site.  See also the Search Terms to understand what the search engines are referring to your site for.
</p>
<?php 
    echo "<table>" . "<thead>" . "<tr>" . ("<th><a href=\"{$wpst_url}view=referrer&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "referrer DESC" ? "referrer ASC" : "referrer DESC") . "\">Referrer</a></th>") . ("<th><a href=\"{$wpst_url}view=referrer&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "cnt DESC" ? "cnt ASC" : "cnt DESC") . "\"># ref</a></th>") . "<th>ref. %</th>" . ("<th><a href=\"{$wpst_url}view=referrer&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "url DESC" ? "url ASC" : "url DESC") . "\">URL</a></th>") . "</tr>" . "</thead>" . "<tfoot>" . "<tr>" . ("<th><a href=\"{$wpst_url}view=referrer&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "referrer DESC" ? "referrer ASC" : "referrer DESC") . "\">Referrer</a></th>") . ("<th><a href=\"{$wpst_url}view=referrer&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "cnt DESC" ? "cnt ASC" : "cnt DESC") . "\"># ref</a></th>") . "<th>ref. %</th>" . ("<th><a href=\"{$wpst_url}view=referrer&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "url DESC" ? "url ASC" : "url DESC") . "\">URL</a></th>") . "</tr>" . "</tfoot>";
    echo "<tbody>\n";
    foreach ($rows as $row) {
        $str = $row->cnt;
        $year = $row->year;
        $month = $row->month;
        $day = $row->day;
        $hour = $row->hour;
        $minute = $row->minute;
        echo "<tr>";
        if ($drill_date_format != 0) {
            echo "<td><a href=\"" . htmlentities($row->referrer) . "\" target=\"_blank\">" . (strlen($row->referrer) > 50 ? substr($row->referrer, 0, 50) : $row->referrer) . "</a></td>";
        } else {
            echo "<td>{$row->referrer}</td>";
        }
        echo "<td class=\"right\">{$row->cnt}</td>" . "<td class=\"right\">" . round($row->cnt / $totalHits * 100) . "%</td>" . "<td>" . $row->url . "</td>" . "</tr>";
    }
    echo "</tbody>";
    echo "</table>";
}
Пример #6
0
function getPageContent()
{
    global $time_frame, $year, $month, $day, $hour, $minute, $view, $limitPage, $limitNumber, $wpdb, $tablestattraq, $options, $wpst_url;
    $orderBy = st_getVar("orderBy", "cnt DESC");
    $startDate = date("Ymd");
    $endDate = date("Ymd");
    $betweenClause = "";
    $date_format = "%Y-%m-%d %H:i";
    $first_of_month = mktime(0, 0, 0, $month, 1, $year);
    #remember that mktime will automatically correct if invalid dates are entered
    # for instance, mktime(0,0,0,12,32,1997) will be the date for Jan 1, 1998
    # this provides a built in "rounding" feature to generate_calendar()
    $maxdays = date('t', $first_of_month);
    #number of days in the month
    if ($time_frame == 4) {
        $betweenClause = "WHERE line_id <> -1";
        // bluff the where clause
        $date_format = "%Y";
    }
    if ($time_frame == 6) {
        $startDate = $year . '0100000000';
        $endDate = $year + 1 . '0101000000';
        $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
        $date_format = "%Y-%m";
    } else {
        if ($time_frame == 8) {
            $startDate = st_createDateQueryString($year, $month, 1, 0, 0, 0);
            $endDate = st_createDateQueryString($year, $month, $maxdays, 23, 59, 59);
            $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
            $date_format = "%Y-%m-%d";
        } else {
            if ($time_frame == 10) {
                $startDate = st_createDateQueryString($year, $month, $day, 0, 0, 0);
                $endDate = st_createDateQueryString($year, $month, $day, 23, 59, 59);
                $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                $date_format = "%Y-%m-%d %H:00";
            } else {
                if ($time_frame == 12) {
                    $startDate = st_createDateQueryString($year, $month, $day, $hour, 0, 0);
                    $endDate = st_createDateQueryString($year, $month, $day, $hour, 59, 59);
                    $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                    $date_format = "%Y-%m-%d %H:i";
                }
            }
        }
    }
    $totalHits = 0;
    $maxHits = 0;
    ?>
<h1><img src="/wp-content/plugins/wp-stattraq/images/user_agents_icon_32.gif" alt="Browsers" /> Browsers</h1>
<p class="description">
Displays the different user agents that have requested documents from WordPress.
You can configure the options page to not display bots and <acronym title="Really Simple Syndication">RSS</acronym>/Atom aggregators.
</p>
<?php 
    echo "<table>" . "<tr>" . "<td><a href=\"{$wpst_url}view=user_agent&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "cnt DESC" ? "cnt ASC" : "cnt DESC") . "\">Count</td>" . "<td><a href=\"{$wpst_url}view=user_agent&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&limitNumber={$limitNumber}&orderBy=" . ($orderBy == "browser DESC" ? "browser ASC" : "browser DESC") . "\">Browser</a></td>" . "</tr>";
    $hideBots = $options['user_agents_hide_bots'] == 'true' ? ' AND user_agent_type=0 ' : '';
    $sqlQuery = "SELECT COUNT(browser) AS cnt, browser, DATE_FORMAT(access_time,'{$date_format}') AS dd FROM {$tablestattraq} {$betweenClause} {$hideBots} GROUP BY browser ORDER By {$orderBy} LIMIT {$limitPage}, {$limitNumber}";
    $results = $wpdb->get_results($sqlQuery);
    if ($results) {
        foreach ($results as $row) {
            echo "<tr><td>{$row->cnt}</td><td>{$row->browser}</td></tr>";
        }
    }
    echo "</table>";
}
Пример #7
0
function getPageContent()
{
    global $time_frame, $year, $month, $day, $hour, $minute, $view, $limitPage, $limitNumber, $wpdb, $tablestattraq, $options, $wpst_ip_url;
    ?>
<script>
function toggleInfo(sLineID)
{
	var sDisplay = document.getElementById('lineid:'+sLineID).style.display;
	document.getElementById('lineid:'+sLineID).style.display = (sDisplay == 'none'? '' : 'none');
}
</script>
<h1>
IP Address
</h1>
<p class="description">
On the Internet each computer has what is called an IP address.  That is a number on a network that is used to identify the computer so that data (such as a web page) can be transmitted to the computer.  When a computer requests a web page the IP address is sent.
</p>
<?php 
    $ip_address = st_getVar("ip_address", null);
    $orderBy = st_getVar("orderBy", "ip_address DESC");
    $startDate = date("Ymd");
    $endDate = date("Ymd");
    $betweenClause = "";
    $date_format = "%Y-%m-%d %H:i";
    if ($time_frame == 4) {
        $date_format = "%Y";
    }
    if ($time_frame == 6) {
        $startDate = st_createDateQueryString($year, 1, 1, 0, 0, 0);
        $endDate = st_createDateQueryString($year, 12, 31, 23, 59, 59);
        $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
        $date_format = "%Y-%m";
    } else {
        if ($time_frame == 8) {
            $startDate = st_createDateQueryString($year, $month, 1, 0, 0, 0);
            $endDate = st_createDateQueryString($year, $month, 31, 23, 59, 59);
            $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
            $date_format = "%Y-%m-%d %H:%i";
        } else {
            if ($time_frame == 10) {
                $startDate = st_createDateQueryString($year, $month, $day, 0, 0, 0);
                $endDate = st_createDateQueryString($year, $month, $day, 23, 59, 59);
                $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                $date_format = "%Y-%m-%d %H:00";
            } else {
                if ($time_frame == 12) {
                    $startDate = st_createDateQueryString($year, $month, $day, $hour, 0, 0);
                    $endDate = st_createDateQueryString($year, $month, $day, $hour, 59, 59);
                    $betweenClause = " WHERE access_time BETWEEN '{$startDate}' AND '{$endDate}'";
                    $date_format = "%Y-%m-%d %H:i";
                }
            }
        }
    }
    $totalHits = 0;
    $maxHits = 0;
    $rows = array();
    if ($ip_address != null) {
        $betweenClause .= " AND ip_address = '{$ip_address}'";
    }
    $hideBots = $options['ip_addresses_hide_bots'] == 'true' ? ' AND user_agent_type=0 ' : '';
    $sqlQuery = "SELECT DISTINCT ip_address, DATE_FORMAT(access_time,'{$date_format}') AS dd, browser, line_id, article_id FROM {$tablestattraq} {$betweenClause} {$hideBots} GROUP BY dd, ip_address ORDER BY {$orderBy} LIMIT {$limitPage}, {$limitNumber}";
    $results = $wpdb->get_results($sqlQuery);
    echo "<table cellpadding=\"4\">" . "<tr>" . "<th><a href=\"index.php?view=ip_address&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&orderBy=" . ($orderBy == "dd DESC" ? "dd ASC" : "dd DESC") . "\">time</a></th>" . "<th><a href=\"index.php?view=ip_address&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&orderBy=" . ($orderBy == "ip_address DESC" ? "ip_address ASC" : "ip_address DESC") . "\">ip</a></th>" . "<th><a href=\"index.php?view=ip_address&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&orderBy=" . ($orderBy == "browser DESC" ? "browser ASC" : "browser DESC") . "\">Browser</a></th>" . "<th>Article</th>" . "<th>Who Is</th>" . "<th>Info</th>" . "</tr>";
    if ($results) {
        foreach ($results as $row) {
            echo "<tr>\n\t" . "<td>{$row->dd}</td>" . "<td><a href=\"index.php?view=ip_address&time_frame={$time_frame}&year={$year}&month={$month}&day={$day}&hour={$hour}&minute={$minute}&date_format={$date_format}&ip_address={$row->ip_address}\">{$row->ip_address}</a></td>" . "<td>{$row->browser}</td>" . "<td>{$row->article_id}</td>" . "<td><a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput={$row->ip_address}\" target=\"_blank\">whois</a></td>" . "<td><a href=\"#\" onclick=\"toggleInfo('{$row->line_id}')\">info</a></td>" . "</tr>\n";
            echo "<tr id=\"lineid:{$row->line_id}\" style=\"display:none;\">\n\t" . "<td colspan=\"6\">";
            $sqlQuery = "SELECT * FROM {$tablestattraq} where line_id={$row->line_id}";
            $access = $wpdb->get_row($sqlQuery);
            ?>
		<dl>
			<dt><strong>Access Time: </strong></dt>
				<dd><?php 
            echo $access->access_time;
            ?>
</dd>
			<dt><strong>IP Address: </strong></dt>
				<dd><?php 
            echo $access->ip_address;
            ?>
</>
				<a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php 
            echo $access->ip_address;
            ?>
" target="_blank">whois</a></dd>
			<dt><strong>URL: </strong></dt>
				<dd><?php 
            echo $access->url;
            ?>
</dd>
			<dt><strong>Article ID: </strong></dt>
				<dd><?php 
            echo $access->article_id;
            ?>
</dd>
			<dt><strong>User Agent: </strong></dt>
				<dd><?php 
            echo $access->user_agent;
            ?>
</dd>
			<dt><strong>Browser: </strong></dt> 
				<dd><?php 
            echo $access->browser;
            ?>
</dd>
			<dt><strong>Referrer: </strong></dt>
				<dd><?php 
            echo $access->referrer;
            ?>
</dd>
		</dl>
		<?php 
            echo "</td></tr>\n";
        }
    }
    echo "</table>";
}