# -*- encoding : utf-8 -*- class Public::ArticlesController < ApplicationController layout :get_public_layout def archive end def index if params[:lang] @lang = LangSite.find_by_slug(params[:lang]) end ids_exclude = [0] @article_1_id = SpecificPreference.find_by_key("blog_article_1_id").value if SpecificPreference.find_by_key("blog_article_1_id") and Article.where(:id => SpecificPreference.find_by_key("blog_article_1_id").value).first if @article_1_id and @article_1_id.to_i > 0 @article_1 = Article.where(:id => SpecificPreference.find_by_key("blog_article_1_id").value).first ids_exclude << @article_1.id end @article_2_id = SpecificPreference.find_by_key("blog_article_2_id").value if SpecificPreference.find_by_key("blog_article_2_id") and Article.where(:id => SpecificPreference.find_by_key("blog_article_2_id").value).first if @article_2_id and @article_2_id.to_i > 0 @article_2 = Article.where(:id => SpecificPreference.find_by_key("blog_article_2_id").value).first ids_exclude << @article_2.id end if @new_site params[:category_id] = nil if params[:category_id].to_i == 0 @category = Category.find(params[:category_id]) if params[:category_id] if @category @articles_ok = Article.joins(:category_categoryables).where(:category_categoryables => {:category_id => @category.id}) else @articles_ok = Article end @articles_ok = @articles_ok.before(Time.now).recents.joins(:lang_articles).where("lang_articles.enabled = 1 and lang_articles.lang_site_id = ?", @lang.id) @articles_ok = @articles_ok.uniq @articles_slider = @articles_ok.where("articles.id not in(?)", ids_exclude).limit(3) @articles_une = @articles_ok.where("articles.id not in(?)", ids_exclude) @articles_une = @articles_une.offset(3).limit(2) @articles_une[0] = @article_1 if @article_1 @articles_une[1] = @article_2 if @article_2 @articles = @articles_ok @articles = @articles.page(params[:page]).per(4) else @articles = Article.before(Time.now).recents.joins(:lang_articles).where("lang_articles.enabled = 1 and lang_articles.lang_site_id = ?", @lang.id) @articles = @articles.page(params[:page]).per(7) end @blog_index = true @title = "Articles du blog" end def feed # this will be the name of the feed displayed on the feed reader @title = "" # the news items @articles = Article.before(Time.now).recents # this will be our Feed's update timestamp @updated = @articles.first.updated_at unless @articles.empty? end def tags @tag = Tag.find_by_slug(params[:tag_id]) if @tag @title = "tag : "+@tag.name.to_s @articles = @tag.recents_articles else redirect_to "/", :notice => "La page que vous demandez n'a pas pu être trouvée.

Vous avez donc été redirigé sur notre page d'accueil" end end def category @category_lang = CategoryLang.where(:lang_site_id => @lang.id).find_by_slug(params[:slug]) @category = @category_lang.category @articles = @category.articles.before(Time.now).recents.joins(:lang_articles).where("lang_articles.enabled = 1 and lang_articles.lang_site_id = ?", @lang.id) @articles = @articles.page(params[:page]).per(7) @title = "Articles du blog" @index_title = 'Articles de la catégorie "'+@category.name+'"' redirect_to articles_path(:category_id => @category.id, :anchor => "categories") if @new_site end def archives if params[:lang] @lang = LangSite.find_by_slug(params[:lang]) end @month = Time.parse("#{params[:year]}/#{params[:month]}/01 00:00").beginning_of_month @articles = Article.recents.where("articles.published_at >= ? and articles.published_at < ?", @month, (@month + 1.month) ).before(Time.now).joins(:lang_articles).where("lang_articles.enabled = 1 and lang_articles.lang_site_id = ?", @lang.id) @articles = @articles.page(params[:page]).per(7) @title = "Articles du blog" if [4,8].include?(@month.month) @index_title = 'Articles du mois d\''+l(@month, :format => "%B %Y")+'' else @index_title = 'Articles du mois de '+l(@month, :format => "%B %Y")+'' end end def show if params[:lang] @lang = LangSite.find_by_slug(params[:lang]) end @lang_article = LangArticle.where(:lang_site_id => @lang.id).find_by_slug(params[:slug]) @article = @lang_article.article @facebook_title = @lang_article.fb_title if @lang_article.fb_title? if @article and ((@lang_article.enabled and ( !@article.published_at? or @article.published_at <= Time.now )) or current_admin) @title = @lang_article.title @description = @lang_article.description @thumbnail_image = @article.image_file.file.large.medium.small.thumb.url if @article.image_file @comments = @article.comments.where(:enabled => true, :parent_id => nil).order("created_at DESC").page(params[:page]).per(4) else redirect_to "/", :notice => "La page que vous demandez n'a pas pu être trouvée.

Vous avez donc été redirigé sur notre page d'accueil" end end end