mirror of
https://gitlab.com/ArkHost/WHMCS-ArkhostVPSAG.git
synced 2026-07-24 07:45:55 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4ba6a4e85 | ||
|
|
96786e6490 | ||
|
|
234aee40f6 | ||
|
|
c4dbef6e4b | ||
|
|
c7e5f60617 | ||
|
|
28fd215b00 | ||
|
|
9fee13cc7d | ||
|
|
a2da79aa71 | ||
|
|
994441a0f5 |
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2025 ArkHost
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -1,227 +1,100 @@
|
|||||||
# WHMCS VPS Management Module - ArkHost VPSAG
|
# ArkHost VPSAG WHMCS Module
|
||||||
|
|
||||||
A WHMCS server module for VPSAG/EVPS VPS management with multi-language support.
|
WHMCS server module for VPSAG VPS platform integration.
|
||||||
|
|
||||||
**Note:** VPSAG has rebranded to [EVPS.net](https://evps.net). The API remains unchanged at `vpsag.com`.
|
|
||||||
|
|
||||||
Originally based on [andretunes/whmcs-module-vpsag](https://github.com/andretunes/whmcs-module-vpsag). Current version has been substantially rewritten.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- VPS provisioning and lifecycle management
|
|
||||||
- VPS control (start/stop/restart/shutdown)
|
|
||||||
- Backup management (create/restore/delete)
|
|
||||||
- Firewall configuration
|
|
||||||
- OS reinstallation with SSH key injection and post-install scripts
|
|
||||||
- Resource monitoring with graphs
|
|
||||||
- VNC console access
|
|
||||||
- Hostname and rDNS management
|
|
||||||
- ISO mounting
|
|
||||||
- 8 language support (English, Dutch, French, German, Italian, Portuguese, Russian, Spanish)
|
|
||||||
- Responsive client area design
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- WHMCS 8.9+
|
- WHMCS 8.0+
|
||||||
- PHP 7.4+
|
- PHP 7.4+
|
||||||
- VPSAG/EVPS reseller account with API access
|
- cURL extension
|
||||||
|
- VPSAG API credentials
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. Upload the `ArkhostVPSAG` folder to `/modules/servers/` in your WHMCS installation
|
1. Extract to `/path/to/whmcs/modules/servers/ArkhostVPSAG/`
|
||||||
2. Navigate to **Setup > Products/Services > Servers** in WHMCS admin
|
2. Set permissions: `chmod -R 755 modules/servers/ArkhostVPSAG/`
|
||||||
3. Add a new server with:
|
3. In WHMCS admin: Setup → Products/Services → Servers
|
||||||
- **Module:** ArkhostVPSAG
|
4. Add server:
|
||||||
- **Hostname:** `www.vpsag.com`
|
- Type: ArkhostVPSAG
|
||||||
- **Username:** Your VPSAG API username
|
- Hostname: VPSAG API endpoint
|
||||||
- **Password:** Your VPSAG API key
|
- Username: API username
|
||||||
4. Click **Test Connection** to verify credentials
|
- Password: API key
|
||||||
|
|
||||||
## Product Configuration
|
## Configuration
|
||||||
|
|
||||||
### Creating a Product
|
- Create server with ArkhostVPSAG module type
|
||||||
|
- Enter VPSAG API credentials
|
||||||
|
- Test connection
|
||||||
|
|
||||||
1. Go to **Setup > Products/Services > Products/Services**
|
- Create product
|
||||||
2. Create a new product or edit an existing one
|
- Select module: ArkhostVPSAG
|
||||||
3. Under **Module Settings** tab:
|
- Set plan ID and OS ID
|
||||||
- **Module Name:** ArkhostVPSAG
|
|
||||||
- **Server Group:** Select your VPSAG server group
|
|
||||||
|
|
||||||
### Configurable Options
|
Configurable options:
|
||||||
|
- `planid` - VPSAG plan identifier
|
||||||
|
- `osid` - Operating system identifier
|
||||||
|
|
||||||
The module uses two primary configurable options that are dynamically populated from the VPSAG API:
|
## File Structure
|
||||||
|
|
||||||
| Option | Config Key | Description |
|
|
||||||
|--------|------------|-------------|
|
|
||||||
| **Plan ID** | `configoption1` | VPS plan - dropdown populated from `/api/v1/plans` showing plan names with prices |
|
|
||||||
| **OS ID** | `configoption2` | Operating system - dropdown populated from `/api/v1/os/plan/{plan_id}` based on selected plan |
|
|
||||||
| **VNC Display Mode** | `configoption3` | How VNC console is displayed: `newtab` (opens in new browser tab) or `embedded` (shows in a tab within the client area) |
|
|
||||||
|
|
||||||
#### Setting Up Configurable Options
|
|
||||||
|
|
||||||
You can override the default product options using WHMCS Configurable Options:
|
|
||||||
|
|
||||||
1. Go to **Setup > Products/Services > Configurable Options**
|
|
||||||
2. Create a new group and link it to your VPSAG product(s)
|
|
||||||
3. Add options with these exact names:
|
|
||||||
- `planid|Plan` - To allow customers to select different plans
|
|
||||||
- `osid|Operating System` - To allow customers to select their OS during order
|
|
||||||
|
|
||||||
**Option format:** `{api_id}|{display_name}`
|
|
||||||
|
|
||||||
The numeric ID before the pipe is the API ID from VPSAG/EVPS.
|
|
||||||
|
|
||||||
#### Finding the IDs
|
|
||||||
|
|
||||||
The module displays IDs directly in the dropdowns (format: `ID | Name`):
|
|
||||||
|
|
||||||
1. Go to **Setup > Products/Services > Products/Services**
|
|
||||||
2. Edit any product using the ArkhostVPSAG module
|
|
||||||
3. Go to the **Module Settings** tab
|
|
||||||
4. The **Plan** and **Operating System** dropdowns show: `{id} | {name}`
|
|
||||||
|
|
||||||
Use those IDs when creating Configurable Options.
|
|
||||||
|
|
||||||
**API terminology:**
|
|
||||||
- `planid` = Package/Plan ID from VPSAG API
|
|
||||||
- `osid` = Operating System ID from VPSAG API
|
|
||||||
|
|
||||||
**Note:** OS availability varies by plan - you must select a Plan first before the OS dropdown populates.
|
|
||||||
|
|
||||||
The module checks for configurable options first, then falls back to product-level settings.
|
|
||||||
|
|
||||||
### Callback URL
|
|
||||||
|
|
||||||
For automatic provisioning updates (IP, password delivery), configure your callback URL in VPSAG:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
https://yourdomain.com/modules/servers/ArkhostVPSAG/callback.php
|
/modules/servers/ArkhostVPSAG/
|
||||||
|
├── ArkhostVPSAG.php
|
||||||
|
├── callback.php
|
||||||
|
├── README.md
|
||||||
|
├── lang/
|
||||||
|
│ └── english.php
|
||||||
|
└── template/
|
||||||
|
├── clientarea_direct.tpl
|
||||||
|
├── error.tpl
|
||||||
|
├── css/
|
||||||
|
├── js/
|
||||||
|
└── img/
|
||||||
```
|
```
|
||||||
|
|
||||||
The callback handler:
|
|
||||||
- Validates requests using SHA256 signature verification
|
|
||||||
- Updates service with username, password, IPs (IPv4/IPv6)
|
|
||||||
- Sets VPS label to `WHMCS {service_id}` for easy identification
|
|
||||||
|
|
||||||
## Module Functions
|
|
||||||
|
|
||||||
### Client Area Actions
|
|
||||||
|
|
||||||
| Action | Description |
|
|
||||||
|--------|-------------|
|
|
||||||
| Start/Stop/Restart | Basic power controls |
|
|
||||||
| VNC Console | Browser-based console access |
|
|
||||||
| Reinstall OS | Fresh install with optional SSH key and post-install script |
|
|
||||||
| Reset Root Password | Generate new root password |
|
|
||||||
| Hostname/rDNS | Set hostname and reverse DNS |
|
|
||||||
| Graphs | View CPU, RAM, disk, network usage over time |
|
|
||||||
| Backups | Create, restore, and delete backups |
|
|
||||||
| Firewall | Add/remove rules, commit changes |
|
|
||||||
| ISO | Mount/unmount ISO images |
|
|
||||||
|
|
||||||
### Admin Actions
|
|
||||||
|
|
||||||
| Action | Description |
|
|
||||||
|--------|-------------|
|
|
||||||
| Start/Stop/Reboot | Power controls from admin panel |
|
|
||||||
| VNC Console | Direct VNC link |
|
|
||||||
| Suspend/Unsuspend | Service suspension management |
|
|
||||||
| Terminate | Cancel VPS at VPSAG |
|
|
||||||
| Change Package | Upgrade to higher plan |
|
|
||||||
|
|
||||||
### Sidebar Buttons
|
|
||||||
|
|
||||||
The module adds custom sidebar buttons to the client area:
|
|
||||||
- Start, Stop, Restart, VNC Console
|
|
||||||
|
|
||||||
## API Integration
|
## API Integration
|
||||||
|
|
||||||
Base URL: `https://www.vpsag.com/api/v1/`
|
Base URL: `https://www.vpsag.com/api/v1/`
|
||||||
|
|
||||||
Authentication headers:
|
Headers:
|
||||||
- `X_API_USER`: API username
|
X_API_USER: [username]
|
||||||
- `X_API_KEY`: API key
|
X_API_KEY: [api_key]
|
||||||
|
|
||||||
The module handles all API communication internally with:
|
|
||||||
- TLS 1.2 enforcement
|
|
||||||
- 15-second timeout
|
|
||||||
- Full request/response logging via WHMCS module log
|
|
||||||
|
|
||||||
## VPS ID Storage
|
Endpoints:
|
||||||
|
- `GET /plans`
|
||||||
|
- `POST /order/plan`
|
||||||
|
- `GET /vps/{id}`
|
||||||
|
- `POST /vps/{id}/action/{action}`
|
||||||
|
- `GET /vps/{id}/graph/{period}`
|
||||||
|
- `POST /vps/{id}/backup`
|
||||||
|
- `POST /vps/{id}/firewall`
|
||||||
|
|
||||||
The VPS ID is stored in WHMCS service properties with key `vpsag|VPSAG ID` in format `VPSAG-{numeric_id}`.
|
## Webhook
|
||||||
|
|
||||||
## Language Customization
|
VPSAG webhook URL:
|
||||||
|
`https://yourdomain.com/modules/servers/ArkhostVPSAG/callback.php`
|
||||||
|
|
||||||
Override translations by creating files in:
|
Handles:
|
||||||
```
|
- VPS provisioning completion
|
||||||
/modules/servers/ArkhostVPSAG/lang/overrides/{language}.php
|
- IP assignment
|
||||||
```
|
- Service activation
|
||||||
|
|
||||||
## Screenshots
|
## Troubleshooting
|
||||||
|
|
||||||
### Overview
|
Enable module logging: Utilities → Logs → Module Log
|
||||||

|
|
||||||
|
|
||||||
### Graphs
|
Common issues:
|
||||||

|
- Connection failed: Check API credentials and connectivity
|
||||||
|
- VPS not found: Verify VPS ID in service properties
|
||||||
|
- Client area not loading: Check file permissions and PHP logs
|
||||||
|
|
||||||
### Backups
|
## Support
|
||||||

|
|
||||||
|
|
||||||
### Firewall
|
support@arkhost.com
|
||||||

|
|
||||||
|
|
||||||
### Settings
|
|
||||||

|
|
||||||
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
### Version 1.5
|
|
||||||
- WHMCS v9 compatibility: Updated Smarty template syntax for Smarty v4
|
|
||||||
|
|
||||||
### Version 1.4
|
|
||||||
- Fixed firewall rule duplication bug when adding new rules
|
|
||||||
- Added validation warning for ANY protocol with specific port numbers
|
|
||||||
- Redesigned firewall interface with modern card-based layout
|
|
||||||
- Created standalone Firewall tab for better organization
|
|
||||||
- Completely redesigned VPS Overview section with:
|
|
||||||
- Server Status Card (hostname, IPs, OS, status, uptime, server type)
|
|
||||||
- Resource Allocation Card (CPU cores, Memory, Storage, Traffic)
|
|
||||||
- Resource Usage Card (RAM, Bandwidth, CPU)
|
|
||||||
- Quick Actions Card (Start/Stop, Restart, VNC Console)
|
|
||||||
- Fixed Quick Actions button functionality
|
|
||||||
- Completed all language translations (8 languages)
|
|
||||||
- Enhanced UI styling with gradient backgrounds and smooth animations
|
|
||||||
- Improved responsive design and layout consistency
|
|
||||||
|
|
||||||
### Version 1.3
|
|
||||||
- Enhanced API integration
|
|
||||||
- Performance improvements
|
|
||||||
- Bug fixes
|
|
||||||
|
|
||||||
### Version 1.2
|
|
||||||
- Custom notifications replace browser popups
|
|
||||||
- Confirmation dialogs for critical actions
|
|
||||||
- Multi-language support for all notifications
|
|
||||||
- Smart post-installation script examples based on OS
|
|
||||||
- Fixed firewall rules not displaying after creation
|
|
||||||
- Improved UI styling and animations
|
|
||||||
|
|
||||||
### Version 1.1
|
|
||||||
- Basic VPS management
|
|
||||||
- Backup operations
|
|
||||||
- Firewall rules
|
|
||||||
- OS reinstall
|
|
||||||
|
|
||||||
### Version 1.0
|
|
||||||
- Initial release
|
|
||||||
|
|
||||||
## Credits
|
|
||||||
|
|
||||||
Originally based on work by [andretunes](https://github.com/andretunes/whmcs-module-vpsag)
|
|
||||||
Substantially rewritten and extended by ArkHost
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT License
|
MIT License
|
||||||
© 2025 ArkHost
|
|
||||||
|
Copyright (c) 2025 ArkHost
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,14 @@
|
|||||||
* WHMCS Server Module - VPSAG
|
* WHMCS Server Module - VPSAG
|
||||||
*
|
*
|
||||||
* @package WHMCS
|
* @package WHMCS
|
||||||
* @version 1.5
|
* @version 1.1
|
||||||
* @copyright Copyright (c) ArkHost 2025
|
* @copyright Copyright (c) ArkHost 2024
|
||||||
* @author ArkHost <support@arkhost.com>
|
* @author ArkHost <support@arkhost.com>
|
||||||
* @link https://arkhost.com
|
* @link https://arkhost.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('WHMCS')) {
|
if (!defined('WHMCS')) {
|
||||||
http_response_code(403);
|
exit(header('Location: https://arkhost.com'));
|
||||||
exit('Access denied');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
use WHMCS\Config\Setting;
|
use WHMCS\Config\Setting;
|
||||||
@@ -55,8 +54,7 @@ function ArkhostVPSAG_API(array $params) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'Order':
|
case 'Order':
|
||||||
$planId = ArkhostVPSAG_GetOption($params, 'planid');
|
$url .= 'order/plan';
|
||||||
$url .= 'order/' . $planId;
|
|
||||||
$method .= 'POST';
|
$method .= 'POST';
|
||||||
|
|
||||||
$billingCycles = array(
|
$billingCycles = array(
|
||||||
@@ -69,9 +67,9 @@ function ArkhostVPSAG_API(array $params) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
$data += array(
|
$data += array(
|
||||||
// 'hostname' => removed - let VPSAG generate the hostname automatically
|
'plan_id' => ArkhostVPSAG_GetOption($params, 'planid'),
|
||||||
'notify_url' => Setting::getValue('SystemURL') . '/modules/servers/ArkhostVPSAG/callback.php',
|
'notify_url' => Setting::getValue('SystemURL') . '/modules/servers/ArkhostVPSAG/callback.php',
|
||||||
'os' => ArkhostVPSAG_GetOption($params, 'osid'),
|
'os_id' => ArkhostVPSAG_GetOption($params, 'osid'),
|
||||||
'billing_term' => $billingCycles[$params['model']['billingcycle']] ?? 1,
|
'billing_term' => $billingCycles[$params['model']['billingcycle']] ?? 1,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
@@ -323,92 +321,6 @@ function ArkhostVPSAG_Error($func, $params, Exception $err) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function ArkhostVPSAG_MetaData() {
|
function ArkhostVPSAG_MetaData() {
|
||||||
// Register sidebar hook here to ensure it's always loaded
|
|
||||||
static $hookRegistered = false;
|
|
||||||
if (!$hookRegistered) {
|
|
||||||
$hookRegistered = true;
|
|
||||||
add_hook('ClientAreaPrimarySidebar', 100, function(\WHMCS\View\Menu\Item $primarySidebar) {
|
|
||||||
$serviceId = isset($_GET['id']) ? (int) $_GET['id'] : 0;
|
|
||||||
if (!$serviceId) return;
|
|
||||||
|
|
||||||
try {
|
|
||||||
$service = Capsule::table('tblhosting')
|
|
||||||
->join('tblproducts', 'tblhosting.packageid', '=', 'tblproducts.id')
|
|
||||||
->where('tblhosting.id', $serviceId)
|
|
||||||
->select('tblhosting.*', 'tblproducts.servertype')
|
|
||||||
->first();
|
|
||||||
|
|
||||||
if (!$service || $service->servertype !== 'ArkhostVPSAG' || $service->domainstatus !== 'Active') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$actionsPanel = $primarySidebar->getChild('Service Details Actions');
|
|
||||||
if (!$actionsPanel) return;
|
|
||||||
|
|
||||||
// Load language strings
|
|
||||||
if (!function_exists('ArkhostVPSAG_Translation')) {
|
|
||||||
require_once __DIR__ . '/ArkhostVPSAG.php';
|
|
||||||
}
|
|
||||||
$_LANG = ArkhostVPSAG_Translation();
|
|
||||||
|
|
||||||
// Remove only OUR custom action buttons (created by ClientAreaCustomButtonArray with cog icons)
|
|
||||||
// They have modop=custom in the URI
|
|
||||||
$existingChildren = $actionsPanel->getChildren();
|
|
||||||
foreach ($existingChildren as $childName => $child) {
|
|
||||||
$uri = $child->getUri();
|
|
||||||
if ($uri && strpos($uri, 'modop=custom') !== false) {
|
|
||||||
$actionsPanel->removeChild($childName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add custom action buttons with proper icons
|
|
||||||
$actionsPanel->addChild('VPSStart', [
|
|
||||||
'label' => $_LANG['Start'],
|
|
||||||
'uri' => 'clientarea.php?action=productdetails&id=' . $serviceId . '&modop=custom&a=Start',
|
|
||||||
'order' => 10,
|
|
||||||
'icon' => 'fa-play'
|
|
||||||
]);
|
|
||||||
$actionsPanel->addChild('VPSStop', [
|
|
||||||
'label' => $_LANG['Stop'],
|
|
||||||
'uri' => 'clientarea.php?action=productdetails&id=' . $serviceId . '&modop=custom&a=Stop',
|
|
||||||
'order' => 20,
|
|
||||||
'icon' => 'fa-stop'
|
|
||||||
]);
|
|
||||||
$actionsPanel->addChild('VPSRestart', [
|
|
||||||
'label' => $_LANG['Restart'],
|
|
||||||
'uri' => 'clientarea.php?action=productdetails&id=' . $serviceId . '&modop=custom&a=Reboot',
|
|
||||||
'order' => 30,
|
|
||||||
'icon' => 'fa-sync'
|
|
||||||
]);
|
|
||||||
|
|
||||||
// Check VNC mode from product config
|
|
||||||
$product = Capsule::table('tblproducts')->where('id', $service->packageid)->first();
|
|
||||||
$vncMode = isset($product->configoption3) && $product->configoption3 !== '' ? $product->configoption3 : 'newtab';
|
|
||||||
|
|
||||||
if ($vncMode === 'embedded') {
|
|
||||||
// For embedded mode, link to the page with hash to trigger VNC tab
|
|
||||||
$actionsPanel->addChild('VPSVNC', [
|
|
||||||
'label' => $_LANG['VNC'],
|
|
||||||
'uri' => 'clientarea.php?action=productdetails&id=' . $serviceId . '#vnc',
|
|
||||||
'order' => 40,
|
|
||||||
'icon' => 'fa-desktop'
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
// For new tab mode, open VNC in new window
|
|
||||||
$actionsPanel->addChild('VPSVNC', [
|
|
||||||
'label' => $_LANG['VNC'],
|
|
||||||
'uri' => 'clientarea.php?action=productdetails&id=' . $serviceId . '&modop=custom&a=VNC',
|
|
||||||
'order' => 40,
|
|
||||||
'icon' => 'fa-desktop',
|
|
||||||
'attributes' => ['target' => '_blank']
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'DisplayName' => 'ArkHost - VPSAG',
|
'DisplayName' => 'ArkHost - VPSAG',
|
||||||
'APIVersion' => '1.1',
|
'APIVersion' => '1.1',
|
||||||
@@ -438,16 +350,6 @@ function ArkhostVPSAG_ConfigOptions() {
|
|||||||
'Type' => 'dropdown',
|
'Type' => 'dropdown',
|
||||||
'Options' => array(),
|
'Options' => array(),
|
||||||
),
|
),
|
||||||
'vnc_mode' => array(
|
|
||||||
'FriendlyName' => 'VNC Display Mode',
|
|
||||||
'Description' => 'How to display the VNC console to clients.',
|
|
||||||
'Type' => 'dropdown',
|
|
||||||
'Options' => array(
|
|
||||||
'newtab' => 'New Tab',
|
|
||||||
'embedded' => 'Embedded in Page',
|
|
||||||
),
|
|
||||||
'Default' => 'newtab',
|
|
||||||
),
|
|
||||||
// Extra resource options removed - now handled via plan selection
|
// Extra resource options removed - now handled via plan selection
|
||||||
// Plans have fixed resources defined within them in the new API
|
// Plans have fixed resources defined within them in the new API
|
||||||
);
|
);
|
||||||
@@ -497,7 +399,7 @@ function ArkhostVPSAG_ConfigOptions() {
|
|||||||
|
|
||||||
foreach ($packageslist as $package) {
|
foreach ($packageslist as $package) {
|
||||||
$array['planid']['Options'] += array(
|
$array['planid']['Options'] += array(
|
||||||
$package['id'] => $package['id'] . ' | ' . $package['name'] . ' (' . $package['price'] . '€)'
|
$package['id'] => $package['name'] . ' (' . $package['price'] . '€)'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,7 +411,7 @@ function ArkhostVPSAG_ConfigOptions() {
|
|||||||
|
|
||||||
foreach ($operatingSystems as $operatingSystem) {
|
foreach ($operatingSystems as $operatingSystem) {
|
||||||
$array['osid']['Options'] += array(
|
$array['osid']['Options'] += array(
|
||||||
$operatingSystem['id'] => $operatingSystem['id'] . ' | ' . $operatingSystem['name']
|
$operatingSystem['id'] => $operatingSystem['name']
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -581,22 +483,6 @@ function ArkhostVPSAG_CreateAccount(array $params) {
|
|||||||
$params['action'] = 'Order';
|
$params['action'] = 'Order';
|
||||||
$create = ArkhostVPSAG_API($params);
|
$create = ArkhostVPSAG_API($params);
|
||||||
|
|
||||||
// Validate API response - the API function already handles status=0 errors
|
|
||||||
// but we need to ensure we have a valid vps_id
|
|
||||||
if (!is_array($create) || !isset($create['vps_id']) || empty($create['vps_id'])) {
|
|
||||||
if (is_array($create)) {
|
|
||||||
logActivity('VPSAG Order Failed - Invalid Response: ' . json_encode($create));
|
|
||||||
} else {
|
|
||||||
logActivity('VPSAG Order Failed - Non-array response: ' . gettype($create));
|
|
||||||
}
|
|
||||||
throw new Exception('Invalid response from API');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure vps_id is numeric and valid
|
|
||||||
if (!is_numeric($create['vps_id']) || $create['vps_id'] <= 0) {
|
|
||||||
throw new Exception('Invalid response from API');
|
|
||||||
}
|
|
||||||
|
|
||||||
$params['model']->serviceProperties->save([
|
$params['model']->serviceProperties->save([
|
||||||
'vpsag|VPSAG ID' => 'VPSAG-' . $create['vps_id'],
|
'vpsag|VPSAG ID' => 'VPSAG-' . $create['vps_id'],
|
||||||
]);
|
]);
|
||||||
@@ -610,7 +496,7 @@ function ArkhostVPSAG_CreateAccount(array $params) {
|
|||||||
|
|
||||||
function ArkhostVPSAG_SuspendAccount(array $params) {
|
function ArkhostVPSAG_SuspendAccount(array $params) {
|
||||||
try {
|
try {
|
||||||
$params['action'] = 'Stop';
|
$params['action'] = 'Disable';
|
||||||
ArkhostVPSAG_API($params);
|
ArkhostVPSAG_API($params);
|
||||||
} catch (Exception $err) {
|
} catch (Exception $err) {
|
||||||
ArkhostVPSAG_Error(__FUNCTION__, $params, $err);
|
ArkhostVPSAG_Error(__FUNCTION__, $params, $err);
|
||||||
@@ -622,7 +508,7 @@ function ArkhostVPSAG_SuspendAccount(array $params) {
|
|||||||
|
|
||||||
function ArkhostVPSAG_UnsuspendAccount(array $params) {
|
function ArkhostVPSAG_UnsuspendAccount(array $params) {
|
||||||
try {
|
try {
|
||||||
$params['action'] = 'Start';
|
$params['action'] = 'Enable';
|
||||||
ArkhostVPSAG_API($params);
|
ArkhostVPSAG_API($params);
|
||||||
} catch (Exception $err) {
|
} catch (Exception $err) {
|
||||||
ArkhostVPSAG_Error(__FUNCTION__, $params, $err);
|
ArkhostVPSAG_Error(__FUNCTION__, $params, $err);
|
||||||
@@ -744,7 +630,7 @@ function ArkhostVPSAG_AdminLink(array $params) {
|
|||||||
function ArkhostVPSAG_ClientAreaAPI(array $params) {
|
function ArkhostVPSAG_ClientAreaAPI(array $params) {
|
||||||
try {
|
try {
|
||||||
$action = App::getFromRequest('api');
|
$action = App::getFromRequest('api');
|
||||||
$actions = array('Server Info', 'Graphs', 'Reinstall', 'Reboot', 'Stop', 'Start', 'IPv4 Addresses', 'Hostname rDNS', 'Create backup', 'Delete backup', 'List backups', 'Restore backup', 'Get Firewall rules', 'Add Firewall rules', 'Delete Firewall rule', 'Commit Firewall rules', 'ISO Images', 'Load ISO', 'Eject ISO', 'Reset root', 'VNC Console');
|
$actions = array('Server Info', 'Graphs', 'Reinstall', 'Reboot', 'Stop', 'Start', 'IPv4 Addresses', 'Hostname rDNS', 'Create backup', 'Delete backup', 'List backups', 'Restore backup', 'Get Firewall rules', 'Add Firewall rules', 'Delete Firewall rule', 'Commit Firewall rules', 'ISO Images', 'Load ISO', 'Eject ISO', 'Reset root');
|
||||||
$results = array('result' => 'success');
|
$results = array('result' => 'success');
|
||||||
|
|
||||||
if (in_array($action, $actions)) {
|
if (in_array($action, $actions)) {
|
||||||
@@ -833,8 +719,6 @@ function ArkhostVPSAG_DeliverFile(array $params) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// This function is required for WHMCS to handle the custom actions
|
|
||||||
// The hook in MetaData() replaces the sidebar buttons to remove cog icons
|
|
||||||
function ArkhostVPSAG_ClientAreaCustomButtonArray() {
|
function ArkhostVPSAG_ClientAreaCustomButtonArray() {
|
||||||
$_LANG = ArkhostVPSAG_Translation();
|
$_LANG = ArkhostVPSAG_Translation();
|
||||||
|
|
||||||
@@ -857,13 +741,13 @@ function ArkhostVPSAG_ClientArea(array $params) {
|
|||||||
// Check if VPS ID is available
|
// Check if VPS ID is available
|
||||||
$vpsId = $params['model']->serviceProperties->get('vpsag');
|
$vpsId = $params['model']->serviceProperties->get('vpsag');
|
||||||
if (empty($vpsId)) {
|
if (empty($vpsId)) {
|
||||||
throw new Exception('Service not properly provisioned');
|
throw new Exception('VPS ID not found in service properties. This service may not be properly provisioned yet.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get clean VPS ID
|
// Get clean VPS ID
|
||||||
$cleanVpsId = ArkhostVPSAG_GetVPSID($params);
|
$cleanVpsId = ArkhostVPSAG_GetVPSID($params);
|
||||||
if (empty($cleanVpsId)) {
|
if (empty($cleanVpsId)) {
|
||||||
throw new Exception('Invalid VPS ID format');
|
throw new Exception('Invalid VPS ID format: ' . $vpsId . '. Expected format: VPS-xxxxx or VPSAG-xxxxx');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get server info and operating systems data
|
// Get server info and operating systems data
|
||||||
@@ -872,14 +756,7 @@ function ArkhostVPSAG_ClientArea(array $params) {
|
|||||||
|
|
||||||
// Check if server info is valid
|
// Check if server info is valid
|
||||||
if (!is_array($serverInfo) || empty($serverInfo)) {
|
if (!is_array($serverInfo) || empty($serverInfo)) {
|
||||||
throw new Exception('Unable to retrieve server information from API');
|
throw new Exception('Unable to retrieve server information from API. VPS ID: ' . $vpsId);
|
||||||
}
|
|
||||||
|
|
||||||
// Sync the domain field with VPS hostname so it shows in WHMCS product details
|
|
||||||
if (isset($serverInfo['hostname']) && !empty($serverInfo['hostname'])) {
|
|
||||||
Capsule::table('tblhosting')
|
|
||||||
->where('id', $params['serviceid'])
|
|
||||||
->update(['domain' => $serverInfo['hostname']]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$params['action'] = 'Operating Systems - Server';
|
$params['action'] = 'Operating Systems - Server';
|
||||||
@@ -1013,7 +890,6 @@ function ArkhostVPSAG_ClientArea(array $params) {
|
|||||||
$serverInfo['hostname'] = isset($serverInfo['hostname']) ? $serverInfo['hostname'] : 'N/A';
|
$serverInfo['hostname'] = isset($serverInfo['hostname']) ? $serverInfo['hostname'] : 'N/A';
|
||||||
$serverInfo['ip'] = isset($serverInfo['ip']) ? $serverInfo['ip'] : 'N/A';
|
$serverInfo['ip'] = isset($serverInfo['ip']) ? $serverInfo['ip'] : 'N/A';
|
||||||
$serverInfo['uptime_text'] = isset($serverInfo['uptime_text']) ? $serverInfo['uptime_text'] : 'N/A';
|
$serverInfo['uptime_text'] = isset($serverInfo['uptime_text']) ? $serverInfo['uptime_text'] : 'N/A';
|
||||||
$serverInfo['server_type'] = isset($serverInfo['category']) ? $serverInfo['category'] : 'Standard';
|
|
||||||
$serverInfo['cpu_usage'] = isset($serverInfo['cpu_usage']) ? $serverInfo['cpu_usage'] : 0;
|
$serverInfo['cpu_usage'] = isset($serverInfo['cpu_usage']) ? $serverInfo['cpu_usage'] : 0;
|
||||||
$serverInfo['ram_usage'] = isset($serverInfo['ram_usage']) ? $serverInfo['ram_usage'] : 0;
|
$serverInfo['ram_usage'] = isset($serverInfo['ram_usage']) ? $serverInfo['ram_usage'] : 0;
|
||||||
$serverInfo['ram'] = isset($serverInfo['ram']) ? $serverInfo['ram'] : 1;
|
$serverInfo['ram'] = isset($serverInfo['ram']) ? $serverInfo['ram'] : 1;
|
||||||
@@ -1026,11 +902,6 @@ function ArkhostVPSAG_ClientArea(array $params) {
|
|||||||
$serverInfo['bandwidth_used'] = isset($serverInfo['bandwidth_used']) ? $serverInfo['bandwidth_used'] : 0;
|
$serverInfo['bandwidth_used'] = isset($serverInfo['bandwidth_used']) ? $serverInfo['bandwidth_used'] : 0;
|
||||||
$serverInfo['bandwidth'] = isset($serverInfo['bandwidth']) ? $serverInfo['bandwidth'] : 1;
|
$serverInfo['bandwidth'] = isset($serverInfo['bandwidth']) ? $serverInfo['bandwidth'] : 1;
|
||||||
|
|
||||||
// Get VNC mode setting (configoption3)
|
|
||||||
$vncMode = isset($params['configoption3']) && $params['configoption3'] !== ''
|
|
||||||
? $params['configoption3']
|
|
||||||
: 'newtab';
|
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'templatefile' => 'template/clientarea_direct',
|
'templatefile' => 'template/clientarea_direct',
|
||||||
'templateVariables' => array(
|
'templateVariables' => array(
|
||||||
@@ -1039,7 +910,6 @@ function ArkhostVPSAG_ClientArea(array $params) {
|
|||||||
'operatingSystems' => $operatingSystems,
|
'operatingSystems' => $operatingSystems,
|
||||||
'token' => generate_token('plain'),
|
'token' => generate_token('plain'),
|
||||||
'_LANG' => ArkhostVPSAG_Translation(),
|
'_LANG' => ArkhostVPSAG_Translation(),
|
||||||
'vncMode' => $vncMode,
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} catch (Exception $err) {
|
} catch (Exception $err) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* VPSAG WHMCS Server Provisioning version 1.4
|
* VPSAG WHMCS Server Provisioning version 1.2
|
||||||
*
|
*
|
||||||
* @package WHMCS
|
* @package WHMCS
|
||||||
* @copyright ArkHost
|
* @copyright ArkHost
|
||||||
@@ -9,8 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (empty($_POST)) {
|
if (empty($_POST)) {
|
||||||
http_response_code(400);
|
exit(header('Location: https://arkhost.com'));
|
||||||
exit('Bad Request');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'init.php';
|
require_once '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'init.php';
|
||||||
@@ -20,29 +19,10 @@ use WHMCS\Database\Capsule;
|
|||||||
|
|
||||||
$_POST = array_map('html_entity_decode', $_POST);
|
$_POST = array_map('html_entity_decode', $_POST);
|
||||||
|
|
||||||
// Look for the service by VPSAG ID in service properties
|
|
||||||
$serviceProperty = Capsule::table('tblservice_properties')
|
|
||||||
->where('property', 'vpsag|VPSAG ID')
|
|
||||||
->where('value', 'VPSAG-' . $_POST['server_id'])
|
|
||||||
->first();
|
|
||||||
|
|
||||||
if (!$serviceProperty) {
|
|
||||||
// Fallback: try to find in custom fields for backward compatibility
|
|
||||||
$customField = Capsule::table('tblcustomfieldsvalues')->where('value', 'VPSAG-' . $_POST['server_id'])->first();
|
$customField = Capsule::table('tblcustomfieldsvalues')->where('value', 'VPSAG-' . $_POST['server_id'])->first();
|
||||||
if ($customField) {
|
|
||||||
$service = WHMCS\Service\Service::find($customField->relid);
|
$service = WHMCS\Service\Service::find($customField->relid);
|
||||||
} else {
|
|
||||||
http_response_code(404);
|
|
||||||
exit('Service not found');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$service = WHMCS\Service\Service::find($serviceProperty->service_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$service) {
|
if (!$service) exit(header('Location: https://arkhost.com'));
|
||||||
http_response_code(404);
|
|
||||||
exit('Service not found');
|
|
||||||
}
|
|
||||||
|
|
||||||
$server = Capsule::table('tblservers')->where('id', $service->server)->first();
|
$server = Capsule::table('tblservers')->where('id', $service->server)->first();
|
||||||
|
|
||||||
@@ -57,10 +37,7 @@ foreach ($_POST as $key => $value) {
|
|||||||
$rawSig .= hash('sha512', decrypt($server->password));
|
$rawSig .= hash('sha512', decrypt($server->password));
|
||||||
$signature = hash('sha256', $rawSig);
|
$signature = hash('sha256', $rawSig);
|
||||||
|
|
||||||
if ($_POST['sig'] != $signature) {
|
if ($_POST['sig'] != $signature) exit(header('Location: https://arkhost.com'));
|
||||||
http_response_code(403);
|
|
||||||
exit('Invalid signature');
|
|
||||||
}
|
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
'serverusername' => $server->username,
|
'serverusername' => $server->username,
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* WHMCS Server Module - VPSAG Hooks
|
|
||||||
*
|
|
||||||
* @package WHMCS
|
|
||||||
* @version 1.4
|
|
||||||
* @copyright Copyright (c) ArkHost 2025
|
|
||||||
* @author ArkHost <support@arkhost.com>
|
|
||||||
* @link https://arkhost.com
|
|
||||||
*/
|
|
||||||
|
|
||||||
use WHMCS\Database\Capsule;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Hide default WHMCS product details and cog icons for ArkhostVPSAG products
|
|
||||||
* Injects CSS early to prevent flash of content
|
|
||||||
*/
|
|
||||||
add_hook('ClientAreaHeadOutput', 1, function($vars) {
|
|
||||||
// Only run on product details page
|
|
||||||
if (!isset($_GET['action']) || $_GET['action'] !== 'productdetails') {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the service ID from the request
|
|
||||||
$serviceId = isset($_GET['id']) ? (int) $_GET['id'] : 0;
|
|
||||||
if (!$serviceId) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if this service uses the ArkhostVPSAG module
|
|
||||||
try {
|
|
||||||
$service = Capsule::table('tblhosting')
|
|
||||||
->where('id', $serviceId)
|
|
||||||
->first();
|
|
||||||
|
|
||||||
if (!$service || $service->servertype !== 'ArkhostVPSAG') {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inject CSS early in the HEAD to prevent flash
|
|
||||||
// This works for both active and suspended services
|
|
||||||
return <<<HTML
|
|
||||||
<style>
|
|
||||||
/* Hide WHMCS default product details (Domain, Username, Server Name, IP, Visit Website) for ArkhostVPSAG */
|
|
||||||
#domain > .row:nth-child(2),
|
|
||||||
#domain > .row:nth-child(3),
|
|
||||||
#domain > .row:nth-child(4) {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
#domain > br {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
#domain > p {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Hide cog icons from custom action buttons IMMEDIATELY */
|
|
||||||
.list-group-item[href*="modop=custom"] i.fa-cog,
|
|
||||||
.list-group-item[href*="modop=custom"] i.fas.fa-cog,
|
|
||||||
.list-group-item[href*="modop=custom"] .fa-cog,
|
|
||||||
.list-group-item[href*="modop=custom"] i.fa-wrench,
|
|
||||||
a[href*="modop=custom"] i.fa-cog,
|
|
||||||
a[href*="modop=custom"] i.fas.fa-cog,
|
|
||||||
a[href*="modop=custom"] .fa-cog {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
HTML;
|
|
||||||
});
|
|
||||||
|
|
||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Gebruikt';
|
|||||||
$_ADDONLANG['Start'] = 'Start';
|
$_ADDONLANG['Start'] = 'Start';
|
||||||
$_ADDONLANG['Stop'] = 'Stop';
|
$_ADDONLANG['Stop'] = 'Stop';
|
||||||
$_ADDONLANG['Restart'] = 'Herstarten';
|
$_ADDONLANG['Restart'] = 'Herstarten';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'VNC-console';
|
||||||
$_ADDONLANG['General']['Note'] = 'Opmerking';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Firewall-regels laden...';
|
|
||||||
|
|
||||||
## Bevestigingen
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'VPS stoppen';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = 'Weet u zeker dat u deze VPS wilt stoppen? Dit zal de server afsluiten.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'VPS herstarten';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = 'Weet u zeker dat u deze VPS wilt herstarten? Dit zal de server opnieuw opstarten.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Annuleren';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Bevestigen';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Back-up maken';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Wilt u een back-up maken. Dit kan enkele minuten duren.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Back-up verwijderen';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Wilt u deze back-up verwijderen. Deze actie kan niet ongedaan worden gemaakt.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Back-up herstellen';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Wilt u deze back-up herstellen. Dit overschrijft alle huidige gegevens en kan niet ongedaan worden gemaakt.';
|
|
||||||
|
|
||||||
## Navigatiebalk
|
## Navigatiebalk
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Overzicht';
|
$_ADDONLANG['Navbar']['Overview'] = 'Overzicht';
|
||||||
@@ -35,28 +19,11 @@ $_ADDONLANG['Navbar']['Backups'] = 'Back-ups';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Instellingen';
|
$_ADDONLANG['Navbar']['Settings'] = 'Instellingen';
|
||||||
|
|
||||||
## Overzicht
|
## Overzicht
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Server Informatie';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Hostnaam';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Status';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Uptime';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Besturingssysteem';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Locatie';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Servertype';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Toegewezen Bronnen';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'CPU-kernen';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Geheugen';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Opslag';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Verkeer';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Snelle Acties';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Gebruik van Bronnen';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'CPU-gebruik';
|
$_ADDONLANG['Overview']['CPU'] = 'CPU-gebruik';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Gebruik';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'RAM-gebruik';
|
$_ADDONLANG['Overview']['RAM'] = 'RAM-gebruik';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Bandbreedtegebruik';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Bandbreedtegebruik';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Schijfruimte';
|
$_ADDONLANG['Overview']['Disk'] = 'Schijfruimte';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Totale grootte';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Totale grootte';
|
||||||
$_ADDONLANG['General']['GB'] = 'GB';
|
|
||||||
$_ADDONLANG['General']['TB'] = 'TB';
|
|
||||||
|
|
||||||
## Grafieken
|
## Grafieken
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'CPU-gebruik';
|
$_ADDONLANG['Graphs']['CPU'] = 'CPU-gebruik';
|
||||||
@@ -68,7 +35,6 @@ $_ADDONLANG['Graphs']['Day'] = 'Dag';
|
|||||||
$_ADDONLANG['Graphs']['Week'] = 'Week';
|
$_ADDONLANG['Graphs']['Week'] = 'Week';
|
||||||
$_ADDONLANG['Graphs']['Month'] = 'Maand';
|
$_ADDONLANG['Graphs']['Month'] = 'Maand';
|
||||||
$_ADDONLANG['Graphs']['Year'] = 'Jaar';
|
$_ADDONLANG['Graphs']['Year'] = 'Jaar';
|
||||||
$_ADDONLANG['Graphs']['Loading'] = 'Grafiek laden...';
|
|
||||||
|
|
||||||
## Back-ups
|
## Back-ups
|
||||||
$_ADDONLANG['Backups']['Description'] = 'De datums waarop back-ups van deze VPS beschikbaar zijn, staan hieronder vermeld. U kunt ze dienovereenkomstig herstellen of verwijderen.';
|
$_ADDONLANG['Backups']['Description'] = 'De datums waarop back-ups van deze VPS beschikbaar zijn, staan hieronder vermeld. U kunt ze dienovereenkomstig herstellen of verwijderen.';
|
||||||
@@ -79,11 +45,6 @@ $_ADDONLANG['Backups']['Type'] = 'Type';
|
|||||||
$_ADDONLANG['Backups']['Status'] = 'Status';
|
$_ADDONLANG['Backups']['Status'] = 'Status';
|
||||||
$_ADDONLANG['Backups']['Actions'] = 'Acties';
|
$_ADDONLANG['Backups']['Actions'] = 'Acties';
|
||||||
$_ADDONLANG['Backups']['Create'] = 'Nu Back-up Maken';
|
$_ADDONLANG['Backups']['Create'] = 'Nu Back-up Maken';
|
||||||
$_ADDONLANG['Backups']['Available'] = 'Beschikbaar';
|
|
||||||
$_ADDONLANG['Backups']['Creating'] = 'Bezig met maken...';
|
|
||||||
$_ADDONLANG['Backups']['Error'] = 'Fout';
|
|
||||||
$_ADDONLANG['Backups']['Automatic'] = 'Automatisch';
|
|
||||||
$_ADDONLANG['Backups']['Manual'] = 'Handmatig';
|
|
||||||
|
|
||||||
## Instellingen
|
## Instellingen
|
||||||
### Hostnaam
|
### Hostnaam
|
||||||
@@ -109,19 +70,10 @@ $_ADDONLANG['Settings']['Reinstall']['Description'] = 'Begrijp alstublieft dat b
|
|||||||
$_ADDONLANG['Settings']['Reinstall']['OS'] = 'Besturingssysteem';
|
$_ADDONLANG['Settings']['Reinstall']['OS'] = 'Besturingssysteem';
|
||||||
$_ADDONLANG['Settings']['Reinstall']['Version'] = 'KIES VERSIE';
|
$_ADDONLANG['Settings']['Reinstall']['Version'] = 'KIES VERSIE';
|
||||||
$_ADDONLANG['Settings']['Reinstall']['Submit'] = 'Herinstalleren';
|
$_ADDONLANG['Settings']['Reinstall']['Submit'] = 'Herinstalleren';
|
||||||
$_ADDONLANG['Settings']['Reinstall']['SSHKey'] = 'SSH Publieke Sleutel (optioneel)';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['SSHKeyDesc'] = 'Plak hier uw openbare SSH-sleutel (begint met ssh-rsa, ssh-ed25519, etc.). Deze wordt automatisch toegevoegd aan ~/.ssh/authorized_keys voor wachtwoordloos inloggen.';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['PostScript'] = 'Post-installatiescript (optioneel)';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['PostScriptDesc'] = 'Voer een bash-script in dat automatisch wordt uitgevoerd nadat de OS-installatie is voltooid. Handig voor het installeren van pakketten, het configureren van services of het instellen van uw omgeving.';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['DisableSSHPassword'] = 'SSH-wachtwoordauthenticatie uitschakelen';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'Indien ingeschakeld, is alleen SSH-sleutelauthenticatie toegestaan. Inloggen met wachtwoord via SSH wordt uitgeschakeld voor verbeterde beveiliging.';
|
|
||||||
|
|
||||||
### Firewall
|
### Firewall
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'De regels worden van boven naar beneden geëvalueerd. Standaard is alles toegestaan. De firewall is alleen beschikbaar op de openbare interface. Alleen het inkomende verkeer wordt door de firewall gefilterd.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'De regels worden van boven naar beneden geëvalueerd. Standaard is alles toegestaan. De firewall is alleen beschikbaar op de openbare interface. Alleen het inkomende verkeer wordt door de firewall gefilterd.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Nieuwe Firewallregel Toevoegen';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Huidige Firewallregels';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Regel Toevoegen';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Actie';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Actie';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Poort';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Poort';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocol';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocol';
|
||||||
|
|||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Used';
|
|||||||
$_ADDONLANG['Start'] = 'Start';
|
$_ADDONLANG['Start'] = 'Start';
|
||||||
$_ADDONLANG['Stop'] = 'Stop';
|
$_ADDONLANG['Stop'] = 'Stop';
|
||||||
$_ADDONLANG['Restart'] = 'Restart';
|
$_ADDONLANG['Restart'] = 'Restart';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'VNC Console';
|
||||||
$_ADDONLANG['General']['Note'] = 'Note';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Loading firewall rules...';
|
|
||||||
|
|
||||||
## Confirmations
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'Stop VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = 'Do you want to stop this VPS? This will shutdown the server.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'Restart VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = 'Do you want to restart this VPS? This will reboot the server.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Cancel';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Confirm';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Create Backup';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Do you want to create a backup. This may take several minutes.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Delete Backup';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Do you want to delete this backup. This action cannot be undone.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Restore Backup';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Do you want to restore this backup. This will overwrite all current data and cannot be undone.';
|
|
||||||
|
|
||||||
## Navbar
|
## Navbar
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Overview';
|
$_ADDONLANG['Navbar']['Overview'] = 'Overview';
|
||||||
@@ -35,28 +19,11 @@ $_ADDONLANG['Navbar']['Backups'] = 'Backups';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Settings';
|
$_ADDONLANG['Navbar']['Settings'] = 'Settings';
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Server Information';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Hostname';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Status';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Uptime';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Operating System';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Location';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Server Type';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Resource Allocation';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'CPU Cores';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Memory';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Storage';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Traffic';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Quick Actions';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Resource Usage';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'CPU Usage';
|
$_ADDONLANG['Overview']['CPU'] = 'CPU Usage';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Usage';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'RAM Usage';
|
$_ADDONLANG['Overview']['RAM'] = 'RAM Usage';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Bandwidth Usage';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Bandwidth Usage';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Disk Space';
|
$_ADDONLANG['Overview']['Disk'] = 'Disk Space';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Total Size';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Total Size';
|
||||||
$_ADDONLANG['General']['GB'] = 'GB';
|
|
||||||
$_ADDONLANG['General']['TB'] = 'TB';
|
|
||||||
|
|
||||||
## Graphs
|
## Graphs
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'CPU Usage';
|
$_ADDONLANG['Graphs']['CPU'] = 'CPU Usage';
|
||||||
@@ -119,9 +86,6 @@ $_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'When enabled,
|
|||||||
### Firewall
|
### Firewall
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'The rules are evaluated from the top to the bottom. By default, everything is allowed. The firewall is only available on the public interface. Only the inbound traffic will be filtered by the firewall.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'The rules are evaluated from the top to the bottom. By default, everything is allowed. The firewall is only available on the public interface. Only the inbound traffic will be filtered by the firewall.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Add New Firewall Rule';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Current Firewall Rules';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Add Rule';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Action';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Action';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Port';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Port';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocol';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocol';
|
||||||
|
|||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Utilisé';
|
|||||||
$_ADDONLANG['Start'] = 'Démarrer';
|
$_ADDONLANG['Start'] = 'Démarrer';
|
||||||
$_ADDONLANG['Stop'] = 'Arrêter';
|
$_ADDONLANG['Stop'] = 'Arrêter';
|
||||||
$_ADDONLANG['Restart'] = 'Redémarrer';
|
$_ADDONLANG['Restart'] = 'Redémarrer';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'Console VNC';
|
||||||
$_ADDONLANG['General']['Note'] = 'Note';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Chargement des règles de pare-feu...';
|
|
||||||
|
|
||||||
## Confirmations
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'Arreter le VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = 'Voulez-vous arreter ce VPS. Cela va eteindre le serveur.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'Redemarrer le VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = 'Voulez-vous redemarrer ce VPS. Cela va redemarrer le serveur.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Annuler';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Confirmer';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Creer une sauvegarde';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Voulez-vous creer une sauvegarde. Cela peut prendre plusieurs minutes.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Supprimer la sauvegarde';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Voulez-vous supprimer cette sauvegarde. Cette action ne peut pas etre annulee.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Restaurer la sauvegarde';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Voulez-vous restaurer cette sauvegarde. Cela ecrasera toutes les donnees actuelles et ne peut pas etre annule.';
|
|
||||||
|
|
||||||
## Navbar
|
## Navbar
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Aperçu';
|
$_ADDONLANG['Navbar']['Overview'] = 'Aperçu';
|
||||||
@@ -35,28 +19,12 @@ $_ADDONLANG['Navbar']['Backups'] = 'Sauvegardes';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Paramètres';
|
$_ADDONLANG['Navbar']['Settings'] = 'Paramètres';
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Informations du serveur';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Nom d\'hôte';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Statut';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Temps de fonctionnement';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Système d\'exploitation';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Emplacement';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Type de serveur';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Allocation des ressources';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'Cœurs CPU';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Mémoire';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Stockage';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Trafic';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Actions rapides';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Utilisation des ressources';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'Utilisation CPU';
|
$_ADDONLANG['Overview']['CPU'] = 'Utilisation CPU';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Utilisation';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'Utilisation RAM';
|
$_ADDONLANG['Overview']['RAM'] = 'Utilisation RAM';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Utilisation de la bande passante';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Utilisation de la bande passante';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Espace disque';
|
$_ADDONLANG['Overview']['Disk'] = 'Espace disque';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Taille totale';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Taille totale';
|
||||||
$_ADDONLANG['General']['GB'] = 'Go';
|
$_ADDONLANG['Overview']['CPUUsage'] = 'Utilisation CPU';
|
||||||
$_ADDONLANG['General']['TB'] = 'To';
|
|
||||||
|
|
||||||
## Graphs
|
## Graphs
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'Utilisation CPU';
|
$_ADDONLANG['Graphs']['CPU'] = 'Utilisation CPU';
|
||||||
@@ -119,9 +87,6 @@ $_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'Autoriser uniq
|
|||||||
### Firewall
|
### Firewall
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Pare-feu';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Pare-feu';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Les règles sont évaluées de haut en bas. Par défaut, tout est autorisé. Le pare-feu n\'est disponible que sur l\'interface publique. Seul le trafic entrant sera filtré par le pare-feu.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Les règles sont évaluées de haut en bas. Par défaut, tout est autorisé. Le pare-feu n\'est disponible que sur l\'interface publique. Seul le trafic entrant sera filtré par le pare-feu.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Ajouter une nouvelle règle de pare-feu';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Règles de pare-feu actuelles';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Ajouter une règle';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Action';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Action';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Port';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Port';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocole';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocole';
|
||||||
|
|||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Verwendet';
|
|||||||
$_ADDONLANG['Start'] = 'Starten';
|
$_ADDONLANG['Start'] = 'Starten';
|
||||||
$_ADDONLANG['Stop'] = 'Stoppen';
|
$_ADDONLANG['Stop'] = 'Stoppen';
|
||||||
$_ADDONLANG['Restart'] = 'Neustart';
|
$_ADDONLANG['Restart'] = 'Neustart';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'VNC-Konsole';
|
||||||
$_ADDONLANG['General']['Note'] = 'Notiz';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Firewall-Regeln werden geladen...';
|
|
||||||
|
|
||||||
## Bestätigungen
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'VPS stoppen';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = 'Sind Sie sicher, dass Sie diesen VPS stoppen möchten? Dies wird den Server herunterfahren.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'VPS neustarten';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = 'Sind Sie sicher, dass Sie diesen VPS neustarten möchten? Dies wird den Server neu starten.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Abbrechen';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Bestätigen';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Backup erstellen';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Möchten Sie ein Backup erstellen. Dies kann mehrere Minuten dauern.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Backup löschen';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Möchten Sie dieses Backup löschen. Diese Aktion kann nicht rückgängig gemacht werden.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Backup wiederherstellen';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Möchten Sie dieses Backup wiederherstellen. Dies überschreibt alle aktuellen Daten und kann nicht rückgängig gemacht werden.';
|
|
||||||
|
|
||||||
## Navbar
|
## Navbar
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Übersicht';
|
$_ADDONLANG['Navbar']['Overview'] = 'Übersicht';
|
||||||
@@ -35,28 +19,12 @@ $_ADDONLANG['Navbar']['Backups'] = 'Sicherungen';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Einstellungen';
|
$_ADDONLANG['Navbar']['Settings'] = 'Einstellungen';
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Server-Informationen';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Hostname';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Status';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Betriebszeit';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Betriebssystem';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Standort';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Servertyp';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Ressourcenzuweisung';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'CPU-Kerne';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Arbeitsspeicher';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Speicher';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Traffic';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Schnellaktionen';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Ressourcennutzung';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'CPU-Auslastung';
|
$_ADDONLANG['Overview']['CPU'] = 'CPU-Auslastung';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Nutzung';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'RAM-Auslastung';
|
$_ADDONLANG['Overview']['RAM'] = 'RAM-Auslastung';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Bandbreite';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Bandbreiten-Nutzung';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Festplattenspeicher';
|
$_ADDONLANG['Overview']['Disk'] = 'Festplattenspeicher';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Gesamtgröße';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Gesamtgröße';
|
||||||
$_ADDONLANG['General']['GB'] = 'GB';
|
$_ADDONLANG['Overview']['CPUUsage'] = 'CPU-Nutzung';
|
||||||
$_ADDONLANG['General']['TB'] = 'TB';
|
|
||||||
|
|
||||||
## Graphs
|
## Graphs
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'CPU-Auslastung';
|
$_ADDONLANG['Graphs']['CPU'] = 'CPU-Auslastung';
|
||||||
@@ -119,9 +87,6 @@ $_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'Wenn aktiviert
|
|||||||
### Firewall
|
### Firewall
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Die Regeln werden von oben nach unten ausgewertet. Standardmäßig ist alles erlaubt. Die Firewall ist nur auf der öffentlichen Schnittstelle verfügbar. Nur der eingehende Verkehr wird von der Firewall gefiltert.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Die Regeln werden von oben nach unten ausgewertet. Standardmäßig ist alles erlaubt. Die Firewall ist nur auf der öffentlichen Schnittstelle verfügbar. Nur der eingehende Verkehr wird von der Firewall gefiltert.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Neue Firewall-Regel hinzufügen';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Aktuelle Firewall-Regeln';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Regel hinzufügen';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Aktion';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Aktion';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Port';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Port';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protokoll';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protokoll';
|
||||||
|
|||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Utilizzato';
|
|||||||
$_ADDONLANG['Start'] = 'Avvia';
|
$_ADDONLANG['Start'] = 'Avvia';
|
||||||
$_ADDONLANG['Stop'] = 'Ferma';
|
$_ADDONLANG['Stop'] = 'Ferma';
|
||||||
$_ADDONLANG['Restart'] = 'Riavvia';
|
$_ADDONLANG['Restart'] = 'Riavvia';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'Console VNC';
|
||||||
$_ADDONLANG['General']['Note'] = 'Nota';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Caricamento regole firewall...';
|
|
||||||
|
|
||||||
## Conferme
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'Ferma VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = 'Sei sicuro di voler fermare questo VPS? Questo spegnerà il server.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'Riavvia VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = 'Sei sicuro di voler riavviare questo VPS? Questo riavvierà il server.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Annulla';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Conferma';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Crea backup';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Vuoi creare un backup. Questo potrebbe richiedere diversi minuti.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Elimina backup';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Vuoi eliminare questo backup. Questa azione non può essere annullata.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Ripristina backup';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Vuoi ripristinare questo backup. Questo sovrascriverà tutti i dati attuali e non può essere annullato.';
|
|
||||||
|
|
||||||
## Navbar
|
## Navbar
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Panoramica';
|
$_ADDONLANG['Navbar']['Overview'] = 'Panoramica';
|
||||||
@@ -35,28 +19,12 @@ $_ADDONLANG['Navbar']['Backups'] = 'Backup';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Impostazioni';
|
$_ADDONLANG['Navbar']['Settings'] = 'Impostazioni';
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Informazioni Server';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Hostname';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Stato';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Tempo di attività';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Sistema Operativo';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Posizione';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Tipo di Server';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Allocazione Risorse';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'Core CPU';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Memoria';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Archiviazione';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Traffico';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Azioni Rapide';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Utilizzo Risorse';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'Utilizzo CPU';
|
$_ADDONLANG['Overview']['CPU'] = 'Utilizzo CPU';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Utilizzo';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'Utilizzo RAM';
|
$_ADDONLANG['Overview']['RAM'] = 'Utilizzo RAM';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Banda';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Utilizzo Banda';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Spazio Disco';
|
$_ADDONLANG['Overview']['Disk'] = 'Spazio Disco';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Dimensione Totale';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Dimensione Totale';
|
||||||
$_ADDONLANG['General']['GB'] = 'GB';
|
$_ADDONLANG['Overview']['CPUUsage'] = 'Utilizzo CPU';
|
||||||
$_ADDONLANG['General']['TB'] = 'TB';
|
|
||||||
|
|
||||||
## Graphs
|
## Graphs
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'Utilizzo CPU';
|
$_ADDONLANG['Graphs']['CPU'] = 'Utilizzo CPU';
|
||||||
@@ -119,9 +87,6 @@ $_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'Consenti solo
|
|||||||
### Firewall
|
### Firewall
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Le regole vengono valutate dall\'alto verso il basso. Per impostazione predefinita, tutto è consentito. Il firewall è disponibile solo sull\'interfaccia pubblica. Solo il traffico in entrata sarà filtrato dal firewall.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Le regole vengono valutate dall\'alto verso il basso. Per impostazione predefinita, tutto è consentito. Il firewall è disponibile solo sull\'interfaccia pubblica. Solo il traffico in entrata sarà filtrato dal firewall.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Aggiungi Nuova Regola Firewall';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Regole Firewall Attuali';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Aggiungi Regola';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Azione';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Azione';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Porta';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Porta';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocollo';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocollo';
|
||||||
|
|||||||
@@ -3,11 +3,10 @@
|
|||||||
* WHMCS Server Module - VPSAG
|
* WHMCS Server Module - VPSAG
|
||||||
*
|
*
|
||||||
* @package WHMCS
|
* @package WHMCS
|
||||||
* @copyright Copyright (c) ArkHost 2025
|
* @copyright Copyright (c) ArkHost 2024
|
||||||
* @author ArkHost <support@arkhost.com>
|
* @author ArkHost <support@arkhost.com>
|
||||||
* @link https://arkhost.com
|
* @link https://arkhost.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
http_response_code(403);
|
header('Location: https://arkhost.com');
|
||||||
exit('Access denied');
|
|
||||||
?>
|
?>
|
||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Utilizado';
|
|||||||
$_ADDONLANG['Start'] = 'Iniciar';
|
$_ADDONLANG['Start'] = 'Iniciar';
|
||||||
$_ADDONLANG['Stop'] = 'Parar';
|
$_ADDONLANG['Stop'] = 'Parar';
|
||||||
$_ADDONLANG['Restart'] = 'Reiniciar';
|
$_ADDONLANG['Restart'] = 'Reiniciar';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'Consola VNC';
|
||||||
$_ADDONLANG['General']['Note'] = 'Nota';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Carregando regras de firewall...';
|
|
||||||
|
|
||||||
## Confirmações
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'Parar VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = 'Tem certeza de que deseja parar este VPS? Isso desligará o servidor.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'Reiniciar VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = 'Tem certeza de que deseja reiniciar este VPS? Isso reiniciará o servidor.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Cancelar';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Confirmar';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Criar cópia de segurança';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Deseja criar uma cópia de segurança. Isto pode demorar vários minutos.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Eliminar cópia de segurança';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Deseja eliminar esta cópia de segurança. Esta ação não pode ser desfeita.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Restaurar cópia de segurança';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Deseja restaurar esta cópia de segurança. Isto substituirá todos os dados atuais e não pode ser desfeito.';
|
|
||||||
|
|
||||||
## Navbar
|
## Navbar
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Visão geral';
|
$_ADDONLANG['Navbar']['Overview'] = 'Visão geral';
|
||||||
@@ -35,28 +19,12 @@ $_ADDONLANG['Navbar']['Backups'] = 'Cópias de segurança';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Definições';
|
$_ADDONLANG['Navbar']['Settings'] = 'Definições';
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Informações do Servidor';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Nome do anfitrião';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Estado';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Tempo de atividade';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Sistema Operativo';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Localização';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Tipo de Servidor';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Alocação de Recursos';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'Núcleos CPU';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Memória';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Armazenamento';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Tráfego';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Ações Rápidas';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Utilização de Recursos';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'Utilização CPU';
|
$_ADDONLANG['Overview']['CPU'] = 'Utilização CPU';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Utilização';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'Utilização RAM';
|
$_ADDONLANG['Overview']['RAM'] = 'Utilização RAM';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Largura de banda';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Utilização de largura de banda';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Espaço em disco';
|
$_ADDONLANG['Overview']['Disk'] = 'Espaço em disco';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Tamanho total';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Tamanho total';
|
||||||
$_ADDONLANG['General']['GB'] = 'GB';
|
$_ADDONLANG['Overview']['CPUUsage'] = 'Utilização CPU';
|
||||||
$_ADDONLANG['General']['TB'] = 'TB';
|
|
||||||
|
|
||||||
## Graphs
|
## Graphs
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'Utilização CPU';
|
$_ADDONLANG['Graphs']['CPU'] = 'Utilização CPU';
|
||||||
@@ -119,9 +87,6 @@ $_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'Permitir apena
|
|||||||
### Firewall
|
### Firewall
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'As regras são avaliadas de cima para baixo. Por defeito, tudo é permitido. A firewall está apenas disponível na interface pública. Apenas o tráfego de entrada será filtrado pela firewall.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'As regras são avaliadas de cima para baixo. Por defeito, tudo é permitido. A firewall está apenas disponível na interface pública. Apenas o tráfego de entrada será filtrado pela firewall.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Adicionar Nova Regra de Firewall';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Regras de Firewall Atuais';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Adicionar Regra';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Ação';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Ação';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Porta';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Porta';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocolo';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocolo';
|
||||||
|
|||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Использовано';
|
|||||||
$_ADDONLANG['Start'] = 'Запуск';
|
$_ADDONLANG['Start'] = 'Запуск';
|
||||||
$_ADDONLANG['Stop'] = 'Остановка';
|
$_ADDONLANG['Stop'] = 'Остановка';
|
||||||
$_ADDONLANG['Restart'] = 'Перезапуск';
|
$_ADDONLANG['Restart'] = 'Перезапуск';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'Консоль VNC';
|
||||||
$_ADDONLANG['General']['Note'] = 'Примечание';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Загрузка правил файрвола...';
|
|
||||||
|
|
||||||
## Подтверждения
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'Остановить VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = 'Вы уверены, что хотите остановить этот VPS? Это выключит сервер.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'Перезапустить VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = 'Вы уверены, что хотите перезапустить этот VPS? Это перезагрузит сервер.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Отмена';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Подтвердить';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Создать резервную копию';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Хотите создать резервную копию. Это может занять несколько минут.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Удалить резервную копию';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Хотите удалить эту резервную копию. Это действие нельзя отменить.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Восстановить резервную копию';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Хотите восстановить эту резервную копию. Это перезапишет все текущие данные и не может быть отменено.';
|
|
||||||
|
|
||||||
## Навигационная панель
|
## Навигационная панель
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Обзор';
|
$_ADDONLANG['Navbar']['Overview'] = 'Обзор';
|
||||||
@@ -35,28 +19,11 @@ $_ADDONLANG['Navbar']['Backups'] = 'Резервные копии';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Настройки';
|
$_ADDONLANG['Navbar']['Settings'] = 'Настройки';
|
||||||
|
|
||||||
## Обзор
|
## Обзор
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Информация о сервере';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Имя хоста';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Статус';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Время работы';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Операционная система';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Местоположение';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Тип сервера';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Распределение ресурсов';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'Ядра ЦП';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Память';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Хранилище';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Трафик';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Быстрые действия';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Использование ресурсов';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'Использование ЦП';
|
$_ADDONLANG['Overview']['CPU'] = 'Использование ЦП';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Использование';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'Использование ОЗУ';
|
$_ADDONLANG['Overview']['RAM'] = 'Использование ОЗУ';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Пропускная способность';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Использование пропускной способности';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Дисковое пространство';
|
$_ADDONLANG['Overview']['Disk'] = 'Дисковое пространство';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Общий размер';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Общий размер';
|
||||||
$_ADDONLANG['General']['GB'] = 'ГБ';
|
|
||||||
$_ADDONLANG['General']['TB'] = 'ТБ';
|
|
||||||
|
|
||||||
## Графики
|
## Графики
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'Использование ЦП';
|
$_ADDONLANG['Graphs']['CPU'] = 'Использование ЦП';
|
||||||
@@ -68,7 +35,6 @@ $_ADDONLANG['Graphs']['Day'] = 'День';
|
|||||||
$_ADDONLANG['Graphs']['Week'] = 'Неделя';
|
$_ADDONLANG['Graphs']['Week'] = 'Неделя';
|
||||||
$_ADDONLANG['Graphs']['Month'] = 'Месяц';
|
$_ADDONLANG['Graphs']['Month'] = 'Месяц';
|
||||||
$_ADDONLANG['Graphs']['Year'] = 'Год';
|
$_ADDONLANG['Graphs']['Year'] = 'Год';
|
||||||
$_ADDONLANG['Graphs']['Loading'] = 'Загрузка графика...';
|
|
||||||
|
|
||||||
## Резервные копии
|
## Резервные копии
|
||||||
$_ADDONLANG['Backups']['Description'] = 'Ниже перечислены даты, на которые доступны резервные копии этого VPS. Вы можете восстановить или удалить их соответственно.';
|
$_ADDONLANG['Backups']['Description'] = 'Ниже перечислены даты, на которые доступны резервные копии этого VPS. Вы можете восстановить или удалить их соответственно.';
|
||||||
@@ -79,11 +45,6 @@ $_ADDONLANG['Backups']['Type'] = 'Тип';
|
|||||||
$_ADDONLANG['Backups']['Status'] = 'Статус';
|
$_ADDONLANG['Backups']['Status'] = 'Статус';
|
||||||
$_ADDONLANG['Backups']['Actions'] = 'Действия';
|
$_ADDONLANG['Backups']['Actions'] = 'Действия';
|
||||||
$_ADDONLANG['Backups']['Create'] = 'Создать резервную копию сейчас';
|
$_ADDONLANG['Backups']['Create'] = 'Создать резервную копию сейчас';
|
||||||
$_ADDONLANG['Backups']['Available'] = 'Доступна';
|
|
||||||
$_ADDONLANG['Backups']['Creating'] = 'Создание...';
|
|
||||||
$_ADDONLANG['Backups']['Error'] = 'Ошибка';
|
|
||||||
$_ADDONLANG['Backups']['Automatic'] = 'Автоматическая';
|
|
||||||
$_ADDONLANG['Backups']['Manual'] = 'Ручная';
|
|
||||||
|
|
||||||
## Настройки
|
## Настройки
|
||||||
### Имя хоста
|
### Имя хоста
|
||||||
@@ -109,19 +70,10 @@ $_ADDONLANG['Settings']['Reinstall']['Description'] = 'Пожалуйста, у
|
|||||||
$_ADDONLANG['Settings']['Reinstall']['OS'] = 'Операционная система';
|
$_ADDONLANG['Settings']['Reinstall']['OS'] = 'Операционная система';
|
||||||
$_ADDONLANG['Settings']['Reinstall']['Version'] = 'ВЫБЕРИТЕ ВЕРСИЮ';
|
$_ADDONLANG['Settings']['Reinstall']['Version'] = 'ВЫБЕРИТЕ ВЕРСИЮ';
|
||||||
$_ADDONLANG['Settings']['Reinstall']['Submit'] = 'Переустановить';
|
$_ADDONLANG['Settings']['Reinstall']['Submit'] = 'Переустановить';
|
||||||
$_ADDONLANG['Settings']['Reinstall']['SSHKey'] = 'Публичный SSH-ключ (необязательно)';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['SSHKeyDesc'] = 'Вставьте сюда свой публичный SSH-ключ (начинается с ssh-rsa, ssh-ed25519 и т.д.). Он будет автоматически добавлен в ~/.ssh/authorized_keys для входа без пароля.';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['PostScript'] = 'Скрипт после установки (необязательно)';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['PostScriptDesc'] = 'Введите bash-скрипт, который будет автоматически выполнен после завершения установки ОС. Полезно для установки пакетов, настройки служб или настройки вашей среды.';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['DisableSSHPassword'] = 'Отключить аутентификацию по паролю SSH';
|
|
||||||
$_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'Если включено, разрешена только аутентификация по SSH-ключу. Вход по паролю через SSH будет отключен для повышенной безопасности.';
|
|
||||||
|
|
||||||
### Файрвол
|
### Файрвол
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Файрвол';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Файрвол';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Правила оцениваются сверху вниз. По умолчанию разрешено все. Файрвол доступен только на публичном интерфейсе. Файрвол будет фильтровать только входящий трафик.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Правила оцениваются сверху вниз. По умолчанию разрешено все. Файрвол доступен только на публичном интерфейсе. Файрвол будет фильтровать только входящий трафик.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Добавить новое правило файрвола';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Текущие правила файрвола';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Добавить правило';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Действие';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Действие';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Порт';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Порт';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Протокол';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Протокол';
|
||||||
|
|||||||
@@ -10,23 +10,7 @@ $_ADDONLANG['Used'] = 'Usado';
|
|||||||
$_ADDONLANG['Start'] = 'Iniciar';
|
$_ADDONLANG['Start'] = 'Iniciar';
|
||||||
$_ADDONLANG['Stop'] = 'Detener';
|
$_ADDONLANG['Stop'] = 'Detener';
|
||||||
$_ADDONLANG['Restart'] = 'Reiniciar';
|
$_ADDONLANG['Restart'] = 'Reiniciar';
|
||||||
$_ADDONLANG['VNC'] = 'VNC';
|
$_ADDONLANG['VNC'] = 'Consola VNC';
|
||||||
$_ADDONLANG['General']['Note'] = 'Nota';
|
|
||||||
$_ADDONLANG['LoadingFirewallRules'] = 'Cargando reglas de firewall...';
|
|
||||||
|
|
||||||
## Confirmaciones
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Title'] = 'Detener VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Stop']['Message'] = '¿Está seguro de que desea detener este VPS? Esto apagará el servidor.';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Title'] = 'Reiniciar VPS';
|
|
||||||
$_ADDONLANG['Confirm']['Restart']['Message'] = '¿Está seguro de que desea reiniciar este VPS? Esto reiniciará el servidor.';
|
|
||||||
$_ADDONLANG['Confirm']['Cancel'] = 'Cancelar';
|
|
||||||
$_ADDONLANG['Confirm']['Confirm'] = 'Confirmar';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Title'] = 'Crear copia de seguridad';
|
|
||||||
$_ADDONLANG['Confirm']['CreateBackup']['Message'] = 'Desea crear una copia de seguridad. Esto puede tomar varios minutos.';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Title'] = 'Eliminar copia de seguridad';
|
|
||||||
$_ADDONLANG['Confirm']['DeleteBackup']['Message'] = 'Desea eliminar esta copia de seguridad. Esta acción no se puede deshacer.';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Title'] = 'Restaurar copia de seguridad';
|
|
||||||
$_ADDONLANG['Confirm']['RestoreBackup']['Message'] = 'Desea restaurar esta copia de seguridad. Esto sobrescribirá todos los datos actuales y no se puede deshacer.';
|
|
||||||
|
|
||||||
## Navbar
|
## Navbar
|
||||||
$_ADDONLANG['Navbar']['Overview'] = 'Resumen';
|
$_ADDONLANG['Navbar']['Overview'] = 'Resumen';
|
||||||
@@ -35,28 +19,12 @@ $_ADDONLANG['Navbar']['Backups'] = 'Copias de seguridad';
|
|||||||
$_ADDONLANG['Navbar']['Settings'] = 'Configuración';
|
$_ADDONLANG['Navbar']['Settings'] = 'Configuración';
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
$_ADDONLANG['Overview']['ServerInfo'] = 'Información del Servidor';
|
|
||||||
$_ADDONLANG['Overview']['Hostname'] = 'Nombre del host';
|
|
||||||
$_ADDONLANG['Overview']['Status'] = 'Estado';
|
|
||||||
$_ADDONLANG['Overview']['Uptime'] = 'Tiempo de actividad';
|
|
||||||
$_ADDONLANG['Overview']['OS'] = 'Sistema Operativo';
|
|
||||||
$_ADDONLANG['Overview']['Location'] = 'Ubicación';
|
|
||||||
$_ADDONLANG['Overview']['ServerType'] = 'Tipo de Servidor';
|
|
||||||
$_ADDONLANG['Overview']['ResourceAllocation'] = 'Asignación de Recursos';
|
|
||||||
$_ADDONLANG['Overview']['CPU_Cores'] = 'Núcleos de CPU';
|
|
||||||
$_ADDONLANG['Overview']['Memory'] = 'Memoria';
|
|
||||||
$_ADDONLANG['Overview']['Storage'] = 'Almacenamiento';
|
|
||||||
$_ADDONLANG['Overview']['Traffic'] = 'Tráfico';
|
|
||||||
$_ADDONLANG['Overview']['QuickActions'] = 'Acciones Rápidas';
|
|
||||||
$_ADDONLANG['Overview']['ResourceUsage'] = 'Uso de Recursos';
|
|
||||||
$_ADDONLANG['Overview']['CPU'] = 'Uso de CPU';
|
$_ADDONLANG['Overview']['CPU'] = 'Uso de CPU';
|
||||||
$_ADDONLANG['Overview']['CPUUsage'] = 'Uso';
|
|
||||||
$_ADDONLANG['Overview']['RAM'] = 'Uso de RAM';
|
$_ADDONLANG['Overview']['RAM'] = 'Uso de RAM';
|
||||||
$_ADDONLANG['Overview']['Bandwidth'] = 'Ancho de banda';
|
$_ADDONLANG['Overview']['Bandwidth'] = 'Uso de ancho de banda';
|
||||||
$_ADDONLANG['Overview']['Disk'] = 'Espacio en disco';
|
$_ADDONLANG['Overview']['Disk'] = 'Espacio en disco';
|
||||||
$_ADDONLANG['Overview']['DiskSize'] = 'Tamaño total';
|
$_ADDONLANG['Overview']['DiskSize'] = 'Tamaño total';
|
||||||
$_ADDONLANG['General']['GB'] = 'GB';
|
$_ADDONLANG['Overview']['CPUUsage'] = 'Uso de CPU';
|
||||||
$_ADDONLANG['General']['TB'] = 'TB';
|
|
||||||
|
|
||||||
## Graphs
|
## Graphs
|
||||||
$_ADDONLANG['Graphs']['CPU'] = 'Uso de CPU';
|
$_ADDONLANG['Graphs']['CPU'] = 'Uso de CPU';
|
||||||
@@ -119,9 +87,6 @@ $_ADDONLANG['Settings']['Reinstall']['DisableSSHPasswordDesc'] = 'Solo permitir
|
|||||||
### Firewall
|
### Firewall
|
||||||
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
$_ADDONLANG['Settings']['Firewall']['Title'] = 'Firewall';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Las reglas se evalúan de arriba hacia abajo. Por defecto, todo está permitido. El firewall solo está disponible en la interfaz pública. Solo el tráfico entrante será filtrado por el firewall.';
|
$_ADDONLANG['Settings']['Firewall']['Description'] = 'Las reglas se evalúan de arriba hacia abajo. Por defecto, todo está permitido. El firewall solo está disponible en la interfaz pública. Solo el tráfico entrante será filtrado por el firewall.';
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddNewRule'] = 'Agregar Nueva Regla de Firewall';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['CurrentRules'] = 'Reglas de Firewall Actuales';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['AddRule'] = 'Agregar Regla';
|
|
||||||
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Acción';
|
$_ADDONLANG['Settings']['Firewall']['Action'] = 'Acción';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Puerto';
|
$_ADDONLANG['Settings']['Firewall']['Port'] = 'Puerto';
|
||||||
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocolo';
|
$_ADDONLANG['Settings']['Firewall']['Protocol'] = 'Protocolo';
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -617,424 +617,3 @@ input[type=password] {
|
|||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ============================================
|
|
||||||
Enhanced Modern Styling
|
|
||||||
============================================ */
|
|
||||||
|
|
||||||
/* Card Styling */
|
|
||||||
.card {
|
|
||||||
border-radius: 12px !important;
|
|
||||||
border: 1px solid #e3e6f0 !important;
|
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card:hover {
|
|
||||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header {
|
|
||||||
border-radius: 12px 12px 0 0 !important;
|
|
||||||
background-color: #f8f9fa !important;
|
|
||||||
border-bottom: 1px solid #e3e6f0 !important;
|
|
||||||
padding: 12px 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-body {
|
|
||||||
padding: 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Enhanced Button Styles */
|
|
||||||
.btn {
|
|
||||||
border-radius: 12px !important;
|
|
||||||
font-weight: 500;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
padding: 10px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-success {
|
|
||||||
background: linear-gradient(135deg, #28a745 0%, #20c997 100%) !important;
|
|
||||||
border: none !important;
|
|
||||||
box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-success:hover {
|
|
||||||
background: linear-gradient(135deg, #218838 0%, #1aa179 100%) !important;
|
|
||||||
transform: translateY(-2px);
|
|
||||||
box-shadow: 0 4px 12px rgba(40, 167, 69, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary {
|
|
||||||
background: linear-gradient(135deg, #3c7fb4 0%, #2d5a87 100%) !important;
|
|
||||||
border: none !important;
|
|
||||||
box-shadow: 0 2px 8px rgba(60, 127, 180, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary:hover {
|
|
||||||
background: linear-gradient(135deg, #2d5a87 0%, #1e3a57 100%) !important;
|
|
||||||
transform: translateY(-2px);
|
|
||||||
box-shadow: 0 4px 12px rgba(60, 127, 180, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-danger {
|
|
||||||
background: linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important;
|
|
||||||
border: none !important;
|
|
||||||
box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-danger:hover {
|
|
||||||
background: linear-gradient(135deg, #c82333 0%, #bd2130 100%) !important;
|
|
||||||
transform: translateY(-2px);
|
|
||||||
box-shadow: 0 4px 12px rgba(220, 53, 69, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-lg {
|
|
||||||
padding: 12px 32px !important;
|
|
||||||
font-size: 16px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Improved submit-btn to match Hetzner style */
|
|
||||||
.submit-btn {
|
|
||||||
background: linear-gradient(135deg, #3c7fb4 0%, #2d5a87 100%) !important;
|
|
||||||
border: none !important;
|
|
||||||
border-radius: 12px !important;
|
|
||||||
color: #ffffff !important;
|
|
||||||
font-weight: 600 !important;
|
|
||||||
padding: 10px 20px !important;
|
|
||||||
transition: all 0.3s ease !important;
|
|
||||||
box-shadow: 0 2px 8px rgba(60, 127, 180, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.submit-btn:hover {
|
|
||||||
background: linear-gradient(135deg, #2d5a87 0%, #1e3a57 100%) !important;
|
|
||||||
color: #ffffff !important;
|
|
||||||
transform: translateY(-2px);
|
|
||||||
box-shadow: 0 4px 12px rgba(60, 127, 180, 0.4) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Table Styling */
|
|
||||||
.table {
|
|
||||||
border-collapse: separate;
|
|
||||||
border-spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table thead th {
|
|
||||||
border-bottom: 2px solid #dee2e6 !important;
|
|
||||||
color: #495057;
|
|
||||||
font-weight: 600;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 0.85rem;
|
|
||||||
letter-spacing: 0.5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-hover tbody tr {
|
|
||||||
transition: all 0.2s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-hover tbody tr:hover {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
transform: scale(1.01);
|
|
||||||
}
|
|
||||||
|
|
||||||
.thead-light th {
|
|
||||||
background-color: #f8f9fa !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Form Control Improvements */
|
|
||||||
.form-control {
|
|
||||||
border-radius: 8px !important;
|
|
||||||
border: 1px solid #ced4da !important;
|
|
||||||
transition: all 0.2s ease;
|
|
||||||
padding: 8px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control:focus {
|
|
||||||
border-color: #3c7fb4 !important;
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(60, 127, 180, 0.25) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Alert Styling */
|
|
||||||
.alert {
|
|
||||||
border-radius: 12px !important;
|
|
||||||
border: none !important;
|
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
|
||||||
}
|
|
||||||
|
|
||||||
.alert-info {
|
|
||||||
background: linear-gradient(135deg, #e7f3ff 0%, #d4e9ff 100%);
|
|
||||||
color: #004085;
|
|
||||||
}
|
|
||||||
|
|
||||||
.alert-warning {
|
|
||||||
background: linear-gradient(135deg, #fff3cd 0%, #ffe5a1 100%);
|
|
||||||
color: #856404;
|
|
||||||
}
|
|
||||||
|
|
||||||
.alert-success {
|
|
||||||
background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
|
|
||||||
color: #155724;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Firewall Specific Styles */
|
|
||||||
#firewall .card.border-primary {
|
|
||||||
border: 2px solid #3c7fb4 !important;
|
|
||||||
box-shadow: 0 4px 16px rgba(60, 127, 180, 0.15);
|
|
||||||
}
|
|
||||||
|
|
||||||
#firewall .card-header.bg-light {
|
|
||||||
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#firewall .card-header h6 {
|
|
||||||
margin: 0;
|
|
||||||
color: #2c3e50;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Delete Icon Styling */
|
|
||||||
.fa-trash {
|
|
||||||
transition: all 0.2s ease;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-trash:hover {
|
|
||||||
transform: scale(1.2);
|
|
||||||
color: #dc3545 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Loading Spinner */
|
|
||||||
.fa-spinner {
|
|
||||||
animation: spin 1s linear infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes spin {
|
|
||||||
0% { transform: rotate(0deg); }
|
|
||||||
100% { transform: rotate(360deg); }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Smooth transitions for tab content */
|
|
||||||
.tab-pane {
|
|
||||||
animation: fadeIn 0.3s ease-in;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes fadeIn {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(10px);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Nav tabs enhancement */
|
|
||||||
.nav-tabs .nav-link {
|
|
||||||
border-radius: 12px 12px 0 0 !important;
|
|
||||||
transition: all 0.2s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-tabs .nav-link:hover {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-tabs .nav-link.active {
|
|
||||||
background-color: #e9ecef !important;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icon improvements */
|
|
||||||
.fa, .fas, .far {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Small label styling */
|
|
||||||
label.small {
|
|
||||||
font-weight: 600;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 0.5px;
|
|
||||||
margin-bottom: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text center improvements */
|
|
||||||
.text-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Resource Box Styling */
|
|
||||||
.resource-box {
|
|
||||||
padding: 20px 10px;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resource-box:hover {
|
|
||||||
transform: translateY(-5px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.resource-box h3 {
|
|
||||||
color: #2c3e50;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resource-box .text-primary {
|
|
||||||
color: #3c7fb4 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resource-box .text-success {
|
|
||||||
color: #28a745 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resource-box .text-warning {
|
|
||||||
color: #ffc107 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resource-box .text-info {
|
|
||||||
color: #17a2b8 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Card Header Enhancement */
|
|
||||||
.card-header.bg-primary {
|
|
||||||
background: linear-gradient(135deg, #3c7fb4 0%, #2d5a87 100%) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header h5 {
|
|
||||||
margin: 0;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Table Enhancements */
|
|
||||||
.table-borderless td {
|
|
||||||
padding: 8px 12px;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-borderless code {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
padding: 4px 8px;
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 12px;
|
|
||||||
color: #e83e8c;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Usage Details Box Enhancement */
|
|
||||||
.usage-details {
|
|
||||||
border-radius: 12px !important;
|
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usage-details:hover {
|
|
||||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
|
|
||||||
transform: translateY(-2px);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* VPS Control Button Styles - Hetzner Style */
|
|
||||||
.vps-control-btn {
|
|
||||||
display: inline-flex !important;
|
|
||||||
align-items: center !important;
|
|
||||||
justify-content: center !important;
|
|
||||||
padding: 12px 24px !important;
|
|
||||||
border-radius: 25px !important;
|
|
||||||
margin: 8px 4px !important;
|
|
||||||
transition: all 0.3s ease !important;
|
|
||||||
text-decoration: none !important;
|
|
||||||
color: white !important;
|
|
||||||
font-size: 0.95rem !important;
|
|
||||||
font-weight: 600 !important;
|
|
||||||
min-height: 48px !important;
|
|
||||||
box-shadow: 0 3px 8px rgba(0,0,0,0.15) !important;
|
|
||||||
border: none !important;
|
|
||||||
position: relative !important;
|
|
||||||
overflow: hidden !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn:hover {
|
|
||||||
transform: translateY(-3px) !important;
|
|
||||||
box-shadow: 0 6px 16px rgba(0,0,0,0.2) !important;
|
|
||||||
text-decoration: none !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn:active {
|
|
||||||
transform: translateY(-1px) !important;
|
|
||||||
box-shadow: 0 3px 8px rgba(0,0,0,0.15) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.start-btn {
|
|
||||||
background: linear-gradient(45deg, #28a745, #34ce57) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.start-btn:hover {
|
|
||||||
background: linear-gradient(45deg, #218838, #28a745) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.stop-btn {
|
|
||||||
background: linear-gradient(45deg, #dc3545, #ff4757) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.stop-btn:hover {
|
|
||||||
background: linear-gradient(45deg, #c82333, #dc3545) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.restart-btn {
|
|
||||||
background: linear-gradient(45deg, #fd7e14, #ff9f43) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.restart-btn:hover {
|
|
||||||
background: linear-gradient(45deg, #e65100, #fd7e14) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.vnc-btn {
|
|
||||||
background: linear-gradient(45deg, #6f42c1, #8854d0) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.vnc-btn:hover {
|
|
||||||
background: linear-gradient(45deg, #5a32a3, #6f42c1) !important;
|
|
||||||
color: white !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn.vnc-btn img {
|
|
||||||
width: 20px !important;
|
|
||||||
height: 20px !important;
|
|
||||||
margin-right: 8px !important;
|
|
||||||
filter: brightness(0) invert(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.vps-control-btn i {
|
|
||||||
margin-right: 8px !important;
|
|
||||||
font-size: 1.1rem !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Mobile Responsive - Stack VPS Control Buttons Vertically */
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
.vps-control-btn {
|
|
||||||
display: block !important;
|
|
||||||
width: 100% !important;
|
|
||||||
margin: 8px 0 !important;
|
|
||||||
text-align: center !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Responsive padding */
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.card-body {
|
|
||||||
padding: 15px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-lg {
|
|
||||||
padding: 10px 24px !important;
|
|
||||||
font-size: 14px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resource-box {
|
|
||||||
padding: 15px 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-1040
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
|||||||
{**
|
{**
|
||||||
* VPSAG WHMCS Server Provisioning version 1.4
|
* VPSAG WHMCS Server Provisioning version 1.1
|
||||||
*
|
*
|
||||||
* @package WHMCS
|
* @package WHMCS
|
||||||
* @copyright ArkHost
|
* @copyright ArkHost
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 74 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 231 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 105 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 80 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 100 KiB |
Reference in New Issue
Block a user