detain / myadmin-directadmin-licensing
DirectAdmin Licensing plugin for the MyAdmin ecosystem. Provides activation, deactivation, IP management, and OS modification for DirectAdmin server and VPS licenses.
Package info
github.com/myadmin-plugins/directadmin-licensing
Type:myadmin-plugin
pkg:composer/detain/myadmin-directadmin-licensing
Requires
- php: >=5.0.0
- ext-curl: *
- detain/myadmin-plugin-installer: dev-master
- symfony/event-dispatcher: >=2.8.26
Requires (Dev)
- codacy/coverage: dev-master
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: *
- phpunit/phpunit-mock-objects: *
- satooshi/php-coveralls: *
- vlucas/phpdotenv: *
This package is auto-updated.
Last update: 2026-03-19 21:51:25 UTC
README
A MyAdmin plugin that integrates DirectAdmin license management into the billing and provisioning system. It supports selling, activating, deactivating, and managing both paid and free-tier DirectAdmin server and VPS licenses via the DirectAdmin API.
Features
- Automated license provisioning when customers purchase DirectAdmin licenses
- License activation and deactivation through the DirectAdmin API
- IP address change support for migrating licenses between servers
- Free-tier license management for qualifying VPS packages
- OS type detection and mapping for license compatibility
- Admin panel integration with license management menus and settings
- Payment processing for newly created licenses
Installation
Install with Composer:
composer require detain/myadmin-directadmin-licensing
Usage
This package is designed to run within the MyAdmin hosting management platform. The Plugin class registers event hooks that the MyAdmin framework dispatches during license lifecycle operations.
Plugin Registration
The plugin is auto-discovered by MyAdmin through Composer's plugin installer. It registers handlers for:
licenses.settings-- Admin configuration fields (API credentials, stock settings)licenses.activate/licenses.reactivate-- License provisioning on purchaselicenses.deactivate/licenses.deactivate_ip-- License cancellationfunction.requirements-- Lazy-loading of procedural API functions
Available Functions
| Function | Description |
|---|---|
get_directadmin_license_types() |
Returns supported OS type mappings |
activate_directadmin() |
Creates and activates a paid license |
deactivate_directadmin() |
Cancels an active license |
get_directadmin_licenses() |
Lists all licenses on the account |
get_directadmin_license_by_ip() |
Finds a license by IP address |
directadmin_modify_os() |
Changes the OS type of a license |
activate_free_license() |
Provisions a free-tier license |
delete_free_license() |
Removes a free-tier license |
Running Tests
composer install vendor/bin/phpunit
To generate a coverage report:
vendor/bin/phpunit --coverage-html build/coverage
License
This package is licensed under the LGPL-2.1 license.