Tpac: better param array detection in mkurl()
authorBill Erickson <berick@esilibrary.com>
Thu, 22 Sep 2011 14:20:27 +0000 (10:20 -0400)
committerBill Erickson <berick@esilibrary.com>
Thu, 22 Sep 2011 14:33:03 +0000 (10:33 -0400)
Avoid propagating empty arrays as "ARRAY(JUNK)"

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/templates/opac/parts/header.tt2

index 66e47ac..e6addc8 100644 (file)
@@ -43,7 +43,9 @@
         # apply user params
         FOR k IN params.keys;
             encoded = [];
-            list = params.$k.0 ? params.$k : [params.$k];
+            max = params.$k.max;
+            list = (params.$k.0 OR max == -1) ? params.$k : [params.$k];
+            IF list.size == 0; NEXT; END;
             # CGI croaks on already-decoded strings.  force-encode to be safe.
             FOR p IN list; encoded.push(ctx.encode_utf8(p)); END;
             foo = cgi.param("-name", k, "-values", encoded);