<?php

// ----------------------------------------------------------------------------
// MODULE: last_visitors
// ----------------------------------------------------------------------------

function module_last_visitors($arguments)
{
    global $xoopsDB;

    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 FROM $lvc_table_visitors ORDER BY DATE DESC, CODE DESC ";
	$rs = $xoopsDB->query($query, $lvc_nb_last_visitors,0 );
	
    if ($rs && $xoopsDB->getRowsNum($rs) != 0)   {
		$cnt = 0;
        while ($record = $xoopsDB->fetchArray($rs))  {
            $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' TARGET='_blank'>".($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 );
}

?>