]> git.mjollnir.org Git - moodle.git/commitdiff
Merged format_string fixes from stable MDL-8713
authormoodler <moodler>
Fri, 16 Mar 2007 05:36:24 +0000 (05:36 +0000)
committermoodler <moodler>
Fri, 16 Mar 2007 05:36:24 +0000 (05:36 +0000)
lib/weblib.php

index 930c9233e3b43f211db0f5f8da990a12482787ea..fa6e656a132200b59a30026eca7e943dc817f9e7 100644 (file)
@@ -1402,7 +1402,12 @@ function format_string ($string, $striplinks=true, $courseid=NULL ) {
         $string = filter_string($string, $courseid);
     }
 
-    if ($striplinks) {  //strip links in string
+    // If the site requires it, strip ALL tags from this string
+    if (!empty($CFG->formatstringstriptags)) {
+        $string = strip_tags($string);
+
+    // Otherwise strip just links if that is required (default)
+    } else if ($striplinks) {  //strip links in string
         $string = preg_replace('/(<a[^>]+?>)(.+?)(<\/a>)/is','$2',$string);
     }
 
@@ -1529,12 +1534,16 @@ function filter_string($string, $courseid=NULL) {
         $stringfilters = explode(',', $CFG->stringfilters);  // ..use the list we have
 
     } else {                                        // Otherwise try to derive a list from textfilters
-        if (strpos($CFG->textfilters, 'filter/multilang')) {  // Multilang is here
+        if (strpos($CFG->textfilters, 'filter/multilang') !== false) {  // Multilang is here
             $stringfilters = array('filter/multilang');       // Let's use just that
             $CFG->stringfilters = 'filter/multilang';         // Save it for next time through
+        } else {
+            $CFG->stringfilters = '';                         // Save the result and return
+            return $string;
         }
     }
 
+
     foreach ($stringfilters as $stringfilter) {
         if (is_readable($CFG->dirroot .'/'. $stringfilter .'/filter.php')) {
             include_once($CFG->dirroot .'/'. $stringfilter .'/filter.php');