Completed
Push — release-2.1 ( 15bff3...0c2197 )
by Jeremy
23s
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.
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.
Sources/tasks/Likes-Notify.php 1 patch
Braces   +22 added lines, -16 removed lines patch added patch discarded remove patch
@@ -51,34 +51,38 @@  discard block
 block discarded – undo
51 51
 				$ignored_members = explode(',', $row['pm_ignore_list']);
52 52
 
53 53
 				// If the user is in group 1 anywhere, they can see everything anyway.
54
-				if (in_array(1, $groups) || count(array_intersect($allowed, $groups)) != 0)
55
-					$author = $row['id_member'];
54
+				if (in_array(1, $groups) || count(array_intersect($allowed, $groups)) != 0) {
55
+									$author = $row['id_member'];
56
+				}
56 57
 			}
57 58
 			$smcFunc['db_free_result']($request);
58
-		}
59
-		else
59
+		} else
60 60
 		{
61 61
 			// This isn't something we know natively how to support. Call the hooks, if they're dealing with it, return false, otherwise return the user id.
62 62
 			$hook_results = call_integration_hook('integrate_find_like_author', array($this->_details['content_type'], $this->_details['content_id']));
63
-			foreach ($hook_results as $result)
64
-				if (!empty($result))
63
+			foreach ($hook_results as $result) {
64
+							if (!empty($result))
65 65
 				{
66 66
 					$author = $result;
67
+			}
67 68
 					break;
68 69
 				}
69 70
 		}
70 71
 
71 72
 		// If we didn't have a member... leave.
72
-		if (empty($author))
73
-			return true;
73
+		if (empty($author)) {
74
+					return true;
75
+		}
74 76
 
75 77
 		// If the person who sent the notification is the person whose content it is, do nothing.
76
-		if ($author == $this->_details['sender_id'])
77
-			return true;
78
+		if ($author == $this->_details['sender_id']) {
79
+					return true;
80
+		}
78 81
 
79 82
 		// If the person who sent the notification is on this person's ignore list, do nothing.
80
-		if (!empty($ignored_members) && in_array($this->_details['sender_id'], $ignored_members))
81
-			return true;
83
+		if (!empty($ignored_members) && in_array($this->_details['sender_id'], $ignored_members)) {
84
+					return true;
85
+		}
82 86
 
83 87
 		require_once($sourcedir . '/Subs-Notify.php');
84 88
 		$prefs = getNotifyPrefs($author, $this->_details['content_type'] . '_like', true);
@@ -87,8 +91,9 @@  discard block
 block discarded – undo
87 91
 		// As a result, the value should really just be non empty.
88 92
 
89 93
 		// Check the value. If no value or it's empty, they didn't want alerts, oh well.
90
-		if (empty($prefs[$author][$this->_details['content_type'] . '_like']))
91
-			return true;
94
+		if (empty($prefs[$author][$this->_details['content_type'] . '_like'])) {
95
+					return true;
96
+		}
92 97
 
93 98
 		// Don't spam the alerts: if there is an existing unread alert of the
94 99
 		// requested type for the target user from the sender, don't make a new one.
@@ -108,8 +113,9 @@  discard block
 block discarded – undo
108 113
 			)
109 114
 		);
110 115
 
111
-		if ($smcFunc['db_num_rows']($request) > 0)
112
-			return true;
116
+		if ($smcFunc['db_num_rows']($request) > 0) {
117
+					return true;
118
+		}
113 119
 		$smcFunc['db_free_result']($request);
114 120
 
115 121
 		// Issue, update, move on.
Please login to merge, or discard this patch.
Sources/Memberlist.php 1 patch
Braces   +84 added lines, -65 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
  * Shows a listing of registered members.
@@ -110,8 +111,9 @@  discard block
 block discarded – undo
110 111
 
111 112
 	$context['custom_profile_fields'] = getCustFieldsMList();
112 113
 
113
-	if (!empty($context['custom_profile_fields']['columns']))
114
-		$context['columns'] += $context['custom_profile_fields']['columns'];
114
+	if (!empty($context['custom_profile_fields']['columns'])) {
115
+			$context['columns'] += $context['custom_profile_fields']['columns'];
116
+	}
115 117
 
116 118
 	$context['colspan'] = 0;
117 119
 	$context['disabled_fields'] = isset($modSettings['disabled_profile_fields']) ? array_flip(explode(',', $modSettings['disabled_profile_fields'])) : array();
@@ -147,12 +149,12 @@  discard block
 block discarded – undo
147 149
 	call_integration_hook('integrate_memberlist_buttons');
148 150
 
149 151
 	// Jump to the sub action.
150
-	if (isset($subActions[$context['listing_by']]))
151
-		call_helper($subActions[$context['listing_by']][1]);
152
-
153
-	else
154
-		call_helper($subActions['all'][1]);
155
-}
152
+	if (isset($subActions[$context['listing_by']])) {
153
+			call_helper($subActions[$context['listing_by']][1]);
154
+	} else {
155
+			call_helper($subActions['all'][1]);
156
+	}
157
+	}
156 158
 
157 159
 /**
158 160
  * List all members, page by page, with sorting.
@@ -177,8 +179,9 @@  discard block
 block discarded – undo
177 179
 	if ($use_cache)
178 180
 	{
179 181
 		// Maybe there's something cached already.
180
-		if (!empty($modSettings['memberlist_cache']))
181
-			$memberlist_cache = $smcFunc['json_decode']($modSettings['memberlist_cache'], true);
182
+		if (!empty($modSettings['memberlist_cache'])) {
183
+					$memberlist_cache = $smcFunc['json_decode']($modSettings['memberlist_cache'], true);
184
+		}
182 185
 
183 186
 		// The chunk size for the cached index.
184 187
 		$cache_step_size = 500;
@@ -234,13 +237,15 @@  discard block
 block discarded – undo
234 237
 	}
235 238
 
236 239
 	// Set defaults for sort (real_name) and start. (0)
237
-	if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']]))
238
-		$_REQUEST['sort'] = 'real_name';
240
+	if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']])) {
241
+			$_REQUEST['sort'] = 'real_name';
242
+	}
239 243
 
240 244
 	if (!is_numeric($_REQUEST['start']))
241 245
 	{
242
-		if (preg_match('~^[^\'\\\\/]~' . ($context['utf8'] ? 'u' : ''), $smcFunc['strtolower']($_REQUEST['start']), $match) === 0)
243
-			fatal_error('Hacker?', false);
246
+		if (preg_match('~^[^\'\\\\/]~' . ($context['utf8'] ? 'u' : ''), $smcFunc['strtolower']($_REQUEST['start']), $match) === 0) {
247
+					fatal_error('Hacker?', false);
248
+		}
244 249
 
245 250
 		$_REQUEST['start'] = $match[0];
246 251
 
@@ -259,16 +264,18 @@  discard block
 block discarded – undo
259 264
 	}
260 265
 
261 266
 	$context['letter_links'] = '';
262
-	for ($i = 97; $i < 123; $i++)
263
-		$context['letter_links'] .= '<a href="' . $scripturl . '?action=mlist;sa=all;start=' . chr($i) . '#letter' . chr($i) . '">' . strtoupper(chr($i)) . '</a> ';
267
+	for ($i = 97; $i < 123; $i++) {
268
+			$context['letter_links'] .= '<a href="' . $scripturl . '?action=mlist;sa=all;start=' . chr($i) . '#letter' . chr($i) . '">' . strtoupper(chr($i)) . '</a> ';
269
+	}
264 270
 
265 271
 	// Sort out the column information.
266 272
 	foreach ($context['columns'] as $col => $column_details)
267 273
 	{
268 274
 		$context['columns'][$col]['href'] = $scripturl . '?action=mlist;sort=' . $col . ';start=0';
269 275
 
270
-		if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev'])))
271
-			$context['columns'][$col]['href'] .= ';desc';
276
+		if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev']))) {
277
+					$context['columns'][$col]['href'] .= ';desc';
278
+		}
272 279
 
273 280
 		$context['columns'][$col]['link'] = '<a href="' . $context['columns'][$col]['href'] . '" rel="nofollow">' . $context['columns'][$col]['label'] . '</a>';
274 281
 		$context['columns'][$col]['selected'] = $_REQUEST['sort'] == $col;
@@ -317,8 +324,9 @@  discard block
 block discarded – undo
317 324
 	elseif ($use_cache && $_REQUEST['sort'] === 'real_name')
318 325
 	{
319 326
 		$first_offset = floor(($memberlist_cache['num_members'] - $modSettings['defaultMaxMembers'] - $_REQUEST['start']) / $cache_step_size) * $cache_step_size;
320
-		if ($first_offset < 0)
321
-			$first_offset = 0;
327
+		if ($first_offset < 0) {
328
+					$first_offset = 0;
329
+		}
322 330
 		$second_offset = ceil(($memberlist_cache['num_members'] - $_REQUEST['start']) / $cache_step_size) * $cache_step_size;
323 331
 
324 332
 		$where = 'mem.real_name BETWEEN {string:real_name_low} AND {string:real_name_high}';
@@ -328,8 +336,9 @@  discard block
 block discarded – undo
328 336
 	}
329 337
 
330 338
 	$custom_fields_qry = '';
331
-	if (!empty($context['custom_profile_fields']['join'][$_REQUEST['sort']]))
332
-		$custom_fields_qry = $context['custom_profile_fields']['join'][$_REQUEST['sort']];
339
+	if (!empty($context['custom_profile_fields']['join'][$_REQUEST['sort']])) {
340
+			$custom_fields_qry = $context['custom_profile_fields']['join'][$_REQUEST['sort']];
341
+	}
333 342
 
334 343
 	// Select the members from the database.
335 344
 	$request = $smcFunc['db_query']('', '
@@ -399,12 +408,13 @@  discard block
 block discarded – undo
399 408
 		)
400 409
 	);
401 410
 	$context['custom_search_fields'] = array();
402
-	while ($row = $smcFunc['db_fetch_assoc']($request))
403
-		$context['custom_search_fields'][$row['col_name']] = array(
411
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
412
+			$context['custom_search_fields'][$row['col_name']] = array(
404 413
 			'colname' => $row['col_name'],
405 414
 			'name' => $row['field_name'],
406 415
 			'desc' => $row['field_desc'],
407 416
 		);
417
+	}
408 418
 	$smcFunc['db_free_result']($request);
409 419
 
410 420
 	// They're searching..
@@ -417,23 +427,27 @@  discard block
 block discarded – undo
417 427
 		$context['old_search_value'] = urlencode($_REQUEST['search']);
418 428
 
419 429
 		// No fields?  Use default...
420
-		if (empty($_POST['fields']))
421
-			$_POST['fields'] = array('name');
430
+		if (empty($_POST['fields'])) {
431
+					$_POST['fields'] = array('name');
432
+		}
422 433
 
423 434
 		// Set defaults for how the results are sorted
424
-		if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']]))
425
-			$_REQUEST['sort'] = 'real_name';
435
+		if (!isset($_REQUEST['sort']) || !isset($context['columns'][$_REQUEST['sort']])) {
436
+					$_REQUEST['sort'] = 'real_name';
437
+		}
426 438
 
427 439
 		// Build the column link / sort information.
428 440
 		foreach ($context['columns'] as $col => $column_details)
429 441
 		{
430 442
 			$context['columns'][$col]['href'] = $scripturl . '?action=mlist;sa=search;start=0;sort=' . $col;
431 443
 
432
-			if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev'])))
433
-				$context['columns'][$col]['href'] .= ';desc';
444
+			if ((!isset($_REQUEST['desc']) && $col == $_REQUEST['sort']) || ($col != $_REQUEST['sort'] && !empty($column_details['default_sort_rev']))) {
445
+							$context['columns'][$col]['href'] .= ';desc';
446
+			}
434 447
 
435
-			if (isset($_POST['search']) && isset($_POST['fields']))
436
-				$context['columns'][$col]['href'] .= ';search=' . $_POST['search'] . ';fields=' . implode(',', $_POST['fields']);
448
+			if (isset($_POST['search']) && isset($_POST['fields'])) {
449
+							$context['columns'][$col]['href'] .= ';search=' . $_POST['search'] . ';fields=' . implode(',', $_POST['fields']);
450
+			}
437 451
 
438 452
 			$context['columns'][$col]['link'] = '<a href="' . $context['columns'][$col]['href'] . '" rel="nofollow">' . $context['columns'][$col]['label'] . '</a>';
439 453
 			$context['columns'][$col]['selected'] = $_REQUEST['sort'] == $col;
@@ -456,8 +470,7 @@  discard block
 block discarded – undo
456 470
 		{
457 471
 			$fields = allowedTo('moderate_forum') ? array('member_name', 'real_name') : array('real_name');
458 472
 			$search_fields[] = 'name';
459
-		}
460
-		else
473
+		} else
461 474
 		{
462 475
 			$fields = array();
463 476
 			$search_fields = array();
@@ -482,9 +495,10 @@  discard block
 block discarded – undo
482 495
 			$search_fields[] = 'email';
483 496
 		}
484 497
 
485
-		if ($smcFunc['db_case_sensitive'])
486
-			foreach ($fields as $key => $field)
498
+		if ($smcFunc['db_case_sensitive']) {
499
+					foreach ($fields as $key => $field)
487 500
 				$fields[$key] = 'LOWER(' . $field . ')';
501
+		}
488 502
 
489 503
 		$customJoin = array();
490 504
 		$customCount = 10;
@@ -503,8 +517,9 @@  discard block
 block discarded – undo
503 517
 		}
504 518
 
505 519
 		// No search fields? That means you're trying to hack things
506
-		if (empty($search_fields))
507
-			fatal_lang_error('invalid_search_string', false);
520
+		if (empty($search_fields)) {
521
+					fatal_lang_error('invalid_search_string', false);
522
+		}
508 523
 
509 524
 		$query = $_POST['search'] == '' ? '= {string:blank_string}' : ($smcFunc['db_case_sensitive'] ? 'LIKE LOWER({string:search})' : 'LIKE {string:search}');
510 525
 
@@ -542,8 +557,7 @@  discard block
 block discarded – undo
542 557
 		);
543 558
 		printMemberListRows($request);
544 559
 		$smcFunc['db_free_result']($request);
545
-	}
546
-	else
560
+	} else
547 561
 	{
548 562
 		// These are all the possible fields.
549 563
 		$context['search_fields'] = array(
@@ -558,14 +572,14 @@  discard block
 block discarded – undo
558 572
 		{
559 573
 			unset($context['search_fields']['email']);
560 574
 			$context['search_defaults'] = array('name');
561
-		}
562
-		else
575
+		} else
563 576
 		{
564 577
 			$context['search_defaults'] = array('name', 'email');
565 578
 		}
566 579
 
567
-		foreach ($context['custom_search_fields'] as $field)
568
-			$context['search_fields']['cust_' . $field['colname']] = sprintf($txt['mlist_search_by'], $field['name']);
580
+		foreach ($context['custom_search_fields'] as $field) {
581
+					$context['search_fields']['cust_' . $field['colname']] = sprintf($txt['mlist_search_by'], $field['name']);
582
+		}
569 583
 
570 584
 		$context['sub_template'] = 'search';
571 585
 		$context['old_search'] = isset($_GET['search']) ? $_GET['search'] : (isset($_POST['search']) ? $smcFunc['htmlspecialchars']($_POST['search']) : '');
@@ -607,12 +621,14 @@  discard block
 block discarded – undo
607 621
 	$smcFunc['db_free_result']($result);
608 622
 
609 623
 	// Avoid division by zero...
610
-	if ($most_posts == 0)
611
-		$most_posts = 1;
624
+	if ($most_posts == 0) {
625
+			$most_posts = 1;
626
+	}
612 627
 
613 628
 	$members = array();
614
-	while ($row = $smcFunc['db_fetch_assoc']($request))
615
-		$members[] = $row['id_member'];
629
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
630
+			$members[] = $row['id_member'];
631
+	}
616 632
 
617 633
 	// Load all the members for display.
618 634
 	loadMemberData($members);
@@ -620,8 +636,9 @@  discard block
 block discarded – undo
620 636
 	$context['members'] = array();
621 637
 	foreach ($members as $member)
622 638
 	{
623
-		if (!loadMemberContext($member))
624
-			continue;
639
+		if (!loadMemberContext($member)) {
640
+					continue;
641
+		}
625 642
 
626 643
 		$context['members'][$member] = $memberContext[$member];
627 644
 		$context['members'][$member]['post_percent'] = round(($context['members'][$member]['real_posts'] * 100) / $most_posts);
@@ -644,26 +661,28 @@  discard block
 block discarded – undo
644 661
 					$fieldOptions = explode(',', $column['options']);
645 662
 					foreach ($fieldOptions as $k => $v)
646 663
 					{
647
-						if (empty($currentKey))
648
-							$currentKey = $v === $context['members'][$member]['options'][$key] ? $k : 0;
664
+						if (empty($currentKey)) {
665
+													$currentKey = $v === $context['members'][$member]['options'][$key] ? $k : 0;
666
+						}
649 667
 					}
650 668
 				}
651 669
 
652
-				if ($column['bbc'] && !empty($context['members'][$member]['options'][$key]))
653
-					$context['members'][$member]['options'][$key] = strip_tags(parse_bbc($context['members'][$member]['options'][$key]));
654
-
655
-				elseif ($column['type'] == 'check')
656
-					$context['members'][$member]['options'][$key] = $context['members'][$member]['options'][$key] == 0 ? $txt['no'] : $txt['yes'];
670
+				if ($column['bbc'] && !empty($context['members'][$member]['options'][$key])) {
671
+									$context['members'][$member]['options'][$key] = strip_tags(parse_bbc($context['members'][$member]['options'][$key]));
672
+				} elseif ($column['type'] == 'check') {
673
+									$context['members'][$member]['options'][$key] = $context['members'][$member]['options'][$key] == 0 ? $txt['no'] : $txt['yes'];
674
+				}
657 675
 
658 676
 				// Enclosing the user input within some other text?
659
-				if (!empty($column['enclose']))
660
-					$context['members'][$member]['options'][$key] = strtr($column['enclose'], array(
677
+				if (!empty($column['enclose'])) {
678
+									$context['members'][$member]['options'][$key] = strtr($column['enclose'], array(
661 679
 						'{SCRIPTURL}' => $scripturl,
662 680
 						'{IMAGES_URL}' => $settings['images_url'],
663 681
 						'{DEFAULT_IMAGES_URL}' => $settings['default_images_url'],
664 682
 						'{INPUT}' => $context['members'][$member]['options'][$key],
665 683
 						'{KEY}' => $currentKey
666 684
 					));
685
+				}
667 686
 			}
668 687
 		}
669 688
 	}
@@ -705,17 +724,17 @@  discard block
 block discarded – undo
705 724
 		);
706 725
 
707 726
 		// Get the right sort method depending on the cust field type.
708
-		if ($row['field_type'] != 'check')
709
-			$cpf['columns'][$row['col_name']]['sort'] = array(
727
+		if ($row['field_type'] != 'check') {
728
+					$cpf['columns'][$row['col_name']]['sort'] = array(
710 729
 				'down' => 'LENGTH(t' . $row['col_name'] . '.value) > 0 ASC, COALESCE(t' . $row['col_name'] . '.value, \'\') DESC',
711 730
 				'up' => 'LENGTH(t' . $row['col_name'] . '.value) > 0 DESC, COALESCE(t' . $row['col_name'] . '.value, \'\') ASC'
712 731
 			);
713
-
714
-		else
715
-			$cpf['columns'][$row['col_name']]['sort'] = array(
732
+		} else {
733
+					$cpf['columns'][$row['col_name']]['sort'] = array(
716 734
 				'down' => 't' . $row['col_name'] . '.value DESC',
717 735
 				'up' => 't' . $row['col_name'] . '.value ASC'
718 736
 			);
737
+		}
719 738
 
720 739
 		$cpf['join'][$row['col_name']] = 'LEFT JOIN {db_prefix}themes AS t' . $row['col_name'] . ' ON (t' . $row['col_name'] . '.variable = {literal:' . $row['col_name'] . '} AND t' . $row['col_name'] . '.id_theme = 1 AND t' . $row['col_name'] . '.id_member = mem.id_member)';
721 740
 	}
Please login to merge, or discard this patch.
Sources/QueryString.php 3 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -429,7 +429,7 @@
 block discarded – undo
429 429
 */
430 430
 function matchIPtoCIDR($ip_address, $cidr_address)
431 431
 {
432
-    list ($cidr_network, $cidr_subnetmask) = preg_split('/', $cidr_address);
432
+	list ($cidr_network, $cidr_subnetmask) = preg_split('/', $cidr_address);
433 433
 	
434 434
 	//v6?
435 435
 	if ((strpos($cidr_network, ':') !== false))
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -454,7 +454,7 @@
 block discarded – undo
454 454
 			break;
455 455
 		}
456 456
 		$binMask = str_pad($binMask, 32, '0');
457
-		$binMask = pack("H*" , $binMask);
457
+		$binMask = pack("H*", $binMask);
458 458
 
459 459
 		return ($ip_address & $binMask) == $cidr_network;
460 460
 	}
Please login to merge, or discard this patch.
Braces   +187 added lines, -133 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
  * Clean the request variables - add html entities to GET and slashes if magic_quotes_gpc is Off.
@@ -44,22 +45,26 @@  discard block
 block discarded – undo
44 45
 	unset($GLOBALS['HTTP_POST_FILES'], $GLOBALS['HTTP_POST_FILES']);
45 46
 
46 47
 	// These keys shouldn't be set...ever.
47
-	if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS']))
48
-		die('Invalid request variable.');
48
+	if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS'])) {
49
+			die('Invalid request variable.');
50
+	}
49 51
 
50 52
 	// Same goes for numeric keys.
51
-	foreach (array_merge(array_keys($_POST), array_keys($_GET), array_keys($_FILES)) as $key)
52
-		if (is_numeric($key))
53
+	foreach (array_merge(array_keys($_POST), array_keys($_GET), array_keys($_FILES)) as $key) {
54
+			if (is_numeric($key))
53 55
 			die('Numeric request keys are invalid.');
56
+	}
54 57
 
55 58
 	// Numeric keys in cookies are less of a problem. Just unset those.
56
-	foreach ($_COOKIE as $key => $value)
57
-		if (is_numeric($key))
59
+	foreach ($_COOKIE as $key => $value) {
60
+			if (is_numeric($key))
58 61
 			unset($_COOKIE[$key]);
62
+	}
59 63
 
60 64
 	// Get the correct query string.  It may be in an environment variable...
61
-	if (!isset($_SERVER['QUERY_STRING']))
62
-		$_SERVER['QUERY_STRING'] = getenv('QUERY_STRING');
65
+	if (!isset($_SERVER['QUERY_STRING'])) {
66
+			$_SERVER['QUERY_STRING'] = getenv('QUERY_STRING');
67
+	}
63 68
 
64 69
 	// It seems that sticking a URL after the query string is mighty common, well, it's evil - don't.
65 70
 	if (strpos($_SERVER['QUERY_STRING'], 'http') === 0)
@@ -83,13 +88,14 @@  discard block
 block discarded – undo
83 88
 		parse_str(preg_replace('/&(\w+)(?=&|$)/', '&$1=', strtr($_SERVER['QUERY_STRING'], array(';?' => '&', ';' => '&', '%00' => '', "\0" => ''))), $_GET);
84 89
 
85 90
 		// Magic quotes still applies with parse_str - so clean it up.
86
-		if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes']))
87
-			$_GET = $removeMagicQuoteFunction($_GET);
88
-	}
89
-	elseif (strpos(ini_get('arg_separator.input'), ';') !== false)
91
+		if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) {
92
+					$_GET = $removeMagicQuoteFunction($_GET);
93
+		}
94
+	} elseif (strpos(ini_get('arg_separator.input'), ';') !== false)
90 95
 	{
91
-		if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes']))
92
-			$_GET = $removeMagicQuoteFunction($_GET);
96
+		if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) {
97
+					$_GET = $removeMagicQuoteFunction($_GET);
98
+		}
93 99
 
94 100
 		// Search engines will send action=profile%3Bu=1, which confuses PHP.
95 101
 		foreach ($_GET as $k => $v)
@@ -102,8 +108,9 @@  discard block
 block discarded – undo
102 108
 				for ($i = 1, $n = count($temp); $i < $n; $i++)
103 109
 				{
104 110
 					@list ($key, $val) = @explode('=', $temp[$i], 2);
105
-					if (!isset($_GET[$key]))
106
-						$_GET[$key] = $val;
111
+					if (!isset($_GET[$key])) {
112
+											$_GET[$key] = $val;
113
+					}
107 114
 				}
108 115
 			}
109 116
 
@@ -120,18 +127,20 @@  discard block
 block discarded – undo
120 127
 	if (!empty($_SERVER['REQUEST_URI']))
121 128
 	{
122 129
 		// Remove the .html, assuming there is one.
123
-		if (substr($_SERVER['REQUEST_URI'], strrpos($_SERVER['REQUEST_URI'], '.'), 4) == '.htm')
124
-			$request = substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '.'));
125
-		else
126
-			$request = $_SERVER['REQUEST_URI'];
130
+		if (substr($_SERVER['REQUEST_URI'], strrpos($_SERVER['REQUEST_URI'], '.'), 4) == '.htm') {
131
+					$request = substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '.'));
132
+		} else {
133
+					$request = $_SERVER['REQUEST_URI'];
134
+		}
127 135
 
128 136
 		// @todo smflib.
129 137
 		// Replace 'index.php/a,b,c/d/e,f' with 'a=b,c&d=&e=f' and parse it into $_GET.
130 138
 		if (strpos($request, basename($scripturl) . '/') !== false)
131 139
 		{
132 140
 			parse_str(substr(preg_replace('/&(\w+)(?=&|$)/', '&$1=', strtr(preg_replace('~/([^,/]+),~', '/$1=', substr($request, strpos($request, basename($scripturl)) + strlen(basename($scripturl)))), '/', '&')), 1), $temp);
133
-			if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes']))
134
-				$temp = $removeMagicQuoteFunction($temp);
141
+			if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) {
142
+							$temp = $removeMagicQuoteFunction($temp);
143
+			}
135 144
 			$_GET += $temp;
136 145
 		}
137 146
 	}
@@ -142,9 +151,10 @@  discard block
 block discarded – undo
142 151
 		$_ENV = $removeMagicQuoteFunction($_ENV);
143 152
 		$_POST = $removeMagicQuoteFunction($_POST);
144 153
 		$_COOKIE = $removeMagicQuoteFunction($_COOKIE);
145
-		foreach ($_FILES as $k => $dummy)
146
-			if (isset($_FILES[$k]['name']))
154
+		foreach ($_FILES as $k => $dummy) {
155
+					if (isset($_FILES[$k]['name']))
147 156
 				$_FILES[$k]['name'] = $removeMagicQuoteFunction($_FILES[$k]['name']);
157
+		}
148 158
 	}
149 159
 
150 160
 	// Add entities to GET.  This is kinda like the slashes on everything else.
@@ -160,11 +170,13 @@  discard block
 block discarded – undo
160 170
 		$_REQUEST['board'] = (string) $_REQUEST['board'];
161 171
 
162 172
 		// If there's a slash in it, we've got a start value! (old, compatible links.)
163
-		if (strpos($_REQUEST['board'], '/') !== false)
164
-			list ($_REQUEST['board'], $_REQUEST['start']) = explode('/', $_REQUEST['board']);
173
+		if (strpos($_REQUEST['board'], '/') !== false) {
174
+					list ($_REQUEST['board'], $_REQUEST['start']) = explode('/', $_REQUEST['board']);
175
+		}
165 176
 		// Same idea, but dots.  This is the currently used format - ?board=1.0...
166
-		elseif (strpos($_REQUEST['board'], '.') !== false)
167
-			list ($_REQUEST['board'], $_REQUEST['start']) = explode('.', $_REQUEST['board']);
177
+		elseif (strpos($_REQUEST['board'], '.') !== false) {
178
+					list ($_REQUEST['board'], $_REQUEST['start']) = explode('.', $_REQUEST['board']);
179
+		}
168 180
 		// Now make absolutely sure it's a number.
169 181
 		$board = (int) $_REQUEST['board'];
170 182
 		$_REQUEST['start'] = isset($_REQUEST['start']) ? (int) $_REQUEST['start'] : 0;
@@ -173,12 +185,14 @@  discard block
 block discarded – undo
173 185
 		$_GET['board'] = $board;
174 186
 	}
175 187
 	// Well, $board is going to be a number no matter what.
176
-	else
177
-		$board = 0;
188
+	else {
189
+			$board = 0;
190
+	}
178 191
 
179 192
 	// If there's a threadid, it's probably an old YaBB SE link.  Flow with it.
180
-	if (isset($_REQUEST['threadid']) && !isset($_REQUEST['topic']))
181
-		$_REQUEST['topic'] = $_REQUEST['threadid'];
193
+	if (isset($_REQUEST['threadid']) && !isset($_REQUEST['topic'])) {
194
+			$_REQUEST['topic'] = $_REQUEST['threadid'];
195
+	}
182 196
 
183 197
 	// We've got topic!
184 198
 	if (isset($_REQUEST['topic']))
@@ -187,11 +201,13 @@  discard block
 block discarded – undo
187 201
 		$_REQUEST['topic'] = (string) $_REQUEST['topic'];
188 202
 
189 203
 		// Slash means old, beta style, formatting.  That's okay though, the link should still work.
190
-		if (strpos($_REQUEST['topic'], '/') !== false)
191
-			list ($_REQUEST['topic'], $_REQUEST['start']) = explode('/', $_REQUEST['topic']);
204
+		if (strpos($_REQUEST['topic'], '/') !== false) {
205
+					list ($_REQUEST['topic'], $_REQUEST['start']) = explode('/', $_REQUEST['topic']);
206
+		}
192 207
 		// Dots are useful and fun ;).  This is ?topic=1.15.
193
-		elseif (strpos($_REQUEST['topic'], '.') !== false)
194
-			list ($_REQUEST['topic'], $_REQUEST['start']) = explode('.', $_REQUEST['topic']);
208
+		elseif (strpos($_REQUEST['topic'], '.') !== false) {
209
+					list ($_REQUEST['topic'], $_REQUEST['start']) = explode('.', $_REQUEST['topic']);
210
+		}
195 211
 
196 212
 		// Topic should always be an integer
197 213
 		$topic = $_GET['topic'] = $_REQUEST['topic'] = (int) $_REQUEST['topic'];
@@ -225,21 +241,25 @@  discard block
 block discarded – undo
225 241
 			$_REQUEST['start'] = $timestamp === 0 ? 0 : 'from' . $timestamp;
226 242
 		}
227 243
 		// ... or something invalid, in which case we reset it to 0.
228
-		else
229
-			$_REQUEST['start'] = 0;
244
+		else {
245
+					$_REQUEST['start'] = 0;
246
+		}
247
+	} else {
248
+			$topic = 0;
230 249
 	}
231
-	else
232
-		$topic = 0;
233 250
 
234 251
 	// There should be a $_REQUEST['start'], some at least.  If you need to default to other than 0, use $_GET['start'].
235
-	if (empty($_REQUEST['start']) || $_REQUEST['start'] < 0 || (int) $_REQUEST['start'] > 2147473647)
236
-		$_REQUEST['start'] = 0;
252
+	if (empty($_REQUEST['start']) || $_REQUEST['start'] < 0 || (int) $_REQUEST['start'] > 2147473647) {
253
+			$_REQUEST['start'] = 0;
254
+	}
237 255
 
238 256
 	// The action needs to be a string and not an array or anything else
239
-	if (isset($_REQUEST['action']))
240
-		$_REQUEST['action'] = (string) $_REQUEST['action'];
241
-	if (isset($_GET['action']))
242
-		$_GET['action'] = (string) $_GET['action'];
257
+	if (isset($_REQUEST['action'])) {
258
+			$_REQUEST['action'] = (string) $_REQUEST['action'];
259
+	}
260
+	if (isset($_GET['action'])) {
261
+			$_GET['action'] = (string) $_GET['action'];
262
+	}
243 263
 
244 264
 	// Some mail providers like to encode semicolons in activation URLs...
245 265
 	if (!empty($_REQUEST['action']) && substr($_SERVER['QUERY_STRING'], 0, 18) == 'action=activate%3b')
@@ -265,29 +285,33 @@  discard block
 block discarded – undo
265 285
 	$_SERVER['BAN_CHECK_IP'] = $_SERVER['REMOTE_ADDR'];
266 286
 
267 287
 	// If we haven't specified how to handle Reverse Proxy IP headers, lets do what we always used to do.
268
-	if (!isset($modSettings['proxy_ip_header']))
269
-		$modSettings['proxy_ip_header'] = 'autodetect';
288
+	if (!isset($modSettings['proxy_ip_header'])) {
289
+			$modSettings['proxy_ip_header'] = 'autodetect';
290
+	}
270 291
 
271 292
 	// Which headers are we going to check for Reverse Proxy IP headers?
272
-	if ($modSettings['proxy_ip_header'] == 'disabled')
273
-		$reverseIPheaders = array();
274
-	elseif ($modSettings['proxy_ip_header'] == 'autodetect')
275
-		$reverseIPheaders = array('HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP');
276
-	else
277
-		$reverseIPheaders = array($modSettings['proxy_ip_header']);
293
+	if ($modSettings['proxy_ip_header'] == 'disabled') {
294
+			$reverseIPheaders = array();
295
+	} elseif ($modSettings['proxy_ip_header'] == 'autodetect') {
296
+			$reverseIPheaders = array('HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP');
297
+	} else {
298
+			$reverseIPheaders = array($modSettings['proxy_ip_header']);
299
+	}
278 300
 
279 301
 	// Find the user's IP address. (but don't let it give you 'unknown'!)
280 302
 	foreach ($reverseIPheaders as $proxyIPheader)
281 303
 	{
282 304
 		// Ignore if this is not set.
283
-		if (!isset($_SERVER[$proxyIPheader]))
284
-			continue;
305
+		if (!isset($_SERVER[$proxyIPheader])) {
306
+					continue;
307
+		}
285 308
 
286 309
 		if (!empty($modSettings['proxy_ip_servers']))
287 310
 		{
288
-			foreach (explode(',', $modSettings['proxy_ip_servers']) as $proxy)
289
-				if ($proxy == $_SERVER['REMOTE_ADDR'] || matchIPtoCIDR($_SERVER['REMOTE_ADDR'], $proxy))
311
+			foreach (explode(',', $modSettings['proxy_ip_servers']) as $proxy) {
312
+							if ($proxy == $_SERVER['REMOTE_ADDR'] || matchIPtoCIDR($_SERVER['REMOTE_ADDR'], $proxy))
290 313
 					continue;
314
+			}
291 315
 		}
292 316
 
293 317
 		// If there are commas, get the last one.. probably.
@@ -307,8 +331,9 @@  discard block
 block discarded – undo
307 331
 
308 332
 						// Just incase we have a legacy IPv4 address.
309 333
 						// @ TODO: Convert to IPv6.
310
-						if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0)
311
-							continue;
334
+						if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0) {
335
+													continue;
336
+						}
312 337
 					}
313 338
 
314 339
 					continue;
@@ -320,36 +345,40 @@  discard block
 block discarded – undo
320 345
 			}
321 346
 		}
322 347
 		// Otherwise just use the only one.
323
-		elseif (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER[$proxyIPheader]) == 0 || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER['REMOTE_ADDR']) != 0)
324
-			$_SERVER['BAN_CHECK_IP'] = $_SERVER[$proxyIPheader];
325
-		elseif (!isValidIPv6($_SERVER[$proxyIPheader]) || preg_match('~::ffff:\d+\.\d+\.\d+\.\d+~', $_SERVER[$proxyIPheader]) !== 0)
348
+		elseif (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER[$proxyIPheader]) == 0 || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER['REMOTE_ADDR']) != 0) {
349
+					$_SERVER['BAN_CHECK_IP'] = $_SERVER[$proxyIPheader];
350
+		} elseif (!isValidIPv6($_SERVER[$proxyIPheader]) || preg_match('~::ffff:\d+\.\d+\.\d+\.\d+~', $_SERVER[$proxyIPheader]) !== 0)
326 351
 		{
327 352
 			$_SERVER[$proxyIPheader] = preg_replace('~^::ffff:(\d+\.\d+\.\d+\.\d+)~', '\1', $_SERVER[$proxyIPheader]);
328 353
 
329 354
 			// Just incase we have a legacy IPv4 address.
330 355
 			// @ TODO: Convert to IPv6.
331
-			if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0)
332
-				continue;
356
+			if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0) {
357
+							continue;
358
+			}
333 359
 		}
334 360
 	}
335 361
 
336 362
 	// Make sure we know the URL of the current request.
337
-	if (empty($_SERVER['REQUEST_URI']))
338
-		$_SERVER['REQUEST_URL'] = $scripturl . (!empty($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : '');
339
-	elseif (preg_match('~^([^/]+//[^/]+)~', $scripturl, $match) == 1)
340
-		$_SERVER['REQUEST_URL'] = $match[1] . $_SERVER['REQUEST_URI'];
341
-	else
342
-		$_SERVER['REQUEST_URL'] = $_SERVER['REQUEST_URI'];
363
+	if (empty($_SERVER['REQUEST_URI'])) {
364
+			$_SERVER['REQUEST_URL'] = $scripturl . (!empty($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : '');
365
+	} elseif (preg_match('~^([^/]+//[^/]+)~', $scripturl, $match) == 1) {
366
+			$_SERVER['REQUEST_URL'] = $match[1] . $_SERVER['REQUEST_URI'];
367
+	} else {
368
+			$_SERVER['REQUEST_URL'] = $_SERVER['REQUEST_URI'];
369
+	}
343 370
 
344 371
 	// And make sure HTTP_USER_AGENT is set.
345 372
 	$_SERVER['HTTP_USER_AGENT'] = isset($_SERVER['HTTP_USER_AGENT']) ? (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($smcFunc['db_unescape_string']($_SERVER['HTTP_USER_AGENT']), ENT_QUOTES) : htmlspecialchars($smcFunc['db_unescape_string']($_SERVER['HTTP_USER_AGENT']), ENT_QUOTES)) : '';
346 373
 
347 374
 	// Some final checking.
348
-	if (!isValidIP($_SERVER['BAN_CHECK_IP']))
349
-		$_SERVER['BAN_CHECK_IP'] = '';
350
-	if ($_SERVER['REMOTE_ADDR'] == 'unknown')
351
-		$_SERVER['REMOTE_ADDR'] = '';
352
-}
375
+	if (!isValidIP($_SERVER['BAN_CHECK_IP'])) {
376
+			$_SERVER['BAN_CHECK_IP'] = '';
377
+	}
378
+	if ($_SERVER['REMOTE_ADDR'] == 'unknown') {
379
+			$_SERVER['REMOTE_ADDR'] = '';
380
+	}
381
+	}
353 382
 
354 383
 /**
355 384
  * Validates a IPv6 address. returns true if it is ipv6.
@@ -360,8 +389,9 @@  discard block
 block discarded – undo
360 389
 function isValidIPv6($ip)
361 390
 {
362 391
 	//looking for :
363
-	if (strpos($ip, ':') === false)
364
-		return false;
392
+	if (strpos($ip, ':') === false) {
393
+			return false;
394
+	}
365 395
 
366 396
 	//check valid address
367 397
 	return filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6);
@@ -379,8 +409,9 @@  discard block
 block discarded – undo
379 409
 	static $converted = array();
380 410
 
381 411
 	// Check if we have done this already.
382
-	if (isset($converted[$addr]))
383
-		return $converted[$addr];
412
+	if (isset($converted[$addr])) {
413
+			return $converted[$addr];
414
+	}
384 415
 
385 416
 	// Check if there are segments missing, insert if necessary.
386 417
 	if (strpos($addr, '::') !== false)
@@ -390,18 +421,20 @@  discard block
 block discarded – undo
390 421
 		$part[1] = explode(':', $part[1]);
391 422
 		$missing = array();
392 423
 
393
-		for ($i = 0; $i < (8 - (count($part[0]) + count($part[1]))); $i++)
394
-			array_push($missing, '0000');
424
+		for ($i = 0; $i < (8 - (count($part[0]) + count($part[1]))); $i++) {
425
+					array_push($missing, '0000');
426
+		}
395 427
 
396 428
 		$part = array_merge($part[0], $missing, $part[1]);
429
+	} else {
430
+			$part = explode(':', $addr);
397 431
 	}
398
-	else
399
-		$part = explode(':', $addr);
400 432
 
401 433
 	// Pad each segment until it has 4 digits.
402
-	foreach ($part as &$p)
403
-		while (strlen($p) < 4)
434
+	foreach ($part as &$p) {
435
+			while (strlen($p) < 4)
404 436
 			$p = '0' . $p;
437
+	}
405 438
 
406 439
 	unset($p);
407 440
 
@@ -412,11 +445,12 @@  discard block
 block discarded – undo
412 445
 	$converted[$addr] = $result;
413 446
 
414 447
 	// Quick check to make sure the length is as expected.
415
-	if (!$strict_check || strlen($result) == 39)
416
-		return $result;
417
-	else
418
-		return false;
419
-}
448
+	if (!$strict_check || strlen($result) == 39) {
449
+			return $result;
450
+	} else {
451
+			return false;
452
+	}
453
+	}
420 454
 
421 455
 
422 456
 /**
@@ -434,8 +468,9 @@  discard block
 block discarded – undo
434 468
 	//v6?
435 469
 	if ((strpos($cidr_network, ':') !== false))
436 470
 	{
437
-		if (!filter_var($ip_address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) || !filter_var($cidr_network, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
438
-				return false;
471
+		if (!filter_var($ip_address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) || !filter_var($cidr_network, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
472
+						return false;
473
+		}
439 474
 
440 475
 		$ip_address = inet_pton($ip_address);
441 476
 		$cidr_network = inet_pton($cidr_network);
@@ -457,10 +492,10 @@  discard block
 block discarded – undo
457 492
 		$binMask = pack("H*" , $binMask);
458 493
 
459 494
 		return ($ip_address & $binMask) == $cidr_network;
495
+	} else {
496
+			return (ip2long($ip_address) & (~((1 << (32 - $cidr_subnetmask)) - 1))) == ip2long($cidr_network);
497
+	}
460 498
 	}
461
-	else
462
-		return (ip2long($ip_address) & (~((1 << (32 - $cidr_subnetmask)) - 1))) == ip2long($cidr_network);
463
-}
464 499
 
465 500
 /**
466 501
  * Adds slashes to the array/variable.
@@ -476,15 +511,17 @@  discard block
 block discarded – undo
476 511
 {
477 512
 	global $smcFunc;
478 513
 
479
-	if (!is_array($var))
480
-		return $smcFunc['db_escape_string']($var);
514
+	if (!is_array($var)) {
515
+			return $smcFunc['db_escape_string']($var);
516
+	}
481 517
 
482 518
 	// Reindex the array with slashes.
483 519
 	$new_var = array();
484 520
 
485 521
 	// Add slashes to every element, even the indexes!
486
-	foreach ($var as $k => $v)
487
-		$new_var[$smcFunc['db_escape_string']($k)] = escapestring__recursive($v);
522
+	foreach ($var as $k => $v) {
523
+			$new_var[$smcFunc['db_escape_string']($k)] = escapestring__recursive($v);
524
+	}
488 525
 
489 526
 	return $new_var;
490 527
 }
@@ -504,12 +541,14 @@  discard block
 block discarded – undo
504 541
 {
505 542
 	global $smcFunc;
506 543
 
507
-	if (!is_array($var))
508
-		return isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($var, ENT_QUOTES) : htmlspecialchars($var, ENT_QUOTES);
544
+	if (!is_array($var)) {
545
+			return isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($var, ENT_QUOTES) : htmlspecialchars($var, ENT_QUOTES);
546
+	}
509 547
 
510 548
 	// Add the htmlspecialchars to every element.
511
-	foreach ($var as $k => $v)
512
-		$var[$k] = $level > 25 ? null : htmlspecialchars__recursive($v, $level + 1);
549
+	foreach ($var as $k => $v) {
550
+			$var[$k] = $level > 25 ? null : htmlspecialchars__recursive($v, $level + 1);
551
+	}
513 552
 
514 553
 	return $var;
515 554
 }
@@ -527,15 +566,17 @@  discard block
 block discarded – undo
527 566
  */
528 567
 function urldecode__recursive($var, $level = 0)
529 568
 {
530
-	if (!is_array($var))
531
-		return urldecode($var);
569
+	if (!is_array($var)) {
570
+			return urldecode($var);
571
+	}
532 572
 
533 573
 	// Reindex the array...
534 574
 	$new_var = array();
535 575
 
536 576
 	// Add the htmlspecialchars to every element.
537
-	foreach ($var as $k => $v)
538
-		$new_var[urldecode($k)] = $level > 25 ? null : urldecode__recursive($v, $level + 1);
577
+	foreach ($var as $k => $v) {
578
+			$new_var[urldecode($k)] = $level > 25 ? null : urldecode__recursive($v, $level + 1);
579
+	}
539 580
 
540 581
 	return $new_var;
541 582
 }
@@ -553,15 +594,17 @@  discard block
 block discarded – undo
553 594
 {
554 595
 	global $smcFunc;
555 596
 
556
-	if (!is_array($var))
557
-		return $smcFunc['db_unescape_string']($var);
597
+	if (!is_array($var)) {
598
+			return $smcFunc['db_unescape_string']($var);
599
+	}
558 600
 
559 601
 	// Reindex the array without slashes, this time.
560 602
 	$new_var = array();
561 603
 
562 604
 	// Strip the slashes from every element.
563
-	foreach ($var as $k => $v)
564
-		$new_var[$smcFunc['db_unescape_string']($k)] = unescapestring__recursive($v);
605
+	foreach ($var as $k => $v) {
606
+			$new_var[$smcFunc['db_unescape_string']($k)] = unescapestring__recursive($v);
607
+	}
565 608
 
566 609
 	return $new_var;
567 610
 }
@@ -579,15 +622,17 @@  discard block
 block discarded – undo
579 622
  */
580 623
 function stripslashes__recursive($var, $level = 0)
581 624
 {
582
-	if (!is_array($var))
583
-		return stripslashes($var);
625
+	if (!is_array($var)) {
626
+			return stripslashes($var);
627
+	}
584 628
 
585 629
 	// Reindex the array without slashes, this time.
586 630
 	$new_var = array();
587 631
 
588 632
 	// Strip the slashes from every element.
589
-	foreach ($var as $k => $v)
590
-		$new_var[stripslashes($k)] = $level > 25 ? null : stripslashes__recursive($v, $level + 1);
633
+	foreach ($var as $k => $v) {
634
+			$new_var[stripslashes($k)] = $level > 25 ? null : stripslashes__recursive($v, $level + 1);
635
+	}
591 636
 
592 637
 	return $new_var;
593 638
 }
@@ -608,12 +653,14 @@  discard block
 block discarded – undo
608 653
 	global $smcFunc;
609 654
 
610 655
 	// Remove spaces (32), tabs (9), returns (13, 10, and 11), nulls (0), and hard spaces. (160)
611
-	if (!is_array($var))
612
-		return isset($smcFunc) ? $smcFunc['htmltrim']($var) : trim($var, ' ' . "\t\n\r\x0B" . '\0' . "\xA0");
656
+	if (!is_array($var)) {
657
+			return isset($smcFunc) ? $smcFunc['htmltrim']($var) : trim($var, ' ' . "\t\n\r\x0B" . '\0' . "\xA0");
658
+	}
613 659
 
614 660
 	// Go through all the elements and remove the whitespace.
615
-	foreach ($var as $k => $v)
616
-		$var[$k] = $level > 25 ? null : htmltrim__recursive($v, $level + 1);
661
+	foreach ($var as $k => $v) {
662
+			$var[$k] = $level > 25 ? null : htmltrim__recursive($v, $level + 1);
663
+	}
617 664
 
618 665
 	return $var;
619 666
 }
@@ -678,30 +725,37 @@  discard block
 block discarded – undo
678 725
 	global $scripturl, $modSettings, $context;
679 726
 
680 727
 	// If $scripturl is set to nothing, or the SID is not defined (SSI?) just quit.
681
-	if ($scripturl == '' || !defined('SID'))
682
-		return $buffer;
728
+	if ($scripturl == '' || !defined('SID')) {
729
+			return $buffer;
730
+	}
683 731
 
684 732
 	// Do nothing if the session is cookied, or they are a crawler - guests are caught by redirectexit().  This doesn't work below PHP 4.3.0, because it makes the output buffer bigger.
685 733
 	// @todo smflib
686
-	if (empty($_COOKIE) && SID != '' && !isBrowser('possibly_robot'))
687
-		$buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', '"' . $scripturl . '?' . SID . '&amp;', $buffer);
734
+	if (empty($_COOKIE) && SID != '' && !isBrowser('possibly_robot')) {
735
+			$buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', '"' . $scripturl . '?' . SID . '&amp;', $buffer);
736
+	}
688 737
 	// Debugging templates, are we?
689
-	elseif (isset($_GET['debug']))
690
-		$buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '\\??/', '"' . $scripturl . '?debug;', $buffer);
738
+	elseif (isset($_GET['debug'])) {
739
+			$buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '\\??/', '"' . $scripturl . '?debug;', $buffer);
740
+	}
691 741
 
692 742
 	// This should work even in 4.2.x, just not CGI without cgi.fix_pathinfo.
693 743
 	if (!empty($modSettings['queryless_urls']) && (!$context['server']['is_cgi'] || ini_get('cgi.fix_pathinfo') == 1 || @get_cfg_var('cgi.fix_pathinfo') == 1) && ($context['server']['is_apache'] || $context['server']['is_lighttpd'] || $context['server']['is_litespeed']))
694 744
 	{
695 745
 		// Let's do something special for session ids!
696
-		if (defined('SID') && SID != '')
697
-			$buffer = preg_replace_callback('~"' . preg_quote($scripturl, '~') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m)
746
+		if (defined('SID') && SID != '') {
747
+					$buffer = preg_replace_callback('~"' . preg_quote($scripturl, '~') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m)
698 748
 			{
699
-				global $scripturl; return '"' . $scripturl . "/" . strtr("$m[1]", '&;=', '//,') . ".html?" . SID . (isset($m[2]) ? $m[2] : "") . '"';
749
+				global $scripturl;
750
+		}
751
+		return '"' . $scripturl . "/" . strtr("$m[1]", '&;=', '//,') . ".html?" . SID . (isset($m[2]) ? $m[2] : "") . '"';
700 752
 			}, $buffer);
701
-		else
702
-			$buffer = preg_replace_callback('~"' . preg_quote($scripturl, '~') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m)
753
+		else {
754
+					$buffer = preg_replace_callback('~"' . preg_quote($scripturl, '~') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m)
703 755
 			{
704
-				global $scripturl; return '"' . $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? $m[2] : "") . '"';
756
+				global $scripturl;
757
+		}
758
+		return '"' . $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? $m[2] : "") . '"';
705 759
 			}, $buffer);
706 760
 	}
707 761
 
Please login to merge, or discard this patch.
Sources/Subs-Calendar.php 1 patch
Braces   +227 added lines, -165 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
  * Get all birthdays within the given time range.
@@ -60,8 +61,7 @@  discard block
 block discarded – undo
60 61
 				'max_year' => $year_high,
61 62
 			)
62 63
 		);
63
-	}
64
-	else
64
+	} else
65 65
 	{
66 66
 		$result = $smcFunc['db_query']('birthday_array', '
67 67
 			SELECT id_member, real_name, YEAR(birthdate) AS birth_year, birthdate
@@ -91,10 +91,11 @@  discard block
 block discarded – undo
91 91
 	$bday = array();
92 92
 	while ($row = $smcFunc['db_fetch_assoc']($result))
93 93
 	{
94
-		if ($year_low != $year_high)
95
-			$age_year = substr($row['birthdate'], 5) < substr($high_date, 5) ? $year_high : $year_low;
96
-		else
97
-			$age_year = $year_low;
94
+		if ($year_low != $year_high) {
95
+					$age_year = substr($row['birthdate'], 5) < substr($high_date, 5) ? $year_high : $year_low;
96
+		} else {
97
+					$age_year = $year_low;
98
+		}
98 99
 
99 100
 		$bday[$age_year . substr($row['birthdate'], 4)][] = array(
100 101
 			'id' => $row['id_member'],
@@ -108,8 +109,9 @@  discard block
 block discarded – undo
108 109
 	ksort($bday);
109 110
 
110 111
 	// Set is_last, so the themes know when to stop placing separators.
111
-	foreach ($bday as $mday => $array)
112
-		$bday[$mday][count($array) - 1]['is_last'] = true;
112
+	foreach ($bday as $mday => $array) {
113
+			$bday[$mday][count($array) - 1]['is_last'] = true;
114
+	}
113 115
 
114 116
 	return $bday;
115 117
 }
@@ -133,8 +135,9 @@  discard block
 block discarded – undo
133 135
 	static $timezone_array = array();
134 136
 	require_once($sourcedir . '/Subs.php');
135 137
 
136
-	if (empty($timezone_array['default']))
137
-		$timezone_array['default'] = timezone_open(date_default_timezone_get());
138
+	if (empty($timezone_array['default'])) {
139
+			$timezone_array['default'] = timezone_open(date_default_timezone_get());
140
+	}
138 141
 
139 142
 	$low_object = date_create($low_date);
140 143
 	$high_object = date_create($high_date);
@@ -161,8 +164,9 @@  discard block
 block discarded – undo
161 164
 	while ($row = $smcFunc['db_fetch_assoc']($result))
162 165
 	{
163 166
 		// If the attached topic is not approved then for the moment pretend it doesn't exist
164
-		if (!empty($row['id_first_msg']) && $modSettings['postmod_active'] && !$row['approved'])
165
-			continue;
167
+		if (!empty($row['id_first_msg']) && $modSettings['postmod_active'] && !$row['approved']) {
168
+					continue;
169
+		}
166 170
 
167 171
 		// Force a censor of the title - as often these are used by others.
168 172
 		censorText($row['title'], $use_permissions ? false : true);
@@ -170,12 +174,14 @@  discard block
 block discarded – undo
170 174
 		// Get the various time and date properties for this event
171 175
 		list($start, $end, $allday, $span, $tz, $tz_abbrev) = buildEventDatetimes($row);
172 176
 
173
-		if (empty($timezone_array[$tz]))
174
-			$timezone_array[$tz] = timezone_open($tz);
177
+		if (empty($timezone_array[$tz])) {
178
+					$timezone_array[$tz] = timezone_open($tz);
179
+		}
175 180
 
176 181
 		// Sanity check
177
-		if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count']))
178
-			continue;
182
+		if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count'])) {
183
+					continue;
184
+		}
179 185
 
180 186
 		// Get set up for the loop
181 187
 		$start_object = date_create($row['start_date'] . (!$allday ? ' ' . $row['start_time'] : ''), $timezone_array[$tz]);
@@ -239,8 +245,8 @@  discard block
 block discarded – undo
239 245
 			);
240 246
 
241 247
 			// If we're using permissions (calendar pages?) then just ouput normal contextual style information.
242
-			if ($use_permissions)
243
-				$events[date_format($cal_date, 'Y-m-d')][] = array_merge($eventProperties, array(
248
+			if ($use_permissions) {
249
+							$events[date_format($cal_date, 'Y-m-d')][] = array_merge($eventProperties, array(
244 250
 					'href' => $row['id_board'] == 0 ? '' : $scripturl . '?topic=' . $row['id_topic'] . '.0',
245 251
 					'link' => $row['id_board'] == 0 ? $row['title'] : '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0">' . $row['title'] . '</a>',
246 252
 					'can_edit' => allowedTo('calendar_edit_any') || ($row['id_member'] == $user_info['id'] && allowedTo('calendar_edit_own')),
@@ -248,9 +254,10 @@  discard block
 block discarded – undo
248 254
 					'can_export' => !empty($modSettings['cal_export']) ? true : false,
249 255
 					'export_href' => $scripturl . '?action=calendar;sa=ical;eventid=' . $row['id_event'] . ';' . $context['session_var'] . '=' . $context['session_id'],
250 256
 				));
257
+			}
251 258
 			// Otherwise, this is going to be cached and the VIEWER'S permissions should apply... just put together some info.
252
-			else
253
-				$events[date_format($cal_date, 'Y-m-d')][] = array_merge($eventProperties, array(
259
+			else {
260
+							$events[date_format($cal_date, 'Y-m-d')][] = array_merge($eventProperties, array(
254 261
 					'href' => $row['id_topic'] == 0 ? '' : $scripturl . '?topic=' . $row['id_topic'] . '.0',
255 262
 					'link' => $row['id_topic'] == 0 ? $row['title'] : '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0">' . $row['title'] . '</a>',
256 263
 					'can_edit' => false,
@@ -260,6 +267,7 @@  discard block
 block discarded – undo
260 267
 					'poster' => $row['id_member'],
261 268
 					'allowed_groups' => explode(',', $row['member_groups']),
262 269
 				));
270
+			}
263 271
 
264 272
 			date_add($cal_date, date_interval_create_from_date_string('1 day'));
265 273
 		}
@@ -269,8 +277,9 @@  discard block
 block discarded – undo
269 277
 	// If we're doing normal contextual data, go through and make things clear to the templates ;).
270 278
 	if ($use_permissions)
271 279
 	{
272
-		foreach ($events as $mday => $array)
273
-			$events[$mday][count($array) - 1]['is_last'] = true;
280
+		foreach ($events as $mday => $array) {
281
+					$events[$mday][count($array) - 1]['is_last'] = true;
282
+		}
274 283
 	}
275 284
 
276 285
 	ksort($events);
@@ -290,11 +299,12 @@  discard block
 block discarded – undo
290 299
 	global $smcFunc;
291 300
 
292 301
 	// Get the lowest and highest dates for "all years".
293
-	if (substr($low_date, 0, 4) != substr($high_date, 0, 4))
294
-		$allyear_part = 'event_date BETWEEN {date:all_year_low} AND {date:all_year_dec}
302
+	if (substr($low_date, 0, 4) != substr($high_date, 0, 4)) {
303
+			$allyear_part = 'event_date BETWEEN {date:all_year_low} AND {date:all_year_dec}
295 304
 			OR event_date BETWEEN {date:all_year_jan} AND {date:all_year_high}';
296
-	else
297
-		$allyear_part = 'event_date BETWEEN {date:all_year_low} AND {date:all_year_high}';
305
+	} else {
306
+			$allyear_part = 'event_date BETWEEN {date:all_year_low} AND {date:all_year_high}';
307
+	}
298 308
 
299 309
 	// Find some holidays... ;).
300 310
 	$result = $smcFunc['db_query']('', '
@@ -314,10 +324,11 @@  discard block
 block discarded – undo
314 324
 	$holidays = array();
315 325
 	while ($row = $smcFunc['db_fetch_assoc']($result))
316 326
 	{
317
-		if (substr($low_date, 0, 4) != substr($high_date, 0, 4))
318
-			$event_year = substr($row['event_date'], 5) < substr($high_date, 5) ? substr($high_date, 0, 4) : substr($low_date, 0, 4);
319
-		else
320
-			$event_year = substr($low_date, 0, 4);
327
+		if (substr($low_date, 0, 4) != substr($high_date, 0, 4)) {
328
+					$event_year = substr($row['event_date'], 5) < substr($high_date, 5) ? substr($high_date, 0, 4) : substr($low_date, 0, 4);
329
+		} else {
330
+					$event_year = substr($low_date, 0, 4);
331
+		}
321 332
 
322 333
 		$holidays[$event_year . substr($row['event_date'], 4)][] = $row['title'];
323 334
 	}
@@ -343,10 +354,12 @@  discard block
 block discarded – undo
343 354
 	isAllowedTo('calendar_post');
344 355
 
345 356
 	// No board?  No topic?!?
346
-	if (empty($board))
347
-		fatal_lang_error('missing_board_id', false);
348
-	if (empty($topic))
349
-		fatal_lang_error('missing_topic_id', false);
357
+	if (empty($board)) {
358
+			fatal_lang_error('missing_board_id', false);
359
+	}
360
+	if (empty($topic)) {
361
+			fatal_lang_error('missing_topic_id', false);
362
+	}
350 363
 
351 364
 	// Administrator, Moderator, or owner.  Period.
352 365
 	if (!allowedTo('admin_forum') && !allowedTo('moderate_board'))
@@ -364,12 +377,14 @@  discard block
 block discarded – undo
364 377
 		if ($row = $smcFunc['db_fetch_assoc']($result))
365 378
 		{
366 379
 			// Not the owner of the topic.
367
-			if ($row['id_member_started'] != $user_info['id'])
368
-				fatal_lang_error('not_your_topic', 'user');
380
+			if ($row['id_member_started'] != $user_info['id']) {
381
+							fatal_lang_error('not_your_topic', 'user');
382
+			}
369 383
 		}
370 384
 		// Topic/Board doesn't exist.....
371
-		else
372
-			fatal_lang_error('calendar_no_topic', 'general');
385
+		else {
386
+					fatal_lang_error('calendar_no_topic', 'general');
387
+		}
373 388
 		$smcFunc['db_free_result']($result);
374 389
 	}
375 390
 }
@@ -457,14 +472,16 @@  discard block
 block discarded – undo
457 472
 	if (!empty($calendarOptions['start_day']))
458 473
 	{
459 474
 		$nShift -= $calendarOptions['start_day'];
460
-		if ($nShift < 0)
461
-			$nShift = 7 + $nShift;
475
+		if ($nShift < 0) {
476
+					$nShift = 7 + $nShift;
477
+		}
462 478
 	}
463 479
 
464 480
 	// Number of rows required to fit the month.
465 481
 	$nRows = floor(($month_info['last_day']['day_of_month'] + $nShift) / 7);
466
-	if (($month_info['last_day']['day_of_month'] + $nShift) % 7)
467
-		$nRows++;
482
+	if (($month_info['last_day']['day_of_month'] + $nShift) % 7) {
483
+			$nRows++;
484
+	}
468 485
 
469 486
 	// Fetch the arrays for birthdays, posted events, and holidays.
470 487
 	$bday = $calendarOptions['show_birthdays'] ? getBirthdayRange($month_info['first_day']['date'], $month_info['last_day']['date']) : array();
@@ -477,8 +494,9 @@  discard block
 block discarded – undo
477 494
 	{
478 495
 		$calendarGrid['week_days'][] = $count;
479 496
 		$count++;
480
-		if ($count == 7)
481
-			$count = 0;
497
+		if ($count == 7) {
498
+					$count = 0;
499
+		}
482 500
 	}
483 501
 
484 502
 	// Iterate through each week.
@@ -495,8 +513,9 @@  discard block
 block discarded – undo
495 513
 		{
496 514
 			$nDay = ($nRow * 7) + $nCol - $nShift + 1;
497 515
 
498
-			if ($nDay < 1 || $nDay > $month_info['last_day']['day_of_month'])
499
-				$nDay = 0;
516
+			if ($nDay < 1 || $nDay > $month_info['last_day']['day_of_month']) {
517
+							$nDay = 0;
518
+			}
500 519
 
501 520
 			$date = sprintf('%04d-%02d-%02d', $year, $month, $nDay);
502 521
 
@@ -514,8 +533,9 @@  discard block
 block discarded – undo
514 533
 	}
515 534
 
516 535
 	// What is the last day of the month?
517
-	if ($is_previous === true)
518
-		$calendarGrid['last_of_month'] = $month_info['last_day']['day_of_month'];
536
+	if ($is_previous === true) {
537
+			$calendarGrid['last_of_month'] = $month_info['last_day']['day_of_month'];
538
+	}
519 539
 
520 540
 	// We'll use the shift in the template.
521 541
 	$calendarGrid['shift'] = $nShift;
@@ -549,8 +569,9 @@  discard block
 block discarded – undo
549 569
 	{
550 570
 		// Here we offset accordingly to get things to the real start of a week.
551 571
 		$date_diff = $day_of_week - $calendarOptions['start_day'];
552
-		if ($date_diff < 0)
553
-			$date_diff += 7;
572
+		if ($date_diff < 0) {
573
+					$date_diff += 7;
574
+		}
554 575
 		$new_timestamp = mktime(0, 0, 0, $month, $day, $year) - $date_diff * 86400;
555 576
 		$day = (int) strftime('%d', $new_timestamp);
556 577
 		$month = (int) strftime('%m', $new_timestamp);
@@ -680,18 +701,20 @@  discard block
 block discarded – undo
680 701
 	{
681 702
 		foreach ($date_events as $event_key => $event_val)
682 703
 		{
683
-			if (in_array($event_val['id'], $temp))
684
-				unset($calendarGrid['events'][$date][$event_key]);
685
-			else
686
-				$temp[] = $event_val['id'];
704
+			if (in_array($event_val['id'], $temp)) {
705
+							unset($calendarGrid['events'][$date][$event_key]);
706
+			} else {
707
+							$temp[] = $event_val['id'];
708
+			}
687 709
 		}
688 710
 	}
689 711
 
690 712
 	// Give birthdays and holidays a friendly format, without the year
691
-	if (preg_match('~%[AaBbCcDdeGghjmuYy](?:[^%]*%[AaBbCcDdeGghjmuYy])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0]))
692
-		$date_format = '%b %d';
693
-	else
694
-		$date_format = str_replace(array('%Y', '%y', '%G', '%g', '%C', '%c', '%D'), array('', '', '', '', '', '%b %d', '%m/%d'), $matches[0]);
713
+	if (preg_match('~%[AaBbCcDdeGghjmuYy](?:[^%]*%[AaBbCcDdeGghjmuYy])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) {
714
+			$date_format = '%b %d';
715
+	} else {
716
+			$date_format = str_replace(array('%Y', '%y', '%G', '%g', '%C', '%c', '%D'), array('', '', '', '', '', '%b %d', '%m/%d'), $matches[0]);
717
+	}
695 718
 
696 719
 	foreach (array('birthdays', 'holidays') as $type)
697 720
 	{
@@ -790,8 +813,9 @@  discard block
 block discarded – undo
790 813
 		// Holidays between now and now + days.
791 814
 		for ($i = $now; $i < $now + $days_for_index; $i += 86400)
792 815
 		{
793
-			if (isset($cached_data['holidays'][strftime('%Y-%m-%d', $i)]))
794
-				$return_data['calendar_holidays'] = array_merge($return_data['calendar_holidays'], $cached_data['holidays'][strftime('%Y-%m-%d', $i)]);
816
+			if (isset($cached_data['holidays'][strftime('%Y-%m-%d', $i)])) {
817
+							$return_data['calendar_holidays'] = array_merge($return_data['calendar_holidays'], $cached_data['holidays'][strftime('%Y-%m-%d', $i)]);
818
+			}
795 819
 		}
796 820
 	}
797 821
 
@@ -803,8 +827,9 @@  discard block
 block discarded – undo
803 827
 			$loop_date = strftime('%Y-%m-%d', $i);
804 828
 			if (isset($cached_data['birthdays'][$loop_date]))
805 829
 			{
806
-				foreach ($cached_data['birthdays'][$loop_date] as $index => $dummy)
807
-					$cached_data['birthdays'][strftime('%Y-%m-%d', $i)][$index]['is_today'] = $loop_date === $today['date'];
830
+				foreach ($cached_data['birthdays'][$loop_date] as $index => $dummy) {
831
+									$cached_data['birthdays'][strftime('%Y-%m-%d', $i)][$index]['is_today'] = $loop_date === $today['date'];
832
+				}
808 833
 				$return_data['calendar_birthdays'] = array_merge($return_data['calendar_birthdays'], $cached_data['birthdays'][$loop_date]);
809 834
 			}
810 835
 		}
@@ -819,8 +844,9 @@  discard block
 block discarded – undo
819 844
 			$loop_date = strftime('%Y-%m-%d', $i);
820 845
 
821 846
 			// No events today? Check the next day.
822
-			if (empty($cached_data['events'][$loop_date]))
823
-				continue;
847
+			if (empty($cached_data['events'][$loop_date])) {
848
+							continue;
849
+			}
824 850
 
825 851
 			// Loop through all events to add a few last-minute values.
826 852
 			foreach ($cached_data['events'][$loop_date] as $ev => $event)
@@ -833,9 +859,9 @@  discard block
 block discarded – undo
833 859
 				{
834 860
 					unset($cached_data['events'][$loop_date][$ev]);
835 861
 					continue;
862
+				} else {
863
+									$duplicates[$this_event['topic'] . $this_event['title']] = true;
836 864
 				}
837
-				else
838
-					$duplicates[$this_event['topic'] . $this_event['title']] = true;
839 865
 
840 866
 				// Might be set to true afterwards, depending on the permissions.
841 867
 				$this_event['can_edit'] = false;
@@ -843,16 +869,19 @@  discard block
 block discarded – undo
843 869
 				$this_event['date'] = $loop_date;
844 870
 			}
845 871
 
846
-			if (!empty($cached_data['events'][$loop_date]))
847
-				$return_data['calendar_events'] = array_merge($return_data['calendar_events'], $cached_data['events'][$loop_date]);
872
+			if (!empty($cached_data['events'][$loop_date])) {
873
+							$return_data['calendar_events'] = array_merge($return_data['calendar_events'], $cached_data['events'][$loop_date]);
874
+			}
848 875
 		}
849 876
 	}
850 877
 
851 878
 	// Mark the last item so that a list separator can be used in the template.
852
-	for ($i = 0, $n = count($return_data['calendar_birthdays']); $i < $n; $i++)
853
-		$return_data['calendar_birthdays'][$i]['is_last'] = !isset($return_data['calendar_birthdays'][$i + 1]);
854
-	for ($i = 0, $n = count($return_data['calendar_events']); $i < $n; $i++)
855
-		$return_data['calendar_events'][$i]['is_last'] = !isset($return_data['calendar_events'][$i + 1]);
879
+	for ($i = 0, $n = count($return_data['calendar_birthdays']); $i < $n; $i++) {
880
+			$return_data['calendar_birthdays'][$i]['is_last'] = !isset($return_data['calendar_birthdays'][$i + 1]);
881
+	}
882
+	for ($i = 0, $n = count($return_data['calendar_events']); $i < $n; $i++) {
883
+			$return_data['calendar_events'][$i]['is_last'] = !isset($return_data['calendar_events'][$i + 1]);
884
+	}
856 885
 
857 886
 	return array(
858 887
 		'data' => $return_data,
@@ -900,37 +929,46 @@  discard block
 block discarded – undo
900 929
 		if (isset($_POST['start_date']))
901 930
 		{
902 931
 			$d = date_parse($_POST['start_date']);
903
-			if (!empty($d['error_count']) || !empty($d['warning_count']))
904
-				fatal_lang_error('invalid_date', false);
905
-			if (empty($d['year']))
906
-				fatal_lang_error('event_year_missing', false);
907
-			if (empty($d['month']))
908
-				fatal_lang_error('event_month_missing', false);
909
-		}
910
-		elseif (isset($_POST['start_datetime']))
932
+			if (!empty($d['error_count']) || !empty($d['warning_count'])) {
933
+							fatal_lang_error('invalid_date', false);
934
+			}
935
+			if (empty($d['year'])) {
936
+							fatal_lang_error('event_year_missing', false);
937
+			}
938
+			if (empty($d['month'])) {
939
+							fatal_lang_error('event_month_missing', false);
940
+			}
941
+		} elseif (isset($_POST['start_datetime']))
911 942
 		{
912 943
 			$d = date_parse($_POST['start_datetime']);
913
-			if (!empty($d['error_count']) || !empty($d['warning_count']))
914
-				fatal_lang_error('invalid_date', false);
915
-			if (empty($d['year']))
916
-				fatal_lang_error('event_year_missing', false);
917
-			if (empty($d['month']))
918
-				fatal_lang_error('event_month_missing', false);
944
+			if (!empty($d['error_count']) || !empty($d['warning_count'])) {
945
+							fatal_lang_error('invalid_date', false);
946
+			}
947
+			if (empty($d['year'])) {
948
+							fatal_lang_error('event_year_missing', false);
949
+			}
950
+			if (empty($d['month'])) {
951
+							fatal_lang_error('event_month_missing', false);
952
+			}
919 953
 		}
920 954
 		// The 2.0 way
921 955
 		else
922 956
 		{
923 957
 			// No month?  No year?
924
-			if (!isset($_POST['month']))
925
-				fatal_lang_error('event_month_missing', false);
926
-			if (!isset($_POST['year']))
927
-				fatal_lang_error('event_year_missing', false);
958
+			if (!isset($_POST['month'])) {
959
+							fatal_lang_error('event_month_missing', false);
960
+			}
961
+			if (!isset($_POST['year'])) {
962
+							fatal_lang_error('event_year_missing', false);
963
+			}
928 964
 
929 965
 			// Check the month and year...
930
-			if ($_POST['month'] < 1 || $_POST['month'] > 12)
931
-				fatal_lang_error('invalid_month', false);
932
-			if ($_POST['year'] < $modSettings['cal_minyear'] || $_POST['year'] > $modSettings['cal_maxyear'])
933
-				fatal_lang_error('invalid_year', false);
966
+			if ($_POST['month'] < 1 || $_POST['month'] > 12) {
967
+							fatal_lang_error('invalid_month', false);
968
+			}
969
+			if ($_POST['year'] < $modSettings['cal_minyear'] || $_POST['year'] > $modSettings['cal_maxyear']) {
970
+							fatal_lang_error('invalid_year', false);
971
+			}
934 972
 		}
935 973
 	}
936 974
 
@@ -940,8 +978,9 @@  discard block
 block discarded – undo
940 978
 	// If they want to us to calculate an end date, make sure it will fit in an acceptable range.
941 979
 	if (isset($_POST['span']))
942 980
 	{
943
-		if (($_POST['span'] < 1) || (!empty($modSettings['cal_maxspan']) && $_POST['span'] > $modSettings['cal_maxspan']))
944
-			fatal_lang_error('invalid_days_numb', false);
981
+		if (($_POST['span'] < 1) || (!empty($modSettings['cal_maxspan']) && $_POST['span'] > $modSettings['cal_maxspan'])) {
982
+					fatal_lang_error('invalid_days_numb', false);
983
+		}
945 984
 	}
946 985
 
947 986
 	// There is no need to validate the following values if we are just deleting the event.
@@ -951,24 +990,29 @@  discard block
 block discarded – undo
951 990
 		if (empty($_POST['start_date']) && empty($_POST['start_datetime']))
952 991
 		{
953 992
 			// No day?
954
-			if (!isset($_POST['day']))
955
-				fatal_lang_error('event_day_missing', false);
993
+			if (!isset($_POST['day'])) {
994
+							fatal_lang_error('event_day_missing', false);
995
+			}
956 996
 
957 997
 			// Bad day?
958
-			if (!checkdate($_POST['month'], $_POST['day'], $_POST['year']))
959
-				fatal_lang_error('invalid_date', false);
998
+			if (!checkdate($_POST['month'], $_POST['day'], $_POST['year'])) {
999
+							fatal_lang_error('invalid_date', false);
1000
+			}
960 1001
 		}
961 1002
 
962
-		if (!isset($_POST['evtitle']) && !isset($_POST['subject']))
963
-			fatal_lang_error('event_title_missing', false);
964
-		elseif (!isset($_POST['evtitle']))
965
-			$_POST['evtitle'] = $_POST['subject'];
1003
+		if (!isset($_POST['evtitle']) && !isset($_POST['subject'])) {
1004
+					fatal_lang_error('event_title_missing', false);
1005
+		} elseif (!isset($_POST['evtitle'])) {
1006
+					$_POST['evtitle'] = $_POST['subject'];
1007
+		}
966 1008
 
967 1009
 		// No title?
968
-		if ($smcFunc['htmltrim']($_POST['evtitle']) === '')
969
-			fatal_lang_error('no_event_title', false);
970
-		if ($smcFunc['strlen']($_POST['evtitle']) > 100)
971
-			$_POST['evtitle'] = $smcFunc['substr']($_POST['evtitle'], 0, 100);
1010
+		if ($smcFunc['htmltrim']($_POST['evtitle']) === '') {
1011
+					fatal_lang_error('no_event_title', false);
1012
+		}
1013
+		if ($smcFunc['strlen']($_POST['evtitle']) > 100) {
1014
+					$_POST['evtitle'] = $smcFunc['substr']($_POST['evtitle'], 0, 100);
1015
+		}
972 1016
 		$_POST['evtitle'] = str_replace(';', '', $_POST['evtitle']);
973 1017
 	}
974 1018
 }
@@ -995,8 +1039,9 @@  discard block
 block discarded – undo
995 1039
 	);
996 1040
 
997 1041
 	// No results, return false.
998
-	if ($smcFunc['db_num_rows'] === 0)
999
-		return false;
1042
+	if ($smcFunc['db_num_rows'] === 0) {
1043
+			return false;
1044
+	}
1000 1045
 
1001 1046
 	// Grab the results and return.
1002 1047
 	list ($poster) = $smcFunc['db_fetch_row']($request);
@@ -1130,8 +1175,9 @@  discard block
 block discarded – undo
1130 1175
 	call_integration_hook('integrate_modify_event', array($event_id, &$eventOptions, &$event_columns, &$event_parameters));
1131 1176
 
1132 1177
 	$column_clauses = array();
1133
-	foreach ($event_columns as $col => $crit)
1134
-		$column_clauses[] = $col . ' = ' . $crit;
1178
+	foreach ($event_columns as $col => $crit) {
1179
+			$column_clauses[] = $col . ' = ' . $crit;
1180
+	}
1135 1181
 
1136 1182
 	$smcFunc['db_query']('', '
1137 1183
 		UPDATE {db_prefix}calendar
@@ -1216,8 +1262,9 @@  discard block
 block discarded – undo
1216 1262
 	);
1217 1263
 
1218 1264
 	// If nothing returned, we are in poo, poo.
1219
-	if ($smcFunc['db_num_rows']($request) === 0)
1220
-		return false;
1265
+	if ($smcFunc['db_num_rows']($request) === 0) {
1266
+			return false;
1267
+	}
1221 1268
 
1222 1269
 	$row = $smcFunc['db_fetch_assoc']($request);
1223 1270
 	$smcFunc['db_free_result']($request);
@@ -1225,8 +1272,9 @@  discard block
 block discarded – undo
1225 1272
 	list($start, $end, $allday, $span, $tz, $tz_abbrev) = buildEventDatetimes($row);
1226 1273
 
1227 1274
 	// Sanity check
1228
-	if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count']))
1229
-		return false;
1275
+	if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count'])) {
1276
+			return false;
1277
+	}
1230 1278
 
1231 1279
 	$return_value = array(
1232 1280
 		'boards' => array(),
@@ -1363,24 +1411,27 @@  discard block
 block discarded – undo
1363 1411
 
1364 1412
 	// Set $span, in case we need it
1365 1413
 	$span = isset($eventOptions['span']) ? $eventOptions['span'] : (isset($_POST['span']) ? $_POST['span'] : 0);
1366
-	if ($span > 0)
1367
-		$span = !empty($modSettings['cal_maxspan']) ? min($modSettings['cal_maxspan'], $span - 1) : $span - 1;
1414
+	if ($span > 0) {
1415
+			$span = !empty($modSettings['cal_maxspan']) ? min($modSettings['cal_maxspan'], $span - 1) : $span - 1;
1416
+	}
1368 1417
 
1369 1418
 	// Define the timezone for this event, falling back to the default if not provided
1370
-	if (!empty($eventOptions['tz']) && in_array($eventOptions['tz'], timezone_identifiers_list(DateTimeZone::ALL_WITH_BC)))
1371
-		$tz = $eventOptions['tz'];
1372
-	elseif (!empty($_POST['tz']) && in_array($_POST['tz'], timezone_identifiers_list(DateTimeZone::ALL_WITH_BC)))
1373
-		$tz = $_POST['tz'];
1374
-	else
1375
-		$tz = getUserTimezone();
1419
+	if (!empty($eventOptions['tz']) && in_array($eventOptions['tz'], timezone_identifiers_list(DateTimeZone::ALL_WITH_BC))) {
1420
+			$tz = $eventOptions['tz'];
1421
+	} elseif (!empty($_POST['tz']) && in_array($_POST['tz'], timezone_identifiers_list(DateTimeZone::ALL_WITH_BC))) {
1422
+			$tz = $_POST['tz'];
1423
+	} else {
1424
+			$tz = getUserTimezone();
1425
+	}
1376 1426
 
1377 1427
 	// Is this supposed to be an all day event, or should it have specific start and end times?
1378
-	if (isset($eventOptions['allday']))
1379
-		$allday = $eventOptions['allday'];
1380
-	elseif (empty($_POST['allday']))
1381
-		$allday = false;
1382
-	else
1383
-		$allday = true;
1428
+	if (isset($eventOptions['allday'])) {
1429
+			$allday = $eventOptions['allday'];
1430
+	} elseif (empty($_POST['allday'])) {
1431
+			$allday = false;
1432
+	} else {
1433
+			$allday = true;
1434
+	}
1384 1435
 
1385 1436
 	// Input might come as individual parameters...
1386 1437
 	$start_year = isset($eventOptions['year']) ? $eventOptions['year'] : (isset($_POST['year']) ? $_POST['year'] : null);
@@ -1407,10 +1458,12 @@  discard block
 block discarded – undo
1407 1458
 	$end_time_string = isset($eventOptions['end_time']) ? $eventOptions['end_time'] : (isset($_POST['end_time']) ? $_POST['end_time'] : null);
1408 1459
 
1409 1460
 	// If the date and time were given in separate strings, combine them
1410
-	if (empty($start_string) && isset($start_date_string))
1411
-		$start_string = $start_date_string . (isset($start_time_string) ? ' ' . $start_time_string : '');
1412
-	if (empty($end_string) && isset($end_date_string))
1413
-		$end_string = $end_date_string . (isset($end_time_string) ? ' ' . $end_time_string : '');
1461
+	if (empty($start_string) && isset($start_date_string)) {
1462
+			$start_string = $start_date_string . (isset($start_time_string) ? ' ' . $start_time_string : '');
1463
+	}
1464
+	if (empty($end_string) && isset($end_date_string)) {
1465
+			$end_string = $end_date_string . (isset($end_time_string) ? ' ' . $end_time_string : '');
1466
+	}
1414 1467
 
1415 1468
 	// If some form of string input was given, override individually defined options with it
1416 1469
 	if (isset($start_string))
@@ -1501,10 +1554,11 @@  discard block
 block discarded – undo
1501 1554
 	if ($start_object >= $end_object)
1502 1555
 	{
1503 1556
 		$end_object = date_create(sprintf('%04d-%02d-%02d %02d:%02d:%02d', $start_year, $start_month, $start_day, $start_hour, $start_minute, $start_second) . ' ' . $tz);
1504
-		if ($span > 0)
1505
-			date_add($end_object, date_interval_create_from_date_string($span . ' days'));
1506
-		else
1507
-			date_add($end_object, date_interval_create_from_date_string('1 hour'));
1557
+		if ($span > 0) {
1558
+					date_add($end_object, date_interval_create_from_date_string($span . ' days'));
1559
+		} else {
1560
+					date_add($end_object, date_interval_create_from_date_string('1 hour'));
1561
+		}
1508 1562
 	}
1509 1563
 
1510 1564
 	// Is $end_object too late?
@@ -1517,9 +1571,9 @@  discard block
 block discarded – undo
1517 1571
 			{
1518 1572
 				$end_object = date_create(sprintf('%04d-%02d-%02d %02d:%02d:%02d', $start_year, $start_month, $start_day, $start_hour, $start_minute, $start_second) . ' ' . $tz);
1519 1573
 				date_add($end_object, date_interval_create_from_date_string($modSettings['cal_maxspan'] . ' days'));
1574
+			} else {
1575
+							$end_object = date_create(sprintf('%04d-%02d-%02d %02d:%02d:%02d', $start_year, $start_month, $start_day, '11', '59', '59') . ' ' . $tz);
1520 1576
 			}
1521
-			else
1522
-				$end_object = date_create(sprintf('%04d-%02d-%02d %02d:%02d:%02d', $start_year, $start_month, $start_day, '11', '59', '59') . ' ' . $tz);
1523 1577
 		}
1524 1578
 	}
1525 1579
 
@@ -1532,8 +1586,7 @@  discard block
 block discarded – undo
1532 1586
 		$start_time = null;
1533 1587
 		$end_time = null;
1534 1588
 		$tz = null;
1535
-	}
1536
-	else
1589
+	} else
1537 1590
 	{
1538 1591
 		$start_time = date_format($start_object, 'H:i:s');
1539 1592
 		$end_time = date_format($end_object, 'H:i:s');
@@ -1561,19 +1614,21 @@  discard block
 block discarded – undo
1561 1614
 	// First, try to create a better date format, ignoring the "time" elements.
1562 1615
 	if (empty($date_format))
1563 1616
 	{
1564
-		if (preg_match('~%[AaBbCcDdeGghjmuYy](?:[^%]*%[AaBbCcDdeGghjmuYy])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0]))
1565
-			$date_format = '%F';
1566
-		else
1567
-			$date_format = $matches[0];
1617
+		if (preg_match('~%[AaBbCcDdeGghjmuYy](?:[^%]*%[AaBbCcDdeGghjmuYy])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) {
1618
+					$date_format = '%F';
1619
+		} else {
1620
+					$date_format = $matches[0];
1621
+		}
1568 1622
 	}
1569 1623
 
1570 1624
 	// We want a fairly compact version of the time, but as close as possible to the user's settings.
1571 1625
 	if (empty($time_format))
1572 1626
 	{
1573
-		if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0]))
1574
-			$time_format = '%k:%M';
1575
-		else
1576
-			$time_format = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]);
1627
+		if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) {
1628
+					$time_format = '%k:%M';
1629
+		} else {
1630
+					$time_format = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]);
1631
+		}
1577 1632
 	}
1578 1633
 
1579 1634
 	// Should this be an all day event?
@@ -1583,11 +1638,13 @@  discard block
 block discarded – undo
1583 1638
 	$span = 1 + date_interval_format(date_diff(date_create($row['start_date']), date_create($row['end_date'])), '%d');
1584 1639
 
1585 1640
 	// We need to have a defined timezone in the steps below
1586
-	if (empty($row['timezone']))
1587
-		$row['timezone'] = getUserTimezone();
1641
+	if (empty($row['timezone'])) {
1642
+			$row['timezone'] = getUserTimezone();
1643
+	}
1588 1644
 
1589
-	if (empty($timezone_array[$row['timezone']]))
1590
-		$timezone_array[$row['timezone']] = timezone_open($row['timezone']);
1645
+	if (empty($timezone_array[$row['timezone']])) {
1646
+			$timezone_array[$row['timezone']] = timezone_open($row['timezone']);
1647
+	}
1591 1648
 
1592 1649
 	// Get most of the standard date information for the start and end datetimes
1593 1650
 	$start = date_parse($row['start_date'] . (!$allday ? ' ' . $row['start_time'] : ''));
@@ -1622,8 +1679,9 @@  discard block
 block discarded – undo
1622 1679
 	$tz_abbrev = date_format($start_object, 'T');
1623 1680
 
1624 1681
 	// If the abbreviation is just a numerical offset from UTC, make that clear.
1625
-	if (strspn($tz_abbrev, '+-') > 0)
1626
-		$tz_abbrev = 'UTC' . $tz_abbrev;
1682
+	if (strspn($tz_abbrev, '+-') > 0) {
1683
+			$tz_abbrev = 'UTC' . $tz_abbrev;
1684
+	}
1627 1685
 
1628 1686
 	return array($start, $end, $allday, $span, $tz, $tz_abbrev);
1629 1687
 }
@@ -1639,8 +1697,9 @@  discard block
 block discarded – undo
1639 1697
 	global $smcFunc, $context, $user_info, $modSettings, $user_settings;
1640 1698
 	static $member_cache = array();
1641 1699
 
1642
-	if (is_null($id_member) && $user_info['is_guest'] == false)
1643
-		$id_member = $context['user']['id'];
1700
+	if (is_null($id_member) && $user_info['is_guest'] == false) {
1701
+			$id_member = $context['user']['id'];
1702
+	}
1644 1703
 
1645 1704
 	//check if the cache got the data
1646 1705
 	if (isset($id_member) && isset($member_cache[$id_member]))
@@ -1669,11 +1728,13 @@  discard block
 block discarded – undo
1669 1728
 		$smcFunc['db_free_result']($request);
1670 1729
 	}
1671 1730
 
1672
-	if (empty($timezone) || !in_array($timezone, timezone_identifiers_list(DateTimeZone::ALL_WITH_BC)))
1673
-		$timezone = isset($modSettings['default_timezone']) ? $modSettings['default_timezone'] : date_default_timezone_get();
1731
+	if (empty($timezone) || !in_array($timezone, timezone_identifiers_list(DateTimeZone::ALL_WITH_BC))) {
1732
+			$timezone = isset($modSettings['default_timezone']) ? $modSettings['default_timezone'] : date_default_timezone_get();
1733
+	}
1674 1734
 
1675
-	if (isset($id_member))
1676
-		$member_cache[$id_member] = $timezone;
1735
+	if (isset($id_member)) {
1736
+			$member_cache[$id_member] = $timezone;
1737
+	}
1677 1738
 
1678 1739
 	return $timezone;
1679 1740
 }
@@ -1702,8 +1763,9 @@  discard block
 block discarded – undo
1702 1763
 		)
1703 1764
 	);
1704 1765
 	$holidays = array();
1705
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1706
-		$holidays[] = $row;
1766
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1767
+			$holidays[] = $row;
1768
+	}
1707 1769
 	$smcFunc['db_free_result']($request);
1708 1770
 
1709 1771
 	return $holidays;
Please login to merge, or discard this patch.
Sources/SearchAPI-Fulltext.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -33,7 +33,7 @@  discard block
 block discarded – undo
33 33
 	/**
34 34
 	 * @var array Which databases support this method?
35 35
 	 */
36
-	protected $supported_databases = array('mysql','postgresql');
36
+	protected $supported_databases = array('mysql', 'postgresql');
37 37
 
38 38
 	/**
39 39
 	 * The constructor function
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
 		$query_where = array();
177 177
 		$query_params = $search_data['params'];
178 178
 
179
-		if( $smcFunc['db_title'] == "PostgreSQL")
179
+		if ($smcFunc['db_title'] == "PostgreSQL")
180 180
 			$modSettings['search_simple_fulltext'] = true;
181 181
 
182 182
 		if ($query_params['id_search'])
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
 			// if we have bool terms to search, add them in
257 257
 			if ($query_params['boolean_match'])
258 258
 			{
259
-				if($smcFunc['db_title'] == "PostgreSQL")
259
+				if ($smcFunc['db_title'] == "PostgreSQL")
260 260
 				{
261 261
 					$language_ftx = $smcFunc['db_search_language']();
262 262
 
@@ -268,7 +268,7 @@  discard block
 block discarded – undo
268 268
 			}
269 269
 		}
270 270
 
271
-		$ignoreRequest = $smcFunc['db_search_query']('insert_into_log_messages_fulltext', ($smcFunc['db_support_ignore'] ? ( '
271
+		$ignoreRequest = $smcFunc['db_search_query']('insert_into_log_messages_fulltext', ($smcFunc['db_support_ignore'] ? ('
272 272
 			INSERT IGNORE INTO {db_prefix}' . $search_data['insert_into'] . '
273 273
 				(' . implode(', ', array_keys($query_select)) . ')') : '') . '
274 274
 			SELECT ' . implode(', ', $query_select) . '
Please login to merge, or discard this patch.
Braces   +53 added lines, -40 removed lines patch added patch discarded remove patch
@@ -11,8 +11,9 @@  discard block
 block discarded – undo
11 11
  * @version 2.1 Beta 4
12 12
  */
13 13
 
14
-if (!defined('SMF'))
14
+if (!defined('SMF')) {
15 15
 	die('No direct access...');
16
+}
16 17
 
17 18
 /**
18 19
  * Class fulltext_search
@@ -75,8 +76,9 @@  discard block
 block discarded – undo
75 76
 		}
76 77
 
77 78
 		// Maybe parent got support
78
-		if (!$return)
79
-			$return = parent::supportsMethod($methodName, $query_params);
79
+		if (!$return) {
80
+					$return = parent::supportsMethod($methodName, $query_params);
81
+		}
80 82
 
81 83
 		return $return;
82 84
 	}
@@ -92,8 +94,9 @@  discard block
 block discarded – undo
92 94
 	{
93 95
 		global $smcFunc, $db_type;
94 96
 
95
-		if ($db_type == 'postgresql')
96
-			return 0;
97
+		if ($db_type == 'postgresql') {
98
+					return 0;
99
+		}
97 100
 		// Try to determine the minimum number of letters for a fulltext search.
98 101
 		$request = $smcFunc['db_search_query']('max_fulltext_length', '
99 102
 			SHOW VARIABLES
@@ -108,8 +111,9 @@  discard block
 block discarded – undo
108 111
 			$smcFunc['db_free_result']($request);
109 112
 		}
110 113
 		// 4 is the MySQL default...
111
-		else
112
-			$min_word_length = 4;
114
+		else {
115
+					$min_word_length = 4;
116
+		}
113 117
 
114 118
 		return $min_word_length;
115 119
 	}
@@ -148,8 +152,7 @@  discard block
 block discarded – undo
148 152
 					$wordsSearch['words'][] = trim($word, "/*- ");
149 153
 					$wordsSearch['complex_words'][] = count($subwords) === 1 ? $word : '"' . $word . '"';
150 154
 				}
151
-			}
152
-			elseif ($smcFunc['strlen'](trim($word, "/*- ")) < $this->min_word_length)
155
+			} elseif ($smcFunc['strlen'](trim($word, "/*- ")) < $this->min_word_length)
153 156
 			{
154 157
 				// short words have feelings too
155 158
 				$wordsSearch['words'][] = trim($word, "/*- ");
@@ -159,8 +162,9 @@  discard block
 block discarded – undo
159 162
 
160 163
 		$fulltextWord = count($subwords) === 1 ? $word : '"' . $word . '"';
161 164
 		$wordsSearch['indexed_words'][] = $fulltextWord;
162
-		if ($isExcluded)
163
-			$wordsExclude[] = $fulltextWord;
165
+		if ($isExcluded) {
166
+					$wordsExclude[] = $fulltextWord;
167
+		}
164 168
 	}
165 169
 
166 170
 	/**
@@ -176,44 +180,54 @@  discard block
 block discarded – undo
176 180
 		$query_where = array();
177 181
 		$query_params = $search_data['params'];
178 182
 
179
-		if( $smcFunc['db_title'] == "PostgreSQL")
180
-			$modSettings['search_simple_fulltext'] = true;
183
+		if( $smcFunc['db_title'] == "PostgreSQL") {
184
+					$modSettings['search_simple_fulltext'] = true;
185
+		}
181 186
 
182
-		if ($query_params['id_search'])
183
-			$query_select['id_search'] = '{int:id_search}';
187
+		if ($query_params['id_search']) {
188
+					$query_select['id_search'] = '{int:id_search}';
189
+		}
184 190
 
185 191
 		$count = 0;
186
-		if (empty($modSettings['search_simple_fulltext']))
187
-			foreach ($words['words'] as $regularWord)
192
+		if (empty($modSettings['search_simple_fulltext'])) {
193
+					foreach ($words['words'] as $regularWord)
188 194
 			{
189 195
 				$query_where[] = 'm.body' . (in_array($regularWord, $query_params['excluded_words']) ? ' NOT' : '') . (empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? ' LIKE ' : 'RLIKE') . '{string:complex_body_' . $count . '}';
196
+		}
190 197
 				$query_params['complex_body_' . $count++] = empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? '%' . strtr($regularWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $regularWord), '\\\'') . '[[:>:]]';
191 198
 			}
192 199
 
193
-		if ($query_params['user_query'])
194
-			$query_where[] = '{raw:user_query}';
195
-		if ($query_params['board_query'])
196
-			$query_where[] = 'm.id_board {raw:board_query}';
200
+		if ($query_params['user_query']) {
201
+					$query_where[] = '{raw:user_query}';
202
+		}
203
+		if ($query_params['board_query']) {
204
+					$query_where[] = 'm.id_board {raw:board_query}';
205
+		}
197 206
 
198
-		if ($query_params['topic'])
199
-			$query_where[] = 'm.id_topic = {int:topic}';
200
-		if ($query_params['min_msg_id'])
201
-			$query_where[] = 'm.id_msg >= {int:min_msg_id}';
202
-		if ($query_params['max_msg_id'])
203
-			$query_where[] = 'm.id_msg <= {int:max_msg_id}';
207
+		if ($query_params['topic']) {
208
+					$query_where[] = 'm.id_topic = {int:topic}';
209
+		}
210
+		if ($query_params['min_msg_id']) {
211
+					$query_where[] = 'm.id_msg >= {int:min_msg_id}';
212
+		}
213
+		if ($query_params['max_msg_id']) {
214
+					$query_where[] = 'm.id_msg <= {int:max_msg_id}';
215
+		}
204 216
 
205 217
 		$count = 0;
206
-		if (!empty($query_params['excluded_phrases']) && empty($modSettings['search_force_index']))
207
-			foreach ($query_params['excluded_phrases'] as $phrase)
218
+		if (!empty($query_params['excluded_phrases']) && empty($modSettings['search_force_index'])) {
219
+					foreach ($query_params['excluded_phrases'] as $phrase)
208 220
 			{
209 221
 				$query_where[] = 'subject NOT ' . (empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? ' LIKE ' : 'RLIKE') . '{string:exclude_subject_phrase_' . $count . '}';
222
+		}
210 223
 				$query_params['exclude_subject_phrase_' . $count++] = empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? '%' . strtr($phrase, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $phrase), '\\\'') . '[[:>:]]';
211 224
 			}
212 225
 		$count = 0;
213
-		if (!empty($query_params['excluded_subject_words']) && empty($modSettings['search_force_index']))
214
-			foreach ($query_params['excluded_subject_words'] as $excludedWord)
226
+		if (!empty($query_params['excluded_subject_words']) && empty($modSettings['search_force_index'])) {
227
+					foreach ($query_params['excluded_subject_words'] as $excludedWord)
215 228
 			{
216 229
 				$query_where[] = 'subject NOT ' . (empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? ' LIKE ' : 'RLIKE') . '{string:exclude_subject_words_' . $count . '}';
230
+		}
217 231
 				$query_params['exclude_subject_words_' . $count++] = empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? '%' . strtr($excludedWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $excludedWord), '\\\'') . '[[:>:]]';
218 232
 			}
219 233
 
@@ -225,12 +239,11 @@  discard block
 block discarded – undo
225 239
 
226 240
 				$query_where[] = 'to_tsvector({string:language_ftx},body) @@ plainto_tsquery({string:language_ftx},{string:body_match})';
227 241
 				$query_params['language_ftx'] = $language_ftx;
242
+			} else {
243
+							$query_where[] = 'MATCH (body) AGAINST ({string:body_match})';
228 244
 			}
229
-			else
230
-				$query_where[] = 'MATCH (body) AGAINST ({string:body_match})';
231 245
 			$query_params['body_match'] = implode(' ', array_diff($words['indexed_words'], $query_params['excluded_index_words']));
232
-		}
233
-		else
246
+		} else
234 247
 		{
235 248
 			$query_params['boolean_match'] = '';
236 249
 
@@ -246,10 +259,10 @@  discard block
 block discarded – undo
246 259
 					$query_params['boolean_match'] .= (in_array($fulltextWord, $query_params['excluded_index_words']) ? '!' : '') . $fulltextWord . ' ';
247 260
 					$row++;
248 261
 				}
249
-			}
250
-			else
251
-				foreach ($words['indexed_words'] as $fulltextWord)
262
+			} else {
263
+							foreach ($words['indexed_words'] as $fulltextWord)
252 264
 					$query_params['boolean_match'] .= (in_array($fulltextWord, $query_params['excluded_index_words']) ? '-' : '+') . $fulltextWord . ' ';
265
+			}
253 266
 
254 267
 			$query_params['boolean_match'] = substr($query_params['boolean_match'], 0, -1);
255 268
 
@@ -262,9 +275,9 @@  discard block
 block discarded – undo
262 275
 
263 276
 					$query_where[] = 'to_tsvector({string:language_ftx},body) @@ plainto_tsquery({string:language_ftx},{string:boolean_match})';
264 277
 					$query_params['language_ftx'] = $language_ftx;
278
+				} else {
279
+									$query_where[] = 'MATCH (body) AGAINST ({string:boolean_match} IN BOOLEAN MODE)';
265 280
 				}
266
-				else
267
-					$query_where[] = 'MATCH (body) AGAINST ({string:boolean_match} IN BOOLEAN MODE)';
268 281
 			}
269 282
 		}
270 283
 
Please login to merge, or discard this patch.
Sources/SearchAPI-Standard.php 1 patch
Braces   +5 added lines, -3 removed lines patch added patch discarded remove patch
@@ -11,8 +11,9 @@  discard block
 block discarded – undo
11 11
  * @version 2.1 Beta 4
12 12
  */
13 13
 
14
-if (!defined('SMF'))
14
+if (!defined('SMF')) {
15 15
 	die('No direct access...');
16
+}
16 17
 
17 18
 /**
18 19
  * Standard non full index, non custom index search
@@ -27,8 +28,9 @@  discard block
 block discarded – undo
27 28
 		$return = false;
28 29
 
29 30
 		// Maybe parent got support
30
-		if (!$return)
31
-			$return = parent::supportsMethod($methodName, $query_params);
31
+		if (!$return) {
32
+					$return = parent::supportsMethod($methodName, $query_params);
33
+		}
32 34
 
33 35
 		return $return;
34 36
 	}
Please login to merge, or discard this patch.