mirror of
https://github.com/cp6/my-idlers.git
synced 2024-11-16 23:42:32 +01:00
commit
1c8ec5fc6b
28
README.md
28
README.md
@ -8,7 +8,7 @@ Despite what the name infers this self hosted web app isn't just for storing idl
|
|||||||
a [YABs](https://github.com/masonr/yet-another-bench-script) output you can get disk & network speed values along with
|
a [YABs](https://github.com/masonr/yet-another-bench-script) output you can get disk & network speed values along with
|
||||||
GeekBench 5 scores to do easier comparing and sorting.
|
GeekBench 5 scores to do easier comparing and sorting.
|
||||||
|
|
||||||
[![Generic badge](https://img.shields.io/badge/version-2.1.7-blue.svg)](https://shields.io/) [![Generic badge](https://img.shields.io/badge/Laravel-9.0-red.svg)](https://shields.io/) [![Generic badge](https://img.shields.io/badge/PHP-8.1-purple.svg)](https://shields.io/) [![Generic badge](https://img.shields.io/badge/Bootstrap-5.1-pink.svg)](https://shields.io/)
|
[![Generic badge](https://img.shields.io/badge/version-2.1.8-blue.svg)](https://shields.io/) [![Generic badge](https://img.shields.io/badge/Laravel-9.0-red.svg)](https://shields.io/) [![Generic badge](https://img.shields.io/badge/PHP-8.1-purple.svg)](https://shields.io/) [![Generic badge](https://img.shields.io/badge/Bootstrap-5.1-pink.svg)](https://shields.io/)
|
||||||
|
|
||||||
<img src="https://raw.githubusercontent.com/cp6/my-idlers/main/public/My%20Idlers%20logo.jpg" width="128" height="128" />
|
<img src="https://raw.githubusercontent.com/cp6/my-idlers/main/public/My%20Idlers%20logo.jpg" width="128" height="128" />
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ GeekBench 5 scores to do easier comparing and sorting.
|
|||||||
|
|
||||||
[Cloud Five Limited](https://cloud-v.net/) for providing the hosting for demo installation.
|
[Cloud Five Limited](https://cloud-v.net/) for providing the hosting for demo installation.
|
||||||
|
|
||||||
## 2.1.7 changes (13th October 2022):
|
## 2.1.8 changes (20th October 2022):
|
||||||
|
|
||||||
#### You can no longer use the form to submit YABS results
|
#### You can no longer use the form to submit YABS results
|
||||||
yabs.sh now has JSON formatted response and can POST the output directly from calling the script.
|
yabs.sh now has JSON formatted response and can POST the output directly from calling the script.
|
||||||
@ -36,26 +36,18 @@ Example yabs.sh call to POST the result
|
|||||||
#### Please run the following if updating from existing install:
|
#### Please run the following if updating from existing install:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
php artisan migrate
|
|
||||||
php artisan route:cache
|
php artisan route:cache
|
||||||
php artisan cache:clear
|
php artisan cache:clear
|
||||||
```
|
```
|
||||||
|
|
||||||
* Added default order by (Change this in settings)
|
* Added & implemented details footer blade component
|
||||||
* Added dual success & error response alert component
|
* Added new index layout
|
||||||
* Added new response alert component into views
|
* Updated domains, misc, reseller, seedboxes and shared use new index layout
|
||||||
* Added input parameters for `compareYabs()`
|
* Updated validation for store and update
|
||||||
* Updated and fixed server_type and virt mix-ups
|
* Updated `updatePricing()` to not need `$as_usd` parameter
|
||||||
* Updated views title `@section` layout
|
* Updated labels assigned insert
|
||||||
* Updated cache timeframes
|
* Updated order/sort by methods for pricing related columns
|
||||||
* Updated `RouteServiceProvider::HOME` for `'/'`
|
* Removed add YABs button on servers index page
|
||||||
* Updated the server choose compare method
|
|
||||||
* Fixed update server ssh port
|
|
||||||
* Fixed server due in X days being null
|
|
||||||
* Removed unused with 'labels.label' in queries
|
|
||||||
* Removed unused welcome and dashboard views
|
|
||||||
* Removed dashboard redirect to / from routes file
|
|
||||||
* Removed now unused success & error alert components
|
|
||||||
|
|
||||||
## Requires
|
## Requires
|
||||||
|
|
||||||
|
@ -34,9 +34,13 @@ class DNSController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'hostname' => 'required|min:2',
|
'hostname' => 'required|string|min:2',
|
||||||
'address' => 'required|min:2',
|
'address' => 'required|string|min:2',
|
||||||
'dns_type' => 'required'
|
'dns_type' => 'required|string',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$dns_id = Str::random(8);
|
$dns_id = Str::random(8);
|
||||||
@ -90,9 +94,13 @@ class DNSController extends Controller
|
|||||||
public function update(Request $request, DNS $dn)
|
public function update(Request $request, DNS $dn)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'hostname' => 'required|min:2',
|
'hostname' => 'required|string|min:2',
|
||||||
'address' => 'required|min:2',
|
'address' => 'required|string|min:2',
|
||||||
'dns_type' => 'required'
|
'dns_type' => 'required|string',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$dn->update([
|
$dn->update([
|
||||||
|
@ -34,11 +34,20 @@ class DomainsController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'domain' => 'required|min:2',
|
'domain' => 'required|string|min:2',
|
||||||
'extension' => 'required|min:2',
|
'extension' => 'required|string|min:2',
|
||||||
'provider_id' => 'numeric',
|
'ns1' => 'sometimes|nullable|min:2',
|
||||||
|
'ns2' => 'sometimes|nullable|min:2',
|
||||||
|
'ns3' => 'sometimes|nullable|min:2',
|
||||||
|
'provider_id' => 'integer',
|
||||||
|
'payment_term' => 'integer',
|
||||||
'price' => 'numeric',
|
'price' => 'numeric',
|
||||||
'next_due_date' => 'required|date'
|
'next_due_date' => 'required|date',
|
||||||
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$domain_id = Str::random(8);
|
$domain_id = Str::random(8);
|
||||||
@ -74,15 +83,24 @@ class DomainsController extends Controller
|
|||||||
public function update(Request $request, Domains $domain)
|
public function update(Request $request, Domains $domain)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'domain' => 'required|min:2',
|
'domain' => 'required|string|min:2',
|
||||||
'extension' => 'required|min:2',
|
'extension' => 'required|string|min:2',
|
||||||
'provider_id' => 'numeric',
|
'ns1' => 'sometimes|nullable|min:2',
|
||||||
'price' => 'numeric'
|
'ns2' => 'sometimes|nullable|min:2',
|
||||||
|
'ns3' => 'sometimes|nullable|min:2',
|
||||||
|
'provider_id' => 'integer',
|
||||||
|
'payment_term' => 'integer',
|
||||||
|
'price' => 'numeric',
|
||||||
|
'next_due_date' => 'required|date',
|
||||||
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$pricing = new Pricing();
|
$pricing = new Pricing();
|
||||||
$as_usd = $pricing->convertToUSD($request->price, $request->currency);
|
$pricing->updatePricing($domain->id, $request->currency, $request->price, $request->payment_term, $request->next_due_date);
|
||||||
$pricing->updatePricing($domain->id, $request->currency, $request->price, $request->payment_term, $as_usd, $request->next_due_date);
|
|
||||||
|
|
||||||
$domain->update([
|
$domain->update([
|
||||||
'domain' => $request->domain,
|
'domain' => $request->domain,
|
||||||
|
@ -31,7 +31,8 @@ class IPsController extends Controller
|
|||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'address' => 'required|ip|min:2',
|
'address' => 'required|ip|min:2',
|
||||||
'ip_type' => 'required'
|
'ip_type' => 'required|string|size:4',
|
||||||
|
'service_id' => 'required|string'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$ip_id = Str::random(8);
|
$ip_id = Str::random(8);
|
||||||
|
@ -25,7 +25,7 @@ class LabelsController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'label' => 'required|min:2'
|
'label' => 'required|string|min:2'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Labels::create([
|
Labels::create([
|
||||||
|
@ -24,7 +24,7 @@ class LocationsController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'location_name' => 'required|min:2'
|
'location_name' => 'required|string|min:2'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Locations::create([
|
Locations::create([
|
||||||
|
@ -32,9 +32,11 @@ class MiscController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'name' => 'required|min:3',
|
'name' => 'required|string|min:3',
|
||||||
'price' => 'required|numeric',
|
'price' => 'required|numeric',
|
||||||
'owned_since' => 'date',
|
'payment_term' => 'required|integer',
|
||||||
|
'currency' => 'required|string|size:3',
|
||||||
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
'next_due_date' => 'required|date'
|
'next_due_date' => 'required|date'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -65,21 +67,22 @@ class MiscController extends Controller
|
|||||||
public function update(Request $request, Misc $misc)
|
public function update(Request $request, Misc $misc)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'name' => 'required',
|
'name' => 'required|string|min:3',
|
||||||
'owned_since' => 'date',
|
'price' => 'required|numeric',
|
||||||
|
'payment_term' => 'required|integer',
|
||||||
|
'currency' => 'required|string|size:3',
|
||||||
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
|
'next_due_date' => 'required|date'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DB::table('misc_services')
|
$misc->update([
|
||||||
->where('id', $misc->id)
|
|
||||||
->update([
|
|
||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'owned_since' => $request->owned_since,
|
'owned_since' => $request->owned_since,
|
||||||
'active' => (isset($request->is_active)) ? 1 : 0
|
'active' => (isset($request->is_active)) ? 1 : 0
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$pricing = new Pricing();
|
$pricing = new Pricing();
|
||||||
$as_usd = $pricing->convertToUSD($request->price, $request->currency);
|
$pricing->updatePricing($misc->id, $request->currency, $request->price, $request->payment_term, $request->next_due_date);
|
||||||
$pricing->updatePricing($misc->id, $request->currency, $request->price, $request->payment_term, $as_usd, $request->next_due_date);
|
|
||||||
|
|
||||||
Cache::forget("all_misc");
|
Cache::forget("all_misc");
|
||||||
Cache::forget("misc.{$misc->id}");
|
Cache::forget("misc.{$misc->id}");
|
||||||
|
@ -22,7 +22,7 @@ class OsController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'os_name' => 'required|min:2'
|
'os_name' => 'required|string|min:2'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
OS::create([
|
OS::create([
|
||||||
|
@ -24,7 +24,7 @@ class ProvidersController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'provider_name' => 'required|min:2'
|
'provider_name' => 'required|string|min:2'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Providers::create([
|
Providers::create([
|
||||||
|
@ -31,26 +31,27 @@ class ResellerController extends Controller
|
|||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'domain' => 'required|min:4',
|
'domain' => 'required|min:4',
|
||||||
'reseller_type' => 'required',
|
'reseller_type' => 'required|string',
|
||||||
'dedicated_ip' => 'present',
|
'disk' => 'integer',
|
||||||
'accounts' => 'numeric',
|
'os_id' => 'integer',
|
||||||
'server_type' => 'numeric',
|
'provider_id' => 'integer',
|
||||||
'ram' => 'numeric',
|
'location_id' => 'integer',
|
||||||
'disk' => 'numeric',
|
|
||||||
'os_id' => 'numeric',
|
|
||||||
'provider_id' => 'numeric',
|
|
||||||
'location_id' => 'numeric',
|
|
||||||
'price' => 'numeric',
|
'price' => 'numeric',
|
||||||
'payment_term' => 'numeric',
|
'payment_term' => 'integer',
|
||||||
'was_promo' => 'numeric',
|
'was_promo' => 'integer',
|
||||||
'owned_since' => 'date',
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
'domains' => 'numeric',
|
'accounts' => 'integer',
|
||||||
'sub_domains' => 'numeric',
|
'domains' => 'integer',
|
||||||
'bandwidth' => 'numeric',
|
'sub_domains' => 'integer',
|
||||||
'email' => 'numeric',
|
'bandwidth' => 'integer',
|
||||||
'ftp' => 'numeric',
|
'email' => 'integer',
|
||||||
'db' => 'numeric',
|
'ftp' => 'integer',
|
||||||
'next_due_date' => 'required|date'
|
'db' => 'integer',
|
||||||
|
'next_due_date' => 'required|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$reseller_id = Str::random(8);
|
$reseller_id = Str::random(8);
|
||||||
@ -106,30 +107,31 @@ class ResellerController extends Controller
|
|||||||
public function update(Request $request, Reseller $reseller)
|
public function update(Request $request, Reseller $reseller)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'id' => 'required|size:8',
|
|
||||||
'domain' => 'required|min:4',
|
'domain' => 'required|min:4',
|
||||||
'reseller_type' => 'required',
|
'reseller_type' => 'required|string',
|
||||||
'dedicated_ip' => 'present',
|
'disk' => 'integer',
|
||||||
'server_type' => 'numeric',
|
'os_id' => 'integer',
|
||||||
'disk' => 'numeric',
|
'provider_id' => 'integer',
|
||||||
'os_id' => 'numeric',
|
'location_id' => 'integer',
|
||||||
'provider_id' => 'numeric',
|
|
||||||
'location_id' => 'numeric',
|
|
||||||
'price' => 'numeric',
|
'price' => 'numeric',
|
||||||
'payment_term' => 'numeric',
|
'payment_term' => 'integer',
|
||||||
'was_promo' => 'numeric',
|
'was_promo' => 'integer',
|
||||||
'owned_since' => 'date',
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
'domains' => 'numeric',
|
'accounts' => 'integer',
|
||||||
'sub_domains' => 'numeric',
|
'domains' => 'integer',
|
||||||
'bandwidth' => 'numeric',
|
'sub_domains' => 'integer',
|
||||||
'email' => 'numeric',
|
'bandwidth' => 'integer',
|
||||||
'ftp' => 'numeric',
|
'email' => 'integer',
|
||||||
'db' => 'numeric'
|
'ftp' => 'integer',
|
||||||
|
'db' => 'integer',
|
||||||
|
'next_due_date' => 'required|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DB::table('reseller_hosting')
|
$reseller->update([
|
||||||
->where('id', $request->id)
|
|
||||||
->update([
|
|
||||||
'main_domain' => $request->domain,
|
'main_domain' => $request->domain,
|
||||||
'reseller_type' => $request->reseller_type,
|
'reseller_type' => $request->reseller_type,
|
||||||
'provider_id' => $request->provider_id,
|
'provider_id' => $request->provider_id,
|
||||||
@ -148,8 +150,7 @@ class ResellerController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$pricing = new Pricing();
|
$pricing = new Pricing();
|
||||||
$as_usd = $pricing->convertToUSD($request->price, $request->currency);
|
$pricing->updatePricing($request->id, $request->currency, $request->price, $request->payment_term, $request->next_due_date);
|
||||||
$pricing->updatePricing($request->id, $request->currency, $request->price, $request->payment_term, $as_usd, $request->next_due_date);
|
|
||||||
|
|
||||||
Labels::deleteLabelsAssignedTo($request->id);
|
Labels::deleteLabelsAssignedTo($request->id);
|
||||||
Labels::insertLabelsAssigned([$request->label1, $request->label2, $request->label3, $request->label4], $request->id);
|
Labels::insertLabelsAssigned([$request->label1, $request->label2, $request->label3, $request->label4], $request->id);
|
||||||
|
@ -29,19 +29,23 @@ class SeedBoxesController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'title' => 'required|string',
|
'title' => 'required|string|min:2',
|
||||||
'hostname' => 'string|nullable',
|
'hostname' => 'sometimes|nullable|string|min:2',
|
||||||
'seed_box_type' => 'required',
|
'seed_box_type' => 'required|string',
|
||||||
'provider_id' => 'numeric',
|
'provider_id' => 'integer',
|
||||||
'location_id' => 'numeric',
|
'location_id' => 'integer',
|
||||||
'price' => 'numeric',
|
'price' => 'numeric',
|
||||||
'payment_term' => 'numeric',
|
'payment_term' => 'integer',
|
||||||
'was_promo' => 'numeric',
|
'was_promo' => 'integer',
|
||||||
'owned_since' => 'date',
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
'disk' => 'numeric',
|
'disk' => 'integer',
|
||||||
'bandwidth' => 'numeric',
|
'bandwidth' => 'integer',
|
||||||
'port_speed' => 'numeric',
|
'port_speed' => 'integer',
|
||||||
'next_due_date' => 'required|date'
|
'next_due_date' => 'required|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$seedbox_id = Str::random(8);
|
$seedbox_id = Str::random(8);
|
||||||
@ -91,24 +95,26 @@ class SeedBoxesController extends Controller
|
|||||||
public function update(Request $request, SeedBoxes $seedbox)
|
public function update(Request $request, SeedBoxes $seedbox)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'id' => 'required|size:8',
|
'title' => 'required|string|min:2',
|
||||||
'title' => 'required|string',
|
'hostname' => 'sometimes|nullable|string|min:2',
|
||||||
'hostname' => 'string|nullable',
|
'seed_box_type' => 'required|string',
|
||||||
'seed_box_type' => 'required',
|
'provider_id' => 'integer',
|
||||||
'disk' => 'numeric',
|
'location_id' => 'integer',
|
||||||
'provider_id' => 'numeric',
|
|
||||||
'location_id' => 'numeric',
|
|
||||||
'price' => 'numeric',
|
'price' => 'numeric',
|
||||||
'payment_term' => 'numeric',
|
'payment_term' => 'integer',
|
||||||
'was_promo' => 'numeric',
|
'was_promo' => 'integer',
|
||||||
'owned_since' => 'date',
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
'bandwidth' => 'numeric',
|
'disk' => 'integer',
|
||||||
'port_speed' => 'numeric'
|
'bandwidth' => 'integer',
|
||||||
|
'port_speed' => 'integer',
|
||||||
|
'next_due_date' => 'required|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DB::table('seedboxes')
|
$seedbox->update([
|
||||||
->where('id', $seedbox->id)
|
|
||||||
->update([
|
|
||||||
'title' => $request->title,
|
'title' => $request->title,
|
||||||
'hostname' => $request->hostname,
|
'hostname' => $request->hostname,
|
||||||
'seed_box_type' => $request->seed_box_type,
|
'seed_box_type' => $request->seed_box_type,
|
||||||
@ -124,8 +130,7 @@ class SeedBoxesController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$pricing = new Pricing();
|
$pricing = new Pricing();
|
||||||
$as_usd = $pricing->convertToUSD($request->price, $request->currency);
|
$pricing->updatePricing($seedbox->id, $request->currency, $request->price, $request->payment_term, $request->next_due_date);
|
||||||
$pricing->updatePricing($seedbox->id, $request->currency, $request->price, $request->payment_term, $as_usd, $request->next_due_date);
|
|
||||||
|
|
||||||
Labels::deleteLabelsAssignedTo($seedbox->id);
|
Labels::deleteLabelsAssignedTo($seedbox->id);
|
||||||
Labels::insertLabelsAssigned([$request->label1, $request->label2, $request->label3, $request->label4], $seedbox->id);
|
Labels::insertLabelsAssigned([$request->label1, $request->label2, $request->label3, $request->label4], $seedbox->id);
|
||||||
|
@ -18,9 +18,7 @@ class ServerController extends Controller
|
|||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$servers = Server::allActiveServers();
|
$servers = Server::allActiveServers();
|
||||||
|
|
||||||
$non_active_servers = Server::allNonActiveServers();
|
$non_active_servers = Server::allNonActiveServers();
|
||||||
|
|
||||||
return view('servers.index', compact(['servers', 'non_active_servers']));
|
return view('servers.index', compact(['servers', 'non_active_servers']));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,22 +41,30 @@ class ServerController extends Controller
|
|||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'hostname' => 'required|min:5',
|
'hostname' => 'required|min:5',
|
||||||
'ip1' => 'nullable|ip',
|
'ip1' => 'sometimes|nullable|ip',
|
||||||
'ip2' => 'nullable|ip',
|
'ip2' => 'sometimes|nullable|ip',
|
||||||
'service_type' => 'numeric',
|
'ns1' => 'sometimes|nullable|string',
|
||||||
'server_type' => 'numeric',
|
'ns2' => 'sometimes|nullable|string',
|
||||||
'ram' => 'numeric',
|
'service_type' => 'integer',
|
||||||
'disk' => 'numeric',
|
'server_type' => 'integer',
|
||||||
'os_id' => 'numeric',
|
'ssh_port' => 'integer',
|
||||||
'provider_id' => 'numeric',
|
'bandwidth' => 'integer',
|
||||||
'location_id' => 'numeric',
|
'ram' => 'required|numeric',
|
||||||
'price' => 'numeric',
|
'disk' => 'required|integer',
|
||||||
'cpu' => 'numeric',
|
'os_id' => 'required|integer',
|
||||||
'was_promo' => 'numeric',
|
'provider_id' => 'required|integer',
|
||||||
'next_due_date' => 'required|date'
|
'location_id' => 'required|integer',
|
||||||
|
'price' => 'required|numeric',
|
||||||
|
'cpu' => 'required|integer',
|
||||||
|
'was_promo' => 'integer',
|
||||||
|
'next_due_date' => 'required|date',
|
||||||
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$server_id = Str::random(8);
|
$server_id = Str::random(8);
|
||||||
@ -123,22 +129,31 @@ class ServerController extends Controller
|
|||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'hostname' => 'required|min:5',
|
'hostname' => 'required|min:5',
|
||||||
'ram' => 'numeric',
|
'ip1' => 'sometimes|nullable|ip',
|
||||||
'disk' => 'numeric',
|
'ip2' => 'sometimes|nullable|ip',
|
||||||
'os_id' => 'numeric',
|
'ns1' => 'sometimes|nullable|string',
|
||||||
'provider_id' => 'numeric',
|
'ns2' => 'sometimes|nullable|string',
|
||||||
'location_id' => 'numeric',
|
'service_type' => 'integer',
|
||||||
'price' => 'numeric',
|
'server_type' => 'integer',
|
||||||
'cpu' => 'numeric',
|
'ssh_port' => 'integer',
|
||||||
'was_promo' => 'numeric',
|
'bandwidth' => 'integer',
|
||||||
'next_due_date' => 'date'
|
'ram' => 'required|numeric',
|
||||||
|
'disk' => 'required|integer',
|
||||||
|
'os_id' => 'required|integer',
|
||||||
|
'provider_id' => 'required|integer',
|
||||||
|
'location_id' => 'required|integer',
|
||||||
|
'price' => 'required|numeric',
|
||||||
|
'cpu' => 'required|integer',
|
||||||
|
'was_promo' => 'integer',
|
||||||
|
'next_due_date' => 'required|date',
|
||||||
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$server_id = $request->server_id;
|
$server->update([
|
||||||
|
|
||||||
DB::table('servers')
|
|
||||||
->where('id', $server_id)
|
|
||||||
->update([
|
|
||||||
'hostname' => $request->hostname,
|
'hostname' => $request->hostname,
|
||||||
'server_type' => $request->server_type,
|
'server_type' => $request->server_type,
|
||||||
'os_id' => $request->os_id,
|
'os_id' => $request->os_id,
|
||||||
@ -161,11 +176,10 @@ class ServerController extends Controller
|
|||||||
'show_public' => (isset($request->show_public)) ? 1 : 0
|
'show_public' => (isset($request->show_public)) ? 1 : 0
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$server_id = $request->server_id;
|
||||||
|
|
||||||
$pricing = new Pricing();
|
$pricing = new Pricing();
|
||||||
|
$pricing->updatePricing($server_id, $request->currency, $request->price, $request->payment_term, $request->next_due_date);
|
||||||
$as_usd = $pricing->convertToUSD($request->price, $request->currency);
|
|
||||||
|
|
||||||
$pricing->updatePricing($server_id, $request->currency, $request->price, $request->payment_term, $as_usd, $request->next_due_date);
|
|
||||||
|
|
||||||
Labels::deleteLabelsAssignedTo($server_id);
|
Labels::deleteLabelsAssignedTo($server_id);
|
||||||
|
|
||||||
@ -209,7 +223,7 @@ class ServerController extends Controller
|
|||||||
{//NOTICE: Selecting servers is not cached yet
|
{//NOTICE: Selecting servers is not cached yet
|
||||||
$all_servers = Server::where('has_yabs', 1)->get();
|
$all_servers = Server::where('has_yabs', 1)->get();
|
||||||
|
|
||||||
if (isset($all_servers[1])){
|
if (isset($all_servers[1])) {
|
||||||
return view('servers.choose-compare', compact('all_servers'));
|
return view('servers.choose-compare', compact('all_servers'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,24 +29,26 @@ class SharedController extends Controller
|
|||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'domain' => 'required|min:4',
|
'domain' => 'required|min:4',
|
||||||
'shared_type' => 'required',
|
'shared_type' => 'required|string',
|
||||||
'server_type' => 'numeric',
|
'disk' => 'integer',
|
||||||
'ram' => 'numeric',
|
'os_id' => 'integer',
|
||||||
'disk' => 'numeric',
|
'provider_id' => 'integer',
|
||||||
'os_id' => 'numeric',
|
'location_id' => 'integer',
|
||||||
'provider_id' => 'numeric',
|
|
||||||
'location_id' => 'numeric',
|
|
||||||
'price' => 'numeric',
|
'price' => 'numeric',
|
||||||
'payment_term' => 'numeric',
|
'payment_term' => 'integer',
|
||||||
'was_promo' => 'numeric',
|
'was_promo' => 'integer',
|
||||||
'owned_since' => 'date',
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
'domains' => 'numeric',
|
'domains' => 'integer',
|
||||||
'sub_domains' => 'numeric',
|
'sub_domains' => 'integer',
|
||||||
'bandwidth' => 'numeric',
|
'bandwidth' => 'integer',
|
||||||
'email' => 'numeric',
|
'email' => 'integer',
|
||||||
'ftp' => 'numeric',
|
'ftp' => 'integer',
|
||||||
'db' => 'numeric',
|
'db' => 'integer',
|
||||||
'next_due_date' => 'required|date'
|
'next_due_date' => 'required|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$shared_id = Str::random(8);
|
$shared_id = Str::random(8);
|
||||||
@ -103,30 +105,30 @@ class SharedController extends Controller
|
|||||||
public function update(Request $request, Shared $shared)
|
public function update(Request $request, Shared $shared)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'id' => 'required|size:8',
|
|
||||||
'domain' => 'required|min:4',
|
'domain' => 'required|min:4',
|
||||||
'shared_type' => 'required',
|
'shared_type' => 'required|string',
|
||||||
'dedicated_ip' => 'present',
|
'disk' => 'integer',
|
||||||
'server_type' => 'numeric',
|
'os_id' => 'integer',
|
||||||
'disk' => 'numeric',
|
'provider_id' => 'integer',
|
||||||
'os_id' => 'numeric',
|
'location_id' => 'integer',
|
||||||
'provider_id' => 'numeric',
|
|
||||||
'location_id' => 'numeric',
|
|
||||||
'price' => 'numeric',
|
'price' => 'numeric',
|
||||||
'payment_term' => 'numeric',
|
'payment_term' => 'integer',
|
||||||
'was_promo' => 'numeric',
|
'was_promo' => 'integer',
|
||||||
'owned_since' => 'date',
|
'owned_since' => 'sometimes|nullable|date',
|
||||||
'domains' => 'numeric',
|
'domains' => 'integer',
|
||||||
'sub_domains' => 'numeric',
|
'sub_domains' => 'integer',
|
||||||
'bandwidth' => 'numeric',
|
'bandwidth' => 'integer',
|
||||||
'email' => 'numeric',
|
'email' => 'integer',
|
||||||
'ftp' => 'numeric',
|
'ftp' => 'integer',
|
||||||
'db' => 'numeric'
|
'db' => 'integer',
|
||||||
|
'next_due_date' => 'required|date',
|
||||||
|
'label1' => 'sometimes|nullable|string',
|
||||||
|
'label2' => 'sometimes|nullable|string',
|
||||||
|
'label3' => 'sometimes|nullable|string',
|
||||||
|
'label4' => 'sometimes|nullable|string',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DB::table('shared_hosting')
|
$shared->update([
|
||||||
->where('id', $request->id)
|
|
||||||
->update([
|
|
||||||
'main_domain' => $request->domain,
|
'main_domain' => $request->domain,
|
||||||
'shared_type' => $request->shared_type,
|
'shared_type' => $request->shared_type,
|
||||||
'provider_id' => $request->provider_id,
|
'provider_id' => $request->provider_id,
|
||||||
@ -145,8 +147,7 @@ class SharedController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$pricing = new Pricing();
|
$pricing = new Pricing();
|
||||||
$as_usd = $pricing->convertToUSD($request->price, $request->currency);
|
$pricing->updatePricing($request->id, $request->currency, $request->price, $request->payment_term, $request->next_due_date);
|
||||||
$pricing->updatePricing($request->id, $request->currency, $request->price, $request->payment_term, $as_usd, $request->next_due_date);
|
|
||||||
|
|
||||||
Labels::deleteLabelsAssignedTo($request->id);
|
Labels::deleteLabelsAssignedTo($request->id);
|
||||||
Labels::insertLabelsAssigned([$request->label1, $request->label2, $request->label3, $request->label4], $request->id);
|
Labels::insertLabelsAssigned([$request->label1, $request->label2, $request->label3, $request->label4], $request->id);
|
||||||
|
@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Support\Facades\Cache;
|
use Illuminate\Support\Facades\Cache;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Session;
|
||||||
|
|
||||||
class Domains extends Model
|
class Domains extends Model
|
||||||
{
|
{
|
||||||
@ -23,7 +24,12 @@ class Domains extends Model
|
|||||||
public static function allDomains()
|
public static function allDomains()
|
||||||
{//All domains and relationships (no using joins)
|
{//All domains and relationships (no using joins)
|
||||||
return Cache::remember("all_domains", now()->addMonth(1), function () {
|
return Cache::remember("all_domains", now()->addMonth(1), function () {
|
||||||
return Domains::with(['provider', 'price', 'labels'])->get();
|
$query = Domains::with(['provider', 'price', 'labels']);
|
||||||
|
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
||||||
|
$options = Settings::orderByProcess(Session::get('sort_on'));
|
||||||
|
$query->orderBy(Pricing::select("pricings.$options[0]")->whereColumn("pricings.service_id", "domains.id"), $options[1]);
|
||||||
|
}
|
||||||
|
return $query->get();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ class Labels extends Model
|
|||||||
{
|
{
|
||||||
for ($i = 1; $i <= 4; $i++) {
|
for ($i = 1; $i <= 4; $i++) {
|
||||||
if (!is_null($labels_array[($i - 1)])) {
|
if (!is_null($labels_array[($i - 1)])) {
|
||||||
DB::insert('INSERT INTO labels_assigned (label_id, service_id) values (?, ?)', [$labels_array[($i - 1)], $service_id]);
|
DB::table('labels_assigned')->insert(['label_id' => $labels_array[($i - 1)], 'service_id' => $service_id]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,12 @@ class Misc extends Model
|
|||||||
public static function allMisc()
|
public static function allMisc()
|
||||||
{//All misc and relationships (no using joins)
|
{//All misc and relationships (no using joins)
|
||||||
return Cache::remember("all_misc", now()->addMonth(1), function () {
|
return Cache::remember("all_misc", now()->addMonth(1), function () {
|
||||||
return Misc::with(['price'])->get();
|
$query = Misc::with(['price']);
|
||||||
|
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
||||||
|
$options = Settings::orderByProcess(Session::get('sort_on'));
|
||||||
|
$query->orderBy(Pricing::select("pricings.$options[0]")->whereColumn("pricings.service_id", "misc_services.id"), $options[1]);
|
||||||
|
}
|
||||||
|
return $query->get();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,9 +54,6 @@ class Misc extends Model
|
|||||||
|
|
||||||
public function price()
|
public function price()
|
||||||
{
|
{
|
||||||
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id')->orderBy(Settings::orderByProcess(Session::get('sort_on'))[0], Settings::orderByProcess(Session::get('sort_on'))[1]);
|
|
||||||
}
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ class Pricing extends Model
|
|||||||
private static function getRates($currency): float
|
private static function getRates($currency): float
|
||||||
{
|
{
|
||||||
$rate = self::refreshRates()->$currency;
|
$rate = self::refreshRates()->$currency;
|
||||||
return $rate === null ? 1.00 : $rate;
|
return $rate ?? 1.00;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getCurrencyList(): array
|
public static function getCurrencyList(): array
|
||||||
@ -125,8 +125,9 @@ class Pricing extends Model
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updatePricing(string $service_id, string $currency, float $price, int $term, float $as_usd, string $next_due_date, int $is_active = 1): int
|
public function updatePricing(string $service_id, string $currency, float $price, int $term, string $next_due_date, int $is_active = 1): int
|
||||||
{
|
{
|
||||||
|
$as_usd = $this->convertToUSD($price, $currency);
|
||||||
return DB::table('pricings')
|
return DB::table('pricings')
|
||||||
->where('service_id', $service_id)
|
->where('service_id', $service_id)
|
||||||
->update([
|
->update([
|
||||||
@ -136,15 +137,14 @@ class Pricing extends Model
|
|||||||
'as_usd' => $as_usd,
|
'as_usd' => $as_usd,
|
||||||
'usd_per_month' => $this->costAsPerMonth($as_usd, $term),
|
'usd_per_month' => $this->costAsPerMonth($as_usd, $term),
|
||||||
'next_due_date' => $next_due_date,
|
'next_due_date' => $next_due_date,
|
||||||
'active' => ($is_active) ? 1 : 0
|
'active' => $is_active
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function allPricing()
|
public static function allPricing()
|
||||||
{
|
{
|
||||||
return Cache::remember('all_pricing', now()->addWeek(1), function () {
|
return Cache::remember('all_pricing', now()->addWeek(1), function () {
|
||||||
return DB::table('pricings')
|
return Pricing::get();
|
||||||
->get();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,12 @@ class Reseller extends Model
|
|||||||
public static function allResellerHosting()
|
public static function allResellerHosting()
|
||||||
{//All reseller hosting and relationships (no using joins)
|
{//All reseller hosting and relationships (no using joins)
|
||||||
return Cache::remember("all_reseller", now()->addMonth(1), function () {
|
return Cache::remember("all_reseller", now()->addMonth(1), function () {
|
||||||
return Reseller::with(['location', 'provider', 'price', 'ips', 'labels'])->get();
|
$query = Reseller::with(['location', 'provider', 'price', 'ips', 'labels']);
|
||||||
|
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
||||||
|
$options = Settings::orderByProcess(Session::get('sort_on'));
|
||||||
|
$query->orderBy(Pricing::select("pricings.$options[0]")->whereColumn("pricings.service_id", "reseller_hosting.id"), $options[1]);
|
||||||
|
}
|
||||||
|
return $query->get();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,9 +70,6 @@ class Reseller extends Model
|
|||||||
|
|
||||||
public function price()
|
public function price()
|
||||||
{
|
{
|
||||||
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id')->orderBy(Settings::orderByProcess(Session::get('sort_on'))[0], Settings::orderByProcess(Session::get('sort_on'))[1]);
|
|
||||||
}
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,12 @@ class SeedBoxes extends Model
|
|||||||
public static function allSeedboxes()
|
public static function allSeedboxes()
|
||||||
{//All seedboxes and relationships (no using joins)
|
{//All seedboxes and relationships (no using joins)
|
||||||
return Cache::remember("all_seedboxes", now()->addMonth(1), function () {
|
return Cache::remember("all_seedboxes", now()->addMonth(1), function () {
|
||||||
return SeedBoxes::with(['location', 'provider', 'price'])->get();
|
$query = SeedBoxes::with(['location', 'provider', 'price']);
|
||||||
|
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
||||||
|
$options = Settings::orderByProcess(Session::get('sort_on'));
|
||||||
|
$query->orderBy(Pricing::select("pricings.$options[0]")->whereColumn("pricings.service_id", "seedboxes.id"), $options[1]);
|
||||||
|
}
|
||||||
|
return $query->get();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,9 +65,6 @@ class SeedBoxes extends Model
|
|||||||
|
|
||||||
public function price()
|
public function price()
|
||||||
{
|
{
|
||||||
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id')->orderBy(Settings::orderByProcess(Session::get('sort_on'))[0], Settings::orderByProcess(Session::get('sort_on'))[1]);
|
|
||||||
}
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,12 @@ class Server extends Model
|
|||||||
public static function allServers()
|
public static function allServers()
|
||||||
{//All servers and relationships (no using joins)
|
{//All servers and relationships (no using joins)
|
||||||
return Cache::remember("all_servers", now()->addMonth(1), function () {
|
return Cache::remember("all_servers", now()->addMonth(1), function () {
|
||||||
return Server::with(['location', 'provider', 'os', 'price', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels'])->get();
|
$query = Server::with(['location', 'provider', 'os', 'price', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels']);
|
||||||
|
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
||||||
|
$options = Settings::orderByProcess(Session::get('sort_on'));
|
||||||
|
$query->orderBy(Pricing::select("pricings.$options[0]")->whereColumn("pricings.service_id", "servers.id"), $options[1]);
|
||||||
|
}
|
||||||
|
return $query->get();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,8 +63,13 @@ class Server extends Model
|
|||||||
public static function allActiveServers()
|
public static function allActiveServers()
|
||||||
{//All ACTIVE servers and relationships replaces activeServersDataIndexPage()
|
{//All ACTIVE servers and relationships replaces activeServersDataIndexPage()
|
||||||
return Cache::remember("all_active_servers", now()->addMonth(1), function () {
|
return Cache::remember("all_active_servers", now()->addMonth(1), function () {
|
||||||
return Server::where('active', '=', 1)
|
$query = Server::where('active', '=', 1)
|
||||||
->with(['location', 'provider', 'os', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels', 'price'])->get();
|
->with(['location', 'provider', 'os', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels', 'price']);
|
||||||
|
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
||||||
|
$options = Settings::orderByProcess(Session::get('sort_on'));
|
||||||
|
$query->orderBy(Pricing::select("pricings.$options[0]")->whereColumn("pricings.service_id", "servers.id"), $options[1]);
|
||||||
|
}
|
||||||
|
return $query->get();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,9 +226,6 @@ class Server extends Model
|
|||||||
|
|
||||||
public function price()
|
public function price()
|
||||||
{
|
{
|
||||||
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id')->orderBy(Settings::orderByProcess(Session::get('sort_on'))[0], Settings::orderByProcess(Session::get('sort_on'))[1]);
|
|
||||||
}
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,12 @@ class Shared extends Model
|
|||||||
public static function allSharedHosting()
|
public static function allSharedHosting()
|
||||||
{//All shared hosting and relationships (no using joins)
|
{//All shared hosting and relationships (no using joins)
|
||||||
return Cache::remember("all_shared", now()->addMonth(1), function () {
|
return Cache::remember("all_shared", now()->addMonth(1), function () {
|
||||||
return Shared::with(['location', 'provider', 'price', 'ips', 'labels'])->get();
|
$query = Shared::with(['location', 'provider', 'price', 'ips', 'labels']);
|
||||||
|
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
||||||
|
$options = Settings::orderByProcess(Session::get('sort_on'));
|
||||||
|
$query->orderBy(Pricing::select("pricings.$options[0]")->whereColumn("pricings.service_id", "shared_hosting.id"), $options[1]);
|
||||||
|
}
|
||||||
|
return $query->get();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,9 +70,6 @@ class Shared extends Model
|
|||||||
|
|
||||||
public function price()
|
public function price()
|
||||||
{
|
{
|
||||||
if (in_array(Session::get('sort_on'), [3, 4, 5, 6], true)) {
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id')->orderBy(Settings::orderByProcess(Session::get('sort_on'))[0], Settings::orderByProcess(Session::get('sort_on'))[1]);
|
|
||||||
}
|
|
||||||
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
return $this->hasOne(Pricing::class, 'service_id', 'id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,10 +46,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>@if(isset($timer))@endif Built on
|
|
||||||
Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
4
resources/views/components/details-footer.blade.php
Normal file
4
resources/views/components/details-footer.blade.php
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
||||||
|
<p class="text-muted mt-4 text-end"><small>Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP
|
||||||
|
v{{ PHP_VERSION }})</small></p>
|
||||||
|
@endif
|
@ -8,10 +8,10 @@
|
|||||||
showModal: false
|
showModal: false
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
modalForm(event) {
|
confirmDeleteModal(event) {
|
||||||
this.showModal = true;
|
this.showModal = true;
|
||||||
this.modal_hostname = event.target.id.replace('btn-', '');
|
this.modal_hostname = event.target.title;
|
||||||
this.modal_id = event.target.title;
|
this.modal_id = event.target.id;
|
||||||
this.delete_form_action = '{{$uri}}/' + this.modal_id;
|
this.delete_form_action = '{{$uri}}/' + this.modal_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,8 +42,8 @@
|
|||||||
<i class="fas fa-pen" title="edit"></i></a>
|
<i class="fas fa-pen" title="edit"></i></a>
|
||||||
@csrf
|
@csrf
|
||||||
@method('DELETE')
|
@method('DELETE')
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$dns->hostname}}" title="{{$dns->id}}"></i>
|
id="{{$dns->id}}" title="{{$dns->hostname}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -57,12 +57,7 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-modal-delete-script>
|
<x-modal-delete-script>
|
||||||
<x-slot name="uri">dns</x-slot>
|
<x-slot name="uri">dns</x-slot>
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
@section("title", "Domains")
|
@extends('layouts.index')
|
||||||
@section('style')
|
@section('title', 'Domains')
|
||||||
|
@section('css_style')
|
||||||
<x-modal-style></x-modal-style>
|
<x-modal-style></x-modal-style>
|
||||||
@endsection
|
@endsection
|
||||||
@section('scripts')
|
@section('header')
|
||||||
<script src="{{ asset('js/vue.min.js') }}"></script>
|
|
||||||
<script src="{{ asset('js/axios.min.js') }}"></script>
|
|
||||||
@endsection
|
|
||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Domains') }}
|
{{ __('Domains') }}
|
||||||
</x-slot>
|
@endsection
|
||||||
|
@section('content')
|
||||||
<div class="container" id="app">
|
<div class="container" id="app">
|
||||||
<x-delete-confirm-modal></x-delete-confirm-modal>
|
<x-delete-confirm-modal></x-delete-confirm-modal>
|
||||||
<x-card class="shadow mt-3">
|
<x-card class="shadow mt-3">
|
||||||
@ -32,12 +29,14 @@
|
|||||||
@foreach($domains as $domain)
|
@foreach($domains as $domain)
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-nowrap"><a href="https://{{ $domain->domain }}.{{$domain->extension}}"
|
<td class="text-nowrap"><a href="https://{{ $domain->domain }}.{{$domain->extension}}"
|
||||||
class="text-decoration-none">{{ $domain->domain }}.{{$domain->extension}}</a></td>
|
class="text-decoration-none">{{ $domain->domain }}
|
||||||
|
.{{$domain->extension}}</a></td>
|
||||||
<td class="text-nowrap">{{ $domain->owned_since}}</td>
|
<td class="text-nowrap">{{ $domain->owned_since}}</td>
|
||||||
<td class="text-nowrap">{{ now()->diffInDays($domain->price->next_due_date) }} <small>days</small>
|
<td class="text-nowrap">{{ now()->diffInDays($domain->price->next_due_date) }} <small>days</small>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-nowrap">{{ $domain->provider->name}}</td>
|
<td class="text-nowrap">{{ $domain->provider->name}}</td>
|
||||||
<td class="text-nowrap">{{ $domain->price->price }} <small>{{$domain->price->currency}}</small></td>
|
<td class="text-nowrap">{{ $domain->price->price }}
|
||||||
|
<small>{{$domain->price->currency}}</small></td>
|
||||||
<td class="text-nowrap">
|
<td class="text-nowrap">
|
||||||
<form action="{{ route('domains.destroy', $domain->id) }}" method="POST">
|
<form action="{{ route('domains.destroy', $domain->id) }}" method="POST">
|
||||||
<a href="{{ route('domains.show', $domain->id) }}"
|
<a href="{{ route('domains.show', $domain->id) }}"
|
||||||
@ -48,8 +47,8 @@
|
|||||||
<i class="fas fa-pen" title="edit"></i></a>
|
<i class="fas fa-pen" title="edit"></i></a>
|
||||||
@csrf
|
@csrf
|
||||||
@method('DELETE')
|
@method('DELETE')
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$domain->domain}}" title="{{$domain->id}}"></i>
|
id="{{$domain->id}}" title="{{$domain->domain}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -63,14 +62,9 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-modal-delete-script>
|
<x-modal-delete-script>
|
||||||
<x-slot name="uri">domains</x-slot>
|
<x-slot name="uri">domains</x-slot>
|
||||||
</x-modal-delete-script>
|
</x-modal-delete-script>
|
||||||
</x-app-layout>
|
@endsection
|
||||||
|
@ -41,8 +41,8 @@
|
|||||||
<form action="{{ route('IPs.destroy', $ip->id) }}" method="POST">
|
<form action="{{ route('IPs.destroy', $ip->id) }}" method="POST">
|
||||||
@csrf
|
@csrf
|
||||||
@method('DELETE')
|
@method('DELETE')
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$ip->hostname}}" title="{{$ip->id}}"></i>
|
id="{{$ip->id}}" title="{{$ip->hostname}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -56,12 +56,7 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-datatables-assets></x-datatables-assets>
|
<x-datatables-assets></x-datatables-assets>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
@ -36,8 +36,8 @@
|
|||||||
class="text-body mx-1">
|
class="text-body mx-1">
|
||||||
<i class="fas fa-eye" title="view"></i></a>
|
<i class="fas fa-eye" title="view"></i></a>
|
||||||
@csrf
|
@csrf
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$label->label}}" title="{{$label->id}}"></i>
|
id="{{$label->id}}" title="{{$label->label}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -50,12 +50,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-datatables-assets></x-datatables-assets>
|
<x-datatables-assets></x-datatables-assets>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@ -75,6 +70,6 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<x-modal-delete-script>
|
<x-modal-delete-script>
|
||||||
<x-slot name="uri">locations</x-slot>
|
<x-slot name="uri">labels</x-slot>
|
||||||
</x-modal-delete-script>
|
</x-modal-delete-script>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
39
resources/views/layouts/index.blade.php
Normal file
39
resources/views/layouts/index.blade.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||||
|
@if(isset(Auth::user()->api_token))
|
||||||
|
<meta name="api_token" content="{{ Auth::user()->api_token }}">
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<title>@yield('title') - @if (config()->has('app.name')){{ config('app.name') }} @else My idlers @endif</title>
|
||||||
|
|
||||||
|
@if(Session::get('dark_mode'))
|
||||||
|
<link rel="stylesheet" href="{{ asset('css/bootstrap-dark.min.css') }}">
|
||||||
|
@else
|
||||||
|
<link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}">
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ asset('css/fa.min.css') }}">
|
||||||
|
|
||||||
|
@yield('css_style')
|
||||||
|
<script src="{{ asset('js/vue.min.js') }}"></script>
|
||||||
|
</head>
|
||||||
|
<body class="font-sans antialiased">
|
||||||
|
<div class="container-fluid">
|
||||||
|
@include('layouts.navigation')
|
||||||
|
</div>
|
||||||
|
<div class="container">
|
||||||
|
<h3 class="ms-2 mt-3">
|
||||||
|
@yield('header')
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div class="container">
|
||||||
|
@yield('content')
|
||||||
|
</div>
|
||||||
|
<script src="{{ asset('js/bootstrap.min.js') }}" defer></script>
|
||||||
|
@yield('scripts')
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -49,12 +49,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-datatables-assets></x-datatables-assets>
|
<x-datatables-assets></x-datatables-assets>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
@section("title", "Misc services")
|
@extends('layouts.index')
|
||||||
@section('style')
|
@section('title', 'Misc')
|
||||||
|
@section('css_style')
|
||||||
<x-modal-style></x-modal-style>
|
<x-modal-style></x-modal-style>
|
||||||
@endsection
|
@endsection
|
||||||
@section('scripts')
|
@section('header')
|
||||||
<script src="{{ asset('js/vue.min.js') }}"></script>
|
{{ __('Misc') }}
|
||||||
<script src="{{ asset('js/axios.min.js') }}"></script>
|
|
||||||
@endsection
|
@endsection
|
||||||
<x-app-layout>
|
@section('content')
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Misc services') }}
|
|
||||||
</x-slot>
|
|
||||||
<div class="container" id="app">
|
<div class="container" id="app">
|
||||||
<x-delete-confirm-modal></x-delete-confirm-modal>
|
<x-delete-confirm-modal></x-delete-confirm-modal>
|
||||||
<x-card class="shadow mt-3">
|
<x-card class="shadow mt-3">
|
||||||
@ -51,8 +48,8 @@
|
|||||||
</a>
|
</a>
|
||||||
@csrf
|
@csrf
|
||||||
@method('DELETE')
|
@method('DELETE')
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$m->name}}" title="{{$m->id}}"></i>
|
id="{{$m->id}}" title="{{$m->name}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -66,14 +63,9 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-modal-delete-script>
|
<x-modal-delete-script>
|
||||||
<x-slot name="uri">misc</x-slot>
|
<x-slot name="uri">misc</x-slot>
|
||||||
</x-modal-delete-script>
|
</x-modal-delete-script>
|
||||||
</x-app-layout>
|
@endsection
|
||||||
|
@ -32,8 +32,8 @@
|
|||||||
<td class="text-nowrap">{{ $o->name }}</td>
|
<td class="text-nowrap">{{ $o->name }}</td>
|
||||||
<td class="text-nowrap">
|
<td class="text-nowrap">
|
||||||
<form action="{{ route('locations.destroy', $o->id) }}" method="POST">
|
<form action="{{ route('locations.destroy', $o->id) }}" method="POST">
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$o->name}}" title="{{$o->id}}"></i>
|
id="{{$o->id}}" title="{{$o->name}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -46,12 +46,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-datatables-assets></x-datatables-assets>
|
<x-datatables-assets></x-datatables-assets>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
@ -35,8 +35,8 @@
|
|||||||
<a href="{{ route('providers.show', $provider->id) }}"
|
<a href="{{ route('providers.show', $provider->id) }}"
|
||||||
class="text-body mx-1">
|
class="text-body mx-1">
|
||||||
<i class="fas fa-eye" title="view"></i></a>
|
<i class="fas fa-eye" title="view"></i></a>
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$provider->name}}" title="{{$provider->id}}"></i>
|
id="{{$provider->id}}" title="{{$provider->name}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -49,10 +49,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-datatables-assets></x-datatables-assets>
|
<x-datatables-assets></x-datatables-assets>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
@ -1,16 +1,12 @@
|
|||||||
@section("title", "Resellers")
|
@extends('layouts.index')
|
||||||
@section('style')
|
@section('title', 'Resellers')
|
||||||
|
@section('css_style')
|
||||||
<x-modal-style></x-modal-style>
|
<x-modal-style></x-modal-style>
|
||||||
@endsection
|
@endsection
|
||||||
@section('scripts')
|
@section('header')
|
||||||
<script src="{{ asset('js/vue.min.js') }}"></script>
|
|
||||||
<script src="{{ asset('js/axios.min.js') }}"></script>
|
|
||||||
@endsection
|
|
||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Reseller') }}
|
{{ __('Reseller') }}
|
||||||
</x-slot>
|
@endsection
|
||||||
|
@section('content')
|
||||||
<div class="container" id="app">
|
<div class="container" id="app">
|
||||||
<x-delete-confirm-modal></x-delete-confirm-modal>
|
<x-delete-confirm-modal></x-delete-confirm-modal>
|
||||||
<div class="card shadow mt-3">
|
<div class="card shadow mt-3">
|
||||||
@ -73,30 +69,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<x-modal-delete-script>
|
||||||
let app = new Vue({
|
<x-slot name="uri">reseller</x-slot>
|
||||||
el: "#app",
|
</x-modal-delete-script>
|
||||||
data: {
|
@endsection
|
||||||
"modal_hostname": '',
|
|
||||||
"modal_id": '',
|
|
||||||
"delete_form_action": '',
|
|
||||||
showModal: false
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
confirmDeleteModal(event) {
|
|
||||||
this.showModal = true;
|
|
||||||
this.modal_hostname = event.target.title;
|
|
||||||
this.modal_id = event.target.id;
|
|
||||||
this.delete_form_action = 'reseller/' + this.modal_id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</x-app-layout>
|
|
||||||
|
@ -145,11 +145,6 @@
|
|||||||
<x-slot name="route">{{ route('reseller.edit', $reseller->id) }}</x-slot>
|
<x-slot name="route">{{ route('reseller.edit', $reseller->id) }}</x-slot>
|
||||||
</x-edit-btn>
|
</x-edit-btn>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
@section("title", "Seed boxes")
|
@extends('layouts.index')
|
||||||
@section('style')
|
@section('title', 'Seed boxes')
|
||||||
|
@section('css_style')
|
||||||
<x-modal-style></x-modal-style>
|
<x-modal-style></x-modal-style>
|
||||||
@endsection
|
@endsection
|
||||||
@section('scripts')
|
@section('header')
|
||||||
<script src="{{ asset('js/vue.min.js') }}"></script>
|
|
||||||
<script src="{{ asset('js/axios.min.js') }}"></script>
|
|
||||||
@endsection
|
|
||||||
<x-app-layout>
|
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Seed boxes') }}
|
{{ __('Seed boxes') }}
|
||||||
</x-slot>
|
@endsection
|
||||||
|
@section('content')
|
||||||
<div class="container" id="app">
|
<div class="container" id="app">
|
||||||
<x-delete-confirm-modal></x-delete-confirm-modal>
|
<x-delete-confirm-modal></x-delete-confirm-modal>
|
||||||
<div class="card shadow mt-3">
|
<div class="card shadow mt-3">
|
||||||
@ -96,29 +93,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
|
<x-modal-delete-script>
|
||||||
<script>
|
<x-slot name="uri">seedboxes</x-slot>
|
||||||
let app = new Vue({
|
</x-modal-delete-script>
|
||||||
el: "#app",
|
@endsection
|
||||||
data: {
|
|
||||||
"modal_hostname": '',
|
|
||||||
"modal_id": '',
|
|
||||||
"delete_form_action": '',
|
|
||||||
showModal: false
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
confirmDeleteModal(event) {
|
|
||||||
this.showModal = true;
|
|
||||||
this.modal_hostname = event.target.title;
|
|
||||||
this.modal_id = event.target.id;
|
|
||||||
this.delete_form_action = 'seedboxes/' + this.modal_id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</x-app-layout>
|
|
||||||
|
@ -129,11 +129,6 @@
|
|||||||
<x-slot name="route">{{ route('seedboxes.edit', $seedbox_data->id) }}</x-slot>
|
<x-slot name="route">{{ route('seedboxes.edit', $seedbox_data->id) }}</x-slot>
|
||||||
</x-edit-btn>
|
</x-edit-btn>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@ -43,10 +43,7 @@
|
|||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<script type="application/javascript">
|
<script type="application/javascript">
|
||||||
let app = new Vue({
|
let app = new Vue({
|
||||||
|
@ -95,10 +95,7 @@
|
|||||||
<div class="tab-pane fade" id="non-active" role="tabpanel" aria-labelledby="non-active-tab">
|
<div class="tab-pane fade" id="non-active" role="tabpanel" aria-labelledby="non-active-tab">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
<a href="{{ route('servers.create') }}" class="btn btn-primary mb-3">Add server</a>
|
<a href="{{ route('servers.create') }}" class="btn btn-primary mb-3">Add server</a>
|
||||||
<a href="{{ route('servers-compare-choose') }}" class="btn btn-primary mb-3 ms-2">Compare
|
<a href="{{ route('servers-compare-choose') }}" class="btn btn-primary mb-3 ms-2">Compare
|
||||||
servers</a>
|
servers</a>
|
||||||
<a href="{{ route('yabs.create') }}" class="btn btn-primary mb-3 ms-2">Add a YABs</a>
|
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table table-bordered">
|
<table class="table table-bordered">
|
||||||
<thead class="table-light">
|
<thead class="table-light">
|
||||||
@ -93,9 +92,9 @@
|
|||||||
<i class="fas fa-pen" title="edit"></i>
|
<i class="fas fa-pen" title="edit"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<i class="fas fa-plug mx-1" id="btn-{{$server->hostname}}"
|
<i class="fas fa-plug mx-1" id="{{$server->hostname}}"
|
||||||
title="check if up"
|
title="check if up"
|
||||||
@click="onClk">
|
@click="checkUp">
|
||||||
</i>
|
</i>
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="{{$server->id}}" title="{{$server->hostname}}"></i>
|
id="{{$server->id}}" title="{{$server->hostname}}"></i>
|
||||||
@ -174,9 +173,9 @@
|
|||||||
<i class="fas fa-pen" title="edit"></i>
|
<i class="fas fa-pen" title="edit"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<i class="fas fa-plug mx-1" id="btn-{{$server->hostname}}"
|
<i class="fas fa-plug mx-1" id="{{$server->hostname}}"
|
||||||
title="check if up"
|
title="check if up"
|
||||||
@click="onClk">
|
@click="checkUp">
|
||||||
</i>
|
</i>
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="{{$server->id}}" title="{{$server->hostname}}"></i>
|
id="{{$server->id}}" title="{{$server->hostname}}"></i>
|
||||||
@ -195,14 +194,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
</div>
|
</div>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
axios.defaults.headers.common = {
|
axios.defaults.headers.common = {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
'X-Requested-With': 'XMLHttpRequest',
|
'X-Requested-With': 'XMLHttpRequest',
|
||||||
@ -220,12 +214,12 @@
|
|||||||
showModal: false
|
showModal: false
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onClk(event) {
|
checkUp(event) {
|
||||||
var hostname = event.target.id.replace('btn-', '');
|
var hostname = event.target.id;
|
||||||
|
|
||||||
if (hostname) {
|
if (hostname) {
|
||||||
axios
|
axios
|
||||||
.get('/api/online/' + event.target.id.replace('btn-', ''), {headers: {'Authorization': 'Bearer ' + document.querySelector('meta[name="api_token"]').getAttribute('content')}})
|
.get('/api/online/' + event.target.id, {headers: {'Authorization': 'Bearer ' + document.querySelector('meta[name="api_token"]').getAttribute('content')}})
|
||||||
.then(response => (this.status = response.data.is_online))
|
.then(response => (this.status = response.data.is_online))
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
if (this.status) {
|
if (this.status) {
|
||||||
|
@ -125,9 +125,6 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@ -204,18 +204,14 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<p>Please <a href="{{ route('yabs.create') }}" class="text-decoration-none">add a YABs</a> to
|
<p>Please add a YABs to
|
||||||
see Geekbench, disk and network speeds</p>
|
see Geekbench, disk and network speeds:</p>
|
||||||
|
<code>curl -sL yabs.sh | bash -s -- -s "{{route('api.store-yabs', [$server_data->id, \Illuminate\Support\Facades\Auth::user()->api_token])}}"</code>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<p id="yabs_code" class="d-none pt-3"><code>curl -sL yabs.sh | bash -s -- -s "{{route('api.store-yabs', [$server_data->id, \Illuminate\Support\Facades\Auth::user()->api_token])}}"</code></p>
|
<p id="yabs_code" class="d-none pt-3"><code>curl -sL yabs.sh | bash -s -- -s "{{route('api.store-yabs', [$server_data->id, \Illuminate\Support\Facades\Auth::user()->api_token])}}"</code></p>
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@ -281,9 +281,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
@section("title", "Shared hosting")
|
@extends('layouts.index')
|
||||||
@section('style')
|
@section('title', 'Shared hosting')
|
||||||
|
@section('css_style')
|
||||||
<x-modal-style></x-modal-style>
|
<x-modal-style></x-modal-style>
|
||||||
@endsection
|
@endsection
|
||||||
@section('scripts')
|
@section('header')
|
||||||
<script src="{{ asset('js/vue.min.js') }}"></script>
|
{{ __('Shared') }}
|
||||||
<script src="{{ asset('js/axios.min.js') }}"></script>
|
|
||||||
@endsection
|
@endsection
|
||||||
<x-app-layout>
|
@section('content')
|
||||||
<x-slot name="header">
|
|
||||||
{{ __('Shared hosting') }}
|
|
||||||
</x-slot>
|
|
||||||
<div class="container" id="app">
|
<div class="container" id="app">
|
||||||
<x-delete-confirm-modal></x-delete-confirm-modal>
|
<x-delete-confirm-modal></x-delete-confirm-modal>
|
||||||
<div class="card shadow mt-3">
|
<div class="card shadow mt-3">
|
||||||
@ -74,29 +71,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
|
<x-modal-delete-script>
|
||||||
<script>
|
<x-slot name="uri">shared</x-slot>
|
||||||
let app = new Vue({
|
</x-modal-delete-script>
|
||||||
el: "#app",
|
@endsection
|
||||||
data: {
|
|
||||||
"modal_hostname": '',
|
|
||||||
"modal_id": '',
|
|
||||||
"delete_form_action": '',
|
|
||||||
showModal: false
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
confirmDeleteModal(event) {
|
|
||||||
this.showModal = true;
|
|
||||||
this.modal_hostname = event.target.title;
|
|
||||||
this.modal_id = event.target.id;
|
|
||||||
this.delete_form_action = 'shared/' + this.modal_id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</x-app-layout>
|
|
||||||
|
@ -140,11 +140,6 @@
|
|||||||
<x-slot name="route">{{ route('shared.edit', $shared->id) }}</x-slot>
|
<x-slot name="route">{{ route('shared.edit', $shared->id) }}</x-slot>
|
||||||
</x-edit-btn>
|
</x-edit-btn>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
@ -43,10 +43,7 @@
|
|||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<script type="application/javascript">
|
<script type="application/javascript">
|
||||||
let app = new Vue({
|
let app = new Vue({
|
||||||
|
@ -39,13 +39,16 @@
|
|||||||
@if(!empty($yabs))
|
@if(!empty($yabs))
|
||||||
@foreach($yabs as $yab)
|
@foreach($yabs as $yab)
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="servers/{{$yab->server_id}}" class="text-decoration-none">{{ $yab->server->hostname }}</a></td>
|
<td><a href="servers/{{$yab->server_id}}"
|
||||||
|
class="text-decoration-none">{{ $yab->server->hostname }}</a></td>
|
||||||
<td><span title="{{$yab->cpu_model}}">{{ $yab->cpu_cores }}</span></td>
|
<td><span title="{{$yab->cpu_model}}">{{ $yab->cpu_cores }}</span></td>
|
||||||
<td><span title="{{$yab->cpu_model}}">{{ $yab->cpu_freq }}<small>Mhz</small></span></td>
|
<td><span title="{{$yab->cpu_model}}">{{ $yab->cpu_freq }}<small>Mhz</small></span></td>
|
||||||
<td>{{ $yab->ram }}<small>{{ $yab->ram_type }}</small></td>
|
<td>{{ $yab->ram }}<small>{{ $yab->ram_type }}</small></td>
|
||||||
<td>{{ $yab->disk }}<small>{{ $yab->disk_type }}</small></td>
|
<td>{{ $yab->disk }}<small>{{ $yab->disk_type }}</small></td>
|
||||||
<td><a href="https://browser.geekbench.com/v5/cpu/{{$yab->gb5_id}}" class="text-decoration-none">{{ $yab->gb5_single }}</a></td>
|
<td><a href="https://browser.geekbench.com/v5/cpu/{{$yab->gb5_id}}"
|
||||||
<td><a href="https://browser.geekbench.com/v5/cpu/{{$yab->gb5_id}}" class="text-decoration-none">{{ $yab->gb5_multi }}</a></td>
|
class="text-decoration-none">{{ $yab->gb5_single }}</a></td>
|
||||||
|
<td><a href="https://browser.geekbench.com/v5/cpu/{{$yab->gb5_id}}"
|
||||||
|
class="text-decoration-none">{{ $yab->gb5_multi }}</a></td>
|
||||||
<td>@if($yab->has_ipv6 === 1)
|
<td>@if($yab->has_ipv6 === 1)
|
||||||
Yes
|
Yes
|
||||||
@else
|
@else
|
||||||
@ -54,7 +57,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>{{ $yab->disk_speed->d_4k }}<small>{{ $yab->disk_speed->d_4k_type }}</small></td>
|
<td>{{ $yab->disk_speed->d_4k }}<small>{{ $yab->disk_speed->d_4k_type }}</small></td>
|
||||||
<td>{{ $yab->disk_speed->d_64k }}<small>{{ $yab->disk_speed->d_64k_type }}</small></td>
|
<td>{{ $yab->disk_speed->d_64k }}<small>{{ $yab->disk_speed->d_64k_type }}</small></td>
|
||||||
<td>{{ $yab->disk_speed->d_512k }}<small>{{ $yab->disk_speed->d_512k_type }}</small></td>
|
<td>{{ $yab->disk_speed->d_512k }}<small>{{ $yab->disk_speed->d_512k_type }}</small>
|
||||||
|
</td>
|
||||||
<td>{{ $yab->disk_speed->d_1m }}<small>{{ $yab->disk_speed->d_1m_type }}</small></td>
|
<td>{{ $yab->disk_speed->d_1m }}<small>{{ $yab->disk_speed->d_1m_type }}</small></td>
|
||||||
<td>{{ date_format(new DateTime($yab->output_date), 'Y-m-d g:i a') }}</small></td>
|
<td>{{ date_format(new DateTime($yab->output_date), 'Y-m-d g:i a') }}</small></td>
|
||||||
<td class="text-nowrap">
|
<td class="text-nowrap">
|
||||||
@ -64,8 +68,8 @@
|
|||||||
<i class="fas fa-eye" title="view"></i>
|
<i class="fas fa-eye" title="view"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<i class="fas fa-trash text-danger ms-3" @click="modalForm"
|
<i class="fas fa-trash text-danger ms-3" @click="confirmDeleteModal"
|
||||||
id="btn-{{$yab->server->hostname}}" title="{{$yab->id}}"></i>
|
id="{{$yab->id}}" title="{{$yab->server->hostname}}"></i>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -80,10 +84,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>Built on Laravel
|
|
||||||
v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})</small></p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
<x-modal-delete-script>
|
<x-modal-delete-script>
|
||||||
<x-slot name="uri">yabs</x-slot>
|
<x-slot name="uri">yabs</x-slot>
|
||||||
|
@ -135,11 +135,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</x-card>
|
</x-card>
|
||||||
@if(Session::has('timer_version_footer') && Session::get('timer_version_footer') === 1)
|
<x-details-footer></x-details-footer>
|
||||||
<p class="text-muted mt-4 text-end"><small>
|
|
||||||
Built on Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}
|
|
||||||
)</small>
|
|
||||||
</p>
|
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
</x-app-layout>
|
</x-app-layout>
|
||||||
|
Loading…
Reference in New Issue
Block a user