This commit is contained in:
Bozhidar 2024-09-02 12:55:07 +03:00
parent 7cc50168d6
commit 427442c142
2 changed files with 0 additions and 763 deletions

View file

@ -1,535 +0,0 @@
<?php
namespace App\Filament\Pages;
use App\ModulesManager;
use Filament\Pages\Page;
class CustomerDashboard extends Page
{
protected static ?string $navigationIcon = 'heroicon-o-star';
protected static string $view = 'filament.pages.customer-dashboard';
protected static ?string $navigationGroup = 'Server Management';
protected static ?string $navigationLabel = 'Customer Dashboard';
protected static ?int $navigationSort = 1;
protected function getViewData(): array
{
return [
'menu' => [
'email'=>[
'title'=>'Email',
'icon'=>'phyre_customer-email',
'menu'=>[
[
'title'=>'Email Accounts',
'icon'=>'phyre_customer-email-account',
'link'=>'#'
],
[
'title'=>'Forwarders',
'icon'=>'phyre_customer-email-forwarders',
'link'=>'#'
],
[
'title'=>'Email Routing',
'icon'=>'phyre_customer-email-routing',
'link'=>'#'
],
[
'title'=>'Autoresponders',
'icon'=>'phyre_customer-email-autoresponders',
'link'=>'#'
],
[
'title'=>'Default Address',
'icon'=>'phyre_customer-email-default',
'link'=>'#'
],
[
'title'=>'Mailing Lists',
'icon'=>'phyre_customer-email-list',
'link'=>'#'
],
[
'title'=>'Track Delivery',
'icon'=>'phyre_customer-email-track',
'link'=>'#'
],
[
'title'=>'Global Email Filters',
'icon'=>'phyre_customer-email-global-filter',
'link'=>'#'
],
[
'title'=>'Email Filters',
'icon'=>'phyre_customer-email-filter',
'link'=>'#'
],
[
'title'=>'Email Deliverability',
'icon'=>'phyre_customer-email-deliverability',
'link'=>'#'
],
[
'title'=>'Address Importer',
'icon'=>'phyre_customer-email-importer',
'link'=>'#'
],
[
'title'=>'Spam Filters',
'icon'=>'phyre_customer-email-spam-filters',
'link'=>'#'
],
[
'title'=>'Encryption',
'icon'=>'phyre_customer-email-encryption',
'link'=>'#'
],
[
'title'=>'BoxTrapper',
'icon'=>'phyre_customer-email-box-trap',
'link'=>'#'
],
[
'title'=>'Calendars and Contacts Configuration',
'icon'=>'phyre_customer-email-calendar-configuration',
'link'=>'#'
],
[
'title'=>'Calendars and Contacts Sharing',
'icon'=>'phyre_customer-email-calendar-share',
'link'=>'#'
],
[
'title'=>'Calendars and Contacts Management',
'icon'=>'phyre_customer-email-calendar-management',
'link'=>'#'
],
[
'title'=>'Email Disk Usage',
'icon'=>'phyre_customer-email-disk',
'link'=>'#'
]
]
],
'billing_and_support'=>[
'title'=>'Billing & Support',
'icon'=>'phyre_customer-billing',
'menu'=>[
[
'title'=>'News & Announcemnets',
'icon'=>'phyre_customer-billing-news-announcement',
'link'=>'#'
],
[
'title'=>'Manage Biling Information',
'icon'=>'phyre_customer-billing-manage-information',
'link'=>'#'
],
[
'title'=>'Download Resources',
'icon'=>'phyre_customer-billing-download',
'link'=>'#'
],
[
'title'=>'View Email History',
'icon'=>'phyre_customer-billing-history',
'link'=>'#'
],
[
'title'=>'View Invoice History',
'icon'=>'phyre_customer-billing-invoice-history',
'link'=>'#'
],
[
'title'=>'Search our Knowledgebase',
'icon'=>'phyre_customer-billing-search-knowledgebase',
'link'=>'#'
],
[
'title'=>'Check Network Status',
'icon'=>'phyre_customer-billing-network-status',
'link'=>'#'
],
[
'title'=>'View Billing Information',
'icon'=>'phyre_customer-billing-information',
'link'=>'#'
],
[
'title'=>'Manage Profile',
'icon'=>'phyre_customer-billing-manage-profile',
'link'=>'#'
],
[
'title'=>'Register New Domain',
'icon'=>'phyre_customer-billing-register-domain',
'link'=>'#'
],
[
'title'=>'Transfer a Domain',
'icon'=>'phyre_customer-billing-transfer-domain',
'link'=>'#'
],
[
'title'=>'Open Ticket',
'icon'=>'phyre_customer-billing-open-ticket',
'link'=>'#'
],
[
'title'=>'View Support Tickets',
'icon'=>'phyre_customer-billing-support-ticket',
'link'=>'#'
],
[
'title'=>'Upgrade/Downgrade',
'icon'=>'phyre_customer-billing-update',
'link'=>'#'
]
]
],
'files'=>[
'title'=>'Files',
'icon'=>'phyre_customer-files',
'menu'=>[
[
'title'=>'File Manager',
'icon'=>'phyre_customer-file-manager',
'link'=>'#'
],
[
'title'=>'Images',
'icon'=>'phyre_customer-file-images',
'link'=>'#'
],
[
'title'=>'Directory Privacy',
'icon'=>'phyre_customer-file-directory-privacy',
'link'=>'#'
],
[
'title'=>'Disk Usage',
'icon'=>'phyre_customer-file-disk',
'link'=>'#'
],
[
'title'=>'Web Disk',
'icon'=>'phyre_customer-file-web',
'link'=>'#'
],
[
'title'=>'FTP Accounts',
'icon'=>'phyre_customer-file-ftp',
'link'=>'#'
],
[
'title'=>'FTP Connections',
'icon'=>'phyre_customer-file-connection',
'link'=>'#'
],
[
'title'=>'Backup',
'icon'=>'phyre_customer-file-backup',
'link'=>'#'
],
[
'title'=>'Backup Wizard',
'icon'=>'phyre_customer-file-backup-wizard',
'link'=>'#'
],
[
'title'=>'Git Version Control',
'icon'=>'phyre_customer-file-git',
'link'=>'#'
],
[
'title'=>'File and Directory Restoration',
'icon'=>'phyre_customer-file-directory-restoration',
'link'=>'#'
],
]
],
'database'=>[
'title'=>'Database',
'icon'=>'phyre_customer-database',
'menu'=>[
[
'title'=>'phpMyAdmin',
'icon'=>'phyre_customer-database-php',
'link'=>'#'
],
[
'title'=>'Manage My Database',
'icon'=>'phyre_customer-database-manage',
'link'=>'#'
],
[
'title'=>'Database Wizard',
'icon'=>'phyre_customer-database-wizard',
'link'=>'#'
],
[
'title'=>'Remote Database Access',
'icon'=>'phyre_customer-database-remote',
'link'=>'#'
]
]
],
'domains'=>[
'title'=>'Domains',
'icon'=>'phyre_customer-domains',
'menu'=>[
[
'title'=>'WP Toolkit',
'icon'=>'phyre_customer-domains-wp',
'link'=>'#'
],
[
'title'=>'Site Publisher',
'icon'=>'phyre_customer-domains-site',
'link'=>'#'
],
[
'title'=>'Sitejet Builder',
'icon'=>'phyre_customer-domains-sitejet',
'link'=>'#'
],
[
'title'=>'Domains',
'icon'=>'phyre_customer-domains-domain',
'link'=>'#'
],
[
'title'=>'Redirects',
'icon'=>'phyre_customer-domains-redirect',
'link'=>'#'
],
[
'title'=>'Zone Editor',
'icon'=>'phyre_customer-domains-zone',
'link'=>'#'
],
[
'title'=>'Dynamic DNS',
'icon'=>'phyre_customer-domains-dynamic',
'link'=>'#'
]
]
],
'metrics'=>[
'title'=>'Metrics',
'icon'=>'phyre_customer-metrics',
'menu'=>[
[
'title'=>'Visitors',
'icon'=>'phyre_customer-metrics-visitors',
'link'=>'#'
],
[
'title'=>'Site Quality Monitoring',
'icon'=>'phyre_customer-metrics-site-quality',
'link'=>'#'
],
[
'title'=>'Errors',
'icon'=>'phyre_customer-metrics-errors',
'link'=>'#'
],
[
'title'=>'Bandwidth',
'icon'=>'phyre_customer-metrics-bandwidth',
'link'=>'#'
],
[
'title'=>'Raw Access',
'icon'=>'phyre_customer-metrics-raw',
'link'=>'#'
],
[
'title'=>'Awstats',
'icon'=>'phyre_customer-metrics-awstats',
'link'=>'#'
],
[
'title'=>'Analog Stats',
'icon'=>'phyre_customer-metrics-analog',
'link'=>'#'
],
[
'title'=>'Webalizer',
'icon'=>'phyre_customer-metrics-webalizer',
'link'=>'#'
],
[
'title'=>'Webalizer FTP',
'icon'=>'phyre_customer-metrics-webalizer-ftp',
'link'=>'#'
],
[
'title'=>'Metrics Editor',
'icon'=>'phyre_customer-metrics-editor',
'link'=>'#'
]
]
],
'security'=>[
'title'=>'Security',
'icon'=>'phyre_customer-security',
'menu'=>[
[
'title'=>'SSH Access',
'icon'=>'phyre_customer-security-ssh',
'link'=>'#'
],
[
'title'=>'IP Blockers',
'icon'=>'phyre_customer-security-block',
'link'=>'#'
],
[
'title'=>'SSL/TLS',
'icon'=>'phyre_customer-security-ssl-tls',
'link'=>'#'
],
[
'title'=>'Manage API Tokens',
'icon'=>'phyre_customer-security-api',
'link'=>'#'
],
[
'title'=>'Hotlink Protection',
'icon'=>'phyre_customer-security-hotlink',
'link'=>'#'
],
[
'title'=>'Leech Protection',
'icon'=>'phyre_customer-security-leech',
'link'=>'#'
],
[
'title'=>'SSL/TSL Status',
'icon'=>'phyre_customer-security-status',
'link'=>'#'
]
]
],
'software'=>[
'title'=>'Software',
'icon'=>'phyre_customer-software',
'menu'=>[
[
'title'=>'PHP PEAR Packages',
'icon'=>'phyre_customer-software-packages',
'link'=>'#'
],
[
'title'=>'Perl Modules',
'icon'=>'phyre_customer-software-perl',
'link'=>'#'
],
[
'title'=>'Site Software',
'icon'=>'phyre_customer-software-site',
'link'=>'#'
],
[
'title'=>'Optimaze Website',
'icon'=>'phyre_customer-software-optimaze',
'link'=>'#'
],
[
'title'=>'MultiPHP Manager',
'icon'=>'phyre_customer-software-manager',
'link'=>'#'
],
[
'title'=>'MultiPHP INI Editor',
'icon'=>'phyre_customer-software-editor',
'link'=>'#'
]
]
],
'advanced'=>[
'title'=>'Advanced',
'icon'=>'phyre_customer-advanced',
'menu'=>[
[
'title'=>'Cron Jobs',
'icon'=>'phyre_customer-advanced-cron',
'link'=>'#'
],
[
'title'=>'Track DNS',
'icon'=>'phyre_customer-advanced-dns',
'link'=>'#'
],
[
'title'=>'Indexes',
'icon'=>'phyre_customer-advanced-indexes',
'link'=>'#'
],
[
'title'=>'Error Pages',
'icon'=>'phyre_customer-advanced-error',
'link'=>'#'
],
[
'title'=>'Apache Handlers',
'icon'=>'phyre_customer-advanced-apache',
'link'=>'#'
],
[
'title'=>'MIME Types',
'icon'=>'phyre_customer-advanced-mime',
'link'=>'#'
]
]
],
'preferences'=>[
'title'=>'Preferences',
'icon'=>'phyre_customer-preferences',
'menu'=>[
[
'title'=>'Password & Security',
'icon'=>'phyre_customer-preferences-pass',
'link'=>'#'
],
[
'title'=>'Change Language',
'icon'=>'phyre_customer-preferences-language',
'link'=>'#'
],
[
'title'=>'Contact Information',
'icon'=>'phyre_customer-preferences-contact',
'link'=>'#'
],
[
'title'=>'User Manager',
'icon'=>'phyre_customer-preferences-user',
'link'=>'#'
]
]
]
],
];
}
}

View file

@ -1,228 +0,0 @@
<div>
<div class="mt-[2rem]">
<div class="dark:bg-white/10 bg-gray-100 rounded-xl">
<div class="max-w-7xl mx-auto py-3 px-2 sm:px-4">
<div class="flex items-center justify-between flex-wrap">
<div class="w-0 flex-1 flex items-center">
<span class="flex p-2 rounded-lg dark:bg-white/10 bg-white">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6 ml-1">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z" />
</svg>
</span>
<p class="px-2 font-medium dark:text-white text-black text-md">
<span class="hidden md:inline"> <span class="font-bold">DEVELOPMENT LICENSE:</span> This server is running on a development license. If this server is being used in a production environment, notify
<span class="text-primary-500 dark:text-primary-400 underline cursor-pointer">phyre@panel.net</span></span>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="py-[1.5rem] text-2xl">
<h1>Tools</h1>
</div>
<div>
<div class="grid sm:grid-cols-3">
<div class="col-span-2">
<div class=" sm:block hidden">
<div class="grid grid-cols-3 bg-gradient-to-l from-[#3a1dc8]/50 from-40% to-[#010afc]/40 flex justify-between shadow-md rounded-xl">
<div>
<img class="lg:h-[10rem] sm:h-[7.5rem] w-full rounded-tl-xl rounded-bl-xl" src="{{asset('images/banner/wordpress.jpg')}}" alt="wordpress">
</div>
<div class="lg:py-4 px-4 dark:bg-none">
<h1 class="font-bold lg:py-2 py-1 text-center text-white xl:text-lg md:text-md sm:text-sm">Create your website with WordPress</h1>
<div class="px-[1rem] ml-4">
<button class="bg-white/10 p-2 xl:text-lg md:text-md sm:text-sm rounded-xl text-white hover:bg-white hover:text-black transition duration-500"> Click to get started</button>
</div>
</div>
<div class="">
<img class="lg:h-[10rem] sm:h-[7.5rem] w-[17rem] rounded-tr-xl rounded-br-xl" src="{{asset('images/banner/wordpress-themes.png')}}" alt="wordpress">
</div>
</div>
</div>
@foreach($menu as $menuItem)
<div x-data="{ open: false }" class="bg-white/10 mt-[2rem] rounded-xl px-2 shadow-sm transition duration-500
hover:shadow-lg cursor-pointer">
<div x-on:click="open = ! open" class="flex justify-between items-center">
<div class="flex gap-4 p-[1rem]">
<div class="mt-1">
@svg($menuItem['icon'], "h-12 w-12 text-black dark:text-white")
</div>
<div class="mt-[1rem]">{{$menuItem['title']}}</div>
</div>
<div class="p-[1rem]">
<button>
<svg x-show="open" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6 mr-2">
<path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
</svg>
<svg x-show="!open" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
<path stroke-linecap="round" stroke-linejoin="round" d="m4.5 15.75 7.5-7.5 7.5 7.5" />
</svg>
</button>
</div>
</div>
<div class="border-t dark:border-white/10 border-black/10"></div>
<div x-show="open" x-transition.duration.500ms class="grid xl:grid-cols-3 sm:grid-cols-2 grid-cols-1">
@foreach($menuItem['menu'] as $menuItemLink)
<div class="dark:text-white text-black transition duration-500
dark:hover:bg-white/5 hover:bg-gray-100 rounded-lg group transform hover:-translate-x-1 motion-reduce:transition-none motion-reduce:hover:transform-none
dark:hover:text-primary-400 hover:text-primary-600 px-[1rem] py-3 mt-2">
<a href="{{$menuItemLink['link']}}" class="flex gap-[1rem] items-center">
<div class="">
@svg($menuItemLink['icon'], "h-12 w-12 text-black dark:text-white
dark:group-hover:text-primary-400 transition duration-500 group-hover:text-primary-600")
</div>
<div class="items-center">{{$menuItemLink['title']}}</div>
</a>
</div>
@endforeach
</div>
</div>
@endforeach
</div>
<div class="sm:mt-0 mt-[2rem]">
<div class="p-[1rem] bg-white/10 ml-[2rem] shadow-md rounded-xl">
<h1 class="font-bold mt-[1.5rem]">General Information</h1>
<p class="mt-[2rem] dark:text-white/80 text-black/50">Current User</p>
<p class="">iskata</p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Primary Domain</p>
<div class="flex gap-2">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z" />
</svg>
<p class="dark:text-primary-400 text-primary-500"> 10iskata.microweber.me </p>
</div>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Shared IP Address</p>
<p class="">88.99.25.96</p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Home Directory</p>
<p class="">/home/iskatami </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Last Login IP Address</p>
<p class="">46.55.227.119</p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Primary Domain</p>
<div class="flex gap-2">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
class="size-6 cursor-pointer hover:text-blue-500">
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75" />
</svg>
<p class="dark:text-primary-400 text-primary-500">3d4e7dd6-251c-4c8d..</p>
</div>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Theme</p>
<div>
<div class="mt-1">
<input type="email" name="email" id="email" placeholder="your theme"
class="bg-white/10 shadow-sm focus:ring-none focus:border-none
block w-full sm:text-sm border-none rounded-md
dark:focus-ring dark:focus:ring-yellow-300">
</div>
</div>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<div class="flex justify-between pt-[1rem]">
<p class="dark:text-primary-400 text-primary-500 mb-2">Server Information</p>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
<path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" />
</svg>
</div>
</div>
<div class="p-[1rem] mt-[2rem] bg-white/10 ml-[2rem] shadow-md rounded-xl">
<h1 class="font-bold mt-[1.5rem]">Statistic</h1>
<p class="mt-[2rem] dark:text-white/80 text-black/50">Disk Usage</p>
<p class="">718.43 MB / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Database Disk Usage</p>
<p class="">2.36 MB / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Bandwidth</p>
<p class="">3.97 MB / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Addon Domains</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Subdomains</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Alias Domains</p>
<p class="">1 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Email Accounts</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Mailing Lists</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Autoresponders</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Forwarders</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Email Filters</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">FTP Accounts</p>
<p class="">0 / </p>
<div class="border-b dark:border-white/10 border-black/5 pt-[1rem]"></div>
<p class="pt-[1rem] dark:text-white/80 text-black/50">Databases</p>
<p class="">1 / </p>
</div>
</div>
</div>
</div>
<div class="py-4">
<p class="text-white/50">&copy; 2024 Phyre Hosting Panel. All rights reserved.</p>
</div>
</div>