[scratch name=fail_message interpolate=1]
[perl values]
my $msg = q{};
for(%{$Safe{'values'}}) {
next unless /^mv_error_(.*)/;
my $name = $1;
my $value = delete $Safe{'values'}->{$_};
#my $value = $Safe{'values'}->{$_};
next unless $value;
$msg .= "\n$name: $value\n";
}
sub redo_message {
my($param,$word) = @_;
if($param =~ /mv_credit/) {
" You need to validate your credit card information.\n";
}
elsif ($word =~ /not_a_state/i) {
return "We need a valid two-letter state code like CA.\n";
}
elsif ($word =~ /phone=/i) {
return "Is that really a phone number?\n";
}
elsif ($word =~ /Mv_user/) {
return " Problems with that username. Did you order twice?";
}
elsif ($word =~ /Mv_result/) {
return " Check failed: $param";
}
elsif ($word =~ /zip/i) {
return "We need your zip code to send you mail.\n";
}
elsif ($word =~ /mv_credit_card/) {
return "Please check your credit card information; something might
be wrong\n";
}
else { return "$param: $word\n" }
}
@msg = grep /\S/, split /\n/, $msg;
$msg = '';
for(@msg) {
($var, $val) = split /:\s*/, $_;
$msg .= redo_message($var, $val);
}
$msg .= ' ';
return $msg;
[/perl]
|