Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
caf838abb9 | ||
|
|
aa778c9b7b | ||
|
|
0e9ee66cef | ||
|
|
721ba7d084 | ||
|
|
bf3446bba0 | ||
|
|
a4998de3a9 | ||
|
|
c82481a28a | ||
|
|
2c743563f8 | ||
|
|
32252e56d7 | ||
|
|
120699d343 | ||
|
|
d26cba1f66 | ||
|
|
69b43df148 | ||
|
|
2b34890a67 | ||
|
|
0d99d4a776 | ||
|
|
89ce2fd8dd | ||
|
|
c77913fded | ||
|
|
329ad595c9 | ||
|
|
badb615627 | ||
|
|
49d0986bd7 | ||
|
|
0ebbb4efac | ||
|
|
903d3e47d5 | ||
|
|
e72dea7357 | ||
|
|
17d895076f | ||
|
|
961d692125 | ||
|
|
796ad9a82d |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -5,5 +5,9 @@
|
||||
/vendor/
|
||||
/composer.lock
|
||||
|
||||
# ignore phpdoc files
|
||||
/build
|
||||
.phpdoc-md
|
||||
|
||||
# ignore XML files
|
||||
*.xml
|
||||
134
README.md
134
README.md
@@ -1,25 +1,32 @@
|
||||
## UniFi Controller API client class
|
||||
|
||||
A PHP class which provides access to Ubiquiti's [**UniFi SDN Controller**](https://unifi-sdn.ui.com/) API, versions 4.X.X and 5.X.X of the UniFi SDN Controller software are supported (version 5.12.35 has been confirmed to work). It's a standalone version of the class which is used in our API browser tool which can be found [here](https://github.com/Art-of-WiFi/UniFi-API-browser).
|
||||
A PHP class that provides access to Ubiquiti's [**UniFi Network Controller**](https://unifi-network.ui.com/) API, versions 4.X.X, 5.X.X and 6.0.X of the UniFi Network Controller software are supported (version 6.0.43 has been confirmed to work) as well as UniFi OS-based controllers (version 5.12.59 has been confirmed to work). This class is used by our API browser tool which can be found [here](https://github.com/Art-of-WiFi/UniFi-API-browser).
|
||||
|
||||
The package can be installed manually or by using composer/[packagist](https://packagist.org/packages/art-of-wifi/unifi-api-client) for easy inclusion in your projects.
|
||||
|
||||
This class can be installed manually or using composer/[packagist](https://packagist.org/packages/art-of-wifi/unifi-api-client) for easy inclusion in your projects.
|
||||
|
||||
## Requirements
|
||||
|
||||
- a web server with PHP and cURL modules installed (tested on Apache 2.4 with PHP Version 5.6.1 and cURL 7.42.1 and with PHP 7.2.24 and cURL 7.58.0)
|
||||
- network connectivity between this web server and the server and port (normally TCP port 8443) where the UniFi Controller is running
|
||||
- a server with PHP, version 5.5.0 or higher, and the PHP cURL module installed (tested on Apache 2.4 with PHP Version 5.6.1 and cURL 7.42.1 and with PHP 7.2.24 and cURL 7.58.0)
|
||||
- direct network connectivity between this server and the host and port (normally TCP port 8443) where the UniFi Controller is running
|
||||
- you must use **local accounts**, not UniFi Cloud accounts, to access the UniFi Controller API through this class
|
||||
|
||||
|
||||
## UniFi OS Support
|
||||
|
||||
Currently, UniFi OS-based controllers (UniFi Dream Machine Pro) are **not supported** due to several breaking changes to the API.
|
||||
Support for UniFi OS-based controllers (UniFi Dream Machine Pro or Cloud Key Gen2/Cloud Key Gen2 Plus with firmware version 2.0.24 or higher) has been added as of version 1.1.47. The class automatically detects UniFi OS devices and adjusts URLs and several functions/methods accordingly. If your own code applies strict validation of the URL that is passed to the constructor, please adapt your logic to allow URLs without a port suffix when dealing with a UniFi OS-based controller.
|
||||
|
||||
Please test all methods you plan on using thoroughly before using the API Client with UniFi OS devices in a production environment.
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
You can use [Composer](#composer), [Git](#git) or simply [Download the Release](#download-the-release) to install the API client class.
|
||||
Use [Composer](#composer), [Git](#git) or simply [Download the Release](#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.
|
||||
The preferred installation method is through [composer](https://getcomposer.org). Follow these [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:
|
||||
|
||||
@@ -27,7 +34,7 @@ Once composer is installed, simply execute this command from the shell in your p
|
||||
composer require art-of-wifi/unifi-api-client
|
||||
```
|
||||
|
||||
Or you can manually add the package to your composer.json file:
|
||||
Or manually add the package to your composer.json file:
|
||||
|
||||
```javascript
|
||||
{
|
||||
@@ -40,9 +47,10 @@ composer require art-of-wifi/unifi-api-client
|
||||
Finally, be sure to include the autoloader in your code:
|
||||
|
||||
```php
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
```
|
||||
|
||||
|
||||
### Git
|
||||
|
||||
Execute the following `git` command from the shell in your project directory:
|
||||
@@ -54,17 +62,19 @@ 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');
|
||||
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:
|
||||
If you prefer not to use composer or git, 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');
|
||||
require_once 'path/to/src/Client.php';
|
||||
```
|
||||
|
||||
|
||||
## Example usage
|
||||
|
||||
A basic example how to use the class:
|
||||
@@ -73,7 +83,7 @@ A basic example how to use the class:
|
||||
/**
|
||||
* load the class using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* initialize the Unifi API connection class, log in to the controller and request the alarms collection
|
||||
@@ -84,39 +94,49 @@ $login = $unifi_connection->login();
|
||||
$results = $unifi_connection->list_alarms(); // returns a PHP array containing alarm objects
|
||||
```
|
||||
|
||||
Please refer to the `examples/` directory for some more detailed examples which you can use as a starting point for your own PHP code.
|
||||
Please refer to the `examples/` directory for some more detailed examples which can be used as a starting point for your own PHP code.
|
||||
|
||||
|
||||
#### IMPORTANT NOTES:
|
||||
|
||||
1. In the above example, `$site_id` is the short site "name" (usually 8 characters long) that is visible in the URL when managing the site in the UniFi SDN Controller. For example with this URL:
|
||||
1. In the above example, `$site_id` is the short site "name" (usually 8 characters long) that is visible in the URL when managing the site in the UniFi Network Controller. For example with this URL:
|
||||
|
||||
`https://<controller IP address or FQDN>:8443/manage/site/jl3z2shm/dashboard`
|
||||
|
||||
`jl3z2shm` is the short site "name" and the value to assign to $site_id.
|
||||
|
||||
2. The last optional parameter that is passed to the constructor in the above example (`true`), 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 that is associated with the FQDN in the `controller_url` parameter. This option was added with API client version 1.1.16.
|
||||
2. The last optional parameter that is passed to the constructor in the above example (`true`), 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 that is associated with the FQDN in the `controller_url` parameter. This option was added with API client version 1.1.16.
|
||||
|
||||
|
||||
## Functions/methods supported
|
||||
|
||||
The class currently supports the following functions/methods to GET/POST/PUT/DELETE data through the UniFi Controller API. Please refer to the source code for more details on the functions/methods and their respective parameters.
|
||||
The class currently supports the following functions/methods to GET/POST/PUT/DELETE data through the UniFi Controller API. Please refer to the comments in the source code for more details on the functions/methods and their respective parameters.
|
||||
|
||||
- login()
|
||||
- logout()
|
||||
- adopt_device()
|
||||
- archive_alarm()
|
||||
- assign_existing_admin()
|
||||
- authorize_guest()
|
||||
- block_sta()
|
||||
- cancel_rolling_upgrade()
|
||||
- cmd_stat()
|
||||
- count_alarms()
|
||||
- check_controller_update()
|
||||
- check_firmware_update()
|
||||
- create_apgroup() (supported with controller versions 6.0.X and higher)
|
||||
- create_dynamicdns()
|
||||
- create_firewallgroup()
|
||||
- create_hotspotop()
|
||||
- create_network()
|
||||
- create_radius_account()
|
||||
- create_site()
|
||||
- create_usergroup()
|
||||
- create_user()
|
||||
- create_usergroup()
|
||||
- create_voucher()
|
||||
- create_wlan()
|
||||
- custom_api_request()
|
||||
- delete_apgroup() (supported with controller versions 6.0.X and higher)
|
||||
- delete_device()
|
||||
- delete_firewallgroup()
|
||||
- delete_network()
|
||||
@@ -125,18 +145,18 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- delete_usergroup()
|
||||
- delete_wlan()
|
||||
- disable_ap()
|
||||
- edit_apgroup() (supported with controller versions 6.0.X and higher)
|
||||
- edit_client_fixedip()
|
||||
- edit_firewallgroup()
|
||||
- edit_usergroup()
|
||||
- extend_guest_validity()
|
||||
- forget_sta() (supported on controller version 5.9.X and higher)
|
||||
- invite_admin()
|
||||
- assign_existing_admin()
|
||||
- revoke_admin()
|
||||
- led_override()
|
||||
- list_admins()
|
||||
- list_all_admins()
|
||||
- list_alarms()
|
||||
- list_all_admins()
|
||||
- list_apgroups() (supported with controller versions 6.0.X and higher)
|
||||
- list_aps() (deprecated but still available as alias)
|
||||
- list_backups()
|
||||
- list_clients()
|
||||
@@ -144,11 +164,13 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- list_current_channels()
|
||||
- list_dashboard()
|
||||
- list_devices()
|
||||
- list_device_name_mappings()
|
||||
- list_dpi_stats()
|
||||
- list_dynamicdns()
|
||||
- list_events()
|
||||
- list_extension()
|
||||
- list_firewallgroups()
|
||||
- list_firmware()
|
||||
- list_guests()
|
||||
- list_health()
|
||||
- list_hotspotop()
|
||||
@@ -160,6 +182,7 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- list_radius_accounts() (supported on controller version 5.5.19 and higher)
|
||||
- list_radius_profiles()
|
||||
- list_rogueaps()
|
||||
- list_routing()
|
||||
- list_self()
|
||||
- list_settings()
|
||||
- list_sites()
|
||||
@@ -171,14 +194,17 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- locate_ap()
|
||||
- move_device()
|
||||
- power_cycle_switch_port()
|
||||
- reboot_cloudkey()
|
||||
- reconnect_sta()
|
||||
- rename_ap()
|
||||
- restart_ap() (deprecated but still available as alias)
|
||||
- restart_device()
|
||||
- reboot_cloudkey()
|
||||
- revoke_admin()
|
||||
- revoke_voucher()
|
||||
- set_ap_radiosettings()
|
||||
- set_device_settings_base()
|
||||
- set_dynamicdns()
|
||||
- set_element_adoption() (supported on controller version 5.13.X and higher)
|
||||
- set_guestlogin_settings()
|
||||
- set_guestlogin_settings_base()
|
||||
- set_ips_settings_base() (supported on controller version 5.9.10 and higher)
|
||||
@@ -193,11 +219,11 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- set_site_name()
|
||||
- set_site_ntp()
|
||||
- set_site_snmp()
|
||||
- set_super_mgmt_settings_base()
|
||||
- set_super_smtp_settings_base()
|
||||
- set_super_identity_settings_base()
|
||||
- set_sta_name()
|
||||
- set_sta_note()
|
||||
- set_super_identity_settings_base()
|
||||
- set_super_mgmt_settings_base()
|
||||
- set_super_smtp_settings_base()
|
||||
- set_usergroup()
|
||||
- set_wlan_mac_filter()
|
||||
- set_wlansettings()
|
||||
@@ -207,57 +233,76 @@ The class currently supports the following functions/methods to GET/POST/PUT/DEL
|
||||
- site_ledson() (deprecated but still available as alias)
|
||||
- spectrum_scan()
|
||||
- spectrum_scan_state()
|
||||
- start_rolling_upgrade()
|
||||
- stat_5minutes_aps() (supported on controller version 5.5.X and higher)
|
||||
- stat_5minutes_gateway() (supported on controller version 5.7.X and higher)
|
||||
- stat_5minutes_site() (supported on controller version 5.5.X and higher)
|
||||
- stat_5minutes_user (supported on controller version 5.7.X and higher)
|
||||
- stat_allusers()
|
||||
- stat_auths()
|
||||
- stat_client()
|
||||
- stat_5minutes_aps() (supported on controller version 5.5.X and higher)
|
||||
- stat_hourly_aps()
|
||||
- stat_daily_aps()
|
||||
- stat_5minutes_gateway() (supported on controller version 5.7.X and higher)
|
||||
- stat_hourly_gateway() (supported on controller version 5.7.X and higher)
|
||||
- stat_daily_gateway() (supported on controller version 5.7.X and higher)
|
||||
- stat_5minutes_site() (supported on controller version 5.5.X and higher)
|
||||
- stat_hourly_site()
|
||||
- stat_daily_site()
|
||||
- stat_5minutes_user (supported on controller version 5.7.X and higher)
|
||||
- stat_hourly_user() (supported on controller version 5.7.X and higher)
|
||||
- stat_daily_user() (supported on controller version 5.7.X and higher)
|
||||
- stat_hourly_aps()
|
||||
- stat_hourly_gateway() (supported on controller version 5.7.X and higher)
|
||||
- stat_hourly_site()
|
||||
- stat_hourly_user() (supported on controller version 5.7.X and higher)
|
||||
- stat_ips_events() (supported on controller version 5.9.10 and higher)
|
||||
- stat_payment()
|
||||
- stat_sessions()
|
||||
- stat_sites()
|
||||
- stat_speedtest_results()
|
||||
- stat_ips_events() (supported on controller version 5.9.10 and higher)
|
||||
- stat_sta_sessions_latest()
|
||||
- stat_status()
|
||||
- stat_full_status()
|
||||
- stat_sysinfo()
|
||||
- stat_voucher()
|
||||
- stat_monthly_aps()
|
||||
- stat_monthly_gateway()
|
||||
- stat_monthly_site()
|
||||
- stat_monthly_user()
|
||||
- unauthorize_guest()
|
||||
- unblock_sta()
|
||||
- unset_locate_ap() (deprecated but still available as alias)
|
||||
- upgrade_device()
|
||||
- upgrade_device_external()
|
||||
- start_rolling_upgrade()
|
||||
- cancel_rolling_upgrade()
|
||||
- cmd_stat()
|
||||
|
||||
Internal functions, getters/setters:
|
||||
Other functions, getters/setters:
|
||||
|
||||
- set_debug()
|
||||
- get_class_version()
|
||||
- get_connection_timeout()
|
||||
- get_cookie() (renamed from getcookie(), deprecated but still available, use get_cookies() instead)
|
||||
- get_cookies()
|
||||
- get_debug()
|
||||
- set_site()
|
||||
- get_site()
|
||||
- get_cookie() (renamed from getcookie())
|
||||
- get_last_results_raw()
|
||||
- get_is_unifi_os()
|
||||
- get_last_error_message()
|
||||
- get_last_results_raw()
|
||||
- get_request_method()
|
||||
- get_site()
|
||||
- get_ssl_verify_host()
|
||||
- get_ssl_verify_peer()
|
||||
- set_connection_timeout()
|
||||
- set_cookies()
|
||||
- set_debug()
|
||||
- set_is_unifi_os()
|
||||
- set_request_method()
|
||||
- set_site()
|
||||
- set_ssl_verify_host()
|
||||
- set_ssl_verify_peer()
|
||||
|
||||
|
||||
## Need help or have suggestions?
|
||||
|
||||
There is still work to be done to add functionality and further improve the usability of this class, so all suggestions/comments are welcome. Please use the GitHub [issue list](https://github.com/Art-of-WiFi/UniFi-API-client/issues) 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 suggestions and 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 based on the initial work by the following developers:
|
||||
@@ -267,7 +312,8 @@ This class is based on the initial work by the following developers:
|
||||
|
||||
and the API as published by Ubiquiti:
|
||||
|
||||
- https://dl.ui.com/unifi/5.12.35/unifi_sh_api
|
||||
- https://dl.ui.com/unifi/6.0.41/unifi_sh_api
|
||||
|
||||
|
||||
## Important Disclaimer
|
||||
|
||||
|
||||
@@ -1,27 +1,28 @@
|
||||
{
|
||||
"name": "art-of-wifi/unifi-api-client",
|
||||
"type": "library",
|
||||
"description": "API client class for use with Ubiquiti's UniFi controller",
|
||||
"name": "art-of-wifi/unifi-api-client",
|
||||
"type": "library",
|
||||
"description": "API client class for use with Ubiquiti's UniFi controller",
|
||||
"keywords": [
|
||||
"ubnt",
|
||||
"ubiquiti",
|
||||
"unifi",
|
||||
"controller",
|
||||
"api",
|
||||
"client"
|
||||
],
|
||||
"homepage": "https://github.com/Art-of-WiFi/UniFi-API-client",
|
||||
"license": "MIT",
|
||||
"ubnt",
|
||||
"ubiquiti",
|
||||
"unifi",
|
||||
"controller",
|
||||
"api",
|
||||
"client"
|
||||
],
|
||||
"homepage": "https://github.com/Art-of-WiFi/UniFi-API-client",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Art of WiFi",
|
||||
"email": "info@artofowifi.net",
|
||||
"name": "Art of WiFi",
|
||||
"email": "info@artofowifi.net",
|
||||
"homepage": "http://artofwifi.net"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.4.0",
|
||||
"ext-curl": "*"
|
||||
"php": ">=5.5.0",
|
||||
"ext-curl": "*",
|
||||
"ext-json": "*"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* 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');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* site id and MAC address of AP to query
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @4oo4
|
||||
* description: example script to upgrade device firmware (can be scheduled with systemd/cron)
|
||||
* to the most current version
|
||||
* description: example script to upgrade device firmware (can be scheduled with systemd/cron)
|
||||
* to the most current version
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once('config.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* site id of the AP to update
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example PHP script to perform a basic auth of a guest device
|
||||
* description: example PHP script to perform a basic auth of a guest device
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the MAC address of the device to authorize
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to auth a guest device and attach a note to it,
|
||||
* this requires the device to be connected to the WLAN/LAN at moment of
|
||||
* authorization
|
||||
* description: example basic PHP script to auth a guest device and attach a note to it,
|
||||
* this requires the device to be connected to the WLAN/LAN at moment of
|
||||
* authorization
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the MAC address of the device to authorize
|
||||
|
||||
@@ -3,27 +3,26 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @malcolmcif, based on another Art of WiFi example
|
||||
* description: basic PHP script to block a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
* description: basic PHP script to block a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
*
|
||||
* usage:
|
||||
* php block_list.php <list of comma seperated mac addresses>
|
||||
*
|
||||
* example:
|
||||
* php block_list.php 09:09:09:09:09:09,10:10:10:10:10:10
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
$debug = false;
|
||||
|
||||
/**
|
||||
@@ -47,7 +46,7 @@ $unifi_connection = new UniFi_API\Client($controlleruser, $controllerpassword, $
|
||||
$set_debug_mode = $unifi_connection->set_debug($debug);
|
||||
$loginresults = $unifi_connection->login(); // always true regardless of site id
|
||||
|
||||
foreach ($macs_to_block as &$mac) {
|
||||
foreach ($macs_to_block as $mac) {
|
||||
// block_result is always true even if mac address does not exist :(
|
||||
$block_result = $unifi_connection->block_sta($mac);
|
||||
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to modify the super_mgmt settings for UniFi controller and output results
|
||||
* in json format
|
||||
* description: example basic PHP script to modify the super_mgmt settings for UniFi controller and output results
|
||||
* in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
require_once 'vendor/autoload.php';
|
||||
|
||||
/**
|
||||
* UniFi controller credentials and the site to use, in this case since we are modifying global settings you can select
|
||||
@@ -18,7 +18,7 @@ require_once('vendor/autoload.php');
|
||||
*
|
||||
* NOTE: in this case you need to enter Super Administrator account credentials in config.php
|
||||
*/
|
||||
require_once('config.php');
|
||||
require_once 'config.php';
|
||||
$site_id = 'default';
|
||||
$debug = false;
|
||||
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* 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
|
||||
* 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');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* The site to which the WLAN you want to modify belongs
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) 2017, Art of WiFi
|
||||
*
|
||||
* This file is subject to the MIT license that is bundled
|
||||
* with this package in the file LICENSE.md
|
||||
* Copyright (c) 2021, Art of WiFi
|
||||
*
|
||||
* This file is subject to the MIT license that is bundled with this package in the file LICENSE.md
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -15,8 +13,9 @@
|
||||
*/
|
||||
$controlleruser = ''; // the user name for access to the UniFi Controller
|
||||
$controllerpassword = ''; // the password for access to the UniFi Controller
|
||||
$controllerurl = ''; // full url to the UniFi Controller, eg. 'https://22.22.11.11:8443'
|
||||
$controllerversion = ''; // the version of the Controller software, eg. '4.6.6' (must be at least 4.0.0)
|
||||
$controllerurl = ''; // full url to the UniFi Controller, eg. 'https://22.22.11.11:8443', for UniFi OS-based
|
||||
// controllers a port suffix isn't required, no trailing slashes should be added
|
||||
$controllerversion = ''; // the version of the Controller software, e.g. '4.6.6' (must be at least 4.0.0)
|
||||
|
||||
/**
|
||||
* set to true (without quotes) to enable debug output to the browser and the PHP error log
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to create a new site, returns true upon success
|
||||
* description: example basic PHP script to create a new site, returns true upon success
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to create a set of vouchers, returns an array containing the newly created 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');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* minutes the voucher is valid after activation (expiration time)
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to delete a site, returns true upon success
|
||||
* description: example basic PHP script to delete a site, returns true upon success
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to disable/enable a device, returns true upon success
|
||||
* description: example basic PHP script to disable/enable a device, returns true upon success
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the 24 character id of the device to disable/enable
|
||||
|
||||
78
examples/disable_switch_port.php
Executable file
78
examples/disable_switch_port.php
Executable file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
/**
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example PHP script to disable/enable the port of a UniFi switch
|
||||
* note: Requires controller version 5.5.X or higher. This example assumes an override alreay exists for the desired port.
|
||||
* To create a new port override simply append one (similar in structure to $updated_override) as needed to the
|
||||
* $existing_overrides array
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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 use to log in to the controller
|
||||
*/
|
||||
$site_id = '<enter your site id here>';
|
||||
|
||||
/**
|
||||
* the MAC address of the UniFi switch to re-configure
|
||||
*/
|
||||
$device_mac = '<enter MAC address>';
|
||||
|
||||
/**
|
||||
* index of port to modify/add
|
||||
*/
|
||||
$port_idx = 24;
|
||||
|
||||
/**
|
||||
* port configuration id to apply when enabling/disabling the port
|
||||
*
|
||||
* NOTE:
|
||||
* port configurations are available through list_portconf()
|
||||
*/
|
||||
$port_conf_id = '<enter _id value of desired port configuration>';
|
||||
|
||||
/**
|
||||
* initialize the UniFi API connection class and log in to the controller and do our thing
|
||||
*/
|
||||
$unifi_connection = new UniFi_API\Client($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion, false);
|
||||
$set_debug_mode = $unifi_connection->set_debug($debug);
|
||||
$loginresults = $unifi_connection->login();
|
||||
$data = $unifi_connection->list_devices($device_mac);
|
||||
$device_id = $data[0]->device_id;
|
||||
$existing_overrides = $data[0]->port_overrides;
|
||||
|
||||
foreach ($existing_overrides as $key => $value) {
|
||||
if (!empty($value->port_idx) && $value->port_idx === $port_idx) {
|
||||
$updated_override = [
|
||||
'portconf_id' => $port_conf_id,
|
||||
'port_idx' => $port_idx,
|
||||
'poe_mode' => $value->poe_mode,
|
||||
'name' => 'Your-port-name',
|
||||
];
|
||||
|
||||
$existing_overrides[$key] = $updated_override;
|
||||
}
|
||||
}
|
||||
|
||||
$payload = [
|
||||
'port_overrides' => $existing_overrides
|
||||
];
|
||||
|
||||
$update_device = $unifi_connection->set_device_settings_base($device_id, $payload);
|
||||
|
||||
/**
|
||||
* provide feedback in json format
|
||||
*/
|
||||
echo json_encode($update_device, JSON_PRETTY_PRINT);
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to execute a custom API request using the
|
||||
* custom_api_request() function/method
|
||||
* description: example basic PHP script to execute a custom API request using the
|
||||
* custom_api_request() function/method
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* The site to authorize the device with
|
||||
@@ -27,10 +27,10 @@ $site_id = '<enter your site id here>';
|
||||
/**
|
||||
* parameters
|
||||
*/
|
||||
$url = '/api/s/' . $site_id . '/stat/fwupdate/latest-version';
|
||||
$request_type = 'GET';
|
||||
$payload = null;
|
||||
$return = 'array';
|
||||
$url = '/api/s/' . $site_id . '/stat/fwupdate/latest-version';
|
||||
$request_method = 'GET';
|
||||
$payload = null;
|
||||
$return = 'array';
|
||||
|
||||
/**
|
||||
* initialize the UniFi API connection class and log in to the controller and do our thing
|
||||
@@ -38,7 +38,7 @@ $return = 'array';
|
||||
$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->custom_api_request($url, $request_type, $payload, $return);
|
||||
$results = $unifi_connection->custom_api_request($url, $request_method, $payload, $return);
|
||||
|
||||
/**
|
||||
* provide feedback in JSON format or as PHP Object
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: mtotone
|
||||
* 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');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* must be adapted to your site!
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* 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');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example to pull connected user numbers for Access Points from the UniFi controller and output the results
|
||||
* in raw HTML format
|
||||
* description: example to pull connected user numbers for Access Points from the UniFi controller and output the results
|
||||
* in raw HTML format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the short name of the site which you wish to query
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @gahujipo
|
||||
* description: example to pull connected users and their details from the UniFi controller and output the results
|
||||
* in JSON format
|
||||
* description: example to pull connected users and their details from the UniFi controller and output the results
|
||||
* in JSON format
|
||||
*/
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the short name of the site which you wish to query
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example to pull site health metrics from the UniFi controller and output the results
|
||||
* in json format
|
||||
* description: example to pull site health metrics from the UniFi controller and output the results
|
||||
* in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the short name of the site you wish to query
|
||||
|
||||
46
examples/list_sites.php
Executable file
46
examples/list_sites.php
Executable file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to list all site on the controller that are
|
||||
* available to the admin account defined in config.php
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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';
|
||||
|
||||
/**
|
||||
* we use the default site in the initial connection
|
||||
*/
|
||||
$site_id = 'default';
|
||||
|
||||
/**
|
||||
* initialize the UniFi API connection class and log in to the controller and do our thing
|
||||
*/
|
||||
$unifi_connection = new UniFi_API\Client($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion);
|
||||
$set_debug_mode = $unifi_connection->set_debug($debug);
|
||||
$loginresults = $unifi_connection->login();
|
||||
$data = $unifi_connection->list_sites();
|
||||
|
||||
/**
|
||||
* we can render the full results in json format
|
||||
*/
|
||||
//echo json_encode($data, JSON_PRETTY_PRINT);
|
||||
|
||||
/**
|
||||
* or we print each site name and site id
|
||||
*/
|
||||
foreach ($data as $site) {
|
||||
echo 'Site name: ' . $site->desc . ', site id: ' . $site->name . PHP_EOL;
|
||||
}
|
||||
|
||||
echo PHP_EOL;
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to pull Facebook social auth details from the UniFi controller and output
|
||||
* them in basic HTML format
|
||||
* description: example basic PHP script to pull Facebook social auth details from the UniFi controller and output
|
||||
* them in basic HTML format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to pull stats for s epcific user/client device from the UniFi controller and output in json format
|
||||
* description: example basic PHP script to pull stats for s epcific user/client device from the UniFi controller and output in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use
|
||||
|
||||
87
examples/modify_smartpower_pdu_outlet.php
Executable file
87
examples/modify_smartpower_pdu_outlet.php
Executable file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to toggle power of an outlet on the UniFi SmartPower PDU Pro,
|
||||
* last tested with UniFi controller version 6.1.19
|
||||
*/
|
||||
require '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 use
|
||||
*/
|
||||
$site_id = 'default';
|
||||
|
||||
/**
|
||||
* MAC of UniFi SmartPower PDU Pro to work with
|
||||
*/
|
||||
$pdu_mac = '<MAC ADDRESS of PDU>';
|
||||
|
||||
/**
|
||||
* index value of the outlet to modify
|
||||
*/
|
||||
$outlet_idx = 20;
|
||||
|
||||
/**
|
||||
* new values for relay_state (enable/disable Power) and cycle_enabled (disable/enable Modem Power Cycle) for the above outlet,
|
||||
* values must be boolean (true/false)
|
||||
*
|
||||
* NOTES:
|
||||
* - here you can choose to also change the name of the outlet
|
||||
* - outlet overrides are structured like this:
|
||||
* {
|
||||
* "index": 1,
|
||||
* "name": "USB Outlet 1",
|
||||
* "cycle_enabled": false,
|
||||
* "relay_state": true
|
||||
* }
|
||||
*/
|
||||
$new_relay_state = true;
|
||||
$new_cycle_enabled = false;
|
||||
|
||||
/**
|
||||
* initialize the UniFi API connection class and log in to the controller and do our thing
|
||||
*/
|
||||
$unifi_connection = new UniFi_API\Client($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion);
|
||||
$set_debug_mode = $unifi_connection->set_debug($debug);
|
||||
$loginresults = $unifi_connection->login();
|
||||
if ($loginresults) {
|
||||
$pdu_details = $unifi_connection->list_devices($pdu_mac);
|
||||
|
||||
/**
|
||||
* change the model below from USPPDUP to UP1 when using a USP-Plug (thanks to @thesohoguy for contributing this)
|
||||
*/
|
||||
if (!empty($pdu_details) && property_exists($pdu_details[0], 'model') && $pdu_details[0]->model === 'USPPDUP' && property_exists($pdu_details[0], 'outlet_overrides')) {
|
||||
$device_id = $pdu_details[0]->_id;
|
||||
$outlet_overrides = $pdu_details[0]->outlet_overrides;
|
||||
|
||||
foreach ($outlet_overrides as $key => $value) {
|
||||
if ($value->index === $outlet_idx) {
|
||||
$outlet_overrides[$key]->relay_state = $new_relay_state;
|
||||
$outlet_overrides[$key]->cycle_enabled = $new_cycle_enabled;
|
||||
}
|
||||
}
|
||||
|
||||
$pdu_update = $unifi_connection->set_device_settings_base($device_id, ['outlet_overrides' => $outlet_overrides]);
|
||||
|
||||
/**
|
||||
* provide feedback in json format
|
||||
*/
|
||||
echo 'results:' . PHP_EOL . PHP_EOL;
|
||||
echo json_encode($pdu_update, JSON_PRETTY_PRINT);
|
||||
echo PHP_EOL;
|
||||
} else {
|
||||
echo 'not a PDU device?';
|
||||
echo PHP_EOL;
|
||||
}
|
||||
} else {
|
||||
echo 'we encountered a login error!';
|
||||
echo PHP_EOL;
|
||||
}
|
||||
@@ -3,19 +3,19 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to force a client device to reconnect
|
||||
* description: example basic PHP script to force a client device to reconnect
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the MAC address to reconnect
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* 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
|
||||
* description: PHP script to check/debug the connection to your controller using PHP and cURL
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -11,13 +11,13 @@
|
||||
* 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');
|
||||
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;
|
||||
print PHP_EOL . 'SSL is not supported with this cURL installation!' . PHP_EOL;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -25,44 +25,48 @@ if (!curl_version()['features'] & CURL_VERSION_SSL) {
|
||||
*/
|
||||
$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);
|
||||
if (is_resource($ch)) {
|
||||
/**
|
||||
* If we have a resource, we proceed and 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);
|
||||
/**
|
||||
* 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);
|
||||
/**
|
||||
* 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);
|
||||
/**
|
||||
* $results contains the output as returned by the cURL request,
|
||||
* returns true when successful, else returns false
|
||||
*/
|
||||
print PHP_EOL . '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));
|
||||
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;
|
||||
/**
|
||||
* 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;
|
||||
} else {
|
||||
print PHP_EOL . 'ERROR: cURL could not be initialized!' . PHP_EOL;
|
||||
}
|
||||
|
||||
print PHP_EOL . '$results:' . PHP_EOL;
|
||||
print_r($results);
|
||||
print PHP_EOL;
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example to toggle the locate function (flashing LED) on an Access Point and
|
||||
* output the response in json format
|
||||
* description: example to toggle the locate function (flashing LED) on an Access Point and
|
||||
* output the response in json format
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* site id to use
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: @malcolmcif, based on another Art of WiFi example
|
||||
* description: basic PHP script to unblock a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
* description: basic PHP script to unblock a list of mac addresses passed in via command line,
|
||||
* output is to console in non json format
|
||||
*
|
||||
* usage:
|
||||
* php unblock_list.php <list of comma seperated mac addresses>
|
||||
@@ -17,13 +17,13 @@
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
$debug = false;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to update the port settings of an AC-IW device
|
||||
* FYI: the AC-IW device has three ports, one for the wired uplink and two with external connectors
|
||||
* note: requires controller version 5.5.X or higher (to be verified)
|
||||
* description: example basic PHP script to update the port settings of an AC-IW device
|
||||
* FYI: the AC-IW device has three ports, one for the wired uplink and two with external connectors
|
||||
* note: requires controller version 5.5.X or higher (to be verified)
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
* PHP API usage example
|
||||
*
|
||||
* contributed by: Art of WiFi
|
||||
* description: example basic PHP script to update WLAN settings of a device when using a controller version 5.5.X or higher
|
||||
* where set_ap_radiosettings() throws an error
|
||||
* description: example basic PHP script to update WLAN settings of a device when using a controller version 5.5.X or higher
|
||||
* where set_ap_radiosettings() throws an error
|
||||
*/
|
||||
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
/**
|
||||
* using the composer autoloader
|
||||
*/
|
||||
require_once('vendor/autoload.php');
|
||||
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');
|
||||
require_once 'config.php';
|
||||
|
||||
/**
|
||||
* the site to use to log in to the controller
|
||||
@@ -72,8 +72,8 @@ $current_conf = $data[0]->port_overrides;
|
||||
/**
|
||||
* This reads in the values provided via URL or in the command line, if nothing is set than it will poe_mode will be set to "auto"
|
||||
*/
|
||||
if (isset($_GET[$poe_mode])) {
|
||||
$poe_mode = $_GET[poe_mode];
|
||||
if (isset($_GET['poe_mode'])) {
|
||||
$poe_mode = $_GET['poe_mode'];
|
||||
} elseif (isset($argv[1])) {
|
||||
$poe_mode = $argv[1];
|
||||
} else {
|
||||
|
||||
4292
src/Client.php
4292
src/Client.php
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user