[web-doc] fix/revcheck: Add HTTP response code handling to site_header function for error pages
| From: | Luffy | Date: | Wed, 02 Sep 2026 09:51:41 +0000 |
| Subject: | [web-doc] fix/revcheck: Add HTTP response code handling to site_header function for error pages | ||
| Groups: | php.doc.web | ||
| Request: | Send a blank email to doc-web+get-2554@lists.php.net to get a copy of this message | ||
Author: Luffy (sy-records)
Date: 2026-09-02T17:51:33+08:00
Commit: https://github.com/php/web-doc/commit/6729611ee00ce07f70db88ca62bfae7be80ae226
Raw diff: https://github.com/php/web-doc/commit/6729611ee00ce07f70db88ca62bfae7be80ae226.diff
Add HTTP response code handling to site_header function for error pages
Changed paths:
M include/lib_general.inc.php
M www/error.php
M www/revcheck.php
Diff:
diff --git a/include/lib_general.inc.php b/include/lib_general.inc.php
index af48826..419094b 100644
--- a/include/lib_general.inc.php
+++ b/include/lib_general.inc.php
@@ -28,7 +28,7 @@ function get_svn_dir($project)
return $GLOBALS['PROJECTS'][$project][1] . '/';
}
-function site_header()
+function site_header($config = [])
{
$TITLE = 'Documentation Tools';
$SUBDOMAIN = 'doc';
@@ -38,7 +38,9 @@ function site_header()
array('href' => '/revcheck.php', 'text' =>
'Translation Status'),
array('href' => '/phd.php', 'text' => 'PhD
Homepage'),
);
-
+ if (isset($config['http_response_code'])) {
+ http_response_code($config['http_response_code']);
+ }
require __DIR__ . '/../shared/templates/header.inc';
echo <<<END_OF_MULTILINE
<style type="text/css">
diff --git a/www/error.php b/www/error.php
index 2ba95ee..16c2f7c 100644
--- a/www/error.php
+++ b/www/error.php
@@ -2,7 +2,7 @@
require_once __DIR__ . '/../include/init.inc.php';
-site_header();
+site_header(['http_response_code' => 404]);
echo '<h2>Error 404</h2>';
if ($_SERVER['REDIRECT_STATUS'] == 404) {
diff --git a/www/revcheck.php b/www/revcheck.php
index 7166ec9..1a3ff1f 100644
--- a/www/revcheck.php
+++ b/www/revcheck.php
@@ -25,7 +25,7 @@
}
if (!defined('SQLITE_DIR')) {
- site_header();
+ site_header(['http_response_code' => 500]);
echo "<p>Unable to find SQLite database with revisions.</p>";
site_footer();
die;
@@ -33,7 +33,7 @@
$DBLANG = SQLITE_DIR . 'status.sqlite';
if (!file_exists($DBLANG)) {
- site_header();
+ site_header(['http_response_code' => 500]);
echo "<p>Database file doesn't exist</p>";
site_footer();
die;
@@ -41,7 +41,7 @@
$dbhandle = new SQLite3($DBLANG);
if (!$dbhandle) {
- site_header();
+ site_header(['http_response_code' => 500]);
echo "<p>Database connection couldn't be established</p>";
site_footer();
die;
@@ -51,8 +51,7 @@
$lang_intro = get_language_intro($dbhandle, $lang);
if ($lang !== 'en' && is_null($lang_intro)) {
- site_header();
- header('HTTP/1.1 404 Not Found');
+ site_header(['http_response_code' => 404]);
echo "<p>This revision check doesn't exist yet.</p>";
site_footer();
die;