+# URI agument value.
+#
+# Example: <a href="http://example.com?foo=~foo.url_val.attr~">http://example.com?foo=~foo.url_val~</a>
+function enc_url_val($str) {
+ return rawurlencode($str);
+}
+
+# This is a hack to work around html's stupid syntax for checkboxes.
+#
+# Place the template marker just before a " somewhere.
+#
+# Example: <input type="checkbox" name="foo~foo.checked~">
+function enc_checked($str) {
+ if($str == 'Yes') {
+ return '" checked="checked';
+ } else {
+ return '';
+ }
+}
+
+# add a tab at the begining of each non-empty line
+function enc_tab($str) {
+ $lines = explode("\n", $str);
+ $out = '';
+ foreach($lines as $line) {
+ if($line) {
+ $out .= "\t$line";
+ }
+ $out .= "\n";
+ }
+
+ # remove the extra newline added above
+ return substr($out, 0, -1);
+}