improved error page, are removed old gulliver error page

This commit is contained in:
Fernando Ontiveros
2025-08-16 03:35:36 -04:00
parent fcbb9c70d0
commit 626d7b78fa
41 changed files with 255 additions and 1492 deletions

View File

@@ -1,144 +1,144 @@
<?php
// Determine if HTTPS is used
$http = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? "https" : "http";
$http = G::is_https() ? "https" : "http";
$host = $_SERVER['HTTP_HOST'] ?? ($_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']);
// Determine host (prefer HTTP_HOST, fallback to SERVER_NAME and SERVER_PORT)
$host = $_SERVER['HTTP_HOST'] ?? ($_SERVER['SERVER_NAME'] . (isset($_SERVER['SERVER_PORT']) ? ':' . $_SERVER['SERVER_PORT'] : ''));
// Default URLs
$urlLogin = $http . "://" . $host . "/sys/en/lurana/login/login";
$urlHome = $urlLogin;
$urlHome = $urlLogin;
if (isset($_GET["url"]) && $_GET["url"] != "") {
$url = urldecode($_GET["url"]);
$url = explode("/", $url);
// Check if 'url' parameter is set and not empty
if (!empty($_GET['url'])) {
$urlParts = explode('/', urldecode($_GET['url']));
$sysSys = "";
$sysLang = "";
$sysSkin = "";
if (isset($url[1]) && preg_match("/^sys(.+)$/", $url[1], $match)) {
$sysSys = $match[1];
$sysSys = '';
$sysLang = '';
$sysSkin = '';
// Check if sys path exists
$checkDir = PATH_DATA."sites/".$sysSys;
if(!is_dir($checkDir)) {
if (isset($urlParts[1]) && preg_match('/^sys(.+)$/', $urlParts[1], $matches)) {
$sysSys = $matches[1];
$checkDir = PATH_DATA . "sites/" . $sysSys;
if (!is_dir($checkDir)) {
$sysSys = '';
}
}
if (isset($url[2])) {
$sysLang = $url[2];
if (isset($urlParts[2])) {
$sysLang = $urlParts[2];
}
if (isset($url[3])) {
$sysSkin = $url[3];
// Check if sys path exists
$checkDir = PATH_SKIN_ENGINE.$sysSkin;
if(!is_dir($checkDir)) {
// Try this again
$checkDir = PATH_CUSTOM_SKINS.$sysSkin;
if(!is_dir($checkDir)) {
if (isset($urlParts[3])) {
$sysSkin = $urlParts[3];
$checkDir = PATH_SKIN_ENGINE . $sysSkin;
if (!is_dir($checkDir)) {
$checkDir = PATH_CUSTOM_SKINS . $sysSkin;
if (!is_dir($checkDir)) {
$sysSkin = '';
}
}
}
if ($sysSys != "" && $sysLang != "" && $sysSkin != "") {
$urlLogin = $http . "://" . $host . "/sys" . $sysSys . "/" . $sysLang . "/" . $sysSkin . "/login/login";
$urlHome = $http . "://" . $host . "/sys" . $sysSys . "/" . $sysLang . "/" . $sysSkin . "/cases/main";
if ($sysSys !== '' && $sysLang !== '' && $sysSkin !== '') {
$urlLogin = sprintf('%s://%s/sys%s/%s/%s/login/login', $http, $host, $sysSys, $sysLang, $sysSkin);
$urlHome = sprintf('%s://%s/sys%s/%s/%s/cases/main', $http, $host, $sysSys, $sysLang, $sysSkin);
}
}
$title = "The page you requested could not be found.";
$message = <<<EOT
Possible reasons:
- The link is broken or outdated.
- The page has been moved or deleted.
- There is a typo in the URL.
What you can do:
- Double-check the URL and try again.
- Or go to the login page: $urlLogin
EOT;
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon"/>
<link href="css2/style1.css" type="text/css" rel="stylesheet"/>
<meta charset="UTF-8"/>
<meta name="robots" content="noindex,nofollow"/>
<title><?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?></title>
<style>
body {
font-family: Verdana, Arial, sans-serif;
font-size: 14px;
color: #222;
background: #eee;
padding: 10px;
margin: 0;
display: flex;
justify-content: center;
align-items: flex-start;
height: 100vh;
}
#content {
max-width: 800px;
width: 100%;
}
h1 {
font-size: 19px;
background-color: #fff;
padding: 15px 28px;
border: 1px solid #ccc;
border-radius: 12px;
margin: 20px 0;
}
h2 {
margin: 0 0 0 0;
font-size: 18px;
}
.block {
background-color: #fff;
padding: 15px 28px;
margin-bottom: 20px;
border: 1px solid #ccc;
border-radius: 0 0 12px 12px;
white-space: pre-line;
font-size: 14px;
color: #444;
}
.block_exception {
background-color: #ddd;
color: #333;
padding: 15px 28px;
border: 1px solid #ccc;
border-radius: 12px 12px 0 0;
}
a {
color: #6c6159;
text-decoration: none;
font-weight: bold;
}
a:hover {
text-decoration: underline;
}
</style>
</head>
<body style="margin: 0px; overflow: auto;">
<!-- Warp around everything -->
<div id="warp">
<!-- Header top -->
<div id="header_top"></div>
<!-- End header top -->
<!-- Header -->
<div id="header">
<table border="0" cellspacing="0" cellpadding="0" width="90%">
<tr>
<td align="center">
<h2>Oops, page not found!</h2>
<h5>This page may be busy or the URL incorrect.</h5>
</td>
</tr>
</table>
</div>
<!-- End Header -->
<!-- The content div -->
<div id="content">
<!-- text -->
<div id="text">
<!-- The info text -->
<strong>Possible reasons: </strong>
<ul id="textInfo">
<li>The link is broken. This may occur when you receive a link via email but your client software adds line breaks, thus distorting long URLs.</li>
<li>The page you requested is no longer active.</li>
<li>There is a spelling mistake in the link, in case you entered the URL into the browser's address toolbar.</li>
</ul>
<ul>
<br/>
<h3>What you can do?</h3>
<!-- End info text -->
<br/>
<!-- Page links -->
<ul id="textInfo">
<li>You might try retyping the URL and trying again.</li>
<li>Or we could take you back to the <a href="<?php echo htmlspecialchars($urlHome); ?>">home page.</a></li>
<li>Or you could start again from the <a href="<?php echo htmlspecialchars($urlLogin); ?>">login page.</a></li>
</ul>
<!-- End page links -->
</div>
<!-- End info text -->
<!-- Book icon -->
<img id="book" src="images/img-01.png" alt="Book iCon" />
<!-- End Book icon -->
<div style="clear:both;"></div>
</div>
<!-- End Content -->
<!-- Footer -->
<div id="footer" style="padding-top: 10px; color: #878787; font-size: 10px; text-align: center;">
<span>&#169; Copyright 2000 - <?php echo date("Y"); ?> </span>
</div>
<!-- End Footer -->
<!-- Footer bottom -->
<div id="footer_bottom"></div>
<!-- End Footer bottom -->
<!-- Social Media list -->
<!-- End Social media -->
<div style="clear:both;"></div>
</div>
<!-- End Warp around everything -->
</div>
<body>
<div id="content">
<h1>404 - Page Not Found</h1>
<div class="block_exception">
<h2><?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?></h2>
</div>
<div class="block">
<?php
$escapedMessage = nl2br(htmlspecialchars($message, ENT_QUOTES, 'UTF-8'));
$escapedMessage = preg_replace_callback(
'#(https?://[^\s]+)#',
function ($matches) {
$url = htmlspecialchars($matches[0], ENT_QUOTES, 'UTF-8');
return "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$url</a>";
},
$escapedMessage
);
echo $escapedMessage;
?>
</div>
</div>
</body>
</html>
</html>

View File

@@ -1,287 +0,0 @@
/* Reset */
* {
margin: 0 auto;
padding: 0;
}
/* Body */
body {
background: url(../images/background.jpg) no-repeat top #8F8F8F;
text-align: center;
}
/* No borders around images */
img {
border: none;
}
/* Warp around everything */
#warp {
margin: 0 auto;
margin-top: 10px;
width: 985px;
font-family: Helvetica;
text-align: left;
}
/* Header */
#header_top {
background: url(../images/top.png) no-repeat;
width: 985px;
height: 30px;
}
/* Header content */
#header {
background: url(../images/box_bg.png) repeat-y;
width: 985px;
text-align: center;
}
/* Page title */
#header h2 {
padding-top: 10px;
}
/* Subtitle */
#header h5 {
margin-top: 5px;
padding-bottom: 15px;
color: #acacac;
}
/* Content div */
#content {
background: url(../images/content_bg.png) repeat-y;
width: 985px;
}
/* The info text */
#text {
float: left;
margin: 10px 0 10px 60px;
width: 420px;
/* IE margin fix */
display: inline;
font-size: 13px;
}
/* The info text P */
#text p {
margin-top: 5px;
font-size: 14px;
line-height: 20px;
color: #292929;
}
/* The links list */
/* The list items */
/* The links */
#text a {
color: #292929;
text-decoration: none;
}
/* Link hover */
#text a:hover {
text-decoration: none;
}
/* The book icon */
#book {
float: right;
width: 472px;
height: 332px;
margin: 20px 20px 10px 0;
}
/* Footer */
#footer {
background: url(../images/box_bg.png) repeat-y;
width: 985px;
}
/* Footer bottom */
#footer_bottom {
background: url(../images/bottom.png) no-repeat;
width: 985px;
height: 28px;
}
/* Twitter icon */
#twitter {
margin: 10px 0px 0px 60px;
float: left;
}
/* The tweet text */
#twitter_text {
float: left;
margin-left: 10px;
margin-top: 15px;
width: 300px;
color: #878787;
float: left;
font-size: 10px;
}
/* Twitter links */
#twitter_text a {
text-decoration: none;
font-weight: bold;
}
/* Search form */
#searchform {
float: right;
margin: 15px 60px 0px 0px;
/* IE margin fix */
display: inline;
}
/* Search input */
input#search {
background: url(../images/searchfield_bg.png) no-repeat;
border: none;
height: 31px;
width: 244px;
float: right;
line-height: 30px;
padding-left: 10px;
}
/* The Send button */
input#submit {
border: none;
float: right;
margin-left: 5px;
height: 31px;
width: 74px;
color: #fff;
}
input:focus {
outline: none;
}
/* Social media */
#socialmedia {
margin-top: 5px;
margin-right: 40px;
margin-bottom: 10px;
display: inline;
list-style: none;
float: right;
}
/* Social media list items */
#socialmedia a{
text-decoration: none;
}
/* COLOR CHANGER */
#colorchanger {
text-align: left;
}
#showChanger {
margin-left: 10px;
}
#colors {
padding: 10px;
background: #425a5e;
height: 17px;
}
/* The div around the color change links */
.colorbox {
width:15px;
height:15px;
border:1px solid #050505;
float:left;
margin:0px 2px;
cursor:pointer;
display:block;
}
/* Blue */
.colorblue {
background-color:#1e82ac;
}
/* Blue Hover */
.colorblue:hover {
background-color:#177197;
}
/* Red */
.colorred {
background-color:#cc2b2b;
}
/* Red Hover */
.colorred:hover {
background-color:#af1a1a;
}
/* Grey */
.colorgrey {
background-color:#4d4d4d;
}
/* Grey Hover */
.colorgrey:hover {
background-color:#7c7c7c;
}
/* Brown */
.colorbrown {
background-color:#4b3a15;
}
/* Brown Hover */
.colorbrown:hover {
background-color:#5e4b20;
}
/* Green */
.colorgreen {
background-color:#6c8b2f;
}
/* Green Hover */
.cologreen:hover {
background-color:#7da137;
}
/* Page title */
#header h2 {
color: #187086;
}
/* Page links */
#text a:hover {
color: #16687d;
}
/* Search button */
input#submit {
background: url(../images/searchbutton_bg.png) no-repeat;
}
/* Twitter links */
#twitter_text a {
color: #135869;
}
#textInfo{
list-style: square inside none;
padding: 0px;
margin: 0px;
line-height: 20px;
}
#textInfo li{
padding: 5px 0px;
text-align: justify;
}

View File

@@ -1,129 +1,152 @@
<?php if (function_exists("http_response_code")) {
http_response_code(404);
}
<?php
// Tell the browser (and searchengines) that the page is missing
// use the protocol that the client sent (HTTP/1.1, HTTP/2, …)
$protocol = $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.1';
header($protocol . ' 404 Not Found');
header('Content-Type: text/html; charset=UTF-8');
$http = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on")? "https" : "http";
$host = $_SERVER['HTTP_HOST'] ?? ($_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']);
$urlLogin = $http . "://" . $host . "/sys/en/luranasoft/login/login";
$urlHome = $urlLogin;
// Determine if HTTPS is used
$http = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? "https" : "http";
if (isset($_GET["url"]) && $_GET["url"] != "") {
$url = urldecode($_GET["url"]);
$url = explode("/", $url);
// Determine host (prefer HTTP_HOST, fallback to SERVER_NAME and SERVER_PORT)
$host = $_SERVER['HTTP_HOST'] ?? ($_SERVER['SERVER_NAME'] . (isset($_SERVER['SERVER_PORT']) ? ':' . $_SERVER['SERVER_PORT'] : ''));
$sysSys = "";
$sysLang = "";
$sysSkin = "";
// Default URLs
$urlLogin = $http . "://" . $host . "/sys/en/lurana/login/login";
$urlHome = $urlLogin;
if (isset($url[1]) && preg_match("/^sys(.+)$/", $url[1], $match)) {
$sysSys = $match[1];
// Check if 'url' parameter is set and not empty
if (!empty($_GET['url'])) {
$urlParts = explode('/', urldecode($_GET['url']));
$sysSys = '';
$sysLang = '';
$sysSkin = '';
if (isset($urlParts[1]) && preg_match('/^sys(.+)$/', $urlParts[1], $matches)) {
$sysSys = $matches[1];
$checkDir = PATH_DATA . "sites/" . $sysSys;
if (!is_dir($checkDir)) {
$sysSys = '';
}
}
if (isset($url[2])) {
$sysLang = $url[2];
if (isset($urlParts[2])) {
$sysLang = $urlParts[2];
}
if (isset($url[3])) {
$sysSkin = $url[3];
if (isset($urlParts[3])) {
$sysSkin = $urlParts[3];
$checkDir = PATH_SKIN_ENGINE . $sysSkin;
if (!is_dir($checkDir)) {
$checkDir = PATH_CUSTOM_SKINS . $sysSkin;
if (!is_dir($checkDir)) {
$sysSkin = '';
}
}
}
if ($sysSys != "" && $sysLang != "" && $sysSkin != "") {
$urlLogin = $http . "://" . $host . "/sys" . $sysSys . "/" . $sysLang . "/" . $sysSkin . "/login/login";
$urlHome = $http . "://" . $host . "/sys" . $sysSys . "/" . $sysLang . "/" . $sysSkin . "/cases/main";
if ($sysSys !== '' && $sysLang !== '' && $sysSkin !== '') {
$urlLogin = sprintf('%s://%s/sys%s/%s/%s/login/login', $http, $host, $sysSys, $sysLang, $sysSkin);
$urlHome = sprintf('%s://%s/sys%s/%s/%s/cases/main', $http, $host, $sysSys, $sysLang, $sysSkin);
}
}
$title = "The page you requested could not be found.";
$message = <<<EOT
Possible reasons:
- The link is broken or outdated.
- The page has been moved or deleted.
- There is a typo in the URL.
What you can do:
- Double-check the URL and try again.
- Or go to the login page: $urlLogin
EOT;
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE html>
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon"/>
<link href="css2/style1.css" type="text/css" rel="stylesheet"/>
<meta charset="UTF-8"/>
<meta name="robots" content="noindex,nofollow"/>
<title><?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?></title>
<style>
body {
font-family: Verdana, Arial, sans-serif;
font-size: 14px;
color: #222;
background: #eee;
padding: 10px;
margin: 0;
display: flex;
justify-content: center;
align-items: flex-start;
height: 100vh;
}
#content {
max-width: 800px;
width: 100%;
}
h1 {
font-size: 19px;
background-color: #fff;
padding: 15px 28px;
border: 1px solid #ccc;
border-radius: 12px;
margin: 20px 0;
}
h2 {
margin: 0 0 0 0;
font-size: 18px;
}
.block {
background-color: #fff;
padding: 15px 28px;
margin-bottom: 20px;
border: 1px solid #ccc;
border-radius: 0 0 12px 12px;
white-space: pre-line;
font-size: 14px;
color: #444;
}
.block_exception {
background-color: #ddd;
color: #333;
padding: 15px 28px;
border: 1px solid #ccc;
border-radius: 12px 12px 0 0;
}
a {
color: #6c6159;
text-decoration: none;
font-weight: bold;
}
a:hover {
text-decoration: underline;
}
</style>
</head>
<body style="margin: 0px; overflow: auto;">
<!-- Warp around everything -->
<div id="warp">
<!-- Header top -->
<div id="header_top"></div>
<!-- End header top -->
<!-- Header -->
<div id="header">
<table border="0" cellspacing="0" cellpadding="0" width="90%">
<tr>
<td align="center">
<h2>Oops, page not found!</h2>
<h5>This page may be busy or the URL incorrect.</h5>
</td>
</tr>
</table>
</div>
<!-- End Header -->
<!-- The content div -->
<div id="content">
<!-- text -->
<div id="text">
<!-- The info text -->
<strong>Possible reasons: </strong>
<ul id="textInfo">
<li>The link is broken. This may occur when you receive a link via email but your client software adds line breaks, thus distorting long URLs.</li>
<li>The page you requested is no longer active.</li>
<li>There is a spelling mistake in the link, in case you entered the URL into the browser's address toolbar.</li>
</ul>
<ul>
<br/>
<h3>What you can do?</h3>
<!-- End info text -->
<br/>
<!-- Page links -->
<ul id="textInfo">
<li>You might try retyping the URL and trying again.</li>
<li>Or we could take you back to the <a href="<?php echo $urlHome; ?>">home page.</a></li>
<li>Or you could start again from the <a href="<?php echo $urlLogin; ?>">login page.</a></li>
</ul>
<!-- End page links -->
</div>
<!-- End info text -->
<!-- Book icon -->
<img id="book" src="images/img-01.png" alt="Book iCon" />
<!-- End Book icon -->
<div style="clear:both;"></div>
</div>
<!-- End Content -->
<!-- Footer -->
<div id="footer" style="padding-top: 10px; color: #878787; font-size: 10px; text-align: center;">
<span>&#169; Copyright 2000 - <?php echo date("Y"); ?> </span>
</div>
<!-- End Footer -->
<!-- Footer bottom -->
<div id="footer_bottom"></div>
<!-- End Footer bottom -->
<!-- Social Media list -->
<!-- End Social media -->
<div style="clear:both;"></div>
</div>
<!-- End Warp around everything -->
</div>
<body>
<div id="content">
<h1>404 - Page Not Found</h1>
<div class="block_exception">
<h2><?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?></h2>
</div>
<div class="block">
<?php
$escapedMessage = nl2br(htmlspecialchars($message, ENT_QUOTES, 'UTF-8'));
$escapedMessage = preg_replace_callback(
'#(https?://[^\s]+)#',
function ($matches) {
$url = htmlspecialchars($matches[0], ENT_QUOTES, 'UTF-8');
return "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$url</a>";
},
$escapedMessage
);
echo $escapedMessage;
?>
</div>
</div>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB