nickurt / laravel-hostfact
HostFact for Laravel 6.x/7.x/8.x
Installs: 443
Dependents: 0
Suggesters: 0
Security: 0
Stars: 20
Watchers: 5
Forks: 12
Open Issues: 0
Requires
- php: ^8.0|^7.4
- guzzlehttp/guzzle: ^6.3.1|^7.0.1
- laravel/framework: ^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^7.5.15|^8.4|^9.3.3
README
HostFact is an easy-to-use billing and automation solution for hosting companies
Table of contents
Installation
Install this package with composer:
composer require nickurt/laravel-hostfact
Copy the config files for the HostFact-plugin
php artisan vendor:publish --provider="nickurt\HostFact\ServiceProvider" --tag="config"
Add the HostFact credentials to your .env
file
HOSTFACT_DEFAULT_URL=
HOSTFACT_DEFAULT_KEY=
Usage
Authentication [debtors]
It's possible to use a custom hostfact
authentication driver to login debtors in your application, by default the UserProfile will be cached for 60 minutes
// config/auth.php 'providers' => [ 'hostfact' => [ 'driver' => 'hostfact' ], ] // Auth::attempt if(Auth::attempt(['username' => $username, 'password' => $password])) { dd(Auth::user(), Auth::id()); }
Multiple Panels [config]
If you want to work with more HostFact panels, you can define more panels in the config/hostfact.php
file
// config/hostfact.php 'panels' => [ 'default' => [ 'url' => env('HOSTFACT_DEFAULT_URL'), 'key' => env('HOSTFACT_DEFAULT_KEY'), ], 'ppe' => [ 'url' => env('HOSTFACT_PPE_URL'), 'key' => env('HOSTFACT_PPE_KEY'), ], ],
Multiple Panels [normal usage]
To use another panel than your default one, you can specify it with the panel-method
// DebtorsController public function getIndex() { $debtors = HostFact::panel('ppe')->debtors()->all([ 'Sort' => 'DebtorCode', 'limit' => 20 ]); // }
Multiple Panels [dependency injection]
// Route Route::get('/hostfact/{hostFact}/debtors', ['as' => 'hostfact/debtors', 'uses' => 'DebtorsController@getIndex']); Route::bind('hostFact', function ($value, $route) { app('HostFact')->panel($value); return app('HostFact'); }); // DebtorsController public function getIndex(HostFact $hostFact) { $debtors = $hostFact->debtors()->all([ 'Sort' => 'DebtorCode', 'limit' => 20 ]); // }
Attachments
HostFact::attachments()->add(array $params) HostFact::attachments()->delete(array $params) HostFact::attachments()->download(array $params)
CreditInvoices
HostFact::creditinvoices()->add(array $params) HostFact::creditinvoices()->delete(array $params) HostFact::creditinvoices()->edit(array $params) HostFact::creditinvoices()->list(array $params) HostFact::creditinvoices()->markAsPaid(array $params) HostFact::creditinvoices()->partPayment(array $params) HostFact::creditinvoices()->show(array $params)
Creditors
HostFact::creditors()->add(array $params) HostFact::creditors()->delete(array $params) HostFact::creditors()->edit(array $params) HostFact::creditors()->list(array $params) HostFact::creditors()->show(array $params)
Debtors
HostFact::debtors()->add(array $params) HostFact::debtors()->checkLogin(array $params) HostFact::debtors()->edit(array $params) HostFact::debtors()->generatePdf(array $params) HostFact::debtors()->list(array $params) HostFact::debtors()->sendEmail(array $params) HostFact::debtors()->show(array $params) HostFact::debtors()->updateLoginCredentials(array $params)
Domains
HostFact::domains()->add(array $params) HostFact::domains()->autoRenew(array $params) HostFact::domains()->changeNameServer(array $params) HostFact::domains()->check(array $params) HostFact::domains()->delete(array $params) HostFact::domains()->edit(array $params) HostFact::domains()->editDnsZone(array $params) HostFact::domains()->editWhois(array $params) HostFact::domains()->getDnsZone(array $params) HostFact::domains()->getToken(array $params) HostFact::domains()->list(array $params) HostFact::domains()->listDnsTemplates(array $params) HostFact::domains()->lock(array $params) HostFact::domains()->register(array $params) HostFact::domains()->show(array $params) HostFact::domains()->syncWhois(array $params) HostFact::domains()->terminate(array $params) HostFact::domains()->transfer(array $params) HostFact::domains()->unlock(array $params)
Groups
HostFact::groups()->add(array $params) HostFact::groups()->delete(array $params) HostFact::groups()->edit(array $params) HostFact::groups()->list(array $params) HostFact::groups()->show(array $params)
Handles
HostFact::handles()->add(array $params) HostFact::handles()->delete(array $params) HostFact::handles()->edit(array $params) HostFact::handles()->list(array $params) HostFact::handles()->listDomain(array $params) HostFact::handles()->show(array $params)
Hosting
HostFact::hosting()->add(array $params) HostFact::hosting()->create(array $params) HostFact::hosting()->delete(array $params) HostFact::hosting()->edit(array $params) HostFact::hosting()->getDomainList(array $params) HostFact::hosting()->list(array $params) HostFact::hosting()->removeFromServer(array $params) HostFact::hosting()->sendAccountInfoByEmail(array $params) HostFact::hosting()->show(array $params) HostFact::hosting()->suspend(array $params) HostFact::hosting()->terminate(array $params) HostFact::hosting()->unsuspend(array $params) HostFact::hosting()->upDownGrade(array $params)
Invoices
HostFact::invoices()->add(array $params) HostFact::invoices()->block(array $params) HostFact::invoices()->cancelSchedule(array $params) HostFact::invoices()->credit(array $params) HostFact::invoices()->delete(array $params) HostFact::invoices()->download(array $params) HostFact::invoices()->edit(array $params) HostFact::invoices()->list(array $params) HostFact::invoices()->markAsPaid(array $params) HostFact::invoices()->markAsUnpaid(array $params) HostFact::invoices()->partPayment(array $params) HostFact::invoices()->paymentProcessPause(array $params) HostFact::invoices()->paymentProcessReactivate(array $params) HostFact::invoices()->schedule(array $params) HostFact::invoices()->sendByEmail(array $params) HostFact::invoices()->sendReminderByEmail(array $params) HostFact::invoices()->sendSummationByEmail(array $params) HostFact::invoices()->show(array $params) HostFact::invoices()->unblock(array $params)
Orders
HostFact::orders()->add(array $params) HostFact::orders()->delete(array $params) HostFact::orders()->edit(array $params) HostFact::orders()->list(array $params) HostFact::orders()->process(array $params) HostFact::orders()->show(array $params)
PriceQuotes
HostFact::pricequotes()->accept(array $params) HostFact::pricequotes()->add(array $params) HostFact::pricequotes()->decline(array $params) HostFact::pricequotes()->delete(array $params) HostFact::pricequotes()->download(array $params) HostFact::pricequotes()->edit(array $params) HostFact::pricequotes()->list(array $params) HostFact::pricequotes()->sendByEmail(array $params) HostFact::pricequotes()->show(array $params)
Products
HostFact::products()->add(array $params) HostFact::products()->delete(array $params) HostFact::products()->edit(array $params) HostFact::products()->list(array $params) HostFact::products()->show(array $params)
Services
HostFact::services()->add(array $params) HostFact::services()->edit(array $params) HostFact::services()->list(array $params) HostFact::services()->show(array $params) HostFact::services()->terminate(array $params)
Ssl
HostFact::ssl()->add(array $params) HostFact::ssl()->download(array $params) HostFact::ssl()->edit(array $params) HostFact::ssl()->getStatus(array $params) HostFact::ssl()->installed(array $params) HostFact::ssl()->list(array $params) HostFact::ssl()->reissue(array $params) HostFact::ssl()->renew(array $params) HostFact::ssl()->request(array $params) HostFact::ssl()->resendApproverMail(array $params) HostFact::ssl()->revoke(array $params) HostFact::ssl()->show(array $params) HostFact::ssl()->terminate(array $params) HostFact::ssl()->uninstalled(array $params)
Tickets
HostFact::tickets()->add(array $params) HostFact::tickets()->addMessage(array $params) HostFact::tickets()->changeOwner(array $params) HostFact::tickets()->changeStatus(array $params) HostFact::tickets()->delete(array $params) HostFact::tickets()->edit(array $params) HostFact::tickets()->list(array $params) HostFact::tickets()->show(array $params)
Vps
HostFact::vps()->add(array $params) HostFact::vps()->create(array $params) HostFact::vps()->downloadAccountData(array $params) HostFact::vps()->edit(array $params) HostFact::vps()->list(array $params) HostFact::vps()->pause(array $params) HostFact::vps()->restart(array $params) HostFact::vps()->sendAccountDataByEmail(array $params) HostFact::vps()->show(array $params) HostFact::vps()->start(array $params) HostFact::vps()->suspend(array $params) HostFact::vps()->terminate(array $params) HostFact::vps()->unsuspend(array $params)
Tests
composer test