build: Add products-config.php to the configuration files
This commit is contained in:
517
dist/config/products-config.php
vendored
Normal file
517
dist/config/products-config.php
vendored
Normal file
@@ -0,0 +1,517 @@
|
||||
<?php
|
||||
/**
|
||||
* HexaHost.de Produkt-Konfiguration
|
||||
*
|
||||
* Hier können Sie alle Preise und Produktinformationen zentral verwalten.
|
||||
* Nach Änderungen: npm run build && npm run deploy
|
||||
*
|
||||
* Verwendung in PHP-Seiten:
|
||||
* require_once 'config/products-config.php';
|
||||
* $packages = getProductPackages('vpc');
|
||||
*/
|
||||
|
||||
// ============================================================================
|
||||
// VIRTUAL PRIVATE CONTAINER (VPC)
|
||||
// ============================================================================
|
||||
$PRODUCTS['vpc'] = [
|
||||
'name' => 'Virtual Private Container',
|
||||
'short_name' => 'VPC',
|
||||
'description' => 'Effiziente LXC-Container auf Proxmox-Basis',
|
||||
'min_price' => '4,99',
|
||||
'page_title' => 'Virtual Private Container - Effiziente LXC Container | HexaHost.de',
|
||||
'page_description' => 'Virtual Private Container auf Proxmox LXC-Basis. Effiziente und preiswerte Container-Lösungen ab 4,99€/Monat bei HexaHost.de',
|
||||
'packages' => [
|
||||
'starter' => [
|
||||
'name' => 'VPC Starter',
|
||||
'price' => '4,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '1 vCore'],
|
||||
['label' => 'RAM', 'value' => '1 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '20 GB'],
|
||||
['label' => 'Traffic', 'value' => '1 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '1'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox LXC Container',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Backup inklusive',
|
||||
'24/7 Monitoring',
|
||||
],
|
||||
],
|
||||
'business' => [
|
||||
'name' => 'VPC Business',
|
||||
'price' => '9,99',
|
||||
'featured' => true,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '2 vCores'],
|
||||
['label' => 'RAM', 'value' => '4 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '80 GB'],
|
||||
['label' => 'Traffic', 'value' => '3 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '1'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox LXC Container',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Tägliches Backup',
|
||||
'24/7 Monitoring',
|
||||
'Snapshot-Funktion',
|
||||
],
|
||||
],
|
||||
'professional' => [
|
||||
'name' => 'VPC Professional',
|
||||
'price' => '19,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '4 vCores'],
|
||||
['label' => 'RAM', 'value' => '8 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '160 GB'],
|
||||
['label' => 'Traffic', 'value' => '5 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '2'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox LXC Container',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Stündliches Backup',
|
||||
'24/7 Monitoring',
|
||||
'Snapshot-Funktion',
|
||||
'Priority Support',
|
||||
],
|
||||
],
|
||||
'enterprise' => [
|
||||
'name' => 'VPC Enterprise',
|
||||
'price' => '39,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '8 vCores'],
|
||||
['label' => 'RAM', 'value' => '16 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '320 GB'],
|
||||
['label' => 'Traffic', 'value' => '10 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '3'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox LXC Container',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Stündliches Backup',
|
||||
'24/7 Monitoring',
|
||||
'Snapshot-Funktion',
|
||||
'Priority Support',
|
||||
'Individuelle Konfiguration',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// VIRTUAL PRIVATE SERVER (VPS)
|
||||
// ============================================================================
|
||||
$PRODUCTS['vps'] = [
|
||||
'name' => 'Virtual Private Server',
|
||||
'short_name' => 'VPS',
|
||||
'description' => 'Vollwertige KVM-Virtualisierung mit Root-Zugriff',
|
||||
'min_price' => '9,99',
|
||||
'page_title' => 'Virtual Private Server - KVM Virtualisierung | HexaHost.de',
|
||||
'page_description' => 'Virtual Private Server auf Proxmox KVM-Basis. Vollwertige Virtualisierung mit Root-Zugriff ab 9,99€/Monat bei HexaHost.de',
|
||||
'packages' => [
|
||||
'starter' => [
|
||||
'name' => 'VPS Starter',
|
||||
'price' => '9,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '1 vCore'],
|
||||
['label' => 'RAM', 'value' => '2 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '40 GB'],
|
||||
['label' => 'Traffic', 'value' => '2 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '1'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox KVM Virtualisierung',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Backup inklusive',
|
||||
'24/7 Monitoring',
|
||||
],
|
||||
],
|
||||
'business' => [
|
||||
'name' => 'VPS Business',
|
||||
'price' => '19,99',
|
||||
'featured' => true,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '2 vCores'],
|
||||
['label' => 'RAM', 'value' => '4 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '80 GB'],
|
||||
['label' => 'Traffic', 'value' => '4 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '1'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox KVM Virtualisierung',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Tägliches Backup',
|
||||
'24/7 Monitoring',
|
||||
'Snapshot-Funktion',
|
||||
],
|
||||
],
|
||||
'professional' => [
|
||||
'name' => 'VPS Professional',
|
||||
'price' => '39,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '4 vCores'],
|
||||
['label' => 'RAM', 'value' => '8 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '160 GB'],
|
||||
['label' => 'Traffic', 'value' => '8 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '2'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox KVM Virtualisierung',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Stündliches Backup',
|
||||
'24/7 Monitoring',
|
||||
'Snapshot-Funktion',
|
||||
'Priority Support',
|
||||
],
|
||||
],
|
||||
'enterprise' => [
|
||||
'name' => 'VPS Enterprise',
|
||||
'price' => '79,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'CPU Kerne', 'value' => '8 vCores'],
|
||||
['label' => 'RAM', 'value' => '16 GB'],
|
||||
['label' => 'SSD Speicher', 'value' => '320 GB'],
|
||||
['label' => 'Traffic', 'value' => '15 TB'],
|
||||
['label' => 'IPv4 Adressen', 'value' => '3'],
|
||||
],
|
||||
'features' => [
|
||||
'Proxmox KVM Virtualisierung',
|
||||
'Root-Zugriff',
|
||||
'SSH-Zugang',
|
||||
'Stündliches Backup',
|
||||
'24/7 Monitoring',
|
||||
'Snapshot-Funktion',
|
||||
'Priority Support',
|
||||
'Individuelle Konfiguration',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// MAIL GATEWAY
|
||||
// ============================================================================
|
||||
$PRODUCTS['mail-gateway'] = [
|
||||
'name' => 'Mail Gateway',
|
||||
'short_name' => 'Mail',
|
||||
'description' => 'Professioneller E-Mail-Schutz für Unternehmen',
|
||||
'min_price' => '4,99',
|
||||
'page_title' => 'Mail Gateway - Professionelle E-Mail-Lösungen | HexaHost.de',
|
||||
'page_description' => 'Professionelle Mail Gateway Lösungen für Unternehmen. Spam-Schutz, E-Mail-Archivierung und sichere E-Mail-Kommunikation bei HexaHost.de',
|
||||
'packages' => [
|
||||
'starter' => [
|
||||
'name' => 'Mail Starter',
|
||||
'price' => '4,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'Postfächer', 'value' => '5'],
|
||||
['label' => 'Speicher/Postfach', 'value' => '5 GB'],
|
||||
['label' => 'Domains', 'value' => '1'],
|
||||
['label' => 'E-Mails/Tag', 'value' => '500'],
|
||||
],
|
||||
'features' => [
|
||||
'Spam-Filter',
|
||||
'Virus-Schutz',
|
||||
'Webmail',
|
||||
'IMAP/POP3',
|
||||
'SSL/TLS Verschlüsselung',
|
||||
],
|
||||
],
|
||||
'business' => [
|
||||
'name' => 'Mail Business',
|
||||
'price' => '14,99',
|
||||
'featured' => true,
|
||||
'specs' => [
|
||||
['label' => 'Postfächer', 'value' => '25'],
|
||||
['label' => 'Speicher/Postfach', 'value' => '10 GB'],
|
||||
['label' => 'Domains', 'value' => '3'],
|
||||
['label' => 'E-Mails/Tag', 'value' => '2.000'],
|
||||
],
|
||||
'features' => [
|
||||
'Spam-Filter (erweitert)',
|
||||
'Virus-Schutz',
|
||||
'Webmail',
|
||||
'IMAP/POP3',
|
||||
'SSL/TLS Verschlüsselung',
|
||||
'E-Mail Archivierung (30 Tage)',
|
||||
'Kalender & Kontakte',
|
||||
],
|
||||
],
|
||||
'professional' => [
|
||||
'name' => 'Mail Professional',
|
||||
'price' => '29,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'Postfächer', 'value' => '100'],
|
||||
['label' => 'Speicher/Postfach', 'value' => '25 GB'],
|
||||
['label' => 'Domains', 'value' => '10'],
|
||||
['label' => 'E-Mails/Tag', 'value' => '10.000'],
|
||||
],
|
||||
'features' => [
|
||||
'Spam-Filter (KI-gestützt)',
|
||||
'Virus-Schutz',
|
||||
'Webmail',
|
||||
'IMAP/POP3',
|
||||
'SSL/TLS Verschlüsselung',
|
||||
'E-Mail Archivierung (1 Jahr)',
|
||||
'Kalender & Kontakte',
|
||||
'ActiveSync für Mobile',
|
||||
],
|
||||
],
|
||||
'enterprise' => [
|
||||
'name' => 'Mail Enterprise',
|
||||
'price' => '59,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'Postfächer', 'value' => 'Unbegrenzt'],
|
||||
['label' => 'Speicher/Postfach', 'value' => '50 GB'],
|
||||
['label' => 'Domains', 'value' => 'Unbegrenzt'],
|
||||
['label' => 'E-Mails/Tag', 'value' => 'Unbegrenzt'],
|
||||
],
|
||||
'features' => [
|
||||
'Spam-Filter (KI-gestützt)',
|
||||
'Virus-Schutz',
|
||||
'Webmail',
|
||||
'IMAP/POP3',
|
||||
'SSL/TLS Verschlüsselung',
|
||||
'E-Mail Archivierung (10 Jahre)',
|
||||
'Kalender & Kontakte',
|
||||
'ActiveSync für Mobile',
|
||||
'Dedizierte IP',
|
||||
'Priority Support',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// WEBHOSTING
|
||||
// ============================================================================
|
||||
$PRODUCTS['webhosting'] = [
|
||||
'name' => 'Webhosting',
|
||||
'short_name' => 'Webhosting',
|
||||
'description' => 'Klassisches Hosting mit PHP, MySQL und SSL',
|
||||
'min_price' => '1,99',
|
||||
'page_title' => 'Webhosting - Klassisches Hosting für Websites | HexaHost.de',
|
||||
'page_description' => 'Webhosting mit PHP, MySQL und SSL-Zertifikaten. Klassisches Hosting für Websites ab 1,99€/Monat bei HexaHost.de',
|
||||
'packages' => [
|
||||
'starter' => [
|
||||
'name' => 'Webhosting Starter',
|
||||
'price' => '1,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'Webspace', 'value' => '5 GB'],
|
||||
['label' => 'Domains', 'value' => '1'],
|
||||
['label' => 'E-Mail-Postfächer', 'value' => '5'],
|
||||
['label' => 'Datenbanken', 'value' => '1 MySQL'],
|
||||
['label' => 'Traffic', 'value' => '10 GB'],
|
||||
],
|
||||
'features' => [
|
||||
'cPanel/Webmin',
|
||||
'PHP 8.1',
|
||||
'SSL-Zertifikat',
|
||||
'E-Mail-Postfächer',
|
||||
'MySQL Datenbank',
|
||||
],
|
||||
],
|
||||
'business' => [
|
||||
'name' => 'Webhosting Business',
|
||||
'price' => '4,99',
|
||||
'featured' => true,
|
||||
'specs' => [
|
||||
['label' => 'Webspace', 'value' => '20 GB'],
|
||||
['label' => 'Domains', 'value' => '5'],
|
||||
['label' => 'E-Mail-Postfächer', 'value' => '25'],
|
||||
['label' => 'Datenbanken', 'value' => '5 MySQL'],
|
||||
['label' => 'Traffic', 'value' => '50 GB'],
|
||||
],
|
||||
'features' => [
|
||||
'cPanel/Webmin',
|
||||
'PHP 8.1',
|
||||
'SSL-Zertifikat',
|
||||
'E-Mail-Postfächer',
|
||||
'MySQL Datenbanken',
|
||||
'Backup-Service',
|
||||
],
|
||||
],
|
||||
'professional' => [
|
||||
'name' => 'Webhosting Professional',
|
||||
'price' => '9,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'Webspace', 'value' => '50 GB'],
|
||||
['label' => 'Domains', 'value' => 'Unbegrenzt'],
|
||||
['label' => 'E-Mail-Postfächer', 'value' => '100'],
|
||||
['label' => 'Datenbanken', 'value' => 'Unbegrenzt'],
|
||||
['label' => 'Traffic', 'value' => '200 GB'],
|
||||
],
|
||||
'features' => [
|
||||
'cPanel/Webmin',
|
||||
'PHP 8.1',
|
||||
'SSL-Zertifikat',
|
||||
'E-Mail-Postfächer',
|
||||
'MySQL Datenbanken',
|
||||
'Backup-Service',
|
||||
'Priority Support',
|
||||
],
|
||||
],
|
||||
'enterprise' => [
|
||||
'name' => 'Webhosting Enterprise',
|
||||
'price' => '19,99',
|
||||
'featured' => false,
|
||||
'specs' => [
|
||||
['label' => 'Webspace', 'value' => '100 GB'],
|
||||
['label' => 'Domains', 'value' => 'Unbegrenzt'],
|
||||
['label' => 'E-Mail-Postfächer', 'value' => 'Unbegrenzt'],
|
||||
['label' => 'Datenbanken', 'value' => 'Unbegrenzt'],
|
||||
['label' => 'Traffic', 'value' => '500 GB'],
|
||||
],
|
||||
'features' => [
|
||||
'cPanel/Webmin',
|
||||
'PHP 8.1',
|
||||
'SSL-Zertifikat',
|
||||
'E-Mail-Postfächer',
|
||||
'MySQL Datenbanken',
|
||||
'Backup-Service',
|
||||
'Priority Support',
|
||||
'Individuelle Konfiguration',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// HILFSFUNKTIONEN
|
||||
// ============================================================================
|
||||
|
||||
/**
|
||||
* Alle Produkte abrufen
|
||||
*/
|
||||
function getAllProducts() {
|
||||
global $PRODUCTS;
|
||||
return $PRODUCTS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ein Produkt abrufen
|
||||
*/
|
||||
function getProduct($productId) {
|
||||
global $PRODUCTS;
|
||||
return $PRODUCTS[$productId] ?? null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alle Pakete eines Produkts abrufen
|
||||
*/
|
||||
function getProductPackages($productId) {
|
||||
global $PRODUCTS;
|
||||
return $PRODUCTS[$productId]['packages'] ?? [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Ein bestimmtes Paket abrufen
|
||||
*/
|
||||
function getPackage($productId, $packageId) {
|
||||
global $PRODUCTS;
|
||||
return $PRODUCTS[$productId]['packages'][$packageId] ?? null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Preis eines Pakets abrufen
|
||||
*/
|
||||
function getPackagePrice($productId, $packageId) {
|
||||
$package = getPackage($productId, $packageId);
|
||||
return $package['price'] ?? null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Minimalen Preis eines Produkts abrufen
|
||||
*/
|
||||
function getMinPrice($productId) {
|
||||
global $PRODUCTS;
|
||||
return $PRODUCTS[$productId]['min_price'] ?? null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Preis formatiert ausgeben
|
||||
*/
|
||||
function formatPrice($price, $withCurrency = true) {
|
||||
return $withCurrency ? $price . '€' : $price;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert HTML für eine Paket-Karte
|
||||
*/
|
||||
function renderPackageCard($productId, $packageId, $package) {
|
||||
$featuredClass = $package['featured'] ? ' featured' : '';
|
||||
$featuredBadge = $package['featured'] ? '<div class="featured-badge">Beliebt</div>' : '';
|
||||
|
||||
$specsHtml = '';
|
||||
foreach ($package['specs'] as $spec) {
|
||||
$specsHtml .= sprintf(
|
||||
'<div class="spec-item"><span class="spec-label">%s:</span><span class="spec-value">%s</span></div>',
|
||||
htmlspecialchars($spec['label']),
|
||||
htmlspecialchars($spec['value'])
|
||||
);
|
||||
}
|
||||
|
||||
$featuresHtml = '';
|
||||
foreach ($package['features'] as $feature) {
|
||||
$featuresHtml .= sprintf('<div class="feature">✓ %s</div>', htmlspecialchars($feature));
|
||||
}
|
||||
|
||||
return sprintf('
|
||||
<div class="package-card glass-card%s">
|
||||
%s
|
||||
<div class="package-header">
|
||||
<h3 class="package-name">%s</h3>
|
||||
<div class="package-price">
|
||||
<span class="price">%s€</span>
|
||||
<span class="period">/Monat</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="package-specs">
|
||||
%s
|
||||
</div>
|
||||
<div class="package-features">
|
||||
%s
|
||||
</div>
|
||||
<a href="contact.php?package=%s-%s" class="btn btn-primary">Jetzt bestellen</a>
|
||||
</div>',
|
||||
$featuredClass,
|
||||
$featuredBadge,
|
||||
htmlspecialchars($package['name']),
|
||||
$package['price'],
|
||||
$specsHtml,
|
||||
$featuresHtml,
|
||||
$productId,
|
||||
$packageId
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert HTML für alle Pakete eines Produkts
|
||||
*/
|
||||
function renderAllPackages($productId) {
|
||||
$packages = getProductPackages($productId);
|
||||
$html = '';
|
||||
foreach ($packages as $packageId => $package) {
|
||||
$html .= renderPackageCard($productId, $packageId, $package);
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user