[interchange-cvs] interchange - jon modified code/UserTag/history_scan.tag
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Mon Jul 15 14:14:00 2002
User: jon
Date: 2002-07-15 18:13:37 GMT
Modified: code/UserTag history_scan.tag
Log:
Add optional count parameter to history_scan, which guarantees that the
returned link is at least count # of clicks back in the page history.
Revision Changes Path
1.3 +5 -5 interchange/code/UserTag/history_scan.tag
rev 1.3, prev_rev 1.2
Index: history_scan.tag
=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/code/UserTag/history_scan.tag,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -u -r1.2 -r1.3
--- history_scan.tag 21 Mar 2002 18:08:36 -0000 1.2
+++ history_scan.tag 15 Jul 2002 18:13:36 -0000 1.3
@@ -7,9 +7,9 @@
mv_session_id 1
/);
sub {
- my ($find, $exclude, $default) =3D @_;
- my $ref =3D $Vend::Session->{History}
- or return $Tag->area($default || $Config->{SpecialPage}{catalog});
+ my ($find, $exclude, $default, $opt) =3D @_;
+ $default ||=3D $Config->{SpecialPage}{catalog};
+ my $ref =3D $Vend::Session->{History} or return $Tag->area($default);
my ($hist, $href, $cgi);
$exclude =3D qr/$exclude/ if $exclude;
for(my $i =3D $#$ref; $i >=3D 0; $i--) {
@@ -21,11 +21,11 @@
if($find) {
next unless $ref->[$i][0] =3D~ /$find/;
}
+ next if abs($opt->{count}) >=3D (@$ref - $i);
($href, $cgi) =3D @{$ref->[$i]};
last;
}
- return $Tag->area($default || $Config->{SpecialPage}{catalog})
- if ! $href;
+ return $Tag->area($default) if ! $href;
my $form =3D '';
for(grep !$var_exclude{$_}, keys %$cgi) {
$form .=3D "\n$_=3D";