JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
fix enc_ functions for image/thumb parts
[wfpl.git] / encode.php
index ca4a919..f5a5622 100644 (file)
@@ -268,7 +268,7 @@ function pulldown($name, $in_options, $multiple = false) {
 # output a bunch of <option> tags
 function enc_options($values, $name) {
        if(!isset($GLOBALS[$name . '_options'])) {
-               die("pulldown('$name') must be called before this template can be run. See code/wfpl/encode.php");
+               die("pulldown('$name') must be called before this template can be run. See wfpl/encode.php");
        }
        if($GLOBALS[$name . '_options']['multiple']) { # FIXME test this
                $values = explode(', ', $values);
@@ -281,7 +281,7 @@ function enc_options($values, $name) {
 # returns what the user sees in the pulldown or on the radio button caption
 function enc_pulled($str, $name) {
        if(!isset($GLOBALS[$name . '_options'])) {
-               die("pulldown('$name') must be called before this template can be run. See code/wfpl/encode.php");
+               die("pulldown('$name') must be called before this template can be run. See wfpl/encode.php");
        }
        foreach($GLOBALS[$name . '_options']['options'] as &$kv) {
                if($kv[0] == $str) {
@@ -293,7 +293,7 @@ function enc_pulled($str, $name) {
 
 function enc_radio_n($str, $name, $n) {
        if(!isset($GLOBALS[$name . '_options'])) {
-               die("pulldown('$name') must be called before this template can be run. See code/wfpl/encode.php");
+               die("pulldown('$name') must be called before this template can be run. See wfpl/encode.php");
        }
 
        if(!isset($GLOBALS[$name . '_options']['options'][$n])) {
@@ -316,11 +316,24 @@ function enc_radio_4($str, $name) { return enc_radio_n($str, $name, 4); }
 function enc_radio_5($str, $name) { return enc_radio_n($str, $name, 5); }
 function enc_radio_6($str, $name) { return enc_radio_n($str, $name, 6); }
 function enc_radio_7($str, $name) { return enc_radio_n($str, $name, 7); }
+function enc_radio_8($str, $name) { return enc_radio_n($str, $name, 8); }
+function enc_radio_9($str, $name) { return enc_radio_n($str, $name, 9); }
+function enc_radio_10($str, $name) { return enc_radio_n($str, $name, 10); }
+function enc_radio_11($str, $name) { return enc_radio_n($str, $name, 11); }
+function enc_radio_12($str, $name) { return enc_radio_n($str, $name, 12); }
+function enc_radio_13($str, $name) { return enc_radio_n($str, $name, 13); }
+function enc_radio_14($str, $name) { return enc_radio_n($str, $name, 14); }
+function enc_radio_15($str, $name) { return enc_radio_n($str, $name, 15); }
+function enc_radio_16($str, $name) { return enc_radio_n($str, $name, 16); }
+function enc_radio_17($str, $name) { return enc_radio_n($str, $name, 17); }
+function enc_radio_18($str, $name) { return enc_radio_n($str, $name, 18); }
+function enc_radio_19($str, $name) { return enc_radio_n($str, $name, 19); }
+function enc_radio_20($str, $name) { return enc_radio_n($str, $name, 20); }
 
 
 function enc_radio_caption_n($str, $name, $n) {
        if(!isset($GLOBALS[$name . '_options'])) {
-               die("pulldown('$name') must be called before this template can be run. See code/wfpl/encode.php");
+               die("pulldown('$name') must be called before this template can be run. See wfpl/encode.php");
        }
 
        if(!isset($GLOBALS[$name . '_options']['options'][$n])) {
@@ -337,6 +350,19 @@ function enc_radio_caption_4($str, $name) { return enc_radio_caption_n($str, $na
 function enc_radio_caption_5($str, $name) { return enc_radio_caption_n($str, $name, 5); }
 function enc_radio_caption_6($str, $name) { return enc_radio_caption_n($str, $name, 6); }
 function enc_radio_caption_7($str, $name) { return enc_radio_caption_n($str, $name, 7); }
+function enc_radio_caption_8($str, $name) { return enc_radio_caption_n($str, $name, 8); }
+function enc_radio_caption_9($str, $name) { return enc_radio_caption_n($str, $name, 9); }
+function enc_radio_caption_10($str, $name) { return enc_radio_caption_n($str, $name, 10); }
+function enc_radio_caption_11($str, $name) { return enc_radio_caption_n($str, $name, 11); }
+function enc_radio_caption_12($str, $name) { return enc_radio_caption_n($str, $name, 12); }
+function enc_radio_caption_13($str, $name) { return enc_radio_caption_n($str, $name, 13); }
+function enc_radio_caption_14($str, $name) { return enc_radio_caption_n($str, $name, 14); }
+function enc_radio_caption_15($str, $name) { return enc_radio_caption_n($str, $name, 15); }
+function enc_radio_caption_16($str, $name) { return enc_radio_caption_n($str, $name, 16); }
+function enc_radio_caption_17($str, $name) { return enc_radio_caption_n($str, $name, 17); }
+function enc_radio_caption_18($str, $name) { return enc_radio_caption_n($str, $name, 18); }
+function enc_radio_caption_19($str, $name) { return enc_radio_caption_n($str, $name, 19); }
+function enc_radio_caption_20($str, $name) { return enc_radio_caption_n($str, $name, 20); }
 
 
 # use this function along with a special template to generate the html for pulldowns and multiple select boxes.
@@ -353,10 +379,10 @@ function encode_options($selected, $options) {
 
        $out = '';
        foreach($options as $option) {
-               list($value, $display, $arg3) = $option;
+               list($value, $display) = $option;
                $out .= '<option';
 
-               if($arg3 == 'disabled') {
+               if(isset($option[2]) && $option[2] == 'disabled') {
                        $out .= ' disabled';
                } elseif(in_array($value, $selected)) {
                        $out .= ' selected';
@@ -411,34 +437,19 @@ function enc_evenodd($values, $name) {
        }
 }
 
-function enc_image_src($str) {
-       list($src, $width, $height, $a, $b, $c) = explode(' ', $str);
-       return $src;
+function wfpl_nth_word($str, $n) {
+       $a = explode(' ', $str);
+       return isset($a[$n]) ? $a[$n] : null;
 }
 
-function enc_image_width($str) {
-       list($src, $width, $height, $a, $b, $c) = explode(' ', $str);
-       return $width;
-}
-
-function enc_image_height($str) {
-       list($src, $width, $height, $a, $b, $c) = explode(' ', $str);
-       return $height;
-}
-
-function enc_thumb_src($str) {
-       list($a, $b, $c, $src, $width, $height) = explode(' ', $str);
-       return $src;
-}
-
-function enc_thumb_width($str) {
-       list($a, $b, $c, $src, $width, $height) = explode(' ', $str);
-       return $width;
-}
-function enc_thumb_height($str) {
-       list($a, $b, $c, $src, $width, $height) = explode(' ', $str);
-       return $height;
-}
+# encoding is a space separated list of:
+# image_filename width height thumb_filename thumb_width thumb_height
+function enc_image_src($str) { return wfpl_nth_word($str, 0); }
+function enc_image_width($str) { return wfpl_nth_word($str, 1); }
+function enc_image_height($str) { return wfpl_nth_word($str, 2); }
+function enc_thumb_src($str) { return wfpl_nth_word($str, 3); }
+function enc_thumb_width($str) { return wfpl_nth_word($str, 4); }
+function enc_thumb_height($str) { return wfpl_nth_word($str, 5); }
 
 # example template: Length: ~length html~ day~length s~
 function enc_s($str) {