X-Git-Url: http://git.pjr.cc/?p=ga4php.git;a=blobdiff_plain;f=authserver%2Flib%2Flib.php;h=efc6d95a58fb5556813966d64c87f2e40e909caf;hp=dadbc0f4092d931057d8de9b78496ed98ef77ec1;hb=bd517aaa43fe3437889f4199730bcab1a8519168;hpb=9a57622f51f1f60be1a822a55bba448415b6a058 diff --git a/authserver/lib/lib.php b/authserver/lib/lib.php index dadbc0f..efc6d95 100644 --- a/authserver/lib/lib.php +++ b/authserver/lib/lib.php @@ -1,9 +1,122 @@ query($sql); + } + return $dbobject; +} +function closeDatabase($db) { + // doesnt do anything yet +} + +class gaasGA extends GoogleAuthenticator { + function getData($username) { + + // get our database connection + $dbObject = getDatabase(); + + // set the sql for retreiving the data + $sql = "select users_tokendata from users where users_username='$username'"; + + // run the query + $result = $dbObject->query($sql); + + // check the result + if(!$result) return false; + + // now just retreieve all the data (there should only be one, but whatever) + $tokendata = false; + foreach($result as $row) { + $tokendata = $row["users_tokendata"]; + } + + // now we have our data, we just return it. If we got no data + // we'll just return false by default + return $tokendata; + + // and there you have it, simple eh? + } + + + // now we need a function for putting the data back into our user table. + // in this example, we wont check anything, we'll just overwrite it. + function putData($username, $data) { + // get our database connection + $dbObject = getDatabase(); + + // set the sql for updating the data + // token data is stored as a base64 encoded string, it should + // not need to be escaped in any way prior to storing in a database + // but feel free to call your databases "addslashes" (or whatever) + // function on $data prior to doing the SQL. + $sql = "delete from users where users_username='$username'"; + $dbObject->query($sql); + + $sql = "insert into users values (NULL, '$username', '$data')"; + + + // now execute the sql and return straight away - you should probably + // clean up after yourselves, but im going to assume pdo does this + // for us anyway in this exmaple + if($dbObject->query($sql)) { + return true; + } else { + return false; + } + + // even simpler! + } + + function getUsers() { + // get our database connection + $dbObject = getDatabase(); + + // now the sql again + $sql = "select users_username from users"; + + // run the query + $result = $dbObject->query($sql); + + // iterate over the results - we expect a simple array containing + // a list of usernames + $i = 0; + $users = array(); + foreach($result as $row) { + $users[$i] = $row["username"]; + $i++; + } + + // now return the list + return $users; + } } ?> \ No newline at end of file