Implement the jquery_include_tag helper, which is used in several views but was not implemented in the code. This helper attempts to load jQuery from the Google CDN (matching the version of the vendored jquery.js in jquery-rails), falling back to the vendored copy if the google CDN fails. The helper also loads jquery_ujs.js from jquery-rails. A jquery_cdn setting is added to application.yml to enable or disable serving jQuery from the Google CDN (for those podmins who would rather not use Google's services). Update app/views/application.html.haml to use the jquery_include_tag helper since it was the only view that was including the vendored copy of jquery directly with jquery_include_tag.
53 lines
2 KiB
Ruby
53 lines
2 KiB
Ruby
# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
# licensed under the Affero General Public License version 3 or later. See
|
|
# the COPYRIGHT file.
|
|
|
|
module ApplicationHelper
|
|
def how_long_ago(obj)
|
|
timeago(obj.created_at)
|
|
end
|
|
|
|
def timeago(time, options={})
|
|
options[:class] ||= "timeago"
|
|
content_tag(:abbr, time.to_s, options.merge(:title => time.iso8601)) if time
|
|
end
|
|
|
|
def bookmarklet
|
|
"javascript:(function(){f='#{AppConfig[:pod_url]}bookmarklet?url='+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)+'¬es='+encodeURIComponent(''+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text))+'&v=1&';a=function(){if(!window.open(f+'noui=1&jump=doclose','diasporav1','location=yes,links=no,scrollbars=no,toolbar=no,width=620,height=250'))location.href=f+'jump=yes'};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})()"
|
|
end
|
|
|
|
def contacts_link
|
|
if current_user.contacts.size > 0
|
|
contacts_path
|
|
else
|
|
community_spotlight_path
|
|
end
|
|
end
|
|
|
|
def all_services_connected?
|
|
current_user.services.size == AppConfig[:configured_services].size
|
|
end
|
|
|
|
def popover_with_close_html(without_close_html)
|
|
without_close_html + link_to(image_tag('deletelabel.png'), "#", :class => 'close')
|
|
end
|
|
|
|
def diaspora_id_host
|
|
User.diaspora_id_host
|
|
end
|
|
|
|
# Require jQuery from CDN if possible, falling back to vendored copy, and require
|
|
# vendored jquery_ujs
|
|
def jquery_include_tag
|
|
buf = []
|
|
if AppConfig[:jquery_cdn]
|
|
version = Jquery::Rails::JQUERY_VERSION
|
|
buf << [ javascript_include_tag("//ajax.googleapis.com/ajax/libs/jquery/#{version}/jquery.min.js") ]
|
|
buf << [ javascript_tag("!window.jQuery && document.write(unescape('#{j javascript_include_tag("jquery")}'));") ]
|
|
else
|
|
buf << [ javascript_include_tag('jquery') ]
|
|
end
|
|
buf << [ javascript_include_tag('jquery_ujs') ]
|
|
buf.join("\n").html_safe
|
|
end
|
|
end
|