[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) {