}
-# 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
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) {
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) {
}
$out = '';
- foreach($options as $valdisp) {
- list($value, $display) = $valdisp;
+ foreach($options as $option) {
+ list($value, $display, $arg3) = $option;
$out .= '<option';
- if(in_array($value, $selected)) {
- $out .= ' selected="selected"';
+ if($arg3 == 'disabled') {
+ $out .= ' disabled';
+ } elseif(in_array($value, $selected)) {
+ $out .= ' selected';
}
if($value !== $display || strpos($value, ' ') !== false) {
return 's';
}
+
+# turn http/ftp (s) urls into html links (and encode everything for html)
+# does not encode without protocol (eg "www.foo.com")
+# does not linkify email addresses
+function enc_linkify($str) {
+ $ret = '';
+ $even = true;
+ $pieces = preg_split("/((?:ht|f)tps?:\/\/[^ \,\"\n\r\t<]+)/is", $str, null, PREG_SPLIT_DELIM_CAPTURE);
+ foreach($pieces as $piece) {
+ if($even) {
+ $ret .= enc_html($piece);
+ } else {
+ $ret .= '<a href="' . enc_attr($piece) . '">' . enc_html($piece) . '</a>';
+ }
+ $even = !$even;
+ }
+ return $ret;
+}