Use getTitlesLineage() to check if page exists
This commit is contained in:
parent
9775de3a40
commit
bd37c14ef9
1 changed files with 7 additions and 15 deletions
22
router.php
22
router.php
|
@ -28,33 +28,25 @@ define("PAGE", basename(PAGE_ADDRESS, '.php'));
|
||||||
|
|
||||||
require "pages.php";
|
require "pages.php";
|
||||||
|
|
||||||
if (PAGE !== 'index') {
|
|
||||||
if (!isset(TITLES[SERVICE][PAGE])) {
|
|
||||||
http_response_code(404);
|
|
||||||
exit('Page not found.');
|
|
||||||
}
|
|
||||||
if (SERVICE !== '.') {
|
|
||||||
if (!isset(TITLES[SERVICE]['index'])) {
|
|
||||||
http_response_code(404);
|
|
||||||
exit('Page not found.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getTitlesLineage($titles, $pageElements) {
|
function getTitlesLineage($titles, $pageElements) {
|
||||||
if (!isset($titles['index']) OR $pageElements[0] === 'index')
|
if (!isset($titles['index']) OR $pageElements[0] === 'index')
|
||||||
return [$titles[$pageElements[0]]];
|
return [$titles[$pageElements[0]] ?? false];
|
||||||
$result = $titles['index'];
|
$result = $titles['index'];
|
||||||
if (!isset($pageElements[1]))
|
if (!isset($pageElements[1]))
|
||||||
unset($titles['index']);
|
unset($titles['index']);
|
||||||
else
|
else
|
||||||
$titles = $titles[array_shift($pageElements)];
|
$titles = $titles[array_shift($pageElements)] ?? false;
|
||||||
$results = getTitlesLineage($titles, $pageElements);
|
$results = getTitlesLineage($titles, $pageElements);
|
||||||
$results[] = $result;
|
$results[] = $result;
|
||||||
return $results;
|
return $results;
|
||||||
}
|
}
|
||||||
define('TITLES_LINEAGE', array_reverse(getTitlesLineage(TITLES, PAGE_LINEAGE)));
|
define('TITLES_LINEAGE', array_reverse(getTitlesLineage(TITLES, PAGE_LINEAGE)));
|
||||||
|
|
||||||
|
if (!TITLES_LINEAGE[array_key_last(TITLES_LINEAGE)]) {
|
||||||
|
http_response_code(404);
|
||||||
|
exit('Page not found.');
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
isset($_COOKIE['niver-session-key']) // Resume session
|
isset($_COOKIE['niver-session-key']) // Resume session
|
||||||
OR
|
OR
|
||||||
|
|
Loading…
Reference in a new issue