httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Behlendorf <br...@organic.com>
Subject Re: 1.2b2 addition: SuppressHTMLPreamble Option (fwd)
Date Thu, 12 Dec 1996 00:17:13 GMT

*If* this is made a straightforward directive rather than an "Option" argument,
I could see putting this in 1.2/patches/.

	Brian

On Wed, 11 Dec 1996, Rob Hartill wrote:
> We've seen this before but he's sent it again:   (acked)
> 
> ----- Forwarded message from =?KOI8-R?Q?Andrey_Chernov=2C_=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?=
-----
> 
> Date: Wed, 11 Dec 1996 22:57:55 +0300 (MSK)
> From: =?KOI8-R?Q?Andrey_Chernov=2C_=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?= <ache@nagual.ru>
> X-Sender: ache@lsd.relcom.eu.net
> To: apache-bugs@apache.org
> Subject: 1.2b2 addition: SuppressHTMLPreamble Option
> Message-ID: <Pine.BSF.3.95.961211225547.14193A-100000@lsd.relcom.eu.net>
> MIME-Version: 1.0
> Content-Type: TEXT/PLAIN; charset=US-ASCII
> 
> 
>    Currently it is impossible to suppress initial HTML preamble for
>    directories, i.e.
> 
>    <HEAD><TITLE>Index of directory</TITLE></HEAD><BODY>
> 
>    It means that it is impossible to change <TITLE> or add any <META
>    HTTP-EQUIV...> tags (f.e. for character set indication) to <HEAD>
>    section or change <BODY> attributes (like BACKGROUND=...) without HTML
>    syntax violation (.asis, cern_meta, mod_headers, etc. not helps here
>    too).
>    
>    I add SuppressHTMLPreamble option to IndexOptions. When this option is
>    set and HEADER.html (or what you set as it) is present and readable,
>    standard
>    <HEAD><TITLE>Index of directory</TITLE></HEAD><BODY>
>    preamble will be suppressed assuming you have right HTML preamble in
>    your HEADER.html. It solves all problems mentioned above.
> 
> *** src/mod_dir.c.orig	Sun Dec  1 23:28:59 1996
> --- src/mod_dir.c	Wed Dec 11 21:54:12 1996
> ***************
> *** 81,86 ****
> --- 81,87 ----
>   #define SUPPRESS_LAST_MOD 8
>   #define SUPPRESS_SIZE 16
>   #define SUPPRESS_DESC 32
> + #define SUPPRESS_HTML_PREAMBLE 64
>   
>   struct item {
>       char *type;
> ***************
> *** 203,208 ****
> --- 204,211 ----
>               opts |= SUPPRESS_SIZE;
>           else if(!strcasecmp(w,"SuppressDescription"))
>               opts |= SUPPRESS_DESC;
> + 	else if(!strcasecmp(w,"SuppressHTMLPreamble"))
> + 	    opts |= SUPPRESS_HTML_PREAMBLE;
>           else if(!strcasecmp(w,"None"))
>               opts = 0;
>   	else
> ***************
> *** 402,409 ****
>    * Actually generating output
>    */
>   
>   
> ! int insert_readme(char *name, char *readme_fname, int rule, request_rec *r) {
>       char *fn;
>       FILE *f;
>       struct stat finfo;
> --- 405,419 ----
>    * Actually generating output
>    */
>   
> + void put_html_preamble(char *title_name, request_rec *r)
> + {
> + 	rvputs(r, "<HEAD><TITLE>Index of ", title_name,
> + 	       "</TITLE></HEAD><BODY>\n", NULL);
> + }
>   
> ! int insert_readme(char *name, char *readme_fname, int rule,
> ! 		  char *title_name, request_rec *r)
> ! {
>       char *fn;
>       FILE *f;
>       struct stat finfo;
> ***************
> *** 417,428 ****
>           if(stat(fn,&finfo) == -1)
>               return 0;
>           plaintext=1;
> -         if(rule) rputs("<HR>\n", r);
> -         rputs("<PRE>\n", r);
>       }
> -     else if (rule) rputs("<HR>\n", r);
>       if(!(f = pfopen(r->pool,fn,"r")))
>           return 0;
>       if (!plaintext)
>   	send_fd(f, r);
>       else
> --- 427,440 ----
>           if(stat(fn,&finfo) == -1)
>               return 0;
>           plaintext=1;
>       }
>       if(!(f = pfopen(r->pool,fn,"r")))
>           return 0;
> +     if(!rule && plaintext && title_name != NULL)
> + 	put_html_preamble(title_name, r);
> +     if(rule) rputs("<HR>\n", r);
> +     if(plaintext) rputs("<PRE>\n", r);
> + 
>       if (!plaintext)
>   	send_fd(f, r);
>       else
> ***************
> *** 712,722 ****
>       while (title_endp > title_name && *title_endp == '/')
>   	*title_endp-- = '\0';
>       
> !     rvputs(r, "<HEAD><TITLE>Index of ", title_name, "</TITLE></HEAD><BODY>\n",
> ! 	   NULL);
>   
> !     if((!(tmp = find_header(dir_conf,r))) || (!(insert_readme(name,tmp,0,r))))
>           rvputs(r, "<H1>Index of ", title_name, "</H1>\n", NULL);
>   
>       /* 
>        * Since we don't know how many dir. entries there are, put them into a 
> --- 724,741 ----
>       while (title_endp > title_name && *title_endp == '/')
>   	*title_endp-- = '\0';
>       
> !     if(!(dir_opts & SUPPRESS_HTML_PREAMBLE))
> ! 	put_html_preamble(title_name, r);
>   
> !     if((!(tmp = find_header(dir_conf,r))) ||
> !        (!(insert_readme(name, tmp, 0,
> ! 			((dir_opts & SUPPRESS_HTML_PREAMBLE) ?
> ! 			title_name : NULL), r))))
> !     {
> ! 	if(dir_opts & SUPPRESS_HTML_PREAMBLE)
> ! 	    put_html_preamble(title_name, r);
>           rvputs(r, "<H1>Index of ", title_name, "</H1>\n", NULL);
> +     }
>   
>       /* 
>        * Since we don't know how many dir. entries there are, put them into a 
> ***************
> *** 751,757 ****
>   
>       if (dir_opts & FANCY_INDEXING)
>           if((tmp = find_readme(dir_conf, r)))
> !             insert_readme(name,tmp,1,r);
>       else {
>           rputs("</UL>", r);
>       }
> --- 770,776 ----
>   
>       if (dir_opts & FANCY_INDEXING)
>           if((tmp = find_readme(dir_conf, r)))
> !             insert_readme(name,tmp,1,NULL,r);
>       else {
>           rputs("</UL>", r);
>       }
> 
> 
> 
> -- 
> Andrey A. Chernov
> <ache@nagual.ru>
> http://www.nagual.ru/~ache/
> 
> 
> ----- End of forwarded message from =?KOI8-R?Q?Andrey_Chernov=2C_=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?=
-----
> 
> -- 
> Rob Hartill.       Internet Movie Database Ltd.    http://www.imdb.com/  
> 
> 

--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--
brian@organic.com  www.apache.org  hyperreal.com  http://www.organic.com/JOBS


Mime
View raw message