git: 5ab82f33cb - main - Firefox opensearch autocomplete workarounds
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 04 Jan 2023 18:29:00 UTC
The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/doc/commit/?id=5ab82f33cb9e28f730881431252cae8a4ab4a2bd commit 5ab82f33cb9e28f730881431252cae8a4ab4a2bd Author: Wolfram Schneider <wosch@FreeBSD.org> AuthorDate: 2023-01-04 17:34:40 +0000 Commit: Wolfram Schneider <wosch@FreeBSD.org> CommitDate: 2023-01-04 17:34:40 +0000 Firefox opensearch autocomplete workarounds --- website/content/en/cgi/ports.cgi | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/website/content/en/cgi/ports.cgi b/website/content/en/cgi/ports.cgi index e163f4a23f..0e6d425ee6 100755 --- a/website/content/en/cgi/ports.cgi +++ b/website/content/en/cgi/ports.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -T # -# Copyright (c) 1996-2022 Wolfram Schneider <wosch@FreeBSD.ORG> +# Copyright (c) 1996-2023 Wolfram Schneider <wosch@FreeBSD.ORG> # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -496,7 +496,7 @@ sub footer { print qq{ <img align="right" src="$hsty_base/gifs/powerlogo.gif" alt="Powered by FreeBSD" /> -© 1996-2022 by Wolfram Schneider. All rights reserved.<br /> +© 1996-2023 by Wolfram Schneider. All rights reserved.<br /> }; #print q{$FreeBSD$} . "<br />\n"; @@ -507,6 +507,24 @@ sub footer { print qq{<hr noshade="noshade" />\n<p />\n}; } +sub check_query { + my ($query, $sourceid) = @_; + + $query =~ s/"/ /g; + $query =~ s/^\s+//; + $query =~ s/\s+$//; + + # XXX: Firefox opensearch autocomplete workarounds + if ($sourceid eq 'opensearch') { + # remove space before a dot + $query =~ s/ \././g; + # remove space between double colon + $query =~ s/: :/::/g; + } + + return $query; +} + sub check_input { if ($query) { $stype = "all" if !$stype; @@ -571,6 +589,7 @@ $section = $form{'sektion'}; $section = 'all' if ( !$section ); $query = $form{'query'}; $stype = $form{'stype'}; +$sourceid = $form{'sourceid'} // ""; $script_name = &env('SCRIPT_NAME'); if ( $path_info eq "/source" ) { @@ -602,9 +621,7 @@ if ( !$query && $query_string =~ /^([^=&]+)$/ ) { # automatically read collections, need only 0.2 sec on a pentium @sec = &readcoll; -$query =~ s/"/ /g; -$query =~ s/^\s+//; -$query =~ s/\s+$//; +$query = &check_query($query, $sourceid); &forms; if ( $query_string eq "" || !$query ) {