Fix error where someone didn't have a paidstatus row leading to an 
autovivification error.

        Patch by denise. 

diffs (17 lines):

diff -r 653249cfe994 -r 279e0674d6fa cgi-bin/DW/Setting/Display/AccountLevel.pm
--- a/cgi-bin/DW/Setting/Display/AccountLevel.pm        Mon Jul 13 03:34:01 
2009 +0000
+++ b/cgi-bin/DW/Setting/Display/AccountLevel.pm        Mon Jul 13 05:28:58 
2009 +0000
@@ -48,8 +48,11 @@ sub option {
     my ( $class, $u, $errs, $args ) = @_;
 
     my $paidstatus = DW::Pay::get_paid_status( $u );
-    my $paidtype = "<strong>" . $paidstatus ? DW::Pay::type_name( 
$paidstatus->{typeid} ) : "" . "</strong>";
-    my $expiretime = LJ::mysql_time( $paidstatus->{expiretime} );
+    my $typeid = $paidstatus ? $paidstatus->{typeid} : 
DW::Pay::default_typeid();
+    my $expiretime = "(never)";
+
+    my $paidtype = "<strong>" . DW::Pay::type_name( $typeid ) . "</strong>";
+    $expiretime = LJ::mysql_time( $paidstatus->{expiretime} ) if $paidstatus 
&& ! $paidstatus->{permanent};
 
     if ( $paidstatus && $paidstatus->{expiresin} > 0 && ! 
$paidstatus->{permanent} ) {
         return BML::ml( 'setting.display.accounttype.status', { status => 
$paidtype, exptime => $expiretime } );
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to