summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2016-05-28 13:40:48 +0000
committerIngo Schwarze <schwarze@openbsd.org>2016-05-28 13:40:48 +0000
commit7956db275a13d70a6b9fb672cf085b78e70f124c (patch)
treeb04cdd4244e09b0b53a2a5ba0ab3bbc57068370b
parent4d8a52d4066027eb5dd03bbb35164ec6cf9906db (diff)
downloadmandoc-7956db275a13d70a6b9fb672cf085b78e70f124c.tar.gz
Simplify search form: minus two visible control elements, minus
one table, minus twenty lines of code, no loss of functionality. No idea why i didn't do this earlier...
-rw-r--r--cgi.c35
-rw-r--r--man.cgi.823
2 files changed, 17 insertions, 41 deletions
diff --git a/cgi.c b/cgi.c
index 096b7ff9..ce7e1242 100644
--- a/cgi.c
+++ b/cgi.c
@@ -385,8 +385,7 @@ resp_searchform(const struct req *req, enum focus focus)
/* Write query input box. */
- printf( "<table><tr><td>\n"
- "<input type=\"text\" name=\"query\" value=\"");
+ printf("<input type=\"text\" name=\"query\" value=\"");
if (req->q.query != NULL)
html_print(req->q.query);
printf( "\" size=\"40\"");
@@ -394,24 +393,16 @@ resp_searchform(const struct req *req, enum focus focus)
printf(" autofocus");
puts(">");
- /* Write submission and reset buttons. */
+ /* Write submission buttons. */
- printf( "<input type=\"submit\" value=\"Submit\">\n"
- "<input type=\"reset\" value=\"Reset\">\n");
-
- /* Write show radio button */
-
- printf( "</td><td>\n"
- "<input type=\"radio\" ");
- if (req->q.equal)
- printf("checked=\"checked\" ");
- printf( "name=\"apropos\" id=\"show\" value=\"0\">\n"
- "<label for=\"show\">Show named manual page</label>\n");
+ printf( "<button type=\"submit\" name=\"apropos\" value=\"0\">"
+ "man</button>\n"
+ "<button type=\"submit\" name=\"apropos\" value=\"1\">"
+ "apropos</button>\n<br/>\n");
/* Write section selector. */
- puts( "</td></tr><tr><td>\n"
- "<select name=\"sec\">");
+ puts("<select name=\"sec\">");
for (i = 0; i < sec_MAX; i++) {
printf("<option value=\"%s\"", sec_numbers[i]);
if (NULL != req->q.sec &&
@@ -454,17 +445,7 @@ resp_searchform(const struct req *req, enum focus focus)
puts("</select>");
}
- /* Write search radio button */
-
- printf( "</td><td>\n"
- "<input type=\"radio\" ");
- if (0 == req->q.equal)
- printf("checked=\"checked\" ");
- printf( "name=\"apropos\" id=\"search\" value=\"1\">\n"
- "<label for=\"search\">Search with apropos query</label>\n");
-
- puts("</td></tr></table>\n"
- "</fieldset>\n"
+ puts("</fieldset>\n"
"</form>\n"
"</div>");
puts("<!-- End search form. //-->");
diff --git a/man.cgi.8 b/man.cgi.8
index 8622ccc3..7f45878d 100644
--- a/man.cgi.8
+++ b/man.cgi.8
@@ -26,9 +26,9 @@ The
CGI program searches for manual pages on a WWW server
and displays them to HTTP clients,
providing functionality equivalent to the
-.Xr apropos 1
-and
.Xr man 1
+and
+.Xr apropos 1
utilities.
It can use multiple manual trees in parallel.
.Ss HTML search interface
@@ -51,20 +51,15 @@ The effect of prepending a backslash to another character is undefined;
in the current implementation, it has no effect.
.It
A
-.Dq Submit
-button to send a search request from the client to the server.
-.It
-A
-.Dq Reset
-button to undo any changes to the input boxes and the dropdown menus
-and reset them to the values contained in the
-.Ev QUERY_STRING .
-.It
-Radio buttons to select pages either by name like in
.Xr man 1
-or using
+submit button.
+The string in the input box is interpreted as the name of a manual page.
+.It
+An
.Xr apropos 1
-queries.
+submit button.
+The string in the input box is interpreted as a search
+.Ar expression .
.It
A dropdown menu to optionally select a manual section.
If one is provided, it has the same effect as the