From 6b0a4d859552aefcad418b6c407c0c379802a7bc Mon Sep 17 00:00:00 2001 From: Mark Schouten Date: Fri, 26 Sep 2014 12:02:56 +0200 Subject: [PATCH] Allow authentication via Wefact --- includes/wefactauth.inc.php | 67 +++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 includes/wefactauth.inc.php diff --git a/includes/wefactauth.inc.php b/includes/wefactauth.inc.php new file mode 100644 index 0000000..ad3fcd5 --- /dev/null +++ b/includes/wefactauth.inc.php @@ -0,0 +1,67 @@ +url = $wefactapiurl; + $this->api_key = $wefactapikey; + } + + public function sendRequest($controller, $action, $params){ + + if(is_array($params)){ + $params['api_key'] = $this->api_key; + $params['controller'] = $controller; + $params['action'] = $action; + } + + $ch = curl_init(); + curl_setopt($ch,CURLOPT_URL, $this->url); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_TIMEOUT,'10'); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); + $curlResp = curl_exec($ch); + $curlError = curl_error($ch); + + if ($curlError != ''){ + $result = array( + 'controller' => 'invalid', + 'action' => 'invalid', + 'status' => 'error', + 'date' => date('c'), + 'errors' => array($curlError) + ); + }else{ + $result = json_decode($curlResp, true); + } + + return $result; + } +} + + +function do_wefact_auth($u, $p) { + $wefact = new WeFactApi(); + $r = $wefact->sendRequest('debtor', 'checklogin', array( + 'Username' => $u, + 'Password' => $p + )); + + if (isset($r['status']) && $r['status'] == 'success') { + return TRUE; + } + + return FALSE; +} + +?>