import torrus 1.0.9
[freeside.git] / fs_selfservice / fri / includes / login.php
index 826692c..41bb7a6 100644 (file)
@@ -279,6 +279,44 @@ class Login {
         $_SESSION['ari_error'] = _("Incorrect Username or Password");
       }
 
+      // freeside login
+      $freeside = new FreesideSelfService();
+      $domain = 'svc_phone';
+      $response = $freeside->login( array( 
+        'username' => strtolower($username),
+        'domain'   => $domain,
+        'password' => strtolower($password),
+      ) );
+      error_log("[login] received response from freeside: $response");
+      $error = $response['error'];
+
+      if ( ! $error && $response['session_id'] ) {
+
+          // sucessful freeside login
+          error_log("[login] logged into freeside with session_id=$session_id");
+      
+          // store session id in your session store, to be used for other calls
+          //$fs_session_id = $response['session_id'];
+          $_SESSION['freeside_session_id'] = $response['session_id'];
+
+          $customer_info = $freeside->customer_info( array(
+            'session_id' => $_SESSION['freeside_session_id'] ,
+          ) );
+          //XXX error checking here too
+          $displayname = $customer_info['name'];
+      
+      } else {
+      
+          // unsucessful login
+          error_log("[login] error logging into freeside: $error");
+          $auth = false;
+          $extension = '';
+
+          // display error message to user
+          $_SESSION['ari_error'] = _("Incorrect Username or Password");
+      
+      }
+
       // if authenticated and user wants to be remembered, set cookie 
       $remember = '';
       if (isset($_POST['remember'])) {
@@ -474,4 +512,4 @@ class Login {
 }
 
 
-?>
\ No newline at end of file
+?>