You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Rodent of Unusual Size <co...@hyperreal.com> on 1997/06/23 13:36:59 UTC

cvs commit: apache/src CHANGES mod_dir.c

coar        97/06/23 04:36:58

  Modified:    src       CHANGES mod_dir.c
  Log:
  	Add IconHeight and IconWidth to mod_dir's IndexOptions
  	directive.  These allow the specification of HEIGHT and
  	WIDTH attributes in the IMG tags emitted when FancyIndexing
  	is enabled.
  
  Reviewed by:	Randy Terbush, Sameer Parekh
  
  Revision  Changes    Path
  1.288     +4 -0      apache/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.287
  retrieving revision 1.288
  diff -C3 -r1.287 -r1.288
  *** CHANGES	1997/06/16 06:06:21	1.287
  --- CHANGES	1997/06/23 11:36:56	1.288
  ***************
  *** 1,5 ****
  --- 1,9 ----
    Changes with Apache 1.3
    
  +   *) Added IconHeight and IconWidth to mod_dir's IndexOptions directive.
  +      When used together, these cause mod_dir to emit HEIGHT and WIDTH
  +      attributes in the FancyIndexing IMG tags.  [Ken Coar]
  + 
      *) Added NT support [Ben Laurie and Ambarish Malpani <am...@valicert.com>]
    
    Changes with Apache 1.2
  
  
  
  1.29      +62 -4     apache/src/mod_dir.c
  
  Index: mod_dir.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/mod_dir.c,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -C3 -r1.28 -r1.29
  *** mod_dir.c	1997/06/17 00:09:14	1.28
  --- mod_dir.c	1997/06/23 11:36:56	1.29
  ***************
  *** 86,91 ****
  --- 86,97 ----
    #define SUPPRESS_SIZE 16
    #define SUPPRESS_DESC 32
    
  + /*
  +  * These are the dimensions of the default icons supplied with Apache.
  +  */
  + #define DEFAULT_ICON_WIDTH 20
  + #define DEFAULT_ICON_HEIGHT 22
  + 
    struct item {
        char *type;
        char *apply_to;
  ***************
  *** 97,102 ****
  --- 103,110 ----
    
        char *default_icon;
        char *index_names;
  +     int icon_width;
  +     int icon_height;
      
        array_header *icon_list, *alt_list, *desc_list, *ign_list;
        array_header *hdr_list, *rdme_list, *opts_list;
  ***************
  *** 192,197 ****
  --- 200,206 ----
    const char *add_opts(cmd_parms *cmd, void *d, const char *optstr) {
        char *w;
        int opts = 0;
  +     dir_config_rec *d_cfg = (dir_config_rec *) d;
    
        while(optstr[0]) {
            w = getword_conf(cmd->pool, &optstr);
  ***************
  *** 209,214 ****
  --- 218,247 ----
                opts |= SUPPRESS_DESC;
            else if(!strcasecmp(w,"None"))
                opts = 0;
  + 	else if (! strncasecmp (w, "IconWidth", 9)) {
  + 	    if (strchr (w, '=') != NULL) {
  + 		const char *x = pstrdup (cmd->pool, w);
  + 		char *val;
  + 		val = getword (cmd->pool, &x, '=');
  + 		val = getword (cmd->pool, &x, '=');
  + 		d_cfg->icon_width = atoi(val);
  + 	    }
  + 	    else {
  + 		d_cfg->icon_width = DEFAULT_ICON_WIDTH;
  + 	    }
  + 	}
  + 	else if (! strncasecmp (w, "IconHeight", 10)) {
  + 	    if (strchr (w, '=') != NULL) {
  + 		const char *x = pstrdup (cmd->pool, w);
  + 		char *val;
  + 		val = getword (cmd->pool, &x, '=');
  + 		val = getword (cmd->pool, &x, '=');
  + 		d_cfg->icon_height = atoi(val);
  + 	    }
  + 	    else {
  + 		d_cfg->icon_height = DEFAULT_ICON_HEIGHT;
  + 	    }
  + 	}
    	else
    	    return "Invalid directory indexing option";
        }
  ***************
  *** 256,261 ****
  --- 289,296 ----
            (dir_config_rec *) pcalloc (p, sizeof(dir_config_rec));
    
        new->index_names = NULL;
  +     new->icon_width = 0;
  +     new->icon_height = 0;
        new->icon_list = make_array (p, 4, sizeof (struct item));
        new->alt_list = make_array (p, 4, sizeof (struct item));
        new->desc_list = make_array (p, 4, sizeof (struct item));
  ***************
  *** 275,280 ****
  --- 310,317 ----
    
        new->default_icon = add->default_icon?add->default_icon:base->default_icon;
        new->index_names = add->index_names? add->index_names: base->index_names;
  +     new->icon_height = add->icon_height ? add->icon_height : base->icon_height;
  +     new->icon_width = add->icon_width ? add->icon_width : base->icon_width;
    
        new->alt_list = append_arrays (p, add->alt_list, base->alt_list);
        new->ign_list = append_arrays (p, add->ign_list, base->ign_list);
  ***************
  *** 579,587 ****
    
        if(dir_opts & FANCY_INDEXING) {
            rputs("<PRE>", r);
  !         if((tp = find_default_icon(d,"^^BLANKICON^^")))
                rvputs(r, "<IMG SRC=\"", escape_html(scratch, tp),
  ! 		   "\" ALT=\"     \"> ", NULL);
            rputs("Name                   ", r);
            if(!(dir_opts & SUPPRESS_LAST_MOD))
                rputs("Last modified     ", r);
  --- 616,635 ----
    
        if(dir_opts & FANCY_INDEXING) {
            rputs("<PRE>", r);
  !         if((tp = find_default_icon(d,"^^BLANKICON^^"))) {
                rvputs(r, "<IMG SRC=\"", escape_html(scratch, tp),
  ! 		   "\" ALT=\"     \"", NULL);
  ! 	    if (d->icon_width && d->icon_height) {
  ! 		rprintf
  ! 		    (
  ! 			r,
  ! 			" HEIGHT=\"%d\" WIDTH=\"%d\"",
  ! 			d->icon_height,
  ! 			d->icon_width
  ! 		    );
  ! 	    }
  ! 	    rputs ("> ", r);
  ! 	}
            rputs("Name                   ", r);
            if(!(dir_opts & SUPPRESS_LAST_MOD))
                rputs("Last modified     ", r);
  ***************
  *** 639,646 ****
    		       escape_html(scratch, ar[x]->icon ?
    				   ar[x]->icon : d->default_icon),
    		       "\" ALT=\"[", (ar[x]->alt ? ar[x]->alt : "   "),
  ! 		       "]\">", NULL);
  !             }
                if(dir_opts & ICONS_ARE_LINKS) 
                    rputs("</A>", r);
    
  --- 687,704 ----
    		       escape_html(scratch, ar[x]->icon ?
    				   ar[x]->icon : d->default_icon),
    		       "\" ALT=\"[", (ar[x]->alt ? ar[x]->alt : "   "),
  ! 		       "]\"", NULL);
  ! 		if (d->icon_width && d->icon_height) {
  ! 		    rprintf
  ! 			(
  ! 			    r,
  ! 			    " HEIGHT=\"%d\" WIDTH=\"%d\"",
  ! 			    d->icon_height,
  ! 			    d->icon_width
  ! 			);
  ! 		}
  ! 		rputs (">", r);
  ! 	    }
                if(dir_opts & ICONS_ARE_LINKS) 
                    rputs("</A>", r);
    
  
  
  

Re: cvs commit: apache/src CHANGES mod_dir.c

Posted by Brian Behlendorf <br...@organic.com>.
At 04:36 AM 6/23/97 -0700, Rodent of Unusual Size wrote:
>coar        97/06/23 04:36:58
>
>  Modified:    src       CHANGES mod_dir.c
>  Log:
>  	Add IconHeight and IconWidth to mod_dir's IndexOptions
>  	directive.  These allow the specification of HEIGHT and
>  	WIDTH attributes in the IMG tags emitted when FancyIndexing
>  	is enabled.

Would anyone be setting the width and not the height dimension?  How about
just one directive?  (sorry I missed debate about this option)

	Brian

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