more forum work
This commit is contained in:
parent
fa7331bbf0
commit
a96032bf19
1 changed files with 41 additions and 7 deletions
|
|
@ -15,10 +15,26 @@ sub _chopSubject {
|
|||
return substr(_formatSubject($_[0]),0,30);
|
||||
}
|
||||
|
||||
sub _formatApprovePostURL {
|
||||
return WebGUI::URL::append($_[0],"forumOp=approvePost&forumPostId=".$_[1]."&mlog=".$session{form}{mlog});
|
||||
}
|
||||
|
||||
sub _formatDeletePostURL {
|
||||
return WebGUI::URL::append($_[0],"forumOp=deletePost&forumPostId=".$_[1]);
|
||||
}
|
||||
|
||||
sub _formatDenyPostURL {
|
||||
return WebGUI::URL::append($_[0],"forumOp=denyPost&forumPostId=".$_[1]."&mlog=".$session{form}{mlog});
|
||||
}
|
||||
|
||||
sub _formatEditPostURL {
|
||||
return WebGUI::URL::append($_[0],"forumOp=post&forumPostId=".$_[1]);
|
||||
}
|
||||
|
||||
sub _formatLeavePostPendingURL {
|
||||
return WebGUI::URL::page("op=viewMessageLog");
|
||||
}
|
||||
|
||||
sub _formatNextThreadURL {
|
||||
return WebGUI::URL::append($_[0],"forumOp=nextThread&forumThreadId=".$_[1]);
|
||||
}
|
||||
|
|
@ -66,7 +82,8 @@ sub _formatUserProfileURL {
|
|||
}
|
||||
|
||||
sub _getPostTemplateVars {
|
||||
my ($post, $thread, $forum, $var) = @_;
|
||||
my ($post, $thread, $forum, $callback, $var) = @_;
|
||||
$var->{'post.subject.label'} = WebGUI::International::get(237);
|
||||
$var->{'post.subject'} = WebGUI::HTML::filter($post->get("subject"),"none");
|
||||
$var->{'post.message'} = WebGUI::HTML::filter($post->get("message"),$forum->get("filterPosts"));
|
||||
if ($forum->get("allowReplacements")) {
|
||||
|
|
@ -77,30 +94,47 @@ sub _getPostTemplateVars {
|
|||
$sth->finish;
|
||||
}
|
||||
$var->{'post.date'} = _formatPostDate($post->get("dateOfPost"));
|
||||
$var->{'post.date.label'} = WebGUI::International::get(239);
|
||||
$var->{'post.time'} = _formatPostTime($post->get("dateOfPost"));
|
||||
$var->{'post.views'} = $post->get("views");
|
||||
$var->{'post.views.label'} = WebGUI::International::get(514);
|
||||
$var->{'post.status'} = _formatStatus($post->get("status"));
|
||||
$var->{'post.status.label'} = WebGUI::International::get(553);
|
||||
$var->{'post.isLocked'} = $thread->isLocked;
|
||||
$var->{'post.isModerator'} = $forum->isModerator;
|
||||
$var->{'post.user.label'} = WebGUI::International::get(238);
|
||||
$var->{'post.username'} = $post->get("username");
|
||||
$var->{'post.userId'} = $post->get("userId");
|
||||
$var->{'post.userProfile'} = _formatUserProfileURL($post->get("userId"));
|
||||
$var->{'post.id'} = $post->get("forumPostId");
|
||||
$var->{'post.full'} = WebGUI::Template::process(WebGUI::Template::get(1,"Forum/Post"), $var);
|
||||
$var->{'post.reply.label'} = WebGUI::International::get(577);
|
||||
$var->{'post.reply.url'} = _formatReplyPostURL($callback,$post->get("forumPostId"));
|
||||
$var->{'post.edit.label'} = WebGUI::International::get(575);
|
||||
$var->{'post.edit.url'} = _formatEditPostURL($callback,$post->get("forumPostId"));
|
||||
$var->{'post.delete.label'} = WebGUI::International::get(576);
|
||||
$var->{'post.delete.url'} = _formatDeletePostURL($callback,$post->get("forumPostId"));
|
||||
$var->{'post.approve.label'} = WebGUI::International::get(572);
|
||||
$var->{'post.approve.url'} = _formatApprovePostURL($callback,$post->get("forumPostId"));
|
||||
$var->{'post.deny.label'} = WebGUI::International::get(574);
|
||||
$var->{'post.deny.url'} = _formatDenyPostURL($callback,$post->get("forumPostId"));
|
||||
$var->{'post.pending.label'} = WebGUI::International::get(573);
|
||||
$var->{'post.pending.url'} = _formatLeavePostPendingURL();
|
||||
$var->{'post.tools.label'} = WebGUI::International::get(238);
|
||||
return $var;
|
||||
}
|
||||
|
||||
sub _recurseThread {
|
||||
my ($post, $thread, $forum, $depth) = @_;
|
||||
my ($post, $thread, $forum, $depth, $callback) = @_;
|
||||
my @depth_loop;
|
||||
for (my $i=0; $i<$depth; $i++) {
|
||||
push(@depth_loop,"");
|
||||
}
|
||||
my @post_loop;
|
||||
push (@post_loop, _getPostTemplateVars($post, $thread, $forum, {'indent_loop'=>\@depth_loop}));
|
||||
push (@post_loop, _getPostTemplateVars($post, $thread, $forum, $callback, {'indent_loop'=>\@depth_loop}));
|
||||
my $replies = $post->getReplies;
|
||||
foreach my $reply (@{$replies}) {
|
||||
@post_loop = (@post_loop,@{_recurseThread($reply, $thread, $forum, $depth+1)});
|
||||
@post_loop = (@post_loop,@{_recurseThread($reply, $thread, $forum, $depth+1, $callback)});
|
||||
}
|
||||
return \@post_loop;
|
||||
}
|
||||
|
|
@ -182,7 +216,7 @@ sub www_post {
|
|||
value=>$reply->get("forumPostId")
|
||||
});
|
||||
$forum = $reply->getThread->getForum;
|
||||
$var = _getPostTemplateVars($reply, $reply->getThread, $forum, $var);
|
||||
$var = _getPostTemplateVars($reply, $reply->getThread, $forum, $callback, $var);
|
||||
|
||||
$subject = $reply->get("subject");
|
||||
$subject = "Re: ".$subject unless ($subject =~ /^Re:/);
|
||||
|
|
@ -304,9 +338,9 @@ sub www_viewThread {
|
|||
my $post = WebGUI::Forum::Post->new($postId);
|
||||
my $thread = $post->getThread;
|
||||
my $forum = $thread->getForum;
|
||||
my $var = _getPostTemplateVars($post, $thread, $forum);
|
||||
my $var = _getPostTemplateVars($post, $thread, $forum, $callback);
|
||||
my $root = WebGUI::Forum::Post->new($thread->get("rootPostId"));
|
||||
$var->{post_loop} = _recurseThread($root, $thread, $forum, 0);
|
||||
$var->{post_loop} = _recurseThread($root, $thread, $forum, 0, $callback);
|
||||
$var->{'thread.layout.isFlat'} = ($session{user}{discussionLayout} eq "flat");
|
||||
$var->{'thread.layout.isThreaded'} = ($session{user}{discussionLayout} eq "threaded");
|
||||
$var->{'thread.layout.isNested'} = ($session{user}{discussionLayout} eq "nested");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue