Completed
Push — release-2.1 ( 306c59...efe294 )
by
unknown
08:30
created
Sources/Class-Punycode.php 3 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -136,7 +136,7 @@  discard block
 block discarded – undo
136 136
                 }
137 137
                 if ($c === $n) {
138 138
                     $q = $delta;
139
-                    for ($k = static::BASE;; $k += static::BASE) {
139
+                    for ($k = static::BASE; ; $k += static::BASE) {
140 140
                         $t = $this->calculateThreshold($k, $bias);
141 141
                         if ($q < $t) {
142 142
                             break;
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
             $oldi = $i;
225 225
             $w = 1;
226 226
 
227
-            for ($k = static::BASE;; $k += static::BASE) {
227
+            for ($k = static::BASE; ; $k += static::BASE) {
228 228
                 $digit = static::$decodeTable[$input[$pos++]];
229 229
                 $i = $i + ($digit * $w);
230 230
                 $t = $this->calculateThreshold($k, $bias);
Please login to merge, or discard this patch.
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -18,8 +18,9 @@
 block discarded – undo
18 18
  * @version 2.1 Beta 4
19 19
  */
20 20
 
21
-if (!defined('SMF'))
21
+if (!defined('SMF')) {
22 22
     die('No direct access...');
23
+}
23 24
 
24 25
 /**
25 26
  * Punycode implementation as described in RFC 3492
Please login to merge, or discard this patch.
Indentation   +327 added lines, -327 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
  */
20 20
 
21 21
 if (!defined('SMF'))
22
-    die('No direct access...');
22
+	die('No direct access...');
23 23
 
24 24
 /**
25 25
  * Punycode implementation as described in RFC 3492
@@ -28,332 +28,332 @@  discard block
 block discarded – undo
28 28
  */
29 29
 class Punycode
30 30
 {
31
-    /**
32
-     * Bootstring parameter values
33
-     *
34
-     */
35
-    const BASE         = 36;
36
-    const TMIN         = 1;
37
-    const TMAX         = 26;
38
-    const SKEW         = 38;
39
-    const DAMP         = 700;
40
-    const INITIAL_BIAS = 72;
41
-    const INITIAL_N    = 128;
42
-    const PREFIX       = 'xn--';
43
-    const DELIMITER    = '-';
44
-
45
-    /**
46
-     * Encode table
47
-     *
48
-     * @param array
49
-     */
50
-    protected static $encodeTable = array(
51
-        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
52
-        'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
53
-        'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
54
-    );
55
-
56
-    /**
57
-     * Decode table
58
-     *
59
-     * @param array
60
-     */
61
-    protected static $decodeTable = array(
62
-        'a' =>  0, 'b' =>  1, 'c' =>  2, 'd' =>  3, 'e' =>  4, 'f' =>  5,
63
-        'g' =>  6, 'h' =>  7, 'i' =>  8, 'j' =>  9, 'k' => 10, 'l' => 11,
64
-        'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17,
65
-        's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23,
66
-        'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29,
67
-        '4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35
68
-    );
69
-
70
-    /**
71
-     * Character encoding
72
-     *
73
-     * @param string
74
-     */
75
-    protected $encoding;
76
-
77
-    /**
78
-     * Constructor
79
-     *
80
-     * @param string $encoding Character encoding
81
-     */
82
-    public function __construct($encoding = 'UTF-8')
83
-    {
84
-        $this->encoding = $encoding;
85
-    }
86
-
87
-    /**
88
-     * Encode a domain to its Punycode version
89
-     *
90
-     * @param string $input Domain name in Unicode to be encoded
91
-     * @return string Punycode representation in ASCII
92
-     */
93
-    public function encode($input)
94
-    {
95
-        $input = mb_strtolower($input, $this->encoding);
96
-        $parts = explode('.', $input);
97
-        foreach ($parts as &$part) {
98
-            $part = $this->encodePart($part);
99
-        }
100
-        $output = implode('.', $parts);
101
-        $length = strlen($output);
102
-
103
-        return $output;
104
-    }
105
-
106
-    /**
107
-     * Encode a part of a domain name, such as tld, to its Punycode version
108
-     *
109
-     * @param string $input Part of a domain name
110
-     * @return string Punycode representation of a domain part
111
-     */
112
-    protected function encodePart($input)
113
-    {
114
-        $codePoints = $this->listCodePoints($input);
115
-
116
-        $n = static::INITIAL_N;
117
-        $bias = static::INITIAL_BIAS;
118
-        $delta = 0;
119
-        $h = $b = count($codePoints['basic']);
120
-
121
-        $output = '';
122
-        foreach ($codePoints['basic'] as $code) {
123
-            $output .= $this->codePointToChar($code);
124
-        }
125
-        if ($input === $output) {
126
-            return $output;
127
-        }
128
-        if ($b > 0) {
129
-            $output .= static::DELIMITER;
130
-        }
131
-
132
-        $codePoints['nonBasic'] = array_unique($codePoints['nonBasic']);
133
-        sort($codePoints['nonBasic']);
134
-
135
-        $i = 0;
136
-        $length = mb_strlen($input, $this->encoding);
137
-        while ($h < $length) {
138
-            $m = $codePoints['nonBasic'][$i++];
139
-            $delta = $delta + ($m - $n) * ($h + 1);
140
-            $n = $m;
141
-
142
-            foreach ($codePoints['all'] as $c) {
143
-                if ($c < $n || $c < static::INITIAL_N) {
144
-                    $delta++;
145
-                }
146
-                if ($c === $n) {
147
-                    $q = $delta;
148
-                    for ($k = static::BASE;; $k += static::BASE) {
149
-                        $t = $this->calculateThreshold($k, $bias);
150
-                        if ($q < $t) {
151
-                            break;
152
-                        }
153
-
154
-                        $code = $t + (($q - $t) % (static::BASE - $t));
155
-                        $output .= static::$encodeTable[$code];
156
-
157
-                        $q = ($q - $t) / (static::BASE - $t);
158
-                    }
159
-
160
-                    $output .= static::$encodeTable[$q];
161
-                    $bias = $this->adapt($delta, $h + 1, ($h === $b));
162
-                    $delta = 0;
163
-                    $h++;
164
-                }
165
-            }
166
-
167
-            $delta++;
168
-            $n++;
169
-        }
170
-        $out = static::PREFIX . $output;
171
-
172
-        return $out;
173
-    }
174
-
175
-    /**
176
-     * Decode a Punycode domain name to its Unicode counterpart
177
-     *
178
-     * @param string $input Domain name in Punycode
179
-     * @return string Unicode domain name
180
-     */
181
-    public function decode($input)
182
-    {
183
-        $input = strtolower($input);
184
-        $parts = explode('.', $input);
185
-        foreach ($parts as &$part) {
186
-            if (strpos($part, static::PREFIX) !== 0) {
187
-                continue;
188
-            }
189
-
190
-            $part = substr($part, strlen(static::PREFIX));
191
-            $part = $this->decodePart($part);
192
-        }
193
-        $output = implode('.', $parts);
194
-
195
-        return $output;
196
-    }
197
-
198
-    /**
199
-     * Decode a part of domain name, such as tld
200
-     *
201
-     * @param string $input Part of a domain name
202
-     * @return string Unicode domain part
203
-     */
204
-    protected function decodePart($input)
205
-    {
206
-        $n = static::INITIAL_N;
207
-        $i = 0;
208
-        $bias = static::INITIAL_BIAS;
209
-        $output = '';
210
-
211
-        $pos = strrpos($input, static::DELIMITER);
212
-        if ($pos !== false) {
213
-            $output = substr($input, 0, $pos++);
214
-        } else {
215
-            $pos = 0;
216
-        }
217
-
218
-        $outputLength = strlen($output);
219
-        $inputLength = strlen($input);
220
-        while ($pos < $inputLength) {
221
-            $oldi = $i;
222
-            $w = 1;
223
-
224
-            for ($k = static::BASE;; $k += static::BASE) {
225
-                $digit = static::$decodeTable[$input[$pos++]];
226
-                $i = $i + ($digit * $w);
227
-                $t = $this->calculateThreshold($k, $bias);
228
-
229
-                if ($digit < $t) {
230
-                    break;
231
-                }
232
-
233
-                $w = $w * (static::BASE - $t);
234
-            }
235
-
236
-            $bias = $this->adapt($i - $oldi, ++$outputLength, ($oldi === 0));
237
-            $n = $n + (int) ($i / $outputLength);
238
-            $i = $i % ($outputLength);
239
-            $output = mb_substr($output, 0, $i, $this->encoding) . $this->codePointToChar($n) . mb_substr($output, $i, $outputLength - 1, $this->encoding);
240
-
241
-            $i++;
242
-        }
243
-
244
-        return $output;
245
-    }
246
-
247
-    /**
248
-     * Calculate the bias threshold to fall between TMIN and TMAX
249
-     *
250
-     * @param integer $k
251
-     * @param integer $bias
252
-     * @return integer
253
-     */
254
-    protected function calculateThreshold($k, $bias)
255
-    {
256
-        if ($k <= $bias + static::TMIN) {
257
-            return static::TMIN;
258
-        } elseif ($k >= $bias + static::TMAX) {
259
-            return static::TMAX;
260
-        }
261
-        return $k - $bias;
262
-    }
263
-
264
-    /**
265
-     * Bias adaptation
266
-     *
267
-     * @param integer $delta
268
-     * @param integer $numPoints
269
-     * @param boolean $firstTime
270
-     * @return integer
271
-     */
272
-    protected function adapt($delta, $numPoints, $firstTime)
273
-    {
274
-        $delta = (int) (
275
-            ($firstTime)
276
-                ? $delta / static::DAMP
277
-                : $delta / 2
278
-            );
279
-        $delta += (int) ($delta / $numPoints);
280
-
281
-        $k = 0;
282
-        while ($delta > ((static::BASE - static::TMIN) * static::TMAX) / 2) {
283
-            $delta = (int) ($delta / (static::BASE - static::TMIN));
284
-            $k = $k + static::BASE;
285
-        }
286
-        $k = $k + (int) (((static::BASE - static::TMIN + 1) * $delta) / ($delta + static::SKEW));
287
-
288
-        return $k;
289
-    }
290
-
291
-    /**
292
-     * List code points for a given input
293
-     *
294
-     * @param string $input
295
-     * @return array Multi-dimension array with basic, non-basic and aggregated code points
296
-     */
297
-    protected function listCodePoints($input)
298
-    {
299
-        $codePoints = array(
300
-            'all'      => array(),
301
-            'basic'    => array(),
302
-            'nonBasic' => array(),
303
-        );
304
-
305
-        $length = mb_strlen($input, $this->encoding);
306
-        for ($i = 0; $i < $length; $i++) {
307
-            $char = mb_substr($input, $i, 1, $this->encoding);
308
-            $code = $this->charToCodePoint($char);
309
-            if ($code < 128) {
310
-                $codePoints['all'][] = $codePoints['basic'][] = $code;
311
-            } else {
312
-                $codePoints['all'][] = $codePoints['nonBasic'][] = $code;
313
-            }
314
-        }
315
-
316
-        return $codePoints;
317
-    }
318
-
319
-    /**
320
-     * Convert a single or multi-byte character to its code point
321
-     *
322
-     * @param string $char
323
-     * @return integer
324
-     */
325
-    protected function charToCodePoint($char)
326
-    {
327
-        $code = ord($char[0]);
328
-        if ($code < 128) {
329
-            return $code;
330
-        } elseif ($code < 224) {
331
-            return (($code - 192) * 64) + (ord($char[1]) - 128);
332
-        } elseif ($code < 240) {
333
-            return (($code - 224) * 4096) + ((ord($char[1]) - 128) * 64) + (ord($char[2]) - 128);
334
-        } else {
335
-            return (($code - 240) * 262144) + ((ord($char[1]) - 128) * 4096) + ((ord($char[2]) - 128) * 64) + (ord($char[3]) - 128);
336
-        }
337
-    }
338
-
339
-    /**
340
-     * Convert a code point to its single or multi-byte character
341
-     *
342
-     * @param integer $code
343
-     * @return string
344
-     */
345
-    protected function codePointToChar($code)
346
-    {
347
-        if ($code <= 0x7F) {
348
-            return chr($code);
349
-        } elseif ($code <= 0x7FF) {
350
-            return chr(($code >> 6) + 192) . chr(($code & 63) + 128);
351
-        } elseif ($code <= 0xFFFF) {
352
-            return chr(($code >> 12) + 224) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
353
-        } else {
354
-            return chr(($code >> 18) + 240) . chr((($code >> 12) & 63) + 128) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
355
-        }
356
-    }
31
+	/**
32
+	 * Bootstring parameter values
33
+	 *
34
+	 */
35
+	const BASE         = 36;
36
+	const TMIN         = 1;
37
+	const TMAX         = 26;
38
+	const SKEW         = 38;
39
+	const DAMP         = 700;
40
+	const INITIAL_BIAS = 72;
41
+	const INITIAL_N    = 128;
42
+	const PREFIX       = 'xn--';
43
+	const DELIMITER    = '-';
44
+
45
+	/**
46
+	 * Encode table
47
+	 *
48
+	 * @param array
49
+	 */
50
+	protected static $encodeTable = array(
51
+		'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
52
+		'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
53
+		'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
54
+	);
55
+
56
+	/**
57
+	 * Decode table
58
+	 *
59
+	 * @param array
60
+	 */
61
+	protected static $decodeTable = array(
62
+		'a' =>  0, 'b' =>  1, 'c' =>  2, 'd' =>  3, 'e' =>  4, 'f' =>  5,
63
+		'g' =>  6, 'h' =>  7, 'i' =>  8, 'j' =>  9, 'k' => 10, 'l' => 11,
64
+		'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17,
65
+		's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23,
66
+		'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29,
67
+		'4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35
68
+	);
69
+
70
+	/**
71
+	 * Character encoding
72
+	 *
73
+	 * @param string
74
+	 */
75
+	protected $encoding;
76
+
77
+	/**
78
+	 * Constructor
79
+	 *
80
+	 * @param string $encoding Character encoding
81
+	 */
82
+	public function __construct($encoding = 'UTF-8')
83
+	{
84
+		$this->encoding = $encoding;
85
+	}
86
+
87
+	/**
88
+	 * Encode a domain to its Punycode version
89
+	 *
90
+	 * @param string $input Domain name in Unicode to be encoded
91
+	 * @return string Punycode representation in ASCII
92
+	 */
93
+	public function encode($input)
94
+	{
95
+		$input = mb_strtolower($input, $this->encoding);
96
+		$parts = explode('.', $input);
97
+		foreach ($parts as &$part) {
98
+			$part = $this->encodePart($part);
99
+		}
100
+		$output = implode('.', $parts);
101
+		$length = strlen($output);
102
+
103
+		return $output;
104
+	}
105
+
106
+	/**
107
+	 * Encode a part of a domain name, such as tld, to its Punycode version
108
+	 *
109
+	 * @param string $input Part of a domain name
110
+	 * @return string Punycode representation of a domain part
111
+	 */
112
+	protected function encodePart($input)
113
+	{
114
+		$codePoints = $this->listCodePoints($input);
115
+
116
+		$n = static::INITIAL_N;
117
+		$bias = static::INITIAL_BIAS;
118
+		$delta = 0;
119
+		$h = $b = count($codePoints['basic']);
120
+
121
+		$output = '';
122
+		foreach ($codePoints['basic'] as $code) {
123
+			$output .= $this->codePointToChar($code);
124
+		}
125
+		if ($input === $output) {
126
+			return $output;
127
+		}
128
+		if ($b > 0) {
129
+			$output .= static::DELIMITER;
130
+		}
131
+
132
+		$codePoints['nonBasic'] = array_unique($codePoints['nonBasic']);
133
+		sort($codePoints['nonBasic']);
134
+
135
+		$i = 0;
136
+		$length = mb_strlen($input, $this->encoding);
137
+		while ($h < $length) {
138
+			$m = $codePoints['nonBasic'][$i++];
139
+			$delta = $delta + ($m - $n) * ($h + 1);
140
+			$n = $m;
141
+
142
+			foreach ($codePoints['all'] as $c) {
143
+				if ($c < $n || $c < static::INITIAL_N) {
144
+					$delta++;
145
+				}
146
+				if ($c === $n) {
147
+					$q = $delta;
148
+					for ($k = static::BASE;; $k += static::BASE) {
149
+						$t = $this->calculateThreshold($k, $bias);
150
+						if ($q < $t) {
151
+							break;
152
+						}
153
+
154
+						$code = $t + (($q - $t) % (static::BASE - $t));
155
+						$output .= static::$encodeTable[$code];
156
+
157
+						$q = ($q - $t) / (static::BASE - $t);
158
+					}
159
+
160
+					$output .= static::$encodeTable[$q];
161
+					$bias = $this->adapt($delta, $h + 1, ($h === $b));
162
+					$delta = 0;
163
+					$h++;
164
+				}
165
+			}
166
+
167
+			$delta++;
168
+			$n++;
169
+		}
170
+		$out = static::PREFIX . $output;
171
+
172
+		return $out;
173
+	}
174
+
175
+	/**
176
+	 * Decode a Punycode domain name to its Unicode counterpart
177
+	 *
178
+	 * @param string $input Domain name in Punycode
179
+	 * @return string Unicode domain name
180
+	 */
181
+	public function decode($input)
182
+	{
183
+		$input = strtolower($input);
184
+		$parts = explode('.', $input);
185
+		foreach ($parts as &$part) {
186
+			if (strpos($part, static::PREFIX) !== 0) {
187
+				continue;
188
+			}
189
+
190
+			$part = substr($part, strlen(static::PREFIX));
191
+			$part = $this->decodePart($part);
192
+		}
193
+		$output = implode('.', $parts);
194
+
195
+		return $output;
196
+	}
197
+
198
+	/**
199
+	 * Decode a part of domain name, such as tld
200
+	 *
201
+	 * @param string $input Part of a domain name
202
+	 * @return string Unicode domain part
203
+	 */
204
+	protected function decodePart($input)
205
+	{
206
+		$n = static::INITIAL_N;
207
+		$i = 0;
208
+		$bias = static::INITIAL_BIAS;
209
+		$output = '';
210
+
211
+		$pos = strrpos($input, static::DELIMITER);
212
+		if ($pos !== false) {
213
+			$output = substr($input, 0, $pos++);
214
+		} else {
215
+			$pos = 0;
216
+		}
217
+
218
+		$outputLength = strlen($output);
219
+		$inputLength = strlen($input);
220
+		while ($pos < $inputLength) {
221
+			$oldi = $i;
222
+			$w = 1;
223
+
224
+			for ($k = static::BASE;; $k += static::BASE) {
225
+				$digit = static::$decodeTable[$input[$pos++]];
226
+				$i = $i + ($digit * $w);
227
+				$t = $this->calculateThreshold($k, $bias);
228
+
229
+				if ($digit < $t) {
230
+					break;
231
+				}
232
+
233
+				$w = $w * (static::BASE - $t);
234
+			}
235
+
236
+			$bias = $this->adapt($i - $oldi, ++$outputLength, ($oldi === 0));
237
+			$n = $n + (int) ($i / $outputLength);
238
+			$i = $i % ($outputLength);
239
+			$output = mb_substr($output, 0, $i, $this->encoding) . $this->codePointToChar($n) . mb_substr($output, $i, $outputLength - 1, $this->encoding);
240
+
241
+			$i++;
242
+		}
243
+
244
+		return $output;
245
+	}
246
+
247
+	/**
248
+	 * Calculate the bias threshold to fall between TMIN and TMAX
249
+	 *
250
+	 * @param integer $k
251
+	 * @param integer $bias
252
+	 * @return integer
253
+	 */
254
+	protected function calculateThreshold($k, $bias)
255
+	{
256
+		if ($k <= $bias + static::TMIN) {
257
+			return static::TMIN;
258
+		} elseif ($k >= $bias + static::TMAX) {
259
+			return static::TMAX;
260
+		}
261
+		return $k - $bias;
262
+	}
263
+
264
+	/**
265
+	 * Bias adaptation
266
+	 *
267
+	 * @param integer $delta
268
+	 * @param integer $numPoints
269
+	 * @param boolean $firstTime
270
+	 * @return integer
271
+	 */
272
+	protected function adapt($delta, $numPoints, $firstTime)
273
+	{
274
+		$delta = (int) (
275
+			($firstTime)
276
+				? $delta / static::DAMP
277
+				: $delta / 2
278
+			);
279
+		$delta += (int) ($delta / $numPoints);
280
+
281
+		$k = 0;
282
+		while ($delta > ((static::BASE - static::TMIN) * static::TMAX) / 2) {
283
+			$delta = (int) ($delta / (static::BASE - static::TMIN));
284
+			$k = $k + static::BASE;
285
+		}
286
+		$k = $k + (int) (((static::BASE - static::TMIN + 1) * $delta) / ($delta + static::SKEW));
287
+
288
+		return $k;
289
+	}
290
+
291
+	/**
292
+	 * List code points for a given input
293
+	 *
294
+	 * @param string $input
295
+	 * @return array Multi-dimension array with basic, non-basic and aggregated code points
296
+	 */
297
+	protected function listCodePoints($input)
298
+	{
299
+		$codePoints = array(
300
+			'all'      => array(),
301
+			'basic'    => array(),
302
+			'nonBasic' => array(),
303
+		);
304
+
305
+		$length = mb_strlen($input, $this->encoding);
306
+		for ($i = 0; $i < $length; $i++) {
307
+			$char = mb_substr($input, $i, 1, $this->encoding);
308
+			$code = $this->charToCodePoint($char);
309
+			if ($code < 128) {
310
+				$codePoints['all'][] = $codePoints['basic'][] = $code;
311
+			} else {
312
+				$codePoints['all'][] = $codePoints['nonBasic'][] = $code;
313
+			}
314
+		}
315
+
316
+		return $codePoints;
317
+	}
318
+
319
+	/**
320
+	 * Convert a single or multi-byte character to its code point
321
+	 *
322
+	 * @param string $char
323
+	 * @return integer
324
+	 */
325
+	protected function charToCodePoint($char)
326
+	{
327
+		$code = ord($char[0]);
328
+		if ($code < 128) {
329
+			return $code;
330
+		} elseif ($code < 224) {
331
+			return (($code - 192) * 64) + (ord($char[1]) - 128);
332
+		} elseif ($code < 240) {
333
+			return (($code - 224) * 4096) + ((ord($char[1]) - 128) * 64) + (ord($char[2]) - 128);
334
+		} else {
335
+			return (($code - 240) * 262144) + ((ord($char[1]) - 128) * 4096) + ((ord($char[2]) - 128) * 64) + (ord($char[3]) - 128);
336
+		}
337
+	}
338
+
339
+	/**
340
+	 * Convert a code point to its single or multi-byte character
341
+	 *
342
+	 * @param integer $code
343
+	 * @return string
344
+	 */
345
+	protected function codePointToChar($code)
346
+	{
347
+		if ($code <= 0x7F) {
348
+			return chr($code);
349
+		} elseif ($code <= 0x7FF) {
350
+			return chr(($code >> 6) + 192) . chr(($code & 63) + 128);
351
+		} elseif ($code <= 0xFFFF) {
352
+			return chr(($code >> 12) + 224) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
353
+		} else {
354
+			return chr(($code >> 18) + 240) . chr((($code >> 12) & 63) + 128) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
355
+		}
356
+	}
357 357
 }
358 358
 
359 359
 ?>
360 360
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/Packages.php 1 patch
Braces   +593 added lines, -480 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * This is the notoriously defunct package manager..... :/.
@@ -57,10 +58,11 @@  discard block
 block discarded – undo
57 58
 	);
58 59
 
59 60
 	// Work out exactly who it is we are calling.
60
-	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]))
61
-		$context['sub_action'] = $_REQUEST['sa'];
62
-	else
63
-		$context['sub_action'] = 'browse';
61
+	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']])) {
62
+			$context['sub_action'] = $_REQUEST['sa'];
63
+	} else {
64
+			$context['sub_action'] = 'browse';
65
+	}
64 66
 
65 67
 	// Set up some tabs...
66 68
 	$context[$context['admin_menu_name']]['tab_data'] = array(
@@ -82,8 +84,9 @@  discard block
 block discarded – undo
82 84
 		),
83 85
 	);
84 86
 
85
-	if ($context['sub_action'] == 'browse')
86
-		loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
87
+	if ($context['sub_action'] == 'browse') {
88
+			loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
89
+	}
87 90
 
88 91
 	call_integration_hook('integrate_manage_packages', array(&$subActions));
89 92
 
@@ -99,8 +102,9 @@  discard block
 block discarded – undo
99 102
 	global $boarddir, $txt, $context, $scripturl, $sourcedir, $packagesdir, $modSettings, $smcFunc, $settings;
100 103
 
101 104
 	// You have to specify a file!!
102
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
103
-		redirectexit('action=admin;area=packages');
105
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
106
+			redirectexit('action=admin;area=packages');
107
+	}
104 108
 	$context['filename'] = preg_replace('~[\.]+~', '.', $_REQUEST['package']);
105 109
 
106 110
 	// Do we have an existing id, for uninstalls and the like.
@@ -112,8 +116,9 @@  discard block
 block discarded – undo
112 116
 	create_chmod_control();
113 117
 
114 118
 	// Make sure temp directory exists and is empty.
115
-	if (file_exists($packagesdir . '/temp'))
116
-		deltree($packagesdir . '/temp', false);
119
+	if (file_exists($packagesdir . '/temp')) {
120
+			deltree($packagesdir . '/temp', false);
121
+	}
117 122
 
118 123
 	if (!mktree($packagesdir . '/temp', 0755))
119 124
 	{
@@ -124,8 +129,9 @@  discard block
 block discarded – undo
124 129
 			create_chmod_control(array($packagesdir . '/temp/delme.tmp'), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package'], 'crash_on_error' => true));
125 130
 
126 131
 			deltree($packagesdir . '/temp', false);
127
-			if (!mktree($packagesdir . '/temp', 0777))
128
-				fatal_lang_error('package_cant_download', false);
132
+			if (!mktree($packagesdir . '/temp', 0777)) {
133
+							fatal_lang_error('package_cant_download', false);
134
+			}
129 135
 		}
130 136
 	}
131 137
 
@@ -151,25 +157,26 @@  discard block
 block discarded – undo
151 157
 	{
152 158
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
153 159
 
154
-		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml'))
155
-			foreach ($context['extracted_files'] as $file)
160
+		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) {
161
+					foreach ($context['extracted_files'] as $file)
156 162
 				if (basename($file['filename']) == 'package-info.xml')
157 163
 				{
158 164
 					$context['base_path'] = dirname($file['filename']) . '/';
165
+		}
159 166
 					break;
160 167
 				}
161 168
 
162
-		if (!isset($context['base_path']))
163
-			$context['base_path'] = '';
164
-	}
165
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
169
+		if (!isset($context['base_path'])) {
170
+					$context['base_path'] = '';
171
+		}
172
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
166 173
 	{
167 174
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
168 175
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
169 176
 		$context['base_path'] = '';
177
+	} else {
178
+			fatal_lang_error('no_access', false);
170 179
 	}
171
-	else
172
-		fatal_lang_error('no_access', false);
173 180
 
174 181
 	// Load up any custom themes we may want to install into...
175 182
 	$request = $smcFunc['db_query']('', '
@@ -185,15 +192,17 @@  discard block
 block discarded – undo
185 192
 		)
186 193
 	);
187 194
 	$theme_paths = array();
188
-	while ($row = $smcFunc['db_fetch_assoc']($request))
189
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
195
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
196
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
197
+	}
190 198
 	$smcFunc['db_free_result']($request);
191 199
 
192 200
 	// Get the package info...
193 201
 	$packageInfo = getPackageInfo($context['filename']);
194 202
 
195
-	if (!is_array($packageInfo))
196
-		fatal_lang_error($packageInfo);
203
+	if (!is_array($packageInfo)) {
204
+			fatal_lang_error($packageInfo);
205
+	}
197 206
 
198 207
 	$packageInfo['filename'] = $context['filename'];
199 208
 	$context['package_name'] = isset($packageInfo['name']) ? $packageInfo['name'] : $context['filename'];
@@ -227,18 +236,19 @@  discard block
 block discarded – undo
227 236
 	$smcFunc['db_free_result']($request);
228 237
 
229 238
 	$context['database_changes'] = array();
230
-	if (isset($packageInfo['uninstall']['database']))
231
-		$context['database_changes'][] = $txt['execute_database_changes'] . ' - ' . $packageInfo['uninstall']['database'];
232
-	elseif (!empty($db_changes))
239
+	if (isset($packageInfo['uninstall']['database'])) {
240
+			$context['database_changes'][] = $txt['execute_database_changes'] . ' - ' . $packageInfo['uninstall']['database'];
241
+	} elseif (!empty($db_changes))
233 242
 	{
234 243
 		foreach ($db_changes as $change)
235 244
 		{
236
-			if (isset($change[2]) && isset($txt['package_db_' . $change[0]]))
237
-				$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1], $change[2]);
238
-			elseif (isset($txt['package_db_' . $change[0]]))
239
-				$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1]);
240
-			else
241
-				$context['database_changes'][] = $change[0] . '-' . $change[1] . (isset($change[2]) ? '-' . $change[2] : '');
245
+			if (isset($change[2]) && isset($txt['package_db_' . $change[0]])) {
246
+							$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1], $change[2]);
247
+			} elseif (isset($txt['package_db_' . $change[0]])) {
248
+							$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1]);
249
+			} else {
250
+							$context['database_changes'][] = $change[0] . '-' . $change[1] . (isset($change[2]) ? '-' . $change[2] : '');
251
+			}
242 252
 		}
243 253
 	}
244 254
 
@@ -265,31 +275,33 @@  discard block
 block discarded – undo
265 275
 		$context['themes_locked'] = true;
266 276
 
267 277
 		// Only let them uninstall themes it was installed into.
268
-		foreach ($theme_paths as $id => $data)
269
-			if ($id != 1 && !in_array($id, $old_themes))
278
+		foreach ($theme_paths as $id => $data) {
279
+					if ($id != 1 && !in_array($id, $old_themes))
270 280
 				unset($theme_paths[$id]);
271
-	}
272
-	elseif (isset($old_version) && $old_version != $packageInfo['version'])
281
+		}
282
+	} elseif (isset($old_version) && $old_version != $packageInfo['version'])
273 283
 	{
274 284
 		// Look for an upgrade...
275 285
 		$actions = parsePackageInfo($packageInfo['xml'], true, 'upgrade', $old_version);
276 286
 
277 287
 		// There was no upgrade....
278
-		if (empty($actions))
279
-			$context['is_installed'] = true;
280
-		else
288
+		if (empty($actions)) {
289
+					$context['is_installed'] = true;
290
+		} else
281 291
 		{
282 292
 			// Otherwise they can only upgrade themes from the first time around.
283
-			foreach ($theme_paths as $id => $data)
284
-				if ($id != 1 && !in_array($id, $old_themes))
293
+			foreach ($theme_paths as $id => $data) {
294
+							if ($id != 1 && !in_array($id, $old_themes))
285 295
 					unset($theme_paths[$id]);
296
+			}
286 297
 		}
298
+	} elseif (isset($old_version) && $old_version == $packageInfo['version']) {
299
+			$context['is_installed'] = true;
287 300
 	}
288
-	elseif (isset($old_version) && $old_version == $packageInfo['version'])
289
-		$context['is_installed'] = true;
290 301
 
291
-	if (!isset($old_version) || $context['is_installed'])
292
-		$actions = parsePackageInfo($packageInfo['xml'], true, 'install');
302
+	if (!isset($old_version) || $context['is_installed']) {
303
+			$actions = parsePackageInfo($packageInfo['xml'], true, 'install');
304
+	}
293 305
 
294 306
 	$context['actions'] = array();
295 307
 	$context['ftp_needed'] = false;
@@ -297,8 +309,9 @@  discard block
 block discarded – undo
297 309
 	$chmod_files = array();
298 310
 
299 311
 	// no actions found, return so we can display an error
300
-	if (empty($actions))
301
-		return;
312
+	if (empty($actions)) {
313
+			return;
314
+	}
302 315
 
303 316
 	// This will hold data about anything that can be installed in other themes.
304 317
 	$themeFinds = array(
@@ -317,14 +330,14 @@  discard block
 block discarded – undo
317 330
 		{
318 331
 			$chmod_files[] = $action['filename'];
319 332
 			continue;
320
-		}
321
-		elseif ($action['type'] == 'readme' || $action['type'] == 'license')
333
+		} elseif ($action['type'] == 'readme' || $action['type'] == 'license')
322 334
 		{
323 335
 			$type = 'package_' . $action['type'];
324
-			if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
325
-				$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), "\n\r"));
326
-			elseif (file_exists($action['filename']))
327
-				$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($action['filename']), "\n\r"));
336
+			if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
337
+							$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), "\n\r"));
338
+			} elseif (file_exists($action['filename'])) {
339
+							$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($action['filename']), "\n\r"));
340
+			}
328 341
 
329 342
 			if (!empty($action['parse_bbc']))
330 343
 			{
@@ -332,24 +345,24 @@  discard block
 block discarded – undo
332 345
 				$context[$type] = preg_replace('~\[[/]?html\]~i', '', $context[$type]);
333 346
 				preparsecode($context[$type]);
334 347
 				$context[$type] = parse_bbc($context[$type]);
348
+			} else {
349
+							$context[$type] = nl2br($context[$type]);
335 350
 			}
336
-			else
337
-				$context[$type] = nl2br($context[$type]);
338 351
 
339 352
 			continue;
340 353
 		}
341 354
 		// Don't show redirects.
342
-		elseif ($action['type'] == 'redirect')
343
-			continue;
344
-		elseif ($action['type'] == 'error')
355
+		elseif ($action['type'] == 'redirect') {
356
+					continue;
357
+		} elseif ($action['type'] == 'error')
345 358
 		{
346 359
 			$context['has_failure'] = true;
347
-			if (isset($action['error_msg']) && isset($action['error_var']))
348
-				$context['failure_details'] = sprintf($txt['package_will_fail_' . $action['error_msg']], $action['error_var']);
349
-			elseif (isset($action['error_msg']))
350
-				$context['failure_details'] = isset($txt['package_will_fail_' . $action['error_msg']]) ? $txt['package_will_fail_' . $action['error_msg']] : $action['error_msg'];
351
-		}
352
-		elseif ($action['type'] == 'modification')
360
+			if (isset($action['error_msg']) && isset($action['error_var'])) {
361
+							$context['failure_details'] = sprintf($txt['package_will_fail_' . $action['error_msg']], $action['error_var']);
362
+			} elseif (isset($action['error_msg'])) {
363
+							$context['failure_details'] = isset($txt['package_will_fail_' . $action['error_msg']]) ? $txt['package_will_fail_' . $action['error_msg']] : $action['error_msg'];
364
+			}
365
+		} elseif ($action['type'] == 'modification')
353 366
 		{
354 367
 			if (!file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
355 368
 			{
@@ -361,51 +374,53 @@  discard block
 block discarded – undo
361 374
 					'description' => $txt['package_action_missing'],
362 375
 					'failed' => true,
363 376
 				);
364
-			}
365
-			else
377
+			} else
366 378
 			{
367
-				if ($action['boardmod'])
368
-					$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
369
-				else
370
-					$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
379
+				if ($action['boardmod']) {
380
+									$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
381
+				} else {
382
+									$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
383
+				}
371 384
 
372
-				if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-')
373
-					$mod_actions[0]['filename'] = $action['filename'];
385
+				if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-') {
386
+									$mod_actions[0]['filename'] = $action['filename'];
387
+				}
374 388
 
375 389
 				foreach ($mod_actions as $key => $mod_action)
376 390
 				{
377 391
 					// Lets get the last section of the file name.
378
-					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php')
379
-						$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
380
-					elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches))
381
-						$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
382
-					else
383
-						$actual_filename = $key;
384
-
385
-					if ($mod_action['type'] == 'opened')
386
-						$failed = false;
387
-					elseif ($mod_action['type'] == 'failure')
392
+					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') {
393
+											$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
394
+					} elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) {
395
+											$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
396
+					} else {
397
+											$actual_filename = $key;
398
+					}
399
+
400
+					if ($mod_action['type'] == 'opened') {
401
+											$failed = false;
402
+					} elseif ($mod_action['type'] == 'failure')
388 403
 					{
389
-						if (empty($mod_action['is_custom']))
390
-							$context['has_failure'] = true;
404
+						if (empty($mod_action['is_custom'])) {
405
+													$context['has_failure'] = true;
406
+						}
391 407
 						$failed = true;
392
-					}
393
-					elseif ($mod_action['type'] == 'chmod')
408
+					} elseif ($mod_action['type'] == 'chmod')
394 409
 					{
395 410
 						$chmod_files[] = $mod_action['filename'];
396
-					}
397
-					elseif ($mod_action['type'] == 'saved')
411
+					} elseif ($mod_action['type'] == 'saved')
398 412
 					{
399 413
 						if (!empty($mod_action['is_custom']))
400 414
 						{
401
-							if (!isset($context['theme_actions'][$mod_action['is_custom']]))
402
-								$context['theme_actions'][$mod_action['is_custom']] = array(
415
+							if (!isset($context['theme_actions'][$mod_action['is_custom']])) {
416
+															$context['theme_actions'][$mod_action['is_custom']] = array(
403 417
 									'name' => $theme_paths[$mod_action['is_custom']]['name'],
404 418
 									'actions' => array(),
405 419
 									'has_failure' => $failed,
406 420
 								);
407
-							else
408
-								$context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed;
421
+							} else {
422
+															$context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed;
423
+							}
409 424
 
410 425
 							$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename] = array(
411 426
 								'type' => $txt['execute_modification'],
@@ -413,8 +428,7 @@  discard block
 block discarded – undo
413 428
 								'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'],
414 429
 								'failed' => $failed,
415 430
 							);
416
-						}
417
-						elseif (!isset($context['actions'][$actual_filename]))
431
+						} elseif (!isset($context['actions'][$actual_filename]))
418 432
 						{
419 433
 							$context['actions'][$actual_filename] = array(
420 434
 								'type' => $txt['execute_modification'],
@@ -422,22 +436,19 @@  discard block
 block discarded – undo
422 436
 								'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'],
423 437
 								'failed' => $failed,
424 438
 							);
425
-						}
426
-						else
439
+						} else
427 440
 						{
428 441
 								$context['actions'][$actual_filename]['failed'] |= $failed;
429 442
 								$context['actions'][$actual_filename]['description'] = $context['actions'][$actual_filename]['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'];
430 443
 						}
431
-					}
432
-					elseif ($mod_action['type'] == 'skipping')
444
+					} elseif ($mod_action['type'] == 'skipping')
433 445
 					{
434 446
 						$context['actions'][$actual_filename] = array(
435 447
 							'type' => $txt['execute_modification'],
436 448
 							'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
437 449
 							'description' => $txt['package_action_skipping']
438 450
 						);
439
-					}
440
-					elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom']))
451
+					} elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom']))
441 452
 					{
442 453
 						$context['has_failure'] = true;
443 454
 						$context['actions'][$actual_filename] = array(
@@ -446,32 +457,33 @@  discard block
 block discarded – undo
446 457
 							'description' => $txt['package_action_missing'],
447 458
 							'failed' => true,
448 459
 						);
449
-					}
450
-					elseif ($mod_action['type'] == 'error')
451
-						$context['actions'][$actual_filename] = array(
460
+					} elseif ($mod_action['type'] == 'error') {
461
+											$context['actions'][$actual_filename] = array(
452 462
 							'type' => $txt['execute_modification'],
453 463
 							'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
454 464
 							'description' => $txt['package_action_error'],
455 465
 							'failed' => true,
456 466
 						);
467
+					}
457 468
 				}
458 469
 
459 470
 				// We need to loop again just to get the operations down correctly.
460 471
 				foreach ($mod_actions as $operation_key => $mod_action)
461 472
 				{
462 473
 					// Lets get the last section of the file name.
463
-					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php')
464
-						$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
465
-					elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches))
466
-						$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
467
-					else
468
-						$actual_filename = $key;
474
+					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') {
475
+											$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
476
+					} elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) {
477
+											$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
478
+					} else {
479
+											$actual_filename = $key;
480
+					}
469 481
 
470 482
 					// We just need it for actual parse changes.
471 483
 					if (!in_array($mod_action['type'], array('error', 'result', 'opened', 'saved', 'end', 'missing', 'skipping', 'chmod')))
472 484
 					{
473
-						if (empty($mod_action['is_custom']))
474
-							$context['actions'][$actual_filename]['operations'][] = array(
485
+						if (empty($mod_action['is_custom'])) {
486
+													$context['actions'][$actual_filename]['operations'][] = array(
475 487
 								'type' => $txt['execute_modification'],
476 488
 								'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
477 489
 								'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'],
@@ -482,10 +494,11 @@  discard block
 block discarded – undo
482 494
 								'failed' => $mod_action['failed'],
483 495
 								'ignore_failure' => !empty($mod_action['ignore_failure']),
484 496
 							);
497
+						}
485 498
 
486 499
 						// Themes are under the saved type.
487
-						if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']]))
488
-							$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array(
500
+						if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']])) {
501
+													$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array(
489 502
 								'type' => $txt['execute_modification'],
490 503
 								'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
491 504
 								'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'],
@@ -496,59 +509,55 @@  discard block
 block discarded – undo
496 509
 								'failed' => $mod_action['failed'],
497 510
 								'ignore_failure' => !empty($mod_action['ignore_failure']),
498 511
 							);
512
+						}
499 513
 					}
500 514
 				}
501 515
 			}
502
-		}
503
-		elseif ($action['type'] == 'code')
516
+		} elseif ($action['type'] == 'code')
504 517
 		{
505 518
 			$thisAction = array(
506 519
 				'type' => $txt['execute_code'],
507 520
 				'action' => $smcFunc['htmlspecialchars']($action['filename']),
508 521
 			);
509
-		}
510
-		elseif ($action['type'] == 'database')
522
+		} elseif ($action['type'] == 'database')
511 523
 		{
512 524
 			$thisAction = array(
513 525
 				'type' => $txt['execute_database_changes'],
514 526
 				'action' => $smcFunc['htmlspecialchars']($action['filename']),
515 527
 			);
516
-		}
517
-		elseif (in_array($action['type'], array('create-dir', 'create-file')))
528
+		} elseif (in_array($action['type'], array('create-dir', 'create-file')))
518 529
 		{
519 530
 			$thisAction = array(
520 531
 				'type' => $txt['package_create'] . ' ' . ($action['type'] == 'create-dir' ? $txt['package_tree'] : $txt['package_file']),
521 532
 				'action' => $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.')))
522 533
 			);
523
-		}
524
-		elseif ($action['type'] == 'hook')
534
+		} elseif ($action['type'] == 'hook')
525 535
 		{
526 536
 			$action['description'] = !isset($action['hook'], $action['function']) ? $txt['package_action_failure'] : $txt['package_action_success'];
527 537
 
528
-			if (!isset($action['hook'], $action['function']))
529
-				$context['has_failure'] = true;
538
+			if (!isset($action['hook'], $action['function'])) {
539
+							$context['has_failure'] = true;
540
+			}
530 541
 
531 542
 			$thisAction = array(
532 543
 				'type' => $action['reverse'] ? $txt['execute_hook_remove'] : $txt['execute_hook_add'],
533 544
 				'action' => sprintf($txt['execute_hook_action' . ($action['reverse'] ? '_inverse' : '')], $smcFunc['htmlspecialchars']($action['hook'])),
534 545
 			);
535
-		}
536
-		elseif ($action['type'] == 'credits')
546
+		} elseif ($action['type'] == 'credits')
537 547
 		{
538 548
 			$thisAction = array(
539 549
 				'type' => $txt['execute_credits_add'],
540 550
 				'action' => sprintf($txt['execute_credits_action'], $smcFunc['htmlspecialchars']($action['title'])),
541 551
 			);
542
-		}
543
-		elseif ($action['type'] == 'requires')
552
+		} elseif ($action['type'] == 'requires')
544 553
 		{
545 554
 			$installed = false;
546 555
 			$version = true;
547 556
 
548 557
 			// package missing required values?
549
-			if (!isset($action['id']))
550
-				$context['has_failure'] = true;
551
-			else
558
+			if (!isset($action['id'])) {
559
+							$context['has_failure'] = true;
560
+			} else
552 561
 			{
553 562
 				// See if this dependancy is installed
554 563
 				$request = $smcFunc['db_query']('', '
@@ -564,8 +573,9 @@  discard block
 block discarded – undo
564 573
 					)
565 574
 				);
566 575
 				$installed = ($smcFunc['db_num_rows']($request) !== 0);
567
-				if ($installed)
568
-					list ($version) = $smcFunc['db_fetch_row']($request);
576
+				if ($installed) {
577
+									list ($version) = $smcFunc['db_fetch_row']($request);
578
+				}
569 579
 				$smcFunc['db_free_result']($request);
570 580
 
571 581
 				// do a version level check (if requested) in the most basic way
@@ -580,8 +590,7 @@  discard block
 block discarded – undo
580 590
 				'type' => $txt['package_requires'],
581 591
 				'action' => $txt['package_check_for'] . ' ' . $action['id'] . (isset($action['version']) ? (' / ' . ($version ? $action['version'] : '<span class="error">' . $action['version'] . '</span>')) : ''),
582 592
 			);
583
-		}
584
-		elseif (in_array($action['type'], array('require-dir', 'require-file')))
593
+		} elseif (in_array($action['type'], array('require-dir', 'require-file')))
585 594
 		{
586 595
 			// Do this one...
587 596
 			$thisAction = array(
@@ -595,26 +604,29 @@  discard block
 block discarded – undo
595 604
 				// Is the action already stated?
596 605
 				$theme_action = !empty($action['theme_action']) && in_array($action['theme_action'], array('no', 'yes', 'auto')) ? $action['theme_action'] : 'auto';
597 606
 				// If it's not auto do we think we have something we can act upon?
598
-				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir')))
599
-					$theme_action = '';
607
+				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) {
608
+									$theme_action = '';
609
+				}
600 610
 				// ... or if it's auto do we even want to do anything?
601
-				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir')
602
-					$theme_action = '';
611
+				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') {
612
+									$theme_action = '';
613
+				}
603 614
 
604 615
 				// So, we still want to do something?
605
-				if ($theme_action != '')
606
-					$themeFinds['candidates'][] = $action;
616
+				if ($theme_action != '') {
617
+									$themeFinds['candidates'][] = $action;
618
+				}
607 619
 				// Otherwise is this is going into another theme record it.
608
-				elseif ($matches[1] == 'themes_dir')
609
-					$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename']));
620
+				elseif ($matches[1] == 'themes_dir') {
621
+									$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename']));
622
+				}
610 623
 			}
611
-		}
612
-		elseif (in_array($action['type'], array('move-dir', 'move-file')))
613
-			$thisAction = array(
624
+		} elseif (in_array($action['type'], array('move-dir', 'move-file'))) {
625
+					$thisAction = array(
614 626
 				'type' => $txt['package_move'] . ' ' . ($action['type'] == 'move-dir' ? $txt['package_tree'] : $txt['package_file']),
615 627
 				'action' => $smcFunc['htmlspecialchars'](strtr($action['source'], array($boarddir => '.'))) . ' => ' . $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.')))
616 628
 			);
617
-		elseif (in_array($action['type'], array('remove-dir', 'remove-file')))
629
+		} elseif (in_array($action['type'], array('remove-dir', 'remove-file')))
618 630
 		{
619 631
 			$thisAction = array(
620 632
 				'type' => $txt['package_delete'] . ' ' . ($action['type'] == 'remove-dir' ? $txt['package_tree'] : $txt['package_file']),
@@ -629,30 +641,36 @@  discard block
 block discarded – undo
629 641
 				$action['unparsed_destination'] = $action['unparsed_filename'];
630 642
 
631 643
 				// If it's not auto do we think we have something we can act upon?
632
-				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir')))
633
-					$theme_action = '';
644
+				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) {
645
+									$theme_action = '';
646
+				}
634 647
 				// ... or if it's auto do we even want to do anything?
635
-				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir')
636
-					$theme_action = '';
648
+				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') {
649
+									$theme_action = '';
650
+				}
637 651
 
638 652
 				// So, we still want to do something?
639
-				if ($theme_action != '')
640
-					$themeFinds['candidates'][] = $action;
653
+				if ($theme_action != '') {
654
+									$themeFinds['candidates'][] = $action;
655
+				}
641 656
 				// Otherwise is this is going into another theme record it.
642
-				elseif ($matches[1] == 'themes_dir')
643
-					$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename']));
657
+				elseif ($matches[1] == 'themes_dir') {
658
+									$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename']));
659
+				}
644 660
 			}
645 661
 		}
646 662
 
647
-		if (empty($thisAction))
648
-			continue;
663
+		if (empty($thisAction)) {
664
+					continue;
665
+		}
649 666
 
650 667
 		if (!in_array($action['type'], array('hook', 'credits')))
651 668
 		{
652
-			if ($context['uninstalling'])
653
-				$file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
654
-			else
655
-				$file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
669
+			if ($context['uninstalling']) {
670
+							$file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
671
+			} else {
672
+							$file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
673
+			}
656 674
 		}
657 675
 
658 676
 		// Don't fail if a file/directory we're trying to create doesn't exist...
@@ -667,8 +685,9 @@  discard block
 block discarded – undo
667 685
 		}
668 686
 
669 687
 		// @todo None given?
670
-		if (empty($thisAction['description']))
671
-			$thisAction['description'] = isset($action['description']) ? $action['description'] : '';
688
+		if (empty($thisAction['description'])) {
689
+					$thisAction['description'] = isset($action['description']) ? $action['description'] : '';
690
+		}
672 691
 
673 692
 		$context['actions'][] = $thisAction;
674 693
 	}
@@ -681,18 +700,21 @@  discard block
 block discarded – undo
681 700
 			// Get the part of the file we'll be dealing with.
682 701
 			preg_match('~^\$(languagedir|languages_dir|imagesdir|themedir)(\\|/)*(.+)*~i', $action_data['unparsed_destination'], $matches);
683 702
 
684
-			if ($matches[1] == 'imagesdir')
685
-				$path = '/' . basename($settings['default_images_url']);
686
-			elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir')
687
-				$path = '/languages';
688
-			else
689
-				$path = '';
703
+			if ($matches[1] == 'imagesdir') {
704
+							$path = '/' . basename($settings['default_images_url']);
705
+			} elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir') {
706
+							$path = '/languages';
707
+			} else {
708
+							$path = '';
709
+			}
690 710
 
691
-			if (!empty($matches[3]))
692
-				$path .= $matches[3];
711
+			if (!empty($matches[3])) {
712
+							$path .= $matches[3];
713
+			}
693 714
 
694
-			if (!$context['uninstalling'])
695
-				$path .= '/' . basename($action_data['filename']);
715
+			if (!$context['uninstalling']) {
716
+							$path .= '/' . basename($action_data['filename']);
717
+			}
696 718
 
697 719
 			// Loop through each custom theme to note it's candidacy!
698 720
 			foreach ($theme_paths as $id => $theme_data)
@@ -708,36 +730,40 @@  discard block
 block discarded – undo
708 730
 						if (!mktree(dirname($real_path), false))
709 731
 						{
710 732
 							$temp = dirname($real_path);
711
-							while (!file_exists($temp) && strlen($temp) > 1)
712
-								$temp = dirname($temp);
733
+							while (!file_exists($temp) && strlen($temp) > 1) {
734
+															$temp = dirname($temp);
735
+							}
713 736
 							$chmod_files[] = $temp;
714 737
 						}
715 738
 
716
-						if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path))))
717
-							$chmod_files[] = $real_path;
739
+						if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path)))) {
740
+													$chmod_files[] = $real_path;
741
+						}
718 742
 
719
-						if (!isset($context['theme_actions'][$id]))
720
-							$context['theme_actions'][$id] = array(
743
+						if (!isset($context['theme_actions'][$id])) {
744
+													$context['theme_actions'][$id] = array(
721 745
 								'name' => $theme_data['name'],
722 746
 								'actions' => array(),
723 747
 							);
748
+						}
724 749
 
725
-						if ($context['uninstalling'])
726
-							$context['theme_actions'][$id]['actions'][] = array(
750
+						if ($context['uninstalling']) {
751
+													$context['theme_actions'][$id]['actions'][] = array(
727 752
 								'type' => $txt['package_delete'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']),
728 753
 								'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')),
729 754
 								'description' => '',
730 755
 								'value' => base64_encode($smcFunc['json_encode'](array('type' => $action_data['type'], 'orig' => $action_data['filename'], 'future' => $real_path, 'id' => $id))),
731 756
 								'not_mod' => true,
732 757
 							);
733
-						else
734
-							$context['theme_actions'][$id]['actions'][] = array(
758
+						} else {
759
+													$context['theme_actions'][$id]['actions'][] = array(
735 760
 								'type' => $txt['package_extract'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']),
736 761
 								'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')),
737 762
 								'description' => '',
738 763
 								'value' => base64_encode($smcFunc['json_encode'](array('type' => $action_data['type'], 'orig' => $action_data['destination'], 'future' => $real_path, 'id' => $id))),
739 764
 								'not_mod' => true,
740 765
 							);
766
+						}
741 767
 					}
742 768
 				}
743 769
 			}
@@ -747,8 +773,9 @@  discard block
 block discarded – undo
747 773
 	// Trash the cache... which will also check permissions for us!
748 774
 	package_flush_cache(true);
749 775
 
750
-	if (file_exists($packagesdir . '/temp'))
751
-		deltree($packagesdir . '/temp');
776
+	if (file_exists($packagesdir . '/temp')) {
777
+			deltree($packagesdir . '/temp');
778
+	}
752 779
 
753 780
 	if (!empty($chmod_files))
754 781
 	{
@@ -773,8 +800,9 @@  discard block
 block discarded – undo
773 800
 	checkSession();
774 801
 
775 802
 	// If there's no file, what are we installing?
776
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
777
-		redirectexit('action=admin;area=packages');
803
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
804
+			redirectexit('action=admin;area=packages');
805
+	}
778 806
 	$context['filename'] = $_REQUEST['package'];
779 807
 
780 808
 	// If this is an uninstall, we'll have an id.
@@ -795,51 +823,55 @@  discard block
 block discarded – undo
795 823
 
796 824
 	$context['sub_template'] = 'extract_package';
797 825
 
798
-	if (!file_exists($packagesdir . '/' . $context['filename']))
799
-		fatal_lang_error('package_no_file', false);
826
+	if (!file_exists($packagesdir . '/' . $context['filename'])) {
827
+			fatal_lang_error('package_no_file', false);
828
+	}
800 829
 
801 830
 	// Load up the package FTP information?
802 831
 	create_chmod_control(array(), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package']));
803 832
 
804 833
 	// Make sure temp directory exists and is empty!
805
-	if (file_exists($packagesdir . '/temp'))
806
-		deltree($packagesdir . '/temp', false);
807
-	else
808
-		mktree($packagesdir . '/temp', 0777);
834
+	if (file_exists($packagesdir . '/temp')) {
835
+			deltree($packagesdir . '/temp', false);
836
+	} else {
837
+			mktree($packagesdir . '/temp', 0777);
838
+	}
809 839
 
810 840
 	// Let the unpacker do the work.
811 841
 	if (is_file($packagesdir . '/' . $context['filename']))
812 842
 	{
813 843
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
814 844
 
815
-		if (!file_exists($packagesdir . '/temp/package-info.xml'))
816
-			foreach ($context['extracted_files'] as $file)
845
+		if (!file_exists($packagesdir . '/temp/package-info.xml')) {
846
+					foreach ($context['extracted_files'] as $file)
817 847
 				if (basename($file['filename']) == 'package-info.xml')
818 848
 				{
819 849
 					$context['base_path'] = dirname($file['filename']) . '/';
850
+		}
820 851
 					break;
821 852
 				}
822 853
 
823
-		if (!isset($context['base_path']))
824
-			$context['base_path'] = '';
825
-	}
826
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
854
+		if (!isset($context['base_path'])) {
855
+					$context['base_path'] = '';
856
+		}
857
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
827 858
 	{
828 859
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
829 860
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
830 861
 		$context['base_path'] = '';
862
+	} else {
863
+			fatal_lang_error('no_access', false);
831 864
 	}
832
-	else
833
-		fatal_lang_error('no_access', false);
834 865
 
835 866
 	// Are we installing this into any custom themes?
836 867
 	$custom_themes = array(1);
837 868
 	$known_themes = explode(',', $modSettings['knownThemes']);
838 869
 	if (!empty($_POST['custom_theme']))
839 870
 	{
840
-		foreach ($_POST['custom_theme'] as $tid)
841
-			if (in_array($tid, $known_themes))
871
+		foreach ($_POST['custom_theme'] as $tid) {
872
+					if (in_array($tid, $known_themes))
842 873
 				$custom_themes[] = (int) $tid;
874
+		}
843 875
 	}
844 876
 
845 877
 	// Now load up the paths of the themes that we need to know about.
@@ -856,8 +888,9 @@  discard block
 block discarded – undo
856 888
 	);
857 889
 	$theme_paths = array();
858 890
 	$themes_installed = array(1);
859
-	while ($row = $smcFunc['db_fetch_assoc']($request))
860
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
891
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
892
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
893
+	}
861 894
 	$smcFunc['db_free_result']($request);
862 895
 
863 896
 	// Are there any theme copying that we want to take place?
@@ -869,11 +902,13 @@  discard block
 block discarded – undo
869 902
 	{
870 903
 		foreach ($_POST['theme_changes'] as $change)
871 904
 		{
872
-			if (empty($change))
873
-				continue;
905
+			if (empty($change)) {
906
+							continue;
907
+			}
874 908
 			$theme_data = $smcFunc['json_decode'](base64_decode($change), true);
875
-			if (empty($theme_data['type']))
876
-				continue;
909
+			if (empty($theme_data['type'])) {
910
+							continue;
911
+			}
877 912
 
878 913
 			$themes_installed[] = $theme_data['id'];
879 914
 			$context['theme_copies'][$theme_data['type']][$theme_data['orig']][] = $theme_data['future'];
@@ -882,8 +917,9 @@  discard block
 block discarded – undo
882 917
 
883 918
 	// Get the package info...
884 919
 	$packageInfo = getPackageInfo($context['filename']);
885
-	if (!is_array($packageInfo))
886
-		fatal_lang_error($packageInfo);
920
+	if (!is_array($packageInfo)) {
921
+			fatal_lang_error($packageInfo);
922
+	}
887 923
 
888 924
 	$packageInfo['filename'] = $context['filename'];
889 925
 
@@ -895,8 +931,9 @@  discard block
 block discarded – undo
895 931
 	{
896 932
 		$_SESSION['last_backup_for'] = $context['filename'] . ($context['uninstalling'] ? '$$' : '$');
897 933
 		$result = package_create_backup(($context['uninstalling'] ? 'backup_' : 'before_') . strtok($context['filename'], '.'));
898
-		if (!$result)
899
-			fatal_lang_error('could_not_package_backup', false);
934
+		if (!$result) {
935
+					fatal_lang_error('could_not_package_backup', false);
936
+		}
900 937
 	}
901 938
 
902 939
 	// The mod isn't installed.... unless proven otherwise.
@@ -936,35 +973,38 @@  discard block
 block discarded – undo
936 973
 		$install_log = parsePackageInfo($packageInfo['xml'], false, 'uninstall');
937 974
 
938 975
 		// Gadzooks!  There's no uninstaller at all!?
939
-		if (empty($install_log))
940
-			fatal_lang_error('package_uninstall_cannot', false);
976
+		if (empty($install_log)) {
977
+					fatal_lang_error('package_uninstall_cannot', false);
978
+		}
941 979
 
942 980
 		// They can only uninstall from what it was originally installed into.
943
-		foreach ($theme_paths as $id => $data)
944
-			if ($id != 1 && !in_array($id, $old_themes))
981
+		foreach ($theme_paths as $id => $data) {
982
+					if ($id != 1 && !in_array($id, $old_themes))
945 983
 				unset($theme_paths[$id]);
946
-	}
947
-	elseif (isset($old_version) && $old_version != $packageInfo['version'])
984
+		}
985
+	} elseif (isset($old_version) && $old_version != $packageInfo['version'])
948 986
 	{
949 987
 		// Look for an upgrade...
950 988
 		$install_log = parsePackageInfo($packageInfo['xml'], false, 'upgrade', $old_version);
951 989
 
952 990
 		// There was no upgrade....
953
-		if (empty($install_log))
954
-			$context['is_installed'] = true;
955
-		else
991
+		if (empty($install_log)) {
992
+					$context['is_installed'] = true;
993
+		} else
956 994
 		{
957 995
 			// Upgrade previous themes only!
958
-			foreach ($theme_paths as $id => $data)
959
-				if ($id != 1 && !in_array($id, $old_themes))
996
+			foreach ($theme_paths as $id => $data) {
997
+							if ($id != 1 && !in_array($id, $old_themes))
960 998
 					unset($theme_paths[$id]);
999
+			}
961 1000
 		}
1001
+	} elseif (isset($old_version) && $old_version == $packageInfo['version']) {
1002
+			$context['is_installed'] = true;
962 1003
 	}
963
-	elseif (isset($old_version) && $old_version == $packageInfo['version'])
964
-		$context['is_installed'] = true;
965 1004
 
966
-	if (!isset($old_version) || $context['is_installed'])
967
-		$install_log = parsePackageInfo($packageInfo['xml'], false, 'install');
1005
+	if (!isset($old_version) || $context['is_installed']) {
1006
+			$install_log = parsePackageInfo($packageInfo['xml'], false, 'install');
1007
+	}
968 1008
 
969 1009
 	$context['install_finished'] = false;
970 1010
 
@@ -981,37 +1021,39 @@  discard block
 block discarded – undo
981 1021
 
982 1022
 			if ($action['type'] == 'modification' && !empty($action['filename']))
983 1023
 			{
984
-				if ($action['boardmod'])
985
-					$mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
986
-				else
987
-					$mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1024
+				if ($action['boardmod']) {
1025
+									$mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1026
+				} else {
1027
+									$mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1028
+				}
988 1029
 
989 1030
 				// Any errors worth noting?
990 1031
 				foreach ($mod_actions as $key => $modAction)
991 1032
 				{
992
-					if ($modAction['type'] == 'failure')
993
-						$failed_steps[] = array(
1033
+					if ($modAction['type'] == 'failure') {
1034
+											$failed_steps[] = array(
994 1035
 							'file' => $modAction['filename'],
995 1036
 							'large_step' => $failed_count,
996 1037
 							'sub_step' => $key,
997 1038
 							'theme' => 1,
998 1039
 						);
1040
+					}
999 1041
 
1000 1042
 					// Gather the themes we installed into.
1001
-					if (!empty($modAction['is_custom']))
1002
-						$themes_installed[] = $modAction['is_custom'];
1043
+					if (!empty($modAction['is_custom'])) {
1044
+											$themes_installed[] = $modAction['is_custom'];
1045
+					}
1003 1046
 				}
1004
-			}
1005
-			elseif ($action['type'] == 'code' && !empty($action['filename']))
1047
+			} elseif ($action['type'] == 'code' && !empty($action['filename']))
1006 1048
 			{
1007 1049
 				// This is just here as reference for what is available.
1008 1050
 				global $txt, $boarddir, $sourcedir, $modSettings, $context, $settings, $forum_version, $smcFunc;
1009 1051
 
1010 1052
 				// Now include the file and be done with it ;).
1011
-				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
1012
-					require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1013
-			}
1014
-			elseif ($action['type'] == 'credits')
1053
+				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
1054
+									require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1055
+				}
1056
+			} elseif ($action['type'] == 'credits')
1015 1057
 			{
1016 1058
 				// Time to build the billboard
1017 1059
 				$credits_tag = array(
@@ -1021,13 +1063,13 @@  discard block
 block discarded – undo
1021 1063
 					'copyright' => $action['copyright'],
1022 1064
 					'title' => $action['title'],
1023 1065
 				);
1024
-			}
1025
-			elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function']))
1066
+			} elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function']))
1026 1067
 			{
1027
-				if ($action['reverse'])
1028
-					remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1029
-				else
1030
-					add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1068
+				if ($action['reverse']) {
1069
+									remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1070
+				} else {
1071
+									add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1072
+				}
1031 1073
 			}
1032 1074
 			// Only do the database changes on uninstall if requested.
1033 1075
 			elseif ($action['type'] == 'database' && !empty($action['filename']) && (!$context['uninstalling'] || !empty($_POST['do_db_changes'])))
@@ -1040,8 +1082,9 @@  discard block
 block discarded – undo
1040 1082
 				db_extend('packages');
1041 1083
 
1042 1084
 				// Let the file work its magic ;)
1043
-				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
1044
-					require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1085
+				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
1086
+									require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1087
+				}
1045 1088
 			}
1046 1089
 			// Handle a redirect...
1047 1090
 			elseif ($action['type'] == 'redirect' && !empty($action['redirect_url']))
@@ -1123,8 +1166,9 @@  discard block
 block discarded – undo
1123 1166
 			reloadSettings();
1124 1167
 
1125 1168
 			// Any db changes from older version?
1126
-			if (!empty($old_db_changes))
1127
-				$db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log);
1169
+			if (!empty($old_db_changes)) {
1170
+							$db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log);
1171
+			}
1128 1172
 
1129 1173
 			// If there are some database changes we might want to remove then filter them out.
1130 1174
 			if (!empty($db_package_log))
@@ -1140,22 +1184,24 @@  discard block
 block discarded – undo
1140 1184
 				 */
1141 1185
 				function sort_table_first($a, $b)
1142 1186
 				{
1143
-					if ($a[0] == $b[0])
1144
-						return 0;
1187
+					if ($a[0] == $b[0]) {
1188
+											return 0;
1189
+					}
1145 1190
 					return $a[0] == 'remove_table' ? -1 : 1;
1146 1191
 				}
1147 1192
 				usort($db_package_log, 'sort_table_first');
1148 1193
 				foreach ($db_package_log as $k => $log)
1149 1194
 				{
1150
-					if ($log[0] == 'remove_table')
1151
-						$tables[] = $log[1];
1152
-					elseif (in_array($log[1], $tables))
1153
-						unset($db_package_log[$k]);
1195
+					if ($log[0] == 'remove_table') {
1196
+											$tables[] = $log[1];
1197
+					} elseif (in_array($log[1], $tables)) {
1198
+											unset($db_package_log[$k]);
1199
+					}
1154 1200
 				}
1155 1201
 				$db_changes = $smcFunc['json_encode']($db_package_log);
1202
+			} else {
1203
+							$db_changes = '';
1156 1204
 			}
1157
-			else
1158
-				$db_changes = '';
1159 1205
 
1160 1206
 			// What themes did we actually install?
1161 1207
 			$themes_installed = array_unique($themes_installed);
@@ -1204,18 +1250,20 @@  discard block
 block discarded – undo
1204 1250
 
1205 1251
 		foreach ($db_changes as $change)
1206 1252
 		{
1207
-			if ($change[0] == 'remove_table' && isset($change[1]))
1208
-				$smcFunc['db_drop_table']($change[1]);
1209
-			elseif ($change[0] == 'remove_column' && isset($change[2]))
1210
-				$smcFunc['db_remove_column']($change[1], $change[2]);
1211
-			elseif ($change[0] == 'remove_index' && isset($change[2]))
1212
-				$smcFunc['db_remove_index']($change[1], $change[2]);
1253
+			if ($change[0] == 'remove_table' && isset($change[1])) {
1254
+							$smcFunc['db_drop_table']($change[1]);
1255
+			} elseif ($change[0] == 'remove_column' && isset($change[2])) {
1256
+							$smcFunc['db_remove_column']($change[1], $change[2]);
1257
+			} elseif ($change[0] == 'remove_index' && isset($change[2])) {
1258
+							$smcFunc['db_remove_index']($change[1], $change[2]);
1259
+			}
1213 1260
 		}
1214 1261
 	}
1215 1262
 
1216 1263
 	// Clean house... get rid of the evidence ;).
1217
-	if (file_exists($packagesdir . '/temp'))
1218
-		deltree($packagesdir . '/temp');
1264
+	if (file_exists($packagesdir . '/temp')) {
1265
+			deltree($packagesdir . '/temp');
1266
+	}
1219 1267
 
1220 1268
 	// Log what we just did.
1221 1269
 	logAction($context['uninstalling'] ? 'uninstall_package' : (!empty($is_upgrade) ? 'upgrade_package' : 'install_package'), array('package' => $smcFunc['htmlspecialchars']($packageInfo['name']), 'version' => $smcFunc['htmlspecialchars']($packageInfo['version'])), 'admin');
@@ -1238,8 +1286,9 @@  discard block
 block discarded – undo
1238 1286
 	require_once($sourcedir . '/Subs-Package.php');
1239 1287
 
1240 1288
 	// No package?  Show him or her the door.
1241
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
1242
-		redirectexit('action=admin;area=packages');
1289
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
1290
+			redirectexit('action=admin;area=packages');
1291
+	}
1243 1292
 
1244 1293
 	$context['linktree'][] = array(
1245 1294
 		'url' => $scripturl . '?action=admin;area=packages;sa=list;package=' . $_REQUEST['package'],
@@ -1252,11 +1301,12 @@  discard block
 block discarded – undo
1252 1301
 	$context['filename'] = $_REQUEST['package'];
1253 1302
 
1254 1303
 	// Let the unpacker do the work.
1255
-	if (is_file($packagesdir . '/' . $context['filename']))
1256
-		$context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null);
1257
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
1258
-		$context['files'] = listtree($packagesdir . '/' . $context['filename']);
1259
-}
1304
+	if (is_file($packagesdir . '/' . $context['filename'])) {
1305
+			$context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null);
1306
+	} elseif (is_dir($packagesdir . '/' . $context['filename'])) {
1307
+			$context['files'] = listtree($packagesdir . '/' . $context['filename']);
1308
+	}
1309
+	}
1260 1310
 
1261 1311
 /**
1262 1312
  * Display one of the files in a package.
@@ -1268,22 +1318,25 @@  discard block
 block discarded – undo
1268 1318
 	require_once($sourcedir . '/Subs-Package.php');
1269 1319
 
1270 1320
 	// No package?  Show him or her the door.
1271
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
1272
-		redirectexit('action=admin;area=packages');
1321
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
1322
+			redirectexit('action=admin;area=packages');
1323
+	}
1273 1324
 
1274 1325
 	// No file?  Show him or her the door.
1275
-	if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '')
1276
-		redirectexit('action=admin;area=packages');
1326
+	if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '') {
1327
+			redirectexit('action=admin;area=packages');
1328
+	}
1277 1329
 
1278 1330
 	$_REQUEST['package'] = preg_replace('~[\.]+~', '.', strtr($_REQUEST['package'], array('/' => '_', '\\' => '_')));
1279 1331
 	$_REQUEST['file'] = preg_replace('~[\.]+~', '.', $_REQUEST['file']);
1280 1332
 
1281 1333
 	if (isset($_REQUEST['raw']))
1282 1334
 	{
1283
-		if (is_file($packagesdir . '/' . $_REQUEST['package']))
1284
-			echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true);
1285
-		elseif (is_dir($packagesdir . '/' . $_REQUEST['package']))
1286
-			echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']);
1335
+		if (is_file($packagesdir . '/' . $_REQUEST['package'])) {
1336
+					echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true);
1337
+		} elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) {
1338
+					echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']);
1339
+		}
1287 1340
 
1288 1341
 		obExit(false);
1289 1342
 	}
@@ -1300,17 +1353,19 @@  discard block
 block discarded – undo
1300 1353
 	$context['filename'] = $_REQUEST['file'];
1301 1354
 
1302 1355
 	// Let the unpacker do the work.... but make sure we handle images properly.
1303
-	if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png')))
1304
-		$context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">';
1305
-	else
1356
+	if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png'))) {
1357
+			$context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">';
1358
+	} else
1306 1359
 	{
1307
-		if (is_file($packagesdir . '/' . $_REQUEST['package']))
1308
-			$context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true));
1309
-		elseif (is_dir($packagesdir . '/' . $_REQUEST['package']))
1310
-			$context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']));
1360
+		if (is_file($packagesdir . '/' . $_REQUEST['package'])) {
1361
+					$context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true));
1362
+		} elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) {
1363
+					$context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']));
1364
+		}
1311 1365
 
1312
-		if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php')
1313
-			$context['filedata'] = highlight_php_code($context['filedata']);
1366
+		if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php') {
1367
+					$context['filedata'] = highlight_php_code($context['filedata']);
1368
+		}
1314 1369
 	}
1315 1370
 }
1316 1371
 
@@ -1325,8 +1380,9 @@  discard block
 block discarded – undo
1325 1380
 	checkSession('get');
1326 1381
 
1327 1382
 	// Ack, don't allow deletion of arbitrary files here, could become a security hole somehow!
1328
-	if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups')
1329
-		redirectexit('action=admin;area=packages;sa=browse');
1383
+	if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups') {
1384
+			redirectexit('action=admin;area=packages;sa=browse');
1385
+	}
1330 1386
 	$_GET['package'] = preg_replace('~[\.]+~', '.', strtr($_GET['package'], array('/' => '_', '\\' => '_')));
1331 1387
 
1332 1388
 	// Can't delete what's not there.
@@ -1334,9 +1390,9 @@  discard block
 block discarded – undo
1334 1390
 	{
1335 1391
 		create_chmod_control(array($packagesdir . '/' . $_GET['package']), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=remove;package=' . $_GET['package'], 'crash_on_error' => true));
1336 1392
 
1337
-		if (is_dir($packagesdir . '/' . $_GET['package']))
1338
-			deltree($packagesdir . '/' . $_GET['package']);
1339
-		else
1393
+		if (is_dir($packagesdir . '/' . $_GET['package'])) {
1394
+					deltree($packagesdir . '/' . $_GET['package']);
1395
+		} else
1340 1396
 		{
1341 1397
 			smf_chmod($packagesdir . '/' . $_GET['package'], 0777);
1342 1398
 			unlink($packagesdir . '/' . $_GET['package']);
@@ -1384,8 +1440,9 @@  discard block
 block discarded – undo
1384 1440
 					'data' => array(
1385 1441
 						'function' => function($package_md5) use ($type, &$context)
1386 1442
 						{
1387
-							if (isset($context['available_' . $type . ''][$package_md5]))
1388
-								return $context['available_' . $type . ''][$package_md5]['sort_id'];
1443
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1444
+															return $context['available_' . $type . ''][$package_md5]['sort_id'];
1445
+							}
1389 1446
 						},
1390 1447
 					),
1391 1448
 					'sort' => array(
@@ -1401,8 +1458,9 @@  discard block
 block discarded – undo
1401 1458
 					'data' => array(
1402 1459
 						'function' => function($package_md5) use ($type, &$context)
1403 1460
 						{
1404
-							if (isset($context['available_' . $type . ''][$package_md5]))
1405
-								return $context['available_' . $type . ''][$package_md5]['name'];
1461
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1462
+															return $context['available_' . $type . ''][$package_md5]['name'];
1463
+							}
1406 1464
 						},
1407 1465
 					),
1408 1466
 					'sort' => array(
@@ -1417,8 +1475,9 @@  discard block
 block discarded – undo
1417 1475
 					'data' => array(
1418 1476
 						'function' => function($package_md5) use ($type, &$context)
1419 1477
 						{
1420
-							if (isset($context['available_' . $type . ''][$package_md5]))
1421
-								return $context['available_' . $type . ''][$package_md5]['version'];
1478
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1479
+															return $context['available_' . $type . ''][$package_md5]['version'];
1480
+							}
1422 1481
 						},
1423 1482
 					),
1424 1483
 					'sort' => array(
@@ -1433,8 +1492,9 @@  discard block
 block discarded – undo
1433 1492
 					'data' => array(
1434 1493
 						'function' => function($package_md5) use ($type, $txt, &$context)
1435 1494
 						{
1436
-							if (isset($context['available_' . $type . ''][$package_md5]))
1437
-								return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable'];
1495
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1496
+															return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable'];
1497
+							}
1438 1498
 						},
1439 1499
 						'class' => 'smalltext',
1440 1500
 					),
@@ -1450,28 +1510,30 @@  discard block
 block discarded – undo
1450 1510
 					'data' => array(
1451 1511
 						'function' => function($package_md5) use ($type, &$context, $scripturl, $txt)
1452 1512
 						{
1453
-							if (!isset($context['available_' . $type . ''][$package_md5]))
1454
-								return '';
1513
+							if (!isset($context['available_' . $type . ''][$package_md5])) {
1514
+															return '';
1515
+							}
1455 1516
 
1456 1517
 							// Rewrite shortcut
1457 1518
 							$package = $context['available_' . $type . ''][$package_md5];
1458 1519
 							$return = '';
1459 1520
 
1460
-							if ($package['can_uninstall'])
1461
-								$return = '
1521
+							if ($package['can_uninstall']) {
1522
+															$return = '
1462 1523
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=uninstall;package=' . $package['filename'] . ';pid=' . $package['installed_id'] . '" class="button">' . $txt['uninstall'] . '</a>';
1463
-							elseif ($package['can_emulate_uninstall'])
1464
-								$return = '
1524
+							} elseif ($package['can_emulate_uninstall']) {
1525
+															$return = '
1465 1526
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=uninstall;ve=' . $package['can_emulate_uninstall'] . ';package=' . $package['filename'] . ';pid=' . $package['installed_id'] . '" class="button">' . $txt['package_emulate_uninstall'] . ' ' . $package['can_emulate_uninstall'] . '</a>';
1466
-							elseif ($package['can_upgrade'])
1467
-								$return = '
1527
+							} elseif ($package['can_upgrade']) {
1528
+															$return = '
1468 1529
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['package_upgrade'] . '</a>';
1469
-							elseif ($package['can_install'])
1470
-								$return = '
1530
+							} elseif ($package['can_install']) {
1531
+															$return = '
1471 1532
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['install_mod'] . '</a>';
1472
-							elseif ($package['can_emulate_install'])
1473
-								$return = '
1533
+							} elseif ($package['can_emulate_install']) {
1534
+															$return = '
1474 1535
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;ve=' . $package['can_emulate_install'] . ';package=' . $package['filename'] . '" class="button">' . $txt['package_emulate_install'] . ' ' . $package['can_emulate_install'] . '</a>';
1536
+							}
1475 1537
 
1476 1538
 							return $return . '
1477 1539
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=list;package=' . $package['filename'] . '" class="button">' . $txt['list_files'] . '</a>
@@ -1536,12 +1598,14 @@  discard block
 block discarded – undo
1536 1598
 	static $packages, $installed_mods;
1537 1599
 
1538 1600
 	// Start things up
1539
-	if (!isset($packages[$params]))
1540
-		$packages[$params] = array();
1601
+	if (!isset($packages[$params])) {
1602
+			$packages[$params] = array();
1603
+	}
1541 1604
 
1542 1605
 	// We need the packages directory to be writable for this.
1543
-	if (!@is_writable($packagesdir))
1544
-		create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true));
1606
+	if (!@is_writable($packagesdir)) {
1607
+			create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true));
1608
+	}
1545 1609
 
1546 1610
 	$the_version = strtr($forum_version, array('SMF ' => ''));
1547 1611
 
@@ -1549,41 +1613,44 @@  discard block
 block discarded – undo
1549 1613
 	if (isset($_GET['version_emulate']) && strtr($_GET['version_emulate'], array('SMF ' => '')) == $the_version)
1550 1614
 	{
1551 1615
 		unset($_SESSION['version_emulate']);
1552
-	}
1553
-	elseif (isset($_GET['version_emulate']))
1616
+	} elseif (isset($_GET['version_emulate']))
1554 1617
 	{
1555
-		if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate']))
1556
-			unset($_SESSION['version_emulate']);
1557
-		elseif ($_GET['version_emulate'] !== 0)
1558
-			$_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => ''));
1618
+		if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate'])) {
1619
+					unset($_SESSION['version_emulate']);
1620
+		} elseif ($_GET['version_emulate'] !== 0) {
1621
+					$_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => ''));
1622
+		}
1559 1623
 	}
1560 1624
 	if (!empty($_SESSION['version_emulate']))
1561 1625
 	{
1562 1626
 		$context['forum_version'] = 'SMF ' . $_SESSION['version_emulate'];
1563 1627
 		$the_version = $_SESSION['version_emulate'];
1564 1628
 	}
1565
-	if (isset($_SESSION['single_version_emulate']))
1566
-		unset($_SESSION['single_version_emulate']);
1629
+	if (isset($_SESSION['single_version_emulate'])) {
1630
+			unset($_SESSION['single_version_emulate']);
1631
+	}
1567 1632
 
1568 1633
 	if (empty($installed_mods))
1569 1634
 	{
1570 1635
 		$instmods = loadInstalledPackages();
1571 1636
 		$installed_mods = array();
1572 1637
 		// Look through the list of installed mods...
1573
-		foreach ($instmods as $installed_mod)
1574
-			$installed_mods[$installed_mod['package_id']] = array(
1638
+		foreach ($instmods as $installed_mod) {
1639
+					$installed_mods[$installed_mod['package_id']] = array(
1575 1640
 				'id' => $installed_mod['id'],
1576 1641
 				'version' => $installed_mod['version'],
1577 1642
 				'time_installed' => $installed_mod['time_installed'],
1578 1643
 			);
1644
+		}
1579 1645
 
1580 1646
 		// Get a list of all the ids installed, so the latest packages won't include already installed ones.
1581 1647
 		$context['installed_mods'] = array_keys($installed_mods);
1582 1648
 	}
1583 1649
 
1584
-	if (empty($packages))
1585
-		foreach ($context['modification_types'] as $type)
1650
+	if (empty($packages)) {
1651
+			foreach ($context['modification_types'] as $type)
1586 1652
 			$packages[$type] = array();
1653
+	}
1587 1654
 
1588 1655
 	if ($dir = @opendir($packagesdir))
1589 1656
 	{
@@ -1599,50 +1666,56 @@  discard block
 block discarded – undo
1599 1666
 
1600 1667
 		while ($package = readdir($dir))
1601 1668
 		{
1602
-			if ($package == '.' || $package == '..' || $package == 'temp' || (!(is_dir($packagesdir . '/' . $package) && file_exists($packagesdir . '/' . $package . '/package-info.xml')) && substr(strtolower($package), -7) != '.tar.gz' && substr(strtolower($package), -4) != '.tgz' && substr(strtolower($package), -4) != '.zip'))
1603
-				continue;
1669
+			if ($package == '.' || $package == '..' || $package == 'temp' || (!(is_dir($packagesdir . '/' . $package) && file_exists($packagesdir . '/' . $package . '/package-info.xml')) && substr(strtolower($package), -7) != '.tar.gz' && substr(strtolower($package), -4) != '.tgz' && substr(strtolower($package), -4) != '.zip')) {
1670
+							continue;
1671
+			}
1604 1672
 
1605 1673
 			$skip = false;
1606
-			foreach ($context['modification_types'] as $type)
1607
-				if (isset($context['available_' . $type][md5($package)]))
1674
+			foreach ($context['modification_types'] as $type) {
1675
+							if (isset($context['available_' . $type][md5($package)]))
1608 1676
 					$skip = true;
1677
+			}
1609 1678
 
1610
-			if ($skip)
1611
-				continue;
1679
+			if ($skip) {
1680
+							continue;
1681
+			}
1612 1682
 
1613 1683
 			// Skip directories or files that are named the same.
1614 1684
 			if (is_dir($packagesdir . '/' . $package))
1615 1685
 			{
1616
-				if (in_array($package, $dirs))
1617
-					continue;
1686
+				if (in_array($package, $dirs)) {
1687
+									continue;
1688
+				}
1618 1689
 				$dirs[] = $package;
1619
-			}
1620
-			elseif (substr(strtolower($package), -7) == '.tar.gz')
1690
+			} elseif (substr(strtolower($package), -7) == '.tar.gz')
1621 1691
 			{
1622
-				if (in_array(substr($package, 0, -7), $dirs))
1623
-					continue;
1692
+				if (in_array(substr($package, 0, -7), $dirs)) {
1693
+									continue;
1694
+				}
1624 1695
 				$dirs[] = substr($package, 0, -7);
1625
-			}
1626
-			elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz')
1696
+			} elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz')
1627 1697
 			{
1628
-				if (in_array(substr($package, 0, -4), $dirs))
1629
-					continue;
1698
+				if (in_array(substr($package, 0, -4), $dirs)) {
1699
+									continue;
1700
+				}
1630 1701
 				$dirs[] = substr($package, 0, -4);
1631 1702
 			}
1632 1703
 
1633 1704
 			$packageInfo = getPackageInfo($package);
1634
-			if (!is_array($packageInfo))
1635
-				continue;
1705
+			if (!is_array($packageInfo)) {
1706
+							continue;
1707
+			}
1636 1708
 
1637 1709
 			if (!empty($packageInfo))
1638 1710
 			{
1639 1711
 				$packageInfo['installed_id'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['id'] : 0;
1640 1712
 				$packageInfo['time_installed'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['time_installed'] : 0;
1641 1713
 
1642
-				if (!isset($sort_id[$packageInfo['type']]))
1643
-					$packageInfo['sort_id'] = $sort_id['unknown'];
1644
-				else
1645
-					$packageInfo['sort_id'] = $sort_id[$packageInfo['type']];
1714
+				if (!isset($sort_id[$packageInfo['type']])) {
1715
+									$packageInfo['sort_id'] = $sort_id['unknown'];
1716
+				} else {
1717
+									$packageInfo['sort_id'] = $sort_id[$packageInfo['type']];
1718
+				}
1646 1719
 
1647 1720
 				$packageInfo['is_installed'] = isset($installed_mods[$packageInfo['id']]);
1648 1721
 				$packageInfo['is_current'] = $packageInfo['is_installed'] && ($installed_mods[$packageInfo['id']]['version'] == $packageInfo['version']);
@@ -1691,10 +1764,11 @@  discard block
 block discarded – undo
1691 1764
 					foreach ($upgrades as $upgrade)
1692 1765
 					{
1693 1766
 						// Even if it is for this SMF, is it for the installed version of the mod?
1694
-						if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for')))
1695
-							if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from')))
1767
+						if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for'))) {
1768
+													if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from')))
1696 1769
 							{
1697 1770
 								$packageInfo['can_upgrade'] = true;
1771
+						}
1698 1772
 								break;
1699 1773
 							}
1700 1774
 					}
@@ -1771,10 +1845,11 @@  discard block
 block discarded – undo
1771 1845
 
1772 1846
 	if (isset($_GET['type']) && $_GET['type'] == $params)
1773 1847
 	{
1774
-		if (isset($_GET['desc']))
1775
-			krsort($packages[$params]);
1776
-		else
1777
-			ksort($packages[$params]);
1848
+		if (isset($_GET['desc'])) {
1849
+					krsort($packages[$params]);
1850
+		} else {
1851
+					ksort($packages[$params]);
1852
+		}
1778 1853
 	}
1779 1854
 
1780 1855
 	return $packages[$params];
@@ -1803,10 +1878,11 @@  discard block
 block discarded – undo
1803 1878
 		redirectexit('action=admin;area=packages;sa=options');
1804 1879
 	}
1805 1880
 
1806
-	if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match))
1807
-		$default_username = $match[1];
1808
-	else
1809
-		$default_username = '';
1881
+	if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match)) {
1882
+			$default_username = $match[1];
1883
+	} else {
1884
+			$default_username = '';
1885
+	}
1810 1886
 
1811 1887
 	$context['page_title'] = $txt['package_settings'];
1812 1888
 	$context['sub_template'] = 'install_options';
@@ -1835,8 +1911,9 @@  discard block
 block discarded – undo
1835 1911
 	isAllowedTo('admin_forum');
1836 1912
 
1837 1913
 	// We need to know the operation key for the search and replace, mod file looking at, is it a board mod?
1838
-	if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key']))
1839
-		fatal_lang_error('operation_invalid', 'general');
1914
+	if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key'])) {
1915
+			fatal_lang_error('operation_invalid', 'general');
1916
+	}
1840 1917
 
1841 1918
 	// Load the required file.
1842 1919
 	require_once($sourcedir . '/Subs-Package.php');
@@ -1852,18 +1929,19 @@  discard block
 block discarded – undo
1852 1929
 	{
1853 1930
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
1854 1931
 
1855
-		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml'))
1856
-			foreach ($context['extracted_files'] as $file)
1932
+		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) {
1933
+					foreach ($context['extracted_files'] as $file)
1857 1934
 				if (basename($file['filename']) == 'package-info.xml')
1858 1935
 				{
1859 1936
 					$context['base_path'] = dirname($file['filename']) . '/';
1937
+		}
1860 1938
 					break;
1861 1939
 				}
1862 1940
 
1863
-		if (!isset($context['base_path']))
1864
-			$context['base_path'] = '';
1865
-	}
1866
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
1941
+		if (!isset($context['base_path'])) {
1942
+					$context['base_path'] = '';
1943
+		}
1944
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
1867 1945
 	{
1868 1946
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
1869 1947
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
@@ -1884,8 +1962,9 @@  discard block
 block discarded – undo
1884 1962
 		)
1885 1963
 	);
1886 1964
 	$theme_paths = array();
1887
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1888
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
1965
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1966
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
1967
+	}
1889 1968
 	$smcFunc['db_free_result']($request);
1890 1969
 
1891 1970
 	// If we're viewing uninstall operations, only consider themes that
@@ -1910,19 +1989,21 @@  discard block
 block discarded – undo
1910 1989
 				list ($old_themes) = $smcFunc['db_fetch_row']($request);
1911 1990
 				$old_themes = explode(',', $old_themes);
1912 1991
 
1913
-				foreach ($theme_paths as $id => $data)
1914
-					if ($id != 1 && !in_array($id, $old_themes))
1992
+				foreach ($theme_paths as $id => $data) {
1993
+									if ($id != 1 && !in_array($id, $old_themes))
1915 1994
 						unset($theme_paths[$id]);
1995
+				}
1916 1996
 			}
1917 1997
 			$smcFunc['db_free_result']($request);
1918 1998
 		}
1919 1999
 	}
1920 2000
 
1921 2001
 	// Boardmod?
1922
-	if (isset($_REQUEST['boardmod']))
1923
-		$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
1924
-	else
1925
-		$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2002
+	if (isset($_REQUEST['boardmod'])) {
2003
+			$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2004
+	} else {
2005
+			$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2006
+	}
1926 2007
 
1927 2008
 	// Ok lets get the content of the file.
1928 2009
 	$context['operations'] = array(
@@ -1978,9 +2059,9 @@  discard block
 block discarded – undo
1978 2059
 			'path' => $detect_path,
1979 2060
 			'form_elements_only' => true,
1980 2061
 		);
2062
+	} else {
2063
+			$context['ftp_connected'] = true;
1981 2064
 	}
1982
-	else
1983
-		$context['ftp_connected'] = true;
1984 2065
 
1985 2066
 	// Define the template.
1986 2067
 	$context['page_title'] = $txt['package_file_perms'];
@@ -2093,17 +2174,18 @@  discard block
 block discarded – undo
2093 2174
 	{
2094 2175
 		unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']);
2095 2176
 
2096
-		if (!is_array($modSettings['attachmentUploadDir']))
2097
-			$modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true);
2177
+		if (!is_array($modSettings['attachmentUploadDir'])) {
2178
+					$modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true);
2179
+		}
2098 2180
 
2099 2181
 		// @todo Should we suggest non-current directories be read only?
2100
-		foreach ($modSettings['attachmentUploadDir'] as $dir)
2101
-			$context['file_tree'][strtr($dir, array('\\' => '/'))] = array(
2182
+		foreach ($modSettings['attachmentUploadDir'] as $dir) {
2183
+					$context['file_tree'][strtr($dir, array('\\' => '/'))] = array(
2102 2184
 			'type' => 'dir',
2103 2185
 			'writable_on' => 'restrictive',
2104 2186
 		);
2105
-	}
2106
-	elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir)
2187
+		}
2188
+	} elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir)
2107 2189
 	{
2108 2190
 		unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']);
2109 2191
 		$context['file_tree'][strtr($modSettings['attachmentUploadDir'], array('\\' => '/'))] = array(
@@ -2153,8 +2235,8 @@  discard block
 block discarded – undo
2153 2235
 	);
2154 2236
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2155 2237
 	{
2156
-		if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes'))
2157
-			$context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array(
2238
+		if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes')) {
2239
+					$context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array(
2158 2240
 				'type' => 'dir_recursive',
2159 2241
 				'list_contents' => true,
2160 2242
 				'contents' => array(
@@ -2164,7 +2246,7 @@  discard block
 block discarded – undo
2164 2246
 					),
2165 2247
 				),
2166 2248
 			);
2167
-		else
2249
+		} else
2168 2250
 		{
2169 2251
 			$context['file_tree'][strtr($row['value'], array('\\' => '/'))] = array(
2170 2252
 				'type' => 'dir_recursive',
@@ -2181,28 +2263,33 @@  discard block
 block discarded – undo
2181 2263
 	$smcFunc['db_free_result']($request);
2182 2264
 
2183 2265
 	// If we're submitting then let's move on to another function to keep things cleaner..
2184
-	if (isset($_POST['action_changes']))
2185
-		return PackagePermissionsAction();
2266
+	if (isset($_POST['action_changes'])) {
2267
+			return PackagePermissionsAction();
2268
+	}
2186 2269
 
2187 2270
 	$context['look_for'] = array();
2188 2271
 	// Are we looking for a particular tree - normally an expansion?
2189
-	if (!empty($_REQUEST['find']))
2190
-		$context['look_for'][] = base64_decode($_REQUEST['find']);
2272
+	if (!empty($_REQUEST['find'])) {
2273
+			$context['look_for'][] = base64_decode($_REQUEST['find']);
2274
+	}
2191 2275
 	// Only that tree?
2192 2276
 	$context['only_find'] = isset($_GET['xml']) && !empty($_REQUEST['onlyfind']) ? $_REQUEST['onlyfind'] : '';
2193
-	if ($context['only_find'])
2194
-		$context['look_for'][] = $context['only_find'];
2277
+	if ($context['only_find']) {
2278
+			$context['look_for'][] = $context['only_find'];
2279
+	}
2195 2280
 
2196 2281
 	// Have we got a load of back-catalogue trees to expand from a submit etc?
2197 2282
 	if (!empty($_GET['back_look']))
2198 2283
 	{
2199 2284
 		$potententialTrees = $smcFunc['json_decode'](base64_decode($_GET['back_look']), true);
2200
-		foreach ($potententialTrees as $tree)
2201
-			$context['look_for'][] = $tree;
2285
+		foreach ($potententialTrees as $tree) {
2286
+					$context['look_for'][] = $tree;
2287
+		}
2202 2288
 	}
2203 2289
 	// ... maybe posted?
2204
-	if (!empty($_POST['back_look']))
2205
-		$context['only_find'] = array_merge($context['only_find'], $_POST['back_look']);
2290
+	if (!empty($_POST['back_look'])) {
2291
+			$context['only_find'] = array_merge($context['only_find'], $_POST['back_look']);
2292
+	}
2206 2293
 
2207 2294
 	$context['back_look_data'] = base64_encode($smcFunc['json_encode'](array_slice($context['look_for'], 0, 15)));
2208 2295
 
@@ -2241,9 +2328,9 @@  discard block
 block discarded – undo
2241 2328
 				'chmod' => @is_writable($path),
2242 2329
 				'perms' => @fileperms($path),
2243 2330
 			);
2331
+		} else {
2332
+					unset($context['file_tree'][$path]);
2244 2333
 		}
2245
-		else
2246
-			unset($context['file_tree'][$path]);
2247 2334
 	}
2248 2335
 
2249 2336
 	// Is this actually xml?
@@ -2267,22 +2354,25 @@  discard block
 block discarded – undo
2267 2354
 	global $context;
2268 2355
 
2269 2356
 	$isLikelyPath = false;
2270
-	foreach ($context['look_for'] as $possiblePath)
2271
-		if (substr($possiblePath, 0, strlen($path)) == $path)
2357
+	foreach ($context['look_for'] as $possiblePath) {
2358
+			if (substr($possiblePath, 0, strlen($path)) == $path)
2272 2359
 			$isLikelyPath = true;
2360
+	}
2273 2361
 
2274 2362
 	// Is this where we stop?
2275
-	if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath)
2276
-		return;
2277
-	elseif ($level > $context['default_level'] && !$isLikelyPath)
2278
-		return;
2363
+	if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath) {
2364
+			return;
2365
+	} elseif ($level > $context['default_level'] && !$isLikelyPath) {
2366
+			return;
2367
+	}
2279 2368
 
2280 2369
 	// Are we actually interested in saving this data?
2281 2370
 	$save_data = empty($context['only_find']) || $context['only_find'] == $path;
2282 2371
 
2283 2372
 	// @todo Shouldn't happen - but better error message?
2284
-	if (!is_dir($path))
2285
-		fatal_lang_error('no_access', false);
2373
+	if (!is_dir($path)) {
2374
+			fatal_lang_error('no_access', false);
2375
+	}
2286 2376
 
2287 2377
 	// This is where we put stuff we've found for sorting.
2288 2378
 	$foundData = array(
@@ -2297,11 +2387,13 @@  discard block
 block discarded – undo
2297 2387
 		if (is_file($path . '/' . $entry))
2298 2388
 		{
2299 2389
 			// Are we listing PHP files in this directory?
2300
-			if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php')
2301
-				$foundData['files'][$entry] = true;
2390
+			if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php') {
2391
+							$foundData['files'][$entry] = true;
2392
+			}
2302 2393
 			// A file we were looking for.
2303
-			elseif ($save_data && isset($data['contents'][$entry]))
2304
-				$foundData['files'][$entry] = true;
2394
+			elseif ($save_data && isset($data['contents'][$entry])) {
2395
+							$foundData['files'][$entry] = true;
2396
+			}
2305 2397
 		}
2306 2398
 		// It's a directory - we're interested one way or another, probably...
2307 2399
 		elseif ($entry != '.' && $entry != '..')
@@ -2309,32 +2401,36 @@  discard block
 block discarded – undo
2309 2401
 			// Going further?
2310 2402
 			if ((!empty($data['type']) && $data['type'] == 'dir_recursive') || (isset($data['contents'][$entry]) && (!empty($data['contents'][$entry]['list_contents']) || (!empty($data['contents'][$entry]['type']) && $data['contents'][$entry]['type'] == 'dir_recursive'))))
2311 2403
 			{
2312
-				if (!isset($data['contents'][$entry]))
2313
-					$foundData['folders'][$entry] = 'dir_recursive';
2314
-				else
2315
-					$foundData['folders'][$entry] = true;
2404
+				if (!isset($data['contents'][$entry])) {
2405
+									$foundData['folders'][$entry] = 'dir_recursive';
2406
+				} else {
2407
+									$foundData['folders'][$entry] = true;
2408
+				}
2316 2409
 
2317 2410
 				// If this wasn't expected inherit the recusiveness...
2318
-				if (!isset($data['contents'][$entry]))
2319
-					// We need to do this as we will be going all recursive.
2411
+				if (!isset($data['contents'][$entry])) {
2412
+									// We need to do this as we will be going all recursive.
2320 2413
 					$data['contents'][$entry] = array(
2321 2414
 						'type' => 'dir_recursive',
2322 2415
 					);
2416
+				}
2323 2417
 
2324 2418
 				// Actually do the recursive stuff...
2325 2419
 				fetchPerms__recursive($path . '/' . $entry, $data['contents'][$entry], $level + 1);
2326 2420
 			}
2327 2421
 			// Maybe it is a folder we are not descending into.
2328
-			elseif (isset($data['contents'][$entry]))
2329
-				$foundData['folders'][$entry] = true;
2422
+			elseif (isset($data['contents'][$entry])) {
2423
+							$foundData['folders'][$entry] = true;
2424
+			}
2330 2425
 			// Otherwise we stop here.
2331 2426
 		}
2332 2427
 	}
2333 2428
 	closedir($dh);
2334 2429
 
2335 2430
 	// Nothing to see here?
2336
-	if (!$save_data)
2337
-		return;
2431
+	if (!$save_data) {
2432
+			return;
2433
+	}
2338 2434
 
2339 2435
 	// Now actually add the data, starting with the folders.
2340 2436
 	ksort($foundData['folders']);
@@ -2346,8 +2442,9 @@  discard block
 block discarded – undo
2346 2442
 				'perms' => @fileperms($path . '/' . $folder),
2347 2443
 			),
2348 2444
 		);
2349
-		if ($type !== true)
2350
-			$additional_data['type'] = $type;
2445
+		if ($type !== true) {
2446
+					$additional_data['type'] = $type;
2447
+		}
2351 2448
 
2352 2449
 		// If there's an offset ignore any folders in XML mode.
2353 2450
 		if (isset($_GET['xml']) && $context['file_offset'] == 0)
@@ -2366,13 +2463,13 @@  discard block
 block discarded – undo
2366 2463
 				),
2367 2464
 				'value' => $folder,
2368 2465
 			);
2369
-		}
2370
-		elseif (!isset($_GET['xml']))
2466
+		} elseif (!isset($_GET['xml']))
2371 2467
 		{
2372
-			if (isset($data['contents'][$folder]))
2373
-				$data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data);
2374
-			else
2375
-				$data['contents'][$folder] = $additional_data;
2468
+			if (isset($data['contents'][$folder])) {
2469
+							$data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data);
2470
+			} else {
2471
+							$data['contents'][$folder] = $additional_data;
2472
+			}
2376 2473
 		}
2377 2474
 	}
2378 2475
 
@@ -2384,11 +2481,13 @@  discard block
 block discarded – undo
2384 2481
 		$counter++;
2385 2482
 
2386 2483
 		// Have we reached our offset?
2387
-		if ($context['file_offset'] > $counter)
2388
-			continue;
2484
+		if ($context['file_offset'] > $counter) {
2485
+					continue;
2486
+		}
2389 2487
 		// Gone too far?
2390
-		if ($counter > ($context['file_offset'] + $context['file_limit']))
2391
-			continue;
2488
+		if ($counter > ($context['file_offset'] + $context['file_limit'])) {
2489
+					continue;
2490
+		}
2392 2491
 
2393 2492
 		$additional_data = array(
2394 2493
 			'perms' => array(
@@ -2414,13 +2513,13 @@  discard block
 block discarded – undo
2414 2513
 				),
2415 2514
 				'value' => $file,
2416 2515
 			);
2417
-		}
2418
-		elseif ($counter != ($context['file_offset'] + $context['file_limit']))
2516
+		} elseif ($counter != ($context['file_offset'] + $context['file_limit']))
2419 2517
 		{
2420
-			if (isset($data['contents'][$file]))
2421
-				$data['contents'][$file] = array_merge($data['contents'][$file], $additional_data);
2422
-			else
2423
-				$data['contents'][$file] = $additional_data;
2518
+			if (isset($data['contents'][$file])) {
2519
+							$data['contents'][$file] = array_merge($data['contents'][$file], $additional_data);
2520
+			} else {
2521
+							$data['contents'][$file] = $additional_data;
2522
+			}
2424 2523
 		}
2425 2524
 	}
2426 2525
 }
@@ -2442,8 +2541,9 @@  discard block
 block discarded – undo
2442 2541
 	$context['back_look_data'] = isset($_POST['back_look']) ? $_POST['back_look'] : array();
2443 2542
 
2444 2543
 	// Skipping use of FTP?
2445
-	if (empty($package_ftp))
2446
-		$context['skip_ftp'] = true;
2544
+	if (empty($package_ftp)) {
2545
+			$context['skip_ftp'] = true;
2546
+	}
2447 2547
 
2448 2548
 	// We'll start off in a good place, security. Make sure that if we're dealing with individual files that they seem in the right place.
2449 2549
 	if ($context['method'] == 'individual')
@@ -2453,8 +2553,9 @@  discard block
 block discarded – undo
2453 2553
 		$context['custom_value'] = (int) $_POST['custom_value'];
2454 2554
 
2455 2555
 		// Continuing?
2456
-		if (isset($_POST['toProcess']))
2457
-			$_POST['permStatus'] = $smcFunc['json_decode'](base64_decode($_POST['toProcess']), true);
2556
+		if (isset($_POST['toProcess'])) {
2557
+					$_POST['permStatus'] = $smcFunc['json_decode'](base64_decode($_POST['toProcess']), true);
2558
+		}
2458 2559
 
2459 2560
 		if (isset($_POST['permStatus']))
2460 2561
 		{
@@ -2463,22 +2564,27 @@  discard block
 block discarded – undo
2463 2564
 			foreach ($_POST['permStatus'] as $path => $status)
2464 2565
 			{
2465 2566
 				// Nothing to see here?
2466
-				if ($status == 'no_change')
2467
-					continue;
2567
+				if ($status == 'no_change') {
2568
+									continue;
2569
+				}
2468 2570
 				$legal = false;
2469
-				foreach ($legal_roots as $root)
2470
-					if (substr($path, 0, strlen($root)) == $root)
2571
+				foreach ($legal_roots as $root) {
2572
+									if (substr($path, 0, strlen($root)) == $root)
2471 2573
 						$legal = true;
2574
+				}
2472 2575
 
2473
-				if (!$legal)
2474
-					continue;
2576
+				if (!$legal) {
2577
+									continue;
2578
+				}
2475 2579
 
2476 2580
 				// Check it exists.
2477
-				if (!file_exists($path))
2478
-					continue;
2581
+				if (!file_exists($path)) {
2582
+									continue;
2583
+				}
2479 2584
 
2480
-				if ($status == 'custom')
2481
-					$validate_custom = true;
2585
+				if ($status == 'custom') {
2586
+									$validate_custom = true;
2587
+				}
2482 2588
 
2483 2589
 				// Now add it.
2484 2590
 				$context['to_process'][$path] = $status;
@@ -2488,17 +2594,20 @@  discard block
 block discarded – undo
2488 2594
 			// Make sure the chmod status is valid?
2489 2595
 			if ($validate_custom)
2490 2596
 			{
2491
-				if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false)
2492
-					fatal_error($txt['chmod_value_invalid']);
2597
+				if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false) {
2598
+									fatal_error($txt['chmod_value_invalid']);
2599
+				}
2493 2600
 			}
2494 2601
 
2495 2602
 			// Nothing to do?
2496
-			if (empty($context['to_process']))
2497
-				redirectexit('action=admin;area=packages;sa=perms' . (!empty($context['back_look_data']) ? ';back_look=' . base64_encode($smcFunc['json_encode']($context['back_look_data'])) : '') . ';' . $context['session_var'] . '=' . $context['session_id']);
2603
+			if (empty($context['to_process'])) {
2604
+							redirectexit('action=admin;area=packages;sa=perms' . (!empty($context['back_look_data']) ? ';back_look=' . base64_encode($smcFunc['json_encode']($context['back_look_data'])) : '') . ';' . $context['session_var'] . '=' . $context['session_id']);
2605
+			}
2498 2606
 		}
2499 2607
 		// Should never get here,
2500
-		else
2501
-			fatal_lang_error('no_access', false);
2608
+		else {
2609
+					fatal_lang_error('no_access', false);
2610
+		}
2502 2611
 
2503 2612
 		// Setup the custom value.
2504 2613
 		$custom_value = octdec('0' . $context['custom_value']);
@@ -2506,18 +2615,18 @@  discard block
 block discarded – undo
2506 2615
 		// Start processing items.
2507 2616
 		foreach ($context['to_process'] as $path => $status)
2508 2617
 		{
2509
-			if (in_array($status, array('execute', 'writable', 'read')))
2510
-				package_chmod($path, $status);
2511
-			elseif ($status == 'custom' && !empty($custom_value))
2618
+			if (in_array($status, array('execute', 'writable', 'read'))) {
2619
+							package_chmod($path, $status);
2620
+			} elseif ($status == 'custom' && !empty($custom_value))
2512 2621
 			{
2513 2622
 				// Use FTP if we have it.
2514 2623
 				if (!empty($package_ftp) && !empty($_SESSION['pack_ftp']))
2515 2624
 				{
2516 2625
 					$ftp_file = strtr($path, array($_SESSION['pack_ftp']['root'] => ''));
2517 2626
 					$package_ftp->chmod($ftp_file, $custom_value);
2627
+				} else {
2628
+									smf_chmod($path, $custom_value);
2518 2629
 				}
2519
-				else
2520
-					smf_chmod($path, $custom_value);
2521 2630
 			}
2522 2631
 
2523 2632
 			// This fish is fried...
@@ -2601,23 +2710,27 @@  discard block
 block discarded – undo
2601 2710
 			{
2602 2711
 				global $context;
2603 2712
 
2604
-				if (!empty($data['writable_on']))
2605
-					if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive')
2713
+				if (!empty($data['writable_on'])) {
2714
+									if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive')
2606 2715
 						$context['special_files'][$path] = 1;
2716
+				}
2607 2717
 
2608
-				if (!empty($data['contents']))
2609
-					foreach ($data['contents'] as $name => $contents)
2718
+				if (!empty($data['contents'])) {
2719
+									foreach ($data['contents'] as $name => $contents)
2610 2720
 						build_special_files__recursive($path . '/' . $name, $contents);
2721
+				}
2611 2722
 			}
2612 2723
 
2613
-			foreach ($context['file_tree'] as $path => $data)
2614
-				build_special_files__recursive($path, $data);
2724
+			foreach ($context['file_tree'] as $path => $data) {
2725
+							build_special_files__recursive($path, $data);
2726
+			}
2615 2727
 		}
2616 2728
 		// Free doesn't need special files.
2617
-		elseif ($context['predefined_type'] == 'free')
2618
-			$context['special_files'] = array();
2619
-		else
2620
-			$context['special_files'] = $smcFunc['json_decode'](base64_decode($_POST['specialFiles']), true);
2729
+		elseif ($context['predefined_type'] == 'free') {
2730
+					$context['special_files'] = array();
2731
+		} else {
2732
+					$context['special_files'] = $smcFunc['json_decode'](base64_decode($_POST['specialFiles']), true);
2733
+		}
2621 2734
 
2622 2735
 		// Now we definitely know where we are, we need to go through again doing the chmod!
2623 2736
 		foreach ($context['directory_list'] as $path => $dummy)
Please login to merge, or discard this patch.
Sources/RepairBoards.php 2 patches
Braces   +119 added lines, -85 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Finds or repairs errors in the database to fix possible problems.
@@ -50,8 +51,9 @@  discard block
 block discarded – undo
50 51
 	);
51 52
 
52 53
 	// Start displaying errors without fixing them.
53
-	if (isset($_GET['fixErrors']))
54
-		checkSession('get');
54
+	if (isset($_GET['fixErrors'])) {
55
+			checkSession('get');
56
+	}
55 57
 
56 58
 	// Will want this.
57 59
 	loadForumTests();
@@ -69,11 +71,11 @@  discard block
 block discarded – undo
69 71
 			$_SESSION['repairboards_to_fix'] = $context['to_fix'];
70 72
 			$_SESSION['repairboards_to_fix2'] = null;
71 73
 
72
-			if (empty($context['repair_errors']))
73
-				$context['repair_errors'][] = '???';
74
+			if (empty($context['repair_errors'])) {
75
+							$context['repair_errors'][] = '???';
76
+			}
74 77
 		}
75
-	}
76
-	else
78
+	} else
77 79
 	{
78 80
 		$context['error_search'] = false;
79 81
 		$context['to_fix'] = isset($_SESSION['repairboards_to_fix']) ? $_SESSION['repairboards_to_fix'] : array();
@@ -120,16 +122,19 @@  discard block
 block discarded – undo
120 122
 
121 123
 	// More time, I need more time!
122 124
 	@set_time_limit(600);
123
-	if (function_exists('apache_reset_timeout'))
124
-		@apache_reset_timeout();
125
+	if (function_exists('apache_reset_timeout')) {
126
+			@apache_reset_timeout();
127
+	}
125 128
 
126 129
 	// Errr, wait.  How much time has this taken already?
127
-	if (!$force && (time() - $time_start) < 3)
128
-		return;
130
+	if (!$force && (time() - $time_start) < 3) {
131
+			return;
132
+	}
129 133
 
130 134
 	// Restore the query cache if interested.
131
-	if (!empty($db_temp_cache))
132
-		$db_cache = $db_temp_cache;
135
+	if (!empty($db_temp_cache)) {
136
+			$db_cache = $db_temp_cache;
137
+	}
133 138
 
134 139
 	$context['continue_get_data'] = '?action=admin;area=repairboards' . (isset($_GET['fixErrors']) ? ';fixErrors' : '') . ';step=' . $_GET['step'] . ';substep=' . $_GET['substep'] . ';' . $context['session_var'] . '=' . $context['session_id'];
135 140
 	$context['page_title'] = $txt['not_done_title'];
@@ -138,10 +143,11 @@  discard block
 block discarded – undo
138 143
 	$context['sub_template'] = 'not_done';
139 144
 
140 145
 	// Change these two if more steps are added!
141
-	if (empty($max_substep))
142
-		$context['continue_percent'] = round(($_GET['step'] * 100) / $context['total_steps']);
143
-	else
144
-		$context['continue_percent'] = round((($_GET['step'] + ($_GET['substep'] / $max_substep)) * 100) / $context['total_steps']);
146
+	if (empty($max_substep)) {
147
+			$context['continue_percent'] = round(($_GET['step'] * 100) / $context['total_steps']);
148
+	} else {
149
+			$context['continue_percent'] = round((($_GET['step'] + ($_GET['substep'] / $max_substep)) * 100) / $context['total_steps']);
150
+	}
145 151
 
146 152
 	// Never more than 100%!
147 153
 	$context['continue_percent'] = min($context['continue_percent'], 100);
@@ -609,8 +615,9 @@  discard block
 block discarded – undo
609 615
 				$row['myid_last_msg'] = (int) $row['myid_last_msg'];
610 616
 
611 617
 				// Not really a problem?
612
-				if ($row['id_first_msg'] == $row['myid_first_msg'] && $row['id_last_msg'] == $row['myid_last_msg'] && $row['approved'] == $row['firstmsg_approved'])
613
-					return false;
618
+				if ($row['id_first_msg'] == $row['myid_first_msg'] && $row['id_last_msg'] == $row['myid_last_msg'] && $row['approved'] == $row['firstmsg_approved']) {
619
+									return false;
620
+				}
614 621
 
615 622
 				$memberStartedID = (int) getMsgMemberID($row['myid_first_msg']);
616 623
 				$memberUpdatedID = (int) getMsgMemberID($row['myid_last_msg']);
@@ -634,15 +641,19 @@  discard block
 block discarded – undo
634 641
 			'message_function' => function ($row) use ($txt, &$context)
635 642
 			{
636 643
 				// A pretend error?
637
-				if ($row['id_first_msg'] == $row['myid_first_msg'] && $row['id_last_msg'] == $row['myid_last_msg'] && $row['approved'] == $row['firstmsg_approved'])
638
-					return false;
644
+				if ($row['id_first_msg'] == $row['myid_first_msg'] && $row['id_last_msg'] == $row['myid_last_msg'] && $row['approved'] == $row['firstmsg_approved']) {
645
+									return false;
646
+				}
639 647
 
640
-				if ($row['id_first_msg'] != $row['myid_first_msg'])
641
-					$context['repair_errors'][] = sprintf($txt['repair_stats_topics_1'], $row['id_topic'], $row['id_first_msg']);
642
-				if ($row['id_last_msg'] != $row['myid_last_msg'])
643
-					$context['repair_errors'][] = sprintf($txt['repair_stats_topics_2'], $row['id_topic'], $row['id_last_msg']);
644
-				if ($row['approved'] != $row['firstmsg_approved'])
645
-					$context['repair_errors'][] = sprintf($txt['repair_stats_topics_5'], $row['id_topic']);
648
+				if ($row['id_first_msg'] != $row['myid_first_msg']) {
649
+									$context['repair_errors'][] = sprintf($txt['repair_stats_topics_1'], $row['id_topic'], $row['id_first_msg']);
650
+				}
651
+				if ($row['id_last_msg'] != $row['myid_last_msg']) {
652
+									$context['repair_errors'][] = sprintf($txt['repair_stats_topics_2'], $row['id_topic'], $row['id_last_msg']);
653
+				}
654
+				if ($row['approved'] != $row['firstmsg_approved']) {
655
+									$context['repair_errors'][] = sprintf($txt['repair_stats_topics_5'], $row['id_topic']);
656
+				}
646 657
 
647 658
 				return true;
648 659
 			},
@@ -671,8 +682,9 @@  discard block
 block discarded – undo
671 682
 				$row['my_num_replies'] = (int) $row['my_num_replies'];
672 683
 
673 684
 				// Not really a problem?
674
-				if ($row['my_num_replies'] == $row['num_replies'])
675
-					return false;
685
+				if ($row['my_num_replies'] == $row['num_replies']) {
686
+									return false;
687
+				}
676 688
 
677 689
 				$smcFunc['db_query']('', '
678 690
 					UPDATE {db_prefix}topics
@@ -689,11 +701,13 @@  discard block
 block discarded – undo
689 701
 				global $txt, $context;
690 702
 
691 703
 				// Just joking?
692
-				if ($row['my_num_replies'] == $row['num_replies'])
693
-					return false;
704
+				if ($row['my_num_replies'] == $row['num_replies']) {
705
+									return false;
706
+				}
694 707
 
695
-				if ($row['num_replies'] != $row['my_num_replies'])
696
-					$context['repair_errors'][] = sprintf($txt['repair_stats_topics_3'], $row['id_topic'], $row['num_replies']);
708
+				if ($row['num_replies'] != $row['my_num_replies']) {
709
+									$context['repair_errors'][] = sprintf($txt['repair_stats_topics_3'], $row['id_topic'], $row['num_replies']);
710
+				}
697 711
 
698 712
 				return true;
699 713
 			},
@@ -1262,8 +1276,9 @@  discard block
 block discarded – undo
1262 1276
 				$inserts = array();
1263 1277
 				while ($row = $smcFunc['db_fetch_assoc']($result))
1264 1278
 				{
1265
-					foreach (text2words($row['subject']) as $word)
1266
-						$inserts[] = array($word, $row['id_topic']);
1279
+					foreach (text2words($row['subject']) as $word) {
1280
+											$inserts[] = array($word, $row['id_topic']);
1281
+					}
1267 1282
 					if (count($inserts) > 500)
1268 1283
 					{
1269 1284
 						$smcFunc['db_insert']('ignore',
@@ -1276,13 +1291,14 @@  discard block
 block discarded – undo
1276 1291
 					}
1277 1292
 				}
1278 1293
 
1279
-				if (!empty($inserts))
1280
-					$smcFunc['db_insert']('ignore',
1294
+				if (!empty($inserts)) {
1295
+									$smcFunc['db_insert']('ignore',
1281 1296
 						'{db_prefix}log_search_subjects',
1282 1297
 						array('word' => 'string', 'id_topic' => 'int'),
1283 1298
 						$inserts,
1284 1299
 						array('word', 'id_topic')
1285 1300
 					);
1301
+				}
1286 1302
 			},
1287 1303
 			'message_function' => function ($row)
1288 1304
 			{
@@ -1541,8 +1557,9 @@  discard block
 block discarded – undo
1541 1557
 		$current_step++;
1542 1558
 
1543 1559
 		// Already done this?
1544
-		if ($_GET['step'] > $current_step)
1545
-			continue;
1560
+		if ($_GET['step'] > $current_step) {
1561
+					continue;
1562
+		}
1546 1563
 
1547 1564
 		// If we're fixing it but it ain't broke why try?
1548 1565
 		if ($do_fix && !in_array($error_type, $to_fix))
@@ -1571,14 +1588,16 @@  discard block
 block discarded – undo
1571 1588
 		while (!$done)
1572 1589
 		{
1573 1590
 			// Make sure there's at least one ID to test.
1574
-			if (isset($test['substeps']) && empty($step_max))
1575
-				break;
1591
+			if (isset($test['substeps']) && empty($step_max)) {
1592
+							break;
1593
+			}
1576 1594
 
1577 1595
 			// What is the testing query (Changes if we are testing or fixing)
1578
-			if (!$do_fix)
1579
-				$test_query = 'check_query';
1580
-			else
1581
-				$test_query = isset($test['fix_query']) ? 'fix_query' : 'check_query';
1596
+			if (!$do_fix) {
1597
+							$test_query = 'check_query';
1598
+			} else {
1599
+							$test_query = isset($test['fix_query']) ? 'fix_query' : 'check_query';
1600
+			}
1582 1601
 
1583 1602
 			// Do the test...
1584 1603
 			$request = $smcFunc['db_query']('',
@@ -1588,10 +1607,11 @@  discard block
 block discarded – undo
1588 1607
 			);
1589 1608
 
1590 1609
 			// Does it need a fix?
1591
-			if (!empty($test['check_type']) && $test['check_type'] == 'count')
1592
-				list ($needs_fix) = $smcFunc['db_fetch_row']($request);
1593
-			else
1594
-				$needs_fix = $smcFunc['db_num_rows']($request);
1610
+			if (!empty($test['check_type']) && $test['check_type'] == 'count') {
1611
+							list ($needs_fix) = $smcFunc['db_fetch_row']($request);
1612
+			} else {
1613
+							$needs_fix = $smcFunc['db_num_rows']($request);
1614
+			}
1595 1615
 
1596 1616
 			$total_queries++;
1597 1617
 
@@ -1603,8 +1623,9 @@  discard block
 block discarded – undo
1603 1623
 					// Assume need to fix.
1604 1624
 					$found_errors = true;
1605 1625
 
1606
-					if (isset($test['message']))
1607
-						$context['repair_errors'][] = $txt[$test['message']];
1626
+					if (isset($test['message'])) {
1627
+											$context['repair_errors'][] = $txt[$test['message']];
1628
+					}
1608 1629
 
1609 1630
 					// One per row!
1610 1631
 					elseif (isset($test['messages']))
@@ -1614,10 +1635,11 @@  discard block
 block discarded – undo
1614 1635
 							$variables = $test['messages'];
1615 1636
 							foreach ($variables as $k => $v)
1616 1637
 							{
1617
-								if ($k == 0 && isset($txt[$v]))
1618
-									$variables[$k] = $txt[$v];
1619
-								elseif ($k > 0 && isset($row[$v]))
1620
-									$variables[$k] = $row[$v];
1638
+								if ($k == 0 && isset($txt[$v])) {
1639
+																	$variables[$k] = $txt[$v];
1640
+								} elseif ($k > 0 && isset($row[$v])) {
1641
+																	$variables[$k] = $row[$v];
1642
+								}
1621 1643
 							}
1622 1644
 							$context['repair_errors'][] = call_user_func_array('sprintf', $variables);
1623 1645
 						}
@@ -1628,13 +1650,15 @@  discard block
 block discarded – undo
1628 1650
 					{
1629 1651
 						// Find out if there are actually errors.
1630 1652
 						$found_errors = false;
1631
-						while ($row = $smcFunc['db_fetch_assoc']($request))
1632
-							$found_errors |= $test['message_function']($row);
1653
+						while ($row = $smcFunc['db_fetch_assoc']($request)) {
1654
+													$found_errors |= $test['message_function']($row);
1655
+						}
1633 1656
 					}
1634 1657
 
1635 1658
 					// Actually have something to fix?
1636
-					if ($found_errors)
1637
-						$to_fix[] = $error_type;
1659
+					if ($found_errors) {
1660
+											$to_fix[] = $error_type;
1661
+					}
1638 1662
 				}
1639 1663
 
1640 1664
 				// We want to fix, we need to fix - so work out what exactly to do!
@@ -1644,8 +1668,9 @@  discard block
 block discarded – undo
1644 1668
 					if (isset($test['fix_collect']))
1645 1669
 					{
1646 1670
 						$ids = array();
1647
-						while ($row = $smcFunc['db_fetch_assoc']($request))
1648
-							$ids[] = $row[$test['fix_collect']['index']];
1671
+						while ($row = $smcFunc['db_fetch_assoc']($request)) {
1672
+													$ids[] = $row[$test['fix_collect']['index']];
1673
+						}
1649 1674
 						if (!empty($ids))
1650 1675
 						{
1651 1676
 							// Fix it!
@@ -1654,30 +1679,34 @@  discard block
 block discarded – undo
1654 1679
 					}
1655 1680
 
1656 1681
 					// Simply executing a fix it query?
1657
-					elseif (isset($test['fix_it_query']))
1658
-						$smcFunc['db_query']('',
1682
+					elseif (isset($test['fix_it_query'])) {
1683
+											$smcFunc['db_query']('',
1659 1684
 							$test['fix_it_query'],
1660 1685
 							array(
1661 1686
 							)
1662 1687
 						);
1688
+					}
1663 1689
 
1664 1690
 					// Do we have some processing to do?
1665 1691
 					elseif (isset($test['fix_processing']))
1666 1692
 					{
1667
-						while ($row = $smcFunc['db_fetch_assoc']($request))
1668
-							$test['fix_processing']($row);
1693
+						while ($row = $smcFunc['db_fetch_assoc']($request)) {
1694
+													$test['fix_processing']($row);
1695
+						}
1669 1696
 					}
1670 1697
 
1671 1698
 					// What about the full set of processing?
1672
-					elseif (isset($test['fix_full_processing']))
1673
-						$test['fix_full_processing']($request);
1699
+					elseif (isset($test['fix_full_processing'])) {
1700
+											$test['fix_full_processing']($request);
1701
+					}
1674 1702
 
1675 1703
 					// Do we have other things we need to fix as a result?
1676 1704
 					if (!empty($test['force_fix']))
1677 1705
 					{
1678
-						foreach ($test['force_fix'] as $item)
1679
-							if (!in_array($item, $to_fix))
1706
+						foreach ($test['force_fix'] as $item) {
1707
+													if (!in_array($item, $to_fix))
1680 1708
 								$to_fix[] = $item;
1709
+						}
1681 1710
 					}
1682 1711
 				}
1683 1712
 			}
@@ -1695,16 +1724,17 @@  discard block
 block discarded – undo
1695 1724
 				if ($_GET['substep'] <= $step_max)
1696 1725
 				{
1697 1726
 					pauseRepairProcess($to_fix, $error_type, $step_max);
1727
+				} else {
1728
+									$done = true;
1698 1729
 				}
1699
-				else
1700
-					$done = true;
1730
+			} else {
1731
+							$done = true;
1701 1732
 			}
1702
-			else
1703
-				$done = true;
1704 1733
 
1705 1734
 			// Don't allow more than 1000 queries at a time.
1706
-			if ($total_queries >= 1000)
1707
-				pauseRepairProcess($to_fix, $error_type, $step_max, true);
1735
+			if ($total_queries >= 1000) {
1736
+							pauseRepairProcess($to_fix, $error_type, $step_max, true);
1737
+			}
1708 1738
 		}
1709 1739
 
1710 1740
 		// Keep going.
@@ -1717,8 +1747,9 @@  discard block
 block discarded – undo
1717 1747
 		if ($do_fix)
1718 1748
 		{
1719 1749
 			$key = array_search($error_type, $to_fix);
1720
-			if ($key !== false && isset($to_fix[$key]))
1721
-				unset($to_fix[$key]);
1750
+			if ($key !== false && isset($to_fix[$key])) {
1751
+							unset($to_fix[$key]);
1752
+			}
1722 1753
 		}
1723 1754
 
1724 1755
 		// Are we done?
@@ -1741,10 +1772,11 @@  discard block
 block discarded – undo
1741 1772
 	static $createOnce = false;
1742 1773
 
1743 1774
 	// Have we already created it?
1744
-	if ($createOnce)
1745
-		return;
1746
-	else
1747
-		$createOnce = true;
1775
+	if ($createOnce) {
1776
+			return;
1777
+	} else {
1778
+			$createOnce = true;
1779
+	}
1748 1780
 
1749 1781
 	// Back to the forum's default language.
1750 1782
 	loadLanguage('Admin', $language);
@@ -1759,8 +1791,9 @@  discard block
 block discarded – undo
1759 1791
 			'cat_name' => $txt['salvaged_category_name'],
1760 1792
 		)
1761 1793
 	);
1762
-	if ($smcFunc['db_num_rows']($result) != 0)
1763
-		list ($salvageCatID) = $smcFunc['db_fetch_row']($result);
1794
+	if ($smcFunc['db_num_rows']($result) != 0) {
1795
+			list ($salvageCatID) = $smcFunc['db_fetch_row']($result);
1796
+	}
1764 1797
 	$smcFunc['db_free_result']($result);
1765 1798
 
1766 1799
 	if (empty($salvageCatID))
@@ -1792,8 +1825,9 @@  discard block
 block discarded – undo
1792 1825
 			'board_name' => $txt['salvaged_board_name'],
1793 1826
 		)
1794 1827
 	);
1795
-	if ($smcFunc['db_num_rows']($result) != 0)
1796
-		list ($salvageBoardID) = $smcFunc['db_fetch_row']($result);
1828
+	if ($smcFunc['db_num_rows']($result) != 0) {
1829
+			list ($salvageBoardID) = $smcFunc['db_fetch_row']($result);
1830
+	}
1797 1831
 	$smcFunc['db_free_result']($result);
1798 1832
 
1799 1833
 	if (empty($salvageBoardID))
Please login to merge, or discard this patch.
Spacing   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -232,7 +232,7 @@  discard block
 block discarded – undo
232 232
 					LEFT JOIN {db_prefix}topics AS t ON (t.id_topic = m.id_topic)
233 233
 				WHERE t.id_topic IS NULL
234 234
 				GROUP BY m.id_topic, m.id_board',
235
-			'fix_processing' => function ($row) use ($smcFunc)
235
+			'fix_processing' => function($row) use ($smcFunc)
236 236
 			{
237 237
 				global $salvageBoardID;
238 238
 
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
 			// Remove all topics that have zero messages in the messages table.
319 319
 			'fix_collect' => array(
320 320
 				'index' => 'id_topic',
321
-				'process' => function ($topics) use ($smcFunc)
321
+				'process' => function($topics) use ($smcFunc)
322 322
 				{
323 323
 					$smcFunc['db_query']('', '
324 324
 						DELETE FROM {db_prefix}topics
@@ -355,7 +355,7 @@  discard block
 block discarded – undo
355 355
 				  AND p.id_poll IS NULL
356 356
 				GROUP BY o.id_poll, t.id_topic, t.id_board, t.id_member_started, m.member_name
357 357
 				  ',
358
-			'fix_processing' => function ($row) use ($smcFunc, $txt)
358
+			'fix_processing' => function($row) use ($smcFunc, $txt)
359 359
 			{
360 360
 				global $salvageBoardID;
361 361
 
@@ -366,7 +366,7 @@  discard block
 block discarded – undo
366 366
 				{
367 367
 					// Only if we don't have a reasonable idea of where to put it.
368 368
 					createSalvageArea();
369
-					$row['id_board'] = (int)$salvageBoardID;
369
+					$row['id_board'] = (int) $salvageBoardID;
370 370
 				}
371 371
 
372 372
 				if (empty($row['id_topic']))
@@ -492,7 +492,7 @@  discard block
 block discarded – undo
492 492
 					LEFT JOIN {db_prefix}topics AS t ON (t.id_poll = p.id_poll)
493 493
 				WHERE p.id_poll BETWEEN {STEP_LOW} AND {STEP_HIGH}
494 494
 					AND t.id_poll IS NULL',
495
-			'fix_processing' => function ($row) use ($smcFunc, $txt)
495
+			'fix_processing' => function($row) use ($smcFunc, $txt)
496 496
 			{
497 497
 				global $salvageBoardID;
498 498
 
@@ -603,7 +603,7 @@  discard block
 block discarded – undo
603 603
 				WHERE t.id_topic BETWEEN {STEP_LOW} AND {STEP_HIGH}
604 604
 				GROUP BY t.id_topic, t.id_first_msg, t.id_last_msg, t.approved, mf.approved
605 605
 				ORDER BY t.id_topic',
606
-			'fix_processing' => function ($row) use ($smcFunc)
606
+			'fix_processing' => function($row) use ($smcFunc)
607 607
 			{
608 608
 				$row['firstmsg_approved'] = (int) $row['firstmsg_approved'];
609 609
 				$row['myid_first_msg'] = (int) $row['myid_first_msg'];
@@ -632,7 +632,7 @@  discard block
 block discarded – undo
632 632
 					)
633 633
 				);
634 634
 			},
635
-			'message_function' => function ($row) use ($txt, &$context)
635
+			'message_function' => function($row) use ($txt, &$context)
636 636
 			{
637 637
 				// A pretend error?
638 638
 				if ($row['id_first_msg'] == $row['myid_first_msg'] && $row['id_last_msg'] == $row['myid_last_msg'] && $row['approved'] == $row['firstmsg_approved'])
@@ -666,7 +666,7 @@  discard block
 block discarded – undo
666 666
 				WHERE t.id_topic BETWEEN {STEP_LOW} AND {STEP_HIGH}
667 667
 				GROUP BY t.id_topic, t.num_replies, mf.approved
668 668
 				ORDER BY t.id_topic',
669
-			'fix_processing' => function ($row)
669
+			'fix_processing' => function($row)
670 670
 			{
671 671
 				global $smcFunc;
672 672
 				$row['my_num_replies'] = (int) $row['my_num_replies'];
@@ -685,7 +685,7 @@  discard block
 block discarded – undo
685 685
 					)
686 686
 				);
687 687
 			},
688
-			'message_function' => function ($row)
688
+			'message_function' => function($row)
689 689
 			{
690 690
 				global $txt, $context;
691 691
 
@@ -716,7 +716,7 @@  discard block
 block discarded – undo
716 716
 				GROUP BY t.id_topic, t.unapproved_posts
717 717
 				HAVING unapproved_posts != COUNT(mu.id_msg)
718 718
 				ORDER BY t.id_topic',
719
-			'fix_processing' => function ($row)
719
+			'fix_processing' => function($row)
720 720
 			{
721 721
 				global $smcFunc;
722 722
 				$row['my_unapproved_posts'] = (int) $row['my_unapproved_posts'];
@@ -756,7 +756,7 @@  discard block
 block discarded – undo
756 756
 				WHERE b.id_board IS NULL
757 757
 					AND t.id_topic BETWEEN {STEP_LOW} AND {STEP_HIGH}
758 758
 				GROUP BY t.id_board',
759
-			'fix_processing' => function ($row)
759
+			'fix_processing' => function($row)
760 760
 			{
761 761
 				global $smcFunc, $salvageCatID, $txt;
762 762
 				createSalvageArea();
@@ -803,7 +803,7 @@  discard block
 block discarded – undo
803 803
 				ORDER BY b.id_cat, b.id_board',
804 804
 			'fix_collect' => array(
805 805
 				'index' => 'id_cat',
806
-				'process' => function ($cats)
806
+				'process' => function($cats)
807 807
 				{
808 808
 					global $smcFunc, $salvageCatID;
809 809
 					createSalvageArea();
@@ -839,7 +839,7 @@  discard block
 block discarded – undo
839 839
 			// Last step-make sure all non-guest posters still exist.
840 840
 			'fix_collect' => array(
841 841
 				'index' => 'id_msg',
842
-				'process' => function ($msgs)
842
+				'process' => function($msgs)
843 843
 				{
844 844
 					global $smcFunc;
845 845
 					$smcFunc['db_query']('', '
@@ -866,7 +866,7 @@  discard block
 block discarded – undo
866 866
 				ORDER BY b.id_parent, b.id_board',
867 867
 			'fix_collect' => array(
868 868
 				'index' => 'id_parent',
869
-				'process' => function ($parents)
869
+				'process' => function($parents)
870 870
 				{
871 871
 					global $smcFunc, $salvageBoardID, $salvageCatID;
872 872
 					createSalvageArea();
@@ -900,7 +900,7 @@  discard block
 block discarded – undo
900 900
 					AND p.id_poll IS NULL',
901 901
 			'fix_collect' => array(
902 902
 				'index' => 'id_poll',
903
-				'process' => function ($polls)
903
+				'process' => function($polls)
904 904
 				{
905 905
 					global $smcFunc;
906 906
 					$smcFunc['db_query']('', '
@@ -932,7 +932,7 @@  discard block
 block discarded – undo
932 932
 				ORDER BY cal.id_topic',
933 933
 			'fix_collect' => array(
934 934
 				'index' => 'id_topic',
935
-				'process' => function ($events)
935
+				'process' => function($events)
936 936
 				{
937 937
 					global $smcFunc;
938 938
 					$smcFunc['db_query']('', '
@@ -962,7 +962,7 @@  discard block
 block discarded – undo
962 962
 					AND lt.id_member BETWEEN {STEP_LOW} AND {STEP_HIGH}',
963 963
 			'fix_collect' => array(
964 964
 				'index' => 'id_topic',
965
-				'process' => function ($topics)
965
+				'process' => function($topics)
966 966
 				{
967 967
 					global $smcFunc;
968 968
 					$smcFunc['db_query']('', '
@@ -992,7 +992,7 @@  discard block
 block discarded – undo
992 992
 				GROUP BY lt.id_member',
993 993
 			'fix_collect' => array(
994 994
 				'index' => 'id_member',
995
-				'process' => function ($members)
995
+				'process' => function($members)
996 996
 				{
997 997
 					global $smcFunc;
998 998
 					$smcFunc['db_query']('', '
@@ -1022,7 +1022,7 @@  discard block
 block discarded – undo
1022 1022
 				GROUP BY lb.id_board',
1023 1023
 			'fix_collect' => array(
1024 1024
 				'index' => 'id_board',
1025
-				'process' => function ($boards)
1025
+				'process' => function($boards)
1026 1026
 				{
1027 1027
 					global $smcFunc;
1028 1028
 					$smcFunc['db_query']('', '
@@ -1052,7 +1052,7 @@  discard block
 block discarded – undo
1052 1052
 				GROUP BY lb.id_member',
1053 1053
 			'fix_collect' => array(
1054 1054
 				'index' => 'id_member',
1055
-				'process' => function ($members) use ($smcFunc)
1055
+				'process' => function($members) use ($smcFunc)
1056 1056
 				{
1057 1057
 					$smcFunc['db_query']('', '
1058 1058
 						DELETE FROM {db_prefix}log_boards
@@ -1081,7 +1081,7 @@  discard block
 block discarded – undo
1081 1081
 				GROUP BY lmr.id_board',
1082 1082
 			'fix_collect' => array(
1083 1083
 				'index' => 'id_board',
1084
-				'process' => function ($boards) use ($smcFunc)
1084
+				'process' => function($boards) use ($smcFunc)
1085 1085
 				{
1086 1086
 					$smcFunc['db_query']('', '
1087 1087
 						DELETE FROM {db_prefix}log_mark_read
@@ -1110,7 +1110,7 @@  discard block
 block discarded – undo
1110 1110
 				GROUP BY lmr.id_member',
1111 1111
 			'fix_collect' => array(
1112 1112
 				'index' => 'id_member',
1113
-				'process' => function ($members) use ($smcFunc)
1113
+				'process' => function($members) use ($smcFunc)
1114 1114
 				{
1115 1115
 					$smcFunc['db_query']('', '
1116 1116
 						DELETE FROM {db_prefix}log_mark_read
@@ -1139,7 +1139,7 @@  discard block
 block discarded – undo
1139 1139
 				GROUP BY pmr.id_pm',
1140 1140
 			'fix_collect' => array(
1141 1141
 				'index' => 'id_pm',
1142
-				'process' => function ($pms) use ($smcFunc)
1142
+				'process' => function($pms) use ($smcFunc)
1143 1143
 				{
1144 1144
 					$smcFunc['db_query']('', '
1145 1145
 						DELETE FROM {db_prefix}pm_recipients
@@ -1169,7 +1169,7 @@  discard block
 block discarded – undo
1169 1169
 				GROUP BY pmr.id_member',
1170 1170
 			'fix_collect' => array(
1171 1171
 				'index' => 'id_member',
1172
-				'process' => function ($members)
1172
+				'process' => function($members)
1173 1173
 				{
1174 1174
 					global $smcFunc;
1175 1175
 					$smcFunc['db_query']('', '
@@ -1199,7 +1199,7 @@  discard block
 block discarded – undo
1199 1199
 					AND mem.id_member IS NULL',
1200 1200
 			'fix_collect' => array(
1201 1201
 				'index' => 'id_pm',
1202
-				'process' => function ($guestMessages)
1202
+				'process' => function($guestMessages)
1203 1203
 				{
1204 1204
 					global $smcFunc;
1205 1205
 					$smcFunc['db_query']('', '
@@ -1229,7 +1229,7 @@  discard block
 block discarded – undo
1229 1229
 				GROUP BY ln.id_member',
1230 1230
 			'fix_collect' => array(
1231 1231
 				'index' => 'id_member',
1232
-				'process' => function ($members) use ($smcFunc)
1232
+				'process' => function($members) use ($smcFunc)
1233 1233
 				{
1234 1234
 					$smcFunc['db_query']('', '
1235 1235
 						DELETE FROM {db_prefix}log_notify
@@ -1256,7 +1256,7 @@  discard block
 block discarded – undo
1256 1256
 					LEFT JOIN {db_prefix}log_search_subjects AS lss ON (lss.id_topic = t.id_topic)
1257 1257
 				WHERE t.id_topic BETWEEN {STEP_LOW} AND {STEP_HIGH}
1258 1258
 					AND lss.id_topic IS NULL',
1259
-			'fix_full_processing' => function ($result)
1259
+			'fix_full_processing' => function($result)
1260 1260
 			{
1261 1261
 				global $smcFunc;
1262 1262
 
@@ -1285,7 +1285,7 @@  discard block
 block discarded – undo
1285 1285
 						array('word', 'id_topic')
1286 1286
 					);
1287 1287
 			},
1288
-			'message_function' => function ($row)
1288
+			'message_function' => function($row)
1289 1289
 			{
1290 1290
 				global $txt, $context;
1291 1291
 
@@ -1313,7 +1313,7 @@  discard block
 block discarded – undo
1313 1313
 					AND t.id_topic IS NULL',
1314 1314
 			'fix_collect' => array(
1315 1315
 				'index' => 'id_topic',
1316
-				'process' => function ($deleteTopics)
1316
+				'process' => function($deleteTopics)
1317 1317
 				{
1318 1318
 					global $smcFunc;
1319 1319
 					$smcFunc['db_query']('', '
@@ -1343,7 +1343,7 @@  discard block
 block discarded – undo
1343 1343
 					AND mem.id_member IS NULL',
1344 1344
 			'fix_collect' => array(
1345 1345
 				'index' => 'id_member',
1346
-				'process' => function ($members)
1346
+				'process' => function($members)
1347 1347
 				{
1348 1348
 					global $smcFunc;
1349 1349
 					$smcFunc['db_query']('', '
@@ -1372,7 +1372,7 @@  discard block
 block discarded – undo
1372 1372
 					AND p.id_poll IS NULL',
1373 1373
 			'fix_collect' => array(
1374 1374
 				'index' => 'id_poll',
1375
-				'process' => function ($polls)
1375
+				'process' => function($polls)
1376 1376
 				{
1377 1377
 					global $smcFunc;
1378 1378
 					$smcFunc['db_query']('', '
@@ -1401,7 +1401,7 @@  discard block
 block discarded – undo
1401 1401
 					AND lrc.id_report IS NULL',
1402 1402
 			'fix_collect' => array(
1403 1403
 				'index' => 'id_report',
1404
-				'process' => function ($reports)
1404
+				'process' => function($reports)
1405 1405
 				{
1406 1406
 					global $smcFunc;
1407 1407
 					$smcFunc['db_query']('', '
@@ -1430,7 +1430,7 @@  discard block
 block discarded – undo
1430 1430
 					AND lr.id_report IS NULL',
1431 1431
 			'fix_collect' => array(
1432 1432
 				'index' => 'id_report',
1433
-				'process' => function ($reports)
1433
+				'process' => function($reports)
1434 1434
 				{
1435 1435
 					global $smcFunc;
1436 1436
 					$smcFunc['db_query']('', '
@@ -1460,7 +1460,7 @@  discard block
 block discarded – undo
1460 1460
 				GROUP BY lgr.id_member',
1461 1461
 			'fix_collect' => array(
1462 1462
 				'index' => 'id_member',
1463
-				'process' => function ($members)
1463
+				'process' => function($members)
1464 1464
 				{
1465 1465
 					global $smcFunc;
1466 1466
 					$smcFunc['db_query']('', '
@@ -1490,7 +1490,7 @@  discard block
 block discarded – undo
1490 1490
 				GROUP BY lgr.id_group',
1491 1491
 			'fix_collect' => array(
1492 1492
 				'index' => 'id_group',
1493
-				'process' => function ($groups)
1493
+				'process' => function($groups)
1494 1494
 				{
1495 1495
 					global $smcFunc;
1496 1496
 					$smcFunc['db_query']('', '
Please login to merge, or discard this patch.
Sources/Notify.php 1 patch
Braces   +23 added lines, -20 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 4
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Turn off/on notification for a particular board.
@@ -34,8 +35,9 @@  discard block
 block discarded – undo
34 35
 	is_not_guest();
35 36
 
36 37
 	// You have to specify a board to turn notifications on!
37
-	if (empty($board))
38
-		fatal_lang_error('no_board', false);
38
+	if (empty($board)) {
39
+			fatal_lang_error('no_board', false);
40
+	}
39 41
 
40 42
 	// No subaction: find out what to do.
41 43
 	if (isset($_GET['mode']))
@@ -48,16 +50,16 @@  discard block
 block discarded – undo
48 50
 		require_once($sourcedir . '/Subs-Notify.php');
49 51
 		setNotifyPrefs($user_info['id'], array('board_notify_' . $board => $alertPref));
50 52
 
51
-		if ($mode > 1)
52
-			// Turn notification on.  (note this just blows smoke if it's already on.)
53
+		if ($mode > 1) {
54
+					// Turn notification on.  (note this just blows smoke if it's already on.)
53 55
 			$smcFunc['db_insert']('ignore',
54 56
 				'{db_prefix}log_notify',
55 57
 				array('id_member' => 'int', 'id_board' => 'int'),
56 58
 				array($user_info['id'], $board),
57 59
 				array('id_member', 'id_board')
58 60
 			);
59
-		else
60
-			$smcFunc['db_query']('', '
61
+		} else {
62
+					$smcFunc['db_query']('', '
61 63
 				DELETE FROM {db_prefix}log_notify
62 64
 				WHERE id_member = {int:current_member}
63 65
 				AND id_board = {int:current_board}',
@@ -66,6 +68,7 @@  discard block
 block discarded – undo
66 68
 					'current_member' => $user_info['id'],
67 69
 				)
68 70
 			);
71
+		}
69 72
 	}
70 73
 
71 74
 	// Back to the board!
@@ -80,10 +83,10 @@  discard block
 block discarded – undo
80 83
 			),
81 84
 		);
82 85
 		$context['sub_template'] = 'generic_xml';
86
+	} else {
87
+			redirectexit('board=' . $board . '.' . $_REQUEST['start']);
88
+	}
83 89
 	}
84
-	else
85
-		redirectexit('board=' . $board . '.' . $_REQUEST['start']);
86
-}
87 90
 
88 91
 /**
89 92
  * Turn off/on unread replies subscription for a topic as well as sets individual topic's alert preferences
@@ -107,8 +110,9 @@  discard block
 block discarded – undo
107 110
 			$mode = (int) $_GET['mode'];
108 111
 			$alertPref = $mode <= 1 ? 0 : ($mode == 2 ? 1 : 3);
109 112
 
110
-			if (empty($mode))
111
-				$mode = 1;
113
+			if (empty($mode)) {
114
+							$mode = 1;
115
+			}
112 116
 
113 117
 			$request = $smcFunc['db_query']('', '
114 118
 				SELECT id_member, id_topic, id_msg, unwatched
@@ -131,8 +135,7 @@  discard block
 block discarded – undo
131 135
 					'id_msg' => 0,
132 136
 					'unwatched' => empty($mode) ? 1 : 0,
133 137
 				);
134
-			}
135
-			else
138
+			} else
136 139
 			{
137 140
 				$insert = false;
138 141
 				$log['unwatched'] = empty($mode) ? 1 : 0;
@@ -159,9 +162,8 @@  discard block
 block discarded – undo
159 162
 					array($user_info['id'], $log['id_topic']),
160 163
 					array('id_member', 'id_board')
161 164
 				);
162
-			}
163
-			else
164
-				$smcFunc['db_query']('', '
165
+			} else {
166
+							$smcFunc['db_query']('', '
165 167
 					DELETE FROM {db_prefix}log_notify
166 168
 					WHERE id_topic = {int:topic}
167 169
 						AND id_member = {int:member}',
@@ -169,6 +171,7 @@  discard block
 block discarded – undo
169 171
 						'topic' => $log['id_topic'],
170 172
 						'member' => $user_info['id'],
171 173
 					));
174
+			}
172 175
 		}
173 176
 	}
174 177
 
@@ -184,9 +187,9 @@  discard block
 block discarded – undo
184 187
 			),
185 188
 		);
186 189
 		$context['sub_template'] = 'generic_xml';
190
+	} else {
191
+			redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
192
+	}
187 193
 	}
188
-	else
189
-		redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
190
-}
191 194
 
192 195
 ?>
193 196
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/Subs-Editor.php 1 patch
Braces   +409 added lines, -307 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 4
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * !!!Compatibility!!!
@@ -30,8 +31,9 @@  discard block
 block discarded – undo
30 31
 {
31 32
 	global $modSettings;
32 33
 
33
-	if (!$compat_mode)
34
-		return $text;
34
+	if (!$compat_mode) {
35
+			return $text;
36
+	}
35 37
 
36 38
 	// Turn line breaks back into br's.
37 39
 	$text = strtr($text, array("\r" => '', "\n" => '<br>'));
@@ -48,8 +50,9 @@  discard block
 block discarded – undo
48 50
 			for ($i = 0, $n = count($parts); $i < $n; $i++)
49 51
 			{
50 52
 				// Value of 2 means we're inside the tag.
51
-				if ($i % 4 == 2)
52
-					$parts[$i] = strtr($parts[$i], array('[' => '&#91;', ']' => '&#93;', "'" => "'"));
53
+				if ($i % 4 == 2) {
54
+									$parts[$i] = strtr($parts[$i], array('[' => '&#91;', ']' => '&#93;', "'" => "'"));
55
+				}
53 56
 			}
54 57
 			// Put our humpty dumpty message back together again.
55 58
 			$text = implode('', $parts);
@@ -107,8 +110,9 @@  discard block
 block discarded – undo
107 110
 	$text = preg_replace('~</p>\s*(?!<)~i', '</p><br>', $text);
108 111
 
109 112
 	// Safari/webkit wraps lines in Wysiwyg in <div>'s.
110
-	if (isBrowser('webkit'))
111
-		$text = preg_replace(array('~<div(?:\s(?:[^<>]*?))?' . '>~i', '</div>'), array('<br>', ''), $text);
113
+	if (isBrowser('webkit')) {
114
+			$text = preg_replace(array('~<div(?:\s(?:[^<>]*?))?' . '>~i', '</div>'), array('<br>', ''), $text);
115
+	}
112 116
 
113 117
 	// If there's a trailing break get rid of it - Firefox tends to add one.
114 118
 	$text = preg_replace('~<br\s?/?' . '>$~i', '', $text);
@@ -123,8 +127,9 @@  discard block
 block discarded – undo
123 127
 		for ($i = 0, $n = count($parts); $i < $n; $i++)
124 128
 		{
125 129
 			// Value of 2 means we're inside the tag.
126
-			if ($i % 4 == 2)
127
-				$parts[$i] = strip_tags($parts[$i]);
130
+			if ($i % 4 == 2) {
131
+							$parts[$i] = strip_tags($parts[$i]);
132
+			}
128 133
 		}
129 134
 
130 135
 		$text = strtr(implode('', $parts), array('#smf_br_spec_grudge_cool!#' => '<br>'));
@@ -150,18 +155,19 @@  discard block
 block discarded – undo
150 155
 			{
151 156
 				$found = array_search($file, $smileysto);
152 157
 				// Note the weirdness here is to stop double spaces between smileys.
153
-				if ($found)
154
-					$matches[1][$k] = '-[]-smf_smily_start#|#' . $smcFunc['htmlspecialchars']($smileysfrom[$found]) . '-[]-smf_smily_end#|#';
155
-				else
156
-					$matches[1][$k] = '';
158
+				if ($found) {
159
+									$matches[1][$k] = '-[]-smf_smily_start#|#' . $smcFunc['htmlspecialchars']($smileysfrom[$found]) . '-[]-smf_smily_end#|#';
160
+				} else {
161
+									$matches[1][$k] = '';
162
+				}
157 163
 			}
158
-		}
159
-		else
164
+		} else
160 165
 		{
161 166
 			// Load all the smileys.
162 167
 			$names = array();
163
-			foreach ($matches[1] as $file)
164
-				$names[] = $file;
168
+			foreach ($matches[1] as $file) {
169
+							$names[] = $file;
170
+			}
165 171
 			$names = array_unique($names);
166 172
 
167 173
 			if (!empty($names))
@@ -175,13 +181,15 @@  discard block
 block discarded – undo
175 181
 					)
176 182
 				);
177 183
 				$mappings = array();
178
-				while ($row = $smcFunc['db_fetch_assoc']($request))
179
-					$mappings[$row['filename']] = $smcFunc['htmlspecialchars']($row['code']);
184
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
185
+									$mappings[$row['filename']] = $smcFunc['htmlspecialchars']($row['code']);
186
+				}
180 187
 				$smcFunc['db_free_result']($request);
181 188
 
182
-				foreach ($matches[1] as $k => $file)
183
-					if (isset($mappings[$file]))
189
+				foreach ($matches[1] as $k => $file) {
190
+									if (isset($mappings[$file]))
184 191
 						$matches[1][$k] = '-[]-smf_smily_start#|#' . $mappings[$file] . '-[]-smf_smily_end#|#';
192
+				}
185 193
 			}
186 194
 		}
187 195
 
@@ -193,8 +201,9 @@  discard block
 block discarded – undo
193 201
 	}
194 202
 
195 203
 	// Only try to buy more time if the client didn't quit.
196
-	if (connection_aborted() && $context['server']['is_apache'])
197
-		@apache_reset_timeout();
204
+	if (connection_aborted() && $context['server']['is_apache']) {
205
+			@apache_reset_timeout();
206
+	}
198 207
 
199 208
 	$parts = preg_split('~(<[A-Za-z]+\s*[^<>]*?style="?[^<>"]+"?[^<>]*?(?:/?)>|</[A-Za-z]+>)~', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
200 209
 	$replacement = '';
@@ -205,9 +214,9 @@  discard block
 block discarded – undo
205 214
 		if (preg_match('~(<([A-Za-z]+)\s*[^<>]*?)style="?([^<>"]+)"?([^<>]*?(/?)>)~', $part, $matches) === 1)
206 215
 		{
207 216
 			// If it's being closed instantly, we can't deal with it...yet.
208
-			if ($matches[5] === '/')
209
-				continue;
210
-			else
217
+			if ($matches[5] === '/') {
218
+							continue;
219
+			} else
211 220
 			{
212 221
 				// Get an array of styles that apply to this element. (The strtr is there to combat HTML generated by Word.)
213 222
 				$styles = explode(';', strtr($matches[3], array('&quot;' => '')));
@@ -223,8 +232,9 @@  discard block
 block discarded – undo
223 232
 					$clean_type_value_pair = strtolower(strtr(trim($type_value_pair), '=', ':'));
224 233
 
225 234
 					// Something like 'font-weight: bold' is expected here.
226
-					if (strpos($clean_type_value_pair, ':') === false)
227
-						continue;
235
+					if (strpos($clean_type_value_pair, ':') === false) {
236
+											continue;
237
+					}
228 238
 
229 239
 					// Capture the elements of a single style item (e.g. 'font-weight' and 'bold').
230 240
 					list ($style_type, $style_value) = explode(':', $type_value_pair);
@@ -246,8 +256,7 @@  discard block
 block discarded – undo
246 256
 							{
247 257
 								$curCloseTags .= '[/u]';
248 258
 								$replacement .= '[u]';
249
-							}
250
-							elseif ($style_value == 'line-through')
259
+							} elseif ($style_value == 'line-through')
251 260
 							{
252 261
 								$curCloseTags .= '[/s]';
253 262
 								$replacement .= '[s]';
@@ -259,13 +268,11 @@  discard block
 block discarded – undo
259 268
 							{
260 269
 								$curCloseTags .= '[/left]';
261 270
 								$replacement .= '[left]';
262
-							}
263
-							elseif ($style_value == 'center')
271
+							} elseif ($style_value == 'center')
264 272
 							{
265 273
 								$curCloseTags .= '[/center]';
266 274
 								$replacement .= '[center]';
267
-							}
268
-							elseif ($style_value == 'right')
275
+							} elseif ($style_value == 'right')
269 276
 							{
270 277
 								$curCloseTags .= '[/right]';
271 278
 								$replacement .= '[right]';
@@ -287,8 +294,9 @@  discard block
 block discarded – undo
287 294
 
288 295
 						case 'font-size':
289 296
 							// Sometimes people put decimals where decimals should not be.
290
-							if (preg_match('~(\d)+\.\d+(p[xt])~i', $style_value, $dec_matches) === 1)
291
-								$style_value = $dec_matches[1] . $dec_matches[2];
297
+							if (preg_match('~(\d)+\.\d+(p[xt])~i', $style_value, $dec_matches) === 1) {
298
+															$style_value = $dec_matches[1] . $dec_matches[2];
299
+							}
292 300
 
293 301
 							$curCloseTags .= '[/size]';
294 302
 							$replacement .= '[size=' . $style_value . ']';
@@ -296,8 +304,9 @@  discard block
 block discarded – undo
296 304
 
297 305
 						case 'font-family':
298 306
 							// Only get the first freaking font if there's a list!
299
-							if (strpos($style_value, ',') !== false)
300
-								$style_value = substr($style_value, 0, strpos($style_value, ','));
307
+							if (strpos($style_value, ',') !== false) {
308
+															$style_value = substr($style_value, 0, strpos($style_value, ','));
309
+							}
301 310
 
302 311
 							$curCloseTags .= '[/font]';
303 312
 							$replacement .= '[font=' . strtr($style_value, array("'" => '')) . ']';
@@ -306,13 +315,15 @@  discard block
 block discarded – undo
306 315
 						// This is a hack for images with dimensions embedded.
307 316
 						case 'width':
308 317
 						case 'height':
309
-							if (preg_match('~[1-9]\d*~i', $style_value, $dimension) === 1)
310
-								$extra_attr .= ' ' . $style_type . '="' . $dimension[0] . '"';
318
+							if (preg_match('~[1-9]\d*~i', $style_value, $dimension) === 1) {
319
+															$extra_attr .= ' ' . $style_type . '="' . $dimension[0] . '"';
320
+							}
311 321
 						break;
312 322
 
313 323
 						case 'list-style-type':
314
-							if (preg_match('~none|disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-alpha|upper-alpha|lower-greek|lower-latin|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha~i', $style_value, $listType) === 1)
315
-								$extra_attr .= ' listtype="' . $listType[0] . '"';
324
+							if (preg_match('~none|disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-alpha|upper-alpha|lower-greek|lower-latin|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha~i', $style_value, $listType) === 1) {
325
+															$extra_attr .= ' listtype="' . $listType[0] . '"';
326
+							}
316 327
 						break;
317 328
 					}
318 329
 				}
@@ -325,18 +336,17 @@  discard block
 block discarded – undo
325 336
 				}
326 337
 
327 338
 				// If there's something that still needs closing, push it to the stack.
328
-				if (!empty($curCloseTags))
329
-					array_push($stack, array(
339
+				if (!empty($curCloseTags)) {
340
+									array_push($stack, array(
330 341
 							'element' => strtolower($curElement),
331 342
 							'closeTags' => $curCloseTags
332 343
 						)
333 344
 					);
334
-				elseif (!empty($extra_attr))
335
-					$replacement .= $precedingStyle . $extra_attr . $afterStyle;
345
+				} elseif (!empty($extra_attr)) {
346
+									$replacement .= $precedingStyle . $extra_attr . $afterStyle;
347
+				}
336 348
 			}
337
-		}
338
-
339
-		elseif (preg_match('~</([A-Za-z]+)>~', $part, $matches) === 1)
349
+		} elseif (preg_match('~</([A-Za-z]+)>~', $part, $matches) === 1)
340 350
 		{
341 351
 			// Is this the element that we've been waiting for to be closed?
342 352
 			if (!empty($stack) && strtolower($matches[1]) === $stack[count($stack) - 1]['element'])
@@ -346,28 +356,32 @@  discard block
 block discarded – undo
346 356
 			}
347 357
 
348 358
 			// Must've been something else.
349
-			else
350
-				$replacement .= $part;
359
+			else {
360
+							$replacement .= $part;
361
+			}
351 362
 		}
352 363
 		// In all other cases, just add the part to the replacement.
353
-		else
354
-			$replacement .= $part;
364
+		else {
365
+					$replacement .= $part;
366
+		}
355 367
 	}
356 368
 
357 369
 	// Now put back the replacement in the text.
358 370
 	$text = $replacement;
359 371
 
360 372
 	// We are not finished yet, request more time.
361
-	if (connection_aborted() && $context['server']['is_apache'])
362
-		@apache_reset_timeout();
373
+	if (connection_aborted() && $context['server']['is_apache']) {
374
+			@apache_reset_timeout();
375
+	}
363 376
 
364 377
 	// Let's pull out any legacy alignments.
365 378
 	while (preg_match('~<([A-Za-z]+)\s+[^<>]*?(align="*(left|center|right)"*)[^<>]*?(/?)>~i', $text, $matches) === 1)
366 379
 	{
367 380
 		// Find the position in the text of this tag over again.
368 381
 		$start_pos = strpos($text, $matches[0]);
369
-		if ($start_pos === false)
370
-			break;
382
+		if ($start_pos === false) {
383
+					break;
384
+		}
371 385
 
372 386
 		// End tag?
373 387
 		if ($matches[4] != '/' && strpos($text, '</' . $matches[1] . '>', $start_pos) !== false)
@@ -381,8 +395,7 @@  discard block
 block discarded – undo
381 395
 
382 396
 			// Put the tags back into the body.
383 397
 			$text = substr($text, 0, $start_pos) . $tag . '[' . $matches[3] . ']' . $content . '[/' . $matches[3] . ']' . substr($text, $end_pos);
384
-		}
385
-		else
398
+		} else
386 399
 		{
387 400
 			// Just get rid of this evil tag.
388 401
 			$text = substr($text, 0, $start_pos) . substr($text, $start_pos + strlen($matches[0]));
@@ -395,8 +408,9 @@  discard block
 block discarded – undo
395 408
 		// Find the position of this again.
396 409
 		$start_pos = strpos($text, $matches[0]);
397 410
 		$end_pos = false;
398
-		if ($start_pos === false)
399
-			break;
411
+		if ($start_pos === false) {
412
+					break;
413
+		}
400 414
 
401 415
 		// This must have an end tag - and we must find the right one.
402 416
 		$lower_text = strtolower($text);
@@ -429,8 +443,9 @@  discard block
 block discarded – undo
429 443
 				break;
430 444
 			}
431 445
 		}
432
-		if ($end_pos === false)
433
-			break;
446
+		if ($end_pos === false) {
447
+					break;
448
+		}
434 449
 
435 450
 		// Now work out what the attributes are.
436 451
 		$attribs = fetchTagAttributes($matches[1]);
@@ -444,11 +459,11 @@  discard block
 block discarded – undo
444 459
 				$v = (int) trim($v);
445 460
 				$v = empty($v) ? 1 : $v;
446 461
 				$tags[] = array('[size=' . $sizes_equivalence[$v] . ']', '[/size]');
462
+			} elseif ($s == 'face') {
463
+							$tags[] = array('[font=' . trim(strtolower($v)) . ']', '[/font]');
464
+			} elseif ($s == 'color') {
465
+							$tags[] = array('[color=' . trim(strtolower($v)) . ']', '[/color]');
447 466
 			}
448
-			elseif ($s == 'face')
449
-				$tags[] = array('[font=' . trim(strtolower($v)) . ']', '[/font]');
450
-			elseif ($s == 'color')
451
-				$tags[] = array('[color=' . trim(strtolower($v)) . ']', '[/color]');
452 467
 		}
453 468
 
454 469
 		// As before add in our tags.
@@ -456,8 +471,9 @@  discard block
 block discarded – undo
456 471
 		foreach ($tags as $tag)
457 472
 		{
458 473
 			$before .= $tag[0];
459
-			if (isset($tag[1]))
460
-				$after = $tag[1] . $after;
474
+			if (isset($tag[1])) {
475
+							$after = $tag[1] . $after;
476
+			}
461 477
 		}
462 478
 
463 479
 		// Remove the tag so it's never checked again.
@@ -468,8 +484,9 @@  discard block
 block discarded – undo
468 484
 	}
469 485
 
470 486
 	// Almost there, just a little more time.
471
-	if (connection_aborted() && $context['server']['is_apache'])
472
-		@apache_reset_timeout();
487
+	if (connection_aborted() && $context['server']['is_apache']) {
488
+			@apache_reset_timeout();
489
+	}
473 490
 
474 491
 	if (count($parts = preg_split('~<(/?)(li|ol|ul)([^>]*)>~i', $text, null, PREG_SPLIT_DELIM_CAPTURE)) > 1)
475 492
 	{
@@ -525,12 +542,13 @@  discard block
 block discarded – undo
525 542
 						{
526 543
 							$inList = true;
527 544
 
528
-							if ($tag === 'ol')
529
-								$listType = 'decimal';
530
-							elseif (preg_match('~type="?(' . implode('|', array_keys($listTypeMapping)) . ')"?~', $parts[$i + 3], $match) === 1)
531
-								$listType = $listTypeMapping[$match[1]];
532
-							else
533
-								$listType = null;
545
+							if ($tag === 'ol') {
546
+															$listType = 'decimal';
547
+							} elseif (preg_match('~type="?(' . implode('|', array_keys($listTypeMapping)) . ')"?~', $parts[$i + 3], $match) === 1) {
548
+															$listType = $listTypeMapping[$match[1]];
549
+							} else {
550
+															$listType = null;
551
+							}
534 552
 
535 553
 							$listDepth++;
536 554
 
@@ -594,9 +612,7 @@  discard block
 block discarded – undo
594 612
 							$parts[$i + 1] = '';
595 613
 							$parts[$i + 2] = str_repeat("\t", $listDepth) . '[/list]';
596 614
 							$parts[$i + 3] = '';
597
-						}
598
-
599
-						else
615
+						} else
600 616
 						{
601 617
 							// We're in a list item.
602 618
 							if ($listDepth > 0)
@@ -633,9 +649,7 @@  discard block
 block discarded – undo
633 649
 							$parts[$i + 1] = '';
634 650
 							$parts[$i + 2] = '';
635 651
 							$parts[$i + 3] = '';
636
-						}
637
-
638
-						else
652
+						} else
639 653
 						{
640 654
 							// Remove the trailing breaks from the list item.
641 655
 							$parts[$i] = preg_replace('~\s*<br\s*' . '/?' . '>\s*$~', '', $parts[$i]);
@@ -673,8 +687,9 @@  discard block
 block discarded – undo
673 687
 			$text .= str_repeat("\t", $listDepth) . '[/list]';
674 688
 		}
675 689
 
676
-		for ($i = $listDepth; $i > 0; $i--)
677
-			$text .= '[/li]' . "\n" . str_repeat("\t", $i - 1) . '[/list]';
690
+		for ($i = $listDepth; $i > 0; $i--) {
691
+					$text .= '[/li]' . "\n" . str_repeat("\t", $i - 1) . '[/list]';
692
+		}
678 693
 	}
679 694
 
680 695
 	// I love my own image...
@@ -682,8 +697,9 @@  discard block
 block discarded – undo
682 697
 	{
683 698
 		// Find the position of the image.
684 699
 		$start_pos = strpos($text, $matches[0]);
685
-		if ($start_pos === false)
686
-			break;
700
+		if ($start_pos === false) {
701
+					break;
702
+		}
687 703
 		$end_pos = $start_pos + strlen($matches[0]);
688 704
 
689 705
 		$params = '';
@@ -692,12 +708,13 @@  discard block
 block discarded – undo
692 708
 		$attrs = fetchTagAttributes($matches[1]);
693 709
 		foreach ($attrs as $attrib => $value)
694 710
 		{
695
-			if (in_array($attrib, array('width', 'height')))
696
-				$params .= ' ' . $attrib . '=' . (int) $value;
697
-			elseif ($attrib == 'alt' && trim($value) != '')
698
-				$params .= ' alt=' . trim($value);
699
-			elseif ($attrib == 'src')
700
-				$src = trim($value);
711
+			if (in_array($attrib, array('width', 'height'))) {
712
+							$params .= ' ' . $attrib . '=' . (int) $value;
713
+			} elseif ($attrib == 'alt' && trim($value) != '') {
714
+							$params .= ' alt=' . trim($value);
715
+			} elseif ($attrib == 'src') {
716
+							$src = trim($value);
717
+			}
701 718
 		}
702 719
 
703 720
 		$tag = '';
@@ -708,10 +725,11 @@  discard block
 block discarded – undo
708 725
 			{
709 726
 				$baseURL = (isset($parsedURL['scheme']) ? $parsedURL['scheme'] : 'http') . '://' . $parsedURL['host'] . (empty($parsedURL['port']) ? '' : ':' . $parsedURL['port']);
710 727
 
711
-				if (substr($src, 0, 1) === '/')
712
-					$src = $baseURL . $src;
713
-				else
714
-					$src = $baseURL . (empty($parsedURL['path']) ? '/' : preg_replace('~/(?:index\\.php)?$~', '', $parsedURL['path'])) . '/' . $src;
728
+				if (substr($src, 0, 1) === '/') {
729
+									$src = $baseURL . $src;
730
+				} else {
731
+									$src = $baseURL . (empty($parsedURL['path']) ? '/' : preg_replace('~/(?:index\\.php)?$~', '', $parsedURL['path'])) . '/' . $src;
732
+				}
715 733
 			}
716 734
 
717 735
 			$tag = '[img' . $params . ']' . $src . '[/img]';
@@ -889,20 +907,23 @@  discard block
 block discarded – undo
889 907
 		},
890 908
 	);
891 909
 
892
-	foreach ($tags as $tag => $replace)
893
-		$text = preg_replace_callback($tag, $replace, $text);
910
+	foreach ($tags as $tag => $replace) {
911
+			$text = preg_replace_callback($tag, $replace, $text);
912
+	}
894 913
 
895 914
 	// Please give us just a little more time.
896
-	if (connection_aborted() && $context['server']['is_apache'])
897
-		@apache_reset_timeout();
915
+	if (connection_aborted() && $context['server']['is_apache']) {
916
+			@apache_reset_timeout();
917
+	}
898 918
 
899 919
 	// What about URL's - the pain in the ass of the tag world.
900 920
 	while (preg_match('~<a\s+([^<>]*)>([^<>]*)</a>~i', $text, $matches) === 1)
901 921
 	{
902 922
 		// Find the position of the URL.
903 923
 		$start_pos = strpos($text, $matches[0]);
904
-		if ($start_pos === false)
905
-			break;
924
+		if ($start_pos === false) {
925
+					break;
926
+		}
906 927
 		$end_pos = $start_pos + strlen($matches[0]);
907 928
 
908 929
 		$tag_type = 'url';
@@ -916,8 +937,9 @@  discard block
 block discarded – undo
916 937
 				$href = trim($value);
917 938
 
918 939
 				// Are we dealing with an FTP link?
919
-				if (preg_match('~^ftps?://~', $href) === 1)
920
-					$tag_type = 'ftp';
940
+				if (preg_match('~^ftps?://~', $href) === 1) {
941
+									$tag_type = 'ftp';
942
+				}
921 943
 
922 944
 				// Or is this a link to an email address?
923 945
 				elseif (substr($href, 0, 7) == 'mailto:')
@@ -931,28 +953,31 @@  discard block
 block discarded – undo
931 953
 				{
932 954
 					$baseURL = (isset($parsedURL['scheme']) ? $parsedURL['scheme'] : 'http') . '://' . $parsedURL['host'] . (empty($parsedURL['port']) ? '' : ':' . $parsedURL['port']);
933 955
 
934
-					if (substr($href, 0, 1) === '/')
935
-						$href = $baseURL . $href;
936
-					else
937
-						$href = $baseURL . (empty($parsedURL['path']) ? '/' : preg_replace('~/(?:index\\.php)?$~', '', $parsedURL['path'])) . '/' . $href;
956
+					if (substr($href, 0, 1) === '/') {
957
+											$href = $baseURL . $href;
958
+					} else {
959
+											$href = $baseURL . (empty($parsedURL['path']) ? '/' : preg_replace('~/(?:index\\.php)?$~', '', $parsedURL['path'])) . '/' . $href;
960
+					}
938 961
 				}
939 962
 			}
940 963
 
941 964
 			// External URL?
942 965
 			if ($attrib == 'target' && $tag_type == 'url')
943 966
 			{
944
-				if (trim($value) == '_blank')
945
-					$tag_type == 'iurl';
967
+				if (trim($value) == '_blank') {
968
+									$tag_type == 'iurl';
969
+				}
946 970
 			}
947 971
 		}
948 972
 
949 973
 		$tag = '';
950 974
 		if ($href != '')
951 975
 		{
952
-			if ($matches[2] == $href)
953
-				$tag = '[' . $tag_type . ']' . $href . '[/' . $tag_type . ']';
954
-			else
955
-				$tag = '[' . $tag_type . '=' . $href . ']' . $matches[2] . '[/' . $tag_type . ']';
976
+			if ($matches[2] == $href) {
977
+							$tag = '[' . $tag_type . ']' . $href . '[/' . $tag_type . ']';
978
+			} else {
979
+							$tag = '[' . $tag_type . '=' . $href . ']' . $matches[2] . '[/' . $tag_type . ']';
980
+			}
956 981
 		}
957 982
 
958 983
 		// Replace the tag
@@ -991,17 +1016,18 @@  discard block
 block discarded – undo
991 1016
 		// We're either moving from the key to the attribute or we're in a string and this is fine.
992 1017
 		if ($text[$i] == '=')
993 1018
 		{
994
-			if ($tag_state == 0)
995
-				$tag_state = 1;
996
-			elseif ($tag_state == 2)
997
-				$value .= '=';
1019
+			if ($tag_state == 0) {
1020
+							$tag_state = 1;
1021
+			} elseif ($tag_state == 2) {
1022
+							$value .= '=';
1023
+			}
998 1024
 		}
999 1025
 		// A space is either moving from an attribute back to a potential key or in a string is fine.
1000 1026
 		elseif ($text[$i] == ' ')
1001 1027
 		{
1002
-			if ($tag_state == 2)
1003
-				$value .= ' ';
1004
-			elseif ($tag_state == 1)
1028
+			if ($tag_state == 2) {
1029
+							$value .= ' ';
1030
+			} elseif ($tag_state == 1)
1005 1031
 			{
1006 1032
 				$attribs[$key] = $value;
1007 1033
 				$key = $value = '';
@@ -1012,24 +1038,27 @@  discard block
 block discarded – undo
1012 1038
 		elseif ($text[$i] == '"')
1013 1039
 		{
1014 1040
 			// Must be either going into or out of a string.
1015
-			if ($tag_state == 1)
1016
-				$tag_state = 2;
1017
-			else
1018
-				$tag_state = 1;
1041
+			if ($tag_state == 1) {
1042
+							$tag_state = 2;
1043
+			} else {
1044
+							$tag_state = 1;
1045
+			}
1019 1046
 		}
1020 1047
 		// Otherwise it's fine.
1021 1048
 		else
1022 1049
 		{
1023
-			if ($tag_state == 0)
1024
-				$key .= $text[$i];
1025
-			else
1026
-				$value .= $text[$i];
1050
+			if ($tag_state == 0) {
1051
+							$key .= $text[$i];
1052
+			} else {
1053
+							$value .= $text[$i];
1054
+			}
1027 1055
 		}
1028 1056
 	}
1029 1057
 
1030 1058
 	// Anything left?
1031
-	if ($key != '' && $value != '')
1032
-		$attribs[$key] = $value;
1059
+	if ($key != '' && $value != '') {
1060
+			$attribs[$key] = $value;
1061
+	}
1033 1062
 
1034 1063
 	return $attribs;
1035 1064
 }
@@ -1045,15 +1074,17 @@  discard block
 block discarded – undo
1045 1074
 	global $modSettings;
1046 1075
 
1047 1076
 	// Don't care about the texts that are too short.
1048
-	if (strlen($text) < 3)
1049
-		return $text;
1077
+	if (strlen($text) < 3) {
1078
+			return $text;
1079
+	}
1050 1080
 
1051 1081
 	// A list of tags that's disabled by the admin.
1052 1082
 	$disabled = empty($modSettings['disabledBBC']) ? array() : array_flip(explode(',', strtolower($modSettings['disabledBBC'])));
1053 1083
 
1054 1084
 	// Add flash if it's disabled as embedded tag.
1055
-	if (empty($modSettings['enableEmbeddedFlash']))
1056
-		$disabled['flash'] = true;
1085
+	if (empty($modSettings['enableEmbeddedFlash'])) {
1086
+			$disabled['flash'] = true;
1087
+	}
1057 1088
 
1058 1089
 	// Get a list of all the tags that are not disabled.
1059 1090
 	$all_tags = parse_bbc(false);
@@ -1061,10 +1092,12 @@  discard block
 block discarded – undo
1061 1092
 	$self_closing_tags = array();
1062 1093
 	foreach ($all_tags as $tag)
1063 1094
 	{
1064
-		if (!isset($disabled[$tag['tag']]))
1065
-			$valid_tags[$tag['tag']] = !empty($tag['block_level']);
1066
-		if (isset($tag['type']) && $tag['type'] == 'closed')
1067
-			$self_closing_tags[] = $tag['tag'];
1095
+		if (!isset($disabled[$tag['tag']])) {
1096
+					$valid_tags[$tag['tag']] = !empty($tag['block_level']);
1097
+		}
1098
+		if (isset($tag['type']) && $tag['type'] == 'closed') {
1099
+					$self_closing_tags[] = $tag['tag'];
1100
+		}
1068 1101
 	}
1069 1102
 
1070 1103
 	// Right - we're going to start by going through the whole lot to make sure we don't have align stuff crossed as this happens load and is stupid!
@@ -1091,16 +1124,19 @@  discard block
 block discarded – undo
1091 1124
 				$tagName = substr($match, $isClosingTag ? 2 : 1, -1);
1092 1125
 
1093 1126
 				// We're closing the exact same tag that we opened.
1094
-				if ($isClosingTag && $insideTag === $tagName)
1095
-					$insideTag = null;
1127
+				if ($isClosingTag && $insideTag === $tagName) {
1128
+									$insideTag = null;
1129
+				}
1096 1130
 
1097 1131
 				// We're opening a tag and we're not yet inside one either
1098
-				elseif (!$isClosingTag && $insideTag === null)
1099
-					$insideTag = $tagName;
1132
+				elseif (!$isClosingTag && $insideTag === null) {
1133
+									$insideTag = $tagName;
1134
+				}
1100 1135
 
1101 1136
 				// In all other cases, this tag must be invalid
1102
-				else
1103
-					unset($matches[$i]);
1137
+				else {
1138
+									unset($matches[$i]);
1139
+				}
1104 1140
 			}
1105 1141
 
1106 1142
 			// The next one is gonna be the other one.
@@ -1108,8 +1144,9 @@  discard block
 block discarded – undo
1108 1144
 		}
1109 1145
 
1110 1146
 		// We're still inside a tag and had no chance for closure?
1111
-		if ($insideTag !== null)
1112
-			$matches[] = '[/' . $insideTag . ']';
1147
+		if ($insideTag !== null) {
1148
+					$matches[] = '[/' . $insideTag . ']';
1149
+		}
1113 1150
 
1114 1151
 		// And a complete text string again.
1115 1152
 		$text = implode('', $matches);
@@ -1118,8 +1155,9 @@  discard block
 block discarded – undo
1118 1155
 	// Quickly remove any tags which are back to back.
1119 1156
 	$backToBackPattern = '~\\[(' . implode('|', array_diff(array_keys($valid_tags), array('td', 'anchor'))) . ')[^<>\\[\\]]*\\]\s*\\[/\\1\\]~';
1120 1157
 	$lastlen = 0;
1121
-	while (strlen($text) !== $lastlen)
1122
-		$lastlen = strlen($text = preg_replace($backToBackPattern, '', $text));
1158
+	while (strlen($text) !== $lastlen) {
1159
+			$lastlen = strlen($text = preg_replace($backToBackPattern, '', $text));
1160
+	}
1123 1161
 
1124 1162
 	// Need to sort the tags my name length.
1125 1163
 	uksort($valid_tags, 'sort_array_length');
@@ -1156,8 +1194,9 @@  discard block
 block discarded – undo
1156 1194
 			$isCompetingTag = in_array($tag, $competing_tags);
1157 1195
 
1158 1196
 			// Check if this might be one of those cleaned out tags.
1159
-			if ($tag === '')
1160
-				continue;
1197
+			if ($tag === '') {
1198
+							continue;
1199
+			}
1161 1200
 
1162 1201
 			// Special case: inside [code] blocks any code is left untouched.
1163 1202
 			elseif ($tag === 'code')
@@ -1168,8 +1207,9 @@  discard block
 block discarded – undo
1168 1207
 					$inCode = false;
1169 1208
 
1170 1209
 					// Reopen tags that were closed before the code block.
1171
-					if (!empty($inlineElements))
1172
-						$parts[$i + 4] .= '[' . implode('][', array_keys($inlineElements)) . ']';
1210
+					if (!empty($inlineElements)) {
1211
+											$parts[$i + 4] .= '[' . implode('][', array_keys($inlineElements)) . ']';
1212
+					}
1173 1213
 				}
1174 1214
 
1175 1215
 				// We're outside a coding and nobbc block and opening it.
@@ -1198,8 +1238,9 @@  discard block
 block discarded – undo
1198 1238
 					$inNoBbc = false;
1199 1239
 
1200 1240
 					// Some inline elements might've been closed that need reopening.
1201
-					if (!empty($inlineElements))
1202
-						$parts[$i + 4] .= '[' . implode('][', array_keys($inlineElements)) . ']';
1241
+					if (!empty($inlineElements)) {
1242
+											$parts[$i + 4] .= '[' . implode('][', array_keys($inlineElements)) . ']';
1243
+					}
1203 1244
 				}
1204 1245
 
1205 1246
 				// We're outside a nobbc and coding block and opening it.
@@ -1219,8 +1260,9 @@  discard block
 block discarded – undo
1219 1260
 			}
1220 1261
 
1221 1262
 			// So, we're inside one of the special blocks: ignore any tag.
1222
-			elseif ($inCode || $inNoBbc)
1223
-				continue;
1263
+			elseif ($inCode || $inNoBbc) {
1264
+							continue;
1265
+			}
1224 1266
 
1225 1267
 			// We're dealing with an opening tag.
1226 1268
 			if ($isOpeningTag)
@@ -1261,8 +1303,9 @@  discard block
 block discarded – undo
1261 1303
 							if ($parts[$j + 3] === $tag)
1262 1304
 							{
1263 1305
 								// If it's an opening tag, increase the level.
1264
-								if ($parts[$j + 2] === '')
1265
-									$curLevel++;
1306
+								if ($parts[$j + 2] === '') {
1307
+																	$curLevel++;
1308
+								}
1266 1309
 
1267 1310
 								// A closing tag, decrease the level.
1268 1311
 								else
@@ -1285,13 +1328,15 @@  discard block
 block discarded – undo
1285 1328
 					{
1286 1329
 						if ($isCompetingTag)
1287 1330
 						{
1288
-							if (!isset($competingElements[$tag]))
1289
-								$competingElements[$tag] = array();
1331
+							if (!isset($competingElements[$tag])) {
1332
+															$competingElements[$tag] = array();
1333
+							}
1290 1334
 
1291 1335
 							$competingElements[$tag][] = $parts[$i + 4];
1292 1336
 
1293
-							if (count($competingElements[$tag]) > 1)
1294
-								$parts[$i] .= '[/' . $tag . ']';
1337
+							if (count($competingElements[$tag]) > 1) {
1338
+															$parts[$i] .= '[/' . $tag . ']';
1339
+							}
1295 1340
 						}
1296 1341
 
1297 1342
 						$inlineElements[$elementContent] = $tag;
@@ -1311,15 +1356,17 @@  discard block
 block discarded – undo
1311 1356
 						$addClosingTags = array();
1312 1357
 						while ($element = array_pop($blockElements))
1313 1358
 						{
1314
-							if ($element === $tag)
1315
-								break;
1359
+							if ($element === $tag) {
1360
+															break;
1361
+							}
1316 1362
 
1317 1363
 							// Still a block tag was open not equal to this tag.
1318 1364
 							$addClosingTags[] = $element['type'];
1319 1365
 						}
1320 1366
 
1321
-						if (!empty($addClosingTags))
1322
-							$parts[$i + 1] = '[/' . implode('][/', array_reverse($addClosingTags)) . ']' . $parts[$i + 1];
1367
+						if (!empty($addClosingTags)) {
1368
+													$parts[$i + 1] = '[/' . implode('][/', array_reverse($addClosingTags)) . ']' . $parts[$i + 1];
1369
+						}
1323 1370
 
1324 1371
 						// Apparently the closing tag was not found on the stack.
1325 1372
 						if (!is_string($element) || $element !== $tag)
@@ -1329,8 +1376,7 @@  discard block
 block discarded – undo
1329 1376
 							$parts[$i + 2] = $parts[$i + 3] = $parts[$i + 4] = '';
1330 1377
 							continue;
1331 1378
 						}
1332
-					}
1333
-					else
1379
+					} else
1334 1380
 					{
1335 1381
 						// Get rid of this closing tag!
1336 1382
 						$parts[$i + 1] = $parts[$i + 2] = $parts[$i + 3] = $parts[$i + 4] = '';
@@ -1359,53 +1405,62 @@  discard block
 block discarded – undo
1359 1405
 							unset($inlineElements[$tagContentToBeClosed]);
1360 1406
 
1361 1407
 							// Was this the tag we were looking for?
1362
-							if ($tagToBeClosed === $tag)
1363
-								break;
1408
+							if ($tagToBeClosed === $tag) {
1409
+															break;
1410
+							}
1364 1411
 
1365 1412
 							// Nope, close it and look further!
1366
-							else
1367
-								$parts[$i] .= '[/' . $tagToBeClosed . ']';
1413
+							else {
1414
+															$parts[$i] .= '[/' . $tagToBeClosed . ']';
1415
+							}
1368 1416
 						}
1369 1417
 
1370 1418
 						if ($isCompetingTag && !empty($competingElements[$tag]))
1371 1419
 						{
1372 1420
 							array_pop($competingElements[$tag]);
1373 1421
 
1374
-							if (count($competingElements[$tag]) > 0)
1375
-								$parts[$i + 5] = '[' . $tag . $competingElements[$tag][count($competingElements[$tag]) - 1] . $parts[$i + 5];
1422
+							if (count($competingElements[$tag]) > 0) {
1423
+															$parts[$i + 5] = '[' . $tag . $competingElements[$tag][count($competingElements[$tag]) - 1] . $parts[$i + 5];
1424
+							}
1376 1425
 						}
1377 1426
 					}
1378 1427
 
1379 1428
 					// Unexpected closing tag, ex-ter-mi-nate.
1380
-					else
1381
-						$parts[$i + 1] = $parts[$i + 2] = $parts[$i + 3] = $parts[$i + 4] = '';
1429
+					else {
1430
+											$parts[$i + 1] = $parts[$i + 2] = $parts[$i + 3] = $parts[$i + 4] = '';
1431
+					}
1382 1432
 				}
1383 1433
 			}
1384 1434
 		}
1385 1435
 
1386 1436
 		// Close the code tags.
1387
-		if ($inCode)
1388
-			$parts[$i] .= '[/code]';
1437
+		if ($inCode) {
1438
+					$parts[$i] .= '[/code]';
1439
+		}
1389 1440
 
1390 1441
 		// The same for nobbc tags.
1391
-		elseif ($inNoBbc)
1392
-			$parts[$i] .= '[/nobbc]';
1442
+		elseif ($inNoBbc) {
1443
+					$parts[$i] .= '[/nobbc]';
1444
+		}
1393 1445
 
1394 1446
 		// Still inline tags left unclosed? Close them now, better late than never.
1395
-		elseif (!empty($inlineElements))
1396
-			$parts[$i] .= '[/' . implode('][/', array_reverse($inlineElements)) . ']';
1447
+		elseif (!empty($inlineElements)) {
1448
+					$parts[$i] .= '[/' . implode('][/', array_reverse($inlineElements)) . ']';
1449
+		}
1397 1450
 
1398 1451
 		// Now close the block elements.
1399
-		if (!empty($blockElements))
1400
-			$parts[$i] .= '[/' . implode('][/', array_reverse($blockElements)) . ']';
1452
+		if (!empty($blockElements)) {
1453
+					$parts[$i] .= '[/' . implode('][/', array_reverse($blockElements)) . ']';
1454
+		}
1401 1455
 
1402 1456
 		$text = implode('', $parts);
1403 1457
 	}
1404 1458
 
1405 1459
 	// Final clean up of back to back tags.
1406 1460
 	$lastlen = 0;
1407
-	while (strlen($text) !== $lastlen)
1408
-		$lastlen = strlen($text = preg_replace($backToBackPattern, '', $text));
1461
+	while (strlen($text) !== $lastlen) {
1462
+			$lastlen = strlen($text = preg_replace($backToBackPattern, '', $text));
1463
+	}
1409 1464
 
1410 1465
 	return $text;
1411 1466
 }
@@ -1434,22 +1489,25 @@  discard block
 block discarded – undo
1434 1489
 	$context['template_layers'] = array();
1435 1490
 	// Lets make sure we aren't going to output anything nasty.
1436 1491
 	@ob_end_clean();
1437
-	if (!empty($modSettings['enableCompressedOutput']))
1438
-		@ob_start('ob_gzhandler');
1439
-	else
1440
-		@ob_start();
1492
+	if (!empty($modSettings['enableCompressedOutput'])) {
1493
+			@ob_start('ob_gzhandler');
1494
+	} else {
1495
+			@ob_start();
1496
+	}
1441 1497
 
1442 1498
 	// If we don't have any locale better avoid broken js
1443
-	if (empty($txt['lang_locale']))
1444
-		die();
1499
+	if (empty($txt['lang_locale'])) {
1500
+			die();
1501
+	}
1445 1502
 
1446 1503
 	$file_data = '(function ($) {
1447 1504
 	\'use strict\';
1448 1505
 
1449 1506
 	$.sceditor.locale[' . JavaScriptEscape($txt['lang_locale']) . '] = {';
1450
-	foreach ($editortxt as $key => $val)
1451
-		$file_data .= '
1507
+	foreach ($editortxt as $key => $val) {
1508
+			$file_data .= '
1452 1509
 		' . JavaScriptEscape($key) . ': ' . JavaScriptEscape($val) . ',';
1510
+	}
1453 1511
 
1454 1512
 	$file_data .= '
1455 1513
 		dateFormat: "day.month.year"
@@ -1517,8 +1575,9 @@  discard block
 block discarded – undo
1517 1575
 				)
1518 1576
 			);
1519 1577
 			$icon_data = array();
1520
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1521
-				$icon_data[] = $row;
1578
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1579
+							$icon_data[] = $row;
1580
+			}
1522 1581
 			$smcFunc['db_free_result']($request);
1523 1582
 
1524 1583
 			$icons = array();
@@ -1533,9 +1592,9 @@  discard block
 block discarded – undo
1533 1592
 			}
1534 1593
 
1535 1594
 			cache_put_data('posting_icons-' . $board_id, $icons, 480);
1595
+		} else {
1596
+					$icons = $temp;
1536 1597
 		}
1537
-		else
1538
-			$icons = $temp;
1539 1598
 	}
1540 1599
 	call_integration_hook('integrate_load_message_icons', array(&$icons));
1541 1600
 
@@ -1577,8 +1636,9 @@  discard block
 block discarded – undo
1577 1636
 	{
1578 1637
 		// Some general stuff.
1579 1638
 		$settings['smileys_url'] = $modSettings['smileys_url'] . '/' . $user_info['smiley_set'];
1580
-		if (!empty($context['drafts_autosave']))
1581
-			$context['drafts_autosave_frequency'] = empty($modSettings['drafts_autosave_frequency']) ? 60000 : $modSettings['drafts_autosave_frequency'] * 1000;
1639
+		if (!empty($context['drafts_autosave'])) {
1640
+					$context['drafts_autosave_frequency'] = empty($modSettings['drafts_autosave_frequency']) ? 60000 : $modSettings['drafts_autosave_frequency'] * 1000;
1641
+		}
1582 1642
 
1583 1643
 		// This really has some WYSIWYG stuff.
1584 1644
 		loadCSSFile('jquery.sceditor.css', array('force_current' => false, 'validate' => true), 'smf_jquery_sceditor');
@@ -1596,8 +1656,9 @@  discard block
 block discarded – undo
1596 1656
 		var bbc_quote = \'' . addcslashes($txt['quote'], "'") . '\';
1597 1657
 		var bbc_search_on = \'' . addcslashes($txt['search_on'], "'") . '\';');
1598 1658
 		// editor language file
1599
-		if (!empty($txt['lang_locale']) && $txt['lang_locale'] != 'en_US')
1600
-			loadJavaScriptFile($scripturl . '?action=loadeditorlocale', array('external' => true), 'sceditor_language');
1659
+		if (!empty($txt['lang_locale']) && $txt['lang_locale'] != 'en_US') {
1660
+					loadJavaScriptFile($scripturl . '?action=loadeditorlocale', array('external' => true), 'sceditor_language');
1661
+		}
1601 1662
 
1602 1663
 		$context['shortcuts_text'] = $txt['shortcuts' . (!empty($context['drafts_save']) ? '_drafts' : '') . (stripos($_SERVER['HTTP_USER_AGENT'], 'Macintosh') !== false ? '_mac' : (isBrowser('is_firefox') ? '_firefox' : ''))];
1603 1664
 		$context['show_spellchecking'] = !empty($modSettings['enableSpellChecking']) && (function_exists('pspell_new') || (function_exists('enchant_broker_init') && ($txt['lang_charset'] == 'UTF-8' || function_exists('iconv'))));
@@ -1606,11 +1667,12 @@  discard block
 block discarded – undo
1606 1667
 			loadJavaScriptFile('spellcheck.js', array('minimize' => true), 'smf_spellcheck');
1607 1668
 
1608 1669
 			// Some hidden information is needed in order to make the spell checking work.
1609
-			if (!isset($_REQUEST['xml']))
1610
-				$context['insert_after_template'] .= '
1670
+			if (!isset($_REQUEST['xml'])) {
1671
+							$context['insert_after_template'] .= '
1611 1672
 		<form name="spell_form" id="spell_form" method="post" accept-charset="' . $context['character_set'] . '" target="spellWindow" action="' . $scripturl . '?action=spellcheck">
1612 1673
 			<input type="hidden" name="spellstring" value="">
1613 1674
 		</form>';
1675
+			}
1614 1676
 		}
1615 1677
 	}
1616 1678
 
@@ -1802,10 +1864,12 @@  discard block
 block discarded – undo
1802 1864
 
1803 1865
 		// Generate a list of buttons that shouldn't be shown - this should be the fastest way to do this.
1804 1866
 		$disabled_tags = array();
1805
-		if (!empty($modSettings['disabledBBC']))
1806
-			$disabled_tags = explode(',', $modSettings['disabledBBC']);
1807
-		if (empty($modSettings['enableEmbeddedFlash']))
1808
-			$disabled_tags[] = 'flash';
1867
+		if (!empty($modSettings['disabledBBC'])) {
1868
+					$disabled_tags = explode(',', $modSettings['disabledBBC']);
1869
+		}
1870
+		if (empty($modSettings['enableEmbeddedFlash'])) {
1871
+					$disabled_tags[] = 'flash';
1872
+		}
1809 1873
 
1810 1874
 		foreach ($disabled_tags as $tag)
1811 1875
 		{
@@ -1817,9 +1881,10 @@  discard block
 block discarded – undo
1817 1881
 				$context['disabled_tags']['orderedlist'] = true;
1818 1882
 			}
1819 1883
 
1820
-			foreach ($editor_tag_map as $thisTag => $tagNameBBC)
1821
-				if ($tag === $thisTag)
1884
+			foreach ($editor_tag_map as $thisTag => $tagNameBBC) {
1885
+							if ($tag === $thisTag)
1822 1886
 					$context['disabled_tags'][$tagNameBBC] = true;
1887
+			}
1823 1888
 
1824 1889
 			$context['disabled_tags'][$tag] = true;
1825 1890
 		}
@@ -1830,8 +1895,9 @@  discard block
 block discarded – undo
1830 1895
 
1831 1896
 		foreach ($context['bbc_tags'] as $row => $tagRow)
1832 1897
 		{
1833
-			if (!isset($context['bbc_toolbar'][$row]))
1834
-				$context['bbc_toolbar'][$row] = array();
1898
+			if (!isset($context['bbc_toolbar'][$row])) {
1899
+							$context['bbc_toolbar'][$row] = array();
1900
+			}
1835 1901
 
1836 1902
 			$tagsRow = array();
1837 1903
 
@@ -1867,20 +1933,21 @@  discard block
 block discarded – undo
1867 1933
 
1868 1934
 					$context['bbcodes_handlers'] .= '
1869 1935
 						});';
1870
-				}
1871
-				else
1936
+				} else
1872 1937
 				{
1873 1938
 					$context['bbc_toolbar'][$row][] = implode(',', $tagsRow);
1874 1939
 					$tagsRow = array();
1875 1940
 				}
1876 1941
 			}
1877 1942
 
1878
-			if (!empty($tagsRow))
1879
-				$context['bbc_toolbar'][$row][] = implode(',', $tagsRow);
1943
+			if (!empty($tagsRow)) {
1944
+							$context['bbc_toolbar'][$row][] = implode(',', $tagsRow);
1945
+			}
1880 1946
 		}
1881 1947
 
1882
-		if (!empty($bbcodes_styles))
1883
-			addInlineCss($bbcodes_styles);
1948
+		if (!empty($bbcodes_styles)) {
1949
+					addInlineCss($bbcodes_styles);
1950
+		}
1884 1951
 	}
1885 1952
 
1886 1953
 	// Initialize smiley array... if not loaded before.
@@ -1892,8 +1959,8 @@  discard block
 block discarded – undo
1892 1959
 		);
1893 1960
 
1894 1961
 		// Load smileys - don't bother to run a query if we're not using the database's ones anyhow.
1895
-		if (empty($modSettings['smiley_enable']) && $user_info['smiley_set'] != 'none')
1896
-			$context['smileys']['postform'][] = array(
1962
+		if (empty($modSettings['smiley_enable']) && $user_info['smiley_set'] != 'none') {
1963
+					$context['smileys']['postform'][] = array(
1897 1964
 				'smileys' => array(
1898 1965
 					array(
1899 1966
 						'code' => ':)',
@@ -1979,7 +2046,7 @@  discard block
 block discarded – undo
1979 2046
 				),
1980 2047
 				'isLast' => true,
1981 2048
 			);
1982
-		elseif ($user_info['smiley_set'] != 'none')
2049
+		} elseif ($user_info['smiley_set'] != 'none')
1983 2050
 		{
1984 2051
 			if (($temp = cache_get_data('posting_smileys', 480)) == null)
1985 2052
 			{
@@ -2002,17 +2069,19 @@  discard block
 block discarded – undo
2002 2069
 
2003 2070
 				foreach ($context['smileys'] as $section => $smileyRows)
2004 2071
 				{
2005
-					foreach ($smileyRows as $rowIndex => $smileys)
2006
-						$context['smileys'][$section][$rowIndex]['smileys'][count($smileys['smileys']) - 1]['isLast'] = true;
2072
+					foreach ($smileyRows as $rowIndex => $smileys) {
2073
+											$context['smileys'][$section][$rowIndex]['smileys'][count($smileys['smileys']) - 1]['isLast'] = true;
2074
+					}
2007 2075
 
2008
-					if (!empty($smileyRows))
2009
-						$context['smileys'][$section][count($smileyRows) - 1]['isLast'] = true;
2076
+					if (!empty($smileyRows)) {
2077
+											$context['smileys'][$section][count($smileyRows) - 1]['isLast'] = true;
2078
+					}
2010 2079
 				}
2011 2080
 
2012 2081
 				cache_put_data('posting_smileys', $context['smileys'], 480);
2082
+			} else {
2083
+							$context['smileys'] = $temp;
2013 2084
 			}
2014
-			else
2015
-				$context['smileys'] = $temp;
2016 2085
 		}
2017 2086
 	}
2018 2087
 
@@ -2028,12 +2097,15 @@  discard block
 block discarded – undo
2028 2097
 		'plugins' => 'undo' . (empty($modSettings['disabledBBC']) || strpos($modSettings['disabledBBC'], 'youtube') === false ? ',autoyoutube' : ''),
2029 2098
 		'bbcodeTrim' => true,
2030 2099
 	);
2031
-	if (!empty($context['controls']['richedit'][$editorOptions['id']]['locale']))
2032
-		$sce_options['locale'] = $context['controls']['richedit'][$editorOptions['id']]['locale'];
2033
-	if (!empty($context['right_to_left']))
2034
-		$sce_options['rtl'] = true;
2035
-	if ($editorOptions['id'] != 'quickReply')
2036
-		$sce_options['autofocus'] = true;
2100
+	if (!empty($context['controls']['richedit'][$editorOptions['id']]['locale'])) {
2101
+			$sce_options['locale'] = $context['controls']['richedit'][$editorOptions['id']]['locale'];
2102
+	}
2103
+	if (!empty($context['right_to_left'])) {
2104
+			$sce_options['rtl'] = true;
2105
+	}
2106
+	if ($editorOptions['id'] != 'quickReply') {
2107
+			$sce_options['autofocus'] = true;
2108
+	}
2037 2109
 
2038 2110
 	$sce_options['emoticons'] = array();
2039 2111
 	$sce_options['emoticonsDescriptions'] = array();
@@ -2050,10 +2122,11 @@  discard block
 block discarded – undo
2050 2122
 			$countLocations--;
2051 2123
 
2052 2124
 			unset($smiley_location);
2053
-			if ($location == 'postform')
2054
-				$smiley_location = &$sce_options['emoticons']['dropdown'];
2055
-			elseif ($location == 'popup')
2056
-				$smiley_location = &$sce_options['emoticons']['popup'];
2125
+			if ($location == 'postform') {
2126
+							$smiley_location = &$sce_options['emoticons']['dropdown'];
2127
+			} elseif ($location == 'popup') {
2128
+							$smiley_location = &$sce_options['emoticons']['popup'];
2129
+			}
2057 2130
 
2058 2131
 			$numRows = count($smileyRows);
2059 2132
 
@@ -2067,8 +2140,9 @@  discard block
 block discarded – undo
2067 2140
 					$sce_options['emoticonsDescriptions'][$smiley['code']] = $smiley['description'];
2068 2141
 				}
2069 2142
 
2070
-				if (empty($smileyRow['isLast']) && $numRows != 1)
2071
-					$smiley_location['-' . $emptyPlaceholder++] = '';
2143
+				if (empty($smileyRow['isLast']) && $numRows != 1) {
2144
+									$smiley_location['-' . $emptyPlaceholder++] = '';
2145
+				}
2072 2146
 			}
2073 2147
 		}
2074 2148
 	}
@@ -2083,8 +2157,9 @@  discard block
 block discarded – undo
2083 2157
 
2084 2158
 			$count_tags--;
2085 2159
 
2086
-			if (!empty($count_tags))
2087
-				$sce_options['toolbar'] .= '||';
2160
+			if (!empty($count_tags)) {
2161
+							$sce_options['toolbar'] .= '||';
2162
+			}
2088 2163
 		}
2089 2164
 	}
2090 2165
 
@@ -2112,8 +2187,9 @@  discard block
 block discarded – undo
2112 2187
 		loadTemplate('GenericControls');
2113 2188
 
2114 2189
 		// Some javascript ma'am?
2115
-		if (!empty($verificationOptions['override_visual']) || (!empty($modSettings['visual_verification_type']) && !isset($verificationOptions['override_visual'])))
2116
-			loadJavaScriptFile('captcha.js', array('minimize' => true), 'smf_captcha');
2190
+		if (!empty($verificationOptions['override_visual']) || (!empty($modSettings['visual_verification_type']) && !isset($verificationOptions['override_visual']))) {
2191
+					loadJavaScriptFile('captcha.js', array('minimize' => true), 'smf_captcha');
2192
+		}
2117 2193
 
2118 2194
 		$context['use_graphic_library'] = in_array('gd', get_loaded_extensions());
2119 2195
 
@@ -2126,8 +2202,8 @@  discard block
 block discarded – undo
2126 2202
 	$isNew = !isset($context['controls']['verification'][$verificationOptions['id']]);
2127 2203
 
2128 2204
 	// Log this into our collection.
2129
-	if ($isNew)
2130
-		$context['controls']['verification'][$verificationOptions['id']] = array(
2205
+	if ($isNew) {
2206
+			$context['controls']['verification'][$verificationOptions['id']] = array(
2131 2207
 			'id' => $verificationOptions['id'],
2132 2208
 			'empty_field' => empty($verificationOptions['no_empty_field']),
2133 2209
 			'show_visual' => !empty($verificationOptions['override_visual']) || (!empty($modSettings['visual_verification_type']) && !isset($verificationOptions['override_visual'])),
@@ -2138,13 +2214,15 @@  discard block
 block discarded – undo
2138 2214
 			'questions' => array(),
2139 2215
 			'can_recaptcha' => !empty($modSettings['recaptcha_enabled']) && !empty($modSettings['recaptcha_site_key']) && !empty($modSettings['recaptcha_secret_key']),
2140 2216
 		);
2217
+	}
2141 2218
 	$thisVerification = &$context['controls']['verification'][$verificationOptions['id']];
2142 2219
 
2143 2220
 	// Is there actually going to be anything?
2144
-	if (empty($thisVerification['show_visual']) && empty($thisVerification['number_questions']) && empty($thisVerification['can_recaptcha']))
2145
-		return false;
2146
-	elseif (!$isNew && !$do_test)
2147
-		return true;
2221
+	if (empty($thisVerification['show_visual']) && empty($thisVerification['number_questions']) && empty($thisVerification['can_recaptcha'])) {
2222
+			return false;
2223
+	} elseif (!$isNew && !$do_test) {
2224
+			return true;
2225
+	}
2148 2226
 
2149 2227
 	// Sanitize reCAPTCHA fields?
2150 2228
 	if ($thisVerification['can_recaptcha'])
@@ -2157,11 +2235,12 @@  discard block
 block discarded – undo
2157 2235
 	}
2158 2236
 
2159 2237
 	// Add javascript for the object.
2160
-	if ($context['controls']['verification'][$verificationOptions['id']]['show_visual'])
2161
-		$context['insert_after_template'] .= '
2238
+	if ($context['controls']['verification'][$verificationOptions['id']]['show_visual']) {
2239
+			$context['insert_after_template'] .= '
2162 2240
 			<script>
2163 2241
 				var verification' . $verificationOptions['id'] . 'Handle = new smfCaptcha("' . $thisVerification['image_href'] . '", "' . $verificationOptions['id'] . '", ' . ($context['use_graphic_library'] ? 1 : 0) . ');
2164 2242
 			</script>';
2243
+	}
2165 2244
 
2166 2245
 	// If we want questions do we have a cache of all the IDs?
2167 2246
 	if (!empty($thisVerification['number_questions']) && empty($modSettings['question_id_cache']))
@@ -2184,8 +2263,9 @@  discard block
 block discarded – undo
2184 2263
 				unset ($row['id_question']);
2185 2264
 				// Make them all lowercase. We can't directly use $smcFunc['strtolower'] with array_walk, so do it manually, eh?
2186 2265
 				$row['answers'] = $smcFunc['json_decode']($row['answers'], true);
2187
-				foreach ($row['answers'] as $k => $v)
2188
-					$row['answers'][$k] = $smcFunc['strtolower']($v);
2266
+				foreach ($row['answers'] as $k => $v) {
2267
+									$row['answers'][$k] = $smcFunc['strtolower']($v);
2268
+				}
2189 2269
 
2190 2270
 				$modSettings['question_id_cache']['questions'][$id_question] = $row;
2191 2271
 				$modSettings['question_id_cache']['langs'][$row['lngfile']][] = $id_question;
@@ -2196,35 +2276,42 @@  discard block
 block discarded – undo
2196 2276
 		}
2197 2277
 	}
2198 2278
 
2199
-	if (!isset($_SESSION[$verificationOptions['id'] . '_vv']))
2200
-		$_SESSION[$verificationOptions['id'] . '_vv'] = array();
2279
+	if (!isset($_SESSION[$verificationOptions['id'] . '_vv'])) {
2280
+			$_SESSION[$verificationOptions['id'] . '_vv'] = array();
2281
+	}
2201 2282
 
2202 2283
 	// Do we need to refresh the verification?
2203
-	if (!$do_test && (!empty($_SESSION[$verificationOptions['id'] . '_vv']['did_pass']) || empty($_SESSION[$verificationOptions['id'] . '_vv']['count']) || $_SESSION[$verificationOptions['id'] . '_vv']['count'] > 3) && empty($verificationOptions['dont_refresh']))
2204
-		$force_refresh = true;
2205
-	else
2206
-		$force_refresh = false;
2284
+	if (!$do_test && (!empty($_SESSION[$verificationOptions['id'] . '_vv']['did_pass']) || empty($_SESSION[$verificationOptions['id'] . '_vv']['count']) || $_SESSION[$verificationOptions['id'] . '_vv']['count'] > 3) && empty($verificationOptions['dont_refresh'])) {
2285
+			$force_refresh = true;
2286
+	} else {
2287
+			$force_refresh = false;
2288
+	}
2207 2289
 
2208 2290
 	// This can also force a fresh, although unlikely.
2209
-	if (($thisVerification['show_visual'] && empty($_SESSION[$verificationOptions['id'] . '_vv']['code'])) || ($thisVerification['number_questions'] && empty($_SESSION[$verificationOptions['id'] . '_vv']['q'])))
2210
-		$force_refresh = true;
2291
+	if (($thisVerification['show_visual'] && empty($_SESSION[$verificationOptions['id'] . '_vv']['code'])) || ($thisVerification['number_questions'] && empty($_SESSION[$verificationOptions['id'] . '_vv']['q']))) {
2292
+			$force_refresh = true;
2293
+	}
2211 2294
 
2212 2295
 	$verification_errors = array();
2213 2296
 	// Start with any testing.
2214 2297
 	if ($do_test)
2215 2298
 	{
2216 2299
 		// This cannot happen!
2217
-		if (!isset($_SESSION[$verificationOptions['id'] . '_vv']['count']))
2218
-			fatal_lang_error('no_access', false);
2300
+		if (!isset($_SESSION[$verificationOptions['id'] . '_vv']['count'])) {
2301
+					fatal_lang_error('no_access', false);
2302
+		}
2219 2303
 		// ... nor this!
2220
-		if ($thisVerification['number_questions'] && (!isset($_SESSION[$verificationOptions['id'] . '_vv']['q']) || !isset($_REQUEST[$verificationOptions['id'] . '_vv']['q'])))
2221
-			fatal_lang_error('no_access', false);
2304
+		if ($thisVerification['number_questions'] && (!isset($_SESSION[$verificationOptions['id'] . '_vv']['q']) || !isset($_REQUEST[$verificationOptions['id'] . '_vv']['q']))) {
2305
+					fatal_lang_error('no_access', false);
2306
+		}
2222 2307
 		// Hmm, it's requested but not actually declared. This shouldn't happen.
2223
-		if ($thisVerification['empty_field'] && empty($_SESSION[$verificationOptions['id'] . '_vv']['empty_field']))
2224
-			fatal_lang_error('no_access', false);
2308
+		if ($thisVerification['empty_field'] && empty($_SESSION[$verificationOptions['id'] . '_vv']['empty_field'])) {
2309
+					fatal_lang_error('no_access', false);
2310
+		}
2225 2311
 		// While we're here, did the user do something bad?
2226
-		if ($thisVerification['empty_field'] && !empty($_SESSION[$verificationOptions['id'] . '_vv']['empty_field']) && !empty($_REQUEST[$_SESSION[$verificationOptions['id'] . '_vv']['empty_field']]))
2227
-			$verification_errors[] = 'wrong_verification_answer';
2312
+		if ($thisVerification['empty_field'] && !empty($_SESSION[$verificationOptions['id'] . '_vv']['empty_field']) && !empty($_REQUEST[$_SESSION[$verificationOptions['id'] . '_vv']['empty_field']])) {
2313
+					$verification_errors[] = 'wrong_verification_answer';
2314
+		}
2228 2315
 
2229 2316
 		if ($thisVerification['can_recaptcha'])
2230 2317
 		{
@@ -2235,22 +2322,25 @@  discard block
 block discarded – undo
2235 2322
 			{
2236 2323
 				$resp = $reCaptcha->verify($_POST['g-recaptcha-response'], $user_info['ip']);
2237 2324
 
2238
-				if (!$resp->isSuccess())
2239
-					$verification_errors[] = 'wrong_verification_code';
2325
+				if (!$resp->isSuccess()) {
2326
+									$verification_errors[] = 'wrong_verification_code';
2327
+				}
2328
+			} else {
2329
+							$verification_errors[] = 'wrong_verification_code';
2240 2330
 			}
2241
-			else
2242
-				$verification_errors[] = 'wrong_verification_code';
2243 2331
 		}
2244
-		if ($thisVerification['show_visual'] && (empty($_REQUEST[$verificationOptions['id'] . '_vv']['code']) || empty($_SESSION[$verificationOptions['id'] . '_vv']['code']) || strtoupper($_REQUEST[$verificationOptions['id'] . '_vv']['code']) !== $_SESSION[$verificationOptions['id'] . '_vv']['code']))
2245
-			$verification_errors[] = 'wrong_verification_code';
2332
+		if ($thisVerification['show_visual'] && (empty($_REQUEST[$verificationOptions['id'] . '_vv']['code']) || empty($_SESSION[$verificationOptions['id'] . '_vv']['code']) || strtoupper($_REQUEST[$verificationOptions['id'] . '_vv']['code']) !== $_SESSION[$verificationOptions['id'] . '_vv']['code'])) {
2333
+					$verification_errors[] = 'wrong_verification_code';
2334
+		}
2246 2335
 		if ($thisVerification['number_questions'])
2247 2336
 		{
2248 2337
 			$incorrectQuestions = array();
2249 2338
 			foreach ($_SESSION[$verificationOptions['id'] . '_vv']['q'] as $q)
2250 2339
 			{
2251 2340
 				// We don't have this question any more, thus no answers.
2252
-				if (!isset($modSettings['question_id_cache']['questions'][$q]))
2253
-					continue;
2341
+				if (!isset($modSettings['question_id_cache']['questions'][$q])) {
2342
+									continue;
2343
+				}
2254 2344
 				// This is quite complex. We have our question but it might have multiple answers.
2255 2345
 				// First, did they actually answer this question?
2256 2346
 				if (!isset($_REQUEST[$verificationOptions['id'] . '_vv']['q'][$q]) || trim($_REQUEST[$verificationOptions['id'] . '_vv']['q'][$q]) == '')
@@ -2262,24 +2352,28 @@  discard block
 block discarded – undo
2262 2352
 				else
2263 2353
 				{
2264 2354
 					$given_answer = trim($smcFunc['htmlspecialchars'](strtolower($_REQUEST[$verificationOptions['id'] . '_vv']['q'][$q])));
2265
-					if (!in_array($given_answer, $modSettings['question_id_cache']['questions'][$q]['answers']))
2266
-						$incorrectQuestions[] = $q;
2355
+					if (!in_array($given_answer, $modSettings['question_id_cache']['questions'][$q]['answers'])) {
2356
+											$incorrectQuestions[] = $q;
2357
+					}
2267 2358
 				}
2268 2359
 			}
2269 2360
 
2270
-			if (!empty($incorrectQuestions))
2271
-				$verification_errors[] = 'wrong_verification_answer';
2361
+			if (!empty($incorrectQuestions)) {
2362
+							$verification_errors[] = 'wrong_verification_answer';
2363
+			}
2272 2364
 		}
2273 2365
 	}
2274 2366
 
2275 2367
 	// Any errors means we refresh potentially.
2276 2368
 	if (!empty($verification_errors))
2277 2369
 	{
2278
-		if (empty($_SESSION[$verificationOptions['id'] . '_vv']['errors']))
2279
-			$_SESSION[$verificationOptions['id'] . '_vv']['errors'] = 0;
2370
+		if (empty($_SESSION[$verificationOptions['id'] . '_vv']['errors'])) {
2371
+					$_SESSION[$verificationOptions['id'] . '_vv']['errors'] = 0;
2372
+		}
2280 2373
 		// Too many errors?
2281
-		elseif ($_SESSION[$verificationOptions['id'] . '_vv']['errors'] > $thisVerification['max_errors'])
2282
-			$force_refresh = true;
2374
+		elseif ($_SESSION[$verificationOptions['id'] . '_vv']['errors'] > $thisVerification['max_errors']) {
2375
+					$force_refresh = true;
2376
+		}
2283 2377
 
2284 2378
 		// Keep a track of these.
2285 2379
 		$_SESSION[$verificationOptions['id'] . '_vv']['errors']++;
@@ -2312,8 +2406,9 @@  discard block
 block discarded – undo
2312 2406
 			// Are we overriding the range?
2313 2407
 			$character_range = !empty($verificationOptions['override_range']) ? $verificationOptions['override_range'] : $context['standard_captcha_range'];
2314 2408
 
2315
-			for ($i = 0; $i < 6; $i++)
2316
-				$_SESSION[$verificationOptions['id'] . '_vv']['code'] .= $character_range[array_rand($character_range)];
2409
+			for ($i = 0; $i < 6; $i++) {
2410
+							$_SESSION[$verificationOptions['id'] . '_vv']['code'] .= $character_range[array_rand($character_range)];
2411
+			}
2317 2412
 		}
2318 2413
 
2319 2414
 		// Getting some new questions?
@@ -2321,8 +2416,9 @@  discard block
 block discarded – undo
2321 2416
 		{
2322 2417
 			// Attempt to try the current page's language, followed by the user's preference, followed by the site default.
2323 2418
 			$possible_langs = array();
2324
-			if (isset($_SESSION['language']))
2325
-				$possible_langs[] = strtr($_SESSION['language'], array('-utf8' => ''));
2419
+			if (isset($_SESSION['language'])) {
2420
+							$possible_langs[] = strtr($_SESSION['language'], array('-utf8' => ''));
2421
+			}
2326 2422
 			if (!empty($user_info['language']));
2327 2423
 			$possible_langs[] = $user_info['language'];
2328 2424
 			$possible_langs[] = $language;
@@ -2341,8 +2437,7 @@  discard block
 block discarded – undo
2341 2437
 				}
2342 2438
 			}
2343 2439
 		}
2344
-	}
2345
-	else
2440
+	} else
2346 2441
 	{
2347 2442
 		// Same questions as before.
2348 2443
 		$questionIDs = !empty($_SESSION[$verificationOptions['id'] . '_vv']['q']) ? $_SESSION[$verificationOptions['id'] . '_vv']['q'] : array();
@@ -2352,8 +2447,9 @@  discard block
 block discarded – undo
2352 2447
 	// If we do have an empty field, it would be nice to hide it from legitimate users who shouldn't be populating it anyway.
2353 2448
 	if (!empty($_SESSION[$verificationOptions['id'] . '_vv']['empty_field']))
2354 2449
 	{
2355
-		if (!isset($context['html_headers']))
2356
-			$context['html_headers'] = '';
2450
+		if (!isset($context['html_headers'])) {
2451
+					$context['html_headers'] = '';
2452
+		}
2357 2453
 		$context['html_headers'] .= '<style>.vv_special { display:none; }</style>';
2358 2454
 	}
2359 2455
 
@@ -2379,11 +2475,13 @@  discard block
 block discarded – undo
2379 2475
 	$_SESSION[$verificationOptions['id'] . '_vv']['count'] = empty($_SESSION[$verificationOptions['id'] . '_vv']['count']) ? 1 : $_SESSION[$verificationOptions['id'] . '_vv']['count'] + 1;
2380 2476
 
2381 2477
 	// Return errors if we have them.
2382
-	if (!empty($verification_errors))
2383
-		return $verification_errors;
2478
+	if (!empty($verification_errors)) {
2479
+			return $verification_errors;
2480
+	}
2384 2481
 	// If we had a test that one, make a note.
2385
-	elseif ($do_test)
2386
-		$_SESSION[$verificationOptions['id'] . '_vv']['did_pass'] = true;
2482
+	elseif ($do_test) {
2483
+			$_SESSION[$verificationOptions['id'] . '_vv']['did_pass'] = true;
2484
+	}
2387 2485
 
2388 2486
 	// Say that everything went well chaps.
2389 2487
 	return true;
@@ -2408,8 +2506,9 @@  discard block
 block discarded – undo
2408 2506
 	call_integration_hook('integrate_autosuggest', array(&$searchTypes));
2409 2507
 
2410 2508
 	// If we're just checking the callback function is registered return true or false.
2411
-	if ($checkRegistered != null)
2412
-		return isset($searchTypes[$checkRegistered]) && function_exists('AutoSuggest_Search_' . $checkRegistered);
2509
+	if ($checkRegistered != null) {
2510
+			return isset($searchTypes[$checkRegistered]) && function_exists('AutoSuggest_Search_' . $checkRegistered);
2511
+	}
2413 2512
 
2414 2513
 	checkSession('get');
2415 2514
 	loadTemplate('Xml');
@@ -2560,24 +2659,27 @@  discard block
 block discarded – undo
2560 2659
 		foreach ($possible_versions as $ver)
2561 2660
 		{
2562 2661
 			$ver = trim($ver);
2563
-			if (strpos($ver, 'SMF') === 0)
2564
-				$versions[] = $ver;
2662
+			if (strpos($ver, 'SMF') === 0) {
2663
+							$versions[] = $ver;
2664
+			}
2565 2665
 		}
2566 2666
 	}
2567 2667
 	$smcFunc['db_free_result']($request);
2568 2668
 
2569 2669
 	// Just in case we don't have ANYthing.
2570
-	if (empty($versions))
2571
-		$versions = array('SMF 2.0');
2670
+	if (empty($versions)) {
2671
+			$versions = array('SMF 2.0');
2672
+	}
2572 2673
 
2573
-	foreach ($versions as $id => $version)
2574
-		if (strpos($version, strtoupper($_REQUEST['search'])) !== false)
2674
+	foreach ($versions as $id => $version) {
2675
+			if (strpos($version, strtoupper($_REQUEST['search'])) !== false)
2575 2676
 			$xml_data['items']['children'][] = array(
2576 2677
 				'attributes' => array(
2577 2678
 					'id' => $id,
2578 2679
 				),
2579 2680
 				'value' => $version,
2580 2681
 			);
2682
+	}
2581 2683
 
2582 2684
 	return $xml_data;
2583 2685
 }
Please login to merge, or discard this patch.
Themes/default/ManagePaid.template.php 1 patch
Braces   +66 added lines, -47 removed lines patch added patch discarded remove patch
@@ -24,11 +24,12 @@  discard block
 block discarded – undo
24 24
 				<h3 class="catbg">', $txt['paid_' . $context['action_type'] . '_subscription'], '</h3>
25 25
 			</div>';
26 26
 
27
-	if (!empty($context['disable_groups']))
28
-		echo '
27
+	if (!empty($context['disable_groups'])) {
28
+			echo '
29 29
 			<div class="information">
30 30
 				<span class="alert">', $txt['paid_mod_edit_note'], '</span>
31 31
 			</div>';
32
+	}
32 33
 
33 34
 	echo '
34 35
 			<div class="windowbg2">
@@ -69,9 +70,10 @@  discard block
 block discarded – undo
69 70
 							<option value="0"', $context['sub']['prim_group'] == 0 ? ' selected' : '', '>', $txt['paid_mod_no_group'], '</option>';
70 71
 
71 72
 	// Put each group into the box.
72
-	foreach ($context['groups'] as $id => $name)
73
-		echo '
73
+	foreach ($context['groups'] as $id => $name) {
74
+			echo '
74 75
 							<option value="', $id, '"', $context['sub']['prim_group'] == $id ? ' selected' : '', '>', $name, '</option>';
76
+	}
75 77
 
76 78
 	echo '
77 79
 						</select>
@@ -83,12 +85,13 @@  discard block
 block discarded – undo
83 85
 					<dd>';
84 86
 
85 87
 	// Put a checkbox in for each group
86
-	foreach ($context['groups'] as $id => $name)
87
-		echo '
88
+	foreach ($context['groups'] as $id => $name) {
89
+			echo '
88 90
 						<label for="addgroup_', $id, '">
89 91
 							<input type="checkbox" id="addgroup_', $id, '" name="addgroup[', $id, ']"', in_array($id, $context['sub']['add_groups']) ? ' checked' : '', !empty($context['disable_groups']) ? ' disabled' : '', '>
90 92
 							<span class="smalltext">', $name, '</span>
91 93
 						</label><br>';
94
+	}
92 95
 
93 96
 	echo '
94 97
 					</dd>
@@ -142,8 +145,8 @@  discard block
 block discarded – undo
142 145
 					<fieldset>';
143 146
 
144 147
 	//!! Removed until implemented
145
-	if (!empty($sdflsdhglsdjgs))
146
-		echo '
148
+	if (!empty($sdflsdhglsdjgs)) {
149
+			echo '
147 150
 						<dl class="settings">
148 151
 							<dt>
149 152
 								<label for="allow_partial_check">', $txt['paid_mod_allow_partial'], '</label>:<br><span class="smalltext">', $txt['paid_mod_allow_partial_desc'], '</span>
@@ -152,6 +155,7 @@  discard block
 block discarded – undo
152 155
 								<input type="checkbox" name="allow_partial" id="allow_partial_check"', empty($context['sub']['allow_partial']) ? '' : ' checked', '>
153 156
 							</dd>
154 157
 						</dl>';
158
+	}
155 159
 
156 160
 	echo '
157 161
 						<div class="information">
@@ -250,8 +254,8 @@  discard block
 block discarded – undo
250 254
 				<dl class="settings">';
251 255
 
252 256
 	// Do we need a username?
253
-	if ($context['action_type'] == 'add')
254
-		echo '
257
+	if ($context['action_type'] == 'add') {
258
+			echo '
255 259
 					<dt>
256 260
 						<strong>', $txt['paid_username'], ':</strong><br>
257 261
 						<span class="smalltext">', $txt['one_username'], '</span>
@@ -259,6 +263,7 @@  discard block
 block discarded – undo
259 263
 					<dd>
260 264
 						<input type="text" name="name" id="name_control" value="', $context['sub']['username'], '" size="30">
261 265
 					</dd>';
266
+	}
262 267
 
263 268
 	echo '
264 269
 					<dt>
@@ -276,9 +281,10 @@  discard block
 block discarded – undo
276 281
 					<select name="year" id="year" onchange="generateDays();">';
277 282
 
278 283
 	// Show a list of all the years we allow...
279
-	for ($year = 2005; $year <= 2030; $year++)
280
-		echo '
284
+	for ($year = 2005; $year <= 2030; $year++) {
285
+			echo '
281 286
 						<option value="', $year, '"', $year == $context['sub']['start']['year'] ? ' selected' : '', '>', $year, '</option>';
287
+	}
282 288
 
283 289
 	echo '
284 290
 					</select>&nbsp;
@@ -286,9 +292,10 @@  discard block
 block discarded – undo
286 292
 					<select name="month" id="month" onchange="generateDays();">';
287 293
 
288 294
 	// There are 12 months per year - ensure that they all get listed.
289
-	for ($month = 1; $month <= 12; $month++)
290
-		echo '
295
+	for ($month = 1; $month <= 12; $month++) {
296
+			echo '
291 297
 						<option value="', $month, '"', $month == $context['sub']['start']['month'] ? ' selected' : '', '>', $txt['months'][$month], '</option>';
298
+	}
292 299
 
293 300
 	echo '
294 301
 					</select>&nbsp;
@@ -296,9 +303,10 @@  discard block
 block discarded – undo
296 303
 					<select name="day" id="day">';
297 304
 
298 305
 	// This prints out all the days in the current month - this changes dynamically as we switch months.
299
-	for ($day = 1; $day <= $context['sub']['start']['last_day']; $day++)
300
-		echo '
306
+	for ($day = 1; $day <= $context['sub']['start']['last_day']; $day++) {
307
+			echo '
301 308
 						<option value="', $day, '"', $day == $context['sub']['start']['day'] ? ' selected' : '', '>', $day, '</option>';
309
+	}
302 310
 
303 311
 	echo '
304 312
 					</select>
@@ -310,9 +318,10 @@  discard block
 block discarded – undo
310 318
 					<select name="yearend" id="yearend" onchange="generateDays(\'end\');">';
311 319
 
312 320
 	// Show a list of all the years we allow...
313
-	for ($year = 2005; $year <= 2030; $year++)
314
-		echo '
321
+	for ($year = 2005; $year <= 2030; $year++) {
322
+			echo '
315 323
 						<option value="', $year, '"', $year == $context['sub']['end']['year'] ? ' selected' : '', '>', $year, '</option>';
324
+	}
316 325
 
317 326
 	echo '
318 327
 					</select>&nbsp;
@@ -320,9 +329,10 @@  discard block
 block discarded – undo
320 329
 					<select name="monthend" id="monthend" onchange="generateDays(\'end\');">';
321 330
 
322 331
 	// There are 12 months per year - ensure that they all get listed.
323
-	for ($month = 1; $month <= 12; $month++)
324
-		echo '
332
+	for ($month = 1; $month <= 12; $month++) {
333
+			echo '
325 334
 						<option value="', $month, '"', $month == $context['sub']['end']['month'] ? ' selected' : '', '>', $txt['months'][$month], '</option>';
335
+	}
326 336
 
327 337
 	echo '
328 338
 					</select>&nbsp;
@@ -330,9 +340,10 @@  discard block
 block discarded – undo
330 340
 					<select name="dayend" id="dayend">';
331 341
 
332 342
 	// This prints out all the days in the current month - this changes dynamically as we switch months.
333
-	for ($day = 1; $day <= $context['sub']['end']['last_day']; $day++)
334
-		echo '
343
+	for ($day = 1; $day <= $context['sub']['end']['last_day']; $day++) {
344
+			echo '
335 345
 						<option value="', $day, '"', $day == $context['sub']['end']['day'] ? ' selected' : '', '>', $day, '</option>';
346
+	}
336 347
 
337 348
 	echo '
338 349
 					</select>
@@ -371,8 +382,8 @@  discard block
 block discarded – undo
371 382
 		<div class="windowbg">
372 383
 			<ul>';
373 384
 
374
-		foreach ($context['pending_payments'] as $id => $payment)
375
-			echo '
385
+		foreach ($context['pending_payments'] as $id => $payment) {
386
+					echo '
376 387
 				<li>
377 388
 					', $payment['desc'], '
378 389
 					<span class="floatleft">
@@ -382,6 +393,7 @@  discard block
 block discarded – undo
382 393
 						<a href="', $scripturl, '?action=admin;area=paidsubscribe;sa=modifyuser;lid=', $context['log_id'], ';pending=', $id, ';remove">', $txt['pending_payments_remove'], '</a>
383 394
 					</span>
384 395
 				</li>';
396
+		}
385 397
 
386 398
 		echo '
387 399
 			</ul>
@@ -406,12 +418,12 @@  discard block
 block discarded – undo
406 418
 				<h3 class="catbg">', $txt['subscriptions'], '</h3>
407 419
 			</div>';
408 420
 
409
-	if (empty($context['subscriptions']))
410
-		echo '
421
+	if (empty($context['subscriptions'])) {
422
+			echo '
411 423
 			<div class="information">
412 424
 				', $txt['paid_subs_none'], '
413 425
 			</div>';
414
-	else
426
+	} else
415 427
 	{
416 428
 		echo '
417 429
 			<div class="information">
@@ -422,8 +434,9 @@  discard block
 block discarded – undo
422 434
 		foreach ($context['subscriptions'] as $id => $subscription)
423 435
 		{
424 436
 			// Ignore the inactive ones...
425
-			if (empty($subscription['active']))
426
-				continue;
437
+			if (empty($subscription['active'])) {
438
+							continue;
439
+			}
427 440
 
428 441
 			echo '
429 442
 			<div class="cat_bar">
@@ -433,9 +446,10 @@  discard block
 block discarded – undo
433 446
 				<p><strong>', $subscription['name'], '</strong></p>
434 447
 				<p class="smalltext">', $subscription['desc'], '</p>';
435 448
 
436
-			if (!$subscription['flexible'])
437
-				echo '
449
+			if (!$subscription['flexible']) {
450
+							echo '
438 451
 				<div><strong>', $txt['paid_duration'], ':</strong> ', $subscription['length'], '</div>';
452
+			}
439 453
 
440 454
 			if ($context['user']['is_owner'])
441 455
 			{
@@ -448,24 +462,25 @@  discard block
 block discarded – undo
448 462
 				<select name="cur[', $subscription['id'], ']">';
449 463
 
450 464
 					// Print out the costs for this one.
451
-					foreach ($subscription['costs'] as $duration => $value)
452
-						echo '
465
+					foreach ($subscription['costs'] as $duration => $value) {
466
+											echo '
453 467
 					<option value="', $duration, '">', sprintf($modSettings['paid_currency_symbol'], $value), '/', $txt[$duration], '</option>';
468
+					}
454 469
 
455 470
 					echo '
456 471
 				</select>';
457
-				}
458
-				else
459
-					echo '
472
+				} else {
473
+									echo '
460 474
 				', sprintf($modSettings['paid_currency_symbol'], $subscription['costs']['fixed']);
475
+				}
461 476
 
462 477
 				echo '
463 478
 				<hr>
464 479
 				<input type="submit" name="sub_id[', $subscription['id'], ']" value="', $txt['paid_order'], '" class="button">';
465
-			}
466
-			else
467
-				echo '
480
+			} else {
481
+							echo '
468 482
 				<a href="', $scripturl, '?action=admin;area=paidsubscribe;sa=modifyuser;sid=', $subscription['id'], ';uid=', $context['member']['id'], (empty($context['current'][$subscription['id']]) ? '' : ';lid=' . $context['current'][$subscription['id']]['id']), '">', empty($context['current'][$subscription['id']]) ? $txt['paid_admin_add'] : $txt['paid_edit_subscription'], '</a>';
483
+			}
469 484
 
470 485
 			echo '
471 486
 			</div><!-- .windowbg -->';
@@ -492,18 +507,19 @@  discard block
 block discarded – undo
492 507
 			</thead>
493 508
 			<tbody>';
494 509
 
495
-	if (empty($context['current']))
496
-		echo '
510
+	if (empty($context['current'])) {
511
+			echo '
497 512
 				<tr class="windowbg">
498 513
 					<td colspan="4">
499 514
 						', $txt['paid_none_yet'], '
500 515
 					</td>
501 516
 				</tr>';
517
+	}
502 518
 
503 519
 	foreach ($context['current'] as $sub)
504 520
 	{
505
-		if (!$sub['hide'])
506
-			echo '
521
+		if (!$sub['hide']) {
522
+					echo '
507 523
 				<tr class="windowbg">
508 524
 					<td>
509 525
 						', (allowedTo('admin_forum') ? '<a href="' . $scripturl . '?action=admin;area=paidsubscribe;sa=modifyuser;lid=' . $sub['id'] . '">' . $sub['name'] . '</a>' : $sub['name']), '
@@ -514,6 +530,7 @@  discard block
 block discarded – undo
514 530
 					<td>', $sub['start'], '</td>
515 531
 					<td>', $sub['end'], '</td>
516 532
 				</tr>';
533
+		}
517 534
 	}
518 535
 
519 536
 	echo '
@@ -565,15 +582,17 @@  discard block
 block discarded – undo
565 582
 			', $gateway['desc'], '<br>
566 583
 			<form action="', $gateway['form'], '" method="post">';
567 584
 
568
-		if (!empty($gateway['javascript']))
569
-			echo '
585
+		if (!empty($gateway['javascript'])) {
586
+					echo '
570 587
 				<script>
571 588
 					', $gateway['javascript'], '
572 589
 				</script>';
590
+		}
573 591
 
574
-		foreach ($gateway['hidden'] as $name => $value)
575
-			echo '
592
+		foreach ($gateway['hidden'] as $name => $value) {
593
+					echo '
576 594
 				<input type="hidden" id="', $gateway['id'], '_', $name, '" name="', $name, '" value="', $value, '">';
595
+		}
577 596
 
578 597
 		echo '
579 598
 				<br>
Please login to merge, or discard this patch.
Themes/default/Xml.template.php 1 patch
Braces   +50 added lines, -37 removed lines patch added patch discarded remove patch
@@ -73,10 +73,10 @@  discard block
 block discarded – undo
73 73
 		<subject is_first="', $context['message']['first_in_topic'] ? '1' : '0', '"><![CDATA[', cleanXml($context['message']['subject']), ']]></subject>
74 74
 		<body><![CDATA[', $context['message']['body'], ']]></body>
75 75
 		<success><![CDATA[', $txt['quick_modify_message'], ']]></success>';
76
-	}
77
-	else
78
-		echo '
76
+	} else {
77
+			echo '
79 78
 		<error in_subject="', $context['message']['error_in_subject'] ? '1' : '0', '" in_body="', cleanXml($context['message']['error_in_body']) ? '1' : '0', '"><![CDATA[', implode('<br />', $context['message']['errors']), ']]></error>';
79
+	}
80 80
 	echo '
81 81
 	</message>
82 82
 </smf>';
@@ -101,13 +101,14 @@  discard block
 block discarded – undo
101 101
 		echo '
102 102
 		<modified><![CDATA[', empty($modified) ? '' : cleanXml('&#171; <em>' . $modified . '</em>&#187;'), ']]></modified>';
103 103
 
104
-		if (!empty($context['message']['subject']))
105
-			echo '
104
+		if (!empty($context['message']['subject'])) {
105
+					echo '
106 106
 		<subject><![CDATA[', cleanXml($context['message']['subject']), ']]></subject>';
107
-	}
108
-	else
109
-		echo '
107
+		}
108
+	} else {
109
+			echo '
110 110
 		<error in_subject="', $context['message']['error_in_subject'] ? '1' : '0', '"><![CDATA[', cleanXml(implode('<br />', $context['message']['errors'])), ']]></error>';
111
+	}
111 112
 	echo '
112 113
 	</message>
113 114
 </smf>';
@@ -128,10 +129,11 @@  discard block
 block discarded – undo
128 129
 	</preview>
129 130
 	<errors serious="', empty($context['error_type']) || $context['error_type'] != 'serious' ? '0' : '1', '" topic_locked="', $context['locked'] ? '1' : '0', '">';
130 131
 
131
-	if (!empty($context['post_error']))
132
-		foreach ($context['post_error'] as $message)
132
+	if (!empty($context['post_error'])) {
133
+			foreach ($context['post_error'] as $message)
133 134
 			echo '
134 135
 		<error><![CDATA[', cleanXml($message), ']]></error>';
136
+	}
135 137
 
136 138
 	echo '
137 139
 		<caption name="guestname" class="', isset($context['post_error']['long_name']) || isset($context['post_error']['no_name']) || isset($context['post_error']['bad_name']) ? 'error' : '', '" />
@@ -148,14 +150,15 @@  discard block
 block discarded – undo
148 150
 		echo '
149 151
 	<new_posts>';
150 152
 
151
-		foreach ($context['previous_posts'] as $post)
152
-			echo '
153
+		foreach ($context['previous_posts'] as $post) {
154
+					echo '
153 155
 		<post id="', $post['id'], '">
154 156
 			<time><![CDATA[', $post['time'], ']]></time>
155 157
 			<poster><![CDATA[', cleanXml($post['poster']), ']]></poster>
156 158
 			<message><![CDATA[', cleanXml($post['message']), ']]></message>
157 159
 			<is_ignored>', $post['is_ignored'] ? '1' : '0', '</is_ignored>
158 160
 		</post>';
161
+		}
159 162
 
160 163
 		echo '
161 164
 	</new_posts>';
@@ -181,10 +184,11 @@  discard block
 block discarded – undo
181 184
 	</preview>
182 185
 	<errors serious="', empty($context['error_type']) || $context['error_type'] != 'serious' ? '0' : '1', '">';
183 186
 
184
-	if (!empty($context['post_error']['messages']))
185
-		foreach ($context['post_error']['messages'] as $message)
187
+	if (!empty($context['post_error']['messages'])) {
188
+			foreach ($context['post_error']['messages'] as $message)
186 189
 			echo '
187 190
 		<error><![CDATA[', cleanXml($message), ']]></error>';
191
+	}
188 192
 
189 193
 	echo '
190 194
 		<caption name="to" class="', isset($context['post_error']['no_to']) ? 'error' : '', '" />
@@ -214,10 +218,11 @@  discard block
 block discarded – undo
214 218
 	</preview>
215 219
 	<errors serious="', empty($context['error_type']) || $context['error_type'] != 'serious' ? '0' : '1', '">';
216 220
 
217
-	if (!empty($context['post_error']['messages']))
218
-		foreach ($context['post_error']['messages'] as $message)
221
+	if (!empty($context['post_error']['messages'])) {
222
+			foreach ($context['post_error']['messages'] as $message)
219 223
 			echo '
220 224
 		<error><![CDATA[', cleanXml($message), ']]></error>';
225
+	}
221 226
 
222 227
 	echo '
223 228
 	</errors>';
@@ -233,20 +238,23 @@  discard block
 block discarded – undo
233 238
 {
234 239
 	global $context, $modSettings;
235 240
 
236
-	if (empty($context['yearly']))
237
-		return;
241
+	if (empty($context['yearly'])) {
242
+			return;
243
+	}
238 244
 
239 245
 	echo '<', '?xml version="1.0" encoding="', $context['character_set'], '"?', '>
240 246
 <smf>';
241
-	foreach ($context['yearly'] as $year)
242
-		foreach ($year['months'] as $month)
247
+	foreach ($context['yearly'] as $year) {
248
+			foreach ($year['months'] as $month)
243 249
 		{
244 250
 			echo '
245 251
 	<month id="', $month['date']['year'], $month['date']['month'], '">';
252
+	}
246 253
 
247
-			foreach ($month['days'] as $day)
248
-				echo '
254
+			foreach ($month['days'] as $day) {
255
+							echo '
249 256
 		<day date="', $day['year'], '-', $day['month'], '-', $day['day'], '" new_topics="', $day['new_topics'], '" new_posts="', $day['new_posts'], '" new_members="', $day['new_members'], '" most_members_online="', $day['most_members_online'], '"', empty($modSettings['hitStats']) ? '' : ' hits="' . $day['hits'] . '"', ' />';
257
+			}
250 258
 
251 259
 			echo '
252 260
 	</month>';
@@ -269,17 +277,18 @@  discard block
 block discarded – undo
269 277
 	<pageIndex section="selected" startFrom="', $context['selected']['start'], '"><![CDATA[', $context['selected']['page_index'], ']]></pageIndex>';
270 278
 	foreach ($context['changes'] as $change)
271 279
 	{
272
-		if ($change['type'] == 'remove')
273
-			echo '
280
+		if ($change['type'] == 'remove') {
281
+					echo '
274 282
 	<change id="', $change['id'], '" curAction="remove" section="', $change['section'], '" />';
275
-		else
276
-			echo '
283
+		} else {
284
+					echo '
277 285
 	<change id="', $change['id'], '" curAction="insert" section="', $change['section'], '">
278 286
 		<subject><![CDATA[', cleanXml($change['insert_value']['subject']), ']]></subject>
279 287
 		<time><![CDATA[', cleanXml($change['insert_value']['time']), ']]></time>
280 288
 		<body><![CDATA[', cleanXml($change['insert_value']['body']), ']]></body>
281 289
 		<poster><![CDATA[', cleanXml($change['insert_value']['poster']), ']]></poster>
282 290
 	</change>';
291
+		}
283 292
 	}
284 293
 	echo '
285 294
 </smf>';
@@ -310,10 +319,10 @@  discard block
 block discarded – undo
310 319
 	echo '<', '?xml version="1.0" encoding="', $context['character_set'], '"?', '>
311 320
 <smf>';
312 321
 
313
-	if (empty($context['topics']))
314
-		echo '
322
+	if (empty($context['topics'])) {
323
+			echo '
315 324
 		<noresults>', $txt['search_no_results'], '</noresults>';
316
-	else
325
+	} else
317 326
 	{
318 327
 		echo '
319 328
 		<results>';
@@ -382,9 +391,10 @@  discard block
 block discarded – undo
382 391
 		echo '
383 392
 	<item type="category" id="', $category['id'], '"><![CDATA[', cleanXml($category['name']), ']]></item>';
384 393
 
385
-		foreach ($category['boards'] as $board)
386
-			echo '
394
+		foreach ($category['boards'] as $board) {
395
+					echo '
387 396
 	<item type="board" id="', $board['id'], '" childlevel="', $board['child_level'], '"><![CDATA[', cleanXml($board['name']), ']]></item>';
397
+		}
388 398
 	}
389 399
 	echo '
390 400
 </smf>';
@@ -400,9 +410,10 @@  discard block
 block discarded – undo
400 410
 	echo '<', '?xml version="1.0" encoding="', $context['character_set'], '"?', '>
401 411
 <smf>';
402 412
 
403
-	foreach ($context['icons'] as $icon)
404
-		echo '
413
+	foreach ($context['icons'] as $icon) {
414
+			echo '
405 415
 	<icon value="', $icon['value'], '" url="', $icon['url'], '"><![CDATA[', cleanXml($icon['name']), ']]></icon>';
416
+	}
406 417
 
407 418
 	echo '
408 419
 </smf>';
@@ -452,16 +463,18 @@  discard block
 block discarded – undo
452 463
 	foreach ($xml_data as $key => $data)
453 464
 	{
454 465
 		// A group?
455
-		if (is_array($data) && isset($data['identifier']))
456
-			template_generic_xml_recursive($data['children'], $key, $data['identifier'], $level);
466
+		if (is_array($data) && isset($data['identifier'])) {
467
+					template_generic_xml_recursive($data['children'], $key, $data['identifier'], $level);
468
+		}
457 469
 		// An item...
458 470
 		elseif (is_array($data) && isset($data['value']))
459 471
 		{
460 472
 			echo "\n", str_repeat("\t", $level), '<', $child_ident;
461 473
 
462
-			if (!empty($data['attributes']))
463
-				foreach ($data['attributes'] as $k => $v)
474
+			if (!empty($data['attributes'])) {
475
+							foreach ($data['attributes'] as $k => $v)
464 476
 					echo ' ' . $k . '="' . $v . '"';
477
+			}
465 478
 			echo '><![CDATA[', cleanXml($data['value']), ']]></', $child_ident, '>';
466 479
 		}
467 480
 	}
Please login to merge, or discard this patch.
Themes/default/Search.template.php 1 patch
Braces   +90 added lines, -65 removed lines patch added patch discarded remove patch
@@ -20,17 +20,19 @@  discard block
 block discarded – undo
20 20
 	echo '
21 21
 	<form action="', $scripturl, '?action=search2" method="post" accept-charset="', $context['character_set'], '" name="searchform" id="searchform">';
22 22
 
23
-	if (!empty($context['search_errors']))
24
-		echo '
23
+	if (!empty($context['search_errors'])) {
24
+			echo '
25 25
 		<div class="errorbox">
26 26
 			', implode('<br>', $context['search_errors']['messages']), '
27 27
 		</div>';
28
+	}
28 29
 
29
-	if (!empty($context['search_ignored']))
30
-		echo '
30
+	if (!empty($context['search_ignored'])) {
31
+			echo '
31 32
 		<div class="noticebox">
32 33
 			', $txt['search_warning_ignored_word' . (count($context['search_ignored']) == 1 ? '' : 's')], ': ', implode(', ', $context['search_ignored']), '
33 34
 		</div>';
35
+	}
34 36
 
35 37
 	echo '
36 38
 		<div class="cat_bar">
@@ -48,9 +50,10 @@  discard block
 block discarded – undo
48 50
 				<dd>
49 51
 					<input type="search" name="search" id="searchfor" ', !empty($context['search_params']['search']) ? ' value="' . $context['search_params']['search'] . '"' : '', ' maxlength="', $context['search_string_limit'], '" size="40">';
50 52
 
51
-	if (empty($modSettings['search_simple_fulltext']))
52
-		echo '
53
+	if (empty($modSettings['search_simple_fulltext'])) {
54
+			echo '
53 55
 					<br><em class="smalltext">', $txt['search_example'], '</em>';
56
+	}
54 57
 
55 58
 	echo '
56 59
 				</dd>
@@ -114,21 +117,23 @@  discard block
 block discarded – undo
114 117
 			<input type="hidden" name="advanced" value="1">';
115 118
 
116 119
 	// Require an image to be typed to save spamming?
117
-	if ($context['require_verification'])
118
-		echo '
120
+	if ($context['require_verification']) {
121
+			echo '
119 122
 			<p>
120 123
 				<strong>', $txt['verification'], ':</strong>
121 124
 				', template_control_verification($context['visual_verification_id'], 'all'), '
122 125
 			</p>';
126
+	}
123 127
 
124 128
 	// If $context['search_params']['topic'] is set, that means we're searching just one topic.
125
-	if (!empty($context['search_params']['topic']))
126
-		echo '
129
+	if (!empty($context['search_params']['topic'])) {
130
+			echo '
127 131
 			<p>
128 132
 				', $txt['search_specific_topic'], ' &quot;', $context['search_topic']['link'], '&quot;.
129 133
 			</p>
130 134
 			<input type="hidden" name="topic" value="', $context['search_topic']['id'], '">
131 135
 			<input type="submit" name="b_search" value="', $txt['search'], '" class="button">';
136
+	}
132 137
 
133 138
 	echo '
134 139
 		</div>';
@@ -158,14 +163,15 @@  discard block
 block discarded – undo
158 163
 
159 164
 			foreach ($category['boards'] as $board)
160 165
 			{
161
-				if ($i == $limit)
162
-					echo '
166
+				if ($i == $limit) {
167
+									echo '
163 168
 							</ul>
164 169
 						</li>
165 170
 					</ul>
166 171
 					<ul class="ignoreboards floatright">
167 172
 						<li class="category">
168 173
 							<ul>';
174
+				}
169 175
 
170 176
 				echo '
171 177
 								<li class="board">
@@ -253,17 +259,19 @@  discard block
 block discarded – undo
253 259
 		<div class="roundframe noup">';
254 260
 
255 261
 		// Did they make any typos or mistakes, perhaps?
256
-		if (isset($context['did_you_mean']))
257
-			echo '
262
+		if (isset($context['did_you_mean'])) {
263
+					echo '
258 264
 			<p>
259 265
 				', $txt['search_did_you_mean'], ' <a href="', $scripturl, '?action=search2;params=', $context['did_you_mean_params'], '">', $context['did_you_mean'], '</a>.
260 266
 			</p>';
267
+		}
261 268
 
262
-		if (!empty($context['search_ignored']))
263
-			echo '
269
+		if (!empty($context['search_ignored'])) {
270
+					echo '
264 271
 			<p>
265 272
 				', $txt['search_warning_ignored_word' . (count($context['search_ignored']) == 1 ? '' : 's')], ': ', implode(', ', $context['search_ignored']), '
266 273
 			</p>';
274
+		}
267 275
 
268 276
 		echo '
269 277
 			<form action="', $scripturl, '?action=search2" method="post" accept-charset="', $context['character_set'], '">
@@ -286,10 +294,11 @@  discard block
 block discarded – undo
286 294
 					<input type="hidden" name="sort" value="', !empty($context['search_params']['sort']) ? $context['search_params']['sort'] : 'relevance', '">
287 295
 				</div>';
288 296
 
289
-		if (!empty($context['search_params']['brd']))
290
-			foreach ($context['search_params']['brd'] as $board_id)
297
+		if (!empty($context['search_params']['brd'])) {
298
+					foreach ($context['search_params']['brd'] as $board_id)
291 299
 				echo '
292 300
 				<input type="hidden" name="brd[', $board_id, ']" value="', $board_id, '">';
301
+		}
293 302
 
294 303
 		echo '
295 304
 			</form>
@@ -300,18 +309,20 @@  discard block
 block discarded – undo
300 309
 	if ($context['compact'])
301 310
 	{
302 311
 		// Quick moderation set to checkboxes? Oh, how fun :/
303
-		if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1)
304
-			echo '
312
+		if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1) {
313
+					echo '
305 314
 	<form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="topicForm">';
315
+		}
306 316
 
307 317
 		echo '
308 318
 		<div class="cat_bar">
309 319
 			<h3 class="catbg">
310 320
 				<span class="floatright">';
311 321
 
312
-		if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1)
313
-			echo '
322
+		if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1) {
323
+					echo '
314 324
 					<input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');">';
325
+		}
315 326
 		echo '
316 327
 				</span>
317 328
 				<span class="generic_icons filter"></span> ', $txt['mlist_search_results'], ': ', $context['search_params']['search'], '
@@ -319,15 +330,15 @@  discard block
 block discarded – undo
319 330
 		</div>';
320 331
 
321 332
 		// Was anything even found?
322
-		if (!empty($context['topics']))
323
-			echo '
333
+		if (!empty($context['topics'])) {
334
+					echo '
324 335
 		<div class="pagesection">
325 336
 			<span>', $context['page_index'], '</span>
326 337
 		</div>';
327
-
328
-		else
329
-			echo '
338
+		} else {
339
+					echo '
330 340
 		<div class="roundframe noup">', $txt['find_no_results'], '</div>';
341
+		}
331 342
 
332 343
 		// While we have results to show ...
333 344
 		while ($topic = $context['get_topics']())
@@ -350,31 +361,35 @@  discard block
 block discarded – undo
350 361
 					echo '
351 362
 				<span class="floatright">';
352 363
 
353
-					if ($options['display_quick_mod'] == 1)
354
-						echo '
364
+					if ($options['display_quick_mod'] == 1) {
365
+											echo '
355 366
 					<input type="checkbox" name="topics[]" value="', $topic['id'], '">';
356
-
357
-					else
367
+					} else
358 368
 					{
359
-						if ($topic['quick_mod']['remove'])
360
-							echo '
369
+						if ($topic['quick_mod']['remove']) {
370
+													echo '
361 371
 					<a href="', $scripturl, '?action=quickmod;board=' . $topic['board']['id'] . '.0;actions%5B', $topic['id'], '%5D=remove;', $context['session_var'], '=', $context['session_id'], '" class="you_sure"><span class="generic_icons delete" title="', $txt['remove_topic'], '"></span></a>';
372
+						}
362 373
 
363
-						if ($topic['quick_mod']['lock'])
364
-							echo '
374
+						if ($topic['quick_mod']['lock']) {
375
+													echo '
365 376
 					<a href="', $scripturl, '?action=quickmod;board=' . $topic['board']['id'] . '.0;actions%5B', $topic['id'], '%5D=lock;', $context['session_var'], '=', $context['session_id'], '" class="you_sure"><span class="generic_icons lock" title="', $topic['is_locked'] ? $txt['set_unlock'] : $txt['set_lock'], '"></span></a>';
377
+						}
366 378
 
367
-						if ($topic['quick_mod']['lock'] || $topic['quick_mod']['remove'])
368
-							echo '
379
+						if ($topic['quick_mod']['lock'] || $topic['quick_mod']['remove']) {
380
+													echo '
369 381
 					<br>';
382
+						}
370 383
 
371
-						if ($topic['quick_mod']['sticky'])
372
-							echo '
384
+						if ($topic['quick_mod']['sticky']) {
385
+													echo '
373 386
 					<a href="', $scripturl, '?action=quickmod;board=' . $topic['board']['id'] . '.0;actions%5B', $topic['id'], '%5D=sticky;', $context['session_var'], '=', $context['session_id'], '" class="you_sure"><span class="generic_icons sticky" title="', $topic['is_sticky'] ? $txt['set_nonsticky'] : $txt['set_sticky'], '"></span></a>';
387
+						}
374 388
 
375
-						if ($topic['quick_mod']['move'])
376
-							echo '
389
+						if ($topic['quick_mod']['move']) {
390
+													echo '
377 391
 					<a href="', $scripturl, '?action=movetopic;topic=', $topic['id'], '.0"><span class="generic_icons move" title="', $txt['move_topic'], '"></span></a>';
392
+						}
378 393
 					}
379 394
 
380 395
 					echo '
@@ -384,20 +399,22 @@  discard block
 block discarded – undo
384 399
 			echo '
385 400
 			</div><!-- .block -->';
386 401
 
387
-				if ($message['body_highlighted'] != '')
388
-					echo '
402
+				if ($message['body_highlighted'] != '') {
403
+									echo '
389 404
 				<div class="list_posts double_height">', $message['body_highlighted'], '</div>';
405
+				}
390 406
 			}
391 407
 
392 408
 			echo '
393 409
 		</div><!-- $topic[css_class] -->';
394 410
 		}
395 411
 
396
-		if (!empty($context['topics']))
397
-			echo '
412
+		if (!empty($context['topics'])) {
413
+					echo '
398 414
 		<div class="pagesection">
399 415
 			<span>', $context['page_index'], '</span>
400 416
 		</div>';
417
+		}
401 418
 
402 419
 		if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && !empty($context['topics']))
403 420
 		{
@@ -406,17 +423,19 @@  discard block
 block discarded – undo
406 423
 			<select class="qaction" name="qaction"', $context['can_move'] ? ' onchange="this.form.move_to.disabled = (this.options[this.selectedIndex].value != \'move\');"' : '', '>
407 424
 				<option value="">--------</option>';
408 425
 
409
-			foreach ($context['qmod_actions'] as $qmod_action)
410
-				if ($context['can_' . $qmod_action])
426
+			foreach ($context['qmod_actions'] as $qmod_action) {
427
+							if ($context['can_' . $qmod_action])
411 428
 					echo '
412 429
 				<option value="' . $qmod_action . '">' . $txt['quick_mod_' . $qmod_action] . '</option>';
430
+			}
413 431
 
414 432
 			echo '
415 433
 			</select>';
416 434
 
417
-			if ($context['can_move'])
418
-				echo '
435
+			if ($context['can_move']) {
436
+							echo '
419 437
 			<span id="quick_mod_jump_to"></span>';
438
+			}
420 439
 
421 440
 			echo '
422 441
 			<input type="hidden" name="redirect_url" value="', $scripturl . '?action=search2;params=' . $context['params'], '">
@@ -425,12 +444,12 @@  discard block
 block discarded – undo
425 444
 		}
426 445
 
427 446
 
428
-		if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && !empty($context['topics']))
429
-			echo '
447
+		if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && !empty($context['topics'])) {
448
+					echo '
430 449
 		<input type="hidden" name="' . $context['session_var'] . '" value="' . $context['session_id'] . '">
431 450
 	</form>';
432
-	}
433
-	else
451
+		}
452
+	} else
434 453
 	{
435 454
 		echo '
436 455
 	<div class="cat_bar">
@@ -442,9 +461,10 @@  discard block
 block discarded – undo
442 461
 		<span>', $context['page_index'], '</span>
443 462
 	</div>';
444 463
 
445
-		if (empty($context['topics']))
446
-			echo '
464
+		if (empty($context['topics'])) {
465
+					echo '
447 466
 	<div class="information">(', $txt['search_no_results'], ')</div>';
467
+		}
448 468
 
449 469
 		while ($topic = $context['get_topics']())
450 470
 		{
@@ -461,23 +481,27 @@  discard block
 block discarded – undo
461 481
 		</div>
462 482
 		<div class="list_posts">', $message['body_highlighted'], '</div>';
463 483
 
464
-			if ($topic['can_reply'])
465
-				echo '
484
+			if ($topic['can_reply']) {
485
+							echo '
466 486
 		<ul class="quickbuttons">';
487
+			}
467 488
 
468 489
 			// If they *can* reply?
469
-			if ($topic['can_reply'])
470
-				echo '
490
+			if ($topic['can_reply']) {
491
+							echo '
471 492
 			<li><a href="', $scripturl . '?action=post;topic=' . $topic['id'] . '.' . $message['start'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>';
493
+			}
472 494
 
473 495
 			// If they *can* quote?
474
-			if ($topic['can_quote'])
475
-				echo '
496
+			if ($topic['can_quote']) {
497
+							echo '
476 498
 			<li><a href="', $scripturl . '?action=post;topic=' . $topic['id'] . '.' . $message['start'] . ';quote=' . $message['id'] . '"><span class="generic_icons quote"></span>', $txt['quote_action'], '</a></li>';
499
+			}
477 500
 
478
-			if ($topic['can_reply'])
479
-				echo '
501
+			if ($topic['can_reply']) {
502
+							echo '
480 503
 		</ul>';
504
+			}
481 505
 			echo '
482 506
 		<br class="clear">
483 507
 	</div><!-- $topic[css_class] -->';
@@ -496,8 +520,8 @@  discard block
 block discarded – undo
496 520
 	<div class="smalltext righttext" id="search_jump_to"></div>
497 521
 	<script>';
498 522
 
499
-	if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && !empty($context['topics']) && $context['can_move'])
500
-		echo '
523
+	if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && !empty($context['topics']) && $context['can_move']) {
524
+			echo '
501 525
 		if (typeof(window.XMLHttpRequest) != "undefined")
502 526
 			aJumpTo[aJumpTo.length] = new JumpTo({
503 527
 				sContainerId: "quick_mod_jump_to",
@@ -512,6 +536,7 @@  discard block
 block discarded – undo
512 536
 				bDisabled: true,
513 537
 				sCustomName: "move_to"
514 538
 			});';
539
+	}
515 540
 
516 541
 	echo '
517 542
 		if (typeof(window.XMLHttpRequest) != "undefined")
Please login to merge, or discard this patch.
Sources/Security.php 1 patch
Braces   +258 added lines, -199 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 4
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Check if the user is who he/she says he is
@@ -42,12 +43,14 @@  discard block
 block discarded – undo
42 43
 	$refreshTime = isset($_GET['xml']) ? 4200 : 3600;
43 44
 
44 45
 	// Is the security option off?
45
-	if (!empty($modSettings['securityDisable' . ($type != 'admin' ? '_' . $type : '')]))
46
-		return;
46
+	if (!empty($modSettings['securityDisable' . ($type != 'admin' ? '_' . $type : '')])) {
47
+			return;
48
+	}
47 49
 
48 50
 	// Or are they already logged in?, Moderator or admin session is need for this area
49
-	if ((!empty($_SESSION[$type . '_time']) && $_SESSION[$type . '_time'] + $refreshTime >= time()) || (!empty($_SESSION['admin_time']) && $_SESSION['admin_time'] + $refreshTime >= time()))
50
-		return;
51
+	if ((!empty($_SESSION[$type . '_time']) && $_SESSION[$type . '_time'] + $refreshTime >= time()) || (!empty($_SESSION['admin_time']) && $_SESSION['admin_time'] + $refreshTime >= time())) {
52
+			return;
53
+	}
51 54
 
52 55
 	require_once($sourcedir . '/Subs-Auth.php');
53 56
 
@@ -55,8 +58,9 @@  discard block
 block discarded – undo
55 58
 	if (isset($_POST[$type . '_pass']))
56 59
 	{
57 60
 		// Check to ensure we're forcing SSL for authentication
58
-		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn())
59
-			fatal_lang_error('login_ssl_required');
61
+		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn()) {
62
+					fatal_lang_error('login_ssl_required');
63
+		}
60 64
 
61 65
 		checkSession();
62 66
 
@@ -72,17 +76,19 @@  discard block
 block discarded – undo
72 76
 	}
73 77
 
74 78
 	// Better be sure to remember the real referer
75
-	if (empty($_SESSION['request_referer']))
76
-		$_SESSION['request_referer'] = isset($_SERVER['HTTP_REFERER']) ? @parse_url($_SERVER['HTTP_REFERER']) : array();
77
-	elseif (empty($_POST))
78
-		unset($_SESSION['request_referer']);
79
+	if (empty($_SESSION['request_referer'])) {
80
+			$_SESSION['request_referer'] = isset($_SERVER['HTTP_REFERER']) ? @parse_url($_SERVER['HTTP_REFERER']) : array();
81
+	} elseif (empty($_POST)) {
82
+			unset($_SESSION['request_referer']);
83
+	}
79 84
 
80 85
 	// Need to type in a password for that, man.
81
-	if (!isset($_GET['xml']))
82
-		adminLogin($type);
83
-	else
84
-		return 'session_verify_fail';
85
-}
86
+	if (!isset($_GET['xml'])) {
87
+			adminLogin($type);
88
+	} else {
89
+			return 'session_verify_fail';
90
+	}
91
+	}
86 92
 
87 93
 /**
88 94
  * Require a user who is logged in. (not a guest.)
@@ -96,25 +102,30 @@  discard block
 block discarded – undo
96 102
 	global $user_info, $txt, $context, $scripturl, $modSettings;
97 103
 
98 104
 	// Luckily, this person isn't a guest.
99
-	if (!$user_info['is_guest'])
100
-		return;
105
+	if (!$user_info['is_guest']) {
106
+			return;
107
+	}
101 108
 
102 109
 	// Log what they were trying to do didn't work)
103
-	if (!empty($modSettings['who_enabled']))
104
-		$_GET['error'] = 'guest_login';
110
+	if (!empty($modSettings['who_enabled'])) {
111
+			$_GET['error'] = 'guest_login';
112
+	}
105 113
 	writeLog(true);
106 114
 
107 115
 	// Just die.
108
-	if (isset($_REQUEST['xml']))
109
-		obExit(false);
116
+	if (isset($_REQUEST['xml'])) {
117
+			obExit(false);
118
+	}
110 119
 
111 120
 	// Attempt to detect if they came from dlattach.
112
-	if (SMF != 'SSI' && empty($context['theme_loaded']))
113
-		loadTheme();
121
+	if (SMF != 'SSI' && empty($context['theme_loaded'])) {
122
+			loadTheme();
123
+	}
114 124
 
115 125
 	// Never redirect to an attachment
116
-	if (strpos($_SERVER['REQUEST_URL'], 'dlattach') === false)
117
-		$_SESSION['login_url'] = $_SERVER['REQUEST_URL'];
126
+	if (strpos($_SERVER['REQUEST_URL'], 'dlattach') === false) {
127
+			$_SESSION['login_url'] = $_SERVER['REQUEST_URL'];
128
+	}
118 129
 
119 130
 	// Load the Login template and language file.
120 131
 	loadLanguage('Login');
@@ -124,8 +135,7 @@  discard block
 block discarded – undo
124 135
 	{
125 136
 		$_SESSION['login_url'] = $scripturl . '?' . $_SERVER['QUERY_STRING'];
126 137
 		redirectexit('action=login');
127
-	}
128
-	else
138
+	} else
129 139
 	{
130 140
 		loadTemplate('Login');
131 141
 		$context['sub_template'] = 'kick_guest';
@@ -155,8 +165,9 @@  discard block
 block discarded – undo
155 165
 	global $sourcedir, $cookiename, $user_settings, $smcFunc;
156 166
 
157 167
 	// You cannot be banned if you are an admin - doesn't help if you log out.
158
-	if ($user_info['is_admin'])
159
-		return;
168
+	if ($user_info['is_admin']) {
169
+			return;
170
+	}
160 171
 
161 172
 	// Only check the ban every so often. (to reduce load.)
162 173
 	if ($forceCheck || !isset($_SESSION['ban']) || empty($modSettings['banLastUpdated']) || ($_SESSION['ban']['last_checked'] < $modSettings['banLastUpdated']) || $_SESSION['ban']['id_member'] != $user_info['id'] || $_SESSION['ban']['ip'] != $user_info['ip'] || $_SESSION['ban']['ip2'] != $user_info['ip2'] || (isset($user_info['email'], $_SESSION['ban']['email']) && $_SESSION['ban']['email'] != $user_info['email']))
@@ -177,8 +188,9 @@  discard block
 block discarded – undo
177 188
 		// Check both IP addresses.
178 189
 		foreach (array('ip', 'ip2') as $ip_number)
179 190
 		{
180
-			if ($ip_number == 'ip2' && $user_info['ip2'] == $user_info['ip'])
181
-				continue;
191
+			if ($ip_number == 'ip2' && $user_info['ip2'] == $user_info['ip']) {
192
+							continue;
193
+			}
182 194
 			$ban_query[] = ' {inet:' . $ip_number . '} BETWEEN bi.ip_low and bi.ip_high';
183 195
 			$ban_query_vars[$ip_number] = $user_info[$ip_number];
184 196
 			// IP was valid, maybe there's also a hostname...
@@ -228,24 +240,28 @@  discard block
 block discarded – undo
228 240
 			// Store every type of ban that applies to you in your session.
229 241
 			while ($row = $smcFunc['db_fetch_assoc']($request))
230 242
 			{
231
-				foreach ($restrictions as $restriction)
232
-					if (!empty($row[$restriction]))
243
+				foreach ($restrictions as $restriction) {
244
+									if (!empty($row[$restriction]))
233 245
 					{
234 246
 						$_SESSION['ban'][$restriction]['reason'] = $row['reason'];
247
+				}
235 248
 						$_SESSION['ban'][$restriction]['ids'][] = $row['id_ban'];
236
-						if (!isset($_SESSION['ban']['expire_time']) || ($_SESSION['ban']['expire_time'] != 0 && ($row['expire_time'] == 0 || $row['expire_time'] > $_SESSION['ban']['expire_time'])))
237
-							$_SESSION['ban']['expire_time'] = $row['expire_time'];
249
+						if (!isset($_SESSION['ban']['expire_time']) || ($_SESSION['ban']['expire_time'] != 0 && ($row['expire_time'] == 0 || $row['expire_time'] > $_SESSION['ban']['expire_time']))) {
250
+													$_SESSION['ban']['expire_time'] = $row['expire_time'];
251
+						}
238 252
 
239
-						if (!$user_info['is_guest'] && $restriction == 'cannot_access' && ($row['id_member'] == $user_info['id'] || $row['email_address'] == $user_info['email']))
240
-							$flag_is_activated = true;
253
+						if (!$user_info['is_guest'] && $restriction == 'cannot_access' && ($row['id_member'] == $user_info['id'] || $row['email_address'] == $user_info['email'])) {
254
+													$flag_is_activated = true;
255
+						}
241 256
 					}
242 257
 			}
243 258
 			$smcFunc['db_free_result']($request);
244 259
 		}
245 260
 
246 261
 		// Mark the cannot_access and cannot_post bans as being 'hit'.
247
-		if (isset($_SESSION['ban']['cannot_access']) || isset($_SESSION['ban']['cannot_post']) || isset($_SESSION['ban']['cannot_login']))
248
-			log_ban(array_merge(isset($_SESSION['ban']['cannot_access']) ? $_SESSION['ban']['cannot_access']['ids'] : array(), isset($_SESSION['ban']['cannot_post']) ? $_SESSION['ban']['cannot_post']['ids'] : array(), isset($_SESSION['ban']['cannot_login']) ? $_SESSION['ban']['cannot_login']['ids'] : array()));
262
+		if (isset($_SESSION['ban']['cannot_access']) || isset($_SESSION['ban']['cannot_post']) || isset($_SESSION['ban']['cannot_login'])) {
263
+					log_ban(array_merge(isset($_SESSION['ban']['cannot_access']) ? $_SESSION['ban']['cannot_access']['ids'] : array(), isset($_SESSION['ban']['cannot_post']) ? $_SESSION['ban']['cannot_post']['ids'] : array(), isset($_SESSION['ban']['cannot_login']) ? $_SESSION['ban']['cannot_login']['ids'] : array()));
264
+		}
249 265
 
250 266
 		// If for whatever reason the is_activated flag seems wrong, do a little work to clear it up.
251 267
 		if ($user_info['id'] && (($user_settings['is_activated'] >= 10 && !$flag_is_activated)
@@ -260,8 +276,9 @@  discard block
 block discarded – undo
260 276
 	if (!isset($_SESSION['ban']['cannot_access']) && !empty($_COOKIE[$cookiename . '_']))
261 277
 	{
262 278
 		$bans = explode(',', $_COOKIE[$cookiename . '_']);
263
-		foreach ($bans as $key => $value)
264
-			$bans[$key] = (int) $value;
279
+		foreach ($bans as $key => $value) {
280
+					$bans[$key] = (int) $value;
281
+		}
265 282
 		$request = $smcFunc['db_query']('', '
266 283
 			SELECT bi.id_ban, bg.reason
267 284
 			FROM {db_prefix}ban_items AS bi
@@ -297,14 +314,15 @@  discard block
 block discarded – undo
297 314
 	if (isset($_SESSION['ban']['cannot_access']))
298 315
 	{
299 316
 		// We don't wanna see you!
300
-		if (!$user_info['is_guest'])
301
-			$smcFunc['db_query']('', '
317
+		if (!$user_info['is_guest']) {
318
+					$smcFunc['db_query']('', '
302 319
 				DELETE FROM {db_prefix}log_online
303 320
 				WHERE id_member = {int:current_member}',
304 321
 				array(
305 322
 					'current_member' => $user_info['id'],
306 323
 				)
307 324
 			);
325
+		}
308 326
 
309 327
 		// 'Log' the user out.  Can't have any funny business... (save the name!)
310 328
 		$old_name = isset($user_info['name']) && $user_info['name'] != '' ? $user_info['name'] : $txt['guest_title'];
@@ -390,9 +408,10 @@  discard block
 block discarded – undo
390 408
 	}
391 409
 
392 410
 	// Fix up the banning permissions.
393
-	if (isset($user_info['permissions']))
394
-		banPermissions();
395
-}
411
+	if (isset($user_info['permissions'])) {
412
+			banPermissions();
413
+	}
414
+	}
396 415
 
397 416
 /**
398 417
  * Fix permissions according to ban status.
@@ -403,8 +422,9 @@  discard block
 block discarded – undo
403 422
 	global $user_info, $sourcedir, $modSettings, $context;
404 423
 
405 424
 	// Somehow they got here, at least take away all permissions...
406
-	if (isset($_SESSION['ban']['cannot_access']))
407
-		$user_info['permissions'] = array();
425
+	if (isset($_SESSION['ban']['cannot_access'])) {
426
+			$user_info['permissions'] = array();
427
+	}
408 428
 	// Okay, well, you can watch, but don't touch a thing.
409 429
 	elseif (isset($_SESSION['ban']['cannot_post']) || (!empty($modSettings['warning_mute']) && $modSettings['warning_mute'] <= $user_info['warning']))
410 430
 	{
@@ -446,19 +466,20 @@  discard block
 block discarded – undo
446 466
 		call_integration_hook('integrate_warn_permissions', array(&$permission_change));
447 467
 		foreach ($permission_change as $old => $new)
448 468
 		{
449
-			if (!in_array($old, $user_info['permissions']))
450
-				unset($permission_change[$old]);
451
-			else
452
-				$user_info['permissions'][] = $new;
469
+			if (!in_array($old, $user_info['permissions'])) {
470
+							unset($permission_change[$old]);
471
+			} else {
472
+							$user_info['permissions'][] = $new;
473
+			}
453 474
 		}
454 475
 		$user_info['permissions'] = array_diff($user_info['permissions'], array_keys($permission_change));
455 476
 	}
456 477
 
457 478
 	// @todo Find a better place to call this? Needs to be after permissions loaded!
458 479
 	// Finally, some bits we cache in the session because it saves queries.
459
-	if (isset($_SESSION['mc']) && $_SESSION['mc']['time'] > $modSettings['settings_updated'] && $_SESSION['mc']['id'] == $user_info['id'])
460
-		$user_info['mod_cache'] = $_SESSION['mc'];
461
-	else
480
+	if (isset($_SESSION['mc']) && $_SESSION['mc']['time'] > $modSettings['settings_updated'] && $_SESSION['mc']['id'] == $user_info['id']) {
481
+			$user_info['mod_cache'] = $_SESSION['mc'];
482
+	} else
462 483
 	{
463 484
 		require_once($sourcedir . '/Subs-Auth.php');
464 485
 		rebuildModCache();
@@ -469,14 +490,12 @@  discard block
 block discarded – undo
469 490
 	{
470 491
 		$context['open_mod_reports'] = $_SESSION['rc']['reports'];
471 492
 		$context['open_member_reports'] = $_SESSION['rc']['member_reports'];
472
-	}
473
-	elseif ($_SESSION['mc']['bq'] != '0=1')
493
+	} elseif ($_SESSION['mc']['bq'] != '0=1')
474 494
 	{
475 495
 		require_once($sourcedir . '/Subs-ReportedContent.php');
476 496
 		$context['open_mod_reports'] = recountOpenReports('posts');
477 497
 		$context['open_member_reports'] = recountOpenReports('members');
478
-	}
479
-	else
498
+	} else
480 499
 	{
481 500
 		$context['open_mod_reports'] = 0;
482 501
 		$context['open_member_reports'] = 0;
@@ -496,8 +515,9 @@  discard block
 block discarded – undo
496 515
 	global $user_info, $smcFunc;
497 516
 
498 517
 	// Don't log web accelerators, it's very confusing...
499
-	if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
500
-		return;
518
+	if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch') {
519
+			return;
520
+	}
501 521
 
502 522
 	$smcFunc['db_insert']('',
503 523
 		'{db_prefix}log_banned',
@@ -507,8 +527,8 @@  discard block
 block discarded – undo
507 527
 	);
508 528
 
509 529
 	// One extra point for these bans.
510
-	if (!empty($ban_ids))
511
-		$smcFunc['db_query']('', '
530
+	if (!empty($ban_ids)) {
531
+			$smcFunc['db_query']('', '
512 532
 			UPDATE {db_prefix}ban_items
513 533
 			SET hits = hits + 1
514 534
 			WHERE id_ban IN ({array_int:ban_ids})',
@@ -516,7 +536,8 @@  discard block
 block discarded – undo
516 536
 				'ban_ids' => $ban_ids,
517 537
 			)
518 538
 		);
519
-}
539
+	}
540
+	}
520 541
 
521 542
 /**
522 543
  * Checks if a given email address might be banned.
@@ -532,8 +553,9 @@  discard block
 block discarded – undo
532 553
 	global $txt, $smcFunc;
533 554
 
534 555
 	// Can't ban an empty email
535
-	if (empty($email) || trim($email) == '')
536
-		return;
556
+	if (empty($email) || trim($email) == '') {
557
+			return;
558
+	}
537 559
 
538 560
 	// Let's start with the bans based on your IP/hostname/memberID...
539 561
 	$ban_ids = isset($_SESSION['ban'][$restriction]) ? $_SESSION['ban'][$restriction]['ids'] : array();
@@ -606,16 +628,18 @@  discard block
 block discarded – undo
606 628
 	if ($type == 'post')
607 629
 	{
608 630
 		$check = isset($_POST[$_SESSION['session_var']]) ? $_POST[$_SESSION['session_var']] : (empty($modSettings['strictSessionCheck']) && isset($_POST['sc']) ? $_POST['sc'] : null);
609
-		if ($check !== $sc)
610
-			$error = 'session_timeout';
631
+		if ($check !== $sc) {
632
+					$error = 'session_timeout';
633
+		}
611 634
 	}
612 635
 
613 636
 	// How about $_GET['sesc']?
614 637
 	elseif ($type == 'get')
615 638
 	{
616 639
 		$check = isset($_GET[$_SESSION['session_var']]) ? $_GET[$_SESSION['session_var']] : (empty($modSettings['strictSessionCheck']) && isset($_GET['sesc']) ? $_GET['sesc'] : null);
617
-		if ($check !== $sc)
618
-			$error = 'session_verify_fail';
640
+		if ($check !== $sc) {
641
+					$error = 'session_verify_fail';
642
+		}
619 643
 	}
620 644
 
621 645
 	// Or can it be in either?
@@ -623,13 +647,15 @@  discard block
 block discarded – undo
623 647
 	{
624 648
 		$check = isset($_GET[$_SESSION['session_var']]) ? $_GET[$_SESSION['session_var']] : (empty($modSettings['strictSessionCheck']) && isset($_GET['sesc']) ? $_GET['sesc'] : (isset($_POST[$_SESSION['session_var']]) ? $_POST[$_SESSION['session_var']] : (empty($modSettings['strictSessionCheck']) && isset($_POST['sc']) ? $_POST['sc'] : null)));
625 649
 
626
-		if ($check !== $sc)
627
-			$error = 'session_verify_fail';
650
+		if ($check !== $sc) {
651
+					$error = 'session_verify_fail';
652
+		}
628 653
 	}
629 654
 
630 655
 	// Verify that they aren't changing user agents on us - that could be bad.
631
-	if ((!isset($_SESSION['USER_AGENT']) || $_SESSION['USER_AGENT'] != $_SERVER['HTTP_USER_AGENT']) && empty($modSettings['disableCheckUA']))
632
-		$error = 'session_verify_fail';
656
+	if ((!isset($_SESSION['USER_AGENT']) || $_SESSION['USER_AGENT'] != $_SERVER['HTTP_USER_AGENT']) && empty($modSettings['disableCheckUA'])) {
657
+			$error = 'session_verify_fail';
658
+	}
633 659
 
634 660
 	// Make sure a page with session check requirement is not being prefetched.
635 661
 	if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
@@ -640,30 +666,35 @@  discard block
 block discarded – undo
640 666
 	}
641 667
 
642 668
 	// Check the referring site - it should be the same server at least!
643
-	if (isset($_SESSION['request_referer']))
644
-		$referrer = $_SESSION['request_referer'];
645
-	else
646
-		$referrer = isset($_SERVER['HTTP_REFERER']) ? @parse_url($_SERVER['HTTP_REFERER']) : array();
669
+	if (isset($_SESSION['request_referer'])) {
670
+			$referrer = $_SESSION['request_referer'];
671
+	} else {
672
+			$referrer = isset($_SERVER['HTTP_REFERER']) ? @parse_url($_SERVER['HTTP_REFERER']) : array();
673
+	}
647 674
 	if (!empty($referrer['host']))
648 675
 	{
649
-		if (strpos($_SERVER['HTTP_HOST'], ':') !== false)
650
-			$real_host = substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], ':'));
651
-		else
652
-			$real_host = $_SERVER['HTTP_HOST'];
676
+		if (strpos($_SERVER['HTTP_HOST'], ':') !== false) {
677
+					$real_host = substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], ':'));
678
+		} else {
679
+					$real_host = $_SERVER['HTTP_HOST'];
680
+		}
653 681
 
654 682
 		$parsed_url = parse_url($boardurl);
655 683
 
656 684
 		// Are global cookies on?  If so, let's check them ;).
657 685
 		if (!empty($modSettings['globalCookies']))
658 686
 		{
659
-			if (preg_match('~(?:[^\.]+\.)?([^\.]{3,}\..+)\z~i', $parsed_url['host'], $parts) == 1)
660
-				$parsed_url['host'] = $parts[1];
687
+			if (preg_match('~(?:[^\.]+\.)?([^\.]{3,}\..+)\z~i', $parsed_url['host'], $parts) == 1) {
688
+							$parsed_url['host'] = $parts[1];
689
+			}
661 690
 
662
-			if (preg_match('~(?:[^\.]+\.)?([^\.]{3,}\..+)\z~i', $referrer['host'], $parts) == 1)
663
-				$referrer['host'] = $parts[1];
691
+			if (preg_match('~(?:[^\.]+\.)?([^\.]{3,}\..+)\z~i', $referrer['host'], $parts) == 1) {
692
+							$referrer['host'] = $parts[1];
693
+			}
664 694
 
665
-			if (preg_match('~(?:[^\.]+\.)?([^\.]{3,}\..+)\z~i', $real_host, $parts) == 1)
666
-				$real_host = $parts[1];
695
+			if (preg_match('~(?:[^\.]+\.)?([^\.]{3,}\..+)\z~i', $real_host, $parts) == 1) {
696
+							$real_host = $parts[1];
697
+			}
667 698
 		}
668 699
 
669 700
 		// Okay: referrer must either match parsed_url or real_host.
@@ -681,12 +712,14 @@  discard block
 block discarded – undo
681 712
 		$log_error = true;
682 713
 	}
683 714
 
684
-	if (strtolower($_SERVER['HTTP_USER_AGENT']) == 'hacker')
685
-		fatal_error('Sound the alarm!  It\'s a hacker!  Close the castle gates!!', false);
715
+	if (strtolower($_SERVER['HTTP_USER_AGENT']) == 'hacker') {
716
+			fatal_error('Sound the alarm!  It\'s a hacker!  Close the castle gates!!', false);
717
+	}
686 718
 
687 719
 	// Everything is ok, return an empty string.
688
-	if (!isset($error))
689
-		return '';
720
+	if (!isset($error)) {
721
+			return '';
722
+	}
690 723
 	// A session error occurred, show the error.
691 724
 	elseif ($is_fatal)
692 725
 	{
@@ -695,13 +728,14 @@  discard block
 block discarded – undo
695 728
 			ob_end_clean();
696 729
 			header('HTTP/1.1 403 Forbidden - Session timeout');
697 730
 			die;
731
+		} else {
732
+					fatal_lang_error($error, isset($log_error) ? 'user' : false);
698 733
 		}
699
-		else
700
-			fatal_lang_error($error, isset($log_error) ? 'user' : false);
701 734
 	}
702 735
 	// A session error occurred, return the error to the calling function.
703
-	else
704
-		return $error;
736
+	else {
737
+			return $error;
738
+	}
705 739
 
706 740
 	// We really should never fall through here, for very important reasons.  Let's make sure.
707 741
 	trigger_error('Hacking attempt...', E_USER_ERROR);
@@ -717,10 +751,9 @@  discard block
 block discarded – undo
717 751
 {
718 752
 	global $modSettings;
719 753
 
720
-	if (isset($_GET['confirm']) && isset($_SESSION['confirm_' . $action]) && md5($_GET['confirm'] . $_SERVER['HTTP_USER_AGENT']) == $_SESSION['confirm_' . $action])
721
-		return true;
722
-
723
-	else
754
+	if (isset($_GET['confirm']) && isset($_SESSION['confirm_' . $action]) && md5($_GET['confirm'] . $_SERVER['HTTP_USER_AGENT']) == $_SESSION['confirm_' . $action]) {
755
+			return true;
756
+	} else
724 757
 	{
725 758
 		$token = md5(mt_rand() . session_id() . (string) microtime() . $modSettings['rand_seed']);
726 759
 		$_SESSION['confirm_' . $action] = md5($token . $_SERVER['HTTP_USER_AGENT']);
@@ -771,9 +804,9 @@  discard block
 block discarded – undo
771 804
 			$return = $_SESSION['token'][$type . '-' . $action][3];
772 805
 			unset($_SESSION['token'][$type . '-' . $action]);
773 806
 			return $return;
807
+		} else {
808
+					return '';
774 809
 		}
775
-		else
776
-			return '';
777 810
 	}
778 811
 
779 812
 	// This nasty piece of code validates a token.
@@ -804,12 +837,14 @@  discard block
 block discarded – undo
804 837
 		fatal_lang_error('token_verify_fail', false);
805 838
 	}
806 839
 	// Remove this token as its useless
807
-	else
808
-		unset($_SESSION['token'][$type . '-' . $action]);
840
+	else {
841
+			unset($_SESSION['token'][$type . '-' . $action]);
842
+	}
809 843
 
810 844
 	// Randomly check if we should remove some older tokens.
811
-	if (mt_rand(0, 138) == 23)
812
-		cleanTokens();
845
+	if (mt_rand(0, 138) == 23) {
846
+			cleanTokens();
847
+	}
813 848
 
814 849
 	return false;
815 850
 }
@@ -824,14 +859,16 @@  discard block
 block discarded – undo
824 859
 function cleanTokens($complete = false)
825 860
 {
826 861
 	// We appreciate cleaning up after yourselves.
827
-	if (!isset($_SESSION['token']))
828
-		return;
862
+	if (!isset($_SESSION['token'])) {
863
+			return;
864
+	}
829 865
 
830 866
 	// Clean up tokens, trying to give enough time still.
831
-	foreach ($_SESSION['token'] as $key => $data)
832
-		if ($data[2] + 10800 < time() || $complete)
867
+	foreach ($_SESSION['token'] as $key => $data) {
868
+			if ($data[2] + 10800 < time() || $complete)
833 869
 			unset($_SESSION['token'][$key]);
834
-}
870
+	}
871
+	}
835 872
 
836 873
 /**
837 874
  * Check whether a form has been submitted twice.
@@ -849,37 +886,40 @@  discard block
 block discarded – undo
849 886
 {
850 887
 	global $context;
851 888
 
852
-	if (!isset($_SESSION['forms']))
853
-		$_SESSION['forms'] = array();
889
+	if (!isset($_SESSION['forms'])) {
890
+			$_SESSION['forms'] = array();
891
+	}
854 892
 
855 893
 	// Register a form number and store it in the session stack. (use this on the page that has the form.)
856 894
 	if ($action == 'register')
857 895
 	{
858 896
 		$context['form_sequence_number'] = 0;
859
-		while (empty($context['form_sequence_number']) || in_array($context['form_sequence_number'], $_SESSION['forms']))
860
-			$context['form_sequence_number'] = mt_rand(1, 16000000);
897
+		while (empty($context['form_sequence_number']) || in_array($context['form_sequence_number'], $_SESSION['forms'])) {
898
+					$context['form_sequence_number'] = mt_rand(1, 16000000);
899
+		}
861 900
 	}
862 901
 	// Check whether the submitted number can be found in the session.
863 902
 	elseif ($action == 'check')
864 903
 	{
865
-		if (!isset($_REQUEST['seqnum']))
866
-			return true;
867
-		elseif (!in_array($_REQUEST['seqnum'], $_SESSION['forms']))
904
+		if (!isset($_REQUEST['seqnum'])) {
905
+					return true;
906
+		} elseif (!in_array($_REQUEST['seqnum'], $_SESSION['forms']))
868 907
 		{
869 908
 			$_SESSION['forms'][] = (int) $_REQUEST['seqnum'];
870 909
 			return true;
910
+		} elseif ($is_fatal) {
911
+					fatal_lang_error('error_form_already_submitted', false);
912
+		} else {
913
+					return false;
871 914
 		}
872
-		elseif ($is_fatal)
873
-			fatal_lang_error('error_form_already_submitted', false);
874
-		else
875
-			return false;
876 915
 	}
877 916
 	// Don't check, just free the stack number.
878
-	elseif ($action == 'free' && isset($_REQUEST['seqnum']) && in_array($_REQUEST['seqnum'], $_SESSION['forms']))
879
-		$_SESSION['forms'] = array_diff($_SESSION['forms'], array($_REQUEST['seqnum']));
880
-	elseif ($action != 'free')
881
-		trigger_error('checkSubmitOnce(): Invalid action \'' . $action . '\'', E_USER_WARNING);
882
-}
917
+	elseif ($action == 'free' && isset($_REQUEST['seqnum']) && in_array($_REQUEST['seqnum'], $_SESSION['forms'])) {
918
+			$_SESSION['forms'] = array_diff($_SESSION['forms'], array($_REQUEST['seqnum']));
919
+	} elseif ($action != 'free') {
920
+			trigger_error('checkSubmitOnce(): Invalid action \'' . $action . '\'', E_USER_WARNING);
921
+	}
922
+	}
883 923
 
884 924
 /**
885 925
  * Check the user's permissions.
@@ -898,16 +938,19 @@  discard block
 block discarded – undo
898 938
 	global $user_info, $smcFunc;
899 939
 
900 940
 	// You're always allowed to do nothing. (unless you're a working man, MR. LAZY :P!)
901
-	if (empty($permission))
902
-		return true;
941
+	if (empty($permission)) {
942
+			return true;
943
+	}
903 944
 
904 945
 	// You're never allowed to do something if your data hasn't been loaded yet!
905
-	if (empty($user_info))
906
-		return false;
946
+	if (empty($user_info)) {
947
+			return false;
948
+	}
907 949
 
908 950
 	// Administrators are supermen :P.
909
-	if ($user_info['is_admin'])
910
-		return true;
951
+	if ($user_info['is_admin']) {
952
+			return true;
953
+	}
911 954
 
912 955
 	// Let's ensure this is an array.
913 956
 	$permission = (array) $permission;
@@ -915,14 +958,16 @@  discard block
 block discarded – undo
915 958
 	// Are we checking the _current_ board, or some other boards?
916 959
 	if ($boards === null)
917 960
 	{
918
-		if (count(array_intersect($permission, $user_info['permissions'])) != 0)
919
-			return true;
961
+		if (count(array_intersect($permission, $user_info['permissions'])) != 0) {
962
+					return true;
963
+		}
920 964
 		// You aren't allowed, by default.
921
-		else
922
-			return false;
965
+		else {
966
+					return false;
967
+		}
968
+	} elseif (!is_array($boards)) {
969
+			$boards = array($boards);
923 970
 	}
924
-	elseif (!is_array($boards))
925
-		$boards = array($boards);
926 971
 
927 972
 	$request = $smcFunc['db_query']('', '
928 973
 		SELECT MIN(bp.add_deny) AS add_deny
@@ -950,20 +995,23 @@  discard block
 block discarded – undo
950 995
 		while ($row = $smcFunc['db_fetch_assoc']($request))
951 996
 		{
952 997
 			$result = !empty($row['add_deny']);
953
-			if ($result == true)
954
-				break;
998
+			if ($result == true) {
999
+							break;
1000
+			}
955 1001
 		}
956 1002
 		$smcFunc['db_free_result']($request);
957 1003
 		return $result;
958 1004
 	}
959 1005
 
960 1006
 	// Make sure they can do it on all of the boards.
961
-	if ($smcFunc['db_num_rows']($request) != count($boards))
962
-		return false;
1007
+	if ($smcFunc['db_num_rows']($request) != count($boards)) {
1008
+			return false;
1009
+	}
963 1010
 
964 1011
 	$result = true;
965
-	while ($row = $smcFunc['db_fetch_assoc']($request))
966
-		$result &= !empty($row['add_deny']);
1012
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1013
+			$result &= !empty($row['add_deny']);
1014
+	}
967 1015
 	$smcFunc['db_free_result']($request);
968 1016
 
969 1017
 	// If the query returned 1, they can do it... otherwise, they can't.
@@ -1030,9 +1078,10 @@  discard block
 block discarded – undo
1030 1078
 
1031 1079
 	// If you're doing something on behalf of some "heavy" permissions, validate your session.
1032 1080
 	// (take out the heavy permissions, and if you can't do anything but those, you need a validated session.)
1033
-	if (!allowedTo(array_diff($permission, $heavy_permissions), $boards))
1034
-		validateSession();
1035
-}
1081
+	if (!allowedTo(array_diff($permission, $heavy_permissions), $boards)) {
1082
+			validateSession();
1083
+	}
1084
+	}
1036 1085
 
1037 1086
 /**
1038 1087
  * Return the boards a user has a certain (board) permission on. (array(0) if all.)
@@ -1051,8 +1100,9 @@  discard block
 block discarded – undo
1051 1100
 	global $user_info, $smcFunc;
1052 1101
 
1053 1102
 	// Arrays are nice, most of the time.
1054
-	if (!is_array($permissions))
1055
-		$permissions = array($permissions);
1103
+	if (!is_array($permissions)) {
1104
+			$permissions = array($permissions);
1105
+	}
1056 1106
 
1057 1107
 	/*
1058 1108
 	 * Set $simple to true to use this function as it were in SMF 2.0.x.
@@ -1064,13 +1114,14 @@  discard block
 block discarded – undo
1064 1114
 	// Administrators are all powerful, sorry.
1065 1115
 	if ($user_info['is_admin'])
1066 1116
 	{
1067
-		if ($simple)
1068
-			return array(0);
1069
-		else
1117
+		if ($simple) {
1118
+					return array(0);
1119
+		} else
1070 1120
 		{
1071 1121
 			$boards = array();
1072
-			foreach ($permissions as $permission)
1073
-				$boards[$permission] = array(0);
1122
+			foreach ($permissions as $permission) {
1123
+							$boards[$permission] = array(0);
1124
+			}
1074 1125
 
1075 1126
 			return $boards;
1076 1127
 		}
@@ -1102,31 +1153,32 @@  discard block
 block discarded – undo
1102 1153
 	{
1103 1154
 		if ($simple)
1104 1155
 		{
1105
-			if (empty($row['add_deny']))
1106
-				$deny_boards[] = $row['id_board'];
1107
-			else
1108
-				$boards[] = $row['id_board'];
1109
-		}
1110
-		else
1156
+			if (empty($row['add_deny'])) {
1157
+							$deny_boards[] = $row['id_board'];
1158
+			} else {
1159
+							$boards[] = $row['id_board'];
1160
+			}
1161
+		} else
1111 1162
 		{
1112
-			if (empty($row['add_deny']))
1113
-				$deny_boards[$row['permission']][] = $row['id_board'];
1114
-			else
1115
-				$boards[$row['permission']][] = $row['id_board'];
1163
+			if (empty($row['add_deny'])) {
1164
+							$deny_boards[$row['permission']][] = $row['id_board'];
1165
+			} else {
1166
+							$boards[$row['permission']][] = $row['id_board'];
1167
+			}
1116 1168
 		}
1117 1169
 	}
1118 1170
 	$smcFunc['db_free_result']($request);
1119 1171
 
1120
-	if ($simple)
1121
-		$boards = array_unique(array_values(array_diff($boards, $deny_boards)));
1122
-	else
1172
+	if ($simple) {
1173
+			$boards = array_unique(array_values(array_diff($boards, $deny_boards)));
1174
+	} else
1123 1175
 	{
1124 1176
 		foreach ($permissions as $permission)
1125 1177
 		{
1126 1178
 			// never had it to start with
1127
-			if (empty($boards[$permission]))
1128
-				$boards[$permission] = array();
1129
-			else
1179
+			if (empty($boards[$permission])) {
1180
+							$boards[$permission] = array();
1181
+			} else
1130 1182
 			{
1131 1183
 				// Or it may have been removed
1132 1184
 				$deny_boards[$permission] = isset($deny_boards[$permission]) ? $deny_boards[$permission] : array();
@@ -1162,10 +1214,11 @@  discard block
 block discarded – undo
1162 1214
 
1163 1215
 
1164 1216
 	// Moderators are free...
1165
-	if (!allowedTo('moderate_board'))
1166
-		$timeLimit = isset($timeOverrides[$error_type]) ? $timeOverrides[$error_type] : $modSettings['spamWaitTime'];
1167
-	else
1168
-		$timeLimit = 2;
1217
+	if (!allowedTo('moderate_board')) {
1218
+			$timeLimit = isset($timeOverrides[$error_type]) ? $timeOverrides[$error_type] : $modSettings['spamWaitTime'];
1219
+	} else {
1220
+			$timeLimit = 2;
1221
+	}
1169 1222
 
1170 1223
 	call_integration_hook('integrate_spam_protection', array(&$timeOverrides, &$timeLimit));
1171 1224
 
@@ -1192,8 +1245,9 @@  discard block
 block discarded – undo
1192 1245
 	if ($smcFunc['db_affected_rows']() != 1)
1193 1246
 	{
1194 1247
 		// Spammer!  You only have to wait a *few* seconds!
1195
-		if (!$only_return_result)
1196
-			fatal_lang_error($error_type . '_WaitTime_broken', false, array($timeLimit));
1248
+		if (!$only_return_result) {
1249
+					fatal_lang_error($error_type . '_WaitTime_broken', false, array($timeLimit));
1250
+		}
1197 1251
 
1198 1252
 		return true;
1199 1253
 	}
@@ -1211,11 +1265,13 @@  discard block
 block discarded – undo
1211 1265
  */
1212 1266
 function secureDirectory($path, $attachments = false)
1213 1267
 {
1214
-	if (empty($path))
1215
-		return 'empty_path';
1268
+	if (empty($path)) {
1269
+			return 'empty_path';
1270
+	}
1216 1271
 
1217
-	if (!is_writable($path))
1218
-		return 'path_not_writable';
1272
+	if (!is_writable($path)) {
1273
+			return 'path_not_writable';
1274
+	}
1219 1275
 
1220 1276
 	$directoryname = basename($path);
1221 1277
 
@@ -1227,9 +1283,9 @@  discard block
 block discarded – undo
1227 1283
 
1228 1284
 RemoveHandler .php .php3 .phtml .cgi .fcgi .pl .fpl .shtml';
1229 1285
 
1230
-	if (file_exists($path . '/.htaccess'))
1231
-		$errors[] = 'htaccess_exists';
1232
-	else
1286
+	if (file_exists($path . '/.htaccess')) {
1287
+			$errors[] = 'htaccess_exists';
1288
+	} else
1233 1289
 	{
1234 1290
 		$fh = @fopen($path . '/.htaccess', 'w');
1235 1291
 		if ($fh)
@@ -1242,9 +1298,9 @@  discard block
 block discarded – undo
1242 1298
 		$errors[] = 'htaccess_cannot_create_file';
1243 1299
 	}
1244 1300
 
1245
-	if (file_exists($path . '/index.php'))
1246
-		$errors[] = 'index-php_exists';
1247
-	else
1301
+	if (file_exists($path . '/index.php')) {
1302
+			$errors[] = 'index-php_exists';
1303
+	} else
1248 1304
 	{
1249 1305
 		$fh = @fopen($path . '/index.php', 'w');
1250 1306
 		if ($fh)
@@ -1272,11 +1328,12 @@  discard block
 block discarded – undo
1272 1328
 		$errors[] = 'index-php_cannot_create_file';
1273 1329
 	}
1274 1330
 
1275
-	if (!empty($errors))
1276
-		return $errors;
1277
-	else
1278
-		return true;
1279
-}
1331
+	if (!empty($errors)) {
1332
+			return $errors;
1333
+	} else {
1334
+			return true;
1335
+	}
1336
+	}
1280 1337
 
1281 1338
 /**
1282 1339
 * This sets the X-Frame-Options header.
@@ -1289,14 +1346,16 @@  discard block
 block discarded – undo
1289 1346
 	global $modSettings;
1290 1347
 
1291 1348
 	$option = 'SAMEORIGIN';
1292
-	if (is_null($override) && !empty($modSettings['frame_security']))
1293
-		$option = $modSettings['frame_security'];
1294
-	elseif (in_array($override, array('SAMEORIGIN', 'DENY')))
1295
-		$option = $override;
1349
+	if (is_null($override) && !empty($modSettings['frame_security'])) {
1350
+			$option = $modSettings['frame_security'];
1351
+	} elseif (in_array($override, array('SAMEORIGIN', 'DENY'))) {
1352
+			$option = $override;
1353
+	}
1296 1354
 
1297 1355
 	// Don't bother setting the header if we have disabled it.
1298
-	if ($option == 'DISABLE')
1299
-		return;
1356
+	if ($option == 'DISABLE') {
1357
+			return;
1358
+	}
1300 1359
 
1301 1360
 	// Finally set it.
1302 1361
 	header('x-frame-options: ' . $option);
Please login to merge, or discard this patch.