X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=format.php;h=e0818fdb401c4d732cec27ee21f9d6712ab27d1f;hb=cb781e2eff50ef8d28a6a8868559a18465614dac;hp=0fbc88fe6ffcf24698735db7dadcefa85c781fbf;hpb=cd68b6037f8558fd98e07486282e2a25f9c4626b;p=wfpl.git diff --git a/format.php b/format.php index 0fbc88f..e0818fd 100644 --- a/format.php +++ b/format.php @@ -19,9 +19,26 @@ # This file contains basic encodings function format_caption($str) { + $str = preg_replace("/([a-z])([A-Z])/", "\\1 \\2", $str); # split words on camelCase $str = str_replace('_', ' ', $str); $str = ucwords($str); - return str_replace('Email', 'E-mail', $str); + return $str; +} + +# This function makes sure that $str is in the list of options, and returns "" otherwise +function format_options($str, $name) { + if(!isset($GLOBALS[$name . '_options'])) { + die("Couldn't find options for \"$name\". Be sure to call pulldown()."); + } + + foreach($GLOBALS[$name . '_options']['options'] as $keyval) { + list($key, $value) = $keyval; + if($str == $key) { + return $str; + } + } + + return ''; } function format_int($str) { @@ -56,8 +73,8 @@ function _format_positive_decimal($str) { function format_positive_decimal($str) { $str = _format_positive_decimal($str); - if($str === '0.0') { - $str = '0'; + if(substr($str, -2) === '.0') { + $str = substr($str, 0, -2); } return $str; } @@ -147,6 +164,7 @@ function format_image_w_h_thumb_w_h($str) { } function format_varname($str) { + $str = preg_replace("/([a-z])([A-Z])/", "\\1_\\2", $str); # split words on camelCase $str = strtolower($str); $str = ereg_replace('[^a-z0-9_]', '_', $str); return ereg_replace('^[0-9]*', '', $str); @@ -162,7 +180,7 @@ function format_unix($str) { } function format_bool($str) { - if($str && $str !== 'No' && $str !== 'False' && $str !== 'false') { + if($str && $str !== 'No' && $str !== 'False' && $str !== 'false' && $str !== 'no' && $str !== 'N' && $str !== 'n') { return 1; } else { return 0; @@ -170,7 +188,7 @@ function format_bool($str) { } function format_yesno($str) { - if($str && $str !== 'No' && $str !== 'False' && $str !== 'false') { + if($str && $str !== 'No' && $str !== 'False' && $str !== 'false' && $str !== 'no' && $str !== 'N' && $str !== 'n') { return 'Yes'; } else { return 'No'; @@ -277,13 +295,13 @@ function format_dollars($str) { # date is edited as mm/dd/yyyy but stored as yyyy-mm-dd function format_mdy_to_ymd($str) { if($str == '') return ''; - require_once('code/wfpl/time.php'); + require_once(__DIR__ . '/time.php'); return mdy_to_ymd(format_oneline($str)); } # date is yyyy-mm-dd function format_ymd($str) { - require_once('code/wfpl/time.php'); + require_once(__DIR__ . '/time.php'); list($year, $month, $day) = ymd_clean($str); return sprintf('%04u-%02u-%02u', $year, $month, $day); }