]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r689261 from trunk:
authorEric Covener <covener@apache.org>
Sat, 29 Nov 2008 21:47:13 +0000 (21:47 +0000)
committerEric Covener <covener@apache.org>
Sat, 29 Nov 2008 21:47:13 +0000 (21:47 +0000)
Add option to insert something in autoindex head.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@721731 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
docs/manual/mod/mod_autoindex.xml
modules/generators/mod_autoindex.c

diff --git a/CHANGES b/CHANGES
index bd80c1e8c639a3be28810bd333071811f7feaf2a..28ad5f08429c5b236ed6d80d97e5106b5cde855b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.2.11
 
+  *) mod_autoindex: add configuration option to insert string
+     in HTML HEAD (IndexHeadInsert). [Nick Kew]
+
   *) Add new LogFormat parameter, %k, which logs the number of
      keepalive requests on this connection for this request.
      PR 45762 [Dan Poirier <poirier pobox.com>, Jim Jagielski]
diff --git a/STATUS b/STATUS
index f5d2d46697a86cfbf66c0c69f4a2fcdda647237d..a4f262fda3dcba09abcbb96174a66e9a430646b8 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -86,10 +86,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-  * mod_autoindex: add option to insert a string into the HTML <HEAD>
-    http://svn.apache.org/viewvc?view=rev&revision=689261
-    +1: niq, rpluem, covener
-
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ New proposals should be added at the end of the list ]
 
index 38d02429bd5a7301c92c093d28424963b3241f12..6491f29b4628a293c5f0cc19a06bbff1bb5392d2 100644 (file)
@@ -937,6 +937,26 @@ Name|Date|Size|Description</syntax>
 </usage>
 </directivesynopsis>
 
+<directivesynopsis>
+<name>IndexHeadInsert</name>
+<description>Inserts text in the HEAD section of an index page.</description>
+<syntax>IndexHeadInsert <var>"markup ..."</var></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>Indexes</override>
+
+<usage>
+    <p>The <directive>IndexHeadInsert</directive> directive specifies a
+    string to insert in the <var>&lt;head&gt;</var> section of the HTML
+    generated for the index page.</p>
+    <example>
+      <title>Example</title>
+      IndexHeadInsert "&lt;link rel=\"sitemap\" href=\"/sitemap.html\"&gt;"
+    </example>
+</usage>
+</directivesynopsis>
+
 <directivesynopsis>
 <name>ReadmeName</name>
 <description>Name of the file that will be inserted at the end
index 3e8153c1535a6403bc835687fcc7435b625f9c0b..1c38cf28c9ba529173ee4aa4ae30f8e0068b405e 100644 (file)
@@ -119,6 +119,7 @@ typedef struct autoindex_config_struct {
 
     char *default_icon;
     char *style_sheet;
+    char *head_insert;
     apr_int32_t opts;
     apr_int32_t incremented_opts;
     apr_int32_t decremented_opts;
@@ -176,6 +177,9 @@ static void emit_preamble(request_rec *r, int xhtml, const char *title)
         ap_rvputs(r, "  <link rel=\"stylesheet\" href=\"", d->style_sheet,
                 "\" type=\"text/css\"", xhtml ? " />\n" : ">\n", NULL);
     }
+    if (d->head_insert != NULL) {
+        ap_rputs(d->head_insert, r);
+    }
     ap_rvputs(r, " </head>\n <body>\n", NULL);
 }
 
@@ -594,6 +598,9 @@ static const command_rec autoindex_cmds[] =
     AP_INIT_TAKE1("IndexStyleSheet", ap_set_string_slot,
                   (void *)APR_OFFSETOF(autoindex_config_rec, style_sheet),
                   DIR_CMD_PERMS, "URL to style sheet"),
+    AP_INIT_TAKE1("IndexHeadInsert", ap_set_string_slot,
+                  (void *)APR_OFFSETOF(autoindex_config_rec, head_insert),
+                  DIR_CMD_PERMS, "String to insert in HTML HEAD section"),
     {NULL}
 };
 
@@ -634,6 +641,8 @@ static void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv)
                                           : base->default_icon;
     new->style_sheet = add->style_sheet ? add->style_sheet
                                           : base->style_sheet;
+    new->head_insert = add->head_insert ? add->head_insert
+                                          : base->head_insert;
     new->icon_height = add->icon_height ? add->icon_height : base->icon_height;
     new->icon_width = add->icon_width ? add->icon_width : base->icon_width;