added hardware token add/list methods.
[ga4php.git] / gaas / lib / gaasdLib.php
index 9af4dfb..6d56e31 100644 (file)
@@ -14,7 +14,10 @@ if(file_exists($BASE_DIR."/gaas/gaasd/gaasd.sqlite")) {
        // then we check if the config vars we need exist in the db
        $backEndType = confGetVal("backend");
        
+       echo "backend type is $backEndType\n";
+       
        if($backEndType == "AD") {
+               echo "init state should be true\n";
                $backEnd = "AD";
                
                // TODO: we should now check all vars are set, but for now this will surfice
@@ -46,11 +49,13 @@ function createDB()
                return false;
        }
        
-       if($backEnd == "IN") {
-               $sql = 'CREATE TABLE "users" ("users_id" INTEGER PRIMARY KEY AUTOINCREMENT,"users_username" TEXT, "users_realname" TEXT, "users_password" TEXT, "users_tokendata" TEXT, "users_otk" TEXT);';
-               $dbobject->query($sql);
-       }
-       
+       // users_tokendata is used by ga4php, users_otk is the qrcode data link if needed, 
+       // tokentype is the software/hardware token types
+       $sql = 'CREATE TABLE "users" ("users_id" INTEGER PRIMARY KEY AUTOINCREMENT,"users_username" TEXT, "users_realname" TEXT, "users_password" TEXT, "users_tokendata" TEXT, "users_qrcodeid" TEXT, "user_enabled" TEXT, "users_tokentype" TEXT);';
+       $dbobject->query($sql);
+       //if(!$res) {
+               //echo "Create user table failed\n";
+       //}
        $sql = 'CREATE TABLE "config" ("conf_id" INTEGER PRIMARY KEY AUTOINCREMENT,"conf_name" TEXT, "conf_value" TEXT);';
        $dbobject->query($sql);
        $sql = 'CREATE TABLE "radclients" ("rad_id" INTEGER PRIMARY KEY AUTOINCREMENT,"rad_name" TEXT, "rad_ip" TEXT, "rad_secret" TEXT, "rad_desc" TEXT);';
@@ -93,6 +98,28 @@ function confDelVar($varname)
        return true;
 }
 
+
+function hasToken($username)
+{
+       $db = getDB();
+       
+       $sql = "select * from users where users_username='$username'";
+       $res = $db->query($sql);
+       if(!$res) return false;
+       foreach($res as $row) {
+               print_r($row);
+       }
+       
+       return true;
+}
+
+function createUserInDB($username, $realname)
+{
+       $db = getDB();
+       
+       $sql = "insert into users values (NULL, '$username', '$realname', '', '$data', '', '1', '')";           
+}
+
 // a funciton to deal with Config Vars
 function confGetVal($varname)
 {
@@ -170,15 +197,17 @@ class gaasdGA extends GoogleAuthenticator
                
                // we need to check if the user exists, and if so put the data, if not create the data
                $sql = "select * from users where users_username='$username'";
+               echo "sql was: $sql\n";
                $res = $dbObject->query($sql);
                if($res->fetchColumn() > 0) {
                        // do update
                        //error_log("doing userdata update");
+                       //"users_id" INTEGER PRIMARY KEY AUTOINCREMENT,"users_username" TEXT, "users_realname" TEXT, "users_password" TEXT, "users_tokendata" TEXT, "users_qrcodeid" TEXT, "user_enabled" TEXT, "users_tokentype" TEXT)
                        $sql = "update users set users_tokendata='$data' where users_username='$username'";
                } else {
                        // do insert
                        //error_log("doing user data create");
-                       $sql = "insert into users values (NULL, '$username', '', '', '$data', '')";
+                       $sql = "insert into users values (NULL, '$username', '', '', '$data', '', '1', 'software')";
                }
                
                if($dbObject->query($sql)) {