X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FConfig.pm;h=4cc7e9d2895510b91100aeedd2e8f11805e9fbcb;hb=4723d91a6b37571119d57413b3eef4b47d1e3d73;hp=3a6e7cf366290b4e2f9e83ce8294488f2f38ce73;hpb=759eb8a67ce40a4b881cc058c25a747e851669b7;p=debbugs.git diff --git a/Debbugs/Config.pm b/Debbugs/Config.pm index 3a6e7cf..4cc7e9d 100644 --- a/Debbugs/Config.pm +++ b/Debbugs/Config.pm @@ -78,10 +78,11 @@ BEGIN { ], text => [qw($gBadEmailPrefix $gHTMLTail $gHTMLExpireNote), ], + cgi => [qw($gLibravatarUri $gLibravatarCacheDir $gLibravatarUriOptions @gLibravatarBlacklist)], config => [qw(%config)], ); @EXPORT_OK = (); - Exporter::export_ok_tags(qw(globals text config)); + Exporter::export_ok_tags(keys %EXPORT_TAGS); $EXPORT_TAGS{all} = [@EXPORT_OK]; $ENV{HOME} = '' if not defined $ENV{HOME}; } @@ -364,37 +365,6 @@ Default: list_domain set_default(\%config,'bug_subscription_domain',$config{list_domain}); -=head2 CGI Options - -=over - -=item libravatar_uri - -URI to a libravatar configuration. If empty or undefined, libravatar -support will be disabled. Defaults to -http://cdn.libravatar.org/avatar/ which uses a federated Avatar system -and falls back to gravatar if necessary. - -=cut - -set_default(\%config,'libravatar_uri',"http://cdn.libravatar.org/avatar/"); - -=item libravatar_uri_options - -Options to append to the md5_hex of the e-mail. This sets the default -avatar used when an avatar isn't available. Currently defaults to -'?d=retro', which causes a bitmap-looking avatar to be displayed for -unknown e-mails. - -Other options which make sense include ?d=404, ?d=wavatar, etc. See -the API of libravatar for details. - -=cut - -set_default(\%config,'libravatar_uri_options','?d=retro'); - - -=back =head2 Misc Options @@ -787,6 +757,16 @@ Default: $config{spool_dir}/user set_default(\%config,'usertag_dir',$config{spool_dir}.'/user'); set_default(\%config,'incoming_dir','incoming'); + +=item web_dir $gWebDir + +Directory where base html files are kept. Should normally be the same +as the web server's document root. + +Default: /var/lib/debbugs/www + +=cut + set_default(\%config,'web_dir','/var/lib/debbugs/www'); set_default(\%config,'doc_dir','/var/lib/debbugs/www/txt'); set_default(\%config,'lib_path','/usr/lib/debbugs'); @@ -987,6 +967,68 @@ set_default(\%config,'spam_rules_dir','/usr/share/spamassassin'); =back +=head2 CGI Options + +=over + +=item libravatar_uri $gLibravatarUri + +URI to a libravatar configuration. If empty or undefined, libravatar +support will be disabled. Defaults to +libravatar.cgi, our internal federated libravatar system. + +=cut + +set_default(\%config,'libravatar_uri','http://'.$config{cgi_domain}.'/libravatar.cgi?email='); + +=item libravatar_uri_options $gLibravatarUriOptions + +Options to append to the md5_hex of the e-mail. This sets the default +avatar used when an avatar isn't available. Currently defaults to +'?d=retro', which causes a bitmap-looking avatar to be displayed for +unknown e-mails. + +Other options which make sense include ?d=404, ?d=wavatar, etc. See +the API of libravatar for details. + +=cut + +set_default(\%config,'libravatar_uri_options',''); + +=item libravatar_default_image + +Default image to serve for libravatar if there is no avatar for an +e-mail address. By default, this is a 1x1 png. [This will also be the +image served if someone specifies avatar=no.] + +Default: $config{web_dir}/1x1.png + +=cut + +set_default(\%config,'libravatar_default_image',$config{web_dir}.'/1x1.png'); + +=item libravatar_cache_dir + +Directory where cached libravatar images are stored + +Default: $config{web_dir}/libravatar/ + +=cut + +set_default(\%config,'libravatar_cache_dir',$config{web_dir}.'/libravatar/'); + +=item libravatar_blacklist + +Array of regular expressions to match against emails, domains, or +images to only show the default image + +Default: empty array + +=cut + +set_default(\%config,'libravatar_blacklist',[]); + +=back =head2 Text Fields @@ -1088,7 +1130,7 @@ sub read_config{ die "Error in configuration file: $@" if $@; # Now what we do is check out the contents of %EXPORT_TAGS to see exactly which variables # we want to glob in from the configuration file - for my $variable (@{$EXPORT_TAGS{globals}}) { + for my $variable (map {$_ =~ /^(?:config|all)$/ ? () : @{$EXPORT_TAGS{$_}}} keys %EXPORT_TAGS) { my ($hash_name,$glob_name,$glob_type) = __convert_name($variable); my $var_glob = $cpt->varglob($glob_name); my $value; #= $cpt->reval("return $variable");