Instiki 0.16.5
Update to Rails 2.3.2 (the stable Rails 2.3 release). Add audio/speex support Update CHANGELOG Bump version number
This commit is contained in:
parent
801d307405
commit
e2ccdfd812
264 changed files with 4850 additions and 1906 deletions
18
vendor/rails/actionpack/lib/action_view/base.rb
vendored
18
vendor/rails/actionpack/lib/action_view/base.rb
vendored
|
@ -221,10 +221,12 @@ module ActionView #:nodoc:
|
|||
def initialize(view_paths = [], assigns_for_first_render = {}, controller = nil)#:nodoc:
|
||||
@assigns = assigns_for_first_render
|
||||
@assigns_added = nil
|
||||
@_render_stack = []
|
||||
@controller = controller
|
||||
@helpers = ProxyModule.new(self)
|
||||
self.view_paths = view_paths
|
||||
|
||||
@_first_render = nil
|
||||
@_current_render = nil
|
||||
end
|
||||
|
||||
attr_reader :view_paths
|
||||
|
@ -286,7 +288,19 @@ module ActionView #:nodoc:
|
|||
# Access the current template being rendered.
|
||||
# Returns a ActionView::Template object.
|
||||
def template
|
||||
@_render_stack.last
|
||||
@_current_render
|
||||
end
|
||||
|
||||
def template=(template) #:nodoc:
|
||||
@_first_render ||= template
|
||||
@_current_render = template
|
||||
end
|
||||
|
||||
def with_template(current_template)
|
||||
last_template, self.template = template, current_template
|
||||
yield
|
||||
ensure
|
||||
self.template = last_template
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -121,7 +121,7 @@ module ActionView
|
|||
if (obj = (object.respond_to?(:errors) ? object : instance_variable_get("@#{object}"))) &&
|
||||
(errors = obj.errors.on(method))
|
||||
content_tag("div",
|
||||
"#{options[:prepend_text]}#{errors.is_a?(Array) ? errors.first : errors}#{options[:append_text]}",
|
||||
"#{options[:prepend_text]}#{ERB::Util.html_escape(errors.is_a?(Array) ? errors.first : errors)}#{options[:append_text]}",
|
||||
:class => options[:css_class]
|
||||
)
|
||||
else
|
||||
|
@ -198,7 +198,7 @@ module ActionView
|
|||
locale.t :header, :count => count, :model => object_name
|
||||
end
|
||||
message = options.include?(:message) ? options[:message] : locale.t(:body)
|
||||
error_messages = objects.sum {|object| object.errors.full_messages.map {|msg| content_tag(:li, msg) } }.join
|
||||
error_messages = objects.sum {|object| object.errors.full_messages.map {|msg| content_tag(:li, ERB::Util.html_escape(msg)) } }.join
|
||||
|
||||
contents = ''
|
||||
contents << content_tag(options[:header_tag] || :h2, header_message) unless header_message.blank?
|
||||
|
|
|
@ -876,8 +876,8 @@ module ActionView
|
|||
input_name_from_type(type).gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '')
|
||||
end
|
||||
|
||||
# Given an ordering of datetime components, create the selection html
|
||||
# and join them with their appropriate seperators
|
||||
# Given an ordering of datetime components, create the selection HTML
|
||||
# and join them with their appropriate separators.
|
||||
def build_selects_from_types(order)
|
||||
select = ''
|
||||
order.reverse.each do |type|
|
||||
|
|
|
@ -360,8 +360,8 @@ module ActionView
|
|||
end
|
||||
|
||||
if confirm = options.delete("confirm")
|
||||
options["onclick"] ||= ''
|
||||
options["onclick"] << "return #{confirm_javascript_function(confirm)};"
|
||||
options["onclick"] ||= 'return true;'
|
||||
options["onclick"] = "if (!#{confirm_javascript_function(confirm)}) return false; #{options['onclick']}"
|
||||
end
|
||||
|
||||
tag :input, { "type" => "submit", "name" => "commit", "value" => value }.update(options.stringify_keys)
|
||||
|
|
|
@ -15,6 +15,7 @@ module ActionView
|
|||
# * <tt>:country_code</tt> - Sets the country code for the phone number.
|
||||
#
|
||||
# ==== Examples
|
||||
# number_to_phone(5551234) # => 555-1234
|
||||
# number_to_phone(1235551234) # => 123-555-1234
|
||||
# number_to_phone(1235551234, :area_code => true) # => (123) 555-1234
|
||||
# number_to_phone(1235551234, :delimiter => " ") # => 123 555 1234
|
||||
|
@ -37,7 +38,8 @@ module ActionView
|
|||
str << if area_code
|
||||
number.gsub!(/([0-9]{1,3})([0-9]{3})([0-9]{4}$)/,"(\\1) \\2#{delimiter}\\3")
|
||||
else
|
||||
number.gsub!(/([0-9]{1,3})([0-9]{3})([0-9]{4})$/,"\\1#{delimiter}\\2#{delimiter}\\3")
|
||||
number.gsub!(/([0-9]{0,3})([0-9]{3})([0-9]{4})$/,"\\1#{delimiter}\\2#{delimiter}\\3")
|
||||
number.starts_with?('-') ? number.slice!(1..-1) : number
|
||||
end
|
||||
str << " x #{extension}" unless extension.blank?
|
||||
str
|
||||
|
@ -138,7 +140,7 @@ module ActionView
|
|||
# number_with_delimiter(12345678) # => 12,345,678
|
||||
# number_with_delimiter(12345678.05) # => 12,345,678.05
|
||||
# number_with_delimiter(12345678, :delimiter => ".") # => 12.345.678
|
||||
# number_with_delimiter(12345678, :seperator => ",") # => 12,345,678
|
||||
# number_with_delimiter(12345678, :separator => ",") # => 12,345,678
|
||||
# number_with_delimiter(98765432.98, :delimiter => " ", :separator => ",")
|
||||
# # => 98 765 432,98
|
||||
#
|
||||
|
|
|
@ -107,7 +107,7 @@ module ActionView
|
|||
# on the page in an Ajax response.
|
||||
module PrototypeHelper
|
||||
unless const_defined? :CALLBACKS
|
||||
CALLBACKS = Set.new([ :uninitialized, :loading, :loaded,
|
||||
CALLBACKS = Set.new([ :create, :uninitialized, :loading, :loaded,
|
||||
:interactive, :complete, :failure, :success ] +
|
||||
(100..599).to_a)
|
||||
AJAX_OPTIONS = Set.new([ :before, :after, :condition, :url,
|
||||
|
|
|
@ -536,8 +536,9 @@ module ActionView
|
|||
text.gsub(AUTO_LINK_RE) do
|
||||
href = $&
|
||||
punctuation = ''
|
||||
# detect already linked URLs
|
||||
if $` =~ /<a\s[^>]*href="$/
|
||||
left, right = $`, $'
|
||||
# detect already linked URLs and URLs in the middle of a tag
|
||||
if left =~ /<[^>]+$/ && right =~ /^[^>]*>/
|
||||
# do not change string; URL is alreay linked
|
||||
href
|
||||
else
|
||||
|
|
|
@ -61,7 +61,7 @@ module ActionView #:nodoc:
|
|||
end
|
||||
end
|
||||
|
||||
return Template.new(original_template_path, original_template_path =~ /\A\// ? "" : ".") if File.file?(original_template_path)
|
||||
return Template.new(original_template_path, original_template_path.to_s =~ /\A\// ? "" : ".") if File.file?(original_template_path)
|
||||
|
||||
raise MissingTemplate.new(self, original_template_path, format)
|
||||
end
|
||||
|
|
|
@ -27,23 +27,19 @@ module ActionView
|
|||
def render(view, local_assigns = {})
|
||||
compile(local_assigns)
|
||||
|
||||
stack = view.instance_variable_get(:@_render_stack)
|
||||
stack.push(self)
|
||||
view.with_template self do
|
||||
view.send(:_evaluate_assigns_and_ivars)
|
||||
view.send(:_set_controller_content_type, mime_type) if respond_to?(:mime_type)
|
||||
|
||||
view.send(:_evaluate_assigns_and_ivars)
|
||||
view.send(:_set_controller_content_type, mime_type) if respond_to?(:mime_type)
|
||||
|
||||
result = view.send(method_name(local_assigns), local_assigns) do |*names|
|
||||
ivar = :@_proc_for_layout
|
||||
if !view.instance_variable_defined?(:"@content_for_#{names.first}") && view.instance_variable_defined?(ivar) && (proc = view.instance_variable_get(ivar))
|
||||
view.capture(*names, &proc)
|
||||
elsif view.instance_variable_defined?(ivar = :"@content_for_#{names.first || :layout}")
|
||||
view.instance_variable_get(ivar)
|
||||
view.send(method_name(local_assigns), local_assigns) do |*names|
|
||||
ivar = :@_proc_for_layout
|
||||
if !view.instance_variable_defined?(:"@content_for_#{names.first}") && view.instance_variable_defined?(ivar) && (proc = view.instance_variable_get(ivar))
|
||||
view.capture(*names, &proc)
|
||||
elsif view.instance_variable_defined?(ivar = :"@content_for_#{names.first || :layout}")
|
||||
view.instance_variable_get(ivar)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
stack.pop
|
||||
result
|
||||
end
|
||||
|
||||
def method_name(local_assigns)
|
||||
|
|
|
@ -218,7 +218,7 @@ module ActionView #:nodoc:
|
|||
# Returns file split into an array
|
||||
# [base_path, name, locale, format, extension]
|
||||
def split(file)
|
||||
if m = file.match(/^(.*\/)?([^\.]+)\.(.*)$/)
|
||||
if m = file.to_s.match(/^(.*\/)?([^\.]+)\.(.*)$/)
|
||||
base_path = m[1]
|
||||
name = m[2]
|
||||
extensions = m[3]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue