fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
fu ([personal profile] fu) wrote in [site community profile] changelog2011-04-20 02:53 am

[dw-free] PM subject unreasonably large

[commit: http://hg.dwscoalition.org/dw-free/rev/1990cc16e9d4]

http://bugs.dwscoalition.org/show_bug.cgi?id=3598

Limit to 255 characters.

Patch by [personal profile] fu.

Files modified:
  • htdocs/inbox/compose.bml
  • htdocs/inbox/compose.bml.text
--------------------------------------------------------------------------------
diff -r 73973c3e26ea -r 1990cc16e9d4 htdocs/inbox/compose.bml
--- a/htdocs/inbox/compose.bml	Tue Apr 19 22:27:40 2011 +0800
+++ b/htdocs/inbox/compose.bml	Wed Apr 20 10:53:12 2011 +0800
@@ -45,6 +45,7 @@ body<=
     my $msg_body = ''; # reply body
     my $msg_parent = ''; # Hidden msg field containing id of parent message
     my $msg_limit = $remote->count_usermessage_length;
+    my $subject_limit = 255;
     my $force = 0; # flag for if user wants to force an empty PM
 
     my @errors;
@@ -63,6 +64,13 @@ body<=
             my $msg_subject_text = $POST{'msg_subject'};
             push @errors, $ML{'.error.text.encoding.subject'}
                 unless LJ::text_in($msg_subject_text);
+            my ( $subject_length_b, $subject_length_c ) = LJ::text_length( $msg_subject_text );
+            push @errors, BML::ml( ".error.subject.length",
+                {
+                    subject_length => LJ::commafy( $subject_length_c ),
+                    subject_limit  => LJ::commafy( $subject_limit ),
+                } )
+                unless $subject_length_c <= $subject_limit;
 
             # test encoding and length
             my $msg_body_text = $POST{'msg_body'};
@@ -275,6 +283,7 @@ body<=
     $body .= LJ::html_text({
                 name    => 'msg_subject',
                 size    => '50',
+                maxlength => $subject_limit,
                 value   => $POST{'msg_subject'} || $msg_subject,
                 class   => 'subj-t'
              });
diff -r 73973c3e26ea -r 1990cc16e9d4 htdocs/inbox/compose.bml.text
--- a/htdocs/inbox/compose.bml.text	Tue Apr 19 22:27:40 2011 +0800
+++ b/htdocs/inbox/compose.bml.text	Wed Apr 20 10:53:12 2011 +0800
@@ -9,6 +9,8 @@
 .error.no.username=Please enter a valid username
 
 .error.rate.limit=This message will exceed your limit and cannot be sent.[[up]]
+
+.error.subject.length=Subject is too long ([[subject_length]] characters). It should not exceed [[subject_limit]] characters.
 
 .error.text.encoding.subject=Invalid text encoding for message subject
 
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org