Example #1
0
function module_top_agent_os($arguments)
{
    global $gDb, $gData;
    global $lvc_nb_top_agent_os;
    global $lvc_display_cache_delay;
    global $lvc_table_visitors;
    global $lvm_top_agent_os, $lvm_agent, $lvm_number;
    $is_archived = $arguments['archive'];
    if ($is_archived) {
        $values = explode("+", $gData['topNavOS']);
        $limit = sizeof($values) / 2;
        for ($cnt = 0; $cnt < $limit; $cnt++) {
            $row[$cnt]['agent'] = $values[2 * $cnt];
            $row[$cnt]['nb'] = $values[2 * $cnt + 1];
        }
    } else {
        $month = $arguments['month'];
        $year = $arguments['year'];
        $query = "SELECT AGENT, COUNT(*) AS C ";
        $query .= "FROM " . $lvc_table_visitors . " ";
        $query .= "WHERE AGENT <> '' AND DATE LIKE '" . $year . "/" . sprintf("%02d", $month) . "/%' ";
        $query .= "GROUP BY AGENT ";
        $query .= "ORDER BY C DESC, AGENT ";
        if ($gDb->DbQuery($query, 0, $lvc_nb_top_agent_os) && $gDb->DbNumRows() != 0) {
            $cnt = 0;
            while ($gDb->DbNextRow()) {
                $record = $gDb->Row;
                $row[$cnt]['agent'] = $record['AGENT'];
                $row[$cnt]['nb'] = $record['C'];
                $cnt++;
            }
        } else {
            return '';
        }
    }
    $buffer = "<BR><CENTER><TABLE CELLSPACING=1 BORDER=0>\n";
    $buffer .= "<TR><TD COLSPAN=2><A CLASS='array'>";
    $buffer .= str_replace("{NB_TOP_AGENT_OS}", $lvc_nb_top_agent_os, $lvm_top_agent_os) . "</A></TD></TR>\n";
    $buffer .= "<TR>";
    $buffer .= "<TH CLASS='vis'>" . $lvm_agent . "</TH>";
    $buffer .= "<TH CLASS='vis' nowrap>&nbsp;" . $lvm_number . "&nbsp;</TH></TR>\n";
    for ($cnt = 0; $cnt < $lvc_nb_top_agent_os; $cnt++) {
        $buffer .= "<TR>";
        $buffer .= "<TD CLASS='vis'>&nbsp;<A CLASS='item'>" . extract_agent($row[$cnt]['agent']) . "</A>&nbsp;</TD>";
        $buffer .= "<TD CLASS='vis' ALIGN='right' NOWRAP>&nbsp;" . ($row[$cnt]['nb'] != 0 ? number_format($row[$cnt]['nb'], 0, '', ' ') : '') . "&nbsp;</TD>";
        $buffer .= "</TR>\n";
    }
    // cache delay
    if ($lvc_display_cache_delay) {
        $buffer .= "<TR><TD ALIGN='center' COLSPAN='2'>";
        $buffer .= "<A CLASS='delay'>" . cache_delay($arguments['cache']) . "</A>";
    }
    $buffer .= "</TABLE></CENTER><BR>\n";
    return $buffer;
}
Example #2
0
                 }
             }
         }
     }
 }
 if (!$found) {
     $referer = $HTTP_REFERER;
     $url = parse_url($referer);
     $ref_host = $url['scheme'] . '://' . $url['host'] . '/';
     if ($ref_host == ':///') {
         $ref_host = '';
     } elseif ($ref_host == 'news:///' || $ref_host == 'news://news/') {
         $ref_host = 'news:';
     }
     $rows_list = 'DATE, ADDR, HOST, AGENT, REFERER, REF_HOST';
     $agent = extract_agent($HTTP_USER_AGENT);
     $values_list = "'" . date('Y/m/d H:i') . "',";
     // DATE
     $values_list .= "'" . $REMOTE_ADDR . "',";
     // ADDR
     $values_list .= "'" . gethostbyaddr($REMOTE_ADDR) . "',";
     // HOST
     $values_list .= "'" . $agent . "',";
     // AGENT
     $values_list .= "'" . AddSlashes(strip_tags($referer)) . "',";
     // REFERER
     $values_list .= "'" . AddSlashes(strip_tags($ref_host)) . "'";
     // REF_HOST
     $query = 'INSERT INTO ' . $lvc_table_visitors . ' (' . $rows_list . ') VALUES (' . $values_list . ')';
     if ($connected) {
         $gDb->DbQuery($query);
Example #3
0
function module_last_visitors($arguments)
{
    global $gDb;
    global $lvc_nb_last_visitors;
    global $lvc_hide_IP;
    global $lvc_table_visitors;
    global $lvc_display_cache_delay;
    global $lvm_last_visitors, $lvm_agent, $lvm_host, $lvm_time;
    $buffer .= "<BR><CENTER><TABLE CELLSPACING=1 BORDER=0>\n";
    $buffer .= "<TR><TD COLSPAN=2 ALIGN='left'>";
    $buffer .= "<A CLASS='array'>";
    $buffer .= str_replace("{NB_LAST_VISITORS}", $lvc_nb_last_visitors, $lvm_last_visitors) . "</A>&nbsp;";
    $buffer .= "</TD><TD COLSPAN=2 ALIGN='right'>&nbsp;";
    if ($lvc_display_cache_delay) {
        $buffer .= "<A CLASS='delay'>" . cache_delay($arguments['cache']) . "</A>";
    }
    $buffer .= "</TD></TR>\n";
    $buffer .= "<TR>";
    $buffer .= "<TH CLASS='vis'>" . $lvm_agent . "</TH>";
    $buffer .= "<TH CLASS='vis'>@ IP</TH>";
    $buffer .= "<TH CLASS='vis'>" . $lvm_host . "</TH>";
    $buffer .= "<TH CLASS='vis'>&nbsp;" . $lvm_time . "&nbsp;</TH>";
    $buffer .= "</TR>\n";
    $query = "SELECT AGENT, ADDR, HOST, DATE, REFERER, REF_HOST ";
    $query .= "FROM " . $lvc_table_visitors . " ";
    $query .= "ORDER BY DATE DESC, CODE DESC ";
    if ($gDb->DbQuery($query, 0, $lvc_nb_last_visitors) && $gDb->DbNumRows() != 0) {
        $cnt = 0;
        while ($gDb->DbNextRow()) {
            $record = $gDb->Row;
            $row[$cnt]['agent'] = $record['AGENT'];
            $row[$cnt]['addr'] = $record['ADDR'];
            $row[$cnt]['host'] = $record['HOST'];
            $row[$cnt]['date'] = $record['DATE'];
            $row[$cnt]['referer'] = $record['REFERER'];
            $row[$cnt]['ref_host'] = $record['REF_HOST'];
            $cnt++;
        }
    }
    // loading engines
    $arr_engines = load_engines();
    $prev_date = '';
    for ($cnt = 0; $cnt < $lvc_nb_last_visitors; $cnt++) {
        // separation between 2 days
        $date = substr($row[$cnt]['date'], 8, 2) . "/";
        $date .= substr($row[$cnt]['date'], 5, 2);
        if ($date != $prev_date && $prev_date != '') {
            $buffer .= "<TR><TH BGCOLOR='#FFFFAA' COLSPAN='4' HEIGHT='1' CLASS='vis'>";
            $buffer .= html_image("images/nothing.gif");
            $buffer .= "</TH></TR>\n";
        }
        $prev_date = $date;
        $buffer .= "<TR>";
        // agent
        $buffer .= "<TD CLASS='vis'>&nbsp;" . extract_agent($row[$cnt]['agent']) . "&nbsp;</TD>\n";
        // ip + host
        if ($row[$cnt]['host'] == $row[$cnt]['addr'] || $row[$cnt]['host'] == "") {
            // no hostname, only ip
            $buffer .= "<TD CLASS='vis'>&nbsp;";
            $buffer .= "<A CLASS='host'>" . ($lvc_hide_IP ? hide_machine($row[$cnt]['addr']) : $row[$cnt]['addr']) . "</A>";
            $buffer .= "&nbsp;</TD>";
            $buffer .= "<TD CLASS='vis'>&nbsp;</TD>";
        } else {
            // ip
            $buffer .= "<TD CLASS='vis'>&nbsp;<A CLASS='host'>" . ($lvc_hide_IP ? hide_machine($row[$cnt]['addr']) : $row[$cnt]['addr']) . "</A>&nbsp;</TD>";
            // server
            $buffer .= "<TD CLASS='vis'>&nbsp;[<A HREF='http://" . extract_server($row[$cnt]['host']) . "/' CLASS='server' TARGET='_blank'>Srv</A>]&nbsp;";
            // host
            $buffer .= "<A CLASS='host'>" . ($lvc_hide_IP ? hide_machine($row[$cnt]['host']) : $row[$cnt]['host']) . "</A>&nbsp;</TD>";
        }
        // datetime
        $buffer .= "<TD CLASS='vis'><CENTER>&nbsp;" . ($row[$cnt]['date'] != '' ? show_datetime($row[$cnt]['date']) : '') . "&nbsp;</CENTER></TD>";
        $buffer .= "</TR>\n";
        // referer
        if ($row[$cnt]['ref_host'] != '') {
            $buffer .= "<TR><TD COLSPAN='4' CLASS='visref'>";
            $buffer .= show_keywords($row[$cnt]['referer'], $row[$cnt]['ref_host'], $arr_engines);
            $buffer .= "</TD></TR>\n";
        }
    }
    $buffer .= "</TABLE></CENTER>\n";
    $buffer .= "<BR>";
    return $buffer;
}