]> git.openstreetmap.org Git - rails.git/blobdiff - lib/potlatch.rb
Cope with sessions which don't exist.
[rails.git] / lib / potlatch.rb
index 4dfba12efb23cf37e9dd16f5b44e531a5b54fa83..cfb6028177e1579e5ed3f1e014768864d938eed1 100644 (file)
@@ -83,7 +83,7 @@ module Potlatch
       when 'Hash'
         a=3.chr
         n.each do |k,v|
       when 'Hash'
         a=3.chr
         n.each do |k,v|
-          a+=encodestring(k)+encodevalue(v)
+          a+=encodestring(k.to_s)+encodevalue(v)
         end
         a+0.chr+0.chr+9.chr
       when 'String'
         end
         a+0.chr+0.chr+9.chr
       when 'String'
@@ -92,6 +92,10 @@ module Potlatch
         0.chr+encodedouble(n)
       when 'NilClass'
         5.chr
         0.chr+encodedouble(n)
       when 'NilClass'
         5.chr
+         when 'TrueClass'
+        0.chr+encodedouble(1)
+         when 'FalseClass'
+        0.chr+encodedouble(0)
       else
         RAILS_DEFAULT_LOGGER.error("Unexpected Ruby type for AMF conversion: "+n.class.to_s)
       end
       else
         RAILS_DEFAULT_LOGGER.error("Unexpected Ruby type for AMF conversion: "+n.class.to_s)
       end
@@ -143,7 +147,7 @@ module Potlatch
             presetcategory=$2
             presetmenus[presettype].push(presetcategory)
             presetnames[presettype][presetcategory]=["(no preset)"]
             presetcategory=$2
             presetmenus[presettype].push(presetcategory)
             presetnames[presettype][presetcategory]=["(no preset)"]
-          elsif (t=~/^(.+):\s?(.+)$/) then
+          elsif (t=~/^([\w\s]+):\s?(.+)$/) then
             pre=$1; kv=$2
             presetnames[presettype][presetcategory].push(pre)
             presets[pre]={}
             pre=$1; kv=$2
             presetnames[presettype][presetcategory].push(pre)
             presets[pre]={}
@@ -187,7 +191,7 @@ module Potlatch
       File.open("#{RAILS_ROOT}/config/potlatch/autocomplete.txt") do |file|
         file.each_line {|line|
           t=line.chomp
       File.open("#{RAILS_ROOT}/config/potlatch/autocomplete.txt") do |file|
         file.each_line {|line|
           t=line.chomp
-          if (t=~/^(\w+)\/(\w+)\s+(.+)$/) then
+          if (t=~/^([\w:]+)\/(\w+)\s+(.+)$/) then
             tag=$1; type=$2; values=$3
             if values=='-' then autotags[type][tag]=[]
             else autotags[type][tag]=values.split(',').sort.reverse end
             tag=$1; type=$2; values=$3
             if values=='-' then autotags[type][tag]=[]
             else autotags[type][tag]=values.split(',').sort.reverse end
@@ -195,7 +199,10 @@ module Potlatch
         }
       end
 
         }
       end
 
-      [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths]
+         # Read internationalisation
+         localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised.yaml"))
+
+      [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,localised]
     end
   end
 
     end
   end