Class: Muck::EntriesController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/muck/entries_controller.rb

Instance Method Summary collapse

Constructor Details

#initializeEntriesController

Returns a new instance of EntriesController.



5
6
7
# File 'app/controllers/muck/entries_controller.rb', line 5

def initialize
  @no_index = true
end

Instance Method Details

#browse_by_tagsObject



17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/muck/entries_controller.rb', line 17

def browse_by_tags
  @tag_filter = params[:tags]
  @grain_size = params[:grain_size] || 'all'
  if !fragment_exist?({:controller => 'entries', :action => 'index', :language => Language.locale_id, :filter => @tag_filter, :grain_size => @grain_size})
    @search = @tag_filter.split('/').join(' AND ') if !@tag_filter.empty? 
    @tag_cloud = TagCloud.language_tags(Language.locale_id, @grain_size, @tag_filter)
    _search(:and)
  end
  respond_to do |format|
    format.html { render :template => 'entries/browse_by_tags' }
  end
end

#collectionsObject



69
70
71
72
73
# File 'app/controllers/muck/entries_controller.rb', line 69

def collections
  @feeds = Feed.find(:all, :order => "harvested_from_title, title")
  @languages = Language.find(:all, :order => "name")
  render :template => "documents/collections", :layout => "default"
end

#indexObject



9
10
11
12
13
14
15
# File 'app/controllers/muck/entries_controller.rb', line 9

def index
  @grain_size = params[:grain_size] || 'all'
  @tag_cloud = TagCloud.language_tags(Language.locale_id, @grain_size) unless fragment_exist?({:controller => 'entries', :action => 'index', :language => Language.locale_id})
  respond_to do |format|
    format.html { render :template => 'entries/index' }
  end
end

#searchObject



30
31
32
33
34
35
36
37
# File 'app/controllers/muck/entries_controller.rb', line 30

def search
  @search = params[:q]
  @grain_size = params[:grain_size] || 'all'
  _search
  respond_to do |format|
    format.html { render :template => 'entries/search' }
  end
end

#showObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'app/controllers/muck/entries_controller.rb', line 39

def show
  @entry = Entry.find(params[:id], :include => :feed)
  if @entry.nil?
    render_text "Unable to find the specified document"
    return
  end
  @entry_title = @entry.title + ' (' + @entry.feed.short_title + ')'
  @page_title = @entry_title + ' - ' + I18n.t('muck.raker.related_resources_title')
#    I18n.locale = @entry.language[0..1]
  @limit = params[:limit] ? params[:limit].to_i : 20
  @limit = 40 if @limit > 40

  respond_to do |format|
    format.html do
      @recommendations = @entry.recommendations(@limit, 'relevance', params[:details] == 'true')
      if params[:details] == 'true'
        render :template => "entries/details"
      else
        render :template => "entries/show"
      end
    end
    format.xml  { render :xml => @entry }
  end
end

#track_clicksObject



64
65
66
67
# File 'app/controllers/muck/entries_controller.rb', line 64

def track_clicks
  user_agent = request.env['HTTP_USER_AGENT']
  redirect_to Entry.track_click(session, params[:id], request.env['HTTP_REFERER'], params[:target], request.env['HTTP_X_FORWARDED_FOR'], user_agent) if !/Googlebot/.match(user_agent) 
end