home *** CD-ROM | disk | FTP | other *** search
/ Image Master / L80.iso / Net / websuite / websuite.exe / LOGLIST.AP_ / LOGLIST.AP
Encoding:
Text File  |  1997-12-08  |  3.9 KB  |  159 lines

  1. <[
  2. // SmartDesk's Personal Web Server - Log List
  3. // (c) 1997 SmartDesk, Inc., All Rights Reserved
  4.  
  5. // Main Routine
  6.  
  7.     _apGenerate( )
  8.  
  9.     websrvr = 0 + param( 1 )
  10.     sessionId = 0 + param( 2 )
  11.  
  12.     pageSize = 50
  13.  
  14.     session = new( "session", websrvr, sessionId )
  15.     if ( ! session.secure( "Server.Access" ) )
  16.         return( 0 )
  17.     end
  18.  
  19.     data = session.var( "OFFSET" )
  20.     if ( type( data ) != "C" )
  21.         data = "0"
  22.     end
  23.     offset = 0 + data
  24.  
  25.     path = webServerBaseDir( websrvr )
  26.  
  27.     dbname = fileFixPath( path + '\sdweblog.db' )
  28.     if ( ! fileExists( dbname ) )
  29.         session.error( "No data available...<BR>Use the SERVER CONSOLE to update log information." )
  30.         return(0)
  31.     end
  32.  
  33.     db = dbuse( dbname, "log", 1 )
  34.     if ( ! db )
  35.         session.error( "Error accessing log file." )
  36.         return( 0 )
  37.     end
  38.  
  39.     log->dbGoTop( )
  40.     startdate = log->date
  41.     starttime = log->time
  42.  
  43.     log->dbGoBottom( )
  44.     stopdate = log->date
  45.     stoptime = log->time
  46.     reccnt = log->recno( )
  47.  
  48.     if ( offset >= reccnt - pageSize )
  49.         offset = reccnt - pageSize
  50.     end
  51.     if ( offset < 0 )
  52.         offset = 0
  53.     end
  54.  
  55.     curpage = int( ( offset / pageSize ) + 1 )
  56.     ttlpages = int( reccnt / pageSize )
  57.     if ( ttlpages < 1 )
  58.         ttlpages = 1
  59.     end
  60.     if ( curpage > ttlpages )
  61.         curpage = ttlpages
  62.     end
  63.     
  64. ]>
  65. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  66. <!-- SmartDesk Active Page, www.smartdesk.com -->
  67. <HTML>
  68. <HEAD>
  69. <TITLE>Server Log List</TITLE>
  70. </HEAD>
  71. <BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#00FFFF" VLINK="#00FFFF" ALINK="#00FFFF">
  72.  
  73. <CENTER>
  74. <FONT SIZE=2 COLOR="#B0B0B0">
  75. <[
  76.     ! "Log information from <B>" + startdate + " " + starttime + "</B> to <B>" + stopdate + " " + stoptime + "</B><BR>"
  77.     ! "Currently on page <B>" + curpage  + "</B> of <B>" + ttlpages + "</B>, with a total of <B>" + strcommas( "" + reccnt ) + "</B> records"
  78. ]>
  79. </FONT>
  80. <H1>SmartDesk Personal Web Server<BR>Server Log List</H1>
  81.  
  82. <A HREF="loglist.ap?offset=<[ ! ( offset - pageSize ) ]>">Previous</A> |
  83. <A HREF="loglist.ap?offset=<[ ! ( offset + pageSize ) ]>">Next</A> |
  84. <A HREF="loglist.ap?offset=0">Top</A> |
  85. <A HREF="loglist.ap?offset=<[ ! ( reccnt - pageSize ) ]>">Bottom</A> |
  86. <A HREF="server.ap">Server</A>
  87.  
  88. <TABLE BORDER=0 WIDTH=600>
  89.  <TR>
  90.   <TD WIDTH=120><FONT COLOR="#000000">.</FONT></A></TD>
  91.   <TD WIDTH=80><FONT COLOR="#000000">.</FONT></A></TD>
  92.   <TD WIDTH=80><FONT COLOR="#000000">.</FONT></A></TD>
  93.   <TD WIDTH=80><FONT COLOR="#000000">.</FONT></A></TD>
  94.   <TD WIDTH=240><FONT COLOR="#000000">.</FONT></A></TD>
  95.  </TR>
  96.  
  97. <[
  98.  
  99.     log->dbGoTop( )
  100.     if ( offset )
  101.         log->dbSkip( offset )
  102.     end
  103.     i=0
  104.  
  105.     while ( ! log->dbEOF( ) )
  106.         i++
  107.  
  108.         if ( i > pageSize )
  109.             break
  110.         end
  111.         
  112.         if ( ! log->dbIsDeleted( ) )
  113.             ! "     <TR>"
  114.             ! "   <TD><FONT COLOR=\"#FFFF00\">" + rtrim( log->ip_addr ) + "</FONT></TD>"
  115.             ! "   <TD><FONT COLOR=\"#00FF00\">" + rtrim( log->date ) + "</FONT></TD>"
  116.             ! "   <TD><FONT COLOR=\"#00FF00\">" + rtrim( log->time ) + "</FONT></TD>"
  117.             ! "   <TD><FONT COLOR=\"#B0B0B0\" SIZE=1>" + rtrim( log->command ) + "</FONT></TD>"
  118.             data = lower( rtrim( log->data ) )
  119.             switch ( rtrim( log->command ) )
  120.               case "GET"
  121.               case "PUT"
  122.               case "HEAD"
  123.                 ! "   <TD><A HREF=\"" + data + "\">" + data + "</A></TD>"
  124.                 break
  125.               case "AP_SERVE_FILE"
  126.                   if ( session.data( "REMOTE_ADDR" ) == webLocalHost( ) )
  127.                     ! "   <TD><A HREF=\"file:///" + chrswap( chrswap( data, ":", "|" ), "\\", "/" ) + "\">" + data + "</A></TD>"
  128.                 else
  129.                     ! "   <TD>" + data + "</TD>"
  130.                 end
  131.                 break
  132.               default
  133.                 ! "   <TD>" + data + "</TD>"
  134.             end
  135.             ! "  </TR>"
  136.         end
  137.  
  138.         log->dbSkip( )
  139.     end
  140.     log->dbClose( )
  141. ]>
  142.  
  143.  </TR>
  144. </TABLE>
  145.  
  146. <P>
  147. <A HREF="loglist.ap?offset=<[ ! ( offset - pageSize ) ]>">Previous</A> |
  148. <A HREF="loglist.ap?offset=<[ ! ( offset + pageSize ) ]>">Next</A> |
  149. <A HREF="loglist.ap?offset=0">Top</A> |
  150. <A HREF="loglist.ap?offset=<[ ! ( reccnt - pageSize ) ]>">Bottom</A> |
  151. <A HREF="server.ap">Server</A>
  152. </P>
  153.  
  154. </CENTER>
  155.  
  156. </BODY>
  157. </HTML>
  158.  
  159.