[DEPLOY] Migrazione a subdomain nis2.certisource.it
Rimozione prefisso /nis2/ da tutti i path frontend e router: - index.php: basePath '' (da '/nis2') - api.js: baseUrl '/api' (da '/nis2/api') - Tutti i file HTML: path assoluti senza prefisso /nis2/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
92f9366ef4
commit
ba21534e6a
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Pannello Amministrazione - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
.admin-stats-grid {
|
||||
display: grid;
|
||||
@ -268,7 +268,7 @@
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="quick-links-grid">
|
||||
<a href="/nis2/admin/organizations.html" class="quick-link-card">
|
||||
<a href="/admin/organizations.html" class="quick-link-card">
|
||||
<div class="quick-link-icon">
|
||||
<svg viewBox="0 0 20 20" fill="currentColor"><path d="M4 4a2 2 0 012-2h8a2 2 0 012 2v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"/></svg>
|
||||
</div>
|
||||
@ -277,7 +277,7 @@
|
||||
<p>Visualizza e gestisci tutte le organizzazioni registrate sulla piattaforma.</p>
|
||||
</div>
|
||||
</a>
|
||||
<a href="/nis2/admin/users.html" class="quick-link-card">
|
||||
<a href="/admin/users.html" class="quick-link-card">
|
||||
<div class="quick-link-icon">
|
||||
<svg viewBox="0 0 20 20" fill="currentColor"><path d="M9 6a3 3 0 11-6 0 3 3 0 016 0zM17 6a3 3 0 11-6 0 3 3 0 016 0zM12.93 17c.046-.327.07-.66.07-1a6.97 6.97 0 00-1.5-4.33A5 5 0 0119 16v1h-6.07zM6 11a5 5 0 015 5v1H1v-1a5 5 0 015-5z"/></svg>
|
||||
</div>
|
||||
@ -293,9 +293,9 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
@ -308,12 +308,12 @@
|
||||
const me = await api.getMe();
|
||||
if (!me.success || !me.data || me.data.role !== 'super_admin') {
|
||||
showNotification('Accesso non autorizzato. Solo gli amministratori possono accedere a questa pagina.', 'error');
|
||||
setTimeout(() => { window.location.href = '/nis2/dashboard.html'; }, 1500);
|
||||
setTimeout(() => { window.location.href = '/dashboard.html'; }, 1500);
|
||||
return;
|
||||
}
|
||||
loadAdminStats();
|
||||
} catch (e) {
|
||||
window.location.href = '/nis2/dashboard.html';
|
||||
window.location.href = '/dashboard.html';
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Gestione Organizzazioni - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
.entity-type-badge {
|
||||
display: inline-flex;
|
||||
@ -111,7 +111,7 @@
|
||||
<div class="content-body">
|
||||
<!-- Breadcrumb -->
|
||||
<div class="admin-breadcrumb">
|
||||
<a href="/nis2/admin/index.html">Amministrazione</a>
|
||||
<a href="/admin/index.html">Amministrazione</a>
|
||||
<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/></svg>
|
||||
<span>Organizzazioni</span>
|
||||
</div>
|
||||
@ -128,9 +128,9 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
@ -145,12 +145,12 @@
|
||||
const me = await api.getMe();
|
||||
if (!me.success || !me.data || me.data.role !== 'super_admin') {
|
||||
showNotification('Accesso non autorizzato.', 'error');
|
||||
setTimeout(() => { window.location.href = '/nis2/dashboard.html'; }, 1500);
|
||||
setTimeout(() => { window.location.href = '/dashboard.html'; }, 1500);
|
||||
return;
|
||||
}
|
||||
loadOrganizations(1);
|
||||
} catch (e) {
|
||||
window.location.href = '/nis2/dashboard.html';
|
||||
window.location.href = '/dashboard.html';
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Gestione Utenti - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
.role-badge {
|
||||
display: inline-flex;
|
||||
@ -131,7 +131,7 @@
|
||||
<div class="content-body">
|
||||
<!-- Breadcrumb -->
|
||||
<div class="admin-breadcrumb">
|
||||
<a href="/nis2/admin/index.html">Amministrazione</a>
|
||||
<a href="/admin/index.html">Amministrazione</a>
|
||||
<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/></svg>
|
||||
<span>Utenti</span>
|
||||
</div>
|
||||
@ -148,9 +148,9 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
@ -165,12 +165,12 @@
|
||||
const me = await api.getMe();
|
||||
if (!me.success || !me.data || me.data.role !== 'super_admin') {
|
||||
showNotification('Accesso non autorizzato.', 'error');
|
||||
setTimeout(() => { window.location.href = '/nis2/dashboard.html'; }, 1500);
|
||||
setTimeout(() => { window.location.href = '/dashboard.html'; }, 1500);
|
||||
return;
|
||||
}
|
||||
loadUsers(1);
|
||||
} catch (e) {
|
||||
window.location.href = '/nis2/dashboard.html';
|
||||
window.location.href = '/dashboard.html';
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Inventario Asset - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
/* ── Stats Cards ────────────────────────────────────────── */
|
||||
.asset-stats {
|
||||
@ -348,10 +348,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Gestione Incidenti - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
/* ── Filters Bar ─────────────────────────────────────── */
|
||||
.filters-bar {
|
||||
@ -334,10 +334,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth & Init ──────────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>NIS2 Agile - Piattaforma Compliance NIS2</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
.landing { display: flex; flex-direction: column; min-height: 100vh; background: var(--gray-50, #f8fafc); }
|
||||
.landing-header { background: white; border-bottom: 1px solid #e2e8f0; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; }
|
||||
@ -33,8 +33,8 @@
|
||||
<header class="landing-header">
|
||||
<div class="landing-logo">NIS2 <span>Agile</span></div>
|
||||
<nav class="landing-nav">
|
||||
<a href="/nis2/login.html" class="btn-login">Accedi</a>
|
||||
<a href="/nis2/register.html" class="btn-register">Registrati</a>
|
||||
<a href="/login.html" class="btn-login">Accedi</a>
|
||||
<a href="/register.html" class="btn-register">Registrati</a>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
<div class="hero-content">
|
||||
<h1>Compliance <span>NIS2</span> semplificata</h1>
|
||||
<p>Piattaforma integrata per guidare la tua azienda alla conformita con la Direttiva NIS2 (EU 2022/2555). Gap analysis, risk assessment, gestione incidenti, policy e formazione - tutto in un unico strumento con AI integrata.</p>
|
||||
<a href="/nis2/register.html" class="cta">Inizia gratuitamente</a>
|
||||
<a href="/register.html" class="cta">Inizia gratuitamente</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* NIS2 Agile - Front Controller / Router
|
||||
*
|
||||
* Tutte le richieste API passano da qui.
|
||||
* URL Pattern: /nis2/api/{controller}/{action}/{id?}
|
||||
* URL Pattern: /api/{controller}/{action}/{id?}
|
||||
*/
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
@ -37,7 +37,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
$requestUri = $_SERVER['REQUEST_URI'] ?? '/';
|
||||
$basePath = '/nis2';
|
||||
$basePath = '';
|
||||
|
||||
$path = parse_url($requestUri, PHP_URL_PATH);
|
||||
$path = preg_replace("#^{$basePath}#", '', $path);
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
class NIS2API {
|
||||
constructor(baseUrl = '/nis2/api') {
|
||||
constructor(baseUrl = '/api') {
|
||||
this.baseUrl = baseUrl;
|
||||
this.token = localStorage.getItem('nis2_access_token');
|
||||
this.refreshToken = localStorage.getItem('nis2_refresh_token');
|
||||
@ -103,7 +103,7 @@ class NIS2API {
|
||||
logout() {
|
||||
this.post('/auth/logout', {}).catch(() => {});
|
||||
this.clearTokens();
|
||||
window.location.href = '/nis2/login.html';
|
||||
window.location.href = '/login.html';
|
||||
}
|
||||
|
||||
getMe() { return this.get('/auth/me'); }
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Policy - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
/* ── Policy Page Styles ──────────────────────────────────── */
|
||||
.filters-bar {
|
||||
@ -316,10 +316,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Audit e Report - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
/* ── Tab Navigation ─────────────────────────────────────── */
|
||||
.tab-nav {
|
||||
@ -405,10 +405,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Gestione Rischi - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
/* ── View Toggle ─────────────────────────────────────── */
|
||||
.view-toggle {
|
||||
@ -416,10 +416,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth & Init ──────────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Impostazioni - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
.settings-tabs {
|
||||
display: flex;
|
||||
@ -483,10 +483,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth check ───────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
@ -716,7 +716,7 @@
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await fetch('/nis2/api/auth/profile', {
|
||||
const response = await fetch('/api/auth/profile', {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@ -792,7 +792,7 @@
|
||||
btn.textContent = 'Aggiornamento...';
|
||||
|
||||
try {
|
||||
const response = await fetch('/nis2/api/auth/change-password', {
|
||||
const response = await fetch('/api/auth/change-password', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@ -809,7 +809,7 @@
|
||||
showNotification('Password modificata. Verrai disconnesso...', 'success');
|
||||
setTimeout(() => {
|
||||
api.clearTokens();
|
||||
window.location.href = '/nis2/login.html';
|
||||
window.location.href = '/login.html';
|
||||
}, 2000);
|
||||
} else {
|
||||
showNotification(result.message || 'Errore nel cambio password.', 'error');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Supply Chain - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
/* ── Supply Chain Page Styles ─────────────────────────── */
|
||||
.filters-bar {
|
||||
@ -457,10 +457,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Formazione - NIS2 Agile</title>
|
||||
<link rel="stylesheet" href="/nis2/css/style.css">
|
||||
<link rel="stylesheet" href="/css/style.css">
|
||||
<style>
|
||||
/* ── Tab Navigation ─────────────────────────────────────── */
|
||||
.tab-nav {
|
||||
@ -275,10 +275,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="/nis2/js/api.js"></script>
|
||||
<script src="/nis2/js/common.js"></script>
|
||||
<script src="/nis2/js/i18n.js"></script>
|
||||
<script src="/nis2/js/help.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/i18n.js"></script>
|
||||
<script src="/js/help.js"></script>
|
||||
<script>
|
||||
// ── Auth & Init ─────────────────────────────────────────
|
||||
if (!checkAuth()) throw new Error('Not authenticated');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user