# used for displaying help texts and other non-mail content
@@ -53,27 +53,25 @@ sub get_text {
# Follow git commit message conventions,
# first line is the Subject/title
my ($title) = ($txt =~ /\A([^\n]*)/s);
- _do_linkify($txt);
+ $ctx->{txt} = \$txt;
$ctx->{-title_html} = ascii_html($title);
-
my $nslash = ($key =~ tr!/!/!);
$ctx->{-upfx} = '../../../' . ('../' x $nslash);
-
- PublicInbox::WwwStream->response($ctx, $code, sub {
- my ($nr, undef) = @_;
- $nr == 1 ? ''.$txt.'
' : undef
- });
+ PublicInbox::WwwStream->response($ctx, $code, \&_do_linkify);
}
sub _do_linkify {
+ my ($nr, $ctx) = @_;
+ return unless $nr == 1;
my $l = PublicInbox::Linkify->new;
- $l->linkify_1($_[0]);
+ my $txt = delete $ctx->{txt};
+ $l->linkify_1($$txt);
if ($hl) {
- $hl->do_hl_text(\($_[0]));
+ $hl->do_hl_text($txt);
} else {
- $_[0] = ascii_html($_[0]);
+ $$txt = ascii_html($$txt);
}
- $_[0] = $l->linkify_2($_[0]);
+ '' . $l->linkify_2($$txt) . '
';
}
sub _srch_prefix ($$) {
@@ -140,19 +138,40 @@ sub inbox_config ($$$) {
my $ibx = $ctx->{-inbox};
push @$hdr, 'Content-Disposition', 'inline; filename=inbox.config';
my $name = dq_escape($ibx->{name});
+ my $inboxdir = '/path/to/top-level-inbox';
$$txt .= <{$k}) or next;
$$txt .= "\t$k = $_\n" for @$v;
}
+ if (my $altid = $ibx->{altid}) {
+ my $base_url = $ibx->base_url($ctx->{env});
+ my $altid_map = $ibx->altid_map;
+ $$txt .= <{$k}) or next;
$$txt .= "\t$k = $v\n";
}
@@ -165,17 +184,21 @@ EOS
my $pi_config = $ctx->{www}->{pi_config};
for my $cr_name (@$cr) {
- my $url = $pi_config->{"coderepo.$cr_name.cgiturl"};
+ my $urls = $pi_config->{"coderepo.$cr_name.cgiturl"};
my $path = "/path/to/$cr_name";
$cr_name = dq_escape($cr_name);
$$txt .= qq([coderepo "$cr_name"]\n);
- if (defined($url)) {
- my $cpath = $path;
- if ($path !~ m![a-z0-9_/\.\-]!i) {
- $cpath = dq_escape($cpath);
- }
- $$txt .= qq(\t; git clone $url "$cpath"\n);
+ if ($urls && scalar(@$urls)) {
+ $$txt .= "\t; ";
+ $$txt .= join(" ||\n\t;\t", map {;
+ my $cpath = $path;
+ if ($path !~ m![a-z0-9_/\.\-]!i) {
+ $cpath = dq_escape($cpath);
+ }
+ qq(git clone $_ "$cpath");
+ } @$urls);
+ $$txt .= "\n";
}
$$txt .= "\tdir = $path\n";
$$txt .= "\tcgiturl = https://example.com/";
@@ -249,6 +272,11 @@ EOF
$QP_URL
+EOF
+ } # $srch
+ my $over = $ibx->over;
+ if ($over) {
+ $$txt .= <