X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=encode.php;h=cd1e0b49d03bfbca64e6ec92e5e6f06a3824e135;hb=7f42492ea33a8d43ee12089b97bd8c0693b293e0;hp=24a150dbc4251b4c1645168651b2f6433a76e507;hpb=bdcec472dcd1e9fc6ff9df137f838f1f3124ec9c;p=wfpl.git
diff --git a/encode.php b/encode.php
index 24a150d..cd1e0b4 100644
--- a/encode.php
+++ b/encode.php
@@ -2,21 +2,18 @@
# Copyright (C) 2005 Jason Woofenden
#
-# This file is part of wfpl.
-#
-# wfpl is free software; you can redistribute it and/or modify it under the
-# terms of the GNU Lesser General Public License as published by the Free
-# Software Foundation; either version 2.1 of the License, or (at your option)
-# any later version.
-#
-# wfpl is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
-# more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with wfpl; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
# This file contains basic encodings. These are used by the encoder. You can
@@ -26,6 +23,10 @@
# will encode foo (using enc_html()) before displaying it, so that characters
# such as < will display properly.
+function enc_cap($str) {
+ $str = ucfirst($str);
+ return $str;
+}
function enc_jsdq($str) {
$str = enc_sql($str);
@@ -52,13 +53,24 @@ function enc_html($str) {
# Encode for output in html. Convert newlines to
#
-# Example:
~foo.html~
+# Example:
~foo.htmlbr~
function enc_htmlbr($str) {
$str = enc_html($str);
$str = str_replace("\n", " \n", $str);
return $str;
}
+# Encode for output in html. Preserves newlines and indentation by converting
+# newlines to and spaces at the begining of lines to
+#
+# 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);
+ return $str;
+}
+
# Encode for output in html. Spaces converted to
#
# Example:
@@ -99,13 +111,25 @@ function enc_url_path($str) {
#
# Example:
function enc_checked($str) {
- if($str == 'Yes') {
+ if($str && $str !== 'No' && $str !== 'False' && $str !== 'false') {
return '" checked="checked';
} else {
return '';
}
}
+# checkboxe values are stored in the db and handled in php as 0 or 1. When you
+# want it displayed as "Yes" or "No" use this:
+# Example: (displaying values from a form submission) Over 60?: ~over_60.yesno~
+function enc_yesno($str) {
+ if($str && $str !== 'No' && $str !== 'False' && $str !== 'false') {
+ return 'Yes';
+ } else {
+ return 'No';
+ }
+}
+
+
# add a tab at the begining of each non-empty line
function enc_tab($str) {
$lines = explode("\n", $str);
@@ -125,54 +149,85 @@ function enc_upper($str) {
return strtoupper($str);
}
-function enc_ddmmyyyyhhmm($seconds) {
- return date('m/d/Y g:ia', (int)$seconds);
+# pass date in the form 2008-05-23
+# ercodes date as 05/23/2008
+function enc_mmddyyyy($yyyy_mm_dd) {
+ if($yyyy_mm_dd == '') {
+ return '';
+ }
+ if(strlen($yyyy_mm_dd) != 10) {
+ return date('m/d/Y');
+ }
+ return substr($yyyy_mm_dd, 5, 2) . '/' . substr($yyyy_mm_dd, 8, 2) . '/' . substr($yyyy_mm_dd, 0, 4);
}
-
-# display