Fix some issues with draft metadata and not escaping things.
Patch by afuna.
diffs (60 lines):
diff -r 4656f7e79ae4 -r 6acc1456cefe htdocs/tools/endpoints/draft.bml
--- a/htdocs/tools/endpoints/draft.bml Fri Mar 26 01:13:03 2010 +0000
+++ b/htdocs/tools/endpoints/draft.bml Fri Mar 26 14:38:49 2010 +0000
@@ -39,7 +39,8 @@ _c?>
# This property thaws the contents of the userprop 'draft_properties' and
# sends them back as a JS object.
if ( defined $GET{getProperties} ) {
- my $rv = Storable::thaw( $u->prop( 'draft_properties' ) || '' );
+ my $rv = $u->prop( 'draft_properties' ) ? Storable::thaw( $u->prop(
+'draft_properties' ) ) : {};
BML::set_content_type('text/javascript; charset=utf-8');
BML::finish();
diff -r 4656f7e79ae4 -r 6acc1456cefe htdocs/update.bml
--- a/htdocs/update.bml Fri Mar 26 01:13:03 2010 +0000
+++ b/htdocs/update.bml Fri Mar 26 14:38:49 2010 +0000
@@ -576,11 +576,13 @@ head<=
$draft = LJ::ejs_string($remote->prop('entry_draft'));
%draft_properties = $remote->prop( 'draft_properties' ) ?
%{Storable::thaw( $remote->prop( 'draft_properties' ) )} : ' ';
+ %draft_properties = map { $_ => LJ::ejs_string( $draft_properties{$_}
) }
+ qw( subject userpic taglist moodid mood location1 music
adultreason commentset commentscr adultcnt );
}
my $eMLautosave = LJ::ejs(BML::ml('.draft.autosave', { 'time' =>
'[[time]]' }));
my $eMLconfirm = LJ::ejs( BML::ml( '.draft.confirm2',
- { 'subjectline' => LJ::ejs_string( $draft_properties{subject}
) } ) );
+ { 'subjectline' => $draft_properties{subject}} ) );
my $eMLrestored = LJ::ejs($ML{'.draft.restored'});
# Setup draft saving and try to restore from a draft
@@ -610,17 +612,17 @@ head<=
// These JS variables contain the contents of the various draft fields.
var restoredDraft = $draft;
- var restoredSubject = '$draft_properties{subject}';
- var restoredUserpic = '$draft_properties{userpic}';
- var restoredTaglist = '$draft_properties{taglist}';
- var restoredMoodID = '$draft_properties{moodid}';
- var restoredMood = '$draft_properties{mood}';
- var restoredLocation = '$draft_properties{location1}';
- var restoredMusic = '$draft_properties{music}';
- var restoredAdultReason = '$draft_properties{adultreason}';
- var restoredCommentSet = '$draft_properties{commentset}';
- var restoredCommentScr = '$draft_properties{commentscr}';
- var restoredAdultCnt = '$draft_properties{adultcnt}';
+ var restoredSubject = $draft_properties{subject};
+ var restoredUserpic = $draft_properties{userpic};
+ var restoredTaglist = $draft_properties{taglist};
+ var restoredMoodID = $draft_properties{moodid};
+ var restoredMood = $draft_properties{mood};
+ var restoredLocation = $draft_properties{location1};
+ var restoredMusic = $draft_properties{music};
+ var restoredAdultReason = $draft_properties{adultreason};
+ var restoredCommentSet = $draft_properties{commentset};
+ var restoredCommentScr = $draft_properties{commentscr};
+ var restoredAdultCnt = $draft_properties{adultcnt};
function init_update_bml() {
$initDraft
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog