app/controllers/muck/recommendations_controller.rb in muck-services-0.1.34 vs app/controllers/muck/recommendations_controller.rb in muck-services-0.1.35

- old
+ new

@@ -1,52 +1,46 @@ class Muck::RecommendationsController < ApplicationController - + unloadable - # GET /recommendations - # GET /recommendations.xml def index - @details = (params[:details] == 'true') - + # if a uri isn't specified in params, we assume that they are requesting from the page doing the requesting @uri = params[:u] || request.env['HTTP_REFERER'] if @uri.blank? || !allowed_uri(@uri) render :text => '<!-- permission denied -->' return end - + + # we trim eduCommons urls back to the course so all pages in the course get the same recommendations if params[:educommons] @uri = @uri[%r=http://.*?/.*?/[^/]+=] || @uri params[:title] = true params[:more_link] = true end -# Entry.track_time_on_page(session, @uri) - @entry = Entry.recommender_entry(@uri) -# I18n.locale = @entry.language[0..1] if !@entry.nil? - + @details = (params[:details] == 'true') @limit = params[:limit] ? params[:limit].to_i : 5 @limit = 25 if @limit > 25 - + @omit_feeds = params[:omit_feeds] + @order = params[:order] || "rank" + + Entry.track_time_on_page(session, @uri) + @entry = Entry.recommender_entry(@uri) + @recommendations = @entry.related_entries.top(@details, @limit, @omit_feeds, @order) + @app = request.protocol + request.host_with_port + respond_to do |format| format.html do - order = params[:order] || "mixed" if !@entry.id.nil? - redirect_to resource_path(@entry) + "?limit=#{@limit}&order=#{order}&details=#{@details}" + redirect_to resource_path(@entry) + "?limit=#{@limit}&order=#{@order}&details=#{@details}" else - @recommendations = @entry.ranked_recommendations(@limit, params[:order] || "mixed", @details) - render :template => 'recommendations/index' + render(:text => t('muck.services.url_not_in_index', :uri => params[:uri]), :layout => true) end end - format.xml { - render('recommendations/index.xml.builder', :layout => false) - } - format.pjs { - @host = "http://#{URI.parse(@uri).host}" - render('recommendations/index.pjs.erb', :layout => false) - } - format.rss { - render(:template => 'recommendations/index.rss.builder', :layout => false) - } + format.xml { render('recommendations/index.xml.builder', :layout => false) } + format.pjs { render('recommendations/index.pjs.erb', :layout => false) } + format.rss { render('recommendations/index.rss.builder', :layout => false) } + format.js { render('recommendations/index.js.erb', :layout => false) } end end def get_button @uri = params[:u]