coar 97/11/08 21:49:26
Modified: src/modules/standard mod_autoindex.c htdocs/manual/mod mod_autoindex.html src CHANGES Log: Add a "SuppressColumnSorting" option to the IndexOptions list, which will keep the column heading from beling links for sorting the display. PR: 1261 Reviewed by: Jim Jagielski, Martin Kraemer, Dean Gaudet Revision Changes Path 1.54 +25 -7 apachen/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c =================================================================== RCS file: /export/home/cvs/apachen/src/modules/standard/mod_autoindex.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- mod_autoindex.c 1997/10/22 20:30:17 1.53 +++ mod_autoindex.c 1997/11/09 05:49:21 1.54 @@ -88,6 +88,7 @@ #define SUPPRESS_SIZE 16 #define SUPPRESS_DESC 32 #define SUPPRESS_PREAMBLE 64 +#define SUPPRESS_COLSORT 128 /* * Define keys for sorting. @@ -270,6 +271,9 @@ opts |= SUPPRESS_DESC; else if (!strcasecmp(w, "SuppressHTMLPreamble")) opts |= SUPPRESS_PREAMBLE; + else if (!strcasecmp(w, "SuppressColumnSorting")) { + opts |= SUPPRESS_COLSORT; + } else if (!strcasecmp(w, "None")) opts = 0; else if (!strncasecmp(w, "IconWidth", 9)) { @@ -743,11 +747,12 @@ * selected again. Non-active fields always start in ascending order. */ static void emit_link(request_rec *r, char *anchor, char fname, char curkey, - char curdirection) + char curdirection, int nosort) { char qvalue[5]; int reverse; + if (!nosort) { qvalue[0] = '?'; qvalue[1] = fname; qvalue[2] = '='; @@ -756,6 +761,10 @@ qvalue[3] = reverse ? D_DESCENDING : D_ASCENDING; rvputs(r, "<A HREF=\"", qvalue, "\">", anchor, "</A>", NULL); } + else { + rputs(anchor, r); + } +} static void output_directories(struct ent **ar, int n, autoindex_config_rec * d, request_rec *r, @@ -764,6 +773,7 @@ int x, len; char *name = r->uri; char *tp; + int static_columns = (autoindex_opts & SUPPRESS_COLSORT); pool *scratch = make_sub_pool(r->pool); if (name[0] == '\0') @@ -785,18 +795,20 @@ } rputs("> ", r); } - emit_link(r, "Name", K_NAME, keyid, direction); + emit_link(r, "Name", K_NAME, keyid, direction, static_columns); rputs(" ", r); if (!(autoindex_opts & SUPPRESS_LAST_MOD)) { - emit_link(r, "Last modified", K_LAST_MOD, keyid, direction); + emit_link(r, "Last modified", K_LAST_MOD, keyid, direction, + static_columns); rputs(" ", r); } if (!(autoindex_opts & SUPPRESS_SIZE)) { - emit_link(r, "Size", K_SIZE, keyid, direction); + emit_link(r, "Size", K_SIZE, keyid, direction, static_columns); rputs(" ", r); } if (!(autoindex_opts & SUPPRESS_DESC)) { - emit_link(r, "Description", K_DESC, keyid, direction); + emit_link(r, "Description", K_DESC, keyid, direction, + static_columns); } rputs("\n<HR>\n", r); } @@ -1027,11 +1039,16 @@ /* * Figure out what sort of indexing (if any) we're supposed to use. */ + if (autoindex_opts & SUPPRESS_COLSORT) { + keyid = K_NAME; + direction = D_ASCENDING; + } + else { qstring = r->args; /* - * If no QUERY_STRING was specified, we use the default: ascending by - * name. + * If no QUERY_STRING was specified, we use the default: ascending + * by name. */ if ((qstring == NULL) || (*qstring == '\0')) { keyid = K_NAME; @@ -1046,6 +1063,7 @@ else { direction = D_ASCENDING; } + } } /* 1.14 +8 -0 apachen/htdocs/manual/mod/mod_autoindex.html Index: mod_autoindex.html =================================================================== RCS file: /export/home/cvs/apachen/htdocs/manual/mod/mod_autoindex.html,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_autoindex.html 1997/09/09 15:19:48 1.13 +++ mod_autoindex.html 1997/11/09 05:49:23 1.14 @@ -334,6 +334,14 @@ indexing. If the file does not have a description given by <A HREF="#adddescription">AddDescription</A> then httpd will read the document for the value of the TITLE tag. This is CPU and disk intensive. +<DT>SuppressColumnSorting +<DD> +<!--%plaintext <?INDEX {\tt SuppressColumnSorting} index option> --> +If specified, Apache will not make the column headings in a FancyIndexed +directory listing into links for sorting. The default behaviour is +for them to be links; selecting the column heading will sort the directory +listing by the values in that column. +<STRONG>Only available in Apache 1.3 and later.</STRONG> <dt>SuppressDescription <dd> <!--%plaintext <?INDEX {\tt SuppressDescription} index option> --> 1.500 +5 -0 apachen/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.499 retrieving revision 1.500 diff -u -r1.499 -r1.500 --- CHANGES 1997/11/08 21:47:32 1.499 +++ CHANGES 1997/11/09 05:49:24 1.500 @@ -1,5 +1,10 @@ Changes with Apache 1.3b3 + *) Add a "SuppressColumnSorting" option to the IndexOptions list, + which will keep the column heading from beling links for sorting + the display. [Ken Coar, suggested by Brian Tiemann <[EMAIL PROTECTED]>] + PR #1261 + *) PORT: Update the LynxOS port. [Marius Groeger <[EMAIL PROTECTED]>] *) Fix logic error when issuing a mmap() failed message