5 Modification information for LGPL compliance
7 r56990 - 2010-06-16 13:05:36 -0700 (Wed, 16 Jun 2010) - kjing - snapshot "Mango" svn branch to a new one for GitHub sync
9 r56989 - 2010-06-16 13:01:33 -0700 (Wed, 16 Jun 2010) - kjing - defunt "Mango" svn dev branch before github cutover
11 r55980 - 2010-04-19 13:31:28 -0700 (Mon, 19 Apr 2010) - kjing - create Mango (6.1) based on windex
13 r52439 - 2009-11-12 17:05:52 -0800 (Thu, 12 Nov 2009) - clee - Updated to allow Rich Text Editor to resize and render HTML content on detailview.
15 r51719 - 2009-10-22 10:18:00 -0700 (Thu, 22 Oct 2009) - mitani - Converted to Build 3 tags and updated the build system
17 r51634 - 2009-10-19 13:32:22 -0700 (Mon, 19 Oct 2009) - mitani - Windex is the branch for Sugar Sales 1.0 development
19 r50375 - 2009-08-24 18:07:43 -0700 (Mon, 24 Aug 2009) - dwong - branch kobe2 from tokyo r50372
21 r42807 - 2008-12-29 11:16:59 -0800 (Mon, 29 Dec 2008) - dwong - Branch from trunk/sugarcrm r42806 to branches/tokyo/sugarcrm
23 r10971 - 2006-01-12 14:58:30 -0800 (Thu, 12 Jan 2006) - chris - Bug 4128: updating Smarty templates to 2.6.11, a version supposedly that plays better with PHP 5.1
25 r8230 - 2005-10-03 17:47:19 -0700 (Mon, 03 Oct 2005) - majed - Added Sugar_Smarty to the code tree.
39 * Smarty escape modifier plugin
43 * Purpose: Escape the string according to escapement type
44 * @link http://smarty.php.net/manual/en/language.modifier.escape.php
45 * escape (Smarty online manual)
46 * @author Monte Ohrt <monte at ohrt dot com>
48 * @param html|htmlall|url|quotes|hex|hexentity|javascript
51 function smarty_modifier_escape($string, $esc_type = 'html', $char_set = 'ISO-8859-1')
55 return htmlspecialchars($string, ENT_QUOTES, $char_set);
58 return htmlentities($string, ENT_QUOTES, $char_set);
60 case 'htmlentitydecode':
61 return html_entity_decode($string, ENT_QUOTES, $char_set);
64 return rawurlencode($string);
67 return str_replace('%2F','/',rawurlencode($string));
70 // escape unescaped single quotes
71 return preg_replace("%(?<!\\\\)'%", "\\'", $string);
74 // escape every character into hex
76 for ($x=0; $x < strlen($string); $x++) {
77 $return .= '%' . bin2hex($string[$x]);
83 for ($x=0; $x < strlen($string); $x++) {
84 $return .= '&#x' . bin2hex($string[$x]) . ';';
90 for ($x=0; $x < strlen($string); $x++) {
91 $return .= '&#' . ord($string[$x]) . ';';
96 // escape quotes and backslashes, newlines, etc.
97 return strtr($string, array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n','</'=>'<\/'));
100 // safe way to display e-mail address on a web page
101 return str_replace(array('@', '.'),array(' [AT] ', ' [DOT] '), $string);
104 // escape non-standard chars, such as ms document quotes
106 for($_i = 0, $_len = strlen($string); $_i < $_len; $_i++) {
107 $_ord = ord(substr($string, $_i, 1));
108 // non-standard char, escape it
110 $_res .= '&#' . $_ord . ';';
113 $_res .= substr($string, $_i, 1);
123 /* vim: set expandtab: */