]> granicus.if.org Git - apache/commitdiff
Add option to insert something in autoindex head.
authorNick Kew <niq@apache.org>
Tue, 26 Aug 2008 22:10:06 +0000 (22:10 +0000)
committerNick Kew <niq@apache.org>
Tue, 26 Aug 2008 22:10:06 +0000 (22:10 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@689261 13f79535-47bb-0310-9956-ffa450edef68

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

diff --git a/CHANGES b/CHANGES
index c1be181d4d2511068531c0dbbee70cf0aacf9ff8..1c4902ed92e05f79108b1ddc40bc6d3705e108e4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 Changes with Apache 2.3.0
 [ When backported to 2.2.x, remove entry from this file ]
 
+  *) mod_autoindex: add configuration option to insert string
+     in HTML HEAD. [Nick Kew]
+
   *) mod_ssl: implement dynamic mutex callbacks for the benefit of
      OpenSSL.  [Sander Temme]
 
index af4ff1c67649c971b02736e109d8e65070027f94..d5c3a61c5adf7a226292e18783c052c15b1ec029 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;