diff options
author | William A. Rowe Jr <wrowe@apache.org> | 2001-07-28 03:17:37 +0200 |
---|---|---|
committer | William A. Rowe Jr <wrowe@apache.org> | 2001-07-28 03:17:37 +0200 |
commit | e35a8b163b375b0c9ce51ed43dfadb1105f44648 (patch) | |
tree | f9203480e48fec3e6f9ff2982fdf46e59535a530 /modules/generators/mod_autoindex.c | |
parent | More obsessive changes to meet HTML 3.2, HTML 4.01 Transitional and (diff) | |
download | apache2-e35a8b163b375b0c9ce51ed43dfadb1105f44648.tar.xz apache2-e35a8b163b375b0c9ce51ed43dfadb1105f44648.zip |
More pedantic changes to create HTML 3.2/4.01 Transitional and
XHTML 1.0 Transitional - compliant output. Note that this model
is forever broken, since <hr> and <img> tags within a <pre> block
are, by definition, invalid. This is sort of mute since we need
to start creating a table-based autoindex, mostly for utf-8 names
that map in R-t-L order comixed with L-t-R formatting.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89751 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/generators/mod_autoindex.c')
-rw-r--r-- | modules/generators/mod_autoindex.c | 77 |
1 files changed, 36 insertions, 41 deletions
diff --git a/modules/generators/mod_autoindex.c b/modules/generators/mod_autoindex.c index 236abf2ec6..2f6e88bfc8 100644 --- a/modules/generators/mod_autoindex.c +++ b/modules/generators/mod_autoindex.c @@ -207,8 +207,8 @@ static APR_INLINE int is_parent(const char *name) static void emit_preamble(request_rec *r, char *title) { ap_rvputs(r, DOCTYPE_HTML_3_2, - "<HTML>\n <HEAD>\n <TITLE>Index of ", title, - "</TITLE>\n </HEAD>\n <BODY>\n", NULL); + "<html>\n <head>\n <title>Index of ", title, + "</title>\n </head>\n <body>\n", NULL); } static void push_item(apr_array_header_t *arr, char *type, const char *to, @@ -917,7 +917,7 @@ static void do_emit_plain(request_rec *r, apr_file_t *f) apr_size_t i, c, n; apr_status_t stat; - ap_rputs("<PRE>\n", r); + ap_rputs("<pre>\n", r); while (!apr_file_eof(f)) { do { n = sizeof(char) * AP_IOBUFSIZE; @@ -951,7 +951,7 @@ static void do_emit_plain(request_rec *r, apr_file_t *f) c = i + 1; } } - ap_rputs("</PRE>\n", r); + ap_rputs("</pre>\n", r); } /* @@ -1010,7 +1010,7 @@ static void emit_head(request_rec *r, char *header_fname, int suppress_amble, else if (!strncasecmp("text/", rr->content_type, 5)) { /* * If we can open the file, prefix it with the preamble - * regardless; since we'll be sending a <PRE> block around + * regardless; since we'll be sending a <pre> block around * the file's contents, any HTML header it had won't end up * where it belongs. */ @@ -1030,7 +1030,7 @@ static void emit_head(request_rec *r, char *header_fname, int suppress_amble, emit_preamble(r, title); } if (emit_H1) { - ap_rvputs(r, "<H1>Index of ", title, "</H1>\n", NULL); + ap_rvputs(r, "<h1>Index of ", title, "</h1>\n", NULL); } if (rr != NULL) { ap_destroy_sub_req(rr); @@ -1096,7 +1096,7 @@ static void emit_tail(request_rec *r, char *readme_fname, int suppress_amble) ap_rputs(ap_psignature("", r), r); } if (!suppress_post) { - ap_rputs("</BODY></HTML>\n", r); + ap_rputs("</body></html>\n", r); } if (rr != NULL) { ap_destroy_sub_req(rr); @@ -1106,7 +1106,7 @@ static void emit_tail(request_rec *r, char *readme_fname, int suppress_amble) static char *find_title(request_rec *r) { - char titlebuf[MAX_STRING_LEN], *find = "<TITLE>"; + char titlebuf[MAX_STRING_LEN], *find = "<title>"; apr_file_t *thefile = NULL; int x, y, p; apr_size_t n; @@ -1131,7 +1131,7 @@ static char *find_title(request_rec *r) } titlebuf[n] = '\0'; for (x = 0, p = 0; titlebuf[x]; x++) { - if (apr_toupper(titlebuf[x]) == find[p]) { + if (apr_tolower(titlebuf[x]) == find[p]) { if (!find[++p]) { if ((p = ap_ind(&titlebuf[++x], '<')) != -1) { titlebuf[x + p] = '\0'; @@ -1291,7 +1291,7 @@ static void emit_link(request_rec *r, char *anchor, char fname, char curkey, qvalue[4] = '\0'; reverse = ((curkey == fname) && (curdirection == D_ASCENDING)); qvalue[3] = reverse ? D_DESCENDING : D_ASCENDING; - ap_rvputs(r, "<A HREF=\"", qvalue, "\">", anchor, "</A>", NULL); + ap_rvputs(r, "<a href=\"", qvalue, "\">", anchor, "</a>", NULL); } else { ap_rputs(anchor, r); @@ -1332,20 +1332,15 @@ static void output_directories(struct ent **ar, int n, pad_scratch[name_width] = '\0'; if (autoindex_opts & FANCY_INDEXING) { - ap_rputs("<PRE>", r); + ap_rputs("<pre>", r); if ((tp = find_default_icon(d, "^^BLANKICON^^"))) { - ap_rvputs(r, "<IMG SRC=\"", ap_escape_html(scratch, tp), - "\" ALT=\" \"", NULL); - if (d->icon_width && d->icon_height) { - ap_rprintf - ( - r, - " HEIGHT=\"%d\" WIDTH=\"%d\"", - d->icon_height, - d->icon_width - ); - } - ap_rputs("> ", r); + ap_rvputs(r, "<img src=\"", ap_escape_html(scratch, tp), + "\" alt=\" \"", NULL); + if (d->icon_width) + ap_rprintf(r, " width=\"%d\"", d->icon_width); + if (d->icon_height) + ap_rprintf(r, " height=\"%d\"", d->icon_height); + ap_rputs(" /> ", r); } emit_link(r, "Name", K_NAME, keyid, direction, static_columns); ap_rputs(pad_scratch + 4, r); @@ -1366,10 +1361,10 @@ static void output_directories(struct ent **ar, int n, emit_link(r, "Description", K_DESC, keyid, direction, static_columns); } - ap_rputs("\n<HR>\n", r); + ap_rputs("\n<hr />\n", r); } else { - ap_rputs("<UL>", r); + ap_rputs("<ul>", r); } for (x = 0; x < n; x++) { @@ -1395,23 +1390,23 @@ static void output_directories(struct ent **ar, int n, if (autoindex_opts & FANCY_INDEXING) { if (autoindex_opts & ICONS_ARE_LINKS) { - ap_rvputs(r, "<A HREF=\"", anchor, "\">", NULL); + ap_rvputs(r, "<a href=\"", anchor, "\">", NULL); } if ((ar[x]->icon) || d->default_icon) { - ap_rvputs(r, "<IMG SRC=\"", + ap_rvputs(r, "<img src=\"", ap_escape_html(scratch, ar[x]->icon ? ar[x]->icon : d->default_icon), - "\" ALT=\"[", (ar[x]->alt ? ar[x]->alt : " "), + "\" alt=\"[", (ar[x]->alt ? ar[x]->alt : " "), "]\"", NULL); - if (d->icon_width && d->icon_height) { - ap_rprintf(r, " HEIGHT=\"%d\" WIDTH=\"%d\"", - d->icon_height, d->icon_width); - } - ap_rputs(">", r); + if (d->icon_width) + ap_rprintf(r, " width=\"%d\"", d->icon_width); + if (d->icon_height) + ap_rprintf(r, " height=\"%d\"", d->icon_height); + ap_rputs(" />", r); } if (autoindex_opts & ICONS_ARE_LINKS) { - ap_rputs("</A>", r); + ap_rputs("</a>", r); } nwidth = strlen(t2); @@ -1424,8 +1419,8 @@ static void output_directories(struct ent **ar, int n, t2 = name_scratch; nwidth = name_width; } - ap_rvputs(r, " <A HREF=\"", anchor, "\">", - ap_escape_html(scratch, t2), "</A>", pad_scratch + nwidth, + ap_rvputs(r, " <a href=\"", anchor, "\">", + ap_escape_html(scratch, t2), "</a>", pad_scratch + nwidth, NULL); /* * The blank before the storm.. er, before the next field. @@ -1458,16 +1453,16 @@ static void output_directories(struct ent **ar, int n, } } else { - ap_rvputs(r, "<LI><A HREF=\"", anchor, "\"> ", t2, - "</A>", NULL); + ap_rvputs(r, "<li /><a href=\"", anchor, "\"> ", t2, + "</a>", NULL); } ap_rputc('\n', r); } if (autoindex_opts & FANCY_INDEXING) { - ap_rputs("</PRE>", r); + ap_rputs("</pre>", r); } else { - ap_rputs("</UL>", r); + ap_rputs("</ul>", r); } } @@ -1651,7 +1646,7 @@ static int index_directory(request_rec *r, apr_dir_close(thedir); if (autoindex_opts & FANCY_INDEXING) { - ap_rputs("<HR>\n", r); + ap_rputs("<hr />\n", r); } emit_tail(r, find_readme(autoindex_conf, r), autoindex_opts & SUPPRESS_PREAMBLE); |