solitweb / laravel-directadmin
Laravel 5 DirectAdmin API wrapper
Installs: 2 084
Dependents: 0
Suggesters: 0
Security: 0
Stars: 19
Watchers: 5
Forks: 15
Open Issues: 0
Requires
- php: ~5.6|~7.0|~7.1|~7.2|~7.3|~7.4|~8.0|~8.1|~8.2|~8.3
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- solitweb/directadmin: ^3.0.1
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^4.8
README
Installation
You can install this package via Composer using:
composer require solitweb/laravel-directadmin
Laravel 5.5 uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider.
Laravel 5.5+:
If you don't use auto-discovery, add the ServiceProvider to the providers array in config/app.php
// config/app.php 'providers' => [ ... Solitweb\LaravelDirectAdmin\LaravelDirectAdminServiceProvider::class, ];
Optionally, register the facade:
// config/app.php 'aliases' => [ ... 'DirectAdmin' => Solitweb\LaravelDirectAdmin\LaravelDirectAdminFacade::class, ];
To publish the config file to app/config/laravel-directadmin.php run:
php artisan vendor:publish --provider="Solitweb\LaravelDirectAdmin\LaravelDirectAdminServiceProvider"
Usage
Import the facade at the top of your file.
use DirectAdmin;
Examples
This will return an array of all users currently owned the reseller:
return DirectAdmin::get()->request('SHOW_USERS');
This will return an array of the user's usages:
return DirectAdmin::get()->request('SHOW_USER_USAGE', ['user' => 'john']);
For more commands check the DirectAdmin API docs.
You have to copy the command without the CMD_API_
.
Magic Methods
It's also possible to make use of magic methods to get the data from the API as shown below:
$users = DirectAdmin::getShowAllUsers(); // Translates to DirectAdmin->get()->request('SHOW_ALL_USERS');
Arguments are also supported when using a magic method:
return DirectAdmin::postAccountAdmin([ 'action' => 'create', 'username' => 'New Admin', .... ]); // Translates to DirectAdmin->post()->request('ACCOUNT_ADMIN', [arguments]);
Magic Methods are named after the method (get/post) followed by the command without CMD_API_
in CamelCase. So, if you want to make a GET request with the CMD_API_SHOW_ALL_USERS command, the magic method would be getShowAllUsers()
.
JSON Support
It's possible to use JSON support, this allows using the HTTP code for feedback. No more annoying login screen errors on invalid login parameters.
$data = DirectAdmin::get()->requestJson('SHOW_USERS'); $response = DirectAdmin::get_status_code();
Also added magic methods support:
$data = DirectAdmin::getJsonShowUsers();
Change user during runtime
It's also possible to change the user during runtime as shown below:
DirectAdmin::set_login('username', 'password')
Credits
License
The MIT License (MIT). Please see License File for more information.