@@ -239,18 +239,20 @@ public static function log(string $error_message, string|bool $error_type = 'gen
239239 $ file = str_replace ('\\' , '/ ' , $ file );
240240
241241 // Find the best path and query string we can...
242- if (str_starts_with (($ _SERVER ['REQUEST_URL ' ] ?? '' ), Config::$ boardurl )) {
243- $ query_string = substr ($ _SERVER ['REQUEST_URL ' ], \strlen (Config::$ boardurl ));
242+ if (SMF === 'SSI ' ) {
243+ $ request_url = ($ _SERVER ['REQUEST_SCHEME ' ] ?? 'http ' ) . ':// ' . ($ _SERVER ['SERVER_NAME ' ] ?? 'unknown ' ) . '/ ' . ltrim ($ _SERVER ['REQUEST_URI ' ] ?? (($ _SERVER ['DOCUMENT_URI ' ] ?? $ _SERVER ['SCRIPT_NAME ' ] ?? 'unknown.php ' ) . !empty ($ _SERVER ['QUERY_STRING ' ]) ? '? ' . $ _SERVER ['QUERY_STRING ' ] : '' ), '/ ' );
244+ } elseif (str_starts_with (($ _SERVER ['REQUEST_URL ' ] ?? '' ), Config::$ boardurl )) {
245+ $ request_url = substr ($ _SERVER ['REQUEST_URL ' ], \strlen (Config::$ boardurl ));
244246 } else {
245- $ query_string = ($ _SERVER ['REQUEST_URL ' ] ?? '' );
247+ $ request_url = ($ _SERVER ['REQUEST_URL ' ] ?? '' );
246248 }
247249
248250 // Don't log the session hash in the url twice, it's a waste.
249- $ query_string = Utils::htmlspecialchars (preg_replace (['~([?&;]sesc)=[^&;]+~ ' , '~ ' . session_name () . '= ' . session_id () . '[&;]~ ' ], ['$1 ' , '' ], $ query_string ));
251+ $ request_url = Utils::htmlspecialchars (preg_replace (['~([?&;]sesc)=[^&;]+~ ' , '~ ' . session_name () . '= ' . session_id () . '[&;]~ ' ], ['$1 ' , '' ], $ request_url ));
250252
251253 // Just so we know what board error messages are from.
252- if (isset ($ _POST ['board ' ]) && !isset ($ _GET ['board ' ])) {
253- $ query_string .= ($ query_string == '' ? 'board= ' : ';board= ' ) . $ _POST ['board ' ];
254+ if (isset ($ _POST ['board ' ]) && !isset ($ _GET ['board ' ]) && SMF !== ' SSI ' ) {
255+ $ request_url .= ($ request_url == '' ? 'board= ' : ';board= ' ) . $ _POST ['board ' ];
254256 }
255257
256258 // This prevents us from infinite looping if the hook or call produces an error.
@@ -277,6 +279,7 @@ public static function log(string $error_message, string|bool $error_type = 'gen
277279 User::$ me ->id ?? User::$ my_id ?? 0 ,
278280 time (),
279281 User::$ me ->ip ?? IP ::getUserIP (),
282+ $ request_url ,
280283 $ query_string ,
281284 $ error_message ,
282285 (string ) (User::$ sc ?? '' ),
0 commit comments