app/helpers/pages_helper.rb in kuhsaft-0.1.1 vs app/helpers/pages_helper.rb in kuhsaft-0.2.legacy

- old
+ new

@@ -1,11 +1,12 @@ module PagesHelper def current_page lang = Kuhsaft::Page.current_translation_locale page = Kuhsaft::Page.find(@page.id).localized_pages.where('locale = ?', lang).first.page page.translation - return page + yield page if block_given? + page rescue end def current_page_path(lang=nil) if @page.present? @@ -18,28 +19,46 @@ end def asset_for id Kuhsaft::Asset.find(id) end + + def render_markdown text + RDiscount.new(text).to_html if text.present? + end - def navigation_for id - if id.blank? - Kuhsaft::Page.root_pages - else - Kuhsaft::Page.where('parent_id = ?', id) + def navigation_for options + if options.is_a?(Hash) && slug = options.delete(:slug) + pages = Kuhsaft::LocalizedPage.navigation(slug).first.page.childs.current_locale.published rescue [] + elsif (options.is_a?(Fixnum) && id = options) || id = options.delete(:id) + pages = Kuhsaft::Page.published.where('parent_id = ?', id) + elsif options.nil? + pages = Kuhsaft::Page.published.root_pages end + yield pages if block_given? && pages.length > 0 + pages end - + + def homepage + Kuhsaft::Page.root_pages.first + end + def page_for_level num - url = params[:url].split('/').take(num + 1).join('/') unless params[:url].blank? - Kuhsaft::Page.find_by_url(url) + input = controller.current_url if controller.respond_to? :current_url + input ||= params[:url].presence || '' + url = input.split('/').take(num + 1).join('/') unless input.blank? + page = Kuhsaft::Page.find_by_url(url) + yield page if block_given? + page + rescue end def active_page_class page - url = params[:url].presence || '' - url.include?(page.url.to_s) ? 'active' : nil + input = controller.current_url if controller.respond_to? :current_url + input ||= params[:url].presence || '' + input.include?(page.url.to_s) ? :active : nil end def current_page_class page - 'current' if active_page_class(page) == 'active' + :current if active_page_class(page) == :active end end \ No newline at end of file