X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=encode.php;h=ca4a9191b39587f51296289ffeabb184bd6f732d;hb=d674720715c4dd8f210d9064db032f1c862dd3fa;hp=2dbf756066ed06d429432de9c520d3ce5f092f27;hpb=f70921e088f20e545067b7c844537d04984fb9ea;p=wfpl.git
diff --git a/encode.php b/encode.php
index 2dbf756..ca4a919 100644
--- a/encode.php
+++ b/encode.php
@@ -28,10 +28,18 @@ function enc_cap($str) {
return $str;
}
+# quote for placing between single quotes in php
+function enc_phpsq($str) {
+ $str = str_replace("\\", "\\\\", $str);
+ $str = str_replace("'", "\\'", $str);
+ return $str;
+}
+
function enc_jsdq($str) {
$str = enc_sql($str);
$str = str_replace("\n", "\\n", $str);
- return str_replace("\r", "\\r", $str);
+ $str = str_replace("\r", "\\r", $str);
+ return $str;
}
# encode for putting within double-quotes in SQL
@@ -61,13 +69,13 @@ function enc_htmlbr($str) {
}
# Encode for output in html. Preserves newlines and indentation by converting
-# newlines to and spaces at the begining of lines to
+# newlines to and spaces/tabs at the begining of lines to s
#
# Example:
~foo htmlbrtab~
function enc_htmlbrtab($str) {
$str = enc_htmlbr($str);
- $space_to_nbsp = create_function('$matches', 'return str_repeat(\' \', strlen($matches[0]) * 2);');
- $str = preg_replace_callback("|^ *|m", $space_to_nbsp, $str);
+ $whitespace_to_nbsp = create_function('$matches', '$count = 0; $chars = str_split($matches[0]); foreach ($chars as $c) { if ($c == " ") { $count += 2; } else if ($c == "\t") { $count += 8; } } return str_repeat(" ", $count);');
+ $str = preg_replace_callback("|^[ \t]+|m", $whitespace_to_nbsp, $str);
return $str;
}
@@ -138,24 +146,24 @@ function enc_yesno($str) {
}
-# add a tab at the begining of each non-empty line
+# add a tab at the begining of each line
function enc_tab($str) {
- $lines = explode("\n", $str);
- $out = '';
- foreach($lines as $line) {
- if($line) {
- $out .= "\t$line";
- }
- $out .= "\n";
+ if('' . $str === '') {
+ return '';
}
-
- # remove the extra newline added above
- return substr($out, 0, -1);
+ return "\t" . implode("\n\t", explode("\n", $str));
}
-function enc_upper($str) {
+function enc_uppercase($str) {
return strtoupper($str);
}
+function enc_upper($str) { # depricated
+ return enc_uppercase($str);
+}
+
+function enc_lowercase($str) {
+ return strtolower($str);
+}
# pass date in the form 2008-05-23
# ercodes date as 05/23/2008
@@ -174,11 +182,16 @@ function enc_mdy($str) {
return enc_mmddyyyy($str);
}
-function enc_mmddyyyyhhmm($seconds) {
- return date('m/d/Y g:ia', (int)$seconds);
+# pass unix timestamp or "2012-12-20 22:23:34"
+function enc_mmddyyyyhhmm($str) {
+ if(is_numeric($str)) {
+ return date('m/d/Y g:ia', (int)$str);
+ } else {
+ return enc_mmddyyyy(substr($str, 0, 10)) . substr($str, 10, 6);
+ }
}
-# takes decimal
+# takes decimal number of hours
# returns hh:mm
function enc_hhmm($str) {
if(strlen($str) == 0) {
@@ -190,7 +203,7 @@ function enc_hhmm($str) {
return $str;
}
-# takes decimal
+# takes decimal number of hours
# returns hh:mm followed by "am" or "pm" with no space
function enc_12hr($str) {
if(strlen($str) == 0) {
@@ -260,7 +273,7 @@ function enc_options($values, $name) {
if($GLOBALS[$name . '_options']['multiple']) { # FIXME test this
$values = explode(', ', $values);
}
- return encode_options($values, $GLOBALS[$name . '_options']['options'], PULLDOWN_2D);
+ return encode_options($values, $GLOBALS[$name . '_options']['options']);
}
# for radios and pulldowns:
@@ -332,23 +345,21 @@ function enc_radio_caption_7($str, $name) { return enc_radio_caption_n($str, $na
#
# selected: can be a string or (for multiple-selects) an array
#
-# options, keys_from: see documentation for pulldown() above
-function encode_options($selected, $options, $keys_from) {
+# options: see documentation for pulldown() above
+function encode_options($selected, $options) {
if(!is_array($selected)) {
$selected = array($selected);
}
- if($keys_from != PULLDOWN_2D) {
- $options = pulldown_options_to_2d($options, $keys_from);
- }
-
$out = '';
- foreach($options as $valdisp) {
- list($value, $display) = $valdisp;
+ foreach($options as $option) {
+ list($value, $display, $arg3) = $option;
$out .= '