sub ext_msg {
my ($ctx) = @_;
my $pi_config = $ctx->{pi_config};
- my $listname = $ctx->{listname};
+ my $inbox = $ctx->{inbox};
my $mid = $ctx->{mid};
+ my $cgi = $ctx->{cgi};
+ my $env = $cgi->{env};
eval { require PublicInbox::Search };
my $have_xap = $@ ? 0 : 1;
foreach my $k (keys %$pi_config) {
$k =~ /\Apublicinbox\.([A-Z0-9a-z-]+)\.url\z/ or next;
- my $list = $1;
- next if $list eq $listname;
+ my $name = $1;
+ next if $name eq $inbox;
- my $git_dir = $pi_config->{"publicinbox.$list.mainrepo"};
+ my $git_dir = $pi_config->{"publicinbox.$name.mainrepo"};
defined $git_dir or next;
- my $url = $pi_config->{"publicinbox.$list.url"};
+ my $url = $pi_config->{"publicinbox.$name.url"};
defined $url or next;
$url =~ s!/+\z!!;
+ $url = PublicInbox::Hval::prurl($env, $url);
# try to find the URL with Xapian to avoid forking
if ($have_xap) {
eval { require PublicInbox::Msgmap };
my $have_mm = $@ ? 0 : 1;
- my $cgi = $ctx->{cgi};
my $base_url = $cgi->base->as_string;
if ($have_mm) {
my $tmp_mid = $mid;
my $url;
again:
- $url = $base_url . $listname;
+ $url = $base_url . $inbox;
unshift @pfx, { git_dir => $ctx->{git_dir}, url => $url };
foreach my $pfx (@pfx) {
my $git_dir = delete $pfx->{git_dir} or next;
if (@EXT_URL && index($mid, '@') >= 0) {
$code = 300;
$s .= "\nPerhaps try an external site:\n\n";
- my $env = $cgi->{env};
- foreach my $u (@EXT_URL) {
- $u = PublicInbox::Hval::prurl($env, $u);
+ foreach my $url (@EXT_URL) {
+ my $u = PublicInbox::Hval::prurl($env, $url);
my $r = sprintf($u, $href);
my $t = sprintf($u, $html);
$s .= qq{<a\nhref="$r">$t</a>\n};