# -*- encoding : utf-8 -*- class Public::MenuItemsController < ApplicationController layout "public" def redirect redirect_to menu_item_path(:url => params[:url]), status: 301 end def archive @menu_item= MenuItem.archived.find(params[:id]) end def show if params[:lang] @lang = LangSite.find_by_slug(params[:lang]) else @lang = LangSite.first end if params[:url] url = params[:url].split("/") url = url.map do |u| u.to_slug end url = url.join("/") orignal_url = url @menu_item_lang = @lang.menu_item_langs.find_by_permalink(url) if @menu_item_lang @menu_item = @menu_item_lang.menu_item @menu_item.ancestors_menu = @menu_item.ancestors @ancestor_1 = @menu_item.ancestors.reverse[1] if @menu_item elsif menu_item_history = MenuItemSlugHistory.where(:permalink => url, :locale => @lang.slug).first redirect_to "/#{@lang.slug}/#{menu_item_history.menu_item_lang.permalink}.html" else redirect_to "/" end else @menu_item_lang = @lang.menu_item_langs.find_by_permalink("index") @menu_item = @menu_item_lang.menu_item end if @menu_item and @menu_item.menu_content and @menu_item.menu_content.class.to_s == "Page" @lang_page = @menu_item.menu_content.lang_pages.find_by_lang_site_id(@lang.id) @title = @lang_page.title @description = @lang_page.description @keywords = @lang_page.keywords if @menu_item.menu_content.blocks.find_by_lang_site_id(@lang.id).portlets.count == 0 if @menu_item.children.count > 0 menu_item_lang = @menu_item.children.first.menu_item_langs.find_by_lang_site_id(@lang.id) redirect_to menu_item_path(:url => menu_item_lang.url, :lang => @lang.slug) end end end #puts @menu_item.menu_item_langs.find_by_lang_site_id(@lang.id) end end