aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/CrossSell.pm
diff options
context:
space:
mode:
authormatthew <matthew>2008-02-06 15:28:23 +0000
committermatthew <matthew>2008-02-06 15:28:23 +0000
commit9930a756f73e4b6413a6b8f5a5fd660235f2ac80 (patch)
treec1328d4048bb63bbdae8614d270e621249eccc83 /perllib/CrossSell.pm
parente88dc2a56166cd295e370ddd2b1a6ceecdf13495 (diff)
Delete properly (as the PHP).
Diffstat (limited to 'perllib/CrossSell.pm')
-rw-r--r--perllib/CrossSell.pm9
1 files changed, 4 insertions, 5 deletions
diff --git a/perllib/CrossSell.pm b/perllib/CrossSell.pm
index 1f3cf7c26..229cd73ee 100644
--- a/perllib/CrossSell.pm
+++ b/perllib/CrossSell.pm
@@ -9,7 +9,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: matthew@mysociety.org. WWW: http://www.mysociety.org
#
-# $Id: CrossSell.pm,v 1.8 2008-02-02 12:54:40 matthew Exp $
+# $Id: CrossSell.pm,v 1.9 2008-02-06 15:28:23 matthew Exp $
# Config parameters site needs set to call these functions:
# OPTION_AUTH_SHARED_SECRET
@@ -132,6 +132,7 @@ sub display_advert ($$;$%) {
);
while (@adverts) {
my $rand = int(rand(scalar @adverts));
+ next unless $adverts[$rand];
my ($advert_site, $advert_text) = @{$adverts[$rand]};
my $func = "display_random_${advert_site}_advert";
no strict 'refs';
@@ -142,11 +143,9 @@ sub display_advert ($$;$%) {
return $out;
}
- my @new_adverts;
- foreach my $advert (@adverts) {
- push @new_adverts, $advert if $advert_site ne $advert->[0];
+ for (my $i=0; $i<@adverts; $i++) {
+ delete $adverts[$i] if $advert_site eq $adverts[$i][0];
}
- @adverts = @new_adverts;
}
$q->{scratch} = 'advert=pb';