This repository contains the Domain Manager plugin for Ultimate Multisite.
- Introduced provider-agnostic layer and NameCheap support.
- Renamed several includes from
class-opensrs-*toclass-domain-manager-*to clarify which files are plugin-level helpers vs provider-specific API wrappers. - Added CI: GitHub Actions workflow to run
php -lon push and pull requests.
includes/class-domain-manager-settings.php— plugin-level settings and connection tester UIincludes/class-domain-manager-product-type.php— domain product type & product-level settingsincludes/class-domain-manager-domain-importer.php— TLD import/refresh UI and handlersincludes/class-domain-manager-pricing.php— pricing storage and helpersincludes/class-domain-manager-renewals.php— renewals/expiration checks and auto-renew processorincludes/class-domain-manager-checkout.php— checkout UI and provider-aware validation/registrationincludes/class-namecheap-api.php— NameCheap API wrapperincludes/class-opensrs-api.php— OpenSRS API wrapper (provider-specific)includes/class-domain-provider.php— provider facade routing calls to the selected provider
The following legacy files were removed (their behavior has been ported to class-domain-manager-* replacements). Backups are available — do not hesitate to restore if needed.
includes/class-opensrs-settings.phpincludes/class-opensrs-product-type.phpincludes/class-opensrs-domain-importer.phpincludes/class-opensrs-pricing.phpincludes/class-opensrs-renewals.phpincludes/class-opensrs-checkout.php
A PowerShell helper dev-check.ps1 was added to the repository root to run quick local diagnostics (PHP lint and brace balance). To run it locally (Windows PowerShell):
# run the helper script
.\dev-check.ps1Or run php linting across the repository (requires PHP CLI installed):
Get-ChildItem -Path . -Recurse -Filter *.php | ForEach-Object { php -l $_.FullName }A GitHub Actions workflow at .github/workflows/php-lint.yml runs php -l on all PHP files for pushes and pull requests to main.
You indicated you have backups; the removed files are safe to restore from your backups if you change your mind.
- Test the plugin on a staging environment and run
.\dev-check.ps1to ensure no syntax regressions. - If everything is good, consider deleting backups or archiving them externally.
If you want, I can also:
- Create a small migration note in the plugin admin page.
- Run a search to ensure there are no remaining references to the deleted filenames in the codebase.
Generated on November 18, 2025.