Browse Source

Merge TITLES and DESCRIPTIONS into PAGES

Miraty 2 years ago
parent
commit
c65dedf9de
4 changed files with 160 additions and 105 deletions
  1. 3 3
      fn/common.php
  2. 141 86
      pages.php
  3. 8 8
      pages/index.php
  4. 8 8
      router.php

+ 3 - 3
fn/common.php

@@ -91,12 +91,12 @@ function query($action, $table, $conditions = [], $column = NULL) {
 function displayIndex() { ?>
 <nav>
 	<dl>
-<?php foreach (DESCRIPTIONS[SERVICE] as $pageId => $pageDesc) {
+<?php foreach (PAGES[SERVICE] as $pageId => $page) {
 	if ($pageId === 'index') continue;
 ?>
-		<dt><a href="<?= $pageId ?>"><?= TITLES[SERVICE][$pageId] ?></a></dt>
+		<dt><a href="<?= $pageId ?>"><?= $page['title'] ?></a></dt>
 		<dd>
-			<?= $pageDesc ?>
+			<?= $page['description'] ?>
 		</dd>
 <?php } ?>
 	</dl>

+ 141 - 86
pages.php

@@ -1,92 +1,147 @@
 <?php
 
-define('TITLES', [
-		'index' => '<span aria-hidden="true">🪐 </span>Niver',
-		'auth' => [
-			'index' => '<span aria-hidden="true">🔐 </span>Authentification',
-			'login' => 'Se connecter',
-			'register' => 'Créer un compte',
-			'unregister' => 'Supprimer son compte',
-			'password' => 'Changer la clé de passe',
-			'logout' => 'Déconnexion',
-		],
-		'reg' => [
-			'index' => '<span aria-hidden="true">🏷️ </span>Registre <code>' . CONF['reg']['registry'] . '</code>',
-			'register' => 'Enregistrer un nouveau domaine',
-			'unregister' => 'Effacer un domaine',
-			'print' => 'Afficher les données',
-			'ns' => 'Ajouter un enregistrement <abbr title="Name Server">NS</abbr>',
-			'ds' => 'Ajouter un enregistrement <abbr title="Delegation Signer">DS</abbr>',
-			'glue' => 'Créer un Glue Record',
+define('PAGES', [
+	'index' => [
+		'title' => '<span aria-hidden="true">🪐 </span>Niver',
+	],
+	'auth' => [
+		'index' => [
+			'title' => '<span aria-hidden="true">🔐 </span>Authentification',
+			'description' => 'Gérer son compte',
+		],
+		'login' => [
+			'title' => 'Se connecter',
+			'description' => 'Démarrer une nouvelle session avec un compte existant',
+		],
+		'register' => [
+			'title' => 'Créer un compte',
+			'description' => 'Créer un nouveau compte Niver',
+		],
+		'unregister' => [
+			'title' => 'Supprimer son compte',
+			'description' => 'Effacer les données liées à son compte',
+		],
+		'password' => [
+			'title' => 'Changer la clé de passe',
+			'description' => 'Changer la chaîne de caractères permettant de vous authentifier.',
+		],
+		'logout' => [
+			'title' => 'Déconnexion',
+			'description' => 'Terminer la session et effacer ses cookies',
+		],
+	],
+	'reg' => [
+		'index' => [
+			'title' => '<span aria-hidden="true">🏷️ </span>Registre <code>' . CONF['reg']['registry'] . '</code>',
+			'description' => 'Demander l\'attribution d\'un sous-domaine',
+		],
+		'register' => [
+			'title' => 'Enregistrer un nouveau domaine',
+			'description' => 'Prendre possession d\'un sous-domaine de <code>' . CONF['reg']['registry'] . '</code>',
+		],
+		'unregister' => [
+			'title' => 'Effacer un domaine',
+			'description' => 'Effacer toutes les données d\'un domaine',
+		],
+		'print' => [
+			'title' => 'Afficher les données',
+			'description' => 'Afficher les enregistrements relatifs à un domaine',
 		],
 		'ns' => [
-			'index' => '<span aria-hidden="true">📖 </span>Serveurs de noms',
-			'zone-add' => 'Ajouter une zone',
-			'zone-del' => 'Effacer une zone',
-			'print' => 'Afficher les données',
-			'ip' => 'Enregistrements A et AAAA',
-			'ns' => 'Enregistrement <abbr title="Name Server">NS</abbr>',
-			'txt' => 'Enregistrement <abbr title="TeXT">TXT</abbr>',
-			'caa' => 'Enregistrement <abbr title="Certification Authority Authorization">CAA</abbr>',
-			'srv' => 'Enregistrement <abbr title="SeRVice">SRV</abbr>',
-			'mx' => 'Enregistrement <abbr title="Mail eXchanger">MX</abbr>',
-			'sshfp' => 'Enregistrement <abbr title="Secure SHell FingerPrint">SSHFP</abbr>',
-			'tlsa' => 'Enregistrement <abbr title="Transport Layer Security Association">TLSA</abbr>',
-			'cname' => 'Enregistrement <abbr title="Canonical NAME">CNAME</abbr>',
-			'dname' => 'Enregistrement <abbr title="Delegation NAME">DNAME</abbr>',
-			'loc' => 'Enregistrement <abbr title="LOCation">LOC</abbr>',
-		],
-		'ht' => [
-			'index' => '<span aria-hidden="true">🕸️ </span>Hypertexte',
-			'add-http-onion' => 'Ajouter un accès HTTP par Onion',
-			'add-http-dns' => 'Ajouter un accès HTTP par DNS+TLS',
-			'del-http-onion' => 'Retirer un accès HTTP par Onion',
-			'del-http-dns' => 'Retirer un accès HTTP par DNS+TLS',
-		],
-	]
-);
-
-define('DESCRIPTIONS', [
-		'auth' => [
-			'index' => 'Gérer son compte',
-			'login' => 'Démarrer une nouvelle session avec un compte existant',
-			'register' => 'Créer un nouveau compte Niver',
-			'unregister' => 'Effacer les données liées à son compte',
-			'password' => 'Changer la chaîne de caractères permettant de vous authentifier.',
-			'logout' => 'Terminer la session et effacer ses cookies',
-		],
-		'reg' => [
-			'index' => 'Demander l\'attribution d\'un sous-domaine',
-			'register' => 'Prendre possession d\'un sous-domaine de <code>' . CONF['reg']['registry'] . '</code>',
-			'unregister' => 'Effacer toutes les données d\'un domaine',
-			'print' => 'Afficher les enregistrements relatifs à un domaine',
-			'ns' => 'Indiquer les serveurs de noms de son sous-domaine de <code>' . CONF['reg']['registry'] . '</code>',
-			'ds' => 'Déléguer la confiance <abbr title="Domain Name System Security Extensions">DNSSEC</abbr>',
-			'glue' => 'Indiquer les IP de ses serveurs de noms de son sous-domaine de <code>' . CONF['reg']['registry'] . '</code> dont les adresses se trouvent sur ce même sous-domaine',
+			'title' => 'Ajouter un enregistrement <abbr title="Name Server">NS</abbr>',
+			'description' => 'Indiquer les serveurs de noms de son sous-domaine de <code>' . CONF['reg']['registry'] . '</code>',
+		],
+		'ds' => [
+			'title' => 'Ajouter un enregistrement <abbr title="Delegation Signer">DS</abbr>',
+			'description' => 'Déléguer la confiance <abbr title="Domain Name System Security Extensions">DNSSEC</abbr>',
+		],
+		'glue' => [
+			'title' => 'Créer un Glue Record',
+			'description' => 'Indiquer les IP de ses serveurs de noms de son sous-domaine de <code>' . CONF['reg']['registry'] . '</code> dont les adresses se trouvent sur ce même sous-domaine',
+		],
+	],
+	'ns' => [
+		'index' => [
+			'title' => '<span aria-hidden="true">📖 </span>Serveurs de noms',
+			'description' => 'Gérer les données enregistrées dans ses domaines',
+		],
+		'zone-add' => [
+			'title' => 'Ajouter une zone',
+			'description' => 'Pour qu\'elle soit gérée par le serveur de noms de Niver',
+		],
+		'zone-del' => [
+			'title' => 'Effacer une zone',
+			'description' => 'Effacer toutes les données d\'une zone',
+		],
+		'print' => [
+			'title' => 'Afficher les données',
+			'description' => 'Afficher le contenu de la zone',
+		],
+		'ip' => [
+			'title' => 'Enregistrements A et AAAA',
+			'description' => 'Indiquer l\'adresse IP d\'un domaine',
 		],
 		'ns' => [
-			'index' => 'Gérer les données enregistrées dans ses domaines',
-			'zone-add' => 'Pour qu\'elle soit gérée par le serveur de noms de Niver',
-			'zone-del' => 'Effacer toutes les données d\'une zone',
-			'print' => 'Afficher le contenu de la zone',
-			'ip' => 'Indiquer l\'adresse IP d\'un domaine',
-			'ns' => 'Indiquer le serveur de noms d\'une zone',
-			'txt' => 'Associer du texte à un domaine',
-			'caa' => 'Limiter les autorités de certification autorisées à émettre des certificats',
-			'srv' => 'Indiquer l\'adresse d\'un service spécifique',
-			'mx' => 'Indiquer l\'adresse du serveur recevant les courriels',
-			'sshfp' => 'Indiquer les empreintes des clés <abbr title="Secure SHell">SSH</abbr>',
-			'tlsa' => 'Mettre en place <abbr title="DNS-based Authentication of Named Entities">DANE</abbr> en indiquant l\'empreinte d\'un certificat <abbr title="Transport Layer Security">TLS</abbr>',
-			'cname' => 'Définir un domaine comme étant l\'alias d\'un autre',
-			'dname' => 'Définir les sous-domaines d\'un domaine comme étant les alias des sous-domaines d\'un autre domaine',
-			'loc' => 'Indiquer des coordonnées géographiques',
-		],
-		'ht' => [
-			'index' => 'Mettre en ligne son site statique sur un espace <abbr title="SSH File Transfert Protocol">SFTP</abbr>, et le faire répondre en <abbr title="HyperText Transfert Protocol">HTTP</abbr> par DNS ou Tor',
-			'add-http-onion' => 'Ajouter un accès HTTP par ' . linkToDocs('tor', 'service Onion') . ' sur un sous-dossier de l\'espace SFTP',
-			'add-http-dns' => 'Ajouter un accès HTTP par ' . linkToDocs('dns', 'DNS') . ' et ' . linkToDocs('tls', 'TLS') . ' sur un sous-dossier de l\'espace SFTP',
-			'del-http-onion' => 'Retirer un accès HTTP par service Onion d\'un sous-dossier de l\'espace SFTP',
-			'del-http-dns' => 'Retirer un accès HTTP par DNS et TLS d\'un sous-dossier de l\'espace SFTP',
-		],
-	]
-);
+			'title' => 'Enregistrement <abbr title="Name Server">NS</abbr>',
+			'description' => 'Indiquer le serveur de noms d\'une zone',
+		],
+		'txt' => [
+			'title' => 'Enregistrement <abbr title="TeXT">TXT</abbr>',
+			'description' => 'Associer du texte à un domaine',
+		],
+		'caa' => [
+			'title' => 'Enregistrement <abbr title="Certification Authority Authorization">CAA</abbr>',
+			'description' => 'Limiter les autorités de certification autorisées à émettre des certificats',
+		],
+		'srv' => [
+			'title' => 'Enregistrement <abbr title="SeRVice">SRV</abbr>',
+			'description' => 'Indiquer l\'adresse d\'un service spécifique',
+		],
+		'mx' => [
+			'title' => 'Enregistrement <abbr title="Mail eXchanger">MX</abbr>',
+			'description' => 'Indiquer l\'adresse du serveur recevant les courriels',
+		],
+		'sshfp' => [
+			'title' => 'Enregistrement <abbr title="Secure SHell FingerPrint">SSHFP</abbr>',
+			'description' => 'Indiquer les empreintes des clés <abbr title="Secure SHell">SSH</abbr>',
+		],
+		'tlsa' => [
+			'title' => 'Enregistrement <abbr title="Transport Layer Security Association">TLSA</abbr>',
+			'description' => 'Mettre en place <abbr title="DNS-based Authentication of Named Entities">DANE</abbr> en indiquant l\'empreinte d\'un certificat <abbr title="Transport Layer Security">TLS</abbr>',
+		],
+		'cname' => [
+			'title' => 'Enregistrement <abbr title="Canonical NAME">CNAME</abbr>',
+			'description' => 'Définir un domaine comme étant l\'alias d\'un autre',
+		],
+		'dname' => [
+			'title' => 'Enregistrement <abbr title="Delegation NAME">DNAME</abbr>',
+			'description' => 'Définir les sous-domaines d\'un domaine comme étant les alias des sous-domaines d\'un autre domaine',
+		],
+		'loc' => [
+			'title' => 'Enregistrement <abbr title="LOCation">LOC</abbr>',
+			'description' => 'Indiquer des coordonnées géographiques',
+		],
+	],
+	'ht' => [
+		'index' => [
+			'title' => '<span aria-hidden="true">🕸️ </span>Hypertexte',
+			'description' => 'Mettre en ligne son site statique sur un espace <abbr title="SSH File Transfert Protocol">SFTP</abbr>, et le faire répondre en <abbr title="HyperText Transfert Protocol">HTTP</abbr> par DNS ou Tor',
+		],
+		'add-http-onion' => [
+			'title' => 'Ajouter un accès HTTP par Onion',
+			'description' => 'Ajouter un accès HTTP par ' . linkToDocs('tor', 'service Onion') . ' sur un sous-dossier de l\'espace SFTP',
+		],
+		'add-http-dns' => [
+			'title' => 'Ajouter un accès HTTP par DNS+TLS',
+			'description' => 'Ajouter un accès HTTP par ' . linkToDocs('dns', 'DNS') . ' et ' . linkToDocs('tls', 'TLS') . ' sur un sous-dossier de l\'espace SFTP',
+		],
+		'del-http-onion' => [
+			'title' => 'Retirer un accès HTTP par Onion',
+			'description' => 'Retirer un accès HTTP par service Onion d\'un sous-dossier de l\'espace SFTP',
+		],
+		'del-http-dns' => [
+			'title' => 'Retirer un accès HTTP par DNS+TLS',
+			'description' => 'Retirer un accès HTTP par DNS et TLS d\'un sous-dossier de l\'espace SFTP',
+		],
+	],
+]);

+ 8 - 8
pages/index.php

@@ -1,25 +1,25 @@
 <nav>
 	<dl>
-		<dt><a class="auth" href="auth/"><?= TITLES['auth']['index'] ?></a></dt>
+		<dt><a class="auth" href="auth/"><?= PAGES['auth']['index']['title'] ?></a></dt>
 		<dd>
-			<?= DESCRIPTIONS['auth']['index'] ?>
+			<?= PAGES['auth']['index']['description'] ?>
 		</dd>
 	<?php if(CONF['reg']['enabled'] === true) { ?>
-		<dt><a class="reg" href="reg/"><?= TITLES['reg']['index'] ?></code></a></dt>
+		<dt><a class="reg" href="reg/"><?= PAGES['reg']['index']['title'] ?></code></a></dt>
 		<dd>
-			<?= DESCRIPTIONS['reg']['index'] ?>
+			<?= PAGES['reg']['index']['description'] ?>
 		</dd>
 	<?php } ?>
 	<?php if(CONF['ns']['enabled'] === true) { ?>
-		<dt><a class="ns" href="ns/"><?= TITLES['ns']['index'] ?></a></dt>
+		<dt><a class="ns" href="ns/"><?= PAGES['ns']['index']['title'] ?></a></dt>
 		<dd>
-			<?= DESCRIPTIONS['ns']['index'] ?>
+			<?= PAGES['ns']['index']['description'] ?>
 		</dd>
 	<?php } ?>
 	<?php if(CONF['ht']['enabled'] === true) { ?>
-		<dt><a class="ht" href="ht/"><?= TITLES['ht']['index'] ?></a></dt>
+		<dt><a class="ht" href="ht/"><?= PAGES['ht']['index']['title'] ?></a></dt>
 		<dd>
-			<?= DESCRIPTIONS['ht']['index'] ?>
+			<?= PAGES['ht']['index']['description'] ?>
 		</dd>
 	<?php } ?>
 	</dl>

+ 8 - 8
router.php

@@ -26,19 +26,19 @@ define("PAGE_LINEAGE", explode('/', PAGE_ADDRESS));
 define("SERVICE", dirname(PAGE_ADDRESS));
 define("PAGE", basename(PAGE_ADDRESS, '.php'));
 
-function getTitlesLineage($titles, $pageElements) {
-	if (!isset($titles['index']) OR $pageElements[0] === 'index')
-		return [$titles[$pageElements[0]] ?? false];
-	$result = $titles['index'];
+function getTitlesLineage($pages, $pageElements) {
+	if (!isset($pages['index']) OR $pageElements[0] === 'index')
+		return [$pages[$pageElements[0]]['title'] ?? false];
+	$result = $pages['index']['title'];
 	if (!isset($pageElements[1]))
-		unset($titles['index']);
+		unset($pages['index']);
 	else
-		$titles = $titles[array_shift($pageElements)] ?? false;
-	$results = getTitlesLineage($titles, $pageElements);
+		$pages = $pages[array_shift($pageElements)] ?? false;
+	$results = getTitlesLineage($pages, $pageElements);
 	$results[] = $result;
 	return $results;
 }
-define('TITLES_LINEAGE', array_reverse(getTitlesLineage(TITLES, PAGE_LINEAGE)));
+define('TITLES_LINEAGE', array_reverse(getTitlesLineage(PAGES, PAGE_LINEAGE)));
 
 if (!TITLES_LINEAGE[array_key_last(TITLES_LINEAGE)]) {
 	http_response_code(404);