[interchange-cvs] interchange - jon modified lib/Vend/Interpolate.pm
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Fri Jul 12 19:09:01 2002
User: jon
Date: 2002-07-12 23:08:43 GMT
Modified: lib/Vend Interpolate.pm
Log:
Allow customization of <A HREF=3D"..."> more links:
[link-template]<a href=3D"$URL$" target=3D"_top">$ANCHOR$</a>[/link-templat=
e]
Similar to [page-anchor], [prev-anchor], [next-anchor], etc.
Revision Changes Path
2.84 +20 -22 interchange/lib/Vend/Interpolate.pm
rev 2.84, prev_rev 2.83
Index: Interpolate.pm
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.83
retrieving revision 2.84
diff -u -u -r2.83 -r2.84
--- Interpolate.pm 9 Jul 2002 15:17:05 -0000 2.83
+++ Interpolate.pm 12 Jul 2002 23:08:43 -0000 2.84
@@ -1,6 +1,6 @@
# Vend::Interpolate - Interpret Interchange tags
#=20
-# $Id: Interpolate.pm,v 2.83 2002/07/09 15:17:05 mheins Exp $
+# $Id: Interpolate.pm,v 2.84 2002/07/12 23:08:43 jon Exp $
#
# Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
#
@@ -27,7 +27,7 @@
require Exporter;
@ISA =3D qw(Exporter);
=20
-$VERSION =3D substr(q$Revision: 2.83 $, 10);
+$VERSION =3D substr(q$Revision: 2.84 $, 10);
=20
@EXPORT =3D qw (
=20
@@ -3552,8 +3552,18 @@
$more_id,
$form_arg,
$session,
+ $link_template,
);
=20
+sub more_link_template {
+ my ($anchor, $arg, $form_arg) =3D @_;
+ my $url =3D tag_area( "scan/MM=3D$arg", '', { form =3D> $form_arg } );
+ my $lt =3D $link_template;
+ $lt =3D~ s/\$URL\$/$url/g;
+ $lt =3D~ s/\$ANCHOR\$/$anchor/g;
+ return $lt;
+}
+
sub more_link {
my($inc, $pa) =3D @_;
my ($next, $last, $arg);
@@ -3577,11 +3587,7 @@
else {
$pa =3D~ s/__BORDER__/$border/e;
$arg =3D "$session:$next:$last:$chunk";
- $list .=3D '<A HREF=3D"';
- $list .=3D tag_area( "scan/MM=3D$arg", '', { form =3D> $form_arg });
- $list .=3D '">';
- $list .=3D $pa;
- $list .=3D '</A> ';
+ $list .=3D more_link_template($pa, $arg, $form_arg) . ' ';
}
return $list;
}
@@ -3631,6 +3637,9 @@
$border =3D~ s/\D//g;
}
=20
+ $r =3D~ s:\[link[-_]template\]($All)\[/link[-_]template\]::i;
+ $link_template =3D $1 || '<A HREF=3D"$URL$">$ANCHOR$</A>';
+
if(! $chunk or $chunk >=3D $total) {
return '';
}
@@ -3663,11 +3672,7 @@
$arg .=3D ':';
$arg .=3D $first - 1;
$arg .=3D ":$chunk";
- $list .=3D '<A HREF=3D"';
- $list .=3D tag_area( "scan/MM=3D$arg", '', { form =3D> $form_arg });
- $list .=3D '">';
- $list .=3D $prev_anchor;
- $list .=3D '</A> ';
+ $list .=3D more_link_template($prev_anchor, $arg, $form_arg) . ' ';
}
}
else {
@@ -3689,11 +3694,7 @@
$last =3D $next + $chunk - 1;
$last =3D $last > ($total - 1) ? $total - 1 : $last;
$arg =3D "$session:$next:$last:$chunk";
- $next_tag .=3D '<A HREF=3D"';
- $next_tag .=3D tag_area( "scan/MM=3D$arg", '', { form =3D> $form_arg });
- $next_tag .=3D '">';
- $next_tag .=3D $next_anchor;
- $next_tag .=3D '</A>';
+ $next_tag .=3D more_link_template($next_anchor, $arg, $form_arg) . ' ';
}
else {
$r =3D~ s:\[next[-_]anchor\]($All)\[/next[-_]anchor\]::i;
@@ -3757,11 +3758,8 @@
if ($q->{mv_alpha_list}) {
for my $record (@{$q->{mv_alpha_list}}) {
$arg =3D "$session:$record->[2]:$record->[3]:" . ($record->[3] - $recor=
d->[2] + 1);
- $list .=3D '<A HREF=3D"';
- $list .=3D tag_area( "scan/MM=3D$arg", '', { form =3D> $form_arg });
- $list .=3D '">';
- $list .=3D substr($record->[0],0,$record->[1]);
- $list .=3D '</A> ';
+ my $letters =3D substr($record->[0], 0, $record->[1]);
+ $list .=3D more_link_template($letters, $arg, $form_arg) . ' ';
}
} else {
foreach $inc ($b .. $e) {