Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function sendAuthorization($id, $minutes, $url) {
- global $unifiServer;
- global $unifiUser;
- global $unifiPass;
- // Start Curl for login
- $ch = curl_init();
- // We are posting data
- curl_setopt($ch, CURLOPT_POST, TRUE);
- // Set up cookies
- $cookie_file = "/tmp/unifi_cookie";
- curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
- curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
- // Allow Self Signed Certs
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
- // Force SSL3 only
- curl_setopt($ch, CURLOPT_SSLVERSION, 3);
- // Login to the UniFi controller
- curl_setopt($ch, CURLOPT_URL, "$unifiServer/login");
- curl_setopt($ch, CURLOPT_POSTFIELDS,"login=login&username=$unifiUser&password=$unifiPass");
- curl_exec ($ch);
- curl_close ($ch);
- // Send user to authorize and the time allowed
- $data = json_encode(array(
- 'cmd'=>'authorize-guest',
- 'mac'=>$id,
- 'minutes'=>$minutes));
- $ch = curl_init();
- // We are posting data
- curl_setopt($ch, CURLOPT_POST, TRUE);
- // Set up cookies
- $cookie_file = "/tmp/unifi_cookie";
- curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
- curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
- // Allow Self Signed Certs
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
- // Force SSL3 only
- curl_setopt($ch, CURLOPT_SSLVERSION, 3);
- // Make the API Call
- curl_setopt($ch, CURLOPT_URL, $unifiServer.'/api/cmd/stamgr');
- curl_setopt($ch, CURLOPT_POSTFIELDS, 'json='.$data);
- curl_exec ($ch);
- curl_close ($ch);
- // Logout of the connection
- $ch = curl_init();
- // We are posting data
- curl_setopt($ch, CURLOPT_POST, TRUE);
- // Set up cookies
- $cookie_file = "/tmp/unifi_cookie";
- curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
- curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
- // Allow Self Signed Certs
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
- // Force SSL3 only
- curl_setopt($ch, CURLOPT_SSLVERSION, 3);
- // Make the API Call
- curl_setopt($ch, CURLOPT_URL, $unifiServer.'/logout');
- curl_exec ($ch);
- curl_close ($ch);
- echo "Login successful, I should redirect to: " . $url; //$_SESSION['url'];
- sleep(8); // Small sleep to allow controller time to authorize
- header('Location: ' . $url);//$_SESSION['url']);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement