]> git.mjollnir.org Git - moodle.git/commitdiff
Added feature from MDL-6439. A validate method is now supported for admin_configtext...
authorvinkmar <vinkmar>
Mon, 11 Sep 2006 05:06:38 +0000 (05:06 +0000)
committervinkmar <vinkmar>
Mon, 11 Sep 2006 05:06:38 +0000 (05:06 +0000)
lib/adminlib.php

index a616083b2188d47f99be2278971c4b7ffdd47875..b3d242dcdf60481296611cf32ab5d982324a2ac2 100644 (file)
@@ -1243,10 +1243,20 @@ class admin_setting_configtext extends admin_setting {
     }
     
     function write_setting($data) {
-        $data = clean_param($data, $this->paramtype);
+        if (is_string($this->paramtype)) {
+            if (!$this->validate($data)) {
+                return get_string('validateerror', 'admin') . $this->visiblename . '<br />';
+            }
+        } else {
+            $data = clean_param($data, $this->paramtype);
+        }
         return (set_config($this->name,$data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
     }
 
+    function validate($data) {
+        return preg_match($this->paramtype, $data);
+    }
+
     function output_html() {
         return '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td>' .
             '<td align="left"><input type="text" size="50" name="s_'. $this->name .'" value="'. $this->get_setting() .'" /></td></tr>' .