Advertisement
Guest User

Untitled

a guest
Feb 17th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. function sendAuthorization($id, $minutes, $url) {
  2. global $unifiServer;
  3. global $unifiUser;
  4. global $unifiPass;
  5.  
  6. // Start Curl for login
  7. $ch = curl_init();
  8. // We are posting data
  9. curl_setopt($ch, CURLOPT_POST, TRUE);
  10. // Set up cookies
  11. $cookie_file = "/tmp/unifi_cookie";
  12. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  13. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  14. // Allow Self Signed Certs
  15. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  16. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  17. // Force SSL3 only
  18. curl_setopt($ch, CURLOPT_SSLVERSION, 3);
  19. // Login to the UniFi controller
  20. curl_setopt($ch, CURLOPT_URL, "$unifiServer/login");
  21. curl_setopt($ch, CURLOPT_POSTFIELDS,"login=login&username=$unifiUser&password=$unifiPass");
  22. curl_exec ($ch);
  23. curl_close ($ch);
  24.  
  25. // Send user to authorize and the time allowed
  26. $data = json_encode(array(
  27. 'cmd'=>'authorize-guest',
  28. 'mac'=>$id,
  29. 'minutes'=>$minutes));
  30. $ch = curl_init();
  31. // We are posting data
  32. curl_setopt($ch, CURLOPT_POST, TRUE);
  33. // Set up cookies
  34. $cookie_file = "/tmp/unifi_cookie";
  35. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  36. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  37. // Allow Self Signed Certs
  38. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  39. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  40. // Force SSL3 only
  41. curl_setopt($ch, CURLOPT_SSLVERSION, 3);
  42. // Make the API Call
  43. curl_setopt($ch, CURLOPT_URL, $unifiServer.'/api/cmd/stamgr');
  44. curl_setopt($ch, CURLOPT_POSTFIELDS, 'json='.$data);
  45. curl_exec ($ch);
  46. curl_close ($ch);
  47.  
  48. // Logout of the connection
  49. $ch = curl_init();
  50. // We are posting data
  51. curl_setopt($ch, CURLOPT_POST, TRUE);
  52. // Set up cookies
  53. $cookie_file = "/tmp/unifi_cookie";
  54. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  55. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  56. // Allow Self Signed Certs
  57. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  58. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  59. // Force SSL3 only
  60. curl_setopt($ch, CURLOPT_SSLVERSION, 3);
  61. // Make the API Call
  62. curl_setopt($ch, CURLOPT_URL, $unifiServer.'/logout');
  63. curl_exec ($ch);
  64. curl_close ($ch);
  65. echo "Login successful, I should redirect to: " . $url; //$_SESSION['url'];
  66. sleep(8); // Small sleep to allow controller time to authorize
  67. header('Location: ' . $url);//$_SESSION['url']);
  68. }
  69. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement