GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Pull Request — develop (#1814)
by
unknown
11:57
created
security/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-test.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@
 block discarded – undo
5 5
 $fallback = 'en';
6 6
 
7 7
 $messages = array(
8
-    'HTMLPurifier' => 'HTML Purifier X'
8
+	'HTMLPurifier' => 'HTML Purifier X'
9 9
 );
10 10
 
11 11
 // vim: et sw=4 sts=4
Please login to merge, or discard this patch.
htmlpurifier/library/HTMLPurifier/Language/messages/en-x-testmini.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@
 block discarded – undo
6 6
 $fallback = 'en';
7 7
 
8 8
 $messages = array(
9
-    'HTMLPurifier' => 'HTML Purifier XNone'
9
+	'HTMLPurifier' => 'HTML Purifier XNone'
10 10
 );
11 11
 
12 12
 // vim: et sw=4 sts=4
Please login to merge, or discard this patch.
classes/security/htmlpurifier/library/HTMLPurifier/Language/messages/en.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -55,9 +55,9 @@
 block discarded – undo
55 55
 );
56 56
 
57 57
 $errorNames = array(
58
-    E_ERROR   => 'Error',
59
-    E_WARNING => 'Warning',
60
-    E_NOTICE  => 'Notice'
58
+	E_ERROR   => 'Error',
59
+	E_WARNING => 'Warning',
60
+	E_NOTICE  => 'Notice'
61 61
 );
62 62
 
63 63
 // vim: et sw=4 sts=4
Please login to merge, or discard this patch.
classes/security/htmlpurifier/library/HTMLPurifier/LanguageFactory.php 3 patches
Indentation   +182 added lines, -182 removed lines patch added patch discarded remove patch
@@ -10,188 +10,188 @@
 block discarded – undo
10 10
 class HTMLPurifier_LanguageFactory
11 11
 {
12 12
 
13
-    /**
14
-     * Cache of language code information used to load HTMLPurifier_Language objects
15
-     * Structure is: $factory->cache[$language_code][$key] = $value
16
-     * @value array map
17
-     */
18
-    public $cache;
19
-
20
-    /**
21
-     * Valid keys in the HTMLPurifier_Language object. Designates which
22
-     * variables to slurp out of a message file.
23
-     * @value array list
24
-     */
25
-    public $keys = array('fallback', 'messages', 'errorNames');
26
-
27
-    /**
28
-     * Instance of HTMLPurifier_AttrDef_Lang to validate language codes
29
-     * @value object HTMLPurifier_AttrDef_Lang
30
-     */
31
-    protected $validator;
32
-
33
-    /**
34
-     * Cached copy of dirname(__FILE__), directory of current file without
35
-     * trailing slash
36
-     * @value string filename
37
-     */
38
-    protected $dir;
39
-
40
-    /**
41
-     * Keys whose contents are a hash map and can be merged
42
-     * @value array lookup
43
-     */
44
-    protected $mergeable_keys_map = array('messages' => true, 'errorNames' => true);
45
-
46
-    /**
47
-     * Keys whose contents are a list and can be merged
48
-     * @value array lookup
49
-     */
50
-    protected $mergeable_keys_list = array();
51
-
52
-    /**
53
-     * Retrieve sole instance of the factory.
54
-     * @param $prototype Optional prototype to overload sole instance with,
55
-     *                   or bool true to reset to default factory.
56
-     */
57
-    public static function instance($prototype = null) {
58
-        static $instance = null;
59
-        if ($prototype !== null) {
60
-            $instance = $prototype;
61
-        } elseif ($instance === null || $prototype == true) {
62
-            $instance = new HTMLPurifier_LanguageFactory();
63
-            $instance->setup();
64
-        }
65
-        return $instance;
66
-    }
67
-
68
-    /**
69
-     * Sets up the singleton, much like a constructor
70
-     * @note Prevents people from getting this outside of the singleton
71
-     */
72
-    public function setup() {
73
-        $this->validator = new HTMLPurifier_AttrDef_Lang();
74
-        $this->dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier';
75
-    }
76
-
77
-    /**
78
-     * Creates a language object, handles class fallbacks
79
-     * @param $config Instance of HTMLPurifier_Config
80
-     * @param $context Instance of HTMLPurifier_Context
81
-     * @param $code Code to override configuration with. Private parameter.
82
-     */
83
-    public function create($config, $context, $code = false) {
84
-
85
-        // validate language code
86
-        if ($code === false) {
87
-            $code = $this->validator->validate(
88
-              $config->get('Core.Language'), $config, $context
89
-            );
90
-        } else {
91
-            $code = $this->validator->validate($code, $config, $context);
92
-        }
93
-        if ($code === false) $code = 'en'; // malformed code becomes English
94
-
95
-        $pcode = str_replace('-', '_', $code); // make valid PHP classname
96
-        static $depth = 0; // recursion protection
97
-
98
-        if ($code == 'en') {
99
-            $lang = new HTMLPurifier_Language($config, $context);
100
-        } else {
101
-            $class = 'HTMLPurifier_Language_' . $pcode;
102
-            $file  = $this->dir . '/Language/classes/' . $code . '.php';
103
-            if (file_exists($file) || class_exists($class, false)) {
104
-                $lang = new $class($config, $context);
105
-            } else {
106
-                // Go fallback
107
-                $raw_fallback = $this->getFallbackFor($code);
108
-                $fallback = $raw_fallback ? $raw_fallback : 'en';
109
-                $depth++;
110
-                $lang = $this->create($config, $context, $fallback);
111
-                if (!$raw_fallback) {
112
-                    $lang->error = true;
113
-                }
114
-                $depth--;
115
-            }
116
-        }
117
-
118
-        $lang->code = $code;
119
-
120
-        return $lang;
121
-
122
-    }
123
-
124
-    /**
125
-     * Returns the fallback language for language
126
-     * @note Loads the original language into cache
127
-     * @param $code string language code
128
-     */
129
-    public function getFallbackFor($code) {
130
-        $this->loadLanguage($code);
131
-        return $this->cache[$code]['fallback'];
132
-    }
133
-
134
-    /**
135
-     * Loads language into the cache, handles message file and fallbacks
136
-     * @param $code string language code
137
-     */
138
-    public function loadLanguage($code) {
139
-        static $languages_seen = array(); // recursion guard
140
-
141
-        // abort if we've already loaded it
142
-        if (isset($this->cache[$code])) return;
143
-
144
-        // generate filename
145
-        $filename = $this->dir . '/Language/messages/' . $code . '.php';
146
-
147
-        // default fallback : may be overwritten by the ensuing include
148
-        $fallback = ($code != 'en') ? 'en' : false;
149
-
150
-        // load primary localisation
151
-        if (!file_exists($filename)) {
152
-            // skip the include: will rely solely on fallback
153
-            $filename = $this->dir . '/Language/messages/en.php';
154
-            $cache = array();
155
-        } else {
156
-            include $filename;
157
-            $cache = compact($this->keys);
158
-        }
159
-
160
-        // load fallback localisation
161
-        if (!empty($fallback)) {
162
-
163
-            // infinite recursion guard
164
-            if (isset($languages_seen[$code])) {
165
-                trigger_error('Circular fallback reference in language ' .
166
-                    $code, E_USER_ERROR);
167
-                $fallback = 'en';
168
-            }
169
-            $language_seen[$code] = true;
170
-
171
-            // load the fallback recursively
172
-            $this->loadLanguage($fallback);
173
-            $fallback_cache = $this->cache[$fallback];
174
-
175
-            // merge fallback with current language
176
-            foreach ( $this->keys as $key ) {
177
-                if (isset($cache[$key]) && isset($fallback_cache[$key])) {
178
-                    if (isset($this->mergeable_keys_map[$key])) {
179
-                        $cache[$key] = $cache[$key] + $fallback_cache[$key];
180
-                    } elseif (isset($this->mergeable_keys_list[$key])) {
181
-                        $cache[$key] = array_merge( $fallback_cache[$key], $cache[$key] );
182
-                    }
183
-                } else {
184
-                    $cache[$key] = $fallback_cache[$key];
185
-                }
186
-            }
187
-
188
-        }
189
-
190
-        // save to cache for later retrieval
191
-        $this->cache[$code] = $cache;
192
-
193
-        return;
194
-    }
13
+	/**
14
+	 * Cache of language code information used to load HTMLPurifier_Language objects
15
+	 * Structure is: $factory->cache[$language_code][$key] = $value
16
+	 * @value array map
17
+	 */
18
+	public $cache;
19
+
20
+	/**
21
+	 * Valid keys in the HTMLPurifier_Language object. Designates which
22
+	 * variables to slurp out of a message file.
23
+	 * @value array list
24
+	 */
25
+	public $keys = array('fallback', 'messages', 'errorNames');
26
+
27
+	/**
28
+	 * Instance of HTMLPurifier_AttrDef_Lang to validate language codes
29
+	 * @value object HTMLPurifier_AttrDef_Lang
30
+	 */
31
+	protected $validator;
32
+
33
+	/**
34
+	 * Cached copy of dirname(__FILE__), directory of current file without
35
+	 * trailing slash
36
+	 * @value string filename
37
+	 */
38
+	protected $dir;
39
+
40
+	/**
41
+	 * Keys whose contents are a hash map and can be merged
42
+	 * @value array lookup
43
+	 */
44
+	protected $mergeable_keys_map = array('messages' => true, 'errorNames' => true);
45
+
46
+	/**
47
+	 * Keys whose contents are a list and can be merged
48
+	 * @value array lookup
49
+	 */
50
+	protected $mergeable_keys_list = array();
51
+
52
+	/**
53
+	 * Retrieve sole instance of the factory.
54
+	 * @param $prototype Optional prototype to overload sole instance with,
55
+	 *                   or bool true to reset to default factory.
56
+	 */
57
+	public static function instance($prototype = null) {
58
+		static $instance = null;
59
+		if ($prototype !== null) {
60
+			$instance = $prototype;
61
+		} elseif ($instance === null || $prototype == true) {
62
+			$instance = new HTMLPurifier_LanguageFactory();
63
+			$instance->setup();
64
+		}
65
+		return $instance;
66
+	}
67
+
68
+	/**
69
+	 * Sets up the singleton, much like a constructor
70
+	 * @note Prevents people from getting this outside of the singleton
71
+	 */
72
+	public function setup() {
73
+		$this->validator = new HTMLPurifier_AttrDef_Lang();
74
+		$this->dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier';
75
+	}
76
+
77
+	/**
78
+	 * Creates a language object, handles class fallbacks
79
+	 * @param $config Instance of HTMLPurifier_Config
80
+	 * @param $context Instance of HTMLPurifier_Context
81
+	 * @param $code Code to override configuration with. Private parameter.
82
+	 */
83
+	public function create($config, $context, $code = false) {
84
+
85
+		// validate language code
86
+		if ($code === false) {
87
+			$code = $this->validator->validate(
88
+			  $config->get('Core.Language'), $config, $context
89
+			);
90
+		} else {
91
+			$code = $this->validator->validate($code, $config, $context);
92
+		}
93
+		if ($code === false) $code = 'en'; // malformed code becomes English
94
+
95
+		$pcode = str_replace('-', '_', $code); // make valid PHP classname
96
+		static $depth = 0; // recursion protection
97
+
98
+		if ($code == 'en') {
99
+			$lang = new HTMLPurifier_Language($config, $context);
100
+		} else {
101
+			$class = 'HTMLPurifier_Language_' . $pcode;
102
+			$file  = $this->dir . '/Language/classes/' . $code . '.php';
103
+			if (file_exists($file) || class_exists($class, false)) {
104
+				$lang = new $class($config, $context);
105
+			} else {
106
+				// Go fallback
107
+				$raw_fallback = $this->getFallbackFor($code);
108
+				$fallback = $raw_fallback ? $raw_fallback : 'en';
109
+				$depth++;
110
+				$lang = $this->create($config, $context, $fallback);
111
+				if (!$raw_fallback) {
112
+					$lang->error = true;
113
+				}
114
+				$depth--;
115
+			}
116
+		}
117
+
118
+		$lang->code = $code;
119
+
120
+		return $lang;
121
+
122
+	}
123
+
124
+	/**
125
+	 * Returns the fallback language for language
126
+	 * @note Loads the original language into cache
127
+	 * @param $code string language code
128
+	 */
129
+	public function getFallbackFor($code) {
130
+		$this->loadLanguage($code);
131
+		return $this->cache[$code]['fallback'];
132
+	}
133
+
134
+	/**
135
+	 * Loads language into the cache, handles message file and fallbacks
136
+	 * @param $code string language code
137
+	 */
138
+	public function loadLanguage($code) {
139
+		static $languages_seen = array(); // recursion guard
140
+
141
+		// abort if we've already loaded it
142
+		if (isset($this->cache[$code])) return;
143
+
144
+		// generate filename
145
+		$filename = $this->dir . '/Language/messages/' . $code . '.php';
146
+
147
+		// default fallback : may be overwritten by the ensuing include
148
+		$fallback = ($code != 'en') ? 'en' : false;
149
+
150
+		// load primary localisation
151
+		if (!file_exists($filename)) {
152
+			// skip the include: will rely solely on fallback
153
+			$filename = $this->dir . '/Language/messages/en.php';
154
+			$cache = array();
155
+		} else {
156
+			include $filename;
157
+			$cache = compact($this->keys);
158
+		}
159
+
160
+		// load fallback localisation
161
+		if (!empty($fallback)) {
162
+
163
+			// infinite recursion guard
164
+			if (isset($languages_seen[$code])) {
165
+				trigger_error('Circular fallback reference in language ' .
166
+					$code, E_USER_ERROR);
167
+				$fallback = 'en';
168
+			}
169
+			$language_seen[$code] = true;
170
+
171
+			// load the fallback recursively
172
+			$this->loadLanguage($fallback);
173
+			$fallback_cache = $this->cache[$fallback];
174
+
175
+			// merge fallback with current language
176
+			foreach ( $this->keys as $key ) {
177
+				if (isset($cache[$key]) && isset($fallback_cache[$key])) {
178
+					if (isset($this->mergeable_keys_map[$key])) {
179
+						$cache[$key] = $cache[$key] + $fallback_cache[$key];
180
+					} elseif (isset($this->mergeable_keys_list[$key])) {
181
+						$cache[$key] = array_merge( $fallback_cache[$key], $cache[$key] );
182
+					}
183
+				} else {
184
+					$cache[$key] = $fallback_cache[$key];
185
+				}
186
+			}
187
+
188
+		}
189
+
190
+		// save to cache for later retrieval
191
+		$this->cache[$code] = $cache;
192
+
193
+		return;
194
+	}
195 195
 
196 196
 }
197 197
 
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -173,12 +173,12 @@
 block discarded – undo
173 173
             $fallback_cache = $this->cache[$fallback];
174 174
 
175 175
             // merge fallback with current language
176
-            foreach ( $this->keys as $key ) {
176
+            foreach ($this->keys as $key) {
177 177
                 if (isset($cache[$key]) && isset($fallback_cache[$key])) {
178 178
                     if (isset($this->mergeable_keys_map[$key])) {
179 179
                         $cache[$key] = $cache[$key] + $fallback_cache[$key];
180 180
                     } elseif (isset($this->mergeable_keys_list[$key])) {
181
-                        $cache[$key] = array_merge( $fallback_cache[$key], $cache[$key] );
181
+                        $cache[$key] = array_merge($fallback_cache[$key], $cache[$key]);
182 182
                     }
183 183
                 } else {
184 184
                     $cache[$key] = $fallback_cache[$key];
Please login to merge, or discard this patch.
Braces   +7 added lines, -2 removed lines patch added patch discarded remove patch
@@ -90,7 +90,10 @@  discard block
 block discarded – undo
90 90
         } else {
91 91
             $code = $this->validator->validate($code, $config, $context);
92 92
         }
93
-        if ($code === false) $code = 'en'; // malformed code becomes English
93
+        if ($code === false) {
94
+        	$code = 'en';
95
+        }
96
+        // malformed code becomes English
94 97
 
95 98
         $pcode = str_replace('-', '_', $code); // make valid PHP classname
96 99
         static $depth = 0; // recursion protection
@@ -139,7 +142,9 @@  discard block
 block discarded – undo
139 142
         static $languages_seen = array(); // recursion guard
140 143
 
141 144
         // abort if we've already loaded it
142
-        if (isset($this->cache[$code])) return;
145
+        if (isset($this->cache[$code])) {
146
+        	return;
147
+        }
143 148
 
144 149
         // generate filename
145 150
         $filename = $this->dir . '/Language/messages/' . $code . '.php';
Please login to merge, or discard this patch.
classes/security/htmlpurifier/library/HTMLPurifier/Length.php 3 patches
Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -7,108 +7,108 @@
 block discarded – undo
7 7
 class HTMLPurifier_Length
8 8
 {
9 9
 
10
-    /**
11
-     * String numeric magnitude.
12
-     */
13
-    protected $n;
10
+	/**
11
+	 * String numeric magnitude.
12
+	 */
13
+	protected $n;
14 14
 
15
-    /**
16
-     * String unit. False is permitted if $n = 0.
17
-     */
18
-    protected $unit;
15
+	/**
16
+	 * String unit. False is permitted if $n = 0.
17
+	 */
18
+	protected $unit;
19 19
 
20
-    /**
21
-     * Whether or not this length is valid. Null if not calculated yet.
22
-     */
23
-    protected $isValid;
20
+	/**
21
+	 * Whether or not this length is valid. Null if not calculated yet.
22
+	 */
23
+	protected $isValid;
24 24
 
25
-    /**
26
-     * Lookup array of units recognized by CSS 2.1
27
-     */
28
-    protected static $allowedUnits = array(
29
-        'em' => true, 'ex' => true, 'px' => true, 'in' => true,
30
-        'cm' => true, 'mm' => true, 'pt' => true, 'pc' => true
31
-    );
25
+	/**
26
+	 * Lookup array of units recognized by CSS 2.1
27
+	 */
28
+	protected static $allowedUnits = array(
29
+		'em' => true, 'ex' => true, 'px' => true, 'in' => true,
30
+		'cm' => true, 'mm' => true, 'pt' => true, 'pc' => true
31
+	);
32 32
 
33
-    /**
34
-     * @param number $n Magnitude
35
-     * @param string $u Unit
36
-     */
37
-    public function __construct($n = '0', $u = false) {
38
-        $this->n = (string) $n;
39
-        $this->unit = $u !== false ? (string) $u : false;
40
-    }
33
+	/**
34
+	 * @param number $n Magnitude
35
+	 * @param string $u Unit
36
+	 */
37
+	public function __construct($n = '0', $u = false) {
38
+		$this->n = (string) $n;
39
+		$this->unit = $u !== false ? (string) $u : false;
40
+	}
41 41
 
42
-    /**
43
-     * @param string $s Unit string, like '2em' or '3.4in'
44
-     * @warning Does not perform validation.
45
-     */
46
-    static public function make($s) {
47
-        if ($s instanceof HTMLPurifier_Length) return $s;
48
-        $n_length = strspn($s, '1234567890.+-');
49
-        $n = substr($s, 0, $n_length);
50
-        $unit = substr($s, $n_length);
51
-        if ($unit === '') $unit = false;
52
-        return new HTMLPurifier_Length($n, $unit);
53
-    }
42
+	/**
43
+	 * @param string $s Unit string, like '2em' or '3.4in'
44
+	 * @warning Does not perform validation.
45
+	 */
46
+	static public function make($s) {
47
+		if ($s instanceof HTMLPurifier_Length) return $s;
48
+		$n_length = strspn($s, '1234567890.+-');
49
+		$n = substr($s, 0, $n_length);
50
+		$unit = substr($s, $n_length);
51
+		if ($unit === '') $unit = false;
52
+		return new HTMLPurifier_Length($n, $unit);
53
+	}
54 54
 
55
-    /**
56
-     * Validates the number and unit.
57
-     */
58
-    protected function validate() {
59
-        // Special case:
60
-        if ($this->n === '+0' || $this->n === '-0') $this->n = '0';
61
-        if ($this->n === '0' && $this->unit === false) return true;
62
-        if (!ctype_lower($this->unit)) $this->unit = strtolower($this->unit);
63
-        if (!isset(HTMLPurifier_Length::$allowedUnits[$this->unit])) return false;
64
-        // Hack:
65
-        $def = new HTMLPurifier_AttrDef_CSS_Number();
66
-        $result = $def->validate($this->n, false, false);
67
-        if ($result === false) return false;
68
-        $this->n = $result;
69
-        return true;
70
-    }
55
+	/**
56
+	 * Validates the number and unit.
57
+	 */
58
+	protected function validate() {
59
+		// Special case:
60
+		if ($this->n === '+0' || $this->n === '-0') $this->n = '0';
61
+		if ($this->n === '0' && $this->unit === false) return true;
62
+		if (!ctype_lower($this->unit)) $this->unit = strtolower($this->unit);
63
+		if (!isset(HTMLPurifier_Length::$allowedUnits[$this->unit])) return false;
64
+		// Hack:
65
+		$def = new HTMLPurifier_AttrDef_CSS_Number();
66
+		$result = $def->validate($this->n, false, false);
67
+		if ($result === false) return false;
68
+		$this->n = $result;
69
+		return true;
70
+	}
71 71
 
72
-    /**
73
-     * Returns string representation of number.
74
-     */
75
-    public function toString() {
76
-        if (!$this->isValid()) return false;
77
-        return $this->n . $this->unit;
78
-    }
72
+	/**
73
+	 * Returns string representation of number.
74
+	 */
75
+	public function toString() {
76
+		if (!$this->isValid()) return false;
77
+		return $this->n . $this->unit;
78
+	}
79 79
 
80
-    /**
81
-     * Retrieves string numeric magnitude.
82
-     */
83
-    public function getN() {return $this->n;}
80
+	/**
81
+	 * Retrieves string numeric magnitude.
82
+	 */
83
+	public function getN() {return $this->n;}
84 84
 
85
-    /**
86
-     * Retrieves string unit.
87
-     */
88
-    public function getUnit() {return $this->unit;}
85
+	/**
86
+	 * Retrieves string unit.
87
+	 */
88
+	public function getUnit() {return $this->unit;}
89 89
 
90
-    /**
91
-     * Returns true if this length unit is valid.
92
-     */
93
-    public function isValid() {
94
-        if ($this->isValid === null) $this->isValid = $this->validate();
95
-        return $this->isValid;
96
-    }
90
+	/**
91
+	 * Returns true if this length unit is valid.
92
+	 */
93
+	public function isValid() {
94
+		if ($this->isValid === null) $this->isValid = $this->validate();
95
+		return $this->isValid;
96
+	}
97 97
 
98
-    /**
99
-     * Compares two lengths, and returns 1 if greater, -1 if less and 0 if equal.
100
-     * @warning If both values are too large or small, this calculation will
101
-     *          not work properly
102
-     */
103
-    public function compareTo($l) {
104
-        if ($l === false) return false;
105
-        if ($l->unit !== $this->unit) {
106
-            $converter = new HTMLPurifier_UnitConverter();
107
-            $l = $converter->convert($l, $this->unit);
108
-            if ($l === false) return false;
109
-        }
110
-        return $this->n - $l->n;
111
-    }
98
+	/**
99
+	 * Compares two lengths, and returns 1 if greater, -1 if less and 0 if equal.
100
+	 * @warning If both values are too large or small, this calculation will
101
+	 *          not work properly
102
+	 */
103
+	public function compareTo($l) {
104
+		if ($l === false) return false;
105
+		if ($l->unit !== $this->unit) {
106
+			$converter = new HTMLPurifier_UnitConverter();
107
+			$l = $converter->convert($l, $this->unit);
108
+			if ($l === false) return false;
109
+		}
110
+		return $this->n - $l->n;
111
+	}
112 112
 
113 113
 }
114 114
 
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -80,12 +80,12 @@
 block discarded – undo
80 80
     /**
81 81
      * Retrieves string numeric magnitude.
82 82
      */
83
-    public function getN() {return $this->n;}
83
+    public function getN() {return $this->n; }
84 84
 
85 85
     /**
86 86
      * Retrieves string unit.
87 87
      */
88
-    public function getUnit() {return $this->unit;}
88
+    public function getUnit() {return $this->unit; }
89 89
 
90 90
     /**
91 91
      * Returns true if this length unit is valid.
Please login to merge, or discard this patch.
Braces   +33 added lines, -11 removed lines patch added patch discarded remove patch
@@ -44,11 +44,15 @@  discard block
 block discarded – undo
44 44
      * @warning Does not perform validation.
45 45
      */
46 46
     static public function make($s) {
47
-        if ($s instanceof HTMLPurifier_Length) return $s;
47
+        if ($s instanceof HTMLPurifier_Length) {
48
+        	return $s;
49
+        }
48 50
         $n_length = strspn($s, '1234567890.+-');
49 51
         $n = substr($s, 0, $n_length);
50 52
         $unit = substr($s, $n_length);
51
-        if ($unit === '') $unit = false;
53
+        if ($unit === '') {
54
+        	$unit = false;
55
+        }
52 56
         return new HTMLPurifier_Length($n, $unit);
53 57
     }
54 58
 
@@ -57,14 +61,24 @@  discard block
 block discarded – undo
57 61
      */
58 62
     protected function validate() {
59 63
         // Special case:
60
-        if ($this->n === '+0' || $this->n === '-0') $this->n = '0';
61
-        if ($this->n === '0' && $this->unit === false) return true;
62
-        if (!ctype_lower($this->unit)) $this->unit = strtolower($this->unit);
63
-        if (!isset(HTMLPurifier_Length::$allowedUnits[$this->unit])) return false;
64
+        if ($this->n === '+0' || $this->n === '-0') {
65
+        	$this->n = '0';
66
+        }
67
+        if ($this->n === '0' && $this->unit === false) {
68
+        	return true;
69
+        }
70
+        if (!ctype_lower($this->unit)) {
71
+        	$this->unit = strtolower($this->unit);
72
+        }
73
+        if (!isset(HTMLPurifier_Length::$allowedUnits[$this->unit])) {
74
+        	return false;
75
+        }
64 76
         // Hack:
65 77
         $def = new HTMLPurifier_AttrDef_CSS_Number();
66 78
         $result = $def->validate($this->n, false, false);
67
-        if ($result === false) return false;
79
+        if ($result === false) {
80
+        	return false;
81
+        }
68 82
         $this->n = $result;
69 83
         return true;
70 84
     }
@@ -73,7 +87,9 @@  discard block
 block discarded – undo
73 87
      * Returns string representation of number.
74 88
      */
75 89
     public function toString() {
76
-        if (!$this->isValid()) return false;
90
+        if (!$this->isValid()) {
91
+        	return false;
92
+        }
77 93
         return $this->n . $this->unit;
78 94
     }
79 95
 
@@ -91,7 +107,9 @@  discard block
 block discarded – undo
91 107
      * Returns true if this length unit is valid.
92 108
      */
93 109
     public function isValid() {
94
-        if ($this->isValid === null) $this->isValid = $this->validate();
110
+        if ($this->isValid === null) {
111
+        	$this->isValid = $this->validate();
112
+        }
95 113
         return $this->isValid;
96 114
     }
97 115
 
@@ -101,11 +119,15 @@  discard block
 block discarded – undo
101 119
      *          not work properly
102 120
      */
103 121
     public function compareTo($l) {
104
-        if ($l === false) return false;
122
+        if ($l === false) {
123
+        	return false;
124
+        }
105 125
         if ($l->unit !== $this->unit) {
106 126
             $converter = new HTMLPurifier_UnitConverter();
107 127
             $l = $converter->convert($l, $this->unit);
108
-            if ($l === false) return false;
128
+            if ($l === false) {
129
+            	return false;
130
+            }
109 131
         }
110 132
         return $this->n - $l->n;
111 133
     }
Please login to merge, or discard this patch.
classes/security/htmlpurifier/library/HTMLPurifier/Lexer.php 3 patches
Indentation   +276 added lines, -276 removed lines patch added patch discarded remove patch
@@ -42,284 +42,284 @@
 block discarded – undo
42 42
 class HTMLPurifier_Lexer
43 43
 {
44 44
 
45
-    /**
46
-     * Whether or not this lexer implements line-number/column-number tracking.
47
-     * If it does, set to true.
48
-     */
49
-    public $tracksLineNumbers = false;
50
-
51
-    // -- STATIC ----------------------------------------------------------
52
-
53
-    /**
54
-     * Retrieves or sets the default Lexer as a Prototype Factory.
55
-     *
56
-     * By default HTMLPurifier_Lexer_DOMLex will be returned. There are
57
-     * a few exceptions involving special features that only DirectLex
58
-     * implements.
59
-     *
60
-     * @note The behavior of this class has changed, rather than accepting
61
-     *       a prototype object, it now accepts a configuration object.
62
-     *       To specify your own prototype, set %Core.LexerImpl to it.
63
-     *       This change in behavior de-singletonizes the lexer object.
64
-     *
65
-     * @param $config Instance of HTMLPurifier_Config
66
-     * @return Concrete lexer.
67
-     */
68
-    public static function create($config) {
69
-
70
-        if (!($config instanceof HTMLPurifier_Config)) {
71
-            $lexer = $config;
72
-            trigger_error("Passing a prototype to
45
+	/**
46
+	 * Whether or not this lexer implements line-number/column-number tracking.
47
+	 * If it does, set to true.
48
+	 */
49
+	public $tracksLineNumbers = false;
50
+
51
+	// -- STATIC ----------------------------------------------------------
52
+
53
+	/**
54
+	 * Retrieves or sets the default Lexer as a Prototype Factory.
55
+	 *
56
+	 * By default HTMLPurifier_Lexer_DOMLex will be returned. There are
57
+	 * a few exceptions involving special features that only DirectLex
58
+	 * implements.
59
+	 *
60
+	 * @note The behavior of this class has changed, rather than accepting
61
+	 *       a prototype object, it now accepts a configuration object.
62
+	 *       To specify your own prototype, set %Core.LexerImpl to it.
63
+	 *       This change in behavior de-singletonizes the lexer object.
64
+	 *
65
+	 * @param $config Instance of HTMLPurifier_Config
66
+	 * @return Concrete lexer.
67
+	 */
68
+	public static function create($config) {
69
+
70
+		if (!($config instanceof HTMLPurifier_Config)) {
71
+			$lexer = $config;
72
+			trigger_error("Passing a prototype to
73 73
               HTMLPurifier_Lexer::create() is deprecated, please instead
74 74
               use %Core.LexerImpl", E_USER_WARNING);
75
-        } else {
76
-            $lexer = $config->get('Core.LexerImpl');
77
-        }
78
-
79
-        $needs_tracking =
80
-            $config->get('Core.MaintainLineNumbers') ||
81
-            $config->get('Core.CollectErrors');
82
-
83
-        $inst = null;
84
-        if (is_object($lexer)) {
85
-            $inst = $lexer;
86
-        } else {
87
-
88
-            if (is_null($lexer)) { do {
89
-                // auto-detection algorithm
90
-
91
-                if ($needs_tracking) {
92
-                    $lexer = 'DirectLex';
93
-                    break;
94
-                }
95
-
96
-                if (
97
-                    class_exists('DOMDocument') &&
98
-                    method_exists('DOMDocument', 'loadHTML') &&
99
-                    !extension_loaded('domxml')
100
-                ) {
101
-                    // check for DOM support, because while it's part of the
102
-                    // core, it can be disabled compile time. Also, the PECL
103
-                    // domxml extension overrides the default DOM, and is evil
104
-                    // and nasty and we shan't bother to support it
105
-                    $lexer = 'DOMLex';
106
-                } else {
107
-                    $lexer = 'DirectLex';
108
-                }
109
-
110
-            } while(0); } // do..while so we can break
111
-
112
-            // instantiate recognized string names
113
-            switch ($lexer) {
114
-                case 'DOMLex':
115
-                    $inst = new HTMLPurifier_Lexer_DOMLex();
116
-                    break;
117
-                case 'DirectLex':
118
-                    $inst = new HTMLPurifier_Lexer_DirectLex();
119
-                    break;
120
-                case 'PH5P':
121
-                    $inst = new HTMLPurifier_Lexer_PH5P();
122
-                    break;
123
-                default:
124
-                    throw new HTMLPurifier_Exception("Cannot instantiate unrecognized Lexer type " . htmlspecialchars($lexer, ENT_COMPAT | ENT_HTML401, 'UTF-8', false));
125
-            }
126
-        }
127
-
128
-        if (!$inst) throw new HTMLPurifier_Exception('No lexer was instantiated');
129
-
130
-        // once PHP DOM implements native line numbers, or we
131
-        // hack out something using XSLT, remove this stipulation
132
-        if ($needs_tracking && !$inst->tracksLineNumbers) {
133
-            throw new HTMLPurifier_Exception('Cannot use lexer that does not support line numbers with Core.MaintainLineNumbers or Core.CollectErrors (use DirectLex instead)');
134
-        }
135
-
136
-        return $inst;
137
-
138
-    }
139
-
140
-    // -- CONVENIENCE MEMBERS ---------------------------------------------
141
-
142
-    public function __construct() {
143
-        $this->_entity_parser = new HTMLPurifier_EntityParser();
144
-    }
145
-
146
-    /**
147
-     * Most common entity to raw value conversion table for special entities.
148
-     */
149
-    protected $_special_entity2str =
150
-            array(
151
-                    '"' => '"',
152
-                    '&'  => '&',
153
-                    '&lt;'   => '<',
154
-                    '&gt;'   => '>',
155
-                    '&#39;'  => "'",
156
-                    '&#039;' => "'",
157
-                    '&#x27;' => "'"
158
-            );
159
-
160
-    /**
161
-     * Parses special entities into the proper characters.
162
-     *
163
-     * This string will translate escaped versions of the special characters
164
-     * into the correct ones.
165
-     *
166
-     * @warning
167
-     * You should be able to treat the output of this function as
168
-     * completely parsed, but that's only because all other entities should
169
-     * have been handled previously in substituteNonSpecialEntities()
170
-     *
171
-     * @param $string String character data to be parsed.
172
-     * @returns Parsed character data.
173
-     */
174
-    public function parseData($string) {
175
-
176
-        // following functions require at least one character
177
-        if ($string === '') return '';
178
-
179
-        // subtracts amps that cannot possibly be escaped
180
-        $num_amp = substr_count($string, '&') - substr_count($string, '& ') -
181
-            ($string[strlen($string)-1] === '&' ? 1 : 0);
182
-
183
-        if (!$num_amp) return $string; // abort if no entities
184
-        $num_esc_amp = substr_count($string, '&amp;');
185
-        $string = strtr($string, $this->_special_entity2str);
186
-
187
-        // code duplication for sake of optimization, see above
188
-        $num_amp_2 = substr_count($string, '&') - substr_count($string, '& ') -
189
-            ($string[strlen($string)-1] === '&' ? 1 : 0);
190
-
191
-        if ($num_amp_2 <= $num_esc_amp) return $string;
192
-
193
-        // hmm... now we have some uncommon entities. Use the callback.
194
-        $string = $this->_entity_parser->substituteSpecialEntities($string);
195
-        return $string;
196
-    }
197
-
198
-    /**
199
-     * Lexes an HTML string into tokens.
200
-     *
201
-     * @param $string String HTML.
202
-     * @return HTMLPurifier_Token array representation of HTML.
203
-     */
204
-    public function tokenizeHTML($string, $config, $context) {
205
-        trigger_error('Call to abstract class', E_USER_ERROR);
206
-    }
207
-
208
-    /**
209
-     * Translates CDATA sections into regular sections (through escaping).
210
-     *
211
-     * @param $string HTML string to process.
212
-     * @returns HTML with CDATA sections escaped.
213
-     */
214
-    protected static function escapeCDATA($string) {
215
-        return preg_replace_callback(
216
-            '/<!\[CDATA\[(.+?)\]\]>/s',
217
-            array('HTMLPurifier_Lexer', 'CDATACallback'),
218
-            $string
219
-        );
220
-    }
221
-
222
-    /**
223
-     * Special CDATA case that is especially convoluted for <script>
224
-     */
225
-    protected static function escapeCommentedCDATA($string) {
226
-        return preg_replace_callback(
227
-            '#<!--//--><!\[CDATA\[//><!--(.+?)//--><!\]\]>#s',
228
-            array('HTMLPurifier_Lexer', 'CDATACallback'),
229
-            $string
230
-        );
231
-    }
232
-
233
-    /**
234
-     * Special Internet Explorer conditional comments should be removed.
235
-     */
236
-    protected static function removeIEConditional($string) {
237
-        return preg_replace(
238
-            '#<!--\[if [^>]+\]>.*?<!\[endif\]-->#si', // probably should generalize for all strings
239
-            '',
240
-            $string
241
-        );
242
-    }
243
-
244
-    /**
245
-     * Callback function for escapeCDATA() that does the work.
246
-     *
247
-     * @warning Though this is public in order to let the callback happen,
248
-     *          calling it directly is not recommended.
249
-     * @params $matches PCRE matches array, with index 0 the entire match
250
-     *                  and 1 the inside of the CDATA section.
251
-     * @returns Escaped internals of the CDATA section.
252
-     */
253
-    protected static function CDATACallback($matches) {
254
-        // not exactly sure why the character set is needed, but whatever
255
-        return htmlspecialchars($matches[1], ENT_COMPAT, 'UTF-8', false);
256
-    }
257
-
258
-    /**
259
-     * Takes a piece of HTML and normalizes it by converting entities, fixing
260
-     * encoding, extracting bits, and other good stuff.
261
-     * @todo Consider making protected
262
-     */
263
-    public function normalize($html, $config, $context) {
264
-
265
-        // normalize newlines to \n
266
-        if ($config->get('Core.NormalizeNewlines')) {
267
-            $html = str_replace("\r\n", "\n", $html);
268
-            $html = str_replace("\r", "\n", $html);
269
-        }
270
-
271
-        if ($config->get('HTML.Trusted')) {
272
-            // escape convoluted CDATA
273
-            $html = $this->escapeCommentedCDATA($html);
274
-        }
275
-
276
-        // escape CDATA
277
-        $html = $this->escapeCDATA($html);
278
-
279
-        $html = $this->removeIEConditional($html);
280
-
281
-        // extract body from document if applicable
282
-        if ($config->get('Core.ConvertDocumentToFragment')) {
283
-            $e = false;
284
-            if ($config->get('Core.CollectErrors')) {
285
-                $e =& $context->get('ErrorCollector');
286
-            }
287
-            $new_html = $this->extractBody($html);
288
-            if ($e && $new_html != $html) {
289
-                $e->send(E_WARNING, 'Lexer: Extracted body');
290
-            }
291
-            $html = $new_html;
292
-        }
293
-
294
-        // expand entities that aren't the big five
295
-        $html = $this->_entity_parser->substituteNonSpecialEntities($html);
296
-
297
-        // clean into wellformed UTF-8 string for an SGML context: this has
298
-        // to be done after entity expansion because the entities sometimes
299
-        // represent non-SGML characters (horror, horror!)
300
-        $html = HTMLPurifier_Encoder::cleanUTF8($html);
301
-
302
-        // if processing instructions are to removed, remove them now
303
-        if ($config->get('Core.RemoveProcessingInstructions')) {
304
-            $html = preg_replace('#<\?.+?\?>#s', '', $html);
305
-        }
306
-
307
-        return $html;
308
-    }
309
-
310
-    /**
311
-     * Takes a string of HTML (fragment or document) and returns the content
312
-     * @todo Consider making protected
313
-     */
314
-    public function extractBody($html) {
315
-        $matches = array();
316
-        $result = preg_match('!<body[^>]*>(.*)</body>!is', $html, $matches);
317
-        if ($result) {
318
-            return $matches[1];
319
-        } else {
320
-            return $html;
321
-        }
322
-    }
75
+		} else {
76
+			$lexer = $config->get('Core.LexerImpl');
77
+		}
78
+
79
+		$needs_tracking =
80
+			$config->get('Core.MaintainLineNumbers') ||
81
+			$config->get('Core.CollectErrors');
82
+
83
+		$inst = null;
84
+		if (is_object($lexer)) {
85
+			$inst = $lexer;
86
+		} else {
87
+
88
+			if (is_null($lexer)) { do {
89
+				// auto-detection algorithm
90
+
91
+				if ($needs_tracking) {
92
+					$lexer = 'DirectLex';
93
+					break;
94
+				}
95
+
96
+				if (
97
+					class_exists('DOMDocument') &&
98
+					method_exists('DOMDocument', 'loadHTML') &&
99
+					!extension_loaded('domxml')
100
+				) {
101
+					// check for DOM support, because while it's part of the
102
+					// core, it can be disabled compile time. Also, the PECL
103
+					// domxml extension overrides the default DOM, and is evil
104
+					// and nasty and we shan't bother to support it
105
+					$lexer = 'DOMLex';
106
+				} else {
107
+					$lexer = 'DirectLex';
108
+				}
109
+
110
+			} while(0); } // do..while so we can break
111
+
112
+			// instantiate recognized string names
113
+			switch ($lexer) {
114
+				case 'DOMLex':
115
+					$inst = new HTMLPurifier_Lexer_DOMLex();
116
+					break;
117
+				case 'DirectLex':
118
+					$inst = new HTMLPurifier_Lexer_DirectLex();
119
+					break;
120
+				case 'PH5P':
121
+					$inst = new HTMLPurifier_Lexer_PH5P();
122
+					break;
123
+				default:
124
+					throw new HTMLPurifier_Exception("Cannot instantiate unrecognized Lexer type " . htmlspecialchars($lexer, ENT_COMPAT | ENT_HTML401, 'UTF-8', false));
125
+			}
126
+		}
127
+
128
+		if (!$inst) throw new HTMLPurifier_Exception('No lexer was instantiated');
129
+
130
+		// once PHP DOM implements native line numbers, or we
131
+		// hack out something using XSLT, remove this stipulation
132
+		if ($needs_tracking && !$inst->tracksLineNumbers) {
133
+			throw new HTMLPurifier_Exception('Cannot use lexer that does not support line numbers with Core.MaintainLineNumbers or Core.CollectErrors (use DirectLex instead)');
134
+		}
135
+
136
+		return $inst;
137
+
138
+	}
139
+
140
+	// -- CONVENIENCE MEMBERS ---------------------------------------------
141
+
142
+	public function __construct() {
143
+		$this->_entity_parser = new HTMLPurifier_EntityParser();
144
+	}
145
+
146
+	/**
147
+	 * Most common entity to raw value conversion table for special entities.
148
+	 */
149
+	protected $_special_entity2str =
150
+			array(
151
+					'&quot;' => '"',
152
+					'&amp;'  => '&',
153
+					'&lt;'   => '<',
154
+					'&gt;'   => '>',
155
+					'&#39;'  => "'",
156
+					'&#039;' => "'",
157
+					'&#x27;' => "'"
158
+			);
159
+
160
+	/**
161
+	 * Parses special entities into the proper characters.
162
+	 *
163
+	 * This string will translate escaped versions of the special characters
164
+	 * into the correct ones.
165
+	 *
166
+	 * @warning
167
+	 * You should be able to treat the output of this function as
168
+	 * completely parsed, but that's only because all other entities should
169
+	 * have been handled previously in substituteNonSpecialEntities()
170
+	 *
171
+	 * @param $string String character data to be parsed.
172
+	 * @returns Parsed character data.
173
+	 */
174
+	public function parseData($string) {
175
+
176
+		// following functions require at least one character
177
+		if ($string === '') return '';
178
+
179
+		// subtracts amps that cannot possibly be escaped
180
+		$num_amp = substr_count($string, '&') - substr_count($string, '& ') -
181
+			($string[strlen($string)-1] === '&' ? 1 : 0);
182
+
183
+		if (!$num_amp) return $string; // abort if no entities
184
+		$num_esc_amp = substr_count($string, '&amp;');
185
+		$string = strtr($string, $this->_special_entity2str);
186
+
187
+		// code duplication for sake of optimization, see above
188
+		$num_amp_2 = substr_count($string, '&') - substr_count($string, '& ') -
189
+			($string[strlen($string)-1] === '&' ? 1 : 0);
190
+
191
+		if ($num_amp_2 <= $num_esc_amp) return $string;
192
+
193
+		// hmm... now we have some uncommon entities. Use the callback.
194
+		$string = $this->_entity_parser->substituteSpecialEntities($string);
195
+		return $string;
196
+	}
197
+
198
+	/**
199
+	 * Lexes an HTML string into tokens.
200
+	 *
201
+	 * @param $string String HTML.
202
+	 * @return HTMLPurifier_Token array representation of HTML.
203
+	 */
204
+	public function tokenizeHTML($string, $config, $context) {
205
+		trigger_error('Call to abstract class', E_USER_ERROR);
206
+	}
207
+
208
+	/**
209
+	 * Translates CDATA sections into regular sections (through escaping).
210
+	 *
211
+	 * @param $string HTML string to process.
212
+	 * @returns HTML with CDATA sections escaped.
213
+	 */
214
+	protected static function escapeCDATA($string) {
215
+		return preg_replace_callback(
216
+			'/<!\[CDATA\[(.+?)\]\]>/s',
217
+			array('HTMLPurifier_Lexer', 'CDATACallback'),
218
+			$string
219
+		);
220
+	}
221
+
222
+	/**
223
+	 * Special CDATA case that is especially convoluted for <script>
224
+	 */
225
+	protected static function escapeCommentedCDATA($string) {
226
+		return preg_replace_callback(
227
+			'#<!--//--><!\[CDATA\[//><!--(.+?)//--><!\]\]>#s',
228
+			array('HTMLPurifier_Lexer', 'CDATACallback'),
229
+			$string
230
+		);
231
+	}
232
+
233
+	/**
234
+	 * Special Internet Explorer conditional comments should be removed.
235
+	 */
236
+	protected static function removeIEConditional($string) {
237
+		return preg_replace(
238
+			'#<!--\[if [^>]+\]>.*?<!\[endif\]-->#si', // probably should generalize for all strings
239
+			'',
240
+			$string
241
+		);
242
+	}
243
+
244
+	/**
245
+	 * Callback function for escapeCDATA() that does the work.
246
+	 *
247
+	 * @warning Though this is public in order to let the callback happen,
248
+	 *          calling it directly is not recommended.
249
+	 * @params $matches PCRE matches array, with index 0 the entire match
250
+	 *                  and 1 the inside of the CDATA section.
251
+	 * @returns Escaped internals of the CDATA section.
252
+	 */
253
+	protected static function CDATACallback($matches) {
254
+		// not exactly sure why the character set is needed, but whatever
255
+		return htmlspecialchars($matches[1], ENT_COMPAT, 'UTF-8', false);
256
+	}
257
+
258
+	/**
259
+	 * Takes a piece of HTML and normalizes it by converting entities, fixing
260
+	 * encoding, extracting bits, and other good stuff.
261
+	 * @todo Consider making protected
262
+	 */
263
+	public function normalize($html, $config, $context) {
264
+
265
+		// normalize newlines to \n
266
+		if ($config->get('Core.NormalizeNewlines')) {
267
+			$html = str_replace("\r\n", "\n", $html);
268
+			$html = str_replace("\r", "\n", $html);
269
+		}
270
+
271
+		if ($config->get('HTML.Trusted')) {
272
+			// escape convoluted CDATA
273
+			$html = $this->escapeCommentedCDATA($html);
274
+		}
275
+
276
+		// escape CDATA
277
+		$html = $this->escapeCDATA($html);
278
+
279
+		$html = $this->removeIEConditional($html);
280
+
281
+		// extract body from document if applicable
282
+		if ($config->get('Core.ConvertDocumentToFragment')) {
283
+			$e = false;
284
+			if ($config->get('Core.CollectErrors')) {
285
+				$e =& $context->get('ErrorCollector');
286
+			}
287
+			$new_html = $this->extractBody($html);
288
+			if ($e && $new_html != $html) {
289
+				$e->send(E_WARNING, 'Lexer: Extracted body');
290
+			}
291
+			$html = $new_html;
292
+		}
293
+
294
+		// expand entities that aren't the big five
295
+		$html = $this->_entity_parser->substituteNonSpecialEntities($html);
296
+
297
+		// clean into wellformed UTF-8 string for an SGML context: this has
298
+		// to be done after entity expansion because the entities sometimes
299
+		// represent non-SGML characters (horror, horror!)
300
+		$html = HTMLPurifier_Encoder::cleanUTF8($html);
301
+
302
+		// if processing instructions are to removed, remove them now
303
+		if ($config->get('Core.RemoveProcessingInstructions')) {
304
+			$html = preg_replace('#<\?.+?\?>#s', '', $html);
305
+		}
306
+
307
+		return $html;
308
+	}
309
+
310
+	/**
311
+	 * Takes a string of HTML (fragment or document) and returns the content
312
+	 * @todo Consider making protected
313
+	 */
314
+	public function extractBody($html) {
315
+		$matches = array();
316
+		$result = preg_match('!<body[^>]*>(.*)</body>!is', $html, $matches);
317
+		if ($result) {
318
+			return $matches[1];
319
+		} else {
320
+			return $html;
321
+		}
322
+	}
323 323
 
324 324
 }
325 325
 
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
                     $lexer = 'DirectLex';
108 108
                 }
109 109
 
110
-            } while(0); } // do..while so we can break
110
+            } while (0); } // do..while so we can break
111 111
 
112 112
             // instantiate recognized string names
113 113
             switch ($lexer) {
@@ -178,7 +178,7 @@  discard block
 block discarded – undo
178 178
 
179 179
         // subtracts amps that cannot possibly be escaped
180 180
         $num_amp = substr_count($string, '&') - substr_count($string, '& ') -
181
-            ($string[strlen($string)-1] === '&' ? 1 : 0);
181
+            ($string[strlen($string) - 1] === '&' ? 1 : 0);
182 182
 
183 183
         if (!$num_amp) return $string; // abort if no entities
184 184
         $num_esc_amp = substr_count($string, '&amp;');
@@ -186,7 +186,7 @@  discard block
 block discarded – undo
186 186
 
187 187
         // code duplication for sake of optimization, see above
188 188
         $num_amp_2 = substr_count($string, '&') - substr_count($string, '& ') -
189
-            ($string[strlen($string)-1] === '&' ? 1 : 0);
189
+            ($string[strlen($string) - 1] === '&' ? 1 : 0);
190 190
 
191 191
         if ($num_amp_2 <= $num_esc_amp) return $string;
192 192
 
@@ -282,7 +282,7 @@  discard block
 block discarded – undo
282 282
         if ($config->get('Core.ConvertDocumentToFragment')) {
283 283
             $e = false;
284 284
             if ($config->get('Core.CollectErrors')) {
285
-                $e =& $context->get('ErrorCollector');
285
+                $e = & $context->get('ErrorCollector');
286 286
             }
287 287
             $new_html = $this->extractBody($html);
288 288
             if ($e && $new_html != $html) {
Please login to merge, or discard this patch.
Braces   +13 added lines, -4 removed lines patch added patch discarded remove patch
@@ -125,7 +125,9 @@  discard block
 block discarded – undo
125 125
             }
126 126
         }
127 127
 
128
-        if (!$inst) throw new HTMLPurifier_Exception('No lexer was instantiated');
128
+        if (!$inst) {
129
+        	throw new HTMLPurifier_Exception('No lexer was instantiated');
130
+        }
129 131
 
130 132
         // once PHP DOM implements native line numbers, or we
131 133
         // hack out something using XSLT, remove this stipulation
@@ -174,13 +176,18 @@  discard block
 block discarded – undo
174 176
     public function parseData($string) {
175 177
 
176 178
         // following functions require at least one character
177
-        if ($string === '') return '';
179
+        if ($string === '') {
180
+        	return '';
181
+        }
178 182
 
179 183
         // subtracts amps that cannot possibly be escaped
180 184
         $num_amp = substr_count($string, '&') - substr_count($string, '& ') -
181 185
             ($string[strlen($string)-1] === '&' ? 1 : 0);
182 186
 
183
-        if (!$num_amp) return $string; // abort if no entities
187
+        if (!$num_amp) {
188
+        	return $string;
189
+        }
190
+        // abort if no entities
184 191
         $num_esc_amp = substr_count($string, '&amp;');
185 192
         $string = strtr($string, $this->_special_entity2str);
186 193
 
@@ -188,7 +195,9 @@  discard block
 block discarded – undo
188 195
         $num_amp_2 = substr_count($string, '&') - substr_count($string, '& ') -
189 196
             ($string[strlen($string)-1] === '&' ? 1 : 0);
190 197
 
191
-        if ($num_amp_2 <= $num_esc_amp) return $string;
198
+        if ($num_amp_2 <= $num_esc_amp) {
199
+        	return $string;
200
+        }
192 201
 
193 202
         // hmm... now we have some uncommon entities. Use the callback.
194 203
         $string = $this->_entity_parser->substituteSpecialEntities($string);
Please login to merge, or discard this patch.
classes/security/htmlpurifier/library/HTMLPurifier/PercentEncoder.php 3 patches
Indentation   +77 added lines, -77 removed lines patch added patch discarded remove patch
@@ -11,87 +11,87 @@
 block discarded – undo
11 11
 class HTMLPurifier_PercentEncoder
12 12
 {
13 13
 
14
-    /**
15
-     * Reserved characters to preserve when using encode().
16
-     */
17
-    protected $preserve = array();
14
+	/**
15
+	 * Reserved characters to preserve when using encode().
16
+	 */
17
+	protected $preserve = array();
18 18
 
19
-    /**
20
-     * String of characters that should be preserved while using encode().
21
-     */
22
-    public function __construct($preserve = false) {
23
-        // unreserved letters, ought to const-ify
24
-        for ($i = 48; $i <= 57;  $i++) $this->preserve[$i] = true; // digits
25
-        for ($i = 65; $i <= 90;  $i++) $this->preserve[$i] = true; // upper-case
26
-        for ($i = 97; $i <= 122; $i++) $this->preserve[$i] = true; // lower-case
27
-        $this->preserve[45] = true; // Dash         -
28
-        $this->preserve[46] = true; // Period       .
29
-        $this->preserve[95] = true; // Underscore   _
30
-        $this->preserve[126]= true; // Tilde        ~
19
+	/**
20
+	 * String of characters that should be preserved while using encode().
21
+	 */
22
+	public function __construct($preserve = false) {
23
+		// unreserved letters, ought to const-ify
24
+		for ($i = 48; $i <= 57;  $i++) $this->preserve[$i] = true; // digits
25
+		for ($i = 65; $i <= 90;  $i++) $this->preserve[$i] = true; // upper-case
26
+		for ($i = 97; $i <= 122; $i++) $this->preserve[$i] = true; // lower-case
27
+		$this->preserve[45] = true; // Dash         -
28
+		$this->preserve[46] = true; // Period       .
29
+		$this->preserve[95] = true; // Underscore   _
30
+		$this->preserve[126]= true; // Tilde        ~
31 31
 
32
-        // extra letters not to escape
33
-        if ($preserve !== false) {
34
-            for ($i = 0, $c = strlen($preserve); $i < $c; $i++) {
35
-                $this->preserve[ord($preserve[$i])] = true;
36
-            }
37
-        }
38
-    }
32
+		// extra letters not to escape
33
+		if ($preserve !== false) {
34
+			for ($i = 0, $c = strlen($preserve); $i < $c; $i++) {
35
+				$this->preserve[ord($preserve[$i])] = true;
36
+			}
37
+		}
38
+	}
39 39
 
40
-    /**
41
-     * Our replacement for urlencode, it encodes all non-reserved characters,
42
-     * as well as any extra characters that were instructed to be preserved.
43
-     * @note
44
-     *      Assumes that the string has already been normalized, making any
45
-     *      and all percent escape sequences valid. Percents will not be
46
-     *      re-escaped, regardless of their status in $preserve
47
-     * @param $string String to be encoded
48
-     * @return Encoded string.
49
-     */
50
-    public function encode($string) {
51
-        $ret = '';
52
-        for ($i = 0, $c = strlen($string); $i < $c; $i++) {
53
-            if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])]) ) {
54
-                $ret .= '%' . sprintf('%02X', $int);
55
-            } else {
56
-                $ret .= $string[$i];
57
-            }
58
-        }
59
-        return $ret;
60
-    }
40
+	/**
41
+	 * Our replacement for urlencode, it encodes all non-reserved characters,
42
+	 * as well as any extra characters that were instructed to be preserved.
43
+	 * @note
44
+	 *      Assumes that the string has already been normalized, making any
45
+	 *      and all percent escape sequences valid. Percents will not be
46
+	 *      re-escaped, regardless of their status in $preserve
47
+	 * @param $string String to be encoded
48
+	 * @return Encoded string.
49
+	 */
50
+	public function encode($string) {
51
+		$ret = '';
52
+		for ($i = 0, $c = strlen($string); $i < $c; $i++) {
53
+			if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])]) ) {
54
+				$ret .= '%' . sprintf('%02X', $int);
55
+			} else {
56
+				$ret .= $string[$i];
57
+			}
58
+		}
59
+		return $ret;
60
+	}
61 61
 
62
-    /**
63
-     * Fix up percent-encoding by decoding unreserved characters and normalizing.
64
-     * @warning This function is affected by $preserve, even though the
65
-     *          usual desired behavior is for this not to preserve those
66
-     *          characters. Be careful when reusing instances of PercentEncoder!
67
-     * @param $string String to normalize
68
-     */
69
-    public function normalize($string) {
70
-        if ($string == '') return '';
71
-        $parts = explode('%', $string);
72
-        $ret = array_shift($parts);
73
-        foreach ($parts as $part) {
74
-            $length = strlen($part);
75
-            if ($length < 2) {
76
-                $ret .= '%25' . $part;
77
-                continue;
78
-            }
79
-            $encoding = substr($part, 0, 2);
80
-            $text     = substr($part, 2);
81
-            if (!ctype_xdigit($encoding)) {
82
-                $ret .= '%25' . $part;
83
-                continue;
84
-            }
85
-            $int = hexdec($encoding);
86
-            if (isset($this->preserve[$int])) {
87
-                $ret .= chr($int) . $text;
88
-                continue;
89
-            }
90
-            $encoding = strtoupper($encoding);
91
-            $ret .= '%' . $encoding . $text;
92
-        }
93
-        return $ret;
94
-    }
62
+	/**
63
+	 * Fix up percent-encoding by decoding unreserved characters and normalizing.
64
+	 * @warning This function is affected by $preserve, even though the
65
+	 *          usual desired behavior is for this not to preserve those
66
+	 *          characters. Be careful when reusing instances of PercentEncoder!
67
+	 * @param $string String to normalize
68
+	 */
69
+	public function normalize($string) {
70
+		if ($string == '') return '';
71
+		$parts = explode('%', $string);
72
+		$ret = array_shift($parts);
73
+		foreach ($parts as $part) {
74
+			$length = strlen($part);
75
+			if ($length < 2) {
76
+				$ret .= '%25' . $part;
77
+				continue;
78
+			}
79
+			$encoding = substr($part, 0, 2);
80
+			$text     = substr($part, 2);
81
+			if (!ctype_xdigit($encoding)) {
82
+				$ret .= '%25' . $part;
83
+				continue;
84
+			}
85
+			$int = hexdec($encoding);
86
+			if (isset($this->preserve[$int])) {
87
+				$ret .= chr($int) . $text;
88
+				continue;
89
+			}
90
+			$encoding = strtoupper($encoding);
91
+			$ret .= '%' . $encoding . $text;
92
+		}
93
+		return $ret;
94
+	}
95 95
 
96 96
 }
97 97
 
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -21,13 +21,13 @@  discard block
 block discarded – undo
21 21
      */
22 22
     public function __construct($preserve = false) {
23 23
         // unreserved letters, ought to const-ify
24
-        for ($i = 48; $i <= 57;  $i++) $this->preserve[$i] = true; // digits
25
-        for ($i = 65; $i <= 90;  $i++) $this->preserve[$i] = true; // upper-case
24
+        for ($i = 48; $i <= 57; $i++) $this->preserve[$i] = true; // digits
25
+        for ($i = 65; $i <= 90; $i++) $this->preserve[$i] = true; // upper-case
26 26
         for ($i = 97; $i <= 122; $i++) $this->preserve[$i] = true; // lower-case
27 27
         $this->preserve[45] = true; // Dash         -
28 28
         $this->preserve[46] = true; // Period       .
29 29
         $this->preserve[95] = true; // Underscore   _
30
-        $this->preserve[126]= true; // Tilde        ~
30
+        $this->preserve[126] = true; // Tilde        ~
31 31
 
32 32
         // extra letters not to escape
33 33
         if ($preserve !== false) {
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
     public function encode($string) {
51 51
         $ret = '';
52 52
         for ($i = 0, $c = strlen($string); $i < $c; $i++) {
53
-            if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])]) ) {
53
+            if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])])) {
54 54
                 $ret .= '%' . sprintf('%02X', $int);
55 55
             } else {
56 56
                 $ret .= $string[$i];
Please login to merge, or discard this patch.
Braces   +15 added lines, -4 removed lines patch added patch discarded remove patch
@@ -21,9 +21,18 @@  discard block
 block discarded – undo
21 21
      */
22 22
     public function __construct($preserve = false) {
23 23
         // unreserved letters, ought to const-ify
24
-        for ($i = 48; $i <= 57;  $i++) $this->preserve[$i] = true; // digits
25
-        for ($i = 65; $i <= 90;  $i++) $this->preserve[$i] = true; // upper-case
26
-        for ($i = 97; $i <= 122; $i++) $this->preserve[$i] = true; // lower-case
24
+        for ($i = 48; $i <= 57;  $i++) {
25
+        	$this->preserve[$i] = true;
26
+        }
27
+        // digits
28
+        for ($i = 65; $i <= 90;  $i++) {
29
+        	$this->preserve[$i] = true;
30
+        }
31
+        // upper-case
32
+        for ($i = 97; $i <= 122; $i++) {
33
+        	$this->preserve[$i] = true;
34
+        }
35
+        // lower-case
27 36
         $this->preserve[45] = true; // Dash         -
28 37
         $this->preserve[46] = true; // Period       .
29 38
         $this->preserve[95] = true; // Underscore   _
@@ -67,7 +76,9 @@  discard block
 block discarded – undo
67 76
      * @param $string String to normalize
68 77
      */
69 78
     public function normalize($string) {
70
-        if ($string == '') return '';
79
+        if ($string == '') {
80
+        	return '';
81
+        }
71 82
         $parts = explode('%', $string);
72 83
         $ret = array_shift($parts);
73 84
         foreach ($parts as $part) {
Please login to merge, or discard this patch.
security/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -3,35 +3,35 @@
 block discarded – undo
3 3
 class HTMLPurifier_Printer_CSSDefinition extends HTMLPurifier_Printer
4 4
 {
5 5
 
6
-    protected $def;
6
+	protected $def;
7 7
 
8
-    public function render($config) {
9
-        $this->def = $config->getCSSDefinition();
10
-        $ret = '';
8
+	public function render($config) {
9
+		$this->def = $config->getCSSDefinition();
10
+		$ret = '';
11 11
 
12
-        $ret .= $this->start('div', array('class' => 'HTMLPurifier_Printer'));
13
-        $ret .= $this->start('table');
12
+		$ret .= $this->start('div', array('class' => 'HTMLPurifier_Printer'));
13
+		$ret .= $this->start('table');
14 14
 
15
-        $ret .= $this->element('caption', 'Properties ($info)');
15
+		$ret .= $this->element('caption', 'Properties ($info)');
16 16
 
17
-        $ret .= $this->start('thead');
18
-        $ret .= $this->start('tr');
19
-        $ret .= $this->element('th', 'Property', array('class' => 'heavy'));
20
-        $ret .= $this->element('th', 'Definition', array('class' => 'heavy', 'style' => 'width:auto;'));
21
-        $ret .= $this->end('tr');
22
-        $ret .= $this->end('thead');
17
+		$ret .= $this->start('thead');
18
+		$ret .= $this->start('tr');
19
+		$ret .= $this->element('th', 'Property', array('class' => 'heavy'));
20
+		$ret .= $this->element('th', 'Definition', array('class' => 'heavy', 'style' => 'width:auto;'));
21
+		$ret .= $this->end('tr');
22
+		$ret .= $this->end('thead');
23 23
 
24
-        ksort($this->def->info);
25
-        foreach ($this->def->info as $property => $obj) {
26
-            $name = $this->getClass($obj, 'AttrDef_');
27
-            $ret .= $this->row($property, $name);
28
-        }
24
+		ksort($this->def->info);
25
+		foreach ($this->def->info as $property => $obj) {
26
+			$name = $this->getClass($obj, 'AttrDef_');
27
+			$ret .= $this->row($property, $name);
28
+		}
29 29
 
30
-        $ret .= $this->end('table');
31
-        $ret .= $this->end('div');
30
+		$ret .= $this->end('table');
31
+		$ret .= $this->end('div');
32 32
 
33
-        return $ret;
34
-    }
33
+		return $ret;
34
+	}
35 35
 
36 36
 }
37 37
 
Please login to merge, or discard this patch.
classes/security/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php 3 patches
Indentation   +316 added lines, -316 removed lines patch added patch discarded remove patch
@@ -6,179 +6,179 @@  discard block
 block discarded – undo
6 6
 class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
7 7
 {
8 8
 
9
-    /**
10
-     * Printers for specific fields
11
-     */
12
-    protected $fields = array();
9
+	/**
10
+	 * Printers for specific fields
11
+	 */
12
+	protected $fields = array();
13 13
 
14
-    /**
15
-     * Documentation URL, can have fragment tagged on end
16
-     */
17
-    protected $docURL;
14
+	/**
15
+	 * Documentation URL, can have fragment tagged on end
16
+	 */
17
+	protected $docURL;
18 18
 
19
-    /**
20
-     * Name of form element to stuff config in
21
-     */
22
-    protected $name;
19
+	/**
20
+	 * Name of form element to stuff config in
21
+	 */
22
+	protected $name;
23 23
 
24
-    /**
25
-     * Whether or not to compress directive names, clipping them off
26
-     * after a certain amount of letters. False to disable or integer letters
27
-     * before clipping.
28
-     */
29
-    protected $compress = false;
24
+	/**
25
+	 * Whether or not to compress directive names, clipping them off
26
+	 * after a certain amount of letters. False to disable or integer letters
27
+	 * before clipping.
28
+	 */
29
+	protected $compress = false;
30 30
 
31
-    /**
32
-     * @param $name Form element name for directives to be stuffed into
33
-     * @param $doc_url String documentation URL, will have fragment tagged on
34
-     * @param $compress Integer max length before compressing a directive name, set to false to turn off
35
-     */
36
-    public function __construct(
37
-        $name, $doc_url = null, $compress = false
38
-    ) {
39
-        parent::__construct();
40
-        $this->docURL = $doc_url;
41
-        $this->name   = $name;
42
-        $this->compress = $compress;
43
-        // initialize sub-printers
44
-        $this->fields[0]    = new HTMLPurifier_Printer_ConfigForm_default();
45
-        $this->fields[HTMLPurifier_VarParser::BOOL]       = new HTMLPurifier_Printer_ConfigForm_bool();
46
-    }
31
+	/**
32
+	 * @param $name Form element name for directives to be stuffed into
33
+	 * @param $doc_url String documentation URL, will have fragment tagged on
34
+	 * @param $compress Integer max length before compressing a directive name, set to false to turn off
35
+	 */
36
+	public function __construct(
37
+		$name, $doc_url = null, $compress = false
38
+	) {
39
+		parent::__construct();
40
+		$this->docURL = $doc_url;
41
+		$this->name   = $name;
42
+		$this->compress = $compress;
43
+		// initialize sub-printers
44
+		$this->fields[0]    = new HTMLPurifier_Printer_ConfigForm_default();
45
+		$this->fields[HTMLPurifier_VarParser::BOOL]       = new HTMLPurifier_Printer_ConfigForm_bool();
46
+	}
47 47
 
48
-    /**
49
-     * Sets default column and row size for textareas in sub-printers
50
-     * @param $cols Integer columns of textarea, null to use default
51
-     * @param $rows Integer rows of textarea, null to use default
52
-     */
53
-    public function setTextareaDimensions($cols = null, $rows = null) {
54
-        if ($cols) $this->fields['default']->cols = $cols;
55
-        if ($rows) $this->fields['default']->rows = $rows;
56
-    }
48
+	/**
49
+	 * Sets default column and row size for textareas in sub-printers
50
+	 * @param $cols Integer columns of textarea, null to use default
51
+	 * @param $rows Integer rows of textarea, null to use default
52
+	 */
53
+	public function setTextareaDimensions($cols = null, $rows = null) {
54
+		if ($cols) $this->fields['default']->cols = $cols;
55
+		if ($rows) $this->fields['default']->rows = $rows;
56
+	}
57 57
 
58
-    /**
59
-     * Retrieves styling, in case it is not accessible by webserver
60
-     */
61
-    public static function getCSS() {
62
-        return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.css');
63
-    }
58
+	/**
59
+	 * Retrieves styling, in case it is not accessible by webserver
60
+	 */
61
+	public static function getCSS() {
62
+		return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.css');
63
+	}
64 64
 
65
-    /**
66
-     * Retrieves JavaScript, in case it is not accessible by webserver
67
-     */
68
-    public static function getJavaScript() {
69
-        return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.js');
70
-    }
65
+	/**
66
+	 * Retrieves JavaScript, in case it is not accessible by webserver
67
+	 */
68
+	public static function getJavaScript() {
69
+		return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.js');
70
+	}
71 71
 
72
-    /**
73
-     * Returns HTML output for a configuration form
74
-     * @param $config Configuration object of current form state, or an array
75
-     *        where [0] has an HTML namespace and [1] is being rendered.
76
-     * @param $allowed Optional namespace(s) and directives to restrict form to.
77
-     */
78
-    public function render($config, $allowed = true, $render_controls = true) {
79
-        if (is_array($config) && isset($config[0])) {
80
-            $gen_config = $config[0];
81
-            $config = $config[1];
82
-        } else {
83
-            $gen_config = $config;
84
-        }
72
+	/**
73
+	 * Returns HTML output for a configuration form
74
+	 * @param $config Configuration object of current form state, or an array
75
+	 *        where [0] has an HTML namespace and [1] is being rendered.
76
+	 * @param $allowed Optional namespace(s) and directives to restrict form to.
77
+	 */
78
+	public function render($config, $allowed = true, $render_controls = true) {
79
+		if (is_array($config) && isset($config[0])) {
80
+			$gen_config = $config[0];
81
+			$config = $config[1];
82
+		} else {
83
+			$gen_config = $config;
84
+		}
85 85
 
86
-        $this->config = $config;
87
-        $this->genConfig = $gen_config;
88
-        $this->prepareGenerator($gen_config);
86
+		$this->config = $config;
87
+		$this->genConfig = $gen_config;
88
+		$this->prepareGenerator($gen_config);
89 89
 
90
-        $allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $config->def);
91
-        $all = array();
92
-        foreach ($allowed as $key) {
93
-            list($ns, $directive) = $key;
94
-            $all[$ns][$directive] = $config->get($ns .'.'. $directive);
95
-        }
90
+		$allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $config->def);
91
+		$all = array();
92
+		foreach ($allowed as $key) {
93
+			list($ns, $directive) = $key;
94
+			$all[$ns][$directive] = $config->get($ns .'.'. $directive);
95
+		}
96 96
 
97
-        $ret = '';
98
-        $ret .= $this->start('table', array('class' => 'hp-config'));
99
-        $ret .= $this->start('thead');
100
-        $ret .= $this->start('tr');
101
-            $ret .= $this->element('th', 'Directive', array('class' => 'hp-directive'));
102
-            $ret .= $this->element('th', 'Value', array('class' => 'hp-value'));
103
-        $ret .= $this->end('tr');
104
-        $ret .= $this->end('thead');
105
-        foreach ($all as $ns => $directives) {
106
-            $ret .= $this->renderNamespace($ns, $directives);
107
-        }
108
-        if ($render_controls) {
109
-             $ret .= $this->start('tbody');
110
-             $ret .= $this->start('tr');
111
-                 $ret .= $this->start('td', array('colspan' => 2, 'class' => 'controls'));
112
-                     $ret .= $this->elementEmpty('input', array('type' => 'submit', 'value' => 'Submit'));
113
-                     $ret .= '[<a href="?">Reset</a>]';
114
-                 $ret .= $this->end('td');
115
-             $ret .= $this->end('tr');
116
-             $ret .= $this->end('tbody');
117
-        }
118
-        $ret .= $this->end('table');
119
-        return $ret;
120
-    }
97
+		$ret = '';
98
+		$ret .= $this->start('table', array('class' => 'hp-config'));
99
+		$ret .= $this->start('thead');
100
+		$ret .= $this->start('tr');
101
+			$ret .= $this->element('th', 'Directive', array('class' => 'hp-directive'));
102
+			$ret .= $this->element('th', 'Value', array('class' => 'hp-value'));
103
+		$ret .= $this->end('tr');
104
+		$ret .= $this->end('thead');
105
+		foreach ($all as $ns => $directives) {
106
+			$ret .= $this->renderNamespace($ns, $directives);
107
+		}
108
+		if ($render_controls) {
109
+			 $ret .= $this->start('tbody');
110
+			 $ret .= $this->start('tr');
111
+				 $ret .= $this->start('td', array('colspan' => 2, 'class' => 'controls'));
112
+					 $ret .= $this->elementEmpty('input', array('type' => 'submit', 'value' => 'Submit'));
113
+					 $ret .= '[<a href="?">Reset</a>]';
114
+				 $ret .= $this->end('td');
115
+			 $ret .= $this->end('tr');
116
+			 $ret .= $this->end('tbody');
117
+		}
118
+		$ret .= $this->end('table');
119
+		return $ret;
120
+	}
121 121
 
122
-    /**
123
-     * Renders a single namespace
124
-     * @param $ns String namespace name
125
-     * @param $directive Associative array of directives to values
126
-     */
127
-    protected function renderNamespace($ns, $directives) {
128
-        $ret = '';
129
-        $ret .= $this->start('tbody', array('class' => 'namespace'));
130
-        $ret .= $this->start('tr');
131
-            $ret .= $this->element('th', $ns, array('colspan' => 2));
132
-        $ret .= $this->end('tr');
133
-        $ret .= $this->end('tbody');
134
-        $ret .= $this->start('tbody');
135
-        foreach ($directives as $directive => $value) {
136
-            $ret .= $this->start('tr');
137
-            $ret .= $this->start('th');
138
-            if ($this->docURL) {
139
-                $url = str_replace('%s', urlencode("$ns.$directive"), $this->docURL);
140
-                $ret .= $this->start('a', array('href' => $url));
141
-            }
142
-                $attr = array('for' => "{$this->name}:$ns.$directive");
122
+	/**
123
+	 * Renders a single namespace
124
+	 * @param $ns String namespace name
125
+	 * @param $directive Associative array of directives to values
126
+	 */
127
+	protected function renderNamespace($ns, $directives) {
128
+		$ret = '';
129
+		$ret .= $this->start('tbody', array('class' => 'namespace'));
130
+		$ret .= $this->start('tr');
131
+			$ret .= $this->element('th', $ns, array('colspan' => 2));
132
+		$ret .= $this->end('tr');
133
+		$ret .= $this->end('tbody');
134
+		$ret .= $this->start('tbody');
135
+		foreach ($directives as $directive => $value) {
136
+			$ret .= $this->start('tr');
137
+			$ret .= $this->start('th');
138
+			if ($this->docURL) {
139
+				$url = str_replace('%s', urlencode("$ns.$directive"), $this->docURL);
140
+				$ret .= $this->start('a', array('href' => $url));
141
+			}
142
+				$attr = array('for' => "{$this->name}:$ns.$directive");
143 143
 
144
-                // crop directive name if it's too long
145
-                if (!$this->compress || (strlen($directive) < $this->compress)) {
146
-                    $directive_disp = $directive;
147
-                } else {
148
-                    $directive_disp = substr($directive, 0, $this->compress - 2) . '...';
149
-                    $attr['title'] = $directive;
150
-                }
144
+				// crop directive name if it's too long
145
+				if (!$this->compress || (strlen($directive) < $this->compress)) {
146
+					$directive_disp = $directive;
147
+				} else {
148
+					$directive_disp = substr($directive, 0, $this->compress - 2) . '...';
149
+					$attr['title'] = $directive;
150
+				}
151 151
 
152
-                $ret .= $this->element(
153
-                    'label',
154
-                    $directive_disp,
155
-                    // component printers must create an element with this id
156
-                    $attr
157
-                );
158
-            if ($this->docURL) $ret .= $this->end('a');
159
-            $ret .= $this->end('th');
152
+				$ret .= $this->element(
153
+					'label',
154
+					$directive_disp,
155
+					// component printers must create an element with this id
156
+					$attr
157
+				);
158
+			if ($this->docURL) $ret .= $this->end('a');
159
+			$ret .= $this->end('th');
160 160
 
161
-            $ret .= $this->start('td');
162
-                $def = $this->config->def->info["$ns.$directive"];
163
-                if (is_int($def)) {
164
-                    $allow_null = $def < 0;
165
-                    $type = abs($def);
166
-                } else {
167
-                    $type = $def->type;
168
-                    $allow_null = isset($def->allow_null);
169
-                }
170
-                if (!isset($this->fields[$type])) $type = 0; // default
171
-                $type_obj = $this->fields[$type];
172
-                if ($allow_null) {
173
-                    $type_obj = new HTMLPurifier_Printer_ConfigForm_NullDecorator($type_obj);
174
-                }
175
-                $ret .= $type_obj->render($ns, $directive, $value, $this->name, array($this->genConfig, $this->config));
176
-            $ret .= $this->end('td');
177
-            $ret .= $this->end('tr');
178
-        }
179
-        $ret .= $this->end('tbody');
180
-        return $ret;
181
-    }
161
+			$ret .= $this->start('td');
162
+				$def = $this->config->def->info["$ns.$directive"];
163
+				if (is_int($def)) {
164
+					$allow_null = $def < 0;
165
+					$type = abs($def);
166
+				} else {
167
+					$type = $def->type;
168
+					$allow_null = isset($def->allow_null);
169
+				}
170
+				if (!isset($this->fields[$type])) $type = 0; // default
171
+				$type_obj = $this->fields[$type];
172
+				if ($allow_null) {
173
+					$type_obj = new HTMLPurifier_Printer_ConfigForm_NullDecorator($type_obj);
174
+				}
175
+				$ret .= $type_obj->render($ns, $directive, $value, $this->name, array($this->genConfig, $this->config));
176
+			$ret .= $this->end('td');
177
+			$ret .= $this->end('tr');
178
+		}
179
+		$ret .= $this->end('tbody');
180
+		return $ret;
181
+	}
182 182
 
183 183
 }
184 184
 
@@ -186,183 +186,183 @@  discard block
 block discarded – undo
186 186
  * Printer decorator for directives that accept null
187 187
  */
188 188
 class HTMLPurifier_Printer_ConfigForm_NullDecorator extends HTMLPurifier_Printer {
189
-    /**
190
-     * Printer being decorated
191
-     */
192
-    protected $obj;
193
-    /**
194
-     * @param $obj Printer to decorate
195
-     */
196
-    public function __construct($obj) {
197
-        parent::__construct();
198
-        $this->obj = $obj;
199
-    }
200
-    public function render($ns, $directive, $value, $name, $config) {
201
-        if (is_array($config) && isset($config[0])) {
202
-            $gen_config = $config[0];
203
-            $config = $config[1];
204
-        } else {
205
-            $gen_config = $config;
206
-        }
207
-        $this->prepareGenerator($gen_config);
189
+	/**
190
+	 * Printer being decorated
191
+	 */
192
+	protected $obj;
193
+	/**
194
+	 * @param $obj Printer to decorate
195
+	 */
196
+	public function __construct($obj) {
197
+		parent::__construct();
198
+		$this->obj = $obj;
199
+	}
200
+	public function render($ns, $directive, $value, $name, $config) {
201
+		if (is_array($config) && isset($config[0])) {
202
+			$gen_config = $config[0];
203
+			$config = $config[1];
204
+		} else {
205
+			$gen_config = $config;
206
+		}
207
+		$this->prepareGenerator($gen_config);
208 208
 
209
-        $ret = '';
210
-        $ret .= $this->start('label', array('for' => "$name:Null_$ns.$directive"));
211
-        $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
212
-        $ret .= $this->text(' Null/Disabled');
213
-        $ret .= $this->end('label');
214
-        $attr = array(
215
-            'type' => 'checkbox',
216
-            'value' => '1',
217
-            'class' => 'null-toggle',
218
-            'name' => "$name"."[Null_$ns.$directive]",
219
-            'id' => "$name:Null_$ns.$directive",
220
-            'onclick' => "toggleWriteability('$name:$ns.$directive',checked)" // INLINE JAVASCRIPT!!!!
221
-        );
222
-        if ($this->obj instanceof HTMLPurifier_Printer_ConfigForm_bool) {
223
-            // modify inline javascript slightly
224
-            $attr['onclick'] = "toggleWriteability('$name:Yes_$ns.$directive',checked);toggleWriteability('$name:No_$ns.$directive',checked)";
225
-        }
226
-        if ($value === null) $attr['checked'] = 'checked';
227
-        $ret .= $this->elementEmpty('input', $attr);
228
-        $ret .= $this->text(' or ');
229
-        $ret .= $this->elementEmpty('br');
230
-        $ret .= $this->obj->render($ns, $directive, $value, $name, array($gen_config, $config));
231
-        return $ret;
232
-    }
209
+		$ret = '';
210
+		$ret .= $this->start('label', array('for' => "$name:Null_$ns.$directive"));
211
+		$ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
212
+		$ret .= $this->text(' Null/Disabled');
213
+		$ret .= $this->end('label');
214
+		$attr = array(
215
+			'type' => 'checkbox',
216
+			'value' => '1',
217
+			'class' => 'null-toggle',
218
+			'name' => "$name"."[Null_$ns.$directive]",
219
+			'id' => "$name:Null_$ns.$directive",
220
+			'onclick' => "toggleWriteability('$name:$ns.$directive',checked)" // INLINE JAVASCRIPT!!!!
221
+		);
222
+		if ($this->obj instanceof HTMLPurifier_Printer_ConfigForm_bool) {
223
+			// modify inline javascript slightly
224
+			$attr['onclick'] = "toggleWriteability('$name:Yes_$ns.$directive',checked);toggleWriteability('$name:No_$ns.$directive',checked)";
225
+		}
226
+		if ($value === null) $attr['checked'] = 'checked';
227
+		$ret .= $this->elementEmpty('input', $attr);
228
+		$ret .= $this->text(' or ');
229
+		$ret .= $this->elementEmpty('br');
230
+		$ret .= $this->obj->render($ns, $directive, $value, $name, array($gen_config, $config));
231
+		return $ret;
232
+	}
233 233
 }
234 234
 
235 235
 /**
236 236
  * Swiss-army knife configuration form field printer
237 237
  */
238 238
 class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer {
239
-    public $cols = 18;
240
-    public $rows = 5;
241
-    public function render($ns, $directive, $value, $name, $config) {
242
-        if (is_array($config) && isset($config[0])) {
243
-            $gen_config = $config[0];
244
-            $config = $config[1];
245
-        } else {
246
-            $gen_config = $config;
247
-        }
248
-        $this->prepareGenerator($gen_config);
249
-        // this should probably be split up a little
250
-        $ret = '';
251
-        $def = $config->def->info["$ns.$directive"];
252
-        if (is_int($def)) {
253
-            $type = abs($def);
254
-        } else {
255
-            $type = $def->type;
256
-        }
257
-        if (is_array($value)) {
258
-            switch ($type) {
259
-                case HTMLPurifier_VarParser::LOOKUP:
260
-                    $array = $value;
261
-                    $value = array();
262
-                    foreach ($array as $val => $b) {
263
-                        $value[] = $val;
264
-                    }
265
-                case HTMLPurifier_VarParser::ALIST:
266
-                    $value = implode(PHP_EOL, $value);
267
-                    break;
268
-                case HTMLPurifier_VarParser::HASH:
269
-                    $nvalue = '';
270
-                    foreach ($value as $i => $v) {
271
-                        $nvalue .= "$i:$v" . PHP_EOL;
272
-                    }
273
-                    $value = $nvalue;
274
-                    break;
275
-                default:
276
-                    $value = '';
277
-            }
278
-        }
279
-        if ($type === HTMLPurifier_VarParser::MIXED) {
280
-            return 'Not supported';
281
-            $value = serialize($value);
282
-        }
283
-        $attr = array(
284
-            'name' => "$name"."[$ns.$directive]",
285
-            'id' => "$name:$ns.$directive"
286
-        );
287
-        if ($value === null) $attr['disabled'] = 'disabled';
288
-        if (isset($def->allowed)) {
289
-            $ret .= $this->start('select', $attr);
290
-            foreach ($def->allowed as $val => $b) {
291
-                $attr = array();
292
-                if ($value == $val) $attr['selected'] = 'selected';
293
-                $ret .= $this->element('option', $val, $attr);
294
-            }
295
-            $ret .= $this->end('select');
296
-        } elseif (
297
-            $type === HTMLPurifier_VarParser::TEXT ||
298
-            $type === HTMLPurifier_VarParser::ITEXT ||
299
-            $type === HTMLPurifier_VarParser::ALIST ||
300
-            $type === HTMLPurifier_VarParser::HASH ||
301
-            $type === HTMLPurifier_VarParser::LOOKUP
302
-        ) {
303
-            $attr['cols'] = $this->cols;
304
-            $attr['rows'] = $this->rows;
305
-            $ret .= $this->start('textarea', $attr);
306
-            $ret .= $this->text($value);
307
-            $ret .= $this->end('textarea');
308
-        } else {
309
-            $attr['value'] = $value;
310
-            $attr['type'] = 'text';
311
-            $ret .= $this->elementEmpty('input', $attr);
312
-        }
313
-        return $ret;
314
-    }
239
+	public $cols = 18;
240
+	public $rows = 5;
241
+	public function render($ns, $directive, $value, $name, $config) {
242
+		if (is_array($config) && isset($config[0])) {
243
+			$gen_config = $config[0];
244
+			$config = $config[1];
245
+		} else {
246
+			$gen_config = $config;
247
+		}
248
+		$this->prepareGenerator($gen_config);
249
+		// this should probably be split up a little
250
+		$ret = '';
251
+		$def = $config->def->info["$ns.$directive"];
252
+		if (is_int($def)) {
253
+			$type = abs($def);
254
+		} else {
255
+			$type = $def->type;
256
+		}
257
+		if (is_array($value)) {
258
+			switch ($type) {
259
+				case HTMLPurifier_VarParser::LOOKUP:
260
+					$array = $value;
261
+					$value = array();
262
+					foreach ($array as $val => $b) {
263
+						$value[] = $val;
264
+					}
265
+				case HTMLPurifier_VarParser::ALIST:
266
+					$value = implode(PHP_EOL, $value);
267
+					break;
268
+				case HTMLPurifier_VarParser::HASH:
269
+					$nvalue = '';
270
+					foreach ($value as $i => $v) {
271
+						$nvalue .= "$i:$v" . PHP_EOL;
272
+					}
273
+					$value = $nvalue;
274
+					break;
275
+				default:
276
+					$value = '';
277
+			}
278
+		}
279
+		if ($type === HTMLPurifier_VarParser::MIXED) {
280
+			return 'Not supported';
281
+			$value = serialize($value);
282
+		}
283
+		$attr = array(
284
+			'name' => "$name"."[$ns.$directive]",
285
+			'id' => "$name:$ns.$directive"
286
+		);
287
+		if ($value === null) $attr['disabled'] = 'disabled';
288
+		if (isset($def->allowed)) {
289
+			$ret .= $this->start('select', $attr);
290
+			foreach ($def->allowed as $val => $b) {
291
+				$attr = array();
292
+				if ($value == $val) $attr['selected'] = 'selected';
293
+				$ret .= $this->element('option', $val, $attr);
294
+			}
295
+			$ret .= $this->end('select');
296
+		} elseif (
297
+			$type === HTMLPurifier_VarParser::TEXT ||
298
+			$type === HTMLPurifier_VarParser::ITEXT ||
299
+			$type === HTMLPurifier_VarParser::ALIST ||
300
+			$type === HTMLPurifier_VarParser::HASH ||
301
+			$type === HTMLPurifier_VarParser::LOOKUP
302
+		) {
303
+			$attr['cols'] = $this->cols;
304
+			$attr['rows'] = $this->rows;
305
+			$ret .= $this->start('textarea', $attr);
306
+			$ret .= $this->text($value);
307
+			$ret .= $this->end('textarea');
308
+		} else {
309
+			$attr['value'] = $value;
310
+			$attr['type'] = 'text';
311
+			$ret .= $this->elementEmpty('input', $attr);
312
+		}
313
+		return $ret;
314
+	}
315 315
 }
316 316
 
317 317
 /**
318 318
  * Bool form field printer
319 319
  */
320 320
 class HTMLPurifier_Printer_ConfigForm_bool extends HTMLPurifier_Printer {
321
-    public function render($ns, $directive, $value, $name, $config) {
322
-        if (is_array($config) && isset($config[0])) {
323
-            $gen_config = $config[0];
324
-            $config = $config[1];
325
-        } else {
326
-            $gen_config = $config;
327
-        }
328
-        $this->prepareGenerator($gen_config);
329
-        $ret = '';
330
-        $ret .= $this->start('div', array('id' => "$name:$ns.$directive"));
321
+	public function render($ns, $directive, $value, $name, $config) {
322
+		if (is_array($config) && isset($config[0])) {
323
+			$gen_config = $config[0];
324
+			$config = $config[1];
325
+		} else {
326
+			$gen_config = $config;
327
+		}
328
+		$this->prepareGenerator($gen_config);
329
+		$ret = '';
330
+		$ret .= $this->start('div', array('id' => "$name:$ns.$directive"));
331 331
 
332
-        $ret .= $this->start('label', array('for' => "$name:Yes_$ns.$directive"));
333
-        $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
334
-        $ret .= $this->text(' Yes');
335
-        $ret .= $this->end('label');
332
+		$ret .= $this->start('label', array('for' => "$name:Yes_$ns.$directive"));
333
+		$ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
334
+		$ret .= $this->text(' Yes');
335
+		$ret .= $this->end('label');
336 336
 
337
-        $attr = array(
338
-            'type' => 'radio',
339
-            'name' => "$name"."[$ns.$directive]",
340
-            'id' => "$name:Yes_$ns.$directive",
341
-            'value' => '1'
342
-        );
343
-        if ($value === true) $attr['checked'] = 'checked';
344
-        if ($value === null) $attr['disabled'] = 'disabled';
345
-        $ret .= $this->elementEmpty('input', $attr);
337
+		$attr = array(
338
+			'type' => 'radio',
339
+			'name' => "$name"."[$ns.$directive]",
340
+			'id' => "$name:Yes_$ns.$directive",
341
+			'value' => '1'
342
+		);
343
+		if ($value === true) $attr['checked'] = 'checked';
344
+		if ($value === null) $attr['disabled'] = 'disabled';
345
+		$ret .= $this->elementEmpty('input', $attr);
346 346
 
347
-        $ret .= $this->start('label', array('for' => "$name:No_$ns.$directive"));
348
-        $ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
349
-        $ret .= $this->text(' No');
350
-        $ret .= $this->end('label');
347
+		$ret .= $this->start('label', array('for' => "$name:No_$ns.$directive"));
348
+		$ret .= $this->element('span', "$ns.$directive:", array('class' => 'verbose'));
349
+		$ret .= $this->text(' No');
350
+		$ret .= $this->end('label');
351 351
 
352
-        $attr = array(
353
-            'type' => 'radio',
354
-            'name' => "$name"."[$ns.$directive]",
355
-            'id' => "$name:No_$ns.$directive",
356
-            'value' => '0'
357
-        );
358
-        if ($value === false) $attr['checked'] = 'checked';
359
-        if ($value === null) $attr['disabled'] = 'disabled';
360
-        $ret .= $this->elementEmpty('input', $attr);
352
+		$attr = array(
353
+			'type' => 'radio',
354
+			'name' => "$name"."[$ns.$directive]",
355
+			'id' => "$name:No_$ns.$directive",
356
+			'value' => '0'
357
+		);
358
+		if ($value === false) $attr['checked'] = 'checked';
359
+		if ($value === null) $attr['disabled'] = 'disabled';
360
+		$ret .= $this->elementEmpty('input', $attr);
361 361
 
362
-        $ret .= $this->end('div');
362
+		$ret .= $this->end('div');
363 363
 
364
-        return $ret;
365
-    }
364
+		return $ret;
365
+	}
366 366
 }
367 367
 
368 368
 // vim: et sw=4 sts=4
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -41,8 +41,8 @@  discard block
 block discarded – undo
41 41
         $this->name   = $name;
42 42
         $this->compress = $compress;
43 43
         // initialize sub-printers
44
-        $this->fields[0]    = new HTMLPurifier_Printer_ConfigForm_default();
45
-        $this->fields[HTMLPurifier_VarParser::BOOL]       = new HTMLPurifier_Printer_ConfigForm_bool();
44
+        $this->fields[0] = new HTMLPurifier_Printer_ConfigForm_default();
45
+        $this->fields[HTMLPurifier_VarParser::BOOL] = new HTMLPurifier_Printer_ConfigForm_bool();
46 46
     }
47 47
 
48 48
     /**
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
         $all = array();
92 92
         foreach ($allowed as $key) {
93 93
             list($ns, $directive) = $key;
94
-            $all[$ns][$directive] = $config->get($ns .'.'. $directive);
94
+            $all[$ns][$directive] = $config->get($ns . '.' . $directive);
95 95
         }
96 96
 
97 97
         $ret = '';
@@ -215,7 +215,7 @@  discard block
 block discarded – undo
215 215
             'type' => 'checkbox',
216 216
             'value' => '1',
217 217
             'class' => 'null-toggle',
218
-            'name' => "$name"."[Null_$ns.$directive]",
218
+            'name' => "$name" . "[Null_$ns.$directive]",
219 219
             'id' => "$name:Null_$ns.$directive",
220 220
             'onclick' => "toggleWriteability('$name:$ns.$directive',checked)" // INLINE JAVASCRIPT!!!!
221 221
         );
@@ -281,7 +281,7 @@  discard block
 block discarded – undo
281 281
             $value = serialize($value);
282 282
         }
283 283
         $attr = array(
284
-            'name' => "$name"."[$ns.$directive]",
284
+            'name' => "$name" . "[$ns.$directive]",
285 285
             'id' => "$name:$ns.$directive"
286 286
         );
287 287
         if ($value === null) $attr['disabled'] = 'disabled';
@@ -336,7 +336,7 @@  discard block
 block discarded – undo
336 336
 
337 337
         $attr = array(
338 338
             'type' => 'radio',
339
-            'name' => "$name"."[$ns.$directive]",
339
+            'name' => "$name" . "[$ns.$directive]",
340 340
             'id' => "$name:Yes_$ns.$directive",
341 341
             'value' => '1'
342 342
         );
@@ -351,7 +351,7 @@  discard block
 block discarded – undo
351 351
 
352 352
         $attr = array(
353 353
             'type' => 'radio',
354
-            'name' => "$name"."[$ns.$directive]",
354
+            'name' => "$name" . "[$ns.$directive]",
355 355
             'id' => "$name:No_$ns.$directive",
356 356
             'value' => '0'
357 357
         );
Please login to merge, or discard this patch.
Braces   +34 added lines, -11 removed lines patch added patch discarded remove patch
@@ -51,8 +51,12 @@  discard block
 block discarded – undo
51 51
      * @param $rows Integer rows of textarea, null to use default
52 52
      */
53 53
     public function setTextareaDimensions($cols = null, $rows = null) {
54
-        if ($cols) $this->fields['default']->cols = $cols;
55
-        if ($rows) $this->fields['default']->rows = $rows;
54
+        if ($cols) {
55
+        	$this->fields['default']->cols = $cols;
56
+        }
57
+        if ($rows) {
58
+        	$this->fields['default']->rows = $rows;
59
+        }
56 60
     }
57 61
 
58 62
     /**
@@ -155,7 +159,9 @@  discard block
 block discarded – undo
155 159
                     // component printers must create an element with this id
156 160
                     $attr
157 161
                 );
158
-            if ($this->docURL) $ret .= $this->end('a');
162
+            if ($this->docURL) {
163
+            	$ret .= $this->end('a');
164
+            }
159 165
             $ret .= $this->end('th');
160 166
 
161 167
             $ret .= $this->start('td');
@@ -167,7 +173,10 @@  discard block
 block discarded – undo
167 173
                     $type = $def->type;
168 174
                     $allow_null = isset($def->allow_null);
169 175
                 }
170
-                if (!isset($this->fields[$type])) $type = 0; // default
176
+                if (!isset($this->fields[$type])) {
177
+                	$type = 0;
178
+                }
179
+                // default
171 180
                 $type_obj = $this->fields[$type];
172 181
                 if ($allow_null) {
173 182
                     $type_obj = new HTMLPurifier_Printer_ConfigForm_NullDecorator($type_obj);
@@ -223,7 +232,9 @@  discard block
 block discarded – undo
223 232
             // modify inline javascript slightly
224 233
             $attr['onclick'] = "toggleWriteability('$name:Yes_$ns.$directive',checked);toggleWriteability('$name:No_$ns.$directive',checked)";
225 234
         }
226
-        if ($value === null) $attr['checked'] = 'checked';
235
+        if ($value === null) {
236
+        	$attr['checked'] = 'checked';
237
+        }
227 238
         $ret .= $this->elementEmpty('input', $attr);
228 239
         $ret .= $this->text(' or ');
229 240
         $ret .= $this->elementEmpty('br');
@@ -284,12 +295,16 @@  discard block
 block discarded – undo
284 295
             'name' => "$name"."[$ns.$directive]",
285 296
             'id' => "$name:$ns.$directive"
286 297
         );
287
-        if ($value === null) $attr['disabled'] = 'disabled';
298
+        if ($value === null) {
299
+        	$attr['disabled'] = 'disabled';
300
+        }
288 301
         if (isset($def->allowed)) {
289 302
             $ret .= $this->start('select', $attr);
290 303
             foreach ($def->allowed as $val => $b) {
291 304
                 $attr = array();
292
-                if ($value == $val) $attr['selected'] = 'selected';
305
+                if ($value == $val) {
306
+                	$attr['selected'] = 'selected';
307
+                }
293 308
                 $ret .= $this->element('option', $val, $attr);
294 309
             }
295 310
             $ret .= $this->end('select');
@@ -340,8 +355,12 @@  discard block
 block discarded – undo
340 355
             'id' => "$name:Yes_$ns.$directive",
341 356
             'value' => '1'
342 357
         );
343
-        if ($value === true) $attr['checked'] = 'checked';
344
-        if ($value === null) $attr['disabled'] = 'disabled';
358
+        if ($value === true) {
359
+        	$attr['checked'] = 'checked';
360
+        }
361
+        if ($value === null) {
362
+        	$attr['disabled'] = 'disabled';
363
+        }
345 364
         $ret .= $this->elementEmpty('input', $attr);
346 365
 
347 366
         $ret .= $this->start('label', array('for' => "$name:No_$ns.$directive"));
@@ -355,8 +374,12 @@  discard block
 block discarded – undo
355 374
             'id' => "$name:No_$ns.$directive",
356 375
             'value' => '0'
357 376
         );
358
-        if ($value === false) $attr['checked'] = 'checked';
359
-        if ($value === null) $attr['disabled'] = 'disabled';
377
+        if ($value === false) {
378
+        	$attr['checked'] = 'checked';
379
+        }
380
+        if ($value === null) {
381
+        	$attr['disabled'] = 'disabled';
382
+        }
360 383
         $ret .= $this->elementEmpty('input', $attr);
361 384
 
362 385
         $ret .= $this->end('div');
Please login to merge, or discard this patch.