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]