diff --git a/ReplyTo/class.replyto.plugin.php b/ReplyTo/class.replyto.plugin.php index 298cab1..2113438 100644 --- a/ReplyTo/class.replyto.plugin.php +++ b/ReplyTo/class.replyto.plugin.php @@ -66,6 +66,16 @@ public function postController_render_before($sender) { $this->prepareController($sender); } + /** + * Add View Mode before rendering comments + * @param $sender + * @param $args + */ + public function base_beforeCommentsRender_handler($sender, $args) { + $viewMode = self::getViewMode(); + $sender->setData('ViewMode', $viewMode); + } + /** * Render View options for a discussion * @param $sender @@ -264,11 +274,13 @@ public function base_inlineDiscussionOptions_handler($sender, $args) { /** * Insert the indentation classes into the comment. + * All rendering options should be set before displaying comments * @param $sender * @param $args */ public function base_beforeCommentDisplay_handler($sender, $args) { if($sender->deliveryType() != DELIVERY_TYPE_ALL) { + // Ajax request to post new comments or update comments if(isset($_SERVER['HTTP_REFERER'])) { $previous = $_SERVER['HTTP_REFERER']; $query = parse_url($previous, PHP_URL_QUERY); @@ -277,7 +289,7 @@ public function base_beforeCommentDisplay_handler($sender, $args) { if(!$viewMode) { $viewMode = self::isPagingUrl($previous) ? self::VIEW_FLAT : self::VIEW_THREADED; } - + $sender->setData('ViewMode', $viewMode); if($viewMode == self::VIEW_THREADED) { $this->buildCommentReplyToCssClasses($sender); } diff --git a/ReplyTo/js/replyto.js b/ReplyTo/js/replyto.js index 43a48da..f3eb389 100644 --- a/ReplyTo/js/replyto.js +++ b/ReplyTo/js/replyto.js @@ -15,12 +15,22 @@ jQuery(document).ready(function($) { var parent = $(btn).parents('.MainContent'); var commentContainer = $(parent).find('div.CommentForm'); var header = $(commentContainer).find('h2.H'); - $(header).text('Reply to a comment'); // Form var form = $(commentContainer).find('form#Form_Comment'); var href = $(btn).attr('href'); var commentID = param(href,'ParentCommentID'); var hiddenField = $(form).find(':input[type="hidden"]#Form_ParentCommentID') + + var author = ''; + if(commentID == '') { // No Parent Comment, Reply to Discussion + commentID = 0; + author = $(btn).parents('.Discussion').find('.Item-Header.DiscussionHeader .Author .topcoderHandle').text(); + } else { + author = $(btn).parents('.Comment').find('.Item-Header.CommentHeader .Author .topcoderHandle').text(); + } + + $(header).text('Replying to '+ author); + if($(hiddenField).length == 0) { var el = ''; $(form).append(el); @@ -30,11 +40,11 @@ jQuery(document).ready(function($) { var formButtons = $(form).find('.Buttons'); var postCommentButton = $(form).find('.CommentButton'); postCommentButton.val('Post Reply'); - var backButton = $(formButtons).find('span.Back'); + var backButton = $(formButtons).find('.Button.PreviewButton'); var cancelReplyButton = $(formButtons).find('span.Reply'); if($(cancelReplyButton).length == 0) { var cancelReplyButton = 'Cancel Reply'; - $(cancelReplyButton).insertAfter(backButton); + $(cancelReplyButton).insertBefore(backButton); } else { $(cancelReplyButton).show(); }