/lib/kos_authenticate.php |
@@ -0,0 +1,103 @@ |
<?php |
|
///////////////////////////////////////////////////////////// |
// Wizardry and Steamworks (c) was.fm - 2013, License: MIT // |
// // |
// Permission is hereby granted, free of charge, to any // |
// person obtaining a copy of this software and associated // |
// documentation files (the "Software"), to deal in the // |
// Software without restriction, //including without // |
// limitation the rights to use, copy, modify, merge, // |
// publish, distribute, sublicense, and/or sell copies of // |
// the Software, and to permit persons to whom the // |
// Software is furnished to do so, subject to the // |
// following conditions: // |
// // |
// The above copyright notice and this permission notice // |
// shall be included in all copies or substantial portions // |
// of the Software. // |
// // |
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF // |
// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT // |
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS // |
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO // |
// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE // |
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER // |
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // |
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR // |
// THE USE OR OTHER DEALINGS IN THE SOFTWARE. // |
///////////////////////////////////////////////////////////// |
|
/* Requires pear module HTTP Request2 and XML Serializer. */ |
require_once 'HTTP/Request2.php'; |
require_once 'XML/Serializer.php'; |
|
class KOS_Authenticate { |
|
var $url; |
var $pwd; |
|
function KOS_Authenticate($url,$pwd) { |
$this->url = $url; |
$this->pwd = $pwd; |
} |
|
function authenticate($firstname, $lastname, $password, $tokentime) { |
$request = new HTTP_Request2($this->url, HTTP_Request2::METHOD_POST); |
$options = |
array ( |
"indent" => " ", |
"linebreak" => "\n", |
"typeHints" => false, |
"addDecl" => true, |
"encoding" => "UTF-8", |
"rootName" => "methodCall", |
"defaultTagName" => "member", |
"mode" => "simplexml" |
); |
|
$serializer = new XML_Serializer($options); |
$xml = array( |
"methodName" => htmlspecialchars('admin_authenticate_user'), |
"params" => |
array( "param" => |
array( "value" => |
array("struct" => |
array( |
"member" => |
array( |
"name" => 'password', |
"value" => array( |
"string" => htmlspecialchars($this->pwd) |
), |
), |
array( |
"name" => 'user_firstname', |
"value" => htmlspecialchars($firstname) |
), |
array( |
"name" => 'user_lastname', |
"value" => htmlspecialchars($lastname) |
), |
array( |
"name" => 'user_password', |
"value" => htmlspecialchars($password) |
), |
array( |
"name" => 'token_lifetime', |
"value" => htmlspecialchars($tokentime) |
), |
), |
), |
), |
), |
); |
|
$serializer->serialize($xml); |
$xml_load = $serializer->getSerializedData(); |
$request->setBody($xml_load); |
return $request->send()->getBody(); |
} |
} |
|
?> |