Show the log one day at a time.
authorarjen <arjen>
Tue, 15 Jul 2003 11:03:39 +0000 (11:03 +0000)
committerarjen <arjen>
Tue, 15 Jul 2003 11:03:39 +0000 (11:03 +0000)
src/web/log.php

index 9fcfe34..bee2061 100644 (file)
@@ -9,7 +9,7 @@
 ***********************
 **      FILE NAME      : log.php
 **      SYSTEM NAME    : Gnucomo - Gnu Computer Monitoring
-**      VERSION NUMBER : $Revision: 1.3 $
+**      VERSION NUMBER : $Revision: 1.4 $
 **
 **  DESCRIPTION      : Logs page
 **
 ********************************
 **      ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
 **      CREATION DATE   : Dec 04, 2002
-**      LAST UPDATE     : Feb 16, 2003
+**      LAST UPDATE     : Jul 15, 2003
 **      MODIFICATIONS   : 
 **************************************************************************/
 
 /*****************************
    $Log: log.php,v $
-   Revision 1.3  2003-02-21 08:50:12  arjen
+   Revision 1.4  2003-07-15 11:03:39  arjen
+   Show the log one day at a time.
+
+   Revision 1.3  2003/02/21 08:50:12  arjen
    Database optimizations.
 
    Revision 1.2  2003/02/13 09:01:29  arjen
@@ -38,7 +41,7 @@
 
 ******************************/
 
-// RCSID = "$Id: log.php,v 1.3 2003-02-21 08:50:12 arjen Exp $";
+// RCSID = "$Id: log.php,v 1.4 2003-07-15 11:03:39 arjen Exp $";
 
 ini_set('include_path', '.:./classes:../phpclasses');
 
@@ -52,14 +55,51 @@ class log_page extends page
    {
       if (!empty($_GET['oid']))
       {
-         $res = pg_exec($this->database, "SELECT objectname FROM object WHERE objectid=CAST'" . $_GET['oid']. "' AS BIGINT)");
+         $res = pg_exec($this->database, "SELECT objectname FROM object WHERE objectid=CAST('" . $_GET['oid']. "' AS BIGINT)");
          $obj = pg_fetch_object($res, 0);
          echo "<h1>Log for " . $obj->objectname . "</h1><hr>";
 
+         //  Determine which day to display.
+         //  This is either from a previous button though a _POST[] variable
+         //  or the last day in the log table by default.
+
+         if (empty($_POST['logday']))
+         {
+            $res = pg_exec($this->database, "SELECT date_trunc('day',object_timestamp) FROM log
+                                  WHERE objectid='". $_GET['oid'] ."'
+                                  ORDER BY object_timestamp DESC LIMIT 1");
+
+            $last_time = pg_fetch_object($res, 0);
+            $logday = strtotime($last_time->date_trunc);
+         }
+         else
+         {
+            $logday = $_POST['logday'];
+         }
+
+         //  Make buttons to request the previous and the next day of logs.
+
+         echo "<form method='POST'>";
+         echo "<input type='submit' value='<<'>";
+         echo "<input type='hidden' name='logday' value='" . ($logday - 24 * 60 * 60) . "'>";
+         echo "</form>";
+
+         echo "<h3>" . date('F d, Y', $logday) ."</h3>";
+
+         echo "<form method='POST'>";
+         echo "<input type='submit' value='>>'>";
+         echo "<input type='hidden' name='logday' value='" . ($logday + 24 * 60 * 60) . "'>";
+         echo "</form>";
+
+         // Show the log for one day only.
+
          $res = pg_exec($this->database, "SELECT object_timestamp, servicecode, rawdata FROM log "
-                        ."WHERE objectid = CAST('" . $_GET['oid'] . "' AS BIGINT) ");
+                        ."WHERE objectid = CAST('" . $_GET['oid'] . "' AS BIGINT)
+                         AND date_trunc('day', object_timestamp)='" . date('Y-m-d', $logday) . "'
+                         ORDER BY object_timestamp");
 
-         echo "<table>";
+         echo "<table>\n";
+         echo "<tr><th>Date</th><th>Service</th><th>Log</th></tr>\n";
          $row = 0;
          while ($row < pg_numrows($res))
          {