Replace React/Vite frontend + Fastify API with a single PHP application. - Front controller router in public/index.php (clean URLs via .htaccess) - Session-based auth (no JWT) — register, login, verify email, forgot/reset password, logout - Stripe checkout sessions, billing portal, webhook handler (checkout.session.completed, subscription.updated/deleted) - License IP change via internal licensing server API - PHP classes: DB (PDO), Auth, Mailer (PHPMailer), StripeClient - Views: home, pricing, install, login, register, dashboard, verify-email, forgot-password, reset-password, 404 - Tailwind CSS via CDN — no build step required - Composer dependencies: stripe/stripe-php, phpmailer/phpmailer, vlucas/phpdotenv, ramsey/uuid - CSRF protection on all POST forms - PRG pattern with session flash messages Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
17 lines
840 B
PHP
17 lines
840 B
PHP
</main>
|
|
<footer class="border-t border-gray-800 bg-gray-950 py-10 mt-16">
|
|
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="flex flex-col md:flex-row justify-between items-center gap-4 text-sm text-gray-500">
|
|
<span>© <?= date('Y') ?> NixPanel. All rights reserved.</span>
|
|
<div class="flex gap-6">
|
|
<a href="/pricing" class="hover:text-gray-300 transition-colors">Pricing</a>
|
|
<a href="/install" class="hover:text-gray-300 transition-colors">Install</a>
|
|
<a href="https://docs.nixpanel.io" target="_blank" rel="noreferrer" class="hover:text-gray-300 transition-colors">Docs</a>
|
|
<a href="/login" class="hover:text-gray-300 transition-colors">Login</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|