Permalink
Browse files

New optional parameter to s() and p() allowing to specify

if we want to strip slashes (data coming from forms) or no
(data coming from DB, the default). Bug 2338.
(http://moodle.org/bugs/bug.php?op=show&bugid=2338)
  • Loading branch information...
1 parent f2a365b commit d4a42ff4943e8f2fb218a592dc91f204be5624c5 stronk7 committed Apr 12, 2006
Showing with 14 additions and 4 deletions.
  1. +14 −4 lib/weblib.php
View
18 lib/weblib.php
@@ -98,13 +98,21 @@
* This function is very similar to {@link p()}
*
* @param string $var the string potentially containing HTML characters
+ * @param boolean $strip to decide if we want to strip slashes or no. Default to false.
+ * true should be used to print data from forms and false for data from DB.
* @return string
*/
-function s($var) {
+function s($var, $strip=false) {
+
if ($var == '0') { // for integer 0, boolean false, string '0'
return '0';
}
- return preg_replace("/&(#\d+);/i", "&$1;", htmlspecialchars(stripslashes_safe($var)));
+
+ if ($strip) {
+ return preg_replace("/&(#\d+);/i", "&$1;", htmlspecialchars(stripslashes_safe($var)));
+ } else {
+ return preg_replace("/&(#\d+);/i", "&$1;", htmlspecialchars($var));
+ }
}
/**
@@ -114,10 +122,12 @@ function s($var) {
* This function is very similar to {@link s()}
*
* @param string $var the string potentially containing HTML characters
+ * @param boolean $strip to decide if we want to strip slashes or no. Default to false.
+ * true should be used to print data from forms and false for data from DB.
* @return string
*/
-function p($var) {
- echo s($var);
+function p($var, $strip=false) {
+ echo s($var, $strip);
}

0 comments on commit d4a42ff

Please sign in to comment.