diff --git a/app/controllers/public/content_viewer_controller.rb b/app/controllers/public/content_viewer_controller.rb index 40c8f9e..6ac5a83 100644 --- a/app/controllers/public/content_viewer_controller.rb +++ b/app/controllers/public/content_viewer_controller.rb @@ -111,6 +111,15 @@ class ContentViewerController < ApplicationController @comments = @plugins.filter(:unavailable_comments, @comments) @comments_count = @comments.count @comments = @comments.without_reply.paginate(:per_page => per_page, :page => params[:comment_page] ) + @comment_order = params[:comment_order].nil? ? 'oldest' : params[:comment_order] + + if request.xhr? and params[:comment_order] + if @comment_order == 'newest' + @comments = @comments.reverse + end + + return render :partial => 'comment/comment', :collection => @comments + end if params[:slideshow] render :action => 'slideshow', :layout => 'slideshow' diff --git a/app/views/content_viewer/view_page.rhtml b/app/views/content_viewer/view_page.rhtml index a64a1d5..9a36ba6 100644 --- a/app/views/content_viewer/view_page.rhtml +++ b/app/views/content_viewer/view_page.rhtml @@ -84,6 +84,16 @@ <%= link_to(_('Post a comment'), '#', :class => 'display-comment-form', :id => 'top-post-comment-button', :onclick => "jQuery('#page-comment-form .display-comment-form').first().click();") %> <% end %> + <% if @page.accept_comments? and @comments.count > 1 %> + <%= hidden_field_tag("page_url", url_for(:controller=>'content_viewer', :action=>'view_page', :profile=>profile.identifier)) %> + <%= javascript_include_tag "comment_order.js" %> +
+ <% form_tag({:controller=>'content_viewer' , :action=>'view_page'}, {:method=>'get', :id=>"form_order"}) do %> + <%= select_tag 'comment_order', options_for_select({_('Oldest first')=>'oldest', _('Newest first')=>'newest'}, @comment_order) %> + <% end %> +
+ <% end %> +