prevent from reloading a non existant page if a user has several albums on the same...
authorgc <gc>
Fri, 1 Jul 2005 20:30:39 +0000 (20:30 +0000)
committergc <gc>
Fri, 1 Jul 2005 20:30:39 +0000 (20:30 +0000)
bin/booh-backend
lib/booh/html-merges.rb

index 9ed093a938f64978e863587d468997d69bbfe16b..497b46a3660a71df3db83aa7a2bc088be9caf1f9 100755 (executable)
@@ -306,10 +306,15 @@ def urlencode(text)
   end
 end
 
+def all_images_sizes
+    return $limit_sizes =~ /original/ ? $images_size + [ { 'name' => 'original' } ] : $images_size
+end
+
 def html_reload_to_thumbnails
     html_reload_to_thumbnails = $preferred_size_reloader.clone
     html_reload_to_thumbnails.gsub!(/~~theme~~/, $theme)
     html_reload_to_thumbnails.gsub!(/~~default_size~~/, $default_size['name'])
+    html_reload_to_thumbnails.gsub!(/~~all_sizes~~/, all_images_sizes.collect { |s| "\"#{size2js(s['name'])}\"" }.join(', '))
     return html_reload_to_thumbnails
 end
 
@@ -751,7 +756,6 @@ def walk_source_dir
                     images4js = fullscreen_images[sizeobj['name']].collect { |e| "\"#{e}\"" }.join(', ')
                     otherimages4js = ''
                     othersizes = []
-                    all_images_sizes = $limit_sizes =~ /original/ ? $images_size + [ { 'name' => 'original' } ] : $images_size
                     for sizeobj2 in all_images_sizes
                         if sizeobj != sizeobj2
                             otherimages4js += "var images_#{size2js(sizeobj2['name'])} = new Array(" + fullscreen_images[sizeobj2['name']].collect { |e| "\"#{e}\"" }.join(', ') + ")\n"
index 63ed1bde4f67375b59f6011876c1bdb05b452654..0ab9e4056de877356990667550fa701f7a1057a4 100644 (file)
@@ -443,6 +443,8 @@ $preferred_size_reloader = <<'EOF'
     <head>
         <script language="JavaScript1.1" type="text/JavaScript">
 
+var sizes = new Array(~~all_sizes~~);
+
 function getPreferredSize() {
     if (document.cookie) {
         var index = document.cookie.indexOf('booh-preferred-size-~~theme~~');
@@ -452,7 +454,12 @@ function getPreferredSize() {
             if (oright == -1) {
                 oright = document.cookie.length;
             }
-            return 'thumbnails-' + document.cookie.substring(oleft, oright) + '.html';
+            size = document.cookie.substring(oleft, oright);
+            for (i = 0; i < sizes.length; i++) {
+                if (sizes[i] == size) {
+                    return 'thumbnails-' + size + '.html';
+                }
+            }
         }
     }
     return 'thumbnails-~~default_size~~.html';