JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
add enc_* to get resized cms_image urls
authorJason Woofenden <jason@jasonwoof.com>
Fri, 6 Nov 2015 21:25:14 +0000 (16:25 -0500)
committerJason Woofenden <jason@jasonwoof.com>
Fri, 6 Nov 2015 21:25:14 +0000 (16:25 -0500)
encode.php

index 43a8a2d..381e681 100644 (file)
@@ -435,8 +435,31 @@ function wfpl_nth_word($str, $n) {
 # 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_src_at_width($str, $width) {
+       $src = enc_image_src($str);
+       if ($src) {
+               return
+                       substr($src, 0, -4)
+                       . 'w'
+                       . $width
+                       . substr($src, -4);
+       }
+       return '';
+}
+# define these width constants in your config.php
+function enc_image_src_full($str) { return _enc_image_src_at_width($str, WFPL_IMAGE_WIDTH_FULL); }
+function enc_image_src_small($str) { return _enc_image_src_at_width($str, WFPL_IMAGE_WIDTH_SMALL); }
+function enc_image_src_thumb($str) { return _enc_image_src_at_width($str, WFPL_IMAGE_WIDTH_THUMB); }
 function enc_image_width($str) { return wfpl_nth_word($str, 1); }
 function enc_image_height($str) { return wfpl_nth_word($str, 2); }
+function enc_image_aspect($str) {
+       $a = explode(' ', $str);
+       if (count($a) < 3) {
+               return '';
+       }
+       return ''.(round(100000 * ((int)$a[2]) / ((int)$a[1]) / 1000)).'%';
+}
+# obsolete:
 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); }