Index: trunk/ippMonitor/raw/ipp.php
===================================================================
--- trunk/ippMonitor/raw/ipp.php	(revision 9009)
+++ trunk/ippMonitor/raw/ipp.php	(revision 9016)
@@ -15,10 +15,9 @@
 }
 
-function dbconnect () {
+function dbconnect ($database) {
 
   // connect to the database
   require_once('DB.php');
-  // $db = DB::connect("mysql://ipp:ipp@localhost/ipp");
-  $db = DB::connect("mysql://ipp:ipp@localhost/detrend");
+  $db = DB::connect("mysql://ipp:ipp@alala/$database");
   if (DB::iserror($db)) {
     echo "<b>error accessing database</b><br>\n";
@@ -40,7 +39,18 @@
   $password = $_POST[password];
 
+  $db = dbconnect('ippadmin');
+
   // make this a DB lookup
-  $success = (($username == "eugene") && ($password == "test"));
-
+  $sql = "SELECT username FROM users WHERE username = '$username' AND password = '$password'";
+
+  $qry = $db->query($sql);
+  if (DB::iserror($db)) {
+    echo "<b>error reading users table</b><br>\n";
+    echo "Login Failed, please try again<br>\n";
+    loginform ();
+    menu_end();
+  }
+  
+  $success = $qry->fetchInto($row);
   if (!$success) {  
     menu ('ipp.menu.dat', 'Login', 'ipp.css', '');
@@ -53,6 +63,26 @@
   // generate an random ephemeral ID
   $ID['name'] = $username;
-  $ID['pass'] = "foobar";
   $ID['proj'] = "";
+
+  // generate a cookie for the user
+  $sql = "SELECT username,cookie FROM cookies WHERE username = '$username'";
+  $qry = $db->query($sql);
+  if (DB::iserror($db)) {
+    echo "Cookie Failed, please try again<br>\n";
+    menu_end();
+  }
+
+  if ($qry->fetchInto($row)) {
+    $ID['pass'] = $row[1];
+  } else {
+    $cookie = rand(0,100000);
+    $ID['pass'] = $cookie;
+    $sql = "INSERT into cookies (username, cookie) values ('$username', '$cookie')";
+    $qry = $db->query($sql);
+    if (DB::iserror($db)) {
+      echo "Cookie Failed, please try again<br>\n";
+      menu_end();
+    }
+  }
 
   // the link is attached to every nav link
@@ -107,6 +137,20 @@
   }
 
-  // user supplied an invalid pass
-  if ($ID['pass'] != "foobar") {
+  $db = dbconnect ('ippadmin');
+
+  // make this a DB lookup
+  $pass = $ID['pass'];
+  $sql = "SELECT username FROM cookies WHERE cookie = '$pass'";
+  $qry = $db->query($sql);
+  if (DB::iserror($db)) {
+    echo "<b>error reading users table</b><br>\n";
+    echo "Login Failed, please try again<br>\n";
+    loginform ();
+    menu_end();
+  }
+  
+  # $success = (($username == "eugene") && ($password == "test"));
+  $success = $qry->fetchInto($row);
+  if (! $success) {
     menu('ipp.menu.dat', 'Login', 'ipp.css', '');
     echo "unknown user, please login again<br>\n";
@@ -114,14 +158,13 @@
     menu_end ();
   }
-
   // use the pass value to find the corresponding user
-  $ID['name'] = "eugene";
+  $ID['name'] = $row[0];
 
   // $link is attached to every nav link
   $ID['link'] = "pass=" . $ID['pass'];
   if ($ID['proj']) {
-    $ID['link'] = $link . "&proj=" . $ID['proj'];
-  }
-
+    $ID['link'] = $ID['link'] . "&proj=" . $ID['proj'];
+  }
+  
   return $ID;
 }
