Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
141b0ff55f | ||
|
|
e6ffb2e5de | ||
|
|
746a29fbcf | ||
|
|
6fd7e6e598 | ||
|
|
4611dbb28c | ||
|
|
cc486f652d | ||
|
|
008280e870 | ||
|
|
971c77ab5f | ||
|
|
03cb083986 | ||
|
|
8df2fcc522 | ||
|
|
eba7819c17 | ||
|
|
462d8a81a1 | ||
|
|
0373c8369f | ||
|
|
cf41e75269 | ||
|
|
e235267a8a | ||
|
|
9896f6d85f | ||
|
|
4f84cfc550 | ||
|
|
efa6704c97 | ||
|
|
5c893c1237 | ||
|
|
ab38e6f7ad | ||
|
|
0ac6653ec0 | ||
|
|
34c0acf813 | ||
|
|
b9067cd2b0 | ||
|
|
3a23ad15c1 | ||
|
|
9f79d825c4 | ||
|
|
8155b81fed | ||
|
|
edf91b19da | ||
|
|
15c9112894 | ||
|
|
0ec9d8735d | ||
|
|
3819cc8986 | ||
|
|
cd24ef1c2c | ||
|
|
e4d368cc72 |
193
README.md
193
README.md
@@ -1,64 +1,61 @@
|
|||||||
## UniFi controller API client class
|
## UniFi controller API client class
|
||||||
|
|
||||||
This PHP class provides access to the **UniFi Controller API** and is based off the work of @domwo and @fbagnol and the API shell client as published by UBNT.
|
A PHP class which provides access to Ubiquiti's **UniFi Controller API**. Versions 4.x.x and 5.x.x of the UniFi Controller software are supported (version 5.6.18 has been confirmed to work). It's a standalone version of the class which is used in our API browser tool [here](https://github.com/Art-of-WiFi/UniFi-API-browser).
|
||||||
|
|
||||||
Please refer to the code samples in the `examples` directory for a starting point for your own PHP code.
|
This class can now also be installed using composer/[packagist](https://packagist.org/packages/art-of-wifi/unifi-api-client) for easy inclusion in your projects.
|
||||||
|
|
||||||
### Donations
|
### Donations
|
||||||
If you'd like to support further development of this PHP API client class, please use the donate button below. All donations go to the project maintainer.
|
|
||||||
|
|
||||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=M7TVNVX3Z44VN)
|
If you'd like to support further development of this PHP API client class, please use the PayPal donate button below. All donations go to the project maintainer.
|
||||||
|
|
||||||
### Install
|
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=M7TVNVX3Z44VN)
|
||||||
|
|
||||||
Simply execute this command from your project directory:
|
## Methods and functions supported
|
||||||
|
|
||||||
```
|
The class currently supports the following functions/methods to get/post/put/delete data through the UniFi controller API:
|
||||||
composer require art-of-wifi/unifi-api-client
|
|
||||||
```
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
- a web server with PHP and cURL modules installed (tested on apache2 with PHP Version 5.6.1 and cURL 7.42.1)
|
|
||||||
- network connectivity between this web server and the server and port (normally port 8443) where the UniFi controller is running
|
|
||||||
|
|
||||||
### Methods and functions supported
|
|
||||||
|
|
||||||
This class currently supports the following functions/methods to get/set data through the UniFi controller API:
|
|
||||||
- login()
|
- login()
|
||||||
- logout()
|
- logout()
|
||||||
- add_site()
|
|
||||||
- adopt_device()
|
- adopt_device()
|
||||||
- authorize_guest()
|
- authorize_guest()
|
||||||
- unauthorize_guest()
|
|
||||||
- block_sta()
|
- block_sta()
|
||||||
- unblock_sta()
|
- count_alarms()
|
||||||
- create_hotspotop()
|
- create_hotspotop()
|
||||||
|
- create_network()
|
||||||
|
- create_radius_account()
|
||||||
|
- create_site()
|
||||||
|
- create_usergroup()
|
||||||
- create_voucher()
|
- create_voucher()
|
||||||
|
- create_wlan()
|
||||||
|
- delete_network()
|
||||||
|
- delete_radius_account()
|
||||||
- delete_site()
|
- delete_site()
|
||||||
|
- delete_usergroup()
|
||||||
|
- delete_wlan()
|
||||||
- disable_ap()
|
- disable_ap()
|
||||||
|
- edit_usergroup()
|
||||||
|
- extend_guest_validity()
|
||||||
- led_override()
|
- led_override()
|
||||||
- list_admins()
|
- list_admins()
|
||||||
- list_alarms()
|
- list_alarms()
|
||||||
- count_alarms()
|
|
||||||
- upgrade_device()
|
|
||||||
- upgrade_device_external()
|
|
||||||
- spectrum_scan()
|
|
||||||
- spectrum_scan_state()
|
|
||||||
- list_devices()
|
|
||||||
- list_aps() (deprecated but still available as alias)
|
- list_aps() (deprecated but still available as alias)
|
||||||
- list_clients()
|
- list_clients()
|
||||||
|
- list_current_channels()
|
||||||
- list_dashboard()
|
- list_dashboard()
|
||||||
|
- list_devices()
|
||||||
|
- list_dpi_stats()
|
||||||
- list_dynamicdns()
|
- list_dynamicdns()
|
||||||
- list_events()
|
- list_events()
|
||||||
- list_extension()
|
- list_extension()
|
||||||
- list_guests()
|
- list_guests()
|
||||||
- list_health()
|
- list_health()
|
||||||
- list_hotspotop()
|
- list_hotspotop()
|
||||||
|
- list_known_rogueaps()
|
||||||
- list_networkconf()
|
- list_networkconf()
|
||||||
- list_portconf()
|
- list_portconf()
|
||||||
- list_portforward_stats()
|
- list_portforward_stats()
|
||||||
- list_portforwarding()
|
- list_portforwarding()
|
||||||
- list_radius_accounts() (supported on controller version 5.5.19 and higher)
|
- list_radius_accounts() (supported on controller version 5.5.19 and higher)
|
||||||
|
- list_radius_profiles()
|
||||||
- list_rogueaps()
|
- list_rogueaps()
|
||||||
- list_self()
|
- list_self()
|
||||||
- list_settings()
|
- list_settings()
|
||||||
@@ -68,82 +65,158 @@ This class currently supports the following functions/methods to get/set data th
|
|||||||
- list_users()
|
- list_users()
|
||||||
- list_wlan_groups()
|
- list_wlan_groups()
|
||||||
- list_wlanconf()
|
- list_wlanconf()
|
||||||
- list_current_channels()
|
- locate_ap()
|
||||||
- list_dpi_stats()
|
- power_cycle_switch_port()
|
||||||
- reconnect_sta()
|
- reconnect_sta()
|
||||||
- rename_ap()
|
- rename_ap()
|
||||||
- restart_ap()
|
- restart_ap()
|
||||||
- revoke_voucher()
|
- revoke_voucher()
|
||||||
- extend_guest_validity()
|
|
||||||
- set_ap_radiosettings()
|
- set_ap_radiosettings()
|
||||||
|
- set_device_settings_base()
|
||||||
- set_guestlogin_settings()
|
- set_guestlogin_settings()
|
||||||
- locate_ap()
|
|
||||||
- set_locate_ap() (deprecated but still available as alias)
|
- set_locate_ap() (deprecated but still available as alias)
|
||||||
- unset_locate_ap() (deprecated but still available as alias)
|
- set_networksettings_base()
|
||||||
|
- set_radius_account_base()
|
||||||
- set_sta_name()
|
- set_sta_name()
|
||||||
- set_sta_note()
|
- set_sta_note()
|
||||||
- set_usergroup()
|
- set_usergroup()
|
||||||
- edit_usergroup()
|
- set_wlan_mac_filter()
|
||||||
- add_usergroup()
|
|
||||||
- delete_usergroup()
|
|
||||||
- edit_usergroup()
|
|
||||||
- add_usergroup()
|
|
||||||
- delete_usergroup()
|
|
||||||
- set_wlansettings()
|
- set_wlansettings()
|
||||||
- create_wlan()
|
- set_wlansettings_base()
|
||||||
- delete_wlan()
|
|
||||||
- site_leds()
|
- site_leds()
|
||||||
- site_ledsoff() (deprecated but still available as alias)
|
- site_ledsoff() (deprecated but still available as alias)
|
||||||
- site_ledson() (deprecated but still available as alias)
|
- site_ledson() (deprecated but still available as alias)
|
||||||
|
- spectrum_scan()
|
||||||
|
- spectrum_scan_state()
|
||||||
- stat_allusers()
|
- stat_allusers()
|
||||||
- stat_auths()
|
- stat_auths()
|
||||||
- stat_client()
|
- stat_client()
|
||||||
- stat_daily_site()
|
- stat_5minutes_aps() (supported on controller version 5.5.* and higher)
|
||||||
- stat_daily_aps()
|
|
||||||
- stat_hourly_aps()
|
- stat_hourly_aps()
|
||||||
|
- stat_daily_aps()
|
||||||
|
- stat_5minutes_site() (supported on controller version 5.5.* and higher)
|
||||||
- stat_hourly_site()
|
- stat_hourly_site()
|
||||||
|
- stat_daily_site()
|
||||||
- stat_payment()
|
- stat_payment()
|
||||||
- stat_sessions()
|
- stat_sessions()
|
||||||
- stat_sites()
|
- stat_sites()
|
||||||
- stat_sta_sessions_latest()
|
- stat_sta_sessions_latest()
|
||||||
|
- stat_status()
|
||||||
- stat_sysinfo()
|
- stat_sysinfo()
|
||||||
- stat_voucher()
|
- stat_voucher()
|
||||||
|
- unauthorize_guest()
|
||||||
|
- unblock_sta()
|
||||||
|
- unset_locate_ap() (deprecated but still available as alias)
|
||||||
|
- upgrade_device()
|
||||||
|
- upgrade_device_external()
|
||||||
|
|
||||||
Internal functions:
|
Internal functions, getters/setters:
|
||||||
- set_debug()
|
- set_debug()
|
||||||
|
- set_site()
|
||||||
|
- set_site()
|
||||||
|
- get_site()
|
||||||
|
- get_cookie() (renamed from getcookie())
|
||||||
- get_last_results_raw()
|
- get_last_results_raw()
|
||||||
- get_last_error_message()
|
- get_last_error_message()
|
||||||
|
|
||||||
Please refer to the source code for more details on each function/method and it's parameters.
|
Please refer to the source code for more details on each function/method and their parameters.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- a web server with PHP and cURL modules installed (tested on apache2 with PHP Version 5.6.1 and cURL 7.42.1)
|
||||||
|
- network connectivity between this web server and the server and port (normally TCP port 8443) where the UniFi controller is running
|
||||||
|
|
||||||
|
## Installation ##
|
||||||
|
|
||||||
|
You can use **Composer**, **Git** or simply **Download the Release** to install the API client class.
|
||||||
|
|
||||||
|
### Composer
|
||||||
|
|
||||||
|
The preferred method is via [composer](https://getcomposer.org). Follow the [installation instructions](https://getcomposer.org/doc/00-intro.md) if you do not already have composer installed.
|
||||||
|
|
||||||
|
Once composer is installed, simply execute this command from the shell in your project directory:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
composer require art-of-wifi/unifi-api-client
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally, be sure to include the autoloader in your code:
|
||||||
|
|
||||||
|
```php
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
```
|
||||||
|
|
||||||
|
### Git
|
||||||
|
|
||||||
|
Execute the following `git` command from the shell in your project directory:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/Art-of-WiFi/UniFi-API-client.git
|
||||||
|
```
|
||||||
|
|
||||||
|
When git is done cloning, include the file containing the class like so in your code:
|
||||||
|
|
||||||
|
```php
|
||||||
|
require_once('path/to/src/Client.php');
|
||||||
|
```
|
||||||
|
|
||||||
|
### Download the Release
|
||||||
|
|
||||||
|
If you prefer not to use composer or git, you can simply [download the package](https://github.com/Art-of-WiFi/UniFi-API-client/archive/master.zip), uncompress the zip file, then include the file containing the class in your code like so:
|
||||||
|
|
||||||
|
```php
|
||||||
|
require_once('path/to/src/Client.php');
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example usage
|
||||||
|
|
||||||
### Example usage
|
|
||||||
A basic example how to use the class:
|
A basic example how to use the class:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
|
/**
|
||||||
|
* load the class using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
...
|
|
||||||
/**
|
/**
|
||||||
* initialize the Unifi API connection class, log in to the controller and request the alarms collection
|
* initialize the Unifi API connection class, log in to the controller and request the alarms collection
|
||||||
* (this example assumes you have already assigned the correct values to the variables used)
|
* (this example assumes you have already assigned the correct values to the variables used)
|
||||||
*/
|
*/
|
||||||
$unifi_connection = new UniFi_API\Client($controller_user, $controller_password, $controller_url, $site_id, $controller_version);
|
$unifi_connection = new UniFi_API\Client($controller_user, $controller_password, $controller_url, $site_id, $controller_version, true);
|
||||||
$login = $unifi_connection->login();
|
$login = $unifi_connection->login();
|
||||||
$results = $unifi_connection->list_alarms(); // returns the alarms in a PHP array
|
$results = $unifi_connection->list_alarms(); // returns a PHP array containing alarm objects
|
||||||
...
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
>**NOTE:**
|
Please refer to the `examples/` directory for some more detailed examples which you can use as a starting point for your own PHP code.
|
||||||
>
|
|
||||||
>$site_id is the 8 character short site "name" which is visible in the URL when managing the site in the UniFi controller:
|
|
||||||
>
|
|
||||||
>```
|
|
||||||
>https://<controller IP address or FQDN>:8443/manage/site/jl3z2shm/dashboard
|
|
||||||
>```
|
|
||||||
>
|
|
||||||
>Here `jl3z2shm` is the value required for $site_id.
|
|
||||||
|
|
||||||
Have a look at the files in the `examples` directory for more examples how to use this class.
|
### IMPORTANT NOTES:
|
||||||
|
|
||||||
|
In the example above, the last parameter (`true`) that is passed to the constructor, enables validation of the controller's SSL certificate which is otherwise **disabled** by default.
|
||||||
|
It is highly recommended to enable this feature in production environments where you have a valid SSL cert installed on the UniFi controller, and which is associated with the FQDN of the server as used in the `controller_url` parameter. This option was added with API client version 1.1.16.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
In the example above, `$site_id` is the 8 character short site "name" which is visible in the URL when managing the site in the UniFi controller:
|
||||||
|
|
||||||
|
`https://<controller IP address or FQDN>:8443/manage/site/jl3z2shm/dashboard`
|
||||||
|
|
||||||
|
In this case, `jl3z2shm` is the value required for $site_id.
|
||||||
|
|
||||||
|
## Need help or have suggestions?
|
||||||
|
|
||||||
|
There is still work to be done to add functionality and improve the usability of this class, so all suggestions/comments are welcome. Please use the github [issue](https://github.com/Art-of-WiFi/UniFi-API-client/issues) list or the Ubiquiti Community forums (https://community.ubnt.com/t5/UniFi-Wireless/PHP-class-to-access-the-UniFi-controller-API-updates-and/td-p/1512870) to share your ideas/questions.
|
||||||
|
|
||||||
|
## Contribute
|
||||||
|
|
||||||
|
If you would like to contribute code (improvements), please open an issue and include your code there or else create a pull request.
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
This class is largely based on the work done by the following developers:
|
||||||
|
- domwo: http://community.ubnt.com/t5/UniFi-Wireless/little-php-class-for-unifi-api/m-p/603051
|
||||||
|
- fbagnol: https://github.com/fbagnol/class.unifi.php
|
||||||
|
- and the API as published by Ubiquiti: https://dl.ubnt.com/unifi/5.6.18-8261dc5066/unifi_sh_api
|
||||||
|
|
||||||
## Important Disclaimer
|
## Important Disclaimer
|
||||||
Many of these functions are not officially supported by UBNT and as such, may not be supported in future versions of the UniFi controller API.
|
|
||||||
|
Many of the functions in this API client class are not officially supported by UBNT and as such, may not be supported in future versions of the UniFi controller API.
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"UniFi-API\\": "src/"
|
"UniFi_API\\": "src/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,11 @@
|
|||||||
* description: example basic PHP script to fetch an Access Point's scanning state/results
|
* description: example basic PHP script to fetch an Access Point's scanning state/results
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
@@ -6,6 +6,11 @@
|
|||||||
* description: example basic PHP script to perform a basic auth of a guest device
|
* description: example basic PHP script to perform a basic auth of a guest device
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
@@ -6,6 +6,11 @@
|
|||||||
* description: example basic PHP script to auth a guest device and attach a note to it
|
* description: example basic PHP script to auth a guest device and attach a note to it
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
46
examples/change_wlan_password.php
Executable file
46
examples/change_wlan_password.php
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP API usage example
|
||||||
|
*
|
||||||
|
* contributed by: Art of WiFi
|
||||||
|
* description: example basic PHP script to change the WPA2 password/PSK of a WLAN, returns true on success
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
|
* see the config.template.php file for an example
|
||||||
|
*/
|
||||||
|
require_once('config.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The site to which the WLAN you want to modify belongs
|
||||||
|
*/
|
||||||
|
$site_id = '<enter your (short) site name here>';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* the id of the WLAN you wish to modify
|
||||||
|
*/
|
||||||
|
$wlan_id = '<the value of _id for the WLAN you wish to change>';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* the new WPA2 password/PSK to apply to the above WLAN
|
||||||
|
*/
|
||||||
|
$new_password = '<new password goes here>';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* initialize the UniFi API connection class and log in to the controller
|
||||||
|
*/
|
||||||
|
$unifi_connection = new UniFi_API\Client($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion);
|
||||||
|
$set_debug_mode = $unifi_connection->set_debug($debug);
|
||||||
|
$loginresults = $unifi_connection->login();
|
||||||
|
$results = $unifi_connection->set_wlansettings($wlan_id, $new_password);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* provide feedback in json format
|
||||||
|
*/
|
||||||
|
echo json_encode($results, JSON_PRETTY_PRINT);
|
||||||
@@ -3,9 +3,14 @@
|
|||||||
* PHP API usage example
|
* PHP API usage example
|
||||||
*
|
*
|
||||||
* contributed by: Art of WiFi
|
* contributed by: Art of WiFi
|
||||||
* description: example basic PHP script to create a set of vouchers
|
* description: example basic PHP script to create a set of vouchers, returns an array containing the newly created vouchers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
@@ -13,9 +18,9 @@
|
|||||||
require_once('config.php');
|
require_once('config.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the voucher duration in minutes
|
* minutes the voucher is valid after activation (expiration time)
|
||||||
*/
|
*/
|
||||||
$voucher_duration = 2000;
|
$voucher_expiration = 2000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the number of vouchers to create
|
* the number of vouchers to create
|
||||||
@@ -35,11 +40,16 @@ $set_debug_mode = $unifi_connection->set_debug($debug);
|
|||||||
$loginresults = $unifi_connection->login();
|
$loginresults = $unifi_connection->login();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* then we create the required number of vouchers for the requested duration
|
* then we create the required number of vouchers with the requested expiration value
|
||||||
*/
|
*/
|
||||||
$voucher_result = $unifi_connection->create_voucher($voucher_duration, $voucher_count);
|
$voucher_result = $unifi_connection->create_voucher($voucher_expiration, $voucher_count);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* provide feedback (the newly created voucher code, without the dash) in json format
|
* we then fetch the newly created vouchers by the create_time returned
|
||||||
*/
|
*/
|
||||||
echo json_encode($voucher_result, JSON_PRETTY_PRINT);
|
$vouchers = $unifi_connection->stat_voucher($voucher_result[0]->create_time);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* provide feedback (the newly created vouchers) in json format
|
||||||
|
*/
|
||||||
|
echo json_encode($vouchers, JSON_PRETTY_PRINT);
|
||||||
|
|||||||
@@ -6,6 +6,11 @@
|
|||||||
* description: example of how to extend validity of guest authorizations
|
* description: example of how to extend validity of guest authorizations
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
@@ -6,6 +6,11 @@
|
|||||||
* description: example basic PHP script to pull current alarms from the UniFi controller and output in json format
|
* description: example basic PHP script to pull current alarms from the UniFi controller and output in json format
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
* in raw HTML format
|
* in raw HTML format
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc there if not already present)
|
* include the config file (place your credentials etc there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
* in json format
|
* in json format
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
* them in basic HTML format
|
* them in basic HTML format
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
68
examples/test_connection.php
Executable file
68
examples/test_connection.php
Executable file
@@ -0,0 +1,68 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Test the connection to your UniFi controller
|
||||||
|
*
|
||||||
|
* contributed by: Art of WiFi
|
||||||
|
* description: PHP script to check/debug the connection to your controller using PHP and cURL
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Include the config file (place your credentials etc. there if not already present),
|
||||||
|
* see the config.template.php file for an example.
|
||||||
|
* (will only be used here to get the URL to the controller)
|
||||||
|
*/
|
||||||
|
require_once('config.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check whether the cURL module supports SSL
|
||||||
|
*/
|
||||||
|
if (!curl_version()['features'] & CURL_VERSION_SSL) {
|
||||||
|
print 'SSL is not supported with this cURL installation!' . PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* create cURL resource
|
||||||
|
*/
|
||||||
|
$ch = curl_init();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the required cURL options
|
||||||
|
*/
|
||||||
|
curl_setopt($ch, CURLOPT_URL, $controllerurl);
|
||||||
|
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This cURL option can have a value of 0-6
|
||||||
|
* see this URL for more details:
|
||||||
|
* http://php.net/manual/en/function.curl-setopt.php
|
||||||
|
* 0 is the default value and is used by the PHP API client class
|
||||||
|
*/
|
||||||
|
curl_setopt($ch, CURLOPT_SSLVERSION, 0);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Be more verbose
|
||||||
|
*/
|
||||||
|
curl_setopt($ch, CURLOPT_VERBOSE, true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* $results contains the output as returned by the cURL request,
|
||||||
|
* returns true when successful, else returns false
|
||||||
|
*/
|
||||||
|
print 'verbose output from the cURL request:' . PHP_EOL;
|
||||||
|
$results = curl_exec($ch);
|
||||||
|
|
||||||
|
print PHP_EOL . 'curl_getinfo output:' . PHP_EOL;
|
||||||
|
print_r(curl_getinfo($ch));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If we receive a cURL error, output it before the results
|
||||||
|
*/
|
||||||
|
if (curl_errno($ch)) {
|
||||||
|
print PHP_EOL . 'cURL error: ' . curl_error($ch) . PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
|
print PHP_EOL . '$results:' . PHP_EOL;
|
||||||
|
print_r($results);
|
||||||
|
print PHP_EOL;
|
||||||
@@ -7,6 +7,11 @@
|
|||||||
* output the response in json format
|
* output the response in json format
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* using the composer autoloader
|
||||||
|
*/
|
||||||
|
require_once('vendor/autoload.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* include the config file (place your credentials etc. there if not already present)
|
* include the config file (place your credentials etc. there if not already present)
|
||||||
* see the config.template.php file for an example
|
* see the config.template.php file for an example
|
||||||
|
|||||||
1389
src/Client.php
1389
src/Client.php
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user