diff --git a/lib/WebGUI/Forum/Web.pm b/lib/WebGUI/Forum/Web.pm index 1c154ba73..3e350cd4a 100644 --- a/lib/WebGUI/Forum/Web.pm +++ b/lib/WebGUI/Forum/Web.pm @@ -86,6 +86,23 @@ sub _getPostTemplateVars { $var->{'post.subject.label'} = WebGUI::International::get(229); $var->{'post.subject'} = WebGUI::HTML::filter($post->get("subject"),"none"); $var->{'post.message'} = WebGUI::HTML::filter($post->get("message"),$forum->get("filterPosts")); + if ($post->get("contentType") eq "mixed") { + unless ($var->{'post.message'} =~ /\
{'post.message'} =~ /\
{'post.message'} =~ /\

{'post.message'} =~ s/\n/\
/g; + } + } elsif ($post->get("contentType") eq "text") { + $var->{'post.message'} =~ s/\t/    /g; + $var->{'post.message'} =~ s/ / /g; + $var->{'post.message'} =~ s/\n/\
/g; + } elsif ($post->get("contentType") eq "code") { + $var->{'post.message'} =~ s/&/&/g; + $var->{'post.message'} =~ s/\{'post.message'} =~ s/\>/>/g; + $var->{'post.message'} =~ s/\n/\
/g; + $var->{'post.message'} =~ s/\t/    /g; + $var->{'post.message'} =~ s/ / /g; + $var->{'post.message'} = '

'.$var->{'post.message'}.'
'; + } if ($forum->get("allowReplacements")) { my $sth = WebGUI::SQL->read("select pattern,replaceWith from forumReplacement"); while (my ($pattern,$replaceWith) = $sth->array) { @@ -192,7 +209,7 @@ sub viewForum { $last = WebGUI::Forum::Post->new($thread->{lastPostId}); } my @rating_loop; - for (my $i=0;$i>=$thread->{rating};$i++) { + for (my $i=0;$i<=$thread->{rating};$i++) { push(@rating_loop,{'thread.rating_loop.count'=>$i}); } push(@thread_loop,{ @@ -289,6 +306,7 @@ sub www_post { action=>$callback }); my $defaultSubscribeValue = 0; + my $contentType = "mixed"; if ($var->{isReply}) { my $reply = WebGUI::Forum::Post->new($session{form}{parentId}); return WebGUI::Privilege::insufficient unless ($reply->getThread->getForum->canPost); @@ -342,10 +360,12 @@ sub www_post { name=>"forumPostId", value=>$post->get("forumPostId") }); + $contentType = $post->get("contentType"); } $var->{'contentType.label'} = WebGUI::International::get(1007); $var->{'contentType.form'} = WebGUI::Form::contentType({ - name=>'contentType' + name=>'contentType', + value=>[$contentType] }); $var->{isModerator} = $forum->isModerator; $var->{allowReplacements} = $forum->get("allowReplacements"); @@ -388,12 +408,12 @@ sub www_postSave { my $postId = $session{form}{forumPostId}; my %postData = ( message=>$session{form}{message}, - subject=>$session{form}{subject} + subject=>$session{form}{subject}, + contentType=>$session{form}{contentType} ); my %postDataNew = ( userId=>$session{user}{userId}, - username=>($session{form}{visitorName} || $session{user}{alias}), - contentType=>$session{form}{contentType} + username=>($session{form}{visitorName} || $session{user}{alias}) ); if ($session{form}{parentId} > 0) { # reply %postData = (%postData, %postDataNew);