@@ -474,7 +474,7 @@ |
||
| 474 | 474 | * Used by fatal_error(), fatal_lang_error() |
| 475 | 475 | * |
| 476 | 476 | * @param string $error The error |
| 477 | - * @param array $sprintf An array of data to be sprintf()'d into the specified message |
|
| 477 | + * @param boolean $sprintf An array of data to be sprintf()'d into the specified message |
|
| 478 | 478 | */ |
| 479 | 479 | function log_error_online($error, $sprintf = array()) |
| 480 | 480 | { |
@@ -15,8 +15,9 @@ discard block |
||
| 15 | 15 | * @version 2.1 Beta 4 |
| 16 | 16 | */ |
| 17 | 17 | |
| 18 | -if (!defined('SMF')) |
|
| 18 | +if (!defined('SMF')) { |
|
| 19 | 19 | die('No direct access...'); |
| 20 | +} |
|
| 20 | 21 | |
| 21 | 22 | /** |
| 22 | 23 | * Log an error, if the error logging is enabled. |
@@ -36,8 +37,9 @@ discard block |
||
| 36 | 37 | static $tried_hook = false; |
| 37 | 38 | |
| 38 | 39 | // Check if error logging is actually on. |
| 39 | - if (empty($modSettings['enableErrorLogging'])) |
|
| 40 | - return $error_message; |
|
| 40 | + if (empty($modSettings['enableErrorLogging'])) { |
|
| 41 | + return $error_message; |
|
| 42 | + } |
|
| 41 | 43 | |
| 42 | 44 | // Basically, htmlspecialchars it minus &. (for entities!) |
| 43 | 45 | $error_message = strtr($error_message, array('<' => '<', '>' => '>', '"' => '"')); |
@@ -45,33 +47,39 @@ discard block |
||
| 45 | 47 | |
| 46 | 48 | // Add a file and line to the error message? |
| 47 | 49 | // Don't use the actual txt entries for file and line but instead use %1$s for file and %2$s for line |
| 48 | - if ($file == null) |
|
| 49 | - $file = ''; |
|
| 50 | - else |
|
| 51 | - // Window style slashes don't play well, lets convert them to the unix style. |
|
| 50 | + if ($file == null) { |
|
| 51 | + $file = ''; |
|
| 52 | + } else { |
|
| 53 | + // Window style slashes don't play well, lets convert them to the unix style. |
|
| 52 | 54 | $file = str_replace('\\', '/', $file); |
| 55 | + } |
|
| 53 | 56 | |
| 54 | - if ($line == null) |
|
| 55 | - $line = 0; |
|
| 56 | - else |
|
| 57 | - $line = (int) $line; |
|
| 57 | + if ($line == null) { |
|
| 58 | + $line = 0; |
|
| 59 | + } else { |
|
| 60 | + $line = (int) $line; |
|
| 61 | + } |
|
| 58 | 62 | |
| 59 | 63 | // Just in case there's no id_member or IP set yet. |
| 60 | - if (empty($user_info['id'])) |
|
| 61 | - $user_info['id'] = 0; |
|
| 62 | - if (empty($user_info['ip'])) |
|
| 63 | - $user_info['ip'] = ''; |
|
| 64 | + if (empty($user_info['id'])) { |
|
| 65 | + $user_info['id'] = 0; |
|
| 66 | + } |
|
| 67 | + if (empty($user_info['ip'])) { |
|
| 68 | + $user_info['ip'] = ''; |
|
| 69 | + } |
|
| 64 | 70 | |
| 65 | 71 | // Find the best query string we can... |
| 66 | 72 | $query_string = empty($_SERVER['QUERY_STRING']) ? (empty($_SERVER['REQUEST_URL']) ? '' : str_replace($scripturl, '', $_SERVER['REQUEST_URL'])) : $_SERVER['QUERY_STRING']; |
| 67 | 73 | |
| 68 | 74 | // Don't log the session hash in the url twice, it's a waste. |
| 69 | - if (!empty($smcFunc['htmlspecialchars'])) |
|
| 70 | - $query_string = $smcFunc['htmlspecialchars']((SMF == 'SSI' || SMF == 'BACKGROUND' ? '' : '?') . preg_replace(array('~;sesc=[^&;]+~', '~' . session_name() . '=' . session_id() . '[&;]~'), array(';sesc', ''), $query_string)); |
|
| 75 | + if (!empty($smcFunc['htmlspecialchars'])) { |
|
| 76 | + $query_string = $smcFunc['htmlspecialchars']((SMF == 'SSI' || SMF == 'BACKGROUND' ? '' : '?') . preg_replace(array('~;sesc=[^&;]+~', '~' . session_name() . '=' . session_id() . '[&;]~'), array(';sesc', ''), $query_string)); |
|
| 77 | + } |
|
| 71 | 78 | |
| 72 | 79 | // Just so we know what board error messages are from. |
| 73 | - if (isset($_POST['board']) && !isset($_GET['board'])) |
|
| 74 | - $query_string .= ($query_string == '' ? 'board=' : ';board=') . $_POST['board']; |
|
| 80 | + if (isset($_POST['board']) && !isset($_GET['board'])) { |
|
| 81 | + $query_string .= ($query_string == '' ? 'board=' : ';board=') . $_POST['board']; |
|
| 82 | + } |
|
| 75 | 83 | |
| 76 | 84 | // What types of categories do we have? |
| 77 | 85 | $known_error_types = array( |
@@ -134,12 +142,14 @@ discard block |
||
| 134 | 142 | global $txt; |
| 135 | 143 | |
| 136 | 144 | // Send the appropriate HTTP status header - set this to 0 or false if you don't want to send one at all |
| 137 | - if (!empty($status)) |
|
| 138 | - send_http_status($status); |
|
| 145 | + if (!empty($status)) { |
|
| 146 | + send_http_status($status); |
|
| 147 | + } |
|
| 139 | 148 | |
| 140 | 149 | // We don't have $txt yet, but that's okay... |
| 141 | - if (empty($txt)) |
|
| 142 | - die($error); |
|
| 150 | + if (empty($txt)) { |
|
| 151 | + die($error); |
|
| 152 | + } |
|
| 143 | 153 | |
| 144 | 154 | log_error_online($error, false); |
| 145 | 155 | setup_fatal_error_context($log ? log_error($error, $log) : $error); |
@@ -166,8 +176,9 @@ discard block |
||
| 166 | 176 | static $fatal_error_called = false; |
| 167 | 177 | |
| 168 | 178 | // Send the status header - set this to 0 or false if you don't want to send one at all |
| 169 | - if (!empty($status)) |
|
| 170 | - send_http_status($status); |
|
| 179 | + if (!empty($status)) { |
|
| 180 | + send_http_status($status); |
|
| 181 | + } |
|
| 171 | 182 | |
| 172 | 183 | // Try to load a theme if we don't have one. |
| 173 | 184 | if (empty($context['theme_loaded']) && empty($fatal_error_called)) |
@@ -177,8 +188,9 @@ discard block |
||
| 177 | 188 | } |
| 178 | 189 | |
| 179 | 190 | // If we have no theme stuff we can't have the language file... |
| 180 | - if (empty($context['theme_loaded'])) |
|
| 181 | - die($error); |
|
| 191 | + if (empty($context['theme_loaded'])) { |
|
| 192 | + die($error); |
|
| 193 | + } |
|
| 182 | 194 | |
| 183 | 195 | $reload_lang_file = true; |
| 184 | 196 | // Log the error in the forum's language, but don't waste the time if we aren't logging |
@@ -214,8 +226,9 @@ discard block |
||
| 214 | 226 | global $settings, $modSettings, $db_show_debug; |
| 215 | 227 | |
| 216 | 228 | // Ignore errors if we're ignoring them or they are strict notices from PHP 5 (which cannot be solved without breaking PHP 4.) |
| 217 | - if (error_reporting() == 0 || (defined('E_STRICT') && $error_level == E_STRICT && !empty($modSettings['enableErrorLogging']))) |
|
| 218 | - return; |
|
| 229 | + if (error_reporting() == 0 || (defined('E_STRICT') && $error_level == E_STRICT && !empty($modSettings['enableErrorLogging']))) { |
|
| 230 | + return; |
|
| 231 | + } |
|
| 219 | 232 | |
| 220 | 233 | if (strpos($file, 'eval()') !== false && !empty($settings['current_include_filename'])) |
| 221 | 234 | { |
@@ -223,19 +236,22 @@ discard block |
||
| 223 | 236 | $count = count($array); |
| 224 | 237 | for ($i = 0; $i < $count; $i++) |
| 225 | 238 | { |
| 226 | - if ($array[$i]['function'] != 'loadSubTemplate') |
|
| 227 | - continue; |
|
| 239 | + if ($array[$i]['function'] != 'loadSubTemplate') { |
|
| 240 | + continue; |
|
| 241 | + } |
|
| 228 | 242 | |
| 229 | 243 | // This is a bug in PHP, with eval, it seems! |
| 230 | - if (empty($array[$i]['args'])) |
|
| 231 | - $i++; |
|
| 244 | + if (empty($array[$i]['args'])) { |
|
| 245 | + $i++; |
|
| 246 | + } |
|
| 232 | 247 | break; |
| 233 | 248 | } |
| 234 | 249 | |
| 235 | - if (isset($array[$i]) && !empty($array[$i]['args'])) |
|
| 236 | - $file = realpath($settings['current_include_filename']) . ' (' . $array[$i]['args'][0] . ' sub template - eval?)'; |
|
| 237 | - else |
|
| 238 | - $file = realpath($settings['current_include_filename']) . ' (eval?)'; |
|
| 250 | + if (isset($array[$i]) && !empty($array[$i]['args'])) { |
|
| 251 | + $file = realpath($settings['current_include_filename']) . ' (' . $array[$i]['args'][0] . ' sub template - eval?)'; |
|
| 252 | + } else { |
|
| 253 | + $file = realpath($settings['current_include_filename']) . ' (eval?)'; |
|
| 254 | + } |
|
| 239 | 255 | } |
| 240 | 256 | |
| 241 | 257 | if (isset($db_show_debug) && $db_show_debug === true) |
@@ -244,8 +260,9 @@ discard block |
||
| 244 | 260 | if ($error_level % 255 != E_ERROR) |
| 245 | 261 | { |
| 246 | 262 | $temporary = ob_get_contents(); |
| 247 | - if (substr($temporary, -2) == '="') |
|
| 248 | - echo '"'; |
|
| 263 | + if (substr($temporary, -2) == '="') { |
|
| 264 | + echo '"'; |
|
| 265 | + } |
|
| 249 | 266 | } |
| 250 | 267 | |
| 251 | 268 | // Debugging! This should look like a PHP error message. |
@@ -261,23 +278,27 @@ discard block |
||
| 261 | 278 | call_integration_hook('integrate_output_error', array($message, $error_type, $error_level, $file, $line)); |
| 262 | 279 | |
| 263 | 280 | // Dying on these errors only causes MORE problems (blank pages!) |
| 264 | - if ($file == 'Unknown') |
|
| 265 | - return; |
|
| 281 | + if ($file == 'Unknown') { |
|
| 282 | + return; |
|
| 283 | + } |
|
| 266 | 284 | |
| 267 | 285 | // If this is an E_ERROR or E_USER_ERROR.... die. Violently so. |
| 268 | - if ($error_level % 255 == E_ERROR) |
|
| 269 | - obExit(false); |
|
| 270 | - else |
|
| 271 | - return; |
|
| 286 | + if ($error_level % 255 == E_ERROR) { |
|
| 287 | + obExit(false); |
|
| 288 | + } else { |
|
| 289 | + return; |
|
| 290 | + } |
|
| 272 | 291 | |
| 273 | 292 | // If this is an E_ERROR, E_USER_ERROR, E_WARNING, or E_USER_WARNING.... die. Violently so. |
| 274 | - if ($error_level % 255 == E_ERROR || $error_level % 255 == E_WARNING) |
|
| 275 | - fatal_error(allowedTo('admin_forum') ? $message : $error_string, false); |
|
| 293 | + if ($error_level % 255 == E_ERROR || $error_level % 255 == E_WARNING) { |
|
| 294 | + fatal_error(allowedTo('admin_forum') ? $message : $error_string, false); |
|
| 295 | + } |
|
| 276 | 296 | |
| 277 | 297 | // We should NEVER get to this point. Any fatal error MUST quit, or very bad things can happen. |
| 278 | - if ($error_level % 255 == E_ERROR) |
|
| 279 | - die('No direct access...'); |
|
| 280 | -} |
|
| 298 | + if ($error_level % 255 == E_ERROR) { |
|
| 299 | + die('No direct access...'); |
|
| 300 | + } |
|
| 301 | + } |
|
| 281 | 302 | |
| 282 | 303 | /** |
| 283 | 304 | * It is called by {@link fatal_error()} and {@link fatal_lang_error()}. |
@@ -293,24 +314,28 @@ discard block |
||
| 293 | 314 | |
| 294 | 315 | // Attempt to prevent a recursive loop. |
| 295 | 316 | ++$level; |
| 296 | - if ($level > 1) |
|
| 297 | - return false; |
|
| 317 | + if ($level > 1) { |
|
| 318 | + return false; |
|
| 319 | + } |
|
| 298 | 320 | |
| 299 | 321 | // Maybe they came from dlattach or similar? |
| 300 | - if (SMF != 'SSI' && SMF != 'BACKGROUND' && empty($context['theme_loaded'])) |
|
| 301 | - loadTheme(); |
|
| 322 | + if (SMF != 'SSI' && SMF != 'BACKGROUND' && empty($context['theme_loaded'])) { |
|
| 323 | + loadTheme(); |
|
| 324 | + } |
|
| 302 | 325 | |
| 303 | 326 | // Don't bother indexing errors mate... |
| 304 | 327 | $context['robot_no_index'] = true; |
| 305 | 328 | |
| 306 | - if (!isset($context['error_title'])) |
|
| 307 | - $context['error_title'] = $txt['error_occured']; |
|
| 329 | + if (!isset($context['error_title'])) { |
|
| 330 | + $context['error_title'] = $txt['error_occured']; |
|
| 331 | + } |
|
| 308 | 332 | $context['error_message'] = isset($context['error_message']) ? $context['error_message'] : $error_message; |
| 309 | 333 | |
| 310 | 334 | $context['error_code'] = isset($error_code) ? 'id="' . $error_code . '" ' : ''; |
| 311 | 335 | |
| 312 | - if (empty($context['page_title'])) |
|
| 313 | - $context['page_title'] = $context['error_title']; |
|
| 336 | + if (empty($context['page_title'])) { |
|
| 337 | + $context['page_title'] = $context['error_title']; |
|
| 338 | + } |
|
| 314 | 339 | |
| 315 | 340 | loadTemplate('Errors'); |
| 316 | 341 | $context['sub_template'] = 'fatal_error'; |
@@ -318,23 +343,26 @@ discard block |
||
| 318 | 343 | // If this is SSI, what do they want us to do? |
| 319 | 344 | if (SMF == 'SSI') |
| 320 | 345 | { |
| 321 | - if (!empty($ssi_on_error_method) && $ssi_on_error_method !== true && is_callable($ssi_on_error_method)) |
|
| 322 | - $ssi_on_error_method(); |
|
| 323 | - elseif (empty($ssi_on_error_method) || $ssi_on_error_method !== true) |
|
| 324 | - loadSubTemplate('fatal_error'); |
|
| 346 | + if (!empty($ssi_on_error_method) && $ssi_on_error_method !== true && is_callable($ssi_on_error_method)) { |
|
| 347 | + $ssi_on_error_method(); |
|
| 348 | + } elseif (empty($ssi_on_error_method) || $ssi_on_error_method !== true) { |
|
| 349 | + loadSubTemplate('fatal_error'); |
|
| 350 | + } |
|
| 325 | 351 | |
| 326 | 352 | // No layers? |
| 327 | - if (empty($ssi_on_error_method) || $ssi_on_error_method !== true) |
|
| 328 | - exit; |
|
| 353 | + if (empty($ssi_on_error_method) || $ssi_on_error_method !== true) { |
|
| 354 | + exit; |
|
| 355 | + } |
|
| 329 | 356 | } |
| 330 | 357 | // Alternatively from the cron call? |
| 331 | 358 | elseif (SMF == 'BACKGROUND') |
| 332 | 359 | { |
| 333 | 360 | // We can't rely on even having language files available. |
| 334 | - if (defined('FROM_CLI') && FROM_CLI) |
|
| 335 | - echo 'cron error: ', $context['error_message']; |
|
| 336 | - else |
|
| 337 | - echo 'An error occurred. More information may be available in your logs.'; |
|
| 361 | + if (defined('FROM_CLI') && FROM_CLI) { |
|
| 362 | + echo 'cron error: ', $context['error_message']; |
|
| 363 | + } else { |
|
| 364 | + echo 'An error occurred. More information may be available in your logs.'; |
|
| 365 | + } |
|
| 338 | 366 | exit; |
| 339 | 367 | } |
| 340 | 368 | |
@@ -362,8 +390,8 @@ discard block |
||
| 362 | 390 | |
| 363 | 391 | set_fatal_error_headers(); |
| 364 | 392 | |
| 365 | - if (!empty($maintenance)) |
|
| 366 | - echo '<!DOCTYPE html> |
|
| 393 | + if (!empty($maintenance)) { |
|
| 394 | + echo '<!DOCTYPE html> |
|
| 367 | 395 | <html> |
| 368 | 396 | <head> |
| 369 | 397 | <meta name="robots" content="noindex"> |
@@ -374,6 +402,7 @@ discard block |
||
| 374 | 402 | ', $mmessage, ' |
| 375 | 403 | </body> |
| 376 | 404 | </html>'; |
| 405 | + } |
|
| 377 | 406 | |
| 378 | 407 | die(); |
| 379 | 408 | } |
@@ -395,15 +424,17 @@ discard block |
||
| 395 | 424 | // For our purposes, we're gonna want this on if at all possible. |
| 396 | 425 | $modSettings['cache_enable'] = '1'; |
| 397 | 426 | |
| 398 | - if (($temp = cache_get_data('db_last_error', 600)) !== null) |
|
| 399 | - $db_last_error = max($db_last_error, $temp); |
|
| 427 | + if (($temp = cache_get_data('db_last_error', 600)) !== null) { |
|
| 428 | + $db_last_error = max($db_last_error, $temp); |
|
| 429 | + } |
|
| 400 | 430 | |
| 401 | 431 | if ($db_last_error < time() - 3600 * 24 * 3 && empty($maintenance) && !empty($db_error_send)) |
| 402 | 432 | { |
| 403 | 433 | // Avoid writing to the Settings.php file if at all possible; use shared memory instead. |
| 404 | 434 | cache_put_data('db_last_error', time(), 600); |
| 405 | - if (($temp = cache_get_data('db_last_error', 600)) === null) |
|
| 406 | - logLastDatabaseError(); |
|
| 435 | + if (($temp = cache_get_data('db_last_error', 600)) === null) { |
|
| 436 | + logLastDatabaseError(); |
|
| 437 | + } |
|
| 407 | 438 | |
| 408 | 439 | // Language files aren't loaded yet :(. |
| 409 | 440 | $db_error = @$smcFunc['db_error']($db_connection); |
@@ -484,12 +515,14 @@ discard block |
||
| 484 | 515 | global $smcFunc, $user_info, $modSettings; |
| 485 | 516 | |
| 486 | 517 | // Don't bother if Who's Online is disabled. |
| 487 | - if (empty($modSettings['who_enabled'])) |
|
| 488 | - return; |
|
| 518 | + if (empty($modSettings['who_enabled'])) { |
|
| 519 | + return; |
|
| 520 | + } |
|
| 489 | 521 | |
| 490 | 522 | // Maybe they came from SSI or similar where sessions are not recorded? |
| 491 | - if (SMF == 'SSI' || SMF == 'BACKGROUND') |
|
| 492 | - return; |
|
| 523 | + if (SMF == 'SSI' || SMF == 'BACKGROUND') { |
|
| 524 | + return; |
|
| 525 | + } |
|
| 493 | 526 | |
| 494 | 527 | $session_id = $user_info['is_guest'] ? 'ip' . $user_info['ip'] : session_id(); |
| 495 | 528 | |
@@ -515,8 +548,9 @@ discard block |
||
| 515 | 548 | $url = $smcFunc['json_decode']($url, true); |
| 516 | 549 | $url['error'] = $error; |
| 517 | 550 | |
| 518 | - if (!empty($sprintf)) |
|
| 519 | - $url['error_params'] = $sprintf; |
|
| 551 | + if (!empty($sprintf)) { |
|
| 552 | + $url['error_params'] = $sprintf; |
|
| 553 | + } |
|
| 520 | 554 | |
| 521 | 555 | $smcFunc['db_query']('', ' |
| 522 | 556 | UPDATE {db_prefix}log_online |
@@ -547,10 +581,11 @@ discard block |
||
| 547 | 581 | |
| 548 | 582 | $protocol = preg_match('~HTTP/1\.[01]~i', $_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0'; |
| 549 | 583 | |
| 550 | - if (!isset($statuses[$code])) |
|
| 551 | - header($protocol . ' 500 Internal Server Error'); |
|
| 552 | - else |
|
| 553 | - header($protocol . ' ' . $code . ' ' . $statuses[$code]); |
|
| 554 | -} |
|
| 584 | + if (!isset($statuses[$code])) { |
|
| 585 | + header($protocol . ' 500 Internal Server Error'); |
|
| 586 | + } else { |
|
| 587 | + header($protocol . ' ' . $code . ' ' . $statuses[$code]); |
|
| 588 | + } |
|
| 589 | + } |
|
| 555 | 590 | |
| 556 | 591 | ?> |
| 557 | 592 | \ No newline at end of file |
@@ -807,7 +807,7 @@ |
||
| 807 | 807 | /** |
| 808 | 808 | * Send a group of emails from the mail queue. |
| 809 | 809 | * |
| 810 | - * @param bool|int $number The number to send each loop through or false to use the standard limits |
|
| 810 | + * @param integer $number The number to send each loop through or false to use the standard limits |
|
| 811 | 811 | * @param bool $override_limit Whether to bypass the limit |
| 812 | 812 | * @param bool $force_send Whether to forcibly send the messages now (useful when using cron jobs) |
| 813 | 813 | * @return bool Whether things were sent |
@@ -13,8 +13,9 @@ discard block |
||
| 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 function works out what to do! |
@@ -24,9 +25,9 @@ discard block |
||
| 24 | 25 | global $time_start, $smcFunc; |
| 25 | 26 | |
| 26 | 27 | // Special case for doing the mail queue. |
| 27 | - if (isset($_GET['scheduled']) && $_GET['scheduled'] == 'mailq') |
|
| 28 | - ReduceMailQueue(); |
|
| 29 | - else |
|
| 28 | + if (isset($_GET['scheduled']) && $_GET['scheduled'] == 'mailq') { |
|
| 29 | + ReduceMailQueue(); |
|
| 30 | + } else |
|
| 30 | 31 | { |
| 31 | 32 | $task_string = ''; |
| 32 | 33 | |
@@ -53,18 +54,20 @@ discard block |
||
| 53 | 54 | |
| 54 | 55 | // How long in seconds it the gap? |
| 55 | 56 | $duration = $row['time_regularity']; |
| 56 | - if ($row['time_unit'] == 'm') |
|
| 57 | - $duration *= 60; |
|
| 58 | - elseif ($row['time_unit'] == 'h') |
|
| 59 | - $duration *= 3600; |
|
| 60 | - elseif ($row['time_unit'] == 'd') |
|
| 61 | - $duration *= 86400; |
|
| 62 | - elseif ($row['time_unit'] == 'w') |
|
| 63 | - $duration *= 604800; |
|
| 57 | + if ($row['time_unit'] == 'm') { |
|
| 58 | + $duration *= 60; |
|
| 59 | + } elseif ($row['time_unit'] == 'h') { |
|
| 60 | + $duration *= 3600; |
|
| 61 | + } elseif ($row['time_unit'] == 'd') { |
|
| 62 | + $duration *= 86400; |
|
| 63 | + } elseif ($row['time_unit'] == 'w') { |
|
| 64 | + $duration *= 604800; |
|
| 65 | + } |
|
| 64 | 66 | |
| 65 | 67 | // If we were really late running this task actually skip the next one. |
| 66 | - if (time() + ($duration / 2) > $next_time) |
|
| 67 | - $next_time += $duration; |
|
| 68 | + if (time() + ($duration / 2) > $next_time) { |
|
| 69 | + $next_time += $duration; |
|
| 70 | + } |
|
| 68 | 71 | |
| 69 | 72 | // Update it now, so no others run this! |
| 70 | 73 | $smcFunc['db_query']('', ' |
@@ -81,16 +84,19 @@ discard block |
||
| 81 | 84 | $affected_rows = $smcFunc['db_affected_rows'](); |
| 82 | 85 | |
| 83 | 86 | // What kind of task are we handling? |
| 84 | - if (!empty($row['callable'])) |
|
| 85 | - $task_string = $row['callable']; |
|
| 87 | + if (!empty($row['callable'])) { |
|
| 88 | + $task_string = $row['callable']; |
|
| 89 | + } |
|
| 86 | 90 | |
| 87 | 91 | // Default SMF task or old mods? |
| 88 | - elseif (function_exists('scheduled_' . $row['task'])) |
|
| 89 | - $task_string = 'scheduled_' . $row['task']; |
|
| 92 | + elseif (function_exists('scheduled_' . $row['task'])) { |
|
| 93 | + $task_string = 'scheduled_' . $row['task']; |
|
| 94 | + } |
|
| 90 | 95 | |
| 91 | 96 | // One last resource, the task name. |
| 92 | - elseif (!empty($row['task'])) |
|
| 93 | - $task_string = $row['task']; |
|
| 97 | + elseif (!empty($row['task'])) { |
|
| 98 | + $task_string = $row['task']; |
|
| 99 | + } |
|
| 94 | 100 | |
| 95 | 101 | // The function must exist or we are wasting our time, plus do some timestamp checking, and database check! |
| 96 | 102 | if (!empty($task_string) && (!isset($_GET['ts']) || $_GET['ts'] == $row['next_time']) && $affected_rows) |
@@ -101,11 +107,11 @@ discard block |
||
| 101 | 107 | $callable_task = call_helper($task_string, true); |
| 102 | 108 | |
| 103 | 109 | // Perform the task. |
| 104 | - if (!empty($callable_task)) |
|
| 105 | - $completed = call_user_func($callable_task); |
|
| 106 | - |
|
| 107 | - else |
|
| 108 | - $completed = false; |
|
| 110 | + if (!empty($callable_task)) { |
|
| 111 | + $completed = call_user_func($callable_task); |
|
| 112 | + } else { |
|
| 113 | + $completed = false; |
|
| 114 | + } |
|
| 109 | 115 | |
| 110 | 116 | // Log that we did it ;) |
| 111 | 117 | if ($completed) |
@@ -138,18 +144,20 @@ discard block |
||
| 138 | 144 | ) |
| 139 | 145 | ); |
| 140 | 146 | // No new task scheduled yet? |
| 141 | - if ($smcFunc['db_num_rows']($request) === 0) |
|
| 142 | - $nextEvent = time() + 86400; |
|
| 143 | - else |
|
| 144 | - list ($nextEvent) = $smcFunc['db_fetch_row']($request); |
|
| 147 | + if ($smcFunc['db_num_rows']($request) === 0) { |
|
| 148 | + $nextEvent = time() + 86400; |
|
| 149 | + } else { |
|
| 150 | + list ($nextEvent) = $smcFunc['db_fetch_row']($request); |
|
| 151 | + } |
|
| 145 | 152 | $smcFunc['db_free_result']($request); |
| 146 | 153 | |
| 147 | 154 | updateSettings(array('next_task_time' => $nextEvent)); |
| 148 | 155 | } |
| 149 | 156 | |
| 150 | 157 | // Shall we return? |
| 151 | - if (!isset($_GET['scheduled'])) |
|
| 152 | - return true; |
|
| 158 | + if (!isset($_GET['scheduled'])) { |
|
| 159 | + return true; |
|
| 160 | + } |
|
| 153 | 161 | |
| 154 | 162 | // Finally, send some stuff... |
| 155 | 163 | header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); |
@@ -181,16 +189,18 @@ discard block |
||
| 181 | 189 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 182 | 190 | { |
| 183 | 191 | // If this is no longer around we'll ignore it. |
| 184 | - if (empty($row['id_topic'])) |
|
| 185 | - continue; |
|
| 192 | + if (empty($row['id_topic'])) { |
|
| 193 | + continue; |
|
| 194 | + } |
|
| 186 | 195 | |
| 187 | 196 | // What type is it? |
| 188 | - if ($row['id_first_msg'] && $row['id_first_msg'] == $row['id_msg']) |
|
| 189 | - $type = 'topic'; |
|
| 190 | - elseif ($row['id_attach']) |
|
| 191 | - $type = 'attach'; |
|
| 192 | - else |
|
| 193 | - $type = 'msg'; |
|
| 197 | + if ($row['id_first_msg'] && $row['id_first_msg'] == $row['id_msg']) { |
|
| 198 | + $type = 'topic'; |
|
| 199 | + } elseif ($row['id_attach']) { |
|
| 200 | + $type = 'attach'; |
|
| 201 | + } else { |
|
| 202 | + $type = 'msg'; |
|
| 203 | + } |
|
| 194 | 204 | |
| 195 | 205 | // Add it to the array otherwise. |
| 196 | 206 | $notices[$row['id_board']][$type][] = array( |
@@ -211,8 +221,9 @@ discard block |
||
| 211 | 221 | ); |
| 212 | 222 | |
| 213 | 223 | // If nothing quit now. |
| 214 | - if (empty($notices)) |
|
| 215 | - return true; |
|
| 224 | + if (empty($notices)) { |
|
| 225 | + return true; |
|
| 226 | + } |
|
| 216 | 227 | |
| 217 | 228 | // Now we need to think about finding out *who* can approve - this is hard! |
| 218 | 229 | |
@@ -231,14 +242,16 @@ discard block |
||
| 231 | 242 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 232 | 243 | { |
| 233 | 244 | // Sorry guys, but we have to ignore guests AND members - it would be too many otherwise. |
| 234 | - if ($row['id_group'] < 2) |
|
| 235 | - continue; |
|
| 245 | + if ($row['id_group'] < 2) { |
|
| 246 | + continue; |
|
| 247 | + } |
|
| 236 | 248 | |
| 237 | 249 | $perms[$row['id_profile']][$row['add_deny'] ? 'add' : 'deny'][] = $row['id_group']; |
| 238 | 250 | |
| 239 | 251 | // Anyone who can access has to be considered. |
| 240 | - if ($row['add_deny']) |
|
| 241 | - $addGroups[] = $row['id_group']; |
|
| 252 | + if ($row['add_deny']) { |
|
| 253 | + $addGroups[] = $row['id_group']; |
|
| 254 | + } |
|
| 242 | 255 | } |
| 243 | 256 | $smcFunc['db_free_result']($request); |
| 244 | 257 | |
@@ -283,8 +296,9 @@ discard block |
||
| 283 | 296 | if (!empty($row['mod_prefs'])) |
| 284 | 297 | { |
| 285 | 298 | list(,, $pref_binary) = explode('|', $row['mod_prefs']); |
| 286 | - if (!($pref_binary & 4)) |
|
| 287 | - continue; |
|
| 299 | + if (!($pref_binary & 4)) { |
|
| 300 | + continue; |
|
| 301 | + } |
|
| 288 | 302 | } |
| 289 | 303 | |
| 290 | 304 | $members[$row['id_member']] = array( |
@@ -309,8 +323,9 @@ discard block |
||
| 309 | 323 | $emailbody = ''; |
| 310 | 324 | |
| 311 | 325 | // Load the language file as required. |
| 312 | - if (empty($current_language) || $current_language != $member['language']) |
|
| 313 | - $current_language = loadLanguage('EmailTemplates', $member['language'], false); |
|
| 326 | + if (empty($current_language) || $current_language != $member['language']) { |
|
| 327 | + $current_language = loadLanguage('EmailTemplates', $member['language'], false); |
|
| 328 | + } |
|
| 314 | 329 | |
| 315 | 330 | // Loop through each notice... |
| 316 | 331 | foreach ($notices as $board => $notice) |
@@ -318,29 +333,34 @@ discard block |
||
| 318 | 333 | $access = false; |
| 319 | 334 | |
| 320 | 335 | // Can they mod in this board? |
| 321 | - if (isset($mods[$id][$board])) |
|
| 322 | - $access = true; |
|
| 336 | + if (isset($mods[$id][$board])) { |
|
| 337 | + $access = true; |
|
| 338 | + } |
|
| 323 | 339 | |
| 324 | 340 | // Do the group check... |
| 325 | 341 | if (!$access && isset($perms[$profiles[$board]]['add'])) |
| 326 | 342 | { |
| 327 | 343 | // They can access?! |
| 328 | - if (array_intersect($perms[$profiles[$board]]['add'], $member['groups'])) |
|
| 329 | - $access = true; |
|
| 344 | + if (array_intersect($perms[$profiles[$board]]['add'], $member['groups'])) { |
|
| 345 | + $access = true; |
|
| 346 | + } |
|
| 330 | 347 | |
| 331 | 348 | // If they have deny rights don't consider them! |
| 332 | - if (isset($perms[$profiles[$board]]['deny'])) |
|
| 333 | - if (array_intersect($perms[$profiles[$board]]['deny'], $member['groups'])) |
|
| 349 | + if (isset($perms[$profiles[$board]]['deny'])) { |
|
| 350 | + if (array_intersect($perms[$profiles[$board]]['deny'], $member['groups'])) |
|
| 334 | 351 | $access = false; |
| 352 | + } |
|
| 335 | 353 | } |
| 336 | 354 | |
| 337 | 355 | // Finally, fix it for admins! |
| 338 | - if (in_array(1, $member['groups'])) |
|
| 339 | - $access = true; |
|
| 356 | + if (in_array(1, $member['groups'])) { |
|
| 357 | + $access = true; |
|
| 358 | + } |
|
| 340 | 359 | |
| 341 | 360 | // If they can't access it then give it a break! |
| 342 | - if (!$access) |
|
| 343 | - continue; |
|
| 361 | + if (!$access) { |
|
| 362 | + continue; |
|
| 363 | + } |
|
| 344 | 364 | |
| 345 | 365 | foreach ($notice as $type => $items) |
| 346 | 366 | { |
@@ -348,15 +368,17 @@ discard block |
||
| 348 | 368 | $emailbody .= $txt['scheduled_approval_email_' . $type] . "\n" . |
| 349 | 369 | '------------------------------------------------------' . "\n"; |
| 350 | 370 | |
| 351 | - foreach ($items as $item) |
|
| 352 | - $emailbody .= $item['subject'] . ' - ' . $item['href'] . "\n"; |
|
| 371 | + foreach ($items as $item) { |
|
| 372 | + $emailbody .= $item['subject'] . ' - ' . $item['href'] . "\n"; |
|
| 373 | + } |
|
| 353 | 374 | |
| 354 | 375 | $emailbody .= "\n"; |
| 355 | 376 | } |
| 356 | 377 | } |
| 357 | 378 | |
| 358 | - if ($emailbody == '') |
|
| 359 | - continue; |
|
| 379 | + if ($emailbody == '') { |
|
| 380 | + continue; |
|
| 381 | + } |
|
| 360 | 382 | |
| 361 | 383 | $replacements = array( |
| 362 | 384 | 'REALNAME' => $member['name'], |
@@ -397,8 +419,9 @@ discard block |
||
| 397 | 419 | ) |
| 398 | 420 | ); |
| 399 | 421 | $members = array(); |
| 400 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 401 | - $members[$row['id_member']] = $row['warning']; |
|
| 422 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 423 | + $members[$row['id_member']] = $row['warning']; |
|
| 424 | + } |
|
| 402 | 425 | $smcFunc['db_free_result']($request); |
| 403 | 426 | |
| 404 | 427 | // Have some members to check? |
@@ -420,17 +443,18 @@ discard block |
||
| 420 | 443 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 421 | 444 | { |
| 422 | 445 | // More than 24 hours ago? |
| 423 | - if ($row['last_warning'] <= time() - 86400) |
|
| 424 | - $member_changes[] = array( |
|
| 446 | + if ($row['last_warning'] <= time() - 86400) { |
|
| 447 | + $member_changes[] = array( |
|
| 425 | 448 | 'id' => $row['id_recipient'], |
| 426 | 449 | 'warning' => $members[$row['id_recipient']] >= $modSettings['warning_decrement'] ? $members[$row['id_recipient']] - $modSettings['warning_decrement'] : 0, |
| 427 | 450 | ); |
| 451 | + } |
|
| 428 | 452 | } |
| 429 | 453 | $smcFunc['db_free_result']($request); |
| 430 | 454 | |
| 431 | 455 | // Have some members to change? |
| 432 | - if (!empty($member_changes)) |
|
| 433 | - foreach ($member_changes as $change) |
|
| 456 | + if (!empty($member_changes)) { |
|
| 457 | + foreach ($member_changes as $change) |
|
| 434 | 458 | $smcFunc['db_query']('', ' |
| 435 | 459 | UPDATE {db_prefix}members |
| 436 | 460 | SET warning = {int:warning} |
@@ -440,6 +464,7 @@ discard block |
||
| 440 | 464 | 'id_member' => $change['id'], |
| 441 | 465 | ) |
| 442 | 466 | ); |
| 467 | + } |
|
| 443 | 468 | } |
| 444 | 469 | } |
| 445 | 470 | |
@@ -506,15 +531,17 @@ discard block |
||
| 506 | 531 | |
| 507 | 532 | // Store this useful data! |
| 508 | 533 | $boards[$row['id_board']] = $row['id_board']; |
| 509 | - if ($row['id_topic']) |
|
| 510 | - $notify['topics'][$row['id_topic']][] = $row['id_member']; |
|
| 511 | - else |
|
| 512 | - $notify['boards'][$row['id_board']][] = $row['id_member']; |
|
| 534 | + if ($row['id_topic']) { |
|
| 535 | + $notify['topics'][$row['id_topic']][] = $row['id_member']; |
|
| 536 | + } else { |
|
| 537 | + $notify['boards'][$row['id_board']][] = $row['id_member']; |
|
| 538 | + } |
|
| 513 | 539 | } |
| 514 | 540 | $smcFunc['db_free_result']($request); |
| 515 | 541 | |
| 516 | - if (empty($boards)) |
|
| 517 | - return true; |
|
| 542 | + if (empty($boards)) { |
|
| 543 | + return true; |
|
| 544 | + } |
|
| 518 | 545 | |
| 519 | 546 | // Just get the board names. |
| 520 | 547 | $request = $smcFunc['db_query']('', ' |
@@ -526,12 +553,14 @@ discard block |
||
| 526 | 553 | ) |
| 527 | 554 | ); |
| 528 | 555 | $boards = array(); |
| 529 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 530 | - $boards[$row['id_board']] = $row['name']; |
|
| 556 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 557 | + $boards[$row['id_board']] = $row['name']; |
|
| 558 | + } |
|
| 531 | 559 | $smcFunc['db_free_result']($request); |
| 532 | 560 | |
| 533 | - if (empty($boards)) |
|
| 534 | - return true; |
|
| 561 | + if (empty($boards)) { |
|
| 562 | + return true; |
|
| 563 | + } |
|
| 535 | 564 | |
| 536 | 565 | // Get the actual topics... |
| 537 | 566 | $request = $smcFunc['db_query']('', ' |
@@ -551,52 +580,57 @@ discard block |
||
| 551 | 580 | $types = array(); |
| 552 | 581 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 553 | 582 | { |
| 554 | - if (!isset($types[$row['note_type']][$row['id_board']])) |
|
| 555 | - $types[$row['note_type']][$row['id_board']] = array( |
|
| 583 | + if (!isset($types[$row['note_type']][$row['id_board']])) { |
|
| 584 | + $types[$row['note_type']][$row['id_board']] = array( |
|
| 556 | 585 | 'lines' => array(), |
| 557 | 586 | 'name' => $row['board_name'], |
| 558 | 587 | 'id' => $row['id_board'], |
| 559 | 588 | ); |
| 589 | + } |
|
| 560 | 590 | |
| 561 | 591 | if ($row['note_type'] == 'reply') |
| 562 | 592 | { |
| 563 | - if (isset($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']])) |
|
| 564 | - $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['count']++; |
|
| 565 | - else |
|
| 566 | - $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']] = array( |
|
| 593 | + if (isset($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']])) { |
|
| 594 | + $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['count']++; |
|
| 595 | + } else { |
|
| 596 | + $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']] = array( |
|
| 567 | 597 | 'id' => $row['id_topic'], |
| 568 | 598 | 'subject' => un_htmlspecialchars($row['subject']), |
| 569 | 599 | 'count' => 1, |
| 570 | 600 | ); |
| 571 | - } |
|
| 572 | - elseif ($row['note_type'] == 'topic') |
|
| 601 | + } |
|
| 602 | + } elseif ($row['note_type'] == 'topic') |
|
| 573 | 603 | { |
| 574 | - if (!isset($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']])) |
|
| 575 | - $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']] = array( |
|
| 604 | + if (!isset($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']])) { |
|
| 605 | + $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']] = array( |
|
| 576 | 606 | 'id' => $row['id_topic'], |
| 577 | 607 | 'subject' => un_htmlspecialchars($row['subject']), |
| 578 | 608 | ); |
| 579 | - } |
|
| 580 | - else |
|
| 609 | + } |
|
| 610 | + } else |
|
| 581 | 611 | { |
| 582 | - if (!isset($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']])) |
|
| 583 | - $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']] = array( |
|
| 612 | + if (!isset($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']])) { |
|
| 613 | + $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']] = array( |
|
| 584 | 614 | 'id' => $row['id_topic'], |
| 585 | 615 | 'subject' => un_htmlspecialchars($row['subject']), |
| 586 | 616 | 'starter' => $row['id_member_started'], |
| 587 | 617 | ); |
| 618 | + } |
|
| 588 | 619 | } |
| 589 | 620 | |
| 590 | 621 | $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'] = array(); |
| 591 | - if (!empty($notify['topics'][$row['id_topic']])) |
|
| 592 | - $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'] = array_merge($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'], $notify['topics'][$row['id_topic']]); |
|
| 593 | - if (!empty($notify['boards'][$row['id_board']])) |
|
| 594 | - $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'] = array_merge($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'], $notify['boards'][$row['id_board']]); |
|
| 622 | + if (!empty($notify['topics'][$row['id_topic']])) { |
|
| 623 | + $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'] = array_merge($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'], $notify['topics'][$row['id_topic']]); |
|
| 624 | + } |
|
| 625 | + if (!empty($notify['boards'][$row['id_board']])) { |
|
| 626 | + $types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'] = array_merge($types[$row['note_type']][$row['id_board']]['lines'][$row['id_topic']]['members'], $notify['boards'][$row['id_board']]); |
|
| 627 | + } |
|
| 595 | 628 | } |
| 596 | 629 | $smcFunc['db_free_result']($request); |
| 597 | 630 | |
| 598 | - if (empty($types)) |
|
| 599 | - return true; |
|
| 631 | + if (empty($types)) { |
|
| 632 | + return true; |
|
| 633 | + } |
|
| 600 | 634 | |
| 601 | 635 | // Let's load all the languages into a cache thingy. |
| 602 | 636 | $langtxt = array(); |
@@ -637,8 +671,9 @@ discard block |
||
| 637 | 671 | $notify_types = !empty($prefs[$mid]['msg_notify_type']) ? $prefs[$mid]['msg_notify_type'] : 1; |
| 638 | 672 | |
| 639 | 673 | // Did they not elect to choose this? |
| 640 | - if ($frequency == 4 && !$is_weekly || $frequency == 3 && $is_weekly || $notify_types == 4) |
|
| 641 | - continue; |
|
| 674 | + if ($frequency == 4 && !$is_weekly || $frequency == 3 && $is_weekly || $notify_types == 4) { |
|
| 675 | + continue; |
|
| 676 | + } |
|
| 642 | 677 | |
| 643 | 678 | // Right character set! |
| 644 | 679 | $context['character_set'] = empty($modSettings['global_character_set']) ? $langtxt[$lang]['char_set'] : $modSettings['global_character_set']; |
@@ -654,39 +689,43 @@ discard block |
||
| 654 | 689 | if (isset($types['topic'])) |
| 655 | 690 | { |
| 656 | 691 | $titled = false; |
| 657 | - foreach ($types['topic'] as $id => $board) |
|
| 658 | - foreach ($board['lines'] as $topic) |
|
| 692 | + foreach ($types['topic'] as $id => $board) { |
|
| 693 | + foreach ($board['lines'] as $topic) |
|
| 659 | 694 | if (in_array($mid, $topic['members'])) |
| 660 | 695 | { |
| 661 | 696 | if (!$titled) |
| 662 | 697 | { |
| 663 | 698 | $email['body'] .= "\n" . $langtxt[$lang]['new_topics'] . ':' . "\n" . '-----------------------------------------------'; |
| 699 | + } |
|
| 664 | 700 | $titled = true; |
| 665 | 701 | } |
| 666 | 702 | $email['body'] .= "\n" . sprintf($langtxt[$lang]['topic_lines'], $topic['subject'], $board['name']); |
| 667 | 703 | } |
| 668 | - if ($titled) |
|
| 669 | - $email['body'] .= "\n"; |
|
| 704 | + if ($titled) { |
|
| 705 | + $email['body'] .= "\n"; |
|
| 706 | + } |
|
| 670 | 707 | } |
| 671 | 708 | |
| 672 | 709 | // What about replies? |
| 673 | 710 | if (isset($types['reply'])) |
| 674 | 711 | { |
| 675 | 712 | $titled = false; |
| 676 | - foreach ($types['reply'] as $id => $board) |
|
| 677 | - foreach ($board['lines'] as $topic) |
|
| 713 | + foreach ($types['reply'] as $id => $board) { |
|
| 714 | + foreach ($board['lines'] as $topic) |
|
| 678 | 715 | if (in_array($mid, $topic['members'])) |
| 679 | 716 | { |
| 680 | 717 | if (!$titled) |
| 681 | 718 | { |
| 682 | 719 | $email['body'] .= "\n" . $langtxt[$lang]['new_replies'] . ':' . "\n" . '-----------------------------------------------'; |
| 720 | + } |
|
| 683 | 721 | $titled = true; |
| 684 | 722 | } |
| 685 | 723 | $email['body'] .= "\n" . ($topic['count'] == 1 ? sprintf($langtxt[$lang]['replies_one'], $topic['subject']) : sprintf($langtxt[$lang]['replies_many'], $topic['count'], $topic['subject'])); |
| 686 | 724 | } |
| 687 | 725 | |
| 688 | - if ($titled) |
|
| 689 | - $email['body'] .= "\n"; |
|
| 726 | + if ($titled) { |
|
| 727 | + $email['body'] .= "\n"; |
|
| 728 | + } |
|
| 690 | 729 | } |
| 691 | 730 | |
| 692 | 731 | // Finally, moderation actions! |
@@ -695,24 +734,27 @@ discard block |
||
| 695 | 734 | $titled = false; |
| 696 | 735 | foreach ($types as $note_type => $type) |
| 697 | 736 | { |
| 698 | - if ($note_type == 'topic' || $note_type == 'reply') |
|
| 699 | - continue; |
|
| 737 | + if ($note_type == 'topic' || $note_type == 'reply') { |
|
| 738 | + continue; |
|
| 739 | + } |
|
| 700 | 740 | |
| 701 | - foreach ($type as $id => $board) |
|
| 702 | - foreach ($board['lines'] as $topic) |
|
| 741 | + foreach ($type as $id => $board) { |
|
| 742 | + foreach ($board['lines'] as $topic) |
|
| 703 | 743 | if (in_array($mid, $topic['members'])) |
| 704 | 744 | { |
| 705 | 745 | if (!$titled) |
| 706 | 746 | { |
| 707 | 747 | $email['body'] .= "\n" . $langtxt[$lang]['mod_actions'] . ':' . "\n" . '-----------------------------------------------'; |
| 748 | + } |
|
| 708 | 749 | $titled = true; |
| 709 | 750 | } |
| 710 | 751 | $email['body'] .= "\n" . sprintf($langtxt[$lang][$note_type], $topic['subject']); |
| 711 | 752 | } |
| 712 | 753 | } |
| 713 | 754 | } |
| 714 | - if ($titled) |
|
| 715 | - $email['body'] .= "\n"; |
|
| 755 | + if ($titled) { |
|
| 756 | + $email['body'] .= "\n"; |
|
| 757 | + } |
|
| 716 | 758 | |
| 717 | 759 | // Then just say our goodbyes! |
| 718 | 760 | $email['body'] .= "\n\n" . $txt['regards_team']; |
@@ -740,8 +782,7 @@ discard block |
||
| 740 | 782 | 'not_daily' => 0, |
| 741 | 783 | ) |
| 742 | 784 | ); |
| 743 | - } |
|
| 744 | - else |
|
| 785 | + } else |
|
| 745 | 786 | { |
| 746 | 787 | // Clear any only weekly ones, and stop us from sending daily again. |
| 747 | 788 | $smcFunc['db_query']('', ' |
@@ -803,16 +844,19 @@ discard block |
||
| 803 | 844 | global $modSettings, $smcFunc, $sourcedir; |
| 804 | 845 | |
| 805 | 846 | // Are we intending another script to be sending out the queue? |
| 806 | - if (!empty($modSettings['mail_queue_use_cron']) && empty($force_send)) |
|
| 807 | - return false; |
|
| 847 | + if (!empty($modSettings['mail_queue_use_cron']) && empty($force_send)) { |
|
| 848 | + return false; |
|
| 849 | + } |
|
| 808 | 850 | |
| 809 | 851 | // By default send 5 at once. |
| 810 | - if (!$number) |
|
| 811 | - $number = empty($modSettings['mail_quantity']) ? 5 : $modSettings['mail_quantity']; |
|
| 852 | + if (!$number) { |
|
| 853 | + $number = empty($modSettings['mail_quantity']) ? 5 : $modSettings['mail_quantity']; |
|
| 854 | + } |
|
| 812 | 855 | |
| 813 | 856 | // If we came with a timestamp, and that doesn't match the next event, then someone else has beaten us. |
| 814 | - if (isset($_GET['ts']) && $_GET['ts'] != $modSettings['mail_next_send'] && empty($force_send)) |
|
| 815 | - return false; |
|
| 857 | + if (isset($_GET['ts']) && $_GET['ts'] != $modSettings['mail_next_send'] && empty($force_send)) { |
|
| 858 | + return false; |
|
| 859 | + } |
|
| 816 | 860 | |
| 817 | 861 | // By default move the next sending on by 10 seconds, and require an affected row. |
| 818 | 862 | if (!$override_limit) |
@@ -829,8 +873,9 @@ discard block |
||
| 829 | 873 | 'last_send' => $modSettings['mail_next_send'], |
| 830 | 874 | ) |
| 831 | 875 | ); |
| 832 | - if ($smcFunc['db_affected_rows']() == 0) |
|
| 833 | - return false; |
|
| 876 | + if ($smcFunc['db_affected_rows']() == 0) { |
|
| 877 | + return false; |
|
| 878 | + } |
|
| 834 | 879 | $modSettings['mail_next_send'] = time() + $delay; |
| 835 | 880 | } |
| 836 | 881 | |
@@ -851,8 +896,9 @@ discard block |
||
| 851 | 896 | $mn += $number; |
| 852 | 897 | } |
| 853 | 898 | // No more I'm afraid, return! |
| 854 | - else |
|
| 855 | - return false; |
|
| 899 | + else { |
|
| 900 | + return false; |
|
| 901 | + } |
|
| 856 | 902 | |
| 857 | 903 | // Reflect that we're about to send some, do it now to be safe. |
| 858 | 904 | updateSettings(array('mail_recent' => $mt . '|' . $mn)); |
@@ -887,14 +933,15 @@ discard block |
||
| 887 | 933 | $smcFunc['db_free_result']($request); |
| 888 | 934 | |
| 889 | 935 | // Delete, delete, delete!!! |
| 890 | - if (!empty($ids)) |
|
| 891 | - $smcFunc['db_query']('', ' |
|
| 936 | + if (!empty($ids)) { |
|
| 937 | + $smcFunc['db_query']('', ' |
|
| 892 | 938 | DELETE FROM {db_prefix}mail_queue |
| 893 | 939 | WHERE id_mail IN ({array_int:mail_list})', |
| 894 | 940 | array( |
| 895 | 941 | 'mail_list' => $ids, |
| 896 | 942 | ) |
| 897 | 943 | ); |
| 944 | + } |
|
| 898 | 945 | |
| 899 | 946 | // Don't believe we have any left? |
| 900 | 947 | if (count($ids) < $number) |
@@ -912,11 +959,13 @@ discard block |
||
| 912 | 959 | ); |
| 913 | 960 | } |
| 914 | 961 | |
| 915 | - if (empty($ids)) |
|
| 916 | - return false; |
|
| 962 | + if (empty($ids)) { |
|
| 963 | + return false; |
|
| 964 | + } |
|
| 917 | 965 | |
| 918 | - if (!empty($modSettings['mail_type']) && $modSettings['smtp_host'] != '') |
|
| 919 | - require_once($sourcedir . '/Subs-Post.php'); |
|
| 966 | + if (!empty($modSettings['mail_type']) && $modSettings['smtp_host'] != '') { |
|
| 967 | + require_once($sourcedir . '/Subs-Post.php'); |
|
| 968 | + } |
|
| 920 | 969 | |
| 921 | 970 | // Send each email, yea! |
| 922 | 971 | $failed_emails = array(); |
@@ -936,15 +985,17 @@ discard block |
||
| 936 | 985 | |
| 937 | 986 | // Try to stop a timeout, this would be bad... |
| 938 | 987 | @set_time_limit(300); |
| 939 | - if (function_exists('apache_reset_timeout')) |
|
| 940 | - @apache_reset_timeout(); |
|
| 988 | + if (function_exists('apache_reset_timeout')) { |
|
| 989 | + @apache_reset_timeout(); |
|
| 990 | + } |
|
| 991 | + } else { |
|
| 992 | + $result = smtp_mail(array($email['to']), $email['subject'], $email['body'], $email['headers']); |
|
| 941 | 993 | } |
| 942 | - else |
|
| 943 | - $result = smtp_mail(array($email['to']), $email['subject'], $email['body'], $email['headers']); |
|
| 944 | 994 | |
| 945 | 995 | // Hopefully it sent? |
| 946 | - if (!$result) |
|
| 947 | - $failed_emails[] = array($email['to'], $email['body'], $email['subject'], $email['headers'], $email['send_html'], $email['time_sent'], $email['private']); |
|
| 996 | + if (!$result) { |
|
| 997 | + $failed_emails[] = array($email['to'], $email['body'], $email['subject'], $email['headers'], $email['send_html'], $email['time_sent'], $email['private']); |
|
| 998 | + } |
|
| 948 | 999 | } |
| 949 | 1000 | |
| 950 | 1001 | // Any emails that didn't send? |
@@ -959,8 +1010,8 @@ discard block |
||
| 959 | 1010 | ); |
| 960 | 1011 | |
| 961 | 1012 | // If we have failed to many times, tell mail to wait a bit and try again. |
| 962 | - if ($modSettings['mail_failed_attempts'] > 5) |
|
| 963 | - $smcFunc['db_query']('', ' |
|
| 1013 | + if ($modSettings['mail_failed_attempts'] > 5) { |
|
| 1014 | + $smcFunc['db_query']('', ' |
|
| 964 | 1015 | UPDATE {db_prefix}settings |
| 965 | 1016 | SET value = {string:next_mail_send} |
| 966 | 1017 | WHERE variable = {literal:mail_next_send} |
@@ -969,6 +1020,7 @@ discard block |
||
| 969 | 1020 | 'next_mail_send' => time() + 60, |
| 970 | 1021 | 'last_send' => $modSettings['mail_next_send'], |
| 971 | 1022 | )); |
| 1023 | + } |
|
| 972 | 1024 | |
| 973 | 1025 | // Add our email back to the queue, manually. |
| 974 | 1026 | $smcFunc['db_insert']('insert', |
@@ -981,8 +1033,8 @@ discard block |
||
| 981 | 1033 | return false; |
| 982 | 1034 | } |
| 983 | 1035 | // We where unable to send the email, clear our failed attempts. |
| 984 | - elseif (!empty($modSettings['mail_failed_attempts'])) |
|
| 985 | - $smcFunc['db_query']('', ' |
|
| 1036 | + elseif (!empty($modSettings['mail_failed_attempts'])) { |
|
| 1037 | + $smcFunc['db_query']('', ' |
|
| 986 | 1038 | UPDATE {db_prefix}settings |
| 987 | 1039 | SET value = {string:zero} |
| 988 | 1040 | WHERE variable = {string:mail_failed_attempts}', |
@@ -990,6 +1042,7 @@ discard block |
||
| 990 | 1042 | 'zero' => '0', |
| 991 | 1043 | 'mail_failed_attempts' => 'mail_failed_attempts', |
| 992 | 1044 | )); |
| 1045 | + } |
|
| 993 | 1046 | |
| 994 | 1047 | // Had something to send... |
| 995 | 1048 | return true; |
@@ -1006,16 +1059,18 @@ discard block |
||
| 1006 | 1059 | global $modSettings, $smcFunc; |
| 1007 | 1060 | |
| 1008 | 1061 | $task_query = ''; |
| 1009 | - if (!is_array($tasks)) |
|
| 1010 | - $tasks = array($tasks); |
|
| 1062 | + if (!is_array($tasks)) { |
|
| 1063 | + $tasks = array($tasks); |
|
| 1064 | + } |
|
| 1011 | 1065 | |
| 1012 | 1066 | // Actually have something passed? |
| 1013 | 1067 | if (!empty($tasks)) |
| 1014 | 1068 | { |
| 1015 | - if (!isset($tasks[0]) || is_numeric($tasks[0])) |
|
| 1016 | - $task_query = ' AND id_task IN ({array_int:tasks})'; |
|
| 1017 | - else |
|
| 1018 | - $task_query = ' AND task IN ({array_string:tasks})'; |
|
| 1069 | + if (!isset($tasks[0]) || is_numeric($tasks[0])) { |
|
| 1070 | + $task_query = ' AND id_task IN ({array_int:tasks})'; |
|
| 1071 | + } else { |
|
| 1072 | + $task_query = ' AND task IN ({array_string:tasks})'; |
|
| 1073 | + } |
|
| 1019 | 1074 | } |
| 1020 | 1075 | $nextTaskTime = empty($tasks) ? time() + 86400 : $modSettings['next_task_time']; |
| 1021 | 1076 | |
@@ -1036,20 +1091,22 @@ discard block |
||
| 1036 | 1091 | $next_time = next_time($row['time_regularity'], $row['time_unit'], $row['time_offset']); |
| 1037 | 1092 | |
| 1038 | 1093 | // Only bother moving the task if it's out of place or we're forcing it! |
| 1039 | - if ($forceUpdate || $next_time < $row['next_time'] || $row['next_time'] < time()) |
|
| 1040 | - $tasks[$row['id_task']] = $next_time; |
|
| 1041 | - else |
|
| 1042 | - $next_time = $row['next_time']; |
|
| 1094 | + if ($forceUpdate || $next_time < $row['next_time'] || $row['next_time'] < time()) { |
|
| 1095 | + $tasks[$row['id_task']] = $next_time; |
|
| 1096 | + } else { |
|
| 1097 | + $next_time = $row['next_time']; |
|
| 1098 | + } |
|
| 1043 | 1099 | |
| 1044 | 1100 | // If this is sooner than the current next task, make this the next task. |
| 1045 | - if ($next_time < $nextTaskTime) |
|
| 1046 | - $nextTaskTime = $next_time; |
|
| 1101 | + if ($next_time < $nextTaskTime) { |
|
| 1102 | + $nextTaskTime = $next_time; |
|
| 1103 | + } |
|
| 1047 | 1104 | } |
| 1048 | 1105 | $smcFunc['db_free_result']($request); |
| 1049 | 1106 | |
| 1050 | 1107 | // Now make the changes! |
| 1051 | - foreach ($tasks as $id => $time) |
|
| 1052 | - $smcFunc['db_query']('', ' |
|
| 1108 | + foreach ($tasks as $id => $time) { |
|
| 1109 | + $smcFunc['db_query']('', ' |
|
| 1053 | 1110 | UPDATE {db_prefix}scheduled_tasks |
| 1054 | 1111 | SET next_time = {int:next_time} |
| 1055 | 1112 | WHERE id_task = {int:id_task}', |
@@ -1058,11 +1115,13 @@ discard block |
||
| 1058 | 1115 | 'id_task' => $id, |
| 1059 | 1116 | ) |
| 1060 | 1117 | ); |
| 1118 | + } |
|
| 1061 | 1119 | |
| 1062 | 1120 | // If the next task is now different update. |
| 1063 | - if ($modSettings['next_task_time'] != $nextTaskTime) |
|
| 1064 | - updateSettings(array('next_task_time' => $nextTaskTime)); |
|
| 1065 | -} |
|
| 1121 | + if ($modSettings['next_task_time'] != $nextTaskTime) { |
|
| 1122 | + updateSettings(array('next_task_time' => $nextTaskTime)); |
|
| 1123 | + } |
|
| 1124 | + } |
|
| 1066 | 1125 | |
| 1067 | 1126 | /** |
| 1068 | 1127 | * Simply returns a time stamp of the next instance of these time parameters. |
@@ -1075,8 +1134,9 @@ discard block |
||
| 1075 | 1134 | function next_time($regularity, $unit, $offset) |
| 1076 | 1135 | { |
| 1077 | 1136 | // Just in case! |
| 1078 | - if ($regularity == 0) |
|
| 1079 | - $regularity = 2; |
|
| 1137 | + if ($regularity == 0) { |
|
| 1138 | + $regularity = 2; |
|
| 1139 | + } |
|
| 1080 | 1140 | |
| 1081 | 1141 | $curMin = date('i', time()); |
| 1082 | 1142 | |
@@ -1086,15 +1146,16 @@ discard block |
||
| 1086 | 1146 | $off = date('i', $offset); |
| 1087 | 1147 | |
| 1088 | 1148 | // If it's now just pretend it ain't, |
| 1089 | - if ($off == $curMin) |
|
| 1090 | - $next_time = time() + $regularity; |
|
| 1091 | - else |
|
| 1149 | + if ($off == $curMin) { |
|
| 1150 | + $next_time = time() + $regularity; |
|
| 1151 | + } else |
|
| 1092 | 1152 | { |
| 1093 | 1153 | // Make sure that the offset is always in the past. |
| 1094 | 1154 | $off = $off > $curMin ? $off - 60 : $off; |
| 1095 | 1155 | |
| 1096 | - while ($off <= $curMin) |
|
| 1097 | - $off += $regularity; |
|
| 1156 | + while ($off <= $curMin) { |
|
| 1157 | + $off += $regularity; |
|
| 1158 | + } |
|
| 1098 | 1159 | |
| 1099 | 1160 | // Now we know when the time should be! |
| 1100 | 1161 | $next_time = time() + 60 * ($off - $curMin); |
@@ -1114,11 +1175,13 @@ discard block |
||
| 1114 | 1175 | // Default we'll jump in hours. |
| 1115 | 1176 | $applyOffset = 3600; |
| 1116 | 1177 | // 24 hours = 1 day. |
| 1117 | - if ($unit == 'd') |
|
| 1118 | - $applyOffset = 86400; |
|
| 1178 | + if ($unit == 'd') { |
|
| 1179 | + $applyOffset = 86400; |
|
| 1180 | + } |
|
| 1119 | 1181 | // Otherwise a week. |
| 1120 | - if ($unit == 'w') |
|
| 1121 | - $applyOffset = 604800; |
|
| 1182 | + if ($unit == 'w') { |
|
| 1183 | + $applyOffset = 604800; |
|
| 1184 | + } |
|
| 1122 | 1185 | |
| 1123 | 1186 | $applyOffset *= $regularity; |
| 1124 | 1187 | |
@@ -1155,8 +1218,9 @@ discard block |
||
| 1155 | 1218 | $settings[$row['variable']] = $row['value']; |
| 1156 | 1219 | |
| 1157 | 1220 | // Is this the default theme? |
| 1158 | - if (in_array($row['variable'], array('theme_dir', 'theme_url', 'images_url')) && $row['id_theme'] == '1') |
|
| 1159 | - $settings['default_' . $row['variable']] = $row['value']; |
|
| 1221 | + if (in_array($row['variable'], array('theme_dir', 'theme_url', 'images_url')) && $row['id_theme'] == '1') { |
|
| 1222 | + $settings['default_' . $row['variable']] = $row['value']; |
|
| 1223 | + } |
|
| 1160 | 1224 | } |
| 1161 | 1225 | $smcFunc['db_free_result']($result); |
| 1162 | 1226 | |
@@ -1166,12 +1230,14 @@ discard block |
||
| 1166 | 1230 | $settings['template_dirs'] = array($settings['theme_dir']); |
| 1167 | 1231 | |
| 1168 | 1232 | // Based on theme (if there is one). |
| 1169 | - if (!empty($settings['base_theme_dir'])) |
|
| 1170 | - $settings['template_dirs'][] = $settings['base_theme_dir']; |
|
| 1233 | + if (!empty($settings['base_theme_dir'])) { |
|
| 1234 | + $settings['template_dirs'][] = $settings['base_theme_dir']; |
|
| 1235 | + } |
|
| 1171 | 1236 | |
| 1172 | 1237 | // Lastly the default theme. |
| 1173 | - if ($settings['theme_dir'] != $settings['default_theme_dir']) |
|
| 1174 | - $settings['template_dirs'][] = $settings['default_theme_dir']; |
|
| 1238 | + if ($settings['theme_dir'] != $settings['default_theme_dir']) { |
|
| 1239 | + $settings['template_dirs'][] = $settings['default_theme_dir']; |
|
| 1240 | + } |
|
| 1175 | 1241 | } |
| 1176 | 1242 | |
| 1177 | 1243 | // Assume we want this. |
@@ -1318,8 +1384,9 @@ discard block |
||
| 1318 | 1384 | // Ok should we prune the logs? |
| 1319 | 1385 | if (!empty($modSettings['pruningOptions'])) |
| 1320 | 1386 | { |
| 1321 | - if (!empty($modSettings['pruningOptions']) && strpos($modSettings['pruningOptions'], ',') !== false) |
|
| 1322 | - list ($modSettings['pruneErrorLog'], $modSettings['pruneModLog'], $modSettings['pruneBanLog'], $modSettings['pruneReportLog'], $modSettings['pruneScheduledTaskLog'], $modSettings['pruneSpiderHitLog']) = explode(',', $modSettings['pruningOptions']); |
|
| 1387 | + if (!empty($modSettings['pruningOptions']) && strpos($modSettings['pruningOptions'], ',') !== false) { |
|
| 1388 | + list ($modSettings['pruneErrorLog'], $modSettings['pruneModLog'], $modSettings['pruneBanLog'], $modSettings['pruneReportLog'], $modSettings['pruneScheduledTaskLog'], $modSettings['pruneSpiderHitLog']) = explode(',', $modSettings['pruningOptions']); |
|
| 1389 | + } |
|
| 1323 | 1390 | |
| 1324 | 1391 | if (!empty($modSettings['pruneErrorLog'])) |
| 1325 | 1392 | { |
@@ -1385,8 +1452,9 @@ discard block |
||
| 1385 | 1452 | ) |
| 1386 | 1453 | ); |
| 1387 | 1454 | |
| 1388 | - while ($row = $smcFunc['db_fetch_row']($result)) |
|
| 1389 | - $reports[] = $row[0]; |
|
| 1455 | + while ($row = $smcFunc['db_fetch_row']($result)) { |
|
| 1456 | + $reports[] = $row[0]; |
|
| 1457 | + } |
|
| 1390 | 1458 | |
| 1391 | 1459 | $smcFunc['db_free_result']($result); |
| 1392 | 1460 | |
@@ -1548,8 +1616,9 @@ discard block |
||
| 1548 | 1616 | $emaildata = loadEmailTemplate('paid_subscription_reminder', $replacements, empty($row['lngfile']) || empty($modSettings['userLanguage']) ? $language : $row['lngfile']); |
| 1549 | 1617 | |
| 1550 | 1618 | // Send the actual email. |
| 1551 | - if ($notifyPrefs[$row['id_member']] & 0x02) |
|
| 1552 | - sendmail($row['email_address'], $emaildata['subject'], $emaildata['body'], null, 'paid_sub_remind', $emaildata['is_html'], 2); |
|
| 1619 | + if ($notifyPrefs[$row['id_member']] & 0x02) { |
|
| 1620 | + sendmail($row['email_address'], $emaildata['subject'], $emaildata['body'], null, 'paid_sub_remind', $emaildata['is_html'], 2); |
|
| 1621 | + } |
|
| 1553 | 1622 | |
| 1554 | 1623 | if ($notifyPrefs[$row['id_member']] & 0x01) |
| 1555 | 1624 | { |
@@ -1572,18 +1641,19 @@ discard block |
||
| 1572 | 1641 | } |
| 1573 | 1642 | |
| 1574 | 1643 | // Insert the alerts if any |
| 1575 | - if (!empty($alert_rows)) |
|
| 1576 | - $smcFunc['db_insert']('', |
|
| 1644 | + if (!empty($alert_rows)) { |
|
| 1645 | + $smcFunc['db_insert']('', |
|
| 1577 | 1646 | '{db_prefix}user_alerts', |
| 1578 | 1647 | array('alert_time' => 'int', 'id_member' => 'int', 'id_member_started' => 'int', 'member_name' => 'string', |
| 1579 | 1648 | 'content_type' => 'string', 'content_id' => 'int', 'content_action' => 'string', 'is_read' => 'int', 'extra' => 'string'), |
| 1580 | 1649 | $alert_rows, |
| 1581 | 1650 | array() |
| 1582 | 1651 | ); |
| 1652 | + } |
|
| 1583 | 1653 | |
| 1584 | 1654 | // Mark the reminder as sent. |
| 1585 | - if (!empty($subs_reminded)) |
|
| 1586 | - $smcFunc['db_query']('', ' |
|
| 1655 | + if (!empty($subs_reminded)) { |
|
| 1656 | + $smcFunc['db_query']('', ' |
|
| 1587 | 1657 | UPDATE {db_prefix}log_subscribed |
| 1588 | 1658 | SET reminder_sent = {int:reminder_sent} |
| 1589 | 1659 | WHERE id_sublog IN ({array_int:subscription_list})', |
@@ -1592,6 +1662,7 @@ discard block |
||
| 1592 | 1662 | 'reminder_sent' => 1, |
| 1593 | 1663 | ) |
| 1594 | 1664 | ); |
| 1665 | + } |
|
| 1595 | 1666 | |
| 1596 | 1667 | return true; |
| 1597 | 1668 | } |
@@ -1607,13 +1678,13 @@ discard block |
||
| 1607 | 1678 | // We need to know where this thing is going. |
| 1608 | 1679 | if (!empty($modSettings['currentAttachmentUploadDir'])) |
| 1609 | 1680 | { |
| 1610 | - if (!is_array($modSettings['attachmentUploadDir'])) |
|
| 1611 | - $modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true); |
|
| 1681 | + if (!is_array($modSettings['attachmentUploadDir'])) { |
|
| 1682 | + $modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true); |
|
| 1683 | + } |
|
| 1612 | 1684 | |
| 1613 | 1685 | // Just use the current path for temp files. |
| 1614 | 1686 | $attach_dirs = $modSettings['attachmentUploadDir']; |
| 1615 | - } |
|
| 1616 | - else |
|
| 1687 | + } else |
|
| 1617 | 1688 | { |
| 1618 | 1689 | $attach_dirs = array($modSettings['attachmentUploadDir']); |
| 1619 | 1690 | } |
@@ -1632,14 +1703,16 @@ discard block |
||
| 1632 | 1703 | |
| 1633 | 1704 | while ($file = readdir($dir)) |
| 1634 | 1705 | { |
| 1635 | - if ($file == '.' || $file == '..') |
|
| 1636 | - continue; |
|
| 1706 | + if ($file == '.' || $file == '..') { |
|
| 1707 | + continue; |
|
| 1708 | + } |
|
| 1637 | 1709 | |
| 1638 | 1710 | if (strpos($file, 'post_tmp_') !== false) |
| 1639 | 1711 | { |
| 1640 | 1712 | // Temp file is more than 5 hours old! |
| 1641 | - if (filemtime($attach_dir . '/' . $file) < time() - 18000) |
|
| 1642 | - @unlink($attach_dir . '/' . $file); |
|
| 1713 | + if (filemtime($attach_dir . '/' . $file) < time() - 18000) { |
|
| 1714 | + @unlink($attach_dir . '/' . $file); |
|
| 1715 | + } |
|
| 1643 | 1716 | } |
| 1644 | 1717 | } |
| 1645 | 1718 | closedir($dir); |
@@ -1672,8 +1745,9 @@ discard block |
||
| 1672 | 1745 | ) |
| 1673 | 1746 | ); |
| 1674 | 1747 | |
| 1675 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
| 1676 | - $topics[] = $row[0]; |
|
| 1748 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
| 1749 | + $topics[] = $row[0]; |
|
| 1750 | + } |
|
| 1677 | 1751 | $smcFunc['db_free_result']($request); |
| 1678 | 1752 | |
| 1679 | 1753 | // Zap, your gone |
@@ -1693,8 +1767,9 @@ discard block |
||
| 1693 | 1767 | { |
| 1694 | 1768 | global $smcFunc, $sourcedir, $modSettings; |
| 1695 | 1769 | |
| 1696 | - if (empty($modSettings['drafts_keep_days'])) |
|
| 1697 | - return true; |
|
| 1770 | + if (empty($modSettings['drafts_keep_days'])) { |
|
| 1771 | + return true; |
|
| 1772 | + } |
|
| 1698 | 1773 | |
| 1699 | 1774 | // init |
| 1700 | 1775 | $drafts = array(); |
@@ -1712,8 +1787,9 @@ discard block |
||
| 1712 | 1787 | ) |
| 1713 | 1788 | ); |
| 1714 | 1789 | |
| 1715 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
| 1716 | - $drafts[] = (int) $row[0]; |
|
| 1790 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
| 1791 | + $drafts[] = (int) $row[0]; |
|
| 1792 | + } |
|
| 1717 | 1793 | $smcFunc['db_free_result']($request); |
| 1718 | 1794 | |
| 1719 | 1795 | // If we have old one, remove them |
@@ -1717,7 +1717,7 @@ discard block |
||
| 1717 | 1717 | /** |
| 1718 | 1718 | * Show today's birthdays. |
| 1719 | 1719 | * @param string $output_method The output method. If 'echo', displays a list of users, otherwise returns an array of info about them. |
| 1720 | - * @return void|array Displays a list of users or returns an array of info about them depending on output_method. |
|
| 1720 | + * @return null|string Displays a list of users or returns an array of info about them depending on output_method. |
|
| 1721 | 1721 | */ |
| 1722 | 1722 | function ssi_todaysBirthdays($output_method = 'echo') |
| 1723 | 1723 | { |
@@ -1746,7 +1746,7 @@ discard block |
||
| 1746 | 1746 | /** |
| 1747 | 1747 | * Shows today's holidays. |
| 1748 | 1748 | * @param string $output_method The output method. If 'echo', displays a list of holidays, otherwise returns an array of info about them. |
| 1749 | - * @return void|array Displays a list of holidays or returns an array of info about them depending on output_method |
|
| 1749 | + * @return null|string Displays a list of holidays or returns an array of info about them depending on output_method |
|
| 1750 | 1750 | */ |
| 1751 | 1751 | function ssi_todaysHolidays($output_method = 'echo') |
| 1752 | 1752 | { |
@@ -1773,7 +1773,7 @@ discard block |
||
| 1773 | 1773 | |
| 1774 | 1774 | /** |
| 1775 | 1775 | * @param string $output_method The output method. If 'echo', displays a list of events, otherwise returns an array of info about them. |
| 1776 | - * @return void|array Displays a list of events or returns an array of info about them depending on output_method |
|
| 1776 | + * @return null|string Displays a list of events or returns an array of info about them depending on output_method |
|
| 1777 | 1777 | */ |
| 1778 | 1778 | function ssi_todaysEvents($output_method = 'echo') |
| 1779 | 1779 | { |
@@ -1807,7 +1807,7 @@ discard block |
||
| 1807 | 1807 | /** |
| 1808 | 1808 | * Shows today's calendar items (events, birthdays and holidays) |
| 1809 | 1809 | * @param string $output_method The output method. If 'echo', displays a list of calendar items, otherwise returns an array of info about them. |
| 1810 | - * @return void|array Displays a list of calendar items or returns an array of info about them depending on output_method |
|
| 1810 | + * @return null|string Displays a list of calendar items or returns an array of info about them depending on output_method |
|
| 1811 | 1811 | */ |
| 1812 | 1812 | function ssi_todaysCalendar($output_method = 'echo') |
| 1813 | 1813 | { |
@@ -2198,7 +2198,7 @@ discard block |
||
| 2198 | 2198 | * @param int|string $id The ID or username of a user |
| 2199 | 2199 | * @param string $password The password to check |
| 2200 | 2200 | * @param bool $is_username If true, treats $id as a username rather than a user ID |
| 2201 | - * @return bool Whether or not the password is correct. |
|
| 2201 | + * @return null|boolean Whether or not the password is correct. |
|
| 2202 | 2202 | */ |
| 2203 | 2203 | function ssi_checkPassword($id = null, $password = null, $is_username = false) |
| 2204 | 2204 | { |
@@ -12,8 +12,9 @@ discard block |
||
| 12 | 12 | */ |
| 13 | 13 | |
| 14 | 14 | // Don't do anything if SMF is already loaded. |
| 15 | -if (defined('SMF')) |
|
| 15 | +if (defined('SMF')) { |
|
| 16 | 16 | return true; |
| 17 | +} |
|
| 17 | 18 | |
| 18 | 19 | define('SMF', 'SSI'); |
| 19 | 20 | |
@@ -28,16 +29,18 @@ discard block |
||
| 28 | 29 | $time_start = microtime(true); |
| 29 | 30 | |
| 30 | 31 | // Just being safe... |
| 31 | -foreach (array('db_character_set', 'cachedir') as $variable) |
|
| 32 | +foreach (array('db_character_set', 'cachedir') as $variable) { |
|
| 32 | 33 | if (isset($GLOBALS[$variable])) |
| 33 | 34 | unset($GLOBALS[$variable]); |
| 35 | +} |
|
| 34 | 36 | |
| 35 | 37 | // Get the forum's settings for database and file paths. |
| 36 | 38 | require_once(dirname(__FILE__) . '/Settings.php'); |
| 37 | 39 | |
| 38 | 40 | // Make absolutely sure the cache directory is defined. |
| 39 | -if ((empty($cachedir) || !file_exists($cachedir)) && file_exists($boarddir . '/cache')) |
|
| 41 | +if ((empty($cachedir) || !file_exists($cachedir)) && file_exists($boarddir . '/cache')) { |
|
| 40 | 42 | $cachedir = $boarddir . '/cache'; |
| 43 | +} |
|
| 41 | 44 | |
| 42 | 45 | $ssi_error_reporting = error_reporting(defined('E_STRICT') ? E_ALL | E_STRICT : E_ALL); |
| 43 | 46 | /* Set this to one of three values depending on what you want to happen in the case of a fatal error. |
@@ -48,12 +51,14 @@ discard block |
||
| 48 | 51 | $ssi_on_error_method = false; |
| 49 | 52 | |
| 50 | 53 | // Don't do john didley if the forum's been shut down completely. |
| 51 | -if ($maintenance == 2 && (!isset($ssi_maintenance_off) || $ssi_maintenance_off !== true)) |
|
| 54 | +if ($maintenance == 2 && (!isset($ssi_maintenance_off) || $ssi_maintenance_off !== true)) { |
|
| 52 | 55 | die($mmessage); |
| 56 | +} |
|
| 53 | 57 | |
| 54 | 58 | // Fix for using the current directory as a path. |
| 55 | -if (substr($sourcedir, 0, 1) == '.' && substr($sourcedir, 1, 1) != '.') |
|
| 59 | +if (substr($sourcedir, 0, 1) == '.' && substr($sourcedir, 1, 1) != '.') { |
|
| 56 | 60 | $sourcedir = dirname(__FILE__) . substr($sourcedir, 1); |
| 61 | +} |
|
| 57 | 62 | |
| 58 | 63 | // Load the important includes. |
| 59 | 64 | require_once($sourcedir . '/QueryString.php'); |
@@ -78,34 +83,38 @@ discard block |
||
| 78 | 83 | cleanRequest(); |
| 79 | 84 | |
| 80 | 85 | // Seed the random generator? |
| 81 | -if (empty($modSettings['rand_seed']) || mt_rand(1, 250) == 69) |
|
| 86 | +if (empty($modSettings['rand_seed']) || mt_rand(1, 250) == 69) { |
|
| 82 | 87 | smf_seed_generator(); |
| 88 | +} |
|
| 83 | 89 | |
| 84 | 90 | // Check on any hacking attempts. |
| 85 | -if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS'])) |
|
| 91 | +if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS'])) { |
|
| 86 | 92 | die('No direct access...'); |
| 87 | -elseif (isset($_REQUEST['ssi_theme']) && (int) $_REQUEST['ssi_theme'] == (int) $ssi_theme) |
|
| 93 | +} elseif (isset($_REQUEST['ssi_theme']) && (int) $_REQUEST['ssi_theme'] == (int) $ssi_theme) { |
|
| 88 | 94 | die('No direct access...'); |
| 89 | -elseif (isset($_COOKIE['ssi_theme']) && (int) $_COOKIE['ssi_theme'] == (int) $ssi_theme) |
|
| 95 | +} elseif (isset($_COOKIE['ssi_theme']) && (int) $_COOKIE['ssi_theme'] == (int) $ssi_theme) { |
|
| 90 | 96 | die('No direct access...'); |
| 91 | -elseif (isset($_REQUEST['ssi_layers'], $ssi_layers) && (@get_magic_quotes_gpc() ? stripslashes($_REQUEST['ssi_layers']) : $_REQUEST['ssi_layers']) == $ssi_layers) |
|
| 97 | +} elseif (isset($_REQUEST['ssi_layers'], $ssi_layers) && (@get_magic_quotes_gpc() ? stripslashes($_REQUEST['ssi_layers']) : $_REQUEST['ssi_layers']) == $ssi_layers) { |
|
| 92 | 98 | die('No direct access...'); |
| 93 | -if (isset($_REQUEST['context'])) |
|
| 99 | +} |
|
| 100 | +if (isset($_REQUEST['context'])) { |
|
| 94 | 101 | die('No direct access...'); |
| 102 | +} |
|
| 95 | 103 | |
| 96 | 104 | // Gzip output? (because it must be boolean and true, this can't be hacked.) |
| 97 | -if (isset($ssi_gzip) && $ssi_gzip === true && ini_get('zlib.output_compression') != '1' && ini_get('output_handler') != 'ob_gzhandler' && version_compare(PHP_VERSION, '4.2.0', '>=')) |
|
| 105 | +if (isset($ssi_gzip) && $ssi_gzip === true && ini_get('zlib.output_compression') != '1' && ini_get('output_handler') != 'ob_gzhandler' && version_compare(PHP_VERSION, '4.2.0', '>=')) { |
|
| 98 | 106 | ob_start('ob_gzhandler'); |
| 99 | -else |
|
| 107 | +} else { |
|
| 100 | 108 | $modSettings['enableCompressedOutput'] = '0'; |
| 109 | +} |
|
| 101 | 110 | |
| 102 | 111 | // Primarily, this is to fix the URLs... |
| 103 | 112 | ob_start('ob_sessrewrite'); |
| 104 | 113 | |
| 105 | 114 | // Start the session... known to scramble SSI includes in cases... |
| 106 | -if (!headers_sent()) |
|
| 115 | +if (!headers_sent()) { |
|
| 107 | 116 | loadSession(); |
| 108 | -else |
|
| 117 | +} else |
|
| 109 | 118 | { |
| 110 | 119 | if (isset($_COOKIE[session_name()]) || isset($_REQUEST[session_name()])) |
| 111 | 120 | { |
@@ -139,12 +148,14 @@ discard block |
||
| 139 | 148 | loadTheme(isset($ssi_theme) ? (int) $ssi_theme : 0); |
| 140 | 149 | |
| 141 | 150 | // @todo: probably not the best place, but somewhere it should be set... |
| 142 | -if (!headers_sent()) |
|
| 151 | +if (!headers_sent()) { |
|
| 143 | 152 | header('Content-Type: text/html; charset=' . (empty($modSettings['global_character_set']) ? (empty($txt['lang_character_set']) ? 'ISO-8859-1' : $txt['lang_character_set']) : $modSettings['global_character_set'])); |
| 153 | +} |
|
| 144 | 154 | |
| 145 | 155 | // Take care of any banning that needs to be done. |
| 146 | -if (isset($_REQUEST['ssi_ban']) || (isset($ssi_ban) && $ssi_ban === true)) |
|
| 156 | +if (isset($_REQUEST['ssi_ban']) || (isset($ssi_ban) && $ssi_ban === true)) { |
|
| 147 | 157 | is_not_banned(); |
| 158 | +} |
|
| 148 | 159 | |
| 149 | 160 | // Do we allow guests in here? |
| 150 | 161 | if (empty($ssi_guest_access) && empty($modSettings['allow_guestAccess']) && $user_info['is_guest'] && basename($_SERVER['PHP_SELF']) != 'SSI.php') |
@@ -159,17 +170,19 @@ discard block |
||
| 159 | 170 | { |
| 160 | 171 | $context['template_layers'] = $ssi_layers; |
| 161 | 172 | template_header(); |
| 162 | -} |
|
| 163 | -else |
|
| 173 | +} else { |
|
| 164 | 174 | setupThemeContext(); |
| 175 | +} |
|
| 165 | 176 | |
| 166 | 177 | // Make sure they didn't muss around with the settings... but only if it's not cli. |
| 167 | -if (isset($_SERVER['REMOTE_ADDR']) && !isset($_SERVER['is_cli']) && session_id() == '') |
|
| 178 | +if (isset($_SERVER['REMOTE_ADDR']) && !isset($_SERVER['is_cli']) && session_id() == '') { |
|
| 168 | 179 | trigger_error($txt['ssi_session_broken'], E_USER_NOTICE); |
| 180 | +} |
|
| 169 | 181 | |
| 170 | 182 | // Without visiting the forum this session variable might not be set on submit. |
| 171 | -if (!isset($_SESSION['USER_AGENT']) && (!isset($_GET['ssi_function']) || $_GET['ssi_function'] !== 'pollVote')) |
|
| 183 | +if (!isset($_SESSION['USER_AGENT']) && (!isset($_GET['ssi_function']) || $_GET['ssi_function'] !== 'pollVote')) { |
|
| 172 | 184 | $_SESSION['USER_AGENT'] = $_SERVER['HTTP_USER_AGENT']; |
| 185 | +} |
|
| 173 | 186 | |
| 174 | 187 | // Have the ability to easily add functions to SSI. |
| 175 | 188 | call_integration_hook('integrate_SSI'); |
@@ -178,11 +191,13 @@ discard block |
||
| 178 | 191 | if (basename($_SERVER['PHP_SELF']) == 'SSI.php') |
| 179 | 192 | { |
| 180 | 193 | // You shouldn't just access SSI.php directly by URL!! |
| 181 | - if (!isset($_GET['ssi_function'])) |
|
| 182 | - die(sprintf($txt['ssi_not_direct'], $user_info['is_admin'] ? '\'' . addslashes(__FILE__) . '\'' : '\'SSI.php\'')); |
|
| 194 | + if (!isset($_GET['ssi_function'])) { |
|
| 195 | + die(sprintf($txt['ssi_not_direct'], $user_info['is_admin'] ? '\'' . addslashes(__FILE__) . '\'' : '\'SSI.php\'')); |
|
| 196 | + } |
|
| 183 | 197 | // Call a function passed by GET. |
| 184 | - if (function_exists('ssi_' . $_GET['ssi_function']) && (!empty($modSettings['allow_guestAccess']) || !$user_info['is_guest'])) |
|
| 185 | - call_user_func('ssi_' . $_GET['ssi_function']); |
|
| 198 | + if (function_exists('ssi_' . $_GET['ssi_function']) && (!empty($modSettings['allow_guestAccess']) || !$user_info['is_guest'])) { |
|
| 199 | + call_user_func('ssi_' . $_GET['ssi_function']); |
|
| 200 | + } |
|
| 186 | 201 | exit; |
| 187 | 202 | } |
| 188 | 203 | |
@@ -199,9 +214,10 @@ discard block |
||
| 199 | 214 | */ |
| 200 | 215 | function ssi_shutdown() |
| 201 | 216 | { |
| 202 | - if (!isset($_GET['ssi_function']) || $_GET['ssi_function'] != 'shutdown') |
|
| 203 | - template_footer(); |
|
| 204 | -} |
|
| 217 | + if (!isset($_GET['ssi_function']) || $_GET['ssi_function'] != 'shutdown') { |
|
| 218 | + template_footer(); |
|
| 219 | + } |
|
| 220 | + } |
|
| 205 | 221 | |
| 206 | 222 | /** |
| 207 | 223 | * Display a welcome message, like: Hey, User, you have 0 messages, 0 are new. |
@@ -214,15 +230,17 @@ discard block |
||
| 214 | 230 | |
| 215 | 231 | if ($output_method == 'echo') |
| 216 | 232 | { |
| 217 | - if ($context['user']['is_guest']) |
|
| 218 | - echo sprintf($txt[$context['can_register'] ? 'welcome_guest_register' : 'welcome_guest'], $txt['guest_title'], $context['forum_name_html_safe'], $scripturl . '?action=login', 'return reqOverlayDiv(this.href, ' . JavaScriptEscape($txt['login']) . ');', $scripturl . '?action=signup'); |
|
| 219 | - else |
|
| 220 | - echo $txt['hello_member'], ' <strong>', $context['user']['name'], '</strong>', allowedTo('pm_read') ? ', ' . (empty($context['user']['messages']) ? $txt['msg_alert_no_messages'] : (($context['user']['messages'] == 1 ? sprintf($txt['msg_alert_one_message'], $scripturl . '?action=pm') : sprintf($txt['msg_alert_many_message'], $scripturl . '?action=pm', $context['user']['messages'])) . ', ' . ($context['user']['unread_messages'] == 1 ? $txt['msg_alert_one_new'] : sprintf($txt['msg_alert_many_new'], $context['user']['unread_messages'])))) : ''; |
|
| 233 | + if ($context['user']['is_guest']) { |
|
| 234 | + echo sprintf($txt[$context['can_register'] ? 'welcome_guest_register' : 'welcome_guest'], $txt['guest_title'], $context['forum_name_html_safe'], $scripturl . '?action=login', 'return reqOverlayDiv(this.href, ' . JavaScriptEscape($txt['login']) . ');', $scripturl . '?action=signup'); |
|
| 235 | + } else { |
|
| 236 | + echo $txt['hello_member'], ' <strong>', $context['user']['name'], '</strong>', allowedTo('pm_read') ? ', ' . (empty($context['user']['messages']) ? $txt['msg_alert_no_messages'] : (($context['user']['messages'] == 1 ? sprintf($txt['msg_alert_one_message'], $scripturl . '?action=pm') : sprintf($txt['msg_alert_many_message'], $scripturl . '?action=pm', $context['user']['messages'])) . ', ' . ($context['user']['unread_messages'] == 1 ? $txt['msg_alert_one_new'] : sprintf($txt['msg_alert_many_new'], $context['user']['unread_messages'])))) : ''; |
|
| 237 | + } |
|
| 221 | 238 | } |
| 222 | 239 | // Don't echo... then do what?! |
| 223 | - else |
|
| 224 | - return $context['user']; |
|
| 225 | -} |
|
| 240 | + else { |
|
| 241 | + return $context['user']; |
|
| 242 | + } |
|
| 243 | + } |
|
| 226 | 244 | |
| 227 | 245 | /** |
| 228 | 246 | * Display a menu bar, like is displayed at the top of the forum. |
@@ -233,12 +251,14 @@ discard block |
||
| 233 | 251 | { |
| 234 | 252 | global $context; |
| 235 | 253 | |
| 236 | - if ($output_method == 'echo') |
|
| 237 | - template_menu(); |
|
| 254 | + if ($output_method == 'echo') { |
|
| 255 | + template_menu(); |
|
| 256 | + } |
|
| 238 | 257 | // What else could this do? |
| 239 | - else |
|
| 240 | - return $context['menu_buttons']; |
|
| 241 | -} |
|
| 258 | + else { |
|
| 259 | + return $context['menu_buttons']; |
|
| 260 | + } |
|
| 261 | + } |
|
| 242 | 262 | |
| 243 | 263 | /** |
| 244 | 264 | * Show a logout link. |
@@ -250,20 +270,23 @@ discard block |
||
| 250 | 270 | { |
| 251 | 271 | global $context, $txt, $scripturl; |
| 252 | 272 | |
| 253 | - if ($redirect_to != '') |
|
| 254 | - $_SESSION['logout_url'] = $redirect_to; |
|
| 273 | + if ($redirect_to != '') { |
|
| 274 | + $_SESSION['logout_url'] = $redirect_to; |
|
| 275 | + } |
|
| 255 | 276 | |
| 256 | 277 | // Guests can't log out. |
| 257 | - if ($context['user']['is_guest']) |
|
| 258 | - return false; |
|
| 278 | + if ($context['user']['is_guest']) { |
|
| 279 | + return false; |
|
| 280 | + } |
|
| 259 | 281 | |
| 260 | 282 | $link = '<a href="' . $scripturl . '?action=logout;' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['logout'] . '</a>'; |
| 261 | 283 | |
| 262 | - if ($output_method == 'echo') |
|
| 263 | - echo $link; |
|
| 264 | - else |
|
| 265 | - return $link; |
|
| 266 | -} |
|
| 284 | + if ($output_method == 'echo') { |
|
| 285 | + echo $link; |
|
| 286 | + } else { |
|
| 287 | + return $link; |
|
| 288 | + } |
|
| 289 | + } |
|
| 267 | 290 | |
| 268 | 291 | /** |
| 269 | 292 | * Recent post list: [board] Subject by Poster Date |
@@ -279,17 +302,17 @@ discard block |
||
| 279 | 302 | global $modSettings, $context; |
| 280 | 303 | |
| 281 | 304 | // Excluding certain boards... |
| 282 | - if ($exclude_boards === null && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0) |
|
| 283 | - $exclude_boards = array($modSettings['recycle_board']); |
|
| 284 | - else |
|
| 285 | - $exclude_boards = empty($exclude_boards) ? array() : (is_array($exclude_boards) ? $exclude_boards : array($exclude_boards)); |
|
| 305 | + if ($exclude_boards === null && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0) { |
|
| 306 | + $exclude_boards = array($modSettings['recycle_board']); |
|
| 307 | + } else { |
|
| 308 | + $exclude_boards = empty($exclude_boards) ? array() : (is_array($exclude_boards) ? $exclude_boards : array($exclude_boards)); |
|
| 309 | + } |
|
| 286 | 310 | |
| 287 | 311 | // What about including certain boards - note we do some protection here as pre-2.0 didn't have this parameter. |
| 288 | 312 | if (is_array($include_boards) || (int) $include_boards === $include_boards) |
| 289 | 313 | { |
| 290 | 314 | $include_boards = is_array($include_boards) ? $include_boards : array($include_boards); |
| 291 | - } |
|
| 292 | - elseif ($include_boards != null) |
|
| 315 | + } elseif ($include_boards != null) |
|
| 293 | 316 | { |
| 294 | 317 | $include_boards = array(); |
| 295 | 318 | } |
@@ -326,8 +349,9 @@ discard block |
||
| 326 | 349 | { |
| 327 | 350 | global $modSettings; |
| 328 | 351 | |
| 329 | - if (empty($post_ids)) |
|
| 330 | - return; |
|
| 352 | + if (empty($post_ids)) { |
|
| 353 | + return; |
|
| 354 | + } |
|
| 331 | 355 | |
| 332 | 356 | // Allow the user to request more than one - why not? |
| 333 | 357 | $post_ids = is_array($post_ids) ? $post_ids : array($post_ids); |
@@ -362,8 +386,9 @@ discard block |
||
| 362 | 386 | global $scripturl, $txt, $user_info; |
| 363 | 387 | global $modSettings, $smcFunc, $context; |
| 364 | 388 | |
| 365 | - if (!empty($modSettings['enable_likes'])) |
|
| 366 | - $context['can_like'] = allowedTo('likes_like'); |
|
| 389 | + if (!empty($modSettings['enable_likes'])) { |
|
| 390 | + $context['can_like'] = allowedTo('likes_like'); |
|
| 391 | + } |
|
| 367 | 392 | |
| 368 | 393 | // Find all the posts. Newer ones will have higher IDs. |
| 369 | 394 | $request = $smcFunc['db_query']('substring', ' |
@@ -429,12 +454,13 @@ discard block |
||
| 429 | 454 | ); |
| 430 | 455 | |
| 431 | 456 | // Get the likes for each message. |
| 432 | - if (!empty($modSettings['enable_likes'])) |
|
| 433 | - $posts[$row['id_msg']]['likes'] = array( |
|
| 457 | + if (!empty($modSettings['enable_likes'])) { |
|
| 458 | + $posts[$row['id_msg']]['likes'] = array( |
|
| 434 | 459 | 'count' => $row['likes'], |
| 435 | 460 | 'you' => in_array($row['id_msg'], prepareLikesContext($row['id_topic'])), |
| 436 | 461 | 'can_like' => !$context['user']['is_guest'] && $row['id_member'] != $context['user']['id'] && !empty($context['can_like']), |
| 437 | 462 | ); |
| 463 | + } |
|
| 438 | 464 | } |
| 439 | 465 | $smcFunc['db_free_result']($request); |
| 440 | 466 | |
@@ -442,13 +468,14 @@ discard block |
||
| 442 | 468 | call_integration_hook('integrate_ssi_queryPosts', array(&$posts)); |
| 443 | 469 | |
| 444 | 470 | // Just return it. |
| 445 | - if ($output_method != 'echo' || empty($posts)) |
|
| 446 | - return $posts; |
|
| 471 | + if ($output_method != 'echo' || empty($posts)) { |
|
| 472 | + return $posts; |
|
| 473 | + } |
|
| 447 | 474 | |
| 448 | 475 | echo ' |
| 449 | 476 | <table style="border: none" class="ssi_table">'; |
| 450 | - foreach ($posts as $post) |
|
| 451 | - echo ' |
|
| 477 | + foreach ($posts as $post) { |
|
| 478 | + echo ' |
|
| 452 | 479 | <tr> |
| 453 | 480 | <td style="text-align: right; vertical-align: top; white-space: nowrap"> |
| 454 | 481 | [', $post['board']['link'], '] |
@@ -462,6 +489,7 @@ discard block |
||
| 462 | 489 | ', $post['time'], ' |
| 463 | 490 | </td> |
| 464 | 491 | </tr>'; |
| 492 | + } |
|
| 465 | 493 | echo ' |
| 466 | 494 | </table>'; |
| 467 | 495 | } |
@@ -479,25 +507,26 @@ discard block |
||
| 479 | 507 | global $settings, $scripturl, $txt, $user_info; |
| 480 | 508 | global $modSettings, $smcFunc, $context; |
| 481 | 509 | |
| 482 | - if ($exclude_boards === null && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0) |
|
| 483 | - $exclude_boards = array($modSettings['recycle_board']); |
|
| 484 | - else |
|
| 485 | - $exclude_boards = empty($exclude_boards) ? array() : (is_array($exclude_boards) ? $exclude_boards : array($exclude_boards)); |
|
| 510 | + if ($exclude_boards === null && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0) { |
|
| 511 | + $exclude_boards = array($modSettings['recycle_board']); |
|
| 512 | + } else { |
|
| 513 | + $exclude_boards = empty($exclude_boards) ? array() : (is_array($exclude_boards) ? $exclude_boards : array($exclude_boards)); |
|
| 514 | + } |
|
| 486 | 515 | |
| 487 | 516 | // Only some boards?. |
| 488 | 517 | if (is_array($include_boards) || (int) $include_boards === $include_boards) |
| 489 | 518 | { |
| 490 | 519 | $include_boards = is_array($include_boards) ? $include_boards : array($include_boards); |
| 491 | - } |
|
| 492 | - elseif ($include_boards != null) |
|
| 520 | + } elseif ($include_boards != null) |
|
| 493 | 521 | { |
| 494 | 522 | $output_method = $include_boards; |
| 495 | 523 | $include_boards = array(); |
| 496 | 524 | } |
| 497 | 525 | |
| 498 | 526 | $icon_sources = array(); |
| 499 | - foreach ($context['stable_icons'] as $icon) |
|
| 500 | - $icon_sources[$icon] = 'images_url'; |
|
| 527 | + foreach ($context['stable_icons'] as $icon) { |
|
| 528 | + $icon_sources[$icon] = 'images_url'; |
|
| 529 | + } |
|
| 501 | 530 | |
| 502 | 531 | // Find all the posts in distinct topics. Newer ones will have higher IDs. |
| 503 | 532 | $request = $smcFunc['db_query']('substring', ' |
@@ -522,13 +551,15 @@ discard block |
||
| 522 | 551 | ) |
| 523 | 552 | ); |
| 524 | 553 | $topics = array(); |
| 525 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 526 | - $topics[$row['id_topic']] = $row; |
|
| 554 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 555 | + $topics[$row['id_topic']] = $row; |
|
| 556 | + } |
|
| 527 | 557 | $smcFunc['db_free_result']($request); |
| 528 | 558 | |
| 529 | 559 | // Did we find anything? If not, bail. |
| 530 | - if (empty($topics)) |
|
| 531 | - return array(); |
|
| 560 | + if (empty($topics)) { |
|
| 561 | + return array(); |
|
| 562 | + } |
|
| 532 | 563 | |
| 533 | 564 | $recycle_board = !empty($modSettings['recycle_enable']) && !empty($modSettings['recycle_board']) ? (int) $modSettings['recycle_board'] : 0; |
| 534 | 565 | |
@@ -556,19 +587,22 @@ discard block |
||
| 556 | 587 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 557 | 588 | { |
| 558 | 589 | $row['body'] = strip_tags(strtr(parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']), array('<br>' => ' '))); |
| 559 | - if ($smcFunc['strlen']($row['body']) > 128) |
|
| 560 | - $row['body'] = $smcFunc['substr']($row['body'], 0, 128) . '...'; |
|
| 590 | + if ($smcFunc['strlen']($row['body']) > 128) { |
|
| 591 | + $row['body'] = $smcFunc['substr']($row['body'], 0, 128) . '...'; |
|
| 592 | + } |
|
| 561 | 593 | |
| 562 | 594 | // Censor the subject. |
| 563 | 595 | censorText($row['subject']); |
| 564 | 596 | censorText($row['body']); |
| 565 | 597 | |
| 566 | 598 | // Recycled icon |
| 567 | - if (!empty($recycle_board) && $topics[$row['id_topic']]['id_board']) |
|
| 568 | - $row['icon'] = 'recycled'; |
|
| 599 | + if (!empty($recycle_board) && $topics[$row['id_topic']]['id_board']) { |
|
| 600 | + $row['icon'] = 'recycled'; |
|
| 601 | + } |
|
| 569 | 602 | |
| 570 | - if (!empty($modSettings['messageIconChecks_enable']) && !isset($icon_sources[$row['icon']])) |
|
| 571 | - $icon_sources[$row['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 603 | + if (!empty($modSettings['messageIconChecks_enable']) && !isset($icon_sources[$row['icon']])) { |
|
| 604 | + $icon_sources[$row['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 605 | + } |
|
| 572 | 606 | |
| 573 | 607 | // Build the array. |
| 574 | 608 | $posts[] = array( |
@@ -607,13 +641,14 @@ discard block |
||
| 607 | 641 | call_integration_hook('integrate_ssi_recentTopics', array(&$posts)); |
| 608 | 642 | |
| 609 | 643 | // Just return it. |
| 610 | - if ($output_method != 'echo' || empty($posts)) |
|
| 611 | - return $posts; |
|
| 644 | + if ($output_method != 'echo' || empty($posts)) { |
|
| 645 | + return $posts; |
|
| 646 | + } |
|
| 612 | 647 | |
| 613 | 648 | echo ' |
| 614 | 649 | <table style="border: none" class="ssi_table">'; |
| 615 | - foreach ($posts as $post) |
|
| 616 | - echo ' |
|
| 650 | + foreach ($posts as $post) { |
|
| 651 | + echo ' |
|
| 617 | 652 | <tr> |
| 618 | 653 | <td style="text-align: right; vertical-align: top; white-space: nowrap"> |
| 619 | 654 | [', $post['board']['link'], '] |
@@ -627,6 +662,7 @@ discard block |
||
| 627 | 662 | ', $post['time'], ' |
| 628 | 663 | </td> |
| 629 | 664 | </tr>'; |
| 665 | + } |
|
| 630 | 666 | echo ' |
| 631 | 667 | </table>'; |
| 632 | 668 | } |
@@ -651,27 +687,30 @@ discard block |
||
| 651 | 687 | ) |
| 652 | 688 | ); |
| 653 | 689 | $return = array(); |
| 654 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 655 | - $return[] = array( |
|
| 690 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 691 | + $return[] = array( |
|
| 656 | 692 | 'id' => $row['id_member'], |
| 657 | 693 | 'name' => $row['real_name'], |
| 658 | 694 | 'href' => $scripturl . '?action=profile;u=' . $row['id_member'], |
| 659 | 695 | 'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>', |
| 660 | 696 | 'posts' => $row['posts'] |
| 661 | 697 | ); |
| 698 | + } |
|
| 662 | 699 | $smcFunc['db_free_result']($request); |
| 663 | 700 | |
| 664 | 701 | // If mods want to do somthing with this list of members, let them do that now. |
| 665 | 702 | call_integration_hook('integrate_ssi_topPoster', array(&$return)); |
| 666 | 703 | |
| 667 | 704 | // Just return all the top posters. |
| 668 | - if ($output_method != 'echo') |
|
| 669 | - return $return; |
|
| 705 | + if ($output_method != 'echo') { |
|
| 706 | + return $return; |
|
| 707 | + } |
|
| 670 | 708 | |
| 671 | 709 | // Make a quick array to list the links in. |
| 672 | 710 | $temp_array = array(); |
| 673 | - foreach ($return as $member) |
|
| 674 | - $temp_array[] = $member['link']; |
|
| 711 | + foreach ($return as $member) { |
|
| 712 | + $temp_array[] = $member['link']; |
|
| 713 | + } |
|
| 675 | 714 | |
| 676 | 715 | echo implode(', ', $temp_array); |
| 677 | 716 | } |
@@ -703,8 +742,8 @@ discard block |
||
| 703 | 742 | ) |
| 704 | 743 | ); |
| 705 | 744 | $boards = array(); |
| 706 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 707 | - $boards[] = array( |
|
| 745 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 746 | + $boards[] = array( |
|
| 708 | 747 | 'id' => $row['id_board'], |
| 709 | 748 | 'num_posts' => $row['num_posts'], |
| 710 | 749 | 'num_topics' => $row['num_topics'], |
@@ -713,14 +752,16 @@ discard block |
||
| 713 | 752 | 'href' => $scripturl . '?board=' . $row['id_board'] . '.0', |
| 714 | 753 | 'link' => '<a href="' . $scripturl . '?board=' . $row['id_board'] . '.0">' . $row['name'] . '</a>' |
| 715 | 754 | ); |
| 755 | + } |
|
| 716 | 756 | $smcFunc['db_free_result']($request); |
| 717 | 757 | |
| 718 | 758 | // If mods want to do somthing with this list of boards, let them do that now. |
| 719 | 759 | call_integration_hook('integrate_ssi_topBoards', array(&$boards)); |
| 720 | 760 | |
| 721 | 761 | // If we shouldn't output or have nothing to output, just jump out. |
| 722 | - if ($output_method != 'echo' || empty($boards)) |
|
| 723 | - return $boards; |
|
| 762 | + if ($output_method != 'echo' || empty($boards)) { |
|
| 763 | + return $boards; |
|
| 764 | + } |
|
| 724 | 765 | |
| 725 | 766 | echo ' |
| 726 | 767 | <table class="ssi_table"> |
@@ -729,13 +770,14 @@ discard block |
||
| 729 | 770 | <th style="text-align: left">', $txt['board_topics'], '</th> |
| 730 | 771 | <th style="text-align: left">', $txt['posts'], '</th> |
| 731 | 772 | </tr>'; |
| 732 | - foreach ($boards as $sBoard) |
|
| 733 | - echo ' |
|
| 773 | + foreach ($boards as $sBoard) { |
|
| 774 | + echo ' |
|
| 734 | 775 | <tr> |
| 735 | 776 | <td>', $sBoard['link'], $sBoard['new'] ? ' <a href="' . $sBoard['href'] . '"><span class="new_posts">' . $txt['new'] . '</span></a>' : '', '</td> |
| 736 | 777 | <td style="text-align: right">', comma_format($sBoard['num_topics']), '</td> |
| 737 | 778 | <td style="text-align: right">', comma_format($sBoard['num_posts']), '</td> |
| 738 | 779 | </tr>'; |
| 780 | + } |
|
| 739 | 781 | echo ' |
| 740 | 782 | </table>'; |
| 741 | 783 | } |
@@ -768,12 +810,13 @@ discard block |
||
| 768 | 810 | ) |
| 769 | 811 | ); |
| 770 | 812 | $topic_ids = array(); |
| 771 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 772 | - $topic_ids[] = $row['id_topic']; |
|
| 813 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 814 | + $topic_ids[] = $row['id_topic']; |
|
| 815 | + } |
|
| 773 | 816 | $smcFunc['db_free_result']($request); |
| 817 | + } else { |
|
| 818 | + $topic_ids = array(); |
|
| 774 | 819 | } |
| 775 | - else |
|
| 776 | - $topic_ids = array(); |
|
| 777 | 820 | |
| 778 | 821 | $request = $smcFunc['db_query']('', ' |
| 779 | 822 | SELECT m.subject, m.id_topic, t.num_views, t.num_replies |
@@ -812,8 +855,9 @@ discard block |
||
| 812 | 855 | // If mods want to do somthing with this list of topics, let them do that now. |
| 813 | 856 | call_integration_hook('integrate_ssi_topTopics', array(&$topics, $type)); |
| 814 | 857 | |
| 815 | - if ($output_method != 'echo' || empty($topics)) |
|
| 816 | - return $topics; |
|
| 858 | + if ($output_method != 'echo' || empty($topics)) { |
|
| 859 | + return $topics; |
|
| 860 | + } |
|
| 817 | 861 | |
| 818 | 862 | echo ' |
| 819 | 863 | <table class="ssi_table"> |
@@ -822,8 +866,8 @@ discard block |
||
| 822 | 866 | <th style="text-align: left">', $txt['views'], '</th> |
| 823 | 867 | <th style="text-align: left">', $txt['replies'], '</th> |
| 824 | 868 | </tr>'; |
| 825 | - foreach ($topics as $sTopic) |
|
| 826 | - echo ' |
|
| 869 | + foreach ($topics as $sTopic) { |
|
| 870 | + echo ' |
|
| 827 | 871 | <tr> |
| 828 | 872 | <td style="text-align: left"> |
| 829 | 873 | ', $sTopic['link'], ' |
@@ -831,6 +875,7 @@ discard block |
||
| 831 | 875 | <td style="text-align: right">', comma_format($sTopic['num_views']), '</td> |
| 832 | 876 | <td style="text-align: right">', comma_format($sTopic['num_replies']), '</td> |
| 833 | 877 | </tr>'; |
| 878 | + } |
|
| 834 | 879 | echo ' |
| 835 | 880 | </table>'; |
| 836 | 881 | } |
@@ -866,12 +911,13 @@ discard block |
||
| 866 | 911 | { |
| 867 | 912 | global $txt, $context; |
| 868 | 913 | |
| 869 | - if ($output_method == 'echo') |
|
| 870 | - echo ' |
|
| 914 | + if ($output_method == 'echo') { |
|
| 915 | + echo ' |
|
| 871 | 916 | ', sprintf($txt['welcome_newest_member'], $context['common_stats']['latest_member']['link']), '<br>'; |
| 872 | - else |
|
| 873 | - return $context['common_stats']['latest_member']; |
|
| 874 | -} |
|
| 917 | + } else { |
|
| 918 | + return $context['common_stats']['latest_member']; |
|
| 919 | + } |
|
| 920 | + } |
|
| 875 | 921 | |
| 876 | 922 | /** |
| 877 | 923 | * Fetches a random member. |
@@ -920,8 +966,9 @@ discard block |
||
| 920 | 966 | } |
| 921 | 967 | |
| 922 | 968 | // Just to be sure put the random generator back to something... random. |
| 923 | - if ($random_type != '') |
|
| 924 | - mt_srand(time()); |
|
| 969 | + if ($random_type != '') { |
|
| 970 | + mt_srand(time()); |
|
| 971 | + } |
|
| 925 | 972 | |
| 926 | 973 | return $result; |
| 927 | 974 | } |
@@ -934,8 +981,9 @@ discard block |
||
| 934 | 981 | */ |
| 935 | 982 | function ssi_fetchMember($member_ids = array(), $output_method = 'echo') |
| 936 | 983 | { |
| 937 | - if (empty($member_ids)) |
|
| 938 | - return; |
|
| 984 | + if (empty($member_ids)) { |
|
| 985 | + return; |
|
| 986 | + } |
|
| 939 | 987 | |
| 940 | 988 | // Can have more than one member if you really want... |
| 941 | 989 | $member_ids = is_array($member_ids) ? $member_ids : array($member_ids); |
@@ -960,8 +1008,9 @@ discard block |
||
| 960 | 1008 | */ |
| 961 | 1009 | function ssi_fetchGroupMembers($group_id = null, $output_method = 'echo') |
| 962 | 1010 | { |
| 963 | - if ($group_id === null) |
|
| 964 | - return; |
|
| 1011 | + if ($group_id === null) { |
|
| 1012 | + return; |
|
| 1013 | + } |
|
| 965 | 1014 | |
| 966 | 1015 | $query_where = ' |
| 967 | 1016 | id_group = {int:id_group} |
@@ -988,8 +1037,9 @@ discard block |
||
| 988 | 1037 | { |
| 989 | 1038 | global $smcFunc, $memberContext; |
| 990 | 1039 | |
| 991 | - if ($query_where === null) |
|
| 992 | - return; |
|
| 1040 | + if ($query_where === null) { |
|
| 1041 | + return; |
|
| 1042 | + } |
|
| 993 | 1043 | |
| 994 | 1044 | // Fetch the members in question. |
| 995 | 1045 | $request = $smcFunc['db_query']('', ' |
@@ -1002,12 +1052,14 @@ discard block |
||
| 1002 | 1052 | )) |
| 1003 | 1053 | ); |
| 1004 | 1054 | $members = array(); |
| 1005 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 1006 | - $members[] = $row['id_member']; |
|
| 1055 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 1056 | + $members[] = $row['id_member']; |
|
| 1057 | + } |
|
| 1007 | 1058 | $smcFunc['db_free_result']($request); |
| 1008 | 1059 | |
| 1009 | - if (empty($members)) |
|
| 1010 | - return array(); |
|
| 1060 | + if (empty($members)) { |
|
| 1061 | + return array(); |
|
| 1062 | + } |
|
| 1011 | 1063 | |
| 1012 | 1064 | // If mods want to do somthing with this list of members, let them do that now. |
| 1013 | 1065 | call_integration_hook('integrate_ssi_queryMembers', array(&$members)); |
@@ -1016,23 +1068,25 @@ discard block |
||
| 1016 | 1068 | loadMemberData($members); |
| 1017 | 1069 | |
| 1018 | 1070 | // Draw the table! |
| 1019 | - if ($output_method == 'echo') |
|
| 1020 | - echo ' |
|
| 1071 | + if ($output_method == 'echo') { |
|
| 1072 | + echo ' |
|
| 1021 | 1073 | <table style="border: none" class="ssi_table">'; |
| 1074 | + } |
|
| 1022 | 1075 | |
| 1023 | 1076 | $query_members = array(); |
| 1024 | 1077 | foreach ($members as $member) |
| 1025 | 1078 | { |
| 1026 | 1079 | // Load their context data. |
| 1027 | - if (!loadMemberContext($member)) |
|
| 1028 | - continue; |
|
| 1080 | + if (!loadMemberContext($member)) { |
|
| 1081 | + continue; |
|
| 1082 | + } |
|
| 1029 | 1083 | |
| 1030 | 1084 | // Store this member's information. |
| 1031 | 1085 | $query_members[$member] = $memberContext[$member]; |
| 1032 | 1086 | |
| 1033 | 1087 | // Only do something if we're echo'ing. |
| 1034 | - if ($output_method == 'echo') |
|
| 1035 | - echo ' |
|
| 1088 | + if ($output_method == 'echo') { |
|
| 1089 | + echo ' |
|
| 1036 | 1090 | <tr> |
| 1037 | 1091 | <td style="text-align: right; vertical-align: top; white-space: nowrap"> |
| 1038 | 1092 | ', $query_members[$member]['link'], ' |
@@ -1040,12 +1094,14 @@ discard block |
||
| 1040 | 1094 | <br>', $query_members[$member]['avatar']['image'], ' |
| 1041 | 1095 | </td> |
| 1042 | 1096 | </tr>'; |
| 1097 | + } |
|
| 1043 | 1098 | } |
| 1044 | 1099 | |
| 1045 | 1100 | // End the table if appropriate. |
| 1046 | - if ($output_method == 'echo') |
|
| 1047 | - echo ' |
|
| 1101 | + if ($output_method == 'echo') { |
|
| 1102 | + echo ' |
|
| 1048 | 1103 | </table>'; |
| 1104 | + } |
|
| 1049 | 1105 | |
| 1050 | 1106 | // Send back the data. |
| 1051 | 1107 | return $query_members; |
@@ -1060,8 +1116,9 @@ discard block |
||
| 1060 | 1116 | { |
| 1061 | 1117 | global $txt, $scripturl, $modSettings, $smcFunc; |
| 1062 | 1118 | |
| 1063 | - if (!allowedTo('view_stats')) |
|
| 1064 | - return; |
|
| 1119 | + if (!allowedTo('view_stats')) { |
|
| 1120 | + return; |
|
| 1121 | + } |
|
| 1065 | 1122 | |
| 1066 | 1123 | $totals = array( |
| 1067 | 1124 | 'members' => $modSettings['totalMembers'], |
@@ -1090,8 +1147,9 @@ discard block |
||
| 1090 | 1147 | // If mods want to do somthing with the board stats, let them do that now. |
| 1091 | 1148 | call_integration_hook('integrate_ssi_boardStats', array(&$totals)); |
| 1092 | 1149 | |
| 1093 | - if ($output_method != 'echo') |
|
| 1094 | - return $totals; |
|
| 1150 | + if ($output_method != 'echo') { |
|
| 1151 | + return $totals; |
|
| 1152 | + } |
|
| 1095 | 1153 | |
| 1096 | 1154 | echo ' |
| 1097 | 1155 | ', $txt['total_members'], ': <a href="', $scripturl . '?action=mlist">', comma_format($totals['members']), '</a><br> |
@@ -1120,8 +1178,8 @@ discard block |
||
| 1120 | 1178 | call_integration_hook('integrate_ssi_whosOnline', array(&$return)); |
| 1121 | 1179 | |
| 1122 | 1180 | // Add some redundancy for backwards compatibility reasons. |
| 1123 | - if ($output_method != 'echo') |
|
| 1124 | - return $return + array( |
|
| 1181 | + if ($output_method != 'echo') { |
|
| 1182 | + return $return + array( |
|
| 1125 | 1183 | 'users' => $return['users_online'], |
| 1126 | 1184 | 'guests' => $return['num_guests'], |
| 1127 | 1185 | 'hidden' => $return['num_users_hidden'], |
@@ -1129,29 +1187,35 @@ discard block |
||
| 1129 | 1187 | 'num_users' => $return['num_users_online'], |
| 1130 | 1188 | 'total_users' => $return['num_users_online'] + $return['num_guests'], |
| 1131 | 1189 | ); |
| 1190 | + } |
|
| 1132 | 1191 | |
| 1133 | 1192 | echo ' |
| 1134 | 1193 | ', comma_format($return['num_guests']), ' ', $return['num_guests'] == 1 ? $txt['guest'] : $txt['guests'], ', ', comma_format($return['num_users_online']), ' ', $return['num_users_online'] == 1 ? $txt['user'] : $txt['users']; |
| 1135 | 1194 | |
| 1136 | 1195 | $bracketList = array(); |
| 1137 | - if (!empty($user_info['buddies'])) |
|
| 1138 | - $bracketList[] = comma_format($return['num_buddies']) . ' ' . ($return['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']); |
|
| 1139 | - if (!empty($return['num_spiders'])) |
|
| 1140 | - $bracketList[] = comma_format($return['num_spiders']) . ' ' . ($return['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']); |
|
| 1141 | - if (!empty($return['num_users_hidden'])) |
|
| 1142 | - $bracketList[] = comma_format($return['num_users_hidden']) . ' ' . $txt['hidden']; |
|
| 1196 | + if (!empty($user_info['buddies'])) { |
|
| 1197 | + $bracketList[] = comma_format($return['num_buddies']) . ' ' . ($return['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']); |
|
| 1198 | + } |
|
| 1199 | + if (!empty($return['num_spiders'])) { |
|
| 1200 | + $bracketList[] = comma_format($return['num_spiders']) . ' ' . ($return['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']); |
|
| 1201 | + } |
|
| 1202 | + if (!empty($return['num_users_hidden'])) { |
|
| 1203 | + $bracketList[] = comma_format($return['num_users_hidden']) . ' ' . $txt['hidden']; |
|
| 1204 | + } |
|
| 1143 | 1205 | |
| 1144 | - if (!empty($bracketList)) |
|
| 1145 | - echo ' (' . implode(', ', $bracketList) . ')'; |
|
| 1206 | + if (!empty($bracketList)) { |
|
| 1207 | + echo ' (' . implode(', ', $bracketList) . ')'; |
|
| 1208 | + } |
|
| 1146 | 1209 | |
| 1147 | 1210 | echo '<br> |
| 1148 | 1211 | ', implode(', ', $return['list_users_online']); |
| 1149 | 1212 | |
| 1150 | 1213 | // Showing membergroups? |
| 1151 | - if (!empty($settings['show_group_key']) && !empty($return['membergroups'])) |
|
| 1152 | - echo '<br> |
|
| 1214 | + if (!empty($settings['show_group_key']) && !empty($return['membergroups'])) { |
|
| 1215 | + echo '<br> |
|
| 1153 | 1216 | [' . implode('] [', $return['membergroups']) . ']'; |
| 1154 | -} |
|
| 1217 | + } |
|
| 1218 | + } |
|
| 1155 | 1219 | |
| 1156 | 1220 | /** |
| 1157 | 1221 | * Just like whosOnline except it also logs the online presence. |
@@ -1162,11 +1226,12 @@ discard block |
||
| 1162 | 1226 | { |
| 1163 | 1227 | writeLog(); |
| 1164 | 1228 | |
| 1165 | - if ($output_method != 'echo') |
|
| 1166 | - return ssi_whosOnline($output_method); |
|
| 1167 | - else |
|
| 1168 | - ssi_whosOnline($output_method); |
|
| 1169 | -} |
|
| 1229 | + if ($output_method != 'echo') { |
|
| 1230 | + return ssi_whosOnline($output_method); |
|
| 1231 | + } else { |
|
| 1232 | + ssi_whosOnline($output_method); |
|
| 1233 | + } |
|
| 1234 | + } |
|
| 1170 | 1235 | |
| 1171 | 1236 | // Shows a login box. |
| 1172 | 1237 | /** |
@@ -1179,11 +1244,13 @@ discard block |
||
| 1179 | 1244 | { |
| 1180 | 1245 | global $scripturl, $txt, $user_info, $context; |
| 1181 | 1246 | |
| 1182 | - if ($redirect_to != '') |
|
| 1183 | - $_SESSION['login_url'] = $redirect_to; |
|
| 1247 | + if ($redirect_to != '') { |
|
| 1248 | + $_SESSION['login_url'] = $redirect_to; |
|
| 1249 | + } |
|
| 1184 | 1250 | |
| 1185 | - if ($output_method != 'echo' || !$user_info['is_guest']) |
|
| 1186 | - return $user_info['is_guest']; |
|
| 1251 | + if ($output_method != 'echo' || !$user_info['is_guest']) { |
|
| 1252 | + return $user_info['is_guest']; |
|
| 1253 | + } |
|
| 1187 | 1254 | |
| 1188 | 1255 | // Create a login token |
| 1189 | 1256 | createToken('login'); |
@@ -1235,8 +1302,9 @@ discard block |
||
| 1235 | 1302 | |
| 1236 | 1303 | $boardsAllowed = array_intersect(boardsAllowedTo('poll_view'), boardsAllowedTo('poll_vote')); |
| 1237 | 1304 | |
| 1238 | - if (empty($boardsAllowed)) |
|
| 1239 | - return array(); |
|
| 1305 | + if (empty($boardsAllowed)) { |
|
| 1306 | + return array(); |
|
| 1307 | + } |
|
| 1240 | 1308 | |
| 1241 | 1309 | $request = $smcFunc['db_query']('', ' |
| 1242 | 1310 | SELECT p.id_poll, p.question, t.id_topic, p.max_votes, p.guest_vote, p.hide_results, p.expire_time |
@@ -1269,12 +1337,14 @@ discard block |
||
| 1269 | 1337 | $smcFunc['db_free_result']($request); |
| 1270 | 1338 | |
| 1271 | 1339 | // This user has voted on all the polls. |
| 1272 | - if (empty($row) || !is_array($row)) |
|
| 1273 | - return array(); |
|
| 1340 | + if (empty($row) || !is_array($row)) { |
|
| 1341 | + return array(); |
|
| 1342 | + } |
|
| 1274 | 1343 | |
| 1275 | 1344 | // If this is a guest who's voted we'll through ourselves to show poll to show the results. |
| 1276 | - if ($user_info['is_guest'] && (!$row['guest_vote'] || (isset($_COOKIE['guest_poll_vote']) && in_array($row['id_poll'], explode(',', $_COOKIE['guest_poll_vote']))))) |
|
| 1277 | - return ssi_showPoll($row['id_topic'], $output_method); |
|
| 1345 | + if ($user_info['is_guest'] && (!$row['guest_vote'] || (isset($_COOKIE['guest_poll_vote']) && in_array($row['id_poll'], explode(',', $_COOKIE['guest_poll_vote']))))) { |
|
| 1346 | + return ssi_showPoll($row['id_topic'], $output_method); |
|
| 1347 | + } |
|
| 1278 | 1348 | |
| 1279 | 1349 | $request = $smcFunc['db_query']('', ' |
| 1280 | 1350 | SELECT COUNT(DISTINCT id_member) |
@@ -1338,8 +1408,9 @@ discard block |
||
| 1338 | 1408 | // If mods want to do somthing with this list of polls, let them do that now. |
| 1339 | 1409 | call_integration_hook('integrate_ssi_recentPoll', array(&$return, $topPollInstead)); |
| 1340 | 1410 | |
| 1341 | - if ($output_method != 'echo') |
|
| 1342 | - return $return; |
|
| 1411 | + if ($output_method != 'echo') { |
|
| 1412 | + return $return; |
|
| 1413 | + } |
|
| 1343 | 1414 | |
| 1344 | 1415 | if ($allow_view_results) |
| 1345 | 1416 | { |
@@ -1348,19 +1419,20 @@ discard block |
||
| 1348 | 1419 | <strong>', $return['question'], '</strong><br> |
| 1349 | 1420 | ', !empty($return['allowed_warning']) ? $return['allowed_warning'] . '<br>' : ''; |
| 1350 | 1421 | |
| 1351 | - foreach ($return['options'] as $option) |
|
| 1352 | - echo ' |
|
| 1422 | + foreach ($return['options'] as $option) { |
|
| 1423 | + echo ' |
|
| 1353 | 1424 | <label for="', $option['id'], '">', $option['vote_button'], ' ', $option['option'], '</label><br>'; |
| 1425 | + } |
|
| 1354 | 1426 | |
| 1355 | 1427 | echo ' |
| 1356 | 1428 | <input type="submit" value="', $txt['poll_vote'], '" class="button"> |
| 1357 | 1429 | <input type="hidden" name="poll" value="', $return['id'], '"> |
| 1358 | 1430 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
| 1359 | 1431 | </form>'; |
| 1432 | + } else { |
|
| 1433 | + echo $txt['poll_cannot_see']; |
|
| 1434 | + } |
|
| 1360 | 1435 | } |
| 1361 | - else |
|
| 1362 | - echo $txt['poll_cannot_see']; |
|
| 1363 | -} |
|
| 1364 | 1436 | |
| 1365 | 1437 | /** |
| 1366 | 1438 | * Shows the poll from the specified topic |
@@ -1374,13 +1446,15 @@ discard block |
||
| 1374 | 1446 | |
| 1375 | 1447 | $boardsAllowed = boardsAllowedTo('poll_view'); |
| 1376 | 1448 | |
| 1377 | - if (empty($boardsAllowed)) |
|
| 1378 | - return array(); |
|
| 1449 | + if (empty($boardsAllowed)) { |
|
| 1450 | + return array(); |
|
| 1451 | + } |
|
| 1379 | 1452 | |
| 1380 | - if ($topic === null && isset($_REQUEST['ssi_topic'])) |
|
| 1381 | - $topic = (int) $_REQUEST['ssi_topic']; |
|
| 1382 | - else |
|
| 1383 | - $topic = (int) $topic; |
|
| 1453 | + if ($topic === null && isset($_REQUEST['ssi_topic'])) { |
|
| 1454 | + $topic = (int) $_REQUEST['ssi_topic']; |
|
| 1455 | + } else { |
|
| 1456 | + $topic = (int) $topic; |
|
| 1457 | + } |
|
| 1384 | 1458 | |
| 1385 | 1459 | $request = $smcFunc['db_query']('', ' |
| 1386 | 1460 | SELECT |
@@ -1401,17 +1475,18 @@ discard block |
||
| 1401 | 1475 | ); |
| 1402 | 1476 | |
| 1403 | 1477 | // Either this topic has no poll, or the user cannot view it. |
| 1404 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 1405 | - return array(); |
|
| 1478 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 1479 | + return array(); |
|
| 1480 | + } |
|
| 1406 | 1481 | |
| 1407 | 1482 | $row = $smcFunc['db_fetch_assoc']($request); |
| 1408 | 1483 | $smcFunc['db_free_result']($request); |
| 1409 | 1484 | |
| 1410 | 1485 | // Check if they can vote. |
| 1411 | 1486 | $already_voted = false; |
| 1412 | - if (!empty($row['expire_time']) && $row['expire_time'] < time()) |
|
| 1413 | - $allow_vote = false; |
|
| 1414 | - elseif ($user_info['is_guest']) |
|
| 1487 | + if (!empty($row['expire_time']) && $row['expire_time'] < time()) { |
|
| 1488 | + $allow_vote = false; |
|
| 1489 | + } elseif ($user_info['is_guest']) |
|
| 1415 | 1490 | { |
| 1416 | 1491 | // There's a difference between "allowed to vote" and "already voted"... |
| 1417 | 1492 | $allow_vote = $row['guest_vote']; |
@@ -1421,10 +1496,9 @@ discard block |
||
| 1421 | 1496 | { |
| 1422 | 1497 | $already_voted = true; |
| 1423 | 1498 | } |
| 1424 | - } |
|
| 1425 | - elseif (!empty($row['voting_locked']) || !allowedTo('poll_vote', $row['id_board'])) |
|
| 1426 | - $allow_vote = false; |
|
| 1427 | - else |
|
| 1499 | + } elseif (!empty($row['voting_locked']) || !allowedTo('poll_vote', $row['id_board'])) { |
|
| 1500 | + $allow_vote = false; |
|
| 1501 | + } else |
|
| 1428 | 1502 | { |
| 1429 | 1503 | $request = $smcFunc['db_query']('', ' |
| 1430 | 1504 | SELECT id_member |
@@ -1506,8 +1580,9 @@ discard block |
||
| 1506 | 1580 | // If mods want to do somthing with this poll, let them do that now. |
| 1507 | 1581 | call_integration_hook('integrate_ssi_showPoll', array(&$return)); |
| 1508 | 1582 | |
| 1509 | - if ($output_method != 'echo') |
|
| 1510 | - return $return; |
|
| 1583 | + if ($output_method != 'echo') { |
|
| 1584 | + return $return; |
|
| 1585 | + } |
|
| 1511 | 1586 | |
| 1512 | 1587 | if ($return['allow_vote']) |
| 1513 | 1588 | { |
@@ -1516,17 +1591,17 @@ discard block |
||
| 1516 | 1591 | <strong>', $return['question'], '</strong><br> |
| 1517 | 1592 | ', !empty($return['allowed_warning']) ? $return['allowed_warning'] . '<br>' : ''; |
| 1518 | 1593 | |
| 1519 | - foreach ($return['options'] as $option) |
|
| 1520 | - echo ' |
|
| 1594 | + foreach ($return['options'] as $option) { |
|
| 1595 | + echo ' |
|
| 1521 | 1596 | <label for="', $option['id'], '">', $option['vote_button'], ' ', $option['option'], '</label><br>'; |
| 1597 | + } |
|
| 1522 | 1598 | |
| 1523 | 1599 | echo ' |
| 1524 | 1600 | <input type="submit" value="', $txt['poll_vote'], '" class="button"> |
| 1525 | 1601 | <input type="hidden" name="poll" value="', $return['id'], '"> |
| 1526 | 1602 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
| 1527 | 1603 | </form>'; |
| 1528 | - } |
|
| 1529 | - else |
|
| 1604 | + } else |
|
| 1530 | 1605 | { |
| 1531 | 1606 | echo ' |
| 1532 | 1607 | <div class="ssi_poll"> |
@@ -1606,27 +1681,32 @@ discard block |
||
| 1606 | 1681 | 'is_approved' => 1, |
| 1607 | 1682 | ) |
| 1608 | 1683 | ); |
| 1609 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 1610 | - die; |
|
| 1684 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 1685 | + die; |
|
| 1686 | + } |
|
| 1611 | 1687 | $row = $smcFunc['db_fetch_assoc']($request); |
| 1612 | 1688 | $smcFunc['db_free_result']($request); |
| 1613 | 1689 | |
| 1614 | - if (!empty($row['voting_locked']) || ($row['selected'] != -1 && !$user_info['is_guest']) || (!empty($row['expire_time']) && time() > $row['expire_time'])) |
|
| 1615 | - redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1690 | + if (!empty($row['voting_locked']) || ($row['selected'] != -1 && !$user_info['is_guest']) || (!empty($row['expire_time']) && time() > $row['expire_time'])) { |
|
| 1691 | + redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1692 | + } |
|
| 1616 | 1693 | |
| 1617 | 1694 | // Too many options checked? |
| 1618 | - if (count($_REQUEST['options']) > $row['max_votes']) |
|
| 1619 | - redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1695 | + if (count($_REQUEST['options']) > $row['max_votes']) { |
|
| 1696 | + redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1697 | + } |
|
| 1620 | 1698 | |
| 1621 | 1699 | // It's a guest who has already voted? |
| 1622 | 1700 | if ($user_info['is_guest']) |
| 1623 | 1701 | { |
| 1624 | 1702 | // Guest voting disabled? |
| 1625 | - if (!$row['guest_vote']) |
|
| 1626 | - redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1703 | + if (!$row['guest_vote']) { |
|
| 1704 | + redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1705 | + } |
|
| 1627 | 1706 | // Already voted? |
| 1628 | - elseif (isset($_COOKIE['guest_poll_vote']) && in_array($row['id_poll'], explode(',', $_COOKIE['guest_poll_vote']))) |
|
| 1629 | - redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1707 | + elseif (isset($_COOKIE['guest_poll_vote']) && in_array($row['id_poll'], explode(',', $_COOKIE['guest_poll_vote']))) { |
|
| 1708 | + redirectexit('topic=' . $row['id_topic'] . '.0'); |
|
| 1709 | + } |
|
| 1630 | 1710 | } |
| 1631 | 1711 | |
| 1632 | 1712 | $sOptions = array(); |
@@ -1680,11 +1760,13 @@ discard block |
||
| 1680 | 1760 | { |
| 1681 | 1761 | global $scripturl, $txt, $context; |
| 1682 | 1762 | |
| 1683 | - if (!allowedTo('search_posts')) |
|
| 1684 | - return; |
|
| 1763 | + if (!allowedTo('search_posts')) { |
|
| 1764 | + return; |
|
| 1765 | + } |
|
| 1685 | 1766 | |
| 1686 | - if ($output_method != 'echo') |
|
| 1687 | - return $scripturl . '?action=search'; |
|
| 1767 | + if ($output_method != 'echo') { |
|
| 1768 | + return $scripturl . '?action=search'; |
|
| 1769 | + } |
|
| 1688 | 1770 | |
| 1689 | 1771 | echo ' |
| 1690 | 1772 | <form action="', $scripturl, '?action=search2" method="post" accept-charset="', $context['character_set'], '"> |
@@ -1706,8 +1788,9 @@ discard block |
||
| 1706 | 1788 | // If mods want to do somthing with the news, let them do that now. Don't need to pass the news line itself, since it is already in $context. |
| 1707 | 1789 | call_integration_hook('integrate_ssi_news'); |
| 1708 | 1790 | |
| 1709 | - if ($output_method != 'echo') |
|
| 1710 | - return $context['random_news_line']; |
|
| 1791 | + if ($output_method != 'echo') { |
|
| 1792 | + return $context['random_news_line']; |
|
| 1793 | + } |
|
| 1711 | 1794 | |
| 1712 | 1795 | echo $context['random_news_line']; |
| 1713 | 1796 | } |
@@ -1721,8 +1804,9 @@ discard block |
||
| 1721 | 1804 | { |
| 1722 | 1805 | global $scripturl, $modSettings, $user_info; |
| 1723 | 1806 | |
| 1724 | - if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view') || !allowedTo('profile_view')) |
|
| 1725 | - return; |
|
| 1807 | + if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view') || !allowedTo('profile_view')) { |
|
| 1808 | + return; |
|
| 1809 | + } |
|
| 1726 | 1810 | |
| 1727 | 1811 | $eventOptions = array( |
| 1728 | 1812 | 'include_birthdays' => true, |
@@ -1733,13 +1817,15 @@ discard block |
||
| 1733 | 1817 | // The ssi_todaysCalendar variants all use the same hook and just pass on $eventOptions so the hooked code can distinguish different cases if necessary |
| 1734 | 1818 | call_integration_hook('integrate_ssi_calendar', array(&$return, $eventOptions)); |
| 1735 | 1819 | |
| 1736 | - if ($output_method != 'echo') |
|
| 1737 | - return $return['calendar_birthdays']; |
|
| 1820 | + if ($output_method != 'echo') { |
|
| 1821 | + return $return['calendar_birthdays']; |
|
| 1822 | + } |
|
| 1738 | 1823 | |
| 1739 | - foreach ($return['calendar_birthdays'] as $member) |
|
| 1740 | - echo ' |
|
| 1824 | + foreach ($return['calendar_birthdays'] as $member) { |
|
| 1825 | + echo ' |
|
| 1741 | 1826 | <a href="', $scripturl, '?action=profile;u=', $member['id'], '"><span class="fix_rtl_names">' . $member['name'] . '</span>' . (isset($member['age']) ? ' (' . $member['age'] . ')' : '') . '</a>' . (!$member['is_last'] ? ', ' : ''); |
| 1742 | -} |
|
| 1827 | + } |
|
| 1828 | + } |
|
| 1743 | 1829 | |
| 1744 | 1830 | /** |
| 1745 | 1831 | * Shows today's holidays. |
@@ -1750,8 +1836,9 @@ discard block |
||
| 1750 | 1836 | { |
| 1751 | 1837 | global $modSettings, $user_info; |
| 1752 | 1838 | |
| 1753 | - if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) |
|
| 1754 | - return; |
|
| 1839 | + if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) { |
|
| 1840 | + return; |
|
| 1841 | + } |
|
| 1755 | 1842 | |
| 1756 | 1843 | $eventOptions = array( |
| 1757 | 1844 | 'include_holidays' => true, |
@@ -1762,8 +1849,9 @@ discard block |
||
| 1762 | 1849 | // The ssi_todaysCalendar variants all use the same hook and just pass on $eventOptions so the hooked code can distinguish different cases if necessary |
| 1763 | 1850 | call_integration_hook('integrate_ssi_calendar', array(&$return, $eventOptions)); |
| 1764 | 1851 | |
| 1765 | - if ($output_method != 'echo') |
|
| 1766 | - return $return['calendar_holidays']; |
|
| 1852 | + if ($output_method != 'echo') { |
|
| 1853 | + return $return['calendar_holidays']; |
|
| 1854 | + } |
|
| 1767 | 1855 | |
| 1768 | 1856 | echo ' |
| 1769 | 1857 | ', implode(', ', $return['calendar_holidays']); |
@@ -1777,8 +1865,9 @@ discard block |
||
| 1777 | 1865 | { |
| 1778 | 1866 | global $modSettings, $user_info; |
| 1779 | 1867 | |
| 1780 | - if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) |
|
| 1781 | - return; |
|
| 1868 | + if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) { |
|
| 1869 | + return; |
|
| 1870 | + } |
|
| 1782 | 1871 | |
| 1783 | 1872 | $eventOptions = array( |
| 1784 | 1873 | 'include_events' => true, |
@@ -1789,14 +1878,16 @@ discard block |
||
| 1789 | 1878 | // The ssi_todaysCalendar variants all use the same hook and just pass on $eventOptions so the hooked code can distinguish different cases if necessary |
| 1790 | 1879 | call_integration_hook('integrate_ssi_calendar', array(&$return, $eventOptions)); |
| 1791 | 1880 | |
| 1792 | - if ($output_method != 'echo') |
|
| 1793 | - return $return['calendar_events']; |
|
| 1881 | + if ($output_method != 'echo') { |
|
| 1882 | + return $return['calendar_events']; |
|
| 1883 | + } |
|
| 1794 | 1884 | |
| 1795 | 1885 | foreach ($return['calendar_events'] as $event) |
| 1796 | 1886 | { |
| 1797 | - if ($event['can_edit']) |
|
| 1798 | - echo ' |
|
| 1887 | + if ($event['can_edit']) { |
|
| 1888 | + echo ' |
|
| 1799 | 1889 | <a href="' . $event['modify_href'] . '" style="color: #ff0000;">*</a> '; |
| 1890 | + } |
|
| 1800 | 1891 | echo ' |
| 1801 | 1892 | ' . $event['link'] . (!$event['is_last'] ? ', ' : ''); |
| 1802 | 1893 | } |
@@ -1811,8 +1902,9 @@ discard block |
||
| 1811 | 1902 | { |
| 1812 | 1903 | global $modSettings, $txt, $scripturl, $user_info; |
| 1813 | 1904 | |
| 1814 | - if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) |
|
| 1815 | - return; |
|
| 1905 | + if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) { |
|
| 1906 | + return; |
|
| 1907 | + } |
|
| 1816 | 1908 | |
| 1817 | 1909 | $eventOptions = array( |
| 1818 | 1910 | 'include_birthdays' => allowedTo('profile_view'), |
@@ -1825,19 +1917,22 @@ discard block |
||
| 1825 | 1917 | // The ssi_todaysCalendar variants all use the same hook and just pass on $eventOptions so the hooked code can distinguish different cases if necessary |
| 1826 | 1918 | call_integration_hook('integrate_ssi_calendar', array(&$return, $eventOptions)); |
| 1827 | 1919 | |
| 1828 | - if ($output_method != 'echo') |
|
| 1829 | - return $return; |
|
| 1920 | + if ($output_method != 'echo') { |
|
| 1921 | + return $return; |
|
| 1922 | + } |
|
| 1830 | 1923 | |
| 1831 | - if (!empty($return['calendar_holidays'])) |
|
| 1832 | - echo ' |
|
| 1924 | + if (!empty($return['calendar_holidays'])) { |
|
| 1925 | + echo ' |
|
| 1833 | 1926 | <span class="holiday">' . $txt['calendar_prompt'] . ' ' . implode(', ', $return['calendar_holidays']) . '<br></span>'; |
| 1927 | + } |
|
| 1834 | 1928 | if (!empty($return['calendar_birthdays'])) |
| 1835 | 1929 | { |
| 1836 | 1930 | echo ' |
| 1837 | 1931 | <span class="birthday">' . $txt['birthdays_upcoming'] . '</span> '; |
| 1838 | - foreach ($return['calendar_birthdays'] as $member) |
|
| 1839 | - echo ' |
|
| 1932 | + foreach ($return['calendar_birthdays'] as $member) { |
|
| 1933 | + echo ' |
|
| 1840 | 1934 | <a href="', $scripturl, '?action=profile;u=', $member['id'], '"><span class="fix_rtl_names">', $member['name'], '</span>', isset($member['age']) ? ' (' . $member['age'] . ')' : '', '</a>', !$member['is_last'] ? ', ' : ''; |
| 1935 | + } |
|
| 1841 | 1936 | echo ' |
| 1842 | 1937 | <br>'; |
| 1843 | 1938 | } |
@@ -1847,9 +1942,10 @@ discard block |
||
| 1847 | 1942 | <span class="event">' . $txt['events_upcoming'] . '</span> '; |
| 1848 | 1943 | foreach ($return['calendar_events'] as $event) |
| 1849 | 1944 | { |
| 1850 | - if ($event['can_edit']) |
|
| 1851 | - echo ' |
|
| 1945 | + if ($event['can_edit']) { |
|
| 1946 | + echo ' |
|
| 1852 | 1947 | <a href="' . $event['modify_href'] . '" style="color: #ff0000;">*</a> '; |
| 1948 | + } |
|
| 1853 | 1949 | echo ' |
| 1854 | 1950 | ' . $event['link'] . (!$event['is_last'] ? ', ' : ''); |
| 1855 | 1951 | } |
@@ -1873,25 +1969,29 @@ discard block |
||
| 1873 | 1969 | loadLanguage('Stats'); |
| 1874 | 1970 | |
| 1875 | 1971 | // Must be integers.... |
| 1876 | - if ($limit === null) |
|
| 1877 | - $limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 5; |
|
| 1878 | - else |
|
| 1879 | - $limit = (int) $limit; |
|
| 1880 | - |
|
| 1881 | - if ($start === null) |
|
| 1882 | - $start = isset($_GET['start']) ? (int) $_GET['start'] : 0; |
|
| 1883 | - else |
|
| 1884 | - $start = (int) $start; |
|
| 1885 | - |
|
| 1886 | - if ($board !== null) |
|
| 1887 | - $board = (int) $board; |
|
| 1888 | - elseif (isset($_GET['board'])) |
|
| 1889 | - $board = (int) $_GET['board']; |
|
| 1890 | - |
|
| 1891 | - if ($length === null) |
|
| 1892 | - $length = isset($_GET['length']) ? (int) $_GET['length'] : 0; |
|
| 1893 | - else |
|
| 1894 | - $length = (int) $length; |
|
| 1972 | + if ($limit === null) { |
|
| 1973 | + $limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 5; |
|
| 1974 | + } else { |
|
| 1975 | + $limit = (int) $limit; |
|
| 1976 | + } |
|
| 1977 | + |
|
| 1978 | + if ($start === null) { |
|
| 1979 | + $start = isset($_GET['start']) ? (int) $_GET['start'] : 0; |
|
| 1980 | + } else { |
|
| 1981 | + $start = (int) $start; |
|
| 1982 | + } |
|
| 1983 | + |
|
| 1984 | + if ($board !== null) { |
|
| 1985 | + $board = (int) $board; |
|
| 1986 | + } elseif (isset($_GET['board'])) { |
|
| 1987 | + $board = (int) $_GET['board']; |
|
| 1988 | + } |
|
| 1989 | + |
|
| 1990 | + if ($length === null) { |
|
| 1991 | + $length = isset($_GET['length']) ? (int) $_GET['length'] : 0; |
|
| 1992 | + } else { |
|
| 1993 | + $length = (int) $length; |
|
| 1994 | + } |
|
| 1895 | 1995 | |
| 1896 | 1996 | $limit = max(0, $limit); |
| 1897 | 1997 | $start = max(0, $start); |
@@ -1909,17 +2009,19 @@ discard block |
||
| 1909 | 2009 | ); |
| 1910 | 2010 | if ($smcFunc['db_num_rows']($request) == 0) |
| 1911 | 2011 | { |
| 1912 | - if ($output_method == 'echo') |
|
| 1913 | - die($txt['ssi_no_guests']); |
|
| 1914 | - else |
|
| 1915 | - return array(); |
|
| 2012 | + if ($output_method == 'echo') { |
|
| 2013 | + die($txt['ssi_no_guests']); |
|
| 2014 | + } else { |
|
| 2015 | + return array(); |
|
| 2016 | + } |
|
| 1916 | 2017 | } |
| 1917 | 2018 | list ($board) = $smcFunc['db_fetch_row']($request); |
| 1918 | 2019 | $smcFunc['db_free_result']($request); |
| 1919 | 2020 | |
| 1920 | 2021 | $icon_sources = array(); |
| 1921 | - foreach ($context['stable_icons'] as $icon) |
|
| 1922 | - $icon_sources[$icon] = 'images_url'; |
|
| 2022 | + foreach ($context['stable_icons'] as $icon) { |
|
| 2023 | + $icon_sources[$icon] = 'images_url'; |
|
| 2024 | + } |
|
| 1923 | 2025 | |
| 1924 | 2026 | if (!empty($modSettings['enable_likes'])) |
| 1925 | 2027 | { |
@@ -1942,12 +2044,14 @@ discard block |
||
| 1942 | 2044 | ) |
| 1943 | 2045 | ); |
| 1944 | 2046 | $posts = array(); |
| 1945 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 1946 | - $posts[] = $row['id_first_msg']; |
|
| 2047 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 2048 | + $posts[] = $row['id_first_msg']; |
|
| 2049 | + } |
|
| 1947 | 2050 | $smcFunc['db_free_result']($request); |
| 1948 | 2051 | |
| 1949 | - if (empty($posts)) |
|
| 1950 | - return array(); |
|
| 2052 | + if (empty($posts)) { |
|
| 2053 | + return array(); |
|
| 2054 | + } |
|
| 1951 | 2055 | |
| 1952 | 2056 | // Find the posts. |
| 1953 | 2057 | $request = $smcFunc['db_query']('', ' |
@@ -1977,24 +2081,28 @@ discard block |
||
| 1977 | 2081 | $last_space = strrpos($row['body'], ' '); |
| 1978 | 2082 | $last_open = strrpos($row['body'], '<'); |
| 1979 | 2083 | $last_close = strrpos($row['body'], '>'); |
| 1980 | - if (empty($last_space) || ($last_space == $last_open + 3 && (empty($last_close) || (!empty($last_close) && $last_close < $last_open))) || $last_space < $last_open || $last_open == $length - 6) |
|
| 1981 | - $cutoff = $last_open; |
|
| 1982 | - elseif (empty($last_close) || $last_close < $last_open) |
|
| 1983 | - $cutoff = $last_space; |
|
| 2084 | + if (empty($last_space) || ($last_space == $last_open + 3 && (empty($last_close) || (!empty($last_close) && $last_close < $last_open))) || $last_space < $last_open || $last_open == $length - 6) { |
|
| 2085 | + $cutoff = $last_open; |
|
| 2086 | + } elseif (empty($last_close) || $last_close < $last_open) { |
|
| 2087 | + $cutoff = $last_space; |
|
| 2088 | + } |
|
| 1984 | 2089 | |
| 1985 | - if ($cutoff !== false) |
|
| 1986 | - $row['body'] = $smcFunc['substr']($row['body'], 0, $cutoff); |
|
| 2090 | + if ($cutoff !== false) { |
|
| 2091 | + $row['body'] = $smcFunc['substr']($row['body'], 0, $cutoff); |
|
| 2092 | + } |
|
| 1987 | 2093 | $row['body'] .= '...'; |
| 1988 | 2094 | } |
| 1989 | 2095 | |
| 1990 | 2096 | $row['body'] = parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']); |
| 1991 | 2097 | |
| 1992 | - if (!empty($recycle_board) && $row['id_board'] == $recycle_board) |
|
| 1993 | - $row['icon'] = 'recycled'; |
|
| 2098 | + if (!empty($recycle_board) && $row['id_board'] == $recycle_board) { |
|
| 2099 | + $row['icon'] = 'recycled'; |
|
| 2100 | + } |
|
| 1994 | 2101 | |
| 1995 | 2102 | // Check that this message icon is there... |
| 1996 | - if (!empty($modSettings['messageIconChecks_enable']) && !isset($icon_sources[$row['icon']])) |
|
| 1997 | - $icon_sources[$row['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 2103 | + if (!empty($modSettings['messageIconChecks_enable']) && !isset($icon_sources[$row['icon']])) { |
|
| 2104 | + $icon_sources[$row['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 2105 | + } |
|
| 1998 | 2106 | |
| 1999 | 2107 | censorText($row['subject']); |
| 2000 | 2108 | censorText($row['body']); |
@@ -2031,16 +2139,18 @@ discard block |
||
| 2031 | 2139 | } |
| 2032 | 2140 | $smcFunc['db_free_result']($request); |
| 2033 | 2141 | |
| 2034 | - if (empty($return)) |
|
| 2035 | - return $return; |
|
| 2142 | + if (empty($return)) { |
|
| 2143 | + return $return; |
|
| 2144 | + } |
|
| 2036 | 2145 | |
| 2037 | 2146 | $return[count($return) - 1]['is_last'] = true; |
| 2038 | 2147 | |
| 2039 | 2148 | // If mods want to do somthing with this list of posts, let them do that now. |
| 2040 | 2149 | call_integration_hook('integrate_ssi_boardNews', array(&$return)); |
| 2041 | 2150 | |
| 2042 | - if ($output_method != 'echo') |
|
| 2043 | - return $return; |
|
| 2151 | + if ($output_method != 'echo') { |
|
| 2152 | + return $return; |
|
| 2153 | + } |
|
| 2044 | 2154 | |
| 2045 | 2155 | foreach ($return as $news) |
| 2046 | 2156 | { |
@@ -2092,9 +2202,10 @@ discard block |
||
| 2092 | 2202 | echo ' |
| 2093 | 2203 | </div>'; |
| 2094 | 2204 | |
| 2095 | - if (!$news['is_last']) |
|
| 2096 | - echo ' |
|
| 2205 | + if (!$news['is_last']) { |
|
| 2206 | + echo ' |
|
| 2097 | 2207 | <hr>'; |
| 2208 | + } |
|
| 2098 | 2209 | } |
| 2099 | 2210 | } |
| 2100 | 2211 | |
@@ -2108,8 +2219,9 @@ discard block |
||
| 2108 | 2219 | { |
| 2109 | 2220 | global $user_info, $scripturl, $modSettings, $txt, $context, $smcFunc; |
| 2110 | 2221 | |
| 2111 | - if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) |
|
| 2112 | - return; |
|
| 2222 | + if (empty($modSettings['cal_enabled']) || !allowedTo('calendar_view')) { |
|
| 2223 | + return; |
|
| 2224 | + } |
|
| 2113 | 2225 | |
| 2114 | 2226 | // Find all events which are happening in the near future that the member can see. |
| 2115 | 2227 | $request = $smcFunc['db_query']('', ' |
@@ -2135,20 +2247,23 @@ discard block |
||
| 2135 | 2247 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 2136 | 2248 | { |
| 2137 | 2249 | // Check if we've already come by an event linked to this same topic with the same title... and don't display it if we have. |
| 2138 | - if (!empty($duplicates[$row['title'] . $row['id_topic']])) |
|
| 2139 | - continue; |
|
| 2250 | + if (!empty($duplicates[$row['title'] . $row['id_topic']])) { |
|
| 2251 | + continue; |
|
| 2252 | + } |
|
| 2140 | 2253 | |
| 2141 | 2254 | // Censor the title. |
| 2142 | 2255 | censorText($row['title']); |
| 2143 | 2256 | |
| 2144 | - if ($row['start_date'] < strftime('%Y-%m-%d', forum_time(false))) |
|
| 2145 | - $date = strftime('%Y-%m-%d', forum_time(false)); |
|
| 2146 | - else |
|
| 2147 | - $date = $row['start_date']; |
|
| 2257 | + if ($row['start_date'] < strftime('%Y-%m-%d', forum_time(false))) { |
|
| 2258 | + $date = strftime('%Y-%m-%d', forum_time(false)); |
|
| 2259 | + } else { |
|
| 2260 | + $date = $row['start_date']; |
|
| 2261 | + } |
|
| 2148 | 2262 | |
| 2149 | 2263 | // If the topic it is attached to is not approved then don't link it. |
| 2150 | - if (!empty($row['id_first_msg']) && !$row['approved']) |
|
| 2151 | - $row['id_board'] = $row['id_topic'] = $row['id_first_msg'] = 0; |
|
| 2264 | + if (!empty($row['id_first_msg']) && !$row['approved']) { |
|
| 2265 | + $row['id_board'] = $row['id_topic'] = $row['id_first_msg'] = 0; |
|
| 2266 | + } |
|
| 2152 | 2267 | |
| 2153 | 2268 | $allday = (empty($row['start_time']) || empty($row['end_time']) || empty($row['timezone']) || !in_array($row['timezone'], timezone_identifiers_list(DateTimeZone::ALL_WITH_BC))) ? true : false; |
| 2154 | 2269 | |
@@ -2174,24 +2289,27 @@ discard block |
||
| 2174 | 2289 | } |
| 2175 | 2290 | $smcFunc['db_free_result']($request); |
| 2176 | 2291 | |
| 2177 | - foreach ($return as $mday => $array) |
|
| 2178 | - $return[$mday][count($array) - 1]['is_last'] = true; |
|
| 2292 | + foreach ($return as $mday => $array) { |
|
| 2293 | + $return[$mday][count($array) - 1]['is_last'] = true; |
|
| 2294 | + } |
|
| 2179 | 2295 | |
| 2180 | 2296 | // If mods want to do somthing with this list of events, let them do that now. |
| 2181 | 2297 | call_integration_hook('integrate_ssi_recentEvents', array(&$return)); |
| 2182 | 2298 | |
| 2183 | - if ($output_method != 'echo' || empty($return)) |
|
| 2184 | - return $return; |
|
| 2299 | + if ($output_method != 'echo' || empty($return)) { |
|
| 2300 | + return $return; |
|
| 2301 | + } |
|
| 2185 | 2302 | |
| 2186 | 2303 | // Well the output method is echo. |
| 2187 | 2304 | echo ' |
| 2188 | 2305 | <span class="event">' . $txt['events'] . '</span> '; |
| 2189 | - foreach ($return as $mday => $array) |
|
| 2190 | - foreach ($array as $event) |
|
| 2306 | + foreach ($return as $mday => $array) { |
|
| 2307 | + foreach ($array as $event) |
|
| 2191 | 2308 | { |
| 2192 | 2309 | if ($event['can_edit']) |
| 2193 | 2310 | echo ' |
| 2194 | 2311 | <a href="' . $event['modify_href'] . '" style="color: #ff0000;">*</a> '; |
| 2312 | + } |
|
| 2195 | 2313 | |
| 2196 | 2314 | echo ' |
| 2197 | 2315 | ' . $event['link'] . (!$event['is_last'] ? ', ' : ''); |
@@ -2210,8 +2328,9 @@ discard block |
||
| 2210 | 2328 | global $smcFunc; |
| 2211 | 2329 | |
| 2212 | 2330 | // If $id is null, this was most likely called from a query string and should do nothing. |
| 2213 | - if ($id === null) |
|
| 2214 | - return; |
|
| 2331 | + if ($id === null) { |
|
| 2332 | + return; |
|
| 2333 | + } |
|
| 2215 | 2334 | |
| 2216 | 2335 | $request = $smcFunc['db_query']('', ' |
| 2217 | 2336 | SELECT passwd, member_name, is_activated |
@@ -2243,8 +2362,9 @@ discard block |
||
| 2243 | 2362 | $attachments_boards = boardsAllowedTo('view_attachments'); |
| 2244 | 2363 | |
| 2245 | 2364 | // No boards? Adios amigo. |
| 2246 | - if (empty($attachments_boards)) |
|
| 2247 | - return array(); |
|
| 2365 | + if (empty($attachments_boards)) { |
|
| 2366 | + return array(); |
|
| 2367 | + } |
|
| 2248 | 2368 | |
| 2249 | 2369 | // Is it an array? |
| 2250 | 2370 | $attachment_ext = (array) $attachment_ext; |
@@ -2328,8 +2448,9 @@ discard block |
||
| 2328 | 2448 | call_integration_hook('integrate_ssi_recentAttachments', array(&$attachments)); |
| 2329 | 2449 | |
| 2330 | 2450 | // So you just want an array? Here you can have it. |
| 2331 | - if ($output_method == 'array' || empty($attachments)) |
|
| 2332 | - return $attachments; |
|
| 2451 | + if ($output_method == 'array' || empty($attachments)) { |
|
| 2452 | + return $attachments; |
|
| 2453 | + } |
|
| 2333 | 2454 | |
| 2334 | 2455 | // Give them the default. |
| 2335 | 2456 | echo ' |
@@ -2340,14 +2461,15 @@ discard block |
||
| 2340 | 2461 | <th style="text-align: left; padding: 2">', $txt['downloads'], '</th> |
| 2341 | 2462 | <th style="text-align: left; padding: 2">', $txt['filesize'], '</th> |
| 2342 | 2463 | </tr>'; |
| 2343 | - foreach ($attachments as $attach) |
|
| 2344 | - echo ' |
|
| 2464 | + foreach ($attachments as $attach) { |
|
| 2465 | + echo ' |
|
| 2345 | 2466 | <tr> |
| 2346 | 2467 | <td>', $attach['file']['link'], '</td> |
| 2347 | 2468 | <td>', $attach['member']['link'], '</td> |
| 2348 | 2469 | <td style="text-align: center">', $attach['file']['downloads'], '</td> |
| 2349 | 2470 | <td>', $attach['file']['filesize'], '</td> |
| 2350 | 2471 | </tr>'; |
| 2472 | + } |
|
| 2351 | 2473 | echo ' |
| 2352 | 2474 | </table>'; |
| 2353 | 2475 | } |
@@ -393,6 +393,9 @@ discard block |
||
| 393 | 393 | } |
| 394 | 394 | |
| 395 | 395 | // Used to direct the user to another location. |
| 396 | +/** |
|
| 397 | + * @param string $location |
|
| 398 | + */ |
|
| 396 | 399 | function redirectLocation($location, $addForm = true) |
| 397 | 400 | { |
| 398 | 401 | global $upgradeurl, $upcontext, $command_line; |
@@ -1573,6 +1576,9 @@ discard block |
||
| 1573 | 1576 | return addslashes(preg_replace(array('~^\.([/\\\]|$)~', '~[/]+~', '~[\\\]+~', '~[/\\\]$~'), array($install_path . '$1', '/', '\\', ''), $path)); |
| 1574 | 1577 | } |
| 1575 | 1578 | |
| 1579 | +/** |
|
| 1580 | + * @param string $filename |
|
| 1581 | + */ |
|
| 1576 | 1582 | function parse_sql($filename) |
| 1577 | 1583 | { |
| 1578 | 1584 | global $db_prefix, $db_collation, $boarddir, $boardurl, $command_line, $file_steps, $step_progress, $custom_warning; |
@@ -1607,6 +1613,10 @@ discard block |
||
| 1607 | 1613 | |
| 1608 | 1614 | // Our custom error handler - does nothing but does stop public errors from XML! |
| 1609 | 1615 | set_error_handler( |
| 1616 | + |
|
| 1617 | + /** |
|
| 1618 | + * @param string $errno |
|
| 1619 | + */ |
|
| 1610 | 1620 | function ($errno, $errstr, $errfile, $errline) use ($support_js) |
| 1611 | 1621 | { |
| 1612 | 1622 | if ($support_js) |
@@ -1853,6 +1863,9 @@ discard block |
||
| 1853 | 1863 | return true; |
| 1854 | 1864 | } |
| 1855 | 1865 | |
| 1866 | +/** |
|
| 1867 | + * @param string $string |
|
| 1868 | + */ |
|
| 1856 | 1869 | function upgrade_query($string, $unbuffered = false) |
| 1857 | 1870 | { |
| 1858 | 1871 | global $db_connection, $db_server, $db_user, $db_passwd, $db_type, $command_line, $upcontext, $upgradeurl, $modSettings; |
@@ -4512,7 +4525,7 @@ discard block |
||
| 4512 | 4525 | * @param int $setSize The amount of entries after which to update the database. |
| 4513 | 4526 | * |
| 4514 | 4527 | * newCol needs to be a varbinary(16) null able field |
| 4515 | - * @return bool |
|
| 4528 | + * @return boolean|null |
|
| 4516 | 4529 | */ |
| 4517 | 4530 | function MySQLConvertOldIp($targetTable, $oldCol, $newCol, $limit = 50000, $setSize = 100) |
| 4518 | 4531 | { |
@@ -75,8 +75,9 @@ discard block |
||
| 75 | 75 | $upcontext['inactive_timeout'] = 10; |
| 76 | 76 | |
| 77 | 77 | // The helper is crucial. Include it first thing. |
| 78 | -if (!file_exists($upgrade_path . '/upgrade-helper.php')) |
|
| 78 | +if (!file_exists($upgrade_path . '/upgrade-helper.php')) { |
|
| 79 | 79 | die('upgrade-helper.php not found where it was expected: ' . $upgrade_path . '/upgrade-helper.php! Make sure you have uploaded ALL files from the upgrade package. The upgrader cannot continue.'); |
| 80 | +} |
|
| 80 | 81 | |
| 81 | 82 | require_once($upgrade_path . '/upgrade-helper.php'); |
| 82 | 83 | |
@@ -100,11 +101,14 @@ discard block |
||
| 100 | 101 | ini_set('default_socket_timeout', 900); |
| 101 | 102 | } |
| 102 | 103 | // Clean the upgrade path if this is from the client. |
| 103 | -if (!empty($_SERVER['argv']) && php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) |
|
| 104 | - for ($i = 1; $i < $_SERVER['argc']; $i++) |
|
| 104 | +if (!empty($_SERVER['argv']) && php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) { |
|
| 105 | + for ($i = 1; |
|
| 106 | +} |
|
| 107 | +$i < $_SERVER['argc']; $i++) |
|
| 105 | 108 | { |
| 106 | - if (preg_match('~^--path=(.+)$~', $_SERVER['argv'][$i], $match) != 0) |
|
| 107 | - $upgrade_path = substr($match[1], -1) == '/' ? substr($match[1], 0, -1) : $match[1]; |
|
| 109 | + if (preg_match('~^--path=(.+)$~', $_SERVER['argv'][$i], $match) != 0) { |
|
| 110 | + $upgrade_path = substr($match[1], -1) == '/' ? substr($match[1], 0, -1) : $match[1]; |
|
| 111 | + } |
|
| 108 | 112 | } |
| 109 | 113 | |
| 110 | 114 | // Are we from the client? |
@@ -112,16 +116,17 @@ discard block |
||
| 112 | 116 | { |
| 113 | 117 | $command_line = true; |
| 114 | 118 | $disable_security = true; |
| 115 | -} |
|
| 116 | -else |
|
| 119 | +} else { |
|
| 117 | 120 | $command_line = false; |
| 121 | +} |
|
| 118 | 122 | |
| 119 | 123 | // Load this now just because we can. |
| 120 | 124 | require_once($upgrade_path . '/Settings.php'); |
| 121 | 125 | |
| 122 | 126 | // We don't use "-utf8" anymore... Tweak the entry that may have been loaded by Settings.php |
| 123 | -if (isset($language)) |
|
| 127 | +if (isset($language)) { |
|
| 124 | 128 | $language = str_ireplace('-utf8', '', $language); |
| 129 | +} |
|
| 125 | 130 | |
| 126 | 131 | // Are we logged in? |
| 127 | 132 | if (isset($upgradeData)) |
@@ -129,10 +134,12 @@ discard block |
||
| 129 | 134 | $upcontext['user'] = json_decode(base64_decode($upgradeData), true); |
| 130 | 135 | |
| 131 | 136 | // Check for sensible values. |
| 132 | - if (empty($upcontext['user']['started']) || $upcontext['user']['started'] < time() - 86400) |
|
| 133 | - $upcontext['user']['started'] = time(); |
|
| 134 | - if (empty($upcontext['user']['updated']) || $upcontext['user']['updated'] < time() - 86400) |
|
| 135 | - $upcontext['user']['updated'] = 0; |
|
| 137 | + if (empty($upcontext['user']['started']) || $upcontext['user']['started'] < time() - 86400) { |
|
| 138 | + $upcontext['user']['started'] = time(); |
|
| 139 | + } |
|
| 140 | + if (empty($upcontext['user']['updated']) || $upcontext['user']['updated'] < time() - 86400) { |
|
| 141 | + $upcontext['user']['updated'] = 0; |
|
| 142 | + } |
|
| 136 | 143 | |
| 137 | 144 | $upcontext['started'] = $upcontext['user']['started']; |
| 138 | 145 | $upcontext['updated'] = $upcontext['user']['updated']; |
@@ -197,8 +204,9 @@ discard block |
||
| 197 | 204 | 'db_error_skip' => true, |
| 198 | 205 | ) |
| 199 | 206 | ); |
| 200 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 201 | - $modSettings[$row['variable']] = $row['value']; |
|
| 207 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 208 | + $modSettings[$row['variable']] = $row['value']; |
|
| 209 | + } |
|
| 202 | 210 | $smcFunc['db_free_result']($request); |
| 203 | 211 | } |
| 204 | 212 | |
@@ -208,10 +216,12 @@ discard block |
||
| 208 | 216 | $modSettings['theme_url'] = 'Themes/default'; |
| 209 | 217 | $modSettings['images_url'] = 'Themes/default/images'; |
| 210 | 218 | } |
| 211 | -if (!isset($settings['default_theme_url'])) |
|
| 219 | +if (!isset($settings['default_theme_url'])) { |
|
| 212 | 220 | $settings['default_theme_url'] = $modSettings['theme_url']; |
| 213 | -if (!isset($settings['default_theme_dir'])) |
|
| 221 | +} |
|
| 222 | +if (!isset($settings['default_theme_dir'])) { |
|
| 214 | 223 | $settings['default_theme_dir'] = $modSettings['theme_dir']; |
| 224 | +} |
|
| 215 | 225 | |
| 216 | 226 | $upcontext['is_large_forum'] = (empty($modSettings['smfVersion']) || $modSettings['smfVersion'] <= '1.1 RC1') && !empty($modSettings['totalMessages']) && $modSettings['totalMessages'] > 75000; |
| 217 | 227 | // Default title... |
@@ -229,13 +239,15 @@ discard block |
||
| 229 | 239 | $support_js = $upcontext['upgrade_status']['js']; |
| 230 | 240 | |
| 231 | 241 | // Only set this if the upgrader status says so. |
| 232 | - if (empty($is_debug)) |
|
| 233 | - $is_debug = $upcontext['upgrade_status']['debug']; |
|
| 242 | + if (empty($is_debug)) { |
|
| 243 | + $is_debug = $upcontext['upgrade_status']['debug']; |
|
| 244 | + } |
|
| 234 | 245 | |
| 235 | 246 | // Load the language. |
| 236 | - if (file_exists($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php')) |
|
| 237 | - require_once($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php'); |
|
| 238 | -} |
|
| 247 | + if (file_exists($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php')) { |
|
| 248 | + require_once($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php'); |
|
| 249 | + } |
|
| 250 | + } |
|
| 239 | 251 | // Set the defaults. |
| 240 | 252 | else |
| 241 | 253 | { |
@@ -253,15 +265,18 @@ discard block |
||
| 253 | 265 | } |
| 254 | 266 | |
| 255 | 267 | // If this isn't the first stage see whether they are logging in and resuming. |
| 256 | -if ($upcontext['current_step'] != 0 || !empty($upcontext['user']['step'])) |
|
| 268 | +if ($upcontext['current_step'] != 0 || !empty($upcontext['user']['step'])) { |
|
| 257 | 269 | checkLogin(); |
| 270 | +} |
|
| 258 | 271 | |
| 259 | -if ($command_line) |
|
| 272 | +if ($command_line) { |
|
| 260 | 273 | cmdStep0(); |
| 274 | +} |
|
| 261 | 275 | |
| 262 | 276 | // Don't error if we're using xml. |
| 263 | -if (isset($_GET['xml'])) |
|
| 277 | +if (isset($_GET['xml'])) { |
|
| 264 | 278 | $upcontext['return_error'] = true; |
| 279 | +} |
|
| 265 | 280 | |
| 266 | 281 | // Loop through all the steps doing each one as required. |
| 267 | 282 | $upcontext['overall_percent'] = 0; |
@@ -282,9 +297,9 @@ discard block |
||
| 282 | 297 | } |
| 283 | 298 | |
| 284 | 299 | // Call the step and if it returns false that means pause! |
| 285 | - if (function_exists($step[2]) && $step[2]() === false) |
|
| 286 | - break; |
|
| 287 | - elseif (function_exists($step[2])) { |
|
| 300 | + if (function_exists($step[2]) && $step[2]() === false) { |
|
| 301 | + break; |
|
| 302 | + } elseif (function_exists($step[2])) { |
|
| 288 | 303 | //Start each new step with this unset, so the 'normal' template is called first |
| 289 | 304 | unset($_GET['xml']); |
| 290 | 305 | //Clear out warnings at the start of each step |
@@ -330,17 +345,18 @@ discard block |
||
| 330 | 345 | // This should not happen my dear... HELP ME DEVELOPERS!! |
| 331 | 346 | if (!empty($command_line)) |
| 332 | 347 | { |
| 333 | - if (function_exists('debug_print_backtrace')) |
|
| 334 | - debug_print_backtrace(); |
|
| 348 | + if (function_exists('debug_print_backtrace')) { |
|
| 349 | + debug_print_backtrace(); |
|
| 350 | + } |
|
| 335 | 351 | |
| 336 | 352 | echo "\n" . 'Error: Unexpected call to use the ' . (isset($upcontext['sub_template']) ? $upcontext['sub_template'] : '') . ' template. Please copy and paste all the text above and visit the SMF support forum to tell the Developers that they\'ve made a boo boo; they\'ll get you up and running again.'; |
| 337 | 353 | flush(); |
| 338 | 354 | die(); |
| 339 | 355 | } |
| 340 | 356 | |
| 341 | - if (!isset($_GET['xml'])) |
|
| 342 | - template_upgrade_above(); |
|
| 343 | - else |
|
| 357 | + if (!isset($_GET['xml'])) { |
|
| 358 | + template_upgrade_above(); |
|
| 359 | + } else |
|
| 344 | 360 | { |
| 345 | 361 | header('Content-Type: text/xml; charset=UTF-8'); |
| 346 | 362 | // Sadly we need to retain the $_GET data thanks to the old upgrade scripts. |
@@ -362,25 +378,29 @@ discard block |
||
| 362 | 378 | $upcontext['form_url'] = $upgradeurl . '?step=' . $upcontext['current_step'] . '&substep=' . $_GET['substep'] . '&data=' . base64_encode(json_encode($upcontext['upgrade_status'])); |
| 363 | 379 | |
| 364 | 380 | // Custom stuff to pass back? |
| 365 | - if (!empty($upcontext['query_string'])) |
|
| 366 | - $upcontext['form_url'] .= $upcontext['query_string']; |
|
| 381 | + if (!empty($upcontext['query_string'])) { |
|
| 382 | + $upcontext['form_url'] .= $upcontext['query_string']; |
|
| 383 | + } |
|
| 367 | 384 | |
| 368 | 385 | // Call the appropriate subtemplate |
| 369 | - if (is_callable('template_' . $upcontext['sub_template'])) |
|
| 370 | - call_user_func('template_' . $upcontext['sub_template']); |
|
| 371 | - else |
|
| 372 | - die('Upgrade aborted! Invalid template: template_' . $upcontext['sub_template']); |
|
| 386 | + if (is_callable('template_' . $upcontext['sub_template'])) { |
|
| 387 | + call_user_func('template_' . $upcontext['sub_template']); |
|
| 388 | + } else { |
|
| 389 | + die('Upgrade aborted! Invalid template: template_' . $upcontext['sub_template']); |
|
| 390 | + } |
|
| 373 | 391 | } |
| 374 | 392 | |
| 375 | 393 | // Was there an error? |
| 376 | - if (!empty($upcontext['forced_error_message'])) |
|
| 377 | - echo $upcontext['forced_error_message']; |
|
| 394 | + if (!empty($upcontext['forced_error_message'])) { |
|
| 395 | + echo $upcontext['forced_error_message']; |
|
| 396 | + } |
|
| 378 | 397 | |
| 379 | 398 | // Show the footer. |
| 380 | - if (!isset($_GET['xml'])) |
|
| 381 | - template_upgrade_below(); |
|
| 382 | - else |
|
| 383 | - template_xml_below(); |
|
| 399 | + if (!isset($_GET['xml'])) { |
|
| 400 | + template_upgrade_below(); |
|
| 401 | + } else { |
|
| 402 | + template_xml_below(); |
|
| 403 | + } |
|
| 384 | 404 | } |
| 385 | 405 | |
| 386 | 406 | |
@@ -392,15 +412,19 @@ discard block |
||
| 392 | 412 | $seconds = intval($active % 60); |
| 393 | 413 | |
| 394 | 414 | $totalTime = ''; |
| 395 | - if ($hours > 0) |
|
| 396 | - $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 397 | - if ($minutes > 0) |
|
| 398 | - $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 399 | - if ($seconds > 0) |
|
| 400 | - $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 415 | + if ($hours > 0) { |
|
| 416 | + $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 417 | + } |
|
| 418 | + if ($minutes > 0) { |
|
| 419 | + $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 420 | + } |
|
| 421 | + if ($seconds > 0) { |
|
| 422 | + $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 423 | + } |
|
| 401 | 424 | |
| 402 | - if (!empty($totalTime)) |
|
| 403 | - echo "\n" . 'Upgrade completed in ' . $totalTime . "\n"; |
|
| 425 | + if (!empty($totalTime)) { |
|
| 426 | + echo "\n" . 'Upgrade completed in ' . $totalTime . "\n"; |
|
| 427 | + } |
|
| 404 | 428 | } |
| 405 | 429 | |
| 406 | 430 | // Bang - gone! |
@@ -413,8 +437,9 @@ discard block |
||
| 413 | 437 | global $upgradeurl, $upcontext, $command_line; |
| 414 | 438 | |
| 415 | 439 | // Command line users can't be redirected. |
| 416 | - if ($command_line) |
|
| 417 | - upgradeExit(true); |
|
| 440 | + if ($command_line) { |
|
| 441 | + upgradeExit(true); |
|
| 442 | + } |
|
| 418 | 443 | |
| 419 | 444 | // Are we providing the core info? |
| 420 | 445 | if ($addForm) |
@@ -440,12 +465,14 @@ discard block |
||
| 440 | 465 | define('SMF', 1); |
| 441 | 466 | |
| 442 | 467 | // Start the session. |
| 443 | - if (@ini_get('session.save_handler') == 'user') |
|
| 444 | - @ini_set('session.save_handler', 'files'); |
|
| 468 | + if (@ini_get('session.save_handler') == 'user') { |
|
| 469 | + @ini_set('session.save_handler', 'files'); |
|
| 470 | + } |
|
| 445 | 471 | @session_start(); |
| 446 | 472 | |
| 447 | - if (empty($smcFunc)) |
|
| 448 | - $smcFunc = array(); |
|
| 473 | + if (empty($smcFunc)) { |
|
| 474 | + $smcFunc = array(); |
|
| 475 | + } |
|
| 449 | 476 | |
| 450 | 477 | // We need this for authentication and some upgrade code |
| 451 | 478 | require_once($sourcedir . '/Subs-Auth.php'); |
@@ -472,24 +499,27 @@ discard block |
||
| 472 | 499 | require_once($sourcedir . '/Subs-Db-' . $db_type . '.php'); |
| 473 | 500 | |
| 474 | 501 | // Make the connection... |
| 475 | - if (empty($db_connection)) |
|
| 476 | - $db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, array('non_fatal' => true)); |
|
| 477 | - else |
|
| 478 | - // If we've returned here, ping/reconnect to be safe |
|
| 502 | + if (empty($db_connection)) { |
|
| 503 | + $db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, array('non_fatal' => true)); |
|
| 504 | + } else { |
|
| 505 | + // If we've returned here, ping/reconnect to be safe |
|
| 479 | 506 | $smcFunc['db_ping']($db_connection); |
| 507 | + } |
|
| 480 | 508 | |
| 481 | 509 | // Oh dear god!! |
| 482 | - if ($db_connection === null) |
|
| 483 | - die('Unable to connect to database - please check username and password are correct in Settings.php'); |
|
| 510 | + if ($db_connection === null) { |
|
| 511 | + die('Unable to connect to database - please check username and password are correct in Settings.php'); |
|
| 512 | + } |
|
| 484 | 513 | |
| 485 | - if ($db_type == 'mysql' && isset($db_character_set) && preg_match('~^\w+$~', $db_character_set) === 1) |
|
| 486 | - $smcFunc['db_query']('', ' |
|
| 514 | + if ($db_type == 'mysql' && isset($db_character_set) && preg_match('~^\w+$~', $db_character_set) === 1) { |
|
| 515 | + $smcFunc['db_query']('', ' |
|
| 487 | 516 | SET NAMES {string:db_character_set}', |
| 488 | 517 | array( |
| 489 | 518 | 'db_error_skip' => true, |
| 490 | 519 | 'db_character_set' => $db_character_set, |
| 491 | 520 | ) |
| 492 | 521 | ); |
| 522 | + } |
|
| 493 | 523 | |
| 494 | 524 | // Load the modSettings data... |
| 495 | 525 | $request = $smcFunc['db_query']('', ' |
@@ -500,11 +530,11 @@ discard block |
||
| 500 | 530 | ) |
| 501 | 531 | ); |
| 502 | 532 | $modSettings = array(); |
| 503 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 504 | - $modSettings[$row['variable']] = $row['value']; |
|
| 533 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 534 | + $modSettings[$row['variable']] = $row['value']; |
|
| 535 | + } |
|
| 505 | 536 | $smcFunc['db_free_result']($request); |
| 506 | - } |
|
| 507 | - else |
|
| 537 | + } else |
|
| 508 | 538 | { |
| 509 | 539 | return throw_error('Cannot find ' . $sourcedir . '/Subs-Db-' . $db_type . '.php' . '. Please check you have uploaded all source files and have the correct paths set.'); |
| 510 | 540 | } |
@@ -518,9 +548,10 @@ discard block |
||
| 518 | 548 | cleanRequest(); |
| 519 | 549 | } |
| 520 | 550 | |
| 521 | - if (!isset($_GET['substep'])) |
|
| 522 | - $_GET['substep'] = 0; |
|
| 523 | -} |
|
| 551 | + if (!isset($_GET['substep'])) { |
|
| 552 | + $_GET['substep'] = 0; |
|
| 553 | + } |
|
| 554 | + } |
|
| 524 | 555 | |
| 525 | 556 | function initialize_inputs() |
| 526 | 557 | { |
@@ -550,8 +581,9 @@ discard block |
||
| 550 | 581 | $dh = opendir(dirname(__FILE__)); |
| 551 | 582 | while ($file = readdir($dh)) |
| 552 | 583 | { |
| 553 | - if (preg_match('~upgrade_\d-\d_([A-Za-z])+\.sql~i', $file, $matches) && isset($matches[1])) |
|
| 554 | - @unlink(dirname(__FILE__) . '/' . $file); |
|
| 584 | + if (preg_match('~upgrade_\d-\d_([A-Za-z])+\.sql~i', $file, $matches) && isset($matches[1])) { |
|
| 585 | + @unlink(dirname(__FILE__) . '/' . $file); |
|
| 586 | + } |
|
| 555 | 587 | } |
| 556 | 588 | closedir($dh); |
| 557 | 589 | |
@@ -580,8 +612,9 @@ discard block |
||
| 580 | 612 | $temp = 'upgrade_php?step'; |
| 581 | 613 | while (strlen($temp) > 4) |
| 582 | 614 | { |
| 583 | - if (isset($_GET[$temp])) |
|
| 584 | - unset($_GET[$temp]); |
|
| 615 | + if (isset($_GET[$temp])) { |
|
| 616 | + unset($_GET[$temp]); |
|
| 617 | + } |
|
| 585 | 618 | $temp = substr($temp, 1); |
| 586 | 619 | } |
| 587 | 620 | |
@@ -608,32 +641,39 @@ discard block |
||
| 608 | 641 | && @file_exists(dirname(__FILE__) . '/upgrade_2-1_' . $db_type . '.sql'); |
| 609 | 642 | |
| 610 | 643 | // Need legacy scripts? |
| 611 | - if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < 2.1) |
|
| 612 | - $check &= @file_exists(dirname(__FILE__) . '/upgrade_2-0_' . $db_type . '.sql'); |
|
| 613 | - if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < 2.0) |
|
| 614 | - $check &= @file_exists(dirname(__FILE__) . '/upgrade_1-1.sql'); |
|
| 615 | - if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < 1.1) |
|
| 616 | - $check &= @file_exists(dirname(__FILE__) . '/upgrade_1-0.sql'); |
|
| 644 | + if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < 2.1) { |
|
| 645 | + $check &= @file_exists(dirname(__FILE__) . '/upgrade_2-0_' . $db_type . '.sql'); |
|
| 646 | + } |
|
| 647 | + if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < 2.0) { |
|
| 648 | + $check &= @file_exists(dirname(__FILE__) . '/upgrade_1-1.sql'); |
|
| 649 | + } |
|
| 650 | + if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < 1.1) { |
|
| 651 | + $check &= @file_exists(dirname(__FILE__) . '/upgrade_1-0.sql'); |
|
| 652 | + } |
|
| 617 | 653 | |
| 618 | 654 | // We don't need "-utf8" files anymore... |
| 619 | 655 | $upcontext['language'] = str_ireplace('-utf8', '', $upcontext['language']); |
| 620 | 656 | |
| 621 | 657 | // This needs to exist! |
| 622 | - if (!file_exists($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php')) |
|
| 623 | - return throw_error('The upgrader could not find the "Install" language file for the forum default language, ' . $upcontext['language'] . '.<br><br>Please make certain you uploaded all the files included in the package, even the theme and language files for the default theme.<br> [<a href="' . $upgradeurl . '?lang=english">Try English</a>]'); |
|
| 624 | - else |
|
| 625 | - require_once($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php'); |
|
| 658 | + if (!file_exists($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php')) { |
|
| 659 | + return throw_error('The upgrader could not find the "Install" language file for the forum default language, ' . $upcontext['language'] . '.<br><br>Please make certain you uploaded all the files included in the package, even the theme and language files for the default theme.<br> [<a href="' . $upgradeurl . '?lang=english">Try English</a>]'); |
|
| 660 | + } else { |
|
| 661 | + require_once($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php'); |
|
| 662 | + } |
|
| 626 | 663 | |
| 627 | - if (!$check) |
|
| 628 | - // Don't tell them what files exactly because it's a spot check - just like teachers don't tell which problems they are spot checking, that's dumb. |
|
| 664 | + if (!$check) { |
|
| 665 | + // Don't tell them what files exactly because it's a spot check - just like teachers don't tell which problems they are spot checking, that's dumb. |
|
| 629 | 666 | return throw_error('The upgrader was unable to find some crucial files.<br><br>Please make sure you uploaded all of the files included in the package, including the Themes, Sources, and other directories.'); |
| 667 | + } |
|
| 630 | 668 | |
| 631 | 669 | // Do they meet the install requirements? |
| 632 | - if (!php_version_check()) |
|
| 633 | - return throw_error('Warning! You do not appear to have a version of PHP installed on your webserver that meets SMF\'s minimum installations requirements.<br><br>Please ask your host to upgrade.'); |
|
| 670 | + if (!php_version_check()) { |
|
| 671 | + return throw_error('Warning! You do not appear to have a version of PHP installed on your webserver that meets SMF\'s minimum installations requirements.<br><br>Please ask your host to upgrade.'); |
|
| 672 | + } |
|
| 634 | 673 | |
| 635 | - if (!db_version_check()) |
|
| 636 | - return throw_error('Your ' . $databases[$db_type]['name'] . ' version does not meet the minimum requirements of SMF.<br><br>Please ask your host to upgrade.'); |
|
| 674 | + if (!db_version_check()) { |
|
| 675 | + return throw_error('Your ' . $databases[$db_type]['name'] . ' version does not meet the minimum requirements of SMF.<br><br>Please ask your host to upgrade.'); |
|
| 676 | + } |
|
| 637 | 677 | |
| 638 | 678 | // Do some checks to make sure they have proper privileges |
| 639 | 679 | db_extend('packages'); |
@@ -648,14 +688,16 @@ discard block |
||
| 648 | 688 | $drop = $smcFunc['db_drop_table']('{db_prefix}priv_check'); |
| 649 | 689 | |
| 650 | 690 | // Sorry... we need CREATE, ALTER and DROP |
| 651 | - if (!$create || !$alter || !$drop) |
|
| 652 | - return throw_error('The ' . $databases[$db_type]['name'] . ' user you have set in Settings.php does not have proper privileges.<br><br>Please ask your host to give this user the ALTER, CREATE, and DROP privileges.'); |
|
| 691 | + if (!$create || !$alter || !$drop) { |
|
| 692 | + return throw_error('The ' . $databases[$db_type]['name'] . ' user you have set in Settings.php does not have proper privileges.<br><br>Please ask your host to give this user the ALTER, CREATE, and DROP privileges.'); |
|
| 693 | + } |
|
| 653 | 694 | |
| 654 | 695 | // Do a quick version spot check. |
| 655 | 696 | $temp = substr(@implode('', @file($boarddir . '/index.php')), 0, 4096); |
| 656 | 697 | preg_match('~\*\s@version\s+(.+)[\s]{2}~i', $temp, $match); |
| 657 | - if (empty($match[1]) || (trim($match[1]) != SMF_VERSION)) |
|
| 658 | - return throw_error('The upgrader found some old or outdated files.<br><br>Please make certain you uploaded the new versions of all the files included in the package.'); |
|
| 698 | + if (empty($match[1]) || (trim($match[1]) != SMF_VERSION)) { |
|
| 699 | + return throw_error('The upgrader found some old or outdated files.<br><br>Please make certain you uploaded the new versions of all the files included in the package.'); |
|
| 700 | + } |
|
| 659 | 701 | |
| 660 | 702 | // What absolutely needs to be writable? |
| 661 | 703 | $writable_files = array( |
@@ -677,12 +719,13 @@ discard block |
||
| 677 | 719 | quickFileWritable($custom_av_dir); |
| 678 | 720 | |
| 679 | 721 | // Are we good now? |
| 680 | - if (!is_writable($custom_av_dir)) |
|
| 681 | - return throw_error(sprintf('The directory: %1$s has to be writable to continue the upgrade. Please make sure permissions are correctly set to allow this.', $custom_av_dir)); |
|
| 682 | - elseif ($need_settings_update) |
|
| 722 | + if (!is_writable($custom_av_dir)) { |
|
| 723 | + return throw_error(sprintf('The directory: %1$s has to be writable to continue the upgrade. Please make sure permissions are correctly set to allow this.', $custom_av_dir)); |
|
| 724 | + } elseif ($need_settings_update) |
|
| 683 | 725 | { |
| 684 | - if (!function_exists('cache_put_data')) |
|
| 685 | - require_once($sourcedir . '/Load.php'); |
|
| 726 | + if (!function_exists('cache_put_data')) { |
|
| 727 | + require_once($sourcedir . '/Load.php'); |
|
| 728 | + } |
|
| 686 | 729 | updateSettings(array('custom_avatar_dir' => $custom_av_dir)); |
| 687 | 730 | updateSettings(array('custom_avatar_url' => $custom_av_url)); |
| 688 | 731 | } |
@@ -691,28 +734,33 @@ discard block |
||
| 691 | 734 | |
| 692 | 735 | // Check the cache directory. |
| 693 | 736 | $cachedir_temp = empty($cachedir) ? $boarddir . '/cache' : $cachedir; |
| 694 | - if (!file_exists($cachedir_temp)) |
|
| 695 | - @mkdir($cachedir_temp); |
|
| 696 | - if (!file_exists($cachedir_temp)) |
|
| 697 | - return throw_error('The cache directory could not be found.<br><br>Please make sure you have a directory called "cache" in your forum directory before continuing.'); |
|
| 698 | - |
|
| 699 | - if (!file_exists($modSettings['theme_dir'] . '/languages/index.' . $upcontext['language'] . '.php') && !isset($modSettings['smfVersion']) && !isset($_GET['lang'])) |
|
| 700 | - return throw_error('The upgrader was unable to find language files for the language specified in Settings.php.<br>SMF will not work without the primary language files installed.<br><br>Please either install them, or <a href="' . $upgradeurl . '?step=0;lang=english">use english instead</a>.'); |
|
| 701 | - elseif (!isset($_GET['skiplang'])) |
|
| 737 | + if (!file_exists($cachedir_temp)) { |
|
| 738 | + @mkdir($cachedir_temp); |
|
| 739 | + } |
|
| 740 | + if (!file_exists($cachedir_temp)) { |
|
| 741 | + return throw_error('The cache directory could not be found.<br><br>Please make sure you have a directory called "cache" in your forum directory before continuing.'); |
|
| 742 | + } |
|
| 743 | + |
|
| 744 | + if (!file_exists($modSettings['theme_dir'] . '/languages/index.' . $upcontext['language'] . '.php') && !isset($modSettings['smfVersion']) && !isset($_GET['lang'])) { |
|
| 745 | + return throw_error('The upgrader was unable to find language files for the language specified in Settings.php.<br>SMF will not work without the primary language files installed.<br><br>Please either install them, or <a href="' . $upgradeurl . '?step=0;lang=english">use english instead</a>.'); |
|
| 746 | + } elseif (!isset($_GET['skiplang'])) |
|
| 702 | 747 | { |
| 703 | 748 | $temp = substr(@implode('', @file($modSettings['theme_dir'] . '/languages/index.' . $upcontext['language'] . '.php')), 0, 4096); |
| 704 | 749 | preg_match('~(?://|/\*)\s*Version:\s+(.+?);\s*index(?:[\s]{2}|\*/)~i', $temp, $match); |
| 705 | 750 | |
| 706 | - if (empty($match[1]) || $match[1] != SMF_LANG_VERSION) |
|
| 707 | - return throw_error('The upgrader found some old or outdated language files, for the forum default language, ' . $upcontext['language'] . '.<br><br>Please make certain you uploaded the new versions of all the files included in the package, even the theme and language files for the default theme.<br> [<a href="' . $upgradeurl . '?skiplang">SKIP</a>] [<a href="' . $upgradeurl . '?lang=english">Try English</a>]'); |
|
| 751 | + if (empty($match[1]) || $match[1] != SMF_LANG_VERSION) { |
|
| 752 | + return throw_error('The upgrader found some old or outdated language files, for the forum default language, ' . $upcontext['language'] . '.<br><br>Please make certain you uploaded the new versions of all the files included in the package, even the theme and language files for the default theme.<br> [<a href="' . $upgradeurl . '?skiplang">SKIP</a>] [<a href="' . $upgradeurl . '?lang=english">Try English</a>]'); |
|
| 753 | + } |
|
| 708 | 754 | } |
| 709 | 755 | |
| 710 | - if (!makeFilesWritable($writable_files)) |
|
| 711 | - return false; |
|
| 756 | + if (!makeFilesWritable($writable_files)) { |
|
| 757 | + return false; |
|
| 758 | + } |
|
| 712 | 759 | |
| 713 | 760 | // Check agreement.txt. (it may not exist, in which case $boarddir must be writable.) |
| 714 | - if (isset($modSettings['agreement']) && (!is_writable($boarddir) || file_exists($boarddir . '/agreement.txt')) && !is_writable($boarddir . '/agreement.txt')) |
|
| 715 | - return throw_error('The upgrader was unable to obtain write access to agreement.txt.<br><br>If you are using a linux or unix based server, please ensure that the file is chmod\'d to 777, or if it does not exist that the directory this upgrader is in is 777.<br>If your server is running Windows, please ensure that the internet guest account has the proper permissions on it or its folder.'); |
|
| 761 | + if (isset($modSettings['agreement']) && (!is_writable($boarddir) || file_exists($boarddir . '/agreement.txt')) && !is_writable($boarddir . '/agreement.txt')) { |
|
| 762 | + return throw_error('The upgrader was unable to obtain write access to agreement.txt.<br><br>If you are using a linux or unix based server, please ensure that the file is chmod\'d to 777, or if it does not exist that the directory this upgrader is in is 777.<br>If your server is running Windows, please ensure that the internet guest account has the proper permissions on it or its folder.'); |
|
| 763 | + } |
|
| 716 | 764 | |
| 717 | 765 | // Upgrade the agreement. |
| 718 | 766 | elseif (isset($modSettings['agreement'])) |
@@ -723,8 +771,8 @@ discard block |
||
| 723 | 771 | } |
| 724 | 772 | |
| 725 | 773 | // We're going to check that their board dir setting is right in case they've been moving stuff around. |
| 726 | - if (strtr($boarddir, array('/' => '', '\\' => '')) != strtr(dirname(__FILE__), array('/' => '', '\\' => ''))) |
|
| 727 | - $upcontext['warning'] = ' |
|
| 774 | + if (strtr($boarddir, array('/' => '', '\\' => '')) != strtr(dirname(__FILE__), array('/' => '', '\\' => ''))) { |
|
| 775 | + $upcontext['warning'] = ' |
|
| 728 | 776 | It looks as if your board directory settings <em>might</em> be incorrect. Your board directory is currently set to "' . $boarddir . '" but should probably be "' . dirname(__FILE__) . '". Settings.php currently lists your paths as:<br> |
| 729 | 777 | <ul> |
| 730 | 778 | <li>Board Directory: ' . $boarddir . '</li> |
@@ -732,19 +780,23 @@ discard block |
||
| 732 | 780 | <li>Cache Directory: ' . $cachedir_temp . '</li> |
| 733 | 781 | </ul> |
| 734 | 782 | If these seem incorrect please open Settings.php in a text editor before proceeding with this upgrade. If they are incorrect due to you moving your forum to a new location please download and execute the <a href="https://download.simplemachines.org/?tools">Repair Settings</a> tool from the Simple Machines website before continuing.'; |
| 783 | + } |
|
| 735 | 784 | |
| 736 | 785 | // Confirm mbstring is loaded... |
| 737 | - if (!extension_loaded('mbstring')) |
|
| 738 | - return throw_error($txt['install_no_mbstring']); |
|
| 786 | + if (!extension_loaded('mbstring')) { |
|
| 787 | + return throw_error($txt['install_no_mbstring']); |
|
| 788 | + } |
|
| 739 | 789 | |
| 740 | 790 | // Check for https stream support. |
| 741 | 791 | $supported_streams = stream_get_wrappers(); |
| 742 | - if (!in_array('https', $supported_streams)) |
|
| 743 | - $upcontext['custom_warning'] = $txt['install_no_https']; |
|
| 792 | + if (!in_array('https', $supported_streams)) { |
|
| 793 | + $upcontext['custom_warning'] = $txt['install_no_https']; |
|
| 794 | + } |
|
| 744 | 795 | |
| 745 | 796 | // Either we're logged in or we're going to present the login. |
| 746 | - if (checkLogin()) |
|
| 747 | - return true; |
|
| 797 | + if (checkLogin()) { |
|
| 798 | + return true; |
|
| 799 | + } |
|
| 748 | 800 | |
| 749 | 801 | $upcontext += createToken('login'); |
| 750 | 802 | |
@@ -758,15 +810,17 @@ discard block |
||
| 758 | 810 | global $smcFunc, $db_type, $support_js; |
| 759 | 811 | |
| 760 | 812 | // Don't bother if the security is disabled. |
| 761 | - if ($disable_security) |
|
| 762 | - return true; |
|
| 813 | + if ($disable_security) { |
|
| 814 | + return true; |
|
| 815 | + } |
|
| 763 | 816 | |
| 764 | 817 | // Are we trying to login? |
| 765 | 818 | if (isset($_POST['contbutt']) && (!empty($_POST['user']))) |
| 766 | 819 | { |
| 767 | 820 | // If we've disabled security pick a suitable name! |
| 768 | - if (empty($_POST['user'])) |
|
| 769 | - $_POST['user'] = 'Administrator'; |
|
| 821 | + if (empty($_POST['user'])) { |
|
| 822 | + $_POST['user'] = 'Administrator'; |
|
| 823 | + } |
|
| 770 | 824 | |
| 771 | 825 | // Before 2.0 these column names were different! |
| 772 | 826 | $oldDB = false; |
@@ -781,16 +835,17 @@ discard block |
||
| 781 | 835 | 'db_error_skip' => true, |
| 782 | 836 | ) |
| 783 | 837 | ); |
| 784 | - if ($smcFunc['db_num_rows']($request) != 0) |
|
| 785 | - $oldDB = true; |
|
| 838 | + if ($smcFunc['db_num_rows']($request) != 0) { |
|
| 839 | + $oldDB = true; |
|
| 840 | + } |
|
| 786 | 841 | $smcFunc['db_free_result']($request); |
| 787 | 842 | } |
| 788 | 843 | |
| 789 | 844 | // Get what we believe to be their details. |
| 790 | 845 | if (!$disable_security) |
| 791 | 846 | { |
| 792 | - if ($oldDB) |
|
| 793 | - $request = $smcFunc['db_query']('', ' |
|
| 847 | + if ($oldDB) { |
|
| 848 | + $request = $smcFunc['db_query']('', ' |
|
| 794 | 849 | SELECT id_member, memberName AS member_name, passwd, id_group, |
| 795 | 850 | additionalGroups AS additional_groups, lngfile |
| 796 | 851 | FROM {db_prefix}members |
@@ -800,8 +855,8 @@ discard block |
||
| 800 | 855 | 'db_error_skip' => true, |
| 801 | 856 | ) |
| 802 | 857 | ); |
| 803 | - else |
|
| 804 | - $request = $smcFunc['db_query']('', ' |
|
| 858 | + } else { |
|
| 859 | + $request = $smcFunc['db_query']('', ' |
|
| 805 | 860 | SELECT id_member, member_name, passwd, id_group, additional_groups, lngfile |
| 806 | 861 | FROM {db_prefix}members |
| 807 | 862 | WHERE member_name = {string:member_name}', |
@@ -810,6 +865,7 @@ discard block |
||
| 810 | 865 | 'db_error_skip' => true, |
| 811 | 866 | ) |
| 812 | 867 | ); |
| 868 | + } |
|
| 813 | 869 | if ($smcFunc['db_num_rows']($request) != 0) |
| 814 | 870 | { |
| 815 | 871 | list ($id_member, $name, $password, $id_group, $addGroups, $user_language) = $smcFunc['db_fetch_row']($request); |
@@ -817,16 +873,17 @@ discard block |
||
| 817 | 873 | $groups = explode(',', $addGroups); |
| 818 | 874 | $groups[] = $id_group; |
| 819 | 875 | |
| 820 | - foreach ($groups as $k => $v) |
|
| 821 | - $groups[$k] = (int) $v; |
|
| 876 | + foreach ($groups as $k => $v) { |
|
| 877 | + $groups[$k] = (int) $v; |
|
| 878 | + } |
|
| 822 | 879 | |
| 823 | 880 | $sha_passwd = sha1(strtolower($name) . un_htmlspecialchars($_REQUEST['passwrd'])); |
| 824 | 881 | |
| 825 | 882 | // We don't use "-utf8" anymore... |
| 826 | 883 | $user_language = str_ireplace('-utf8', '', $user_language); |
| 884 | + } else { |
|
| 885 | + $upcontext['username_incorrect'] = true; |
|
| 827 | 886 | } |
| 828 | - else |
|
| 829 | - $upcontext['username_incorrect'] = true; |
|
| 830 | 887 | $smcFunc['db_free_result']($request); |
| 831 | 888 | } |
| 832 | 889 | $upcontext['username'] = $_POST['user']; |
@@ -836,13 +893,14 @@ discard block |
||
| 836 | 893 | { |
| 837 | 894 | $upcontext['upgrade_status']['js'] = 1; |
| 838 | 895 | $support_js = 1; |
| 896 | + } else { |
|
| 897 | + $support_js = 0; |
|
| 839 | 898 | } |
| 840 | - else |
|
| 841 | - $support_js = 0; |
|
| 842 | 899 | |
| 843 | 900 | // Note down the version we are coming from. |
| 844 | - if (!empty($modSettings['smfVersion']) && empty($upcontext['user']['version'])) |
|
| 845 | - $upcontext['user']['version'] = $modSettings['smfVersion']; |
|
| 901 | + if (!empty($modSettings['smfVersion']) && empty($upcontext['user']['version'])) { |
|
| 902 | + $upcontext['user']['version'] = $modSettings['smfVersion']; |
|
| 903 | + } |
|
| 846 | 904 | |
| 847 | 905 | // Didn't get anywhere? |
| 848 | 906 | if (!$disable_security && (empty($sha_passwd) || (!empty($password) ? $password : '') != $sha_passwd) && !hash_verify_password((!empty($name) ? $name : ''), $_REQUEST['passwrd'], (!empty($password) ? $password : '')) && empty($upcontext['username_incorrect'])) |
@@ -876,15 +934,15 @@ discard block |
||
| 876 | 934 | 'db_error_skip' => true, |
| 877 | 935 | ) |
| 878 | 936 | ); |
| 879 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 880 | - return throw_error('You need to be an admin to perform an upgrade!'); |
|
| 937 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 938 | + return throw_error('You need to be an admin to perform an upgrade!'); |
|
| 939 | + } |
|
| 881 | 940 | $smcFunc['db_free_result']($request); |
| 882 | 941 | } |
| 883 | 942 | |
| 884 | 943 | $upcontext['user']['id'] = $id_member; |
| 885 | 944 | $upcontext['user']['name'] = $name; |
| 886 | - } |
|
| 887 | - else |
|
| 945 | + } else |
|
| 888 | 946 | { |
| 889 | 947 | $upcontext['user']['id'] = 1; |
| 890 | 948 | $upcontext['user']['name'] = 'Administrator'; |
@@ -900,11 +958,11 @@ discard block |
||
| 900 | 958 | $temp = substr(@implode('', @file($modSettings['theme_dir'] . '/languages/index.' . $user_language . '.php')), 0, 4096); |
| 901 | 959 | preg_match('~(?://|/\*)\s*Version:\s+(.+?);\s*index(?:[\s]{2}|\*/)~i', $temp, $match); |
| 902 | 960 | |
| 903 | - if (empty($match[1]) || $match[1] != SMF_LANG_VERSION) |
|
| 904 | - $upcontext['upgrade_options_warning'] = 'The language files for your selected language, ' . $user_language . ', have not been updated to the latest version. Upgrade will continue with the forum default, ' . $upcontext['language'] . '.'; |
|
| 905 | - elseif (!file_exists($modSettings['theme_dir'] . '/languages/Install.' . basename($user_language, '.lng') . '.php')) |
|
| 906 | - $upcontext['upgrade_options_warning'] = 'The language files for your selected language, ' . $user_language . ', have not been uploaded/updated as the "Install" language file is missing. Upgrade will continue with the forum default, ' . $upcontext['language'] . '.'; |
|
| 907 | - else |
|
| 961 | + if (empty($match[1]) || $match[1] != SMF_LANG_VERSION) { |
|
| 962 | + $upcontext['upgrade_options_warning'] = 'The language files for your selected language, ' . $user_language . ', have not been updated to the latest version. Upgrade will continue with the forum default, ' . $upcontext['language'] . '.'; |
|
| 963 | + } elseif (!file_exists($modSettings['theme_dir'] . '/languages/Install.' . basename($user_language, '.lng') . '.php')) { |
|
| 964 | + $upcontext['upgrade_options_warning'] = 'The language files for your selected language, ' . $user_language . ', have not been uploaded/updated as the "Install" language file is missing. Upgrade will continue with the forum default, ' . $upcontext['language'] . '.'; |
|
| 965 | + } else |
|
| 908 | 966 | { |
| 909 | 967 | // Set this as the new language. |
| 910 | 968 | $upcontext['language'] = $user_language; |
@@ -948,8 +1006,9 @@ discard block |
||
| 948 | 1006 | unset($member_columns); |
| 949 | 1007 | |
| 950 | 1008 | // If we've not submitted then we're done. |
| 951 | - if (empty($_POST['upcont'])) |
|
| 952 | - return false; |
|
| 1009 | + if (empty($_POST['upcont'])) { |
|
| 1010 | + return false; |
|
| 1011 | + } |
|
| 953 | 1012 | |
| 954 | 1013 | // Firstly, if they're enabling SM stat collection just do it. |
| 955 | 1014 | if (!empty($_POST['stats']) && substr($boardurl, 0, 16) != 'http://localhost' && empty($modSettings['allow_sm_stats']) && empty($modSettings['enable_sm_stats'])) |
@@ -969,16 +1028,17 @@ discard block |
||
| 969 | 1028 | fwrite($fp, $out); |
| 970 | 1029 | |
| 971 | 1030 | $return_data = ''; |
| 972 | - while (!feof($fp)) |
|
| 973 | - $return_data .= fgets($fp, 128); |
|
| 1031 | + while (!feof($fp)) { |
|
| 1032 | + $return_data .= fgets($fp, 128); |
|
| 1033 | + } |
|
| 974 | 1034 | |
| 975 | 1035 | fclose($fp); |
| 976 | 1036 | |
| 977 | 1037 | // Get the unique site ID. |
| 978 | 1038 | preg_match('~SITE-ID:\s(\w{10})~', $return_data, $ID); |
| 979 | 1039 | |
| 980 | - if (!empty($ID[1])) |
|
| 981 | - $smcFunc['db_insert']('replace', |
|
| 1040 | + if (!empty($ID[1])) { |
|
| 1041 | + $smcFunc['db_insert']('replace', |
|
| 982 | 1042 | $db_prefix . 'settings', |
| 983 | 1043 | array('variable' => 'string', 'value' => 'string'), |
| 984 | 1044 | array( |
@@ -987,9 +1047,9 @@ discard block |
||
| 987 | 1047 | ), |
| 988 | 1048 | array('variable') |
| 989 | 1049 | ); |
| 1050 | + } |
|
| 990 | 1051 | } |
| 991 | - } |
|
| 992 | - else |
|
| 1052 | + } else |
|
| 993 | 1053 | { |
| 994 | 1054 | $smcFunc['db_insert']('replace', |
| 995 | 1055 | $db_prefix . 'settings', |
@@ -1000,8 +1060,8 @@ discard block |
||
| 1000 | 1060 | } |
| 1001 | 1061 | } |
| 1002 | 1062 | // Don't remove stat collection unless we unchecked the box for real, not from the loop. |
| 1003 | - elseif (empty($_POST['stats']) && empty($upcontext['allow_sm_stats'])) |
|
| 1004 | - $smcFunc['db_query']('', ' |
|
| 1063 | + elseif (empty($_POST['stats']) && empty($upcontext['allow_sm_stats'])) { |
|
| 1064 | + $smcFunc['db_query']('', ' |
|
| 1005 | 1065 | DELETE FROM {db_prefix}settings |
| 1006 | 1066 | WHERE variable = {string:enable_sm_stats}', |
| 1007 | 1067 | array( |
@@ -1009,6 +1069,7 @@ discard block |
||
| 1009 | 1069 | 'db_error_skip' => true, |
| 1010 | 1070 | ) |
| 1011 | 1071 | ); |
| 1072 | + } |
|
| 1012 | 1073 | |
| 1013 | 1074 | // Deleting old karma stuff? |
| 1014 | 1075 | if (!empty($_POST['delete_karma'])) |
@@ -1023,20 +1084,22 @@ discard block |
||
| 1023 | 1084 | ); |
| 1024 | 1085 | |
| 1025 | 1086 | // Cleaning up old karma member settings. |
| 1026 | - if ($upcontext['karma_installed']['good']) |
|
| 1027 | - $smcFunc['db_query']('', ' |
|
| 1087 | + if ($upcontext['karma_installed']['good']) { |
|
| 1088 | + $smcFunc['db_query']('', ' |
|
| 1028 | 1089 | ALTER TABLE {db_prefix}members |
| 1029 | 1090 | DROP karma_good', |
| 1030 | 1091 | array() |
| 1031 | 1092 | ); |
| 1093 | + } |
|
| 1032 | 1094 | |
| 1033 | 1095 | // Does karma bad was enable? |
| 1034 | - if ($upcontext['karma_installed']['bad']) |
|
| 1035 | - $smcFunc['db_query']('', ' |
|
| 1096 | + if ($upcontext['karma_installed']['bad']) { |
|
| 1097 | + $smcFunc['db_query']('', ' |
|
| 1036 | 1098 | ALTER TABLE {db_prefix}members |
| 1037 | 1099 | DROP karma_bad', |
| 1038 | 1100 | array() |
| 1039 | 1101 | ); |
| 1102 | + } |
|
| 1040 | 1103 | |
| 1041 | 1104 | // Cleaning up old karma permissions. |
| 1042 | 1105 | $smcFunc['db_query']('', ' |
@@ -1049,32 +1112,37 @@ discard block |
||
| 1049 | 1112 | } |
| 1050 | 1113 | |
| 1051 | 1114 | // Emptying the error log? |
| 1052 | - if (!empty($_POST['empty_error'])) |
|
| 1053 | - $smcFunc['db_query']('truncate_table', ' |
|
| 1115 | + if (!empty($_POST['empty_error'])) { |
|
| 1116 | + $smcFunc['db_query']('truncate_table', ' |
|
| 1054 | 1117 | TRUNCATE {db_prefix}log_errors', |
| 1055 | 1118 | array( |
| 1056 | 1119 | ) |
| 1057 | 1120 | ); |
| 1121 | + } |
|
| 1058 | 1122 | |
| 1059 | 1123 | $changes = array(); |
| 1060 | 1124 | |
| 1061 | 1125 | // Add proxy settings. |
| 1062 | - if (!isset($GLOBALS['image_proxy_maxsize'])) |
|
| 1063 | - $changes += array( |
|
| 1126 | + if (!isset($GLOBALS['image_proxy_maxsize'])) { |
|
| 1127 | + $changes += array( |
|
| 1064 | 1128 | 'image_proxy_secret' => '\'' . substr(sha1(mt_rand()), 0, 20) . '\'', |
| 1065 | 1129 | 'image_proxy_maxsize' => 5190, |
| 1066 | 1130 | 'image_proxy_enabled' => 0, |
| 1067 | 1131 | ); |
| 1132 | + } |
|
| 1068 | 1133 | |
| 1069 | 1134 | // If $boardurl reflects https, set force_ssl |
| 1070 | - if (!function_exists('cache_put_data')) |
|
| 1071 | - require_once($sourcedir . '/Load.php'); |
|
| 1072 | - if (stripos($boardurl, 'https://') !== false) |
|
| 1073 | - updateSettings(array('force_ssl' => '2')); |
|
| 1135 | + if (!function_exists('cache_put_data')) { |
|
| 1136 | + require_once($sourcedir . '/Load.php'); |
|
| 1137 | + } |
|
| 1138 | + if (stripos($boardurl, 'https://') !== false) { |
|
| 1139 | + updateSettings(array('force_ssl' => '2')); |
|
| 1140 | + } |
|
| 1074 | 1141 | |
| 1075 | 1142 | // If we're overriding the language follow it through. |
| 1076 | - if (isset($_GET['lang']) && file_exists($modSettings['theme_dir'] . '/languages/index.' . $_GET['lang'] . '.php')) |
|
| 1077 | - $changes['language'] = '\'' . $_GET['lang'] . '\''; |
|
| 1143 | + if (isset($_GET['lang']) && file_exists($modSettings['theme_dir'] . '/languages/index.' . $_GET['lang'] . '.php')) { |
|
| 1144 | + $changes['language'] = '\'' . $_GET['lang'] . '\''; |
|
| 1145 | + } |
|
| 1078 | 1146 | |
| 1079 | 1147 | if (!empty($_POST['maint'])) |
| 1080 | 1148 | { |
@@ -1086,26 +1154,29 @@ discard block |
||
| 1086 | 1154 | { |
| 1087 | 1155 | $changes['mtitle'] = '\'' . addslashes($_POST['maintitle']) . '\''; |
| 1088 | 1156 | $changes['mmessage'] = '\'' . addslashes($_POST['mainmessage']) . '\''; |
| 1089 | - } |
|
| 1090 | - else |
|
| 1157 | + } else |
|
| 1091 | 1158 | { |
| 1092 | 1159 | $changes['mtitle'] = '\'Upgrading the forum...\''; |
| 1093 | 1160 | $changes['mmessage'] = '\'Don\\\'t worry, we will be back shortly with an updated forum. It will only be a minute ;).\''; |
| 1094 | 1161 | } |
| 1095 | 1162 | } |
| 1096 | 1163 | |
| 1097 | - if ($command_line) |
|
| 1098 | - echo ' * Updating Settings.php...'; |
|
| 1164 | + if ($command_line) { |
|
| 1165 | + echo ' * Updating Settings.php...'; |
|
| 1166 | + } |
|
| 1099 | 1167 | |
| 1100 | 1168 | // Fix some old paths. |
| 1101 | - if (substr($boarddir, 0, 1) == '.') |
|
| 1102 | - $changes['boarddir'] = '\'' . fixRelativePath($boarddir) . '\''; |
|
| 1169 | + if (substr($boarddir, 0, 1) == '.') { |
|
| 1170 | + $changes['boarddir'] = '\'' . fixRelativePath($boarddir) . '\''; |
|
| 1171 | + } |
|
| 1103 | 1172 | |
| 1104 | - if (substr($sourcedir, 0, 1) == '.') |
|
| 1105 | - $changes['sourcedir'] = '\'' . fixRelativePath($sourcedir) . '\''; |
|
| 1173 | + if (substr($sourcedir, 0, 1) == '.') { |
|
| 1174 | + $changes['sourcedir'] = '\'' . fixRelativePath($sourcedir) . '\''; |
|
| 1175 | + } |
|
| 1106 | 1176 | |
| 1107 | - if (empty($cachedir) || substr($cachedir, 0, 1) == '.') |
|
| 1108 | - $changes['cachedir'] = '\'' . fixRelativePath($boarddir) . '/cache\''; |
|
| 1177 | + if (empty($cachedir) || substr($cachedir, 0, 1) == '.') { |
|
| 1178 | + $changes['cachedir'] = '\'' . fixRelativePath($boarddir) . '/cache\''; |
|
| 1179 | + } |
|
| 1109 | 1180 | |
| 1110 | 1181 | // If they have a "host:port" setup for the host, split that into separate values |
| 1111 | 1182 | // You should never have a : in the hostname if you're not on MySQL, but better safe than sorry |
@@ -1116,32 +1187,36 @@ discard block |
||
| 1116 | 1187 | $changes['db_server'] = '\'' . $db_server . '\''; |
| 1117 | 1188 | |
| 1118 | 1189 | // Only set this if we're not using the default port |
| 1119 | - if ($db_port != ini_get('mysqli.default_port')) |
|
| 1120 | - $changes['db_port'] = (int) $db_port; |
|
| 1121 | - } |
|
| 1122 | - elseif (!empty($db_port)) |
|
| 1190 | + if ($db_port != ini_get('mysqli.default_port')) { |
|
| 1191 | + $changes['db_port'] = (int) $db_port; |
|
| 1192 | + } |
|
| 1193 | + } elseif (!empty($db_port)) |
|
| 1123 | 1194 | { |
| 1124 | 1195 | // If db_port is set and is the same as the default, set it to '' |
| 1125 | 1196 | if ($db_type == 'mysql') |
| 1126 | 1197 | { |
| 1127 | - if ($db_port == ini_get('mysqli.default_port')) |
|
| 1128 | - $changes['db_port'] = '\'\''; |
|
| 1129 | - elseif ($db_type == 'postgresql' && $db_port == 5432) |
|
| 1130 | - $changes['db_port'] = '\'\''; |
|
| 1198 | + if ($db_port == ini_get('mysqli.default_port')) { |
|
| 1199 | + $changes['db_port'] = '\'\''; |
|
| 1200 | + } elseif ($db_type == 'postgresql' && $db_port == 5432) { |
|
| 1201 | + $changes['db_port'] = '\'\''; |
|
| 1202 | + } |
|
| 1131 | 1203 | } |
| 1132 | 1204 | } |
| 1133 | 1205 | |
| 1134 | 1206 | // Maybe we haven't had this option yet? |
| 1135 | - if (empty($packagesdir)) |
|
| 1136 | - $changes['packagesdir'] = '\'' . fixRelativePath($boarddir) . '/Packages\''; |
|
| 1207 | + if (empty($packagesdir)) { |
|
| 1208 | + $changes['packagesdir'] = '\'' . fixRelativePath($boarddir) . '/Packages\''; |
|
| 1209 | + } |
|
| 1137 | 1210 | |
| 1138 | 1211 | // Add support for $tasksdir var. |
| 1139 | - if (empty($tasksdir)) |
|
| 1140 | - $changes['tasksdir'] = '\'' . fixRelativePath($sourcedir) . '/tasks\''; |
|
| 1212 | + if (empty($tasksdir)) { |
|
| 1213 | + $changes['tasksdir'] = '\'' . fixRelativePath($sourcedir) . '/tasks\''; |
|
| 1214 | + } |
|
| 1141 | 1215 | |
| 1142 | 1216 | // Make sure we fix the language as well. |
| 1143 | - if (stristr($language, '-utf8')) |
|
| 1144 | - $changes['language'] = '\'' . str_ireplace('-utf8', '', $language) . '\''; |
|
| 1217 | + if (stristr($language, '-utf8')) { |
|
| 1218 | + $changes['language'] = '\'' . str_ireplace('-utf8', '', $language) . '\''; |
|
| 1219 | + } |
|
| 1145 | 1220 | |
| 1146 | 1221 | // @todo Maybe change the cookie name if going to 1.1, too? |
| 1147 | 1222 | |
@@ -1149,8 +1224,9 @@ discard block |
||
| 1149 | 1224 | require_once($sourcedir . '/Subs-Admin.php'); |
| 1150 | 1225 | updateSettingsFile($changes); |
| 1151 | 1226 | |
| 1152 | - if ($command_line) |
|
| 1153 | - echo ' Successful.' . "\n"; |
|
| 1227 | + if ($command_line) { |
|
| 1228 | + echo ' Successful.' . "\n"; |
|
| 1229 | + } |
|
| 1154 | 1230 | |
| 1155 | 1231 | // Are we doing debug? |
| 1156 | 1232 | if (isset($_POST['debug'])) |
@@ -1160,8 +1236,9 @@ discard block |
||
| 1160 | 1236 | } |
| 1161 | 1237 | |
| 1162 | 1238 | // If we're not backing up then jump one. |
| 1163 | - if (empty($_POST['backup'])) |
|
| 1164 | - $upcontext['current_step']++; |
|
| 1239 | + if (empty($_POST['backup'])) { |
|
| 1240 | + $upcontext['current_step']++; |
|
| 1241 | + } |
|
| 1165 | 1242 | |
| 1166 | 1243 | // If we've got here then let's proceed to the next step! |
| 1167 | 1244 | return true; |
@@ -1176,8 +1253,9 @@ discard block |
||
| 1176 | 1253 | $upcontext['page_title'] = 'Backup Database'; |
| 1177 | 1254 | |
| 1178 | 1255 | // Done it already - js wise? |
| 1179 | - if (!empty($_POST['backup_done'])) |
|
| 1180 | - return true; |
|
| 1256 | + if (!empty($_POST['backup_done'])) { |
|
| 1257 | + return true; |
|
| 1258 | + } |
|
| 1181 | 1259 | |
| 1182 | 1260 | // Some useful stuff here. |
| 1183 | 1261 | db_extend(); |
@@ -1191,9 +1269,10 @@ discard block |
||
| 1191 | 1269 | $tables = $smcFunc['db_list_tables']($db, $filter); |
| 1192 | 1270 | |
| 1193 | 1271 | $table_names = array(); |
| 1194 | - foreach ($tables as $table) |
|
| 1195 | - if (substr($table, 0, 7) !== 'backup_') |
|
| 1272 | + foreach ($tables as $table) { |
|
| 1273 | + if (substr($table, 0, 7) !== 'backup_') |
|
| 1196 | 1274 | $table_names[] = $table; |
| 1275 | + } |
|
| 1197 | 1276 | |
| 1198 | 1277 | $upcontext['table_count'] = count($table_names); |
| 1199 | 1278 | $upcontext['cur_table_num'] = $_GET['substep']; |
@@ -1203,12 +1282,14 @@ discard block |
||
| 1203 | 1282 | $file_steps = $upcontext['table_count']; |
| 1204 | 1283 | |
| 1205 | 1284 | // What ones have we already done? |
| 1206 | - foreach ($table_names as $id => $table) |
|
| 1207 | - if ($id < $_GET['substep']) |
|
| 1285 | + foreach ($table_names as $id => $table) { |
|
| 1286 | + if ($id < $_GET['substep']) |
|
| 1208 | 1287 | $upcontext['previous_tables'][] = $table; |
| 1288 | + } |
|
| 1209 | 1289 | |
| 1210 | - if ($command_line) |
|
| 1211 | - echo 'Backing Up Tables.'; |
|
| 1290 | + if ($command_line) { |
|
| 1291 | + echo 'Backing Up Tables.'; |
|
| 1292 | + } |
|
| 1212 | 1293 | |
| 1213 | 1294 | // If we don't support javascript we backup here. |
| 1214 | 1295 | if (!$support_js || isset($_GET['xml'])) |
@@ -1227,8 +1308,9 @@ discard block |
||
| 1227 | 1308 | backupTable($table_names[$substep]); |
| 1228 | 1309 | |
| 1229 | 1310 | // If this is XML to keep it nice for the user do one table at a time anyway! |
| 1230 | - if (isset($_GET['xml'])) |
|
| 1231 | - return upgradeExit(); |
|
| 1311 | + if (isset($_GET['xml'])) { |
|
| 1312 | + return upgradeExit(); |
|
| 1313 | + } |
|
| 1232 | 1314 | } |
| 1233 | 1315 | |
| 1234 | 1316 | if ($command_line) |
@@ -1261,9 +1343,10 @@ discard block |
||
| 1261 | 1343 | |
| 1262 | 1344 | $smcFunc['db_backup_table']($table, 'backup_' . $table); |
| 1263 | 1345 | |
| 1264 | - if ($command_line) |
|
| 1265 | - echo ' done.'; |
|
| 1266 | -} |
|
| 1346 | + if ($command_line) { |
|
| 1347 | + echo ' done.'; |
|
| 1348 | + } |
|
| 1349 | + } |
|
| 1267 | 1350 | |
| 1268 | 1351 | // Step 2: Everything. |
| 1269 | 1352 | function DatabaseChanges() |
@@ -1272,8 +1355,9 @@ discard block |
||
| 1272 | 1355 | global $upcontext, $support_js, $db_type; |
| 1273 | 1356 | |
| 1274 | 1357 | // Have we just completed this? |
| 1275 | - if (!empty($_POST['database_done'])) |
|
| 1276 | - return true; |
|
| 1358 | + if (!empty($_POST['database_done'])) { |
|
| 1359 | + return true; |
|
| 1360 | + } |
|
| 1277 | 1361 | |
| 1278 | 1362 | $upcontext['sub_template'] = isset($_GET['xml']) ? 'database_xml' : 'database_changes'; |
| 1279 | 1363 | $upcontext['page_title'] = 'Database Changes'; |
@@ -1288,15 +1372,16 @@ discard block |
||
| 1288 | 1372 | ); |
| 1289 | 1373 | |
| 1290 | 1374 | // How many files are there in total? |
| 1291 | - if (isset($_GET['filecount'])) |
|
| 1292 | - $upcontext['file_count'] = (int) $_GET['filecount']; |
|
| 1293 | - else |
|
| 1375 | + if (isset($_GET['filecount'])) { |
|
| 1376 | + $upcontext['file_count'] = (int) $_GET['filecount']; |
|
| 1377 | + } else |
|
| 1294 | 1378 | { |
| 1295 | 1379 | $upcontext['file_count'] = 0; |
| 1296 | 1380 | foreach ($files as $file) |
| 1297 | 1381 | { |
| 1298 | - if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < $file[1]) |
|
| 1299 | - $upcontext['file_count']++; |
|
| 1382 | + if (!isset($modSettings['smfVersion']) || $modSettings['smfVersion'] < $file[1]) { |
|
| 1383 | + $upcontext['file_count']++; |
|
| 1384 | + } |
|
| 1300 | 1385 | } |
| 1301 | 1386 | } |
| 1302 | 1387 | |
@@ -1306,9 +1391,9 @@ discard block |
||
| 1306 | 1391 | $upcontext['cur_file_num'] = 0; |
| 1307 | 1392 | foreach ($files as $file) |
| 1308 | 1393 | { |
| 1309 | - if ($did_not_do) |
|
| 1310 | - $did_not_do--; |
|
| 1311 | - else |
|
| 1394 | + if ($did_not_do) { |
|
| 1395 | + $did_not_do--; |
|
| 1396 | + } else |
|
| 1312 | 1397 | { |
| 1313 | 1398 | $upcontext['cur_file_num']++; |
| 1314 | 1399 | $upcontext['cur_file_name'] = $file[0]; |
@@ -1335,12 +1420,13 @@ discard block |
||
| 1335 | 1420 | // Flag to move on to the next. |
| 1336 | 1421 | $upcontext['completed_step'] = true; |
| 1337 | 1422 | // Did we complete the whole file? |
| 1338 | - if ($nextFile) |
|
| 1339 | - $upcontext['current_debug_item_num'] = -1; |
|
| 1423 | + if ($nextFile) { |
|
| 1424 | + $upcontext['current_debug_item_num'] = -1; |
|
| 1425 | + } |
|
| 1340 | 1426 | return upgradeExit(); |
| 1427 | + } elseif ($support_js) { |
|
| 1428 | + break; |
|
| 1341 | 1429 | } |
| 1342 | - elseif ($support_js) |
|
| 1343 | - break; |
|
| 1344 | 1430 | } |
| 1345 | 1431 | // Set the progress bar to be right as if we had - even if we hadn't... |
| 1346 | 1432 | $upcontext['step_progress'] = ($upcontext['cur_file_num'] / $upcontext['file_count']) * 100; |
@@ -1365,8 +1451,9 @@ discard block |
||
| 1365 | 1451 | global $command_line, $language, $upcontext, $sourcedir, $forum_version, $user_info, $maintenance, $smcFunc, $db_type; |
| 1366 | 1452 | |
| 1367 | 1453 | // Now it's nice to have some of the basic SMF source files. |
| 1368 | - if (!isset($_GET['ssi']) && !$command_line) |
|
| 1369 | - redirectLocation('&ssi=1'); |
|
| 1454 | + if (!isset($_GET['ssi']) && !$command_line) { |
|
| 1455 | + redirectLocation('&ssi=1'); |
|
| 1456 | + } |
|
| 1370 | 1457 | |
| 1371 | 1458 | $upcontext['sub_template'] = 'upgrade_complete'; |
| 1372 | 1459 | $upcontext['page_title'] = 'Upgrade Complete'; |
@@ -1382,14 +1469,16 @@ discard block |
||
| 1382 | 1469 | // Are we in maintenance mode? |
| 1383 | 1470 | if (isset($upcontext['user']['main'])) |
| 1384 | 1471 | { |
| 1385 | - if ($command_line) |
|
| 1386 | - echo ' * '; |
|
| 1472 | + if ($command_line) { |
|
| 1473 | + echo ' * '; |
|
| 1474 | + } |
|
| 1387 | 1475 | $upcontext['removed_maintenance'] = true; |
| 1388 | 1476 | $changes['maintenance'] = $upcontext['user']['main']; |
| 1389 | 1477 | } |
| 1390 | 1478 | // Otherwise if somehow we are in 2 let's go to 1. |
| 1391 | - elseif (!empty($maintenance) && $maintenance == 2) |
|
| 1392 | - $changes['maintenance'] = 1; |
|
| 1479 | + elseif (!empty($maintenance) && $maintenance == 2) { |
|
| 1480 | + $changes['maintenance'] = 1; |
|
| 1481 | + } |
|
| 1393 | 1482 | |
| 1394 | 1483 | // Wipe this out... |
| 1395 | 1484 | $upcontext['user'] = array(); |
@@ -1404,9 +1493,9 @@ discard block |
||
| 1404 | 1493 | $upcontext['can_delete_script'] = is_writable(dirname(__FILE__)) || is_writable(__FILE__); |
| 1405 | 1494 | |
| 1406 | 1495 | // Now is the perfect time to fetch the SM files. |
| 1407 | - if ($command_line) |
|
| 1408 | - cli_scheduled_fetchSMfiles(); |
|
| 1409 | - else |
|
| 1496 | + if ($command_line) { |
|
| 1497 | + cli_scheduled_fetchSMfiles(); |
|
| 1498 | + } else |
|
| 1410 | 1499 | { |
| 1411 | 1500 | require_once($sourcedir . '/ScheduledTasks.php'); |
| 1412 | 1501 | $forum_version = SMF_VERSION; // The variable is usually defined in index.php so lets just use the constant to do it for us. |
@@ -1414,8 +1503,9 @@ discard block |
||
| 1414 | 1503 | } |
| 1415 | 1504 | |
| 1416 | 1505 | // Log what we've done. |
| 1417 | - if (empty($user_info['id'])) |
|
| 1418 | - $user_info['id'] = !empty($upcontext['user']['id']) ? $upcontext['user']['id'] : 0; |
|
| 1506 | + if (empty($user_info['id'])) { |
|
| 1507 | + $user_info['id'] = !empty($upcontext['user']['id']) ? $upcontext['user']['id'] : 0; |
|
| 1508 | + } |
|
| 1419 | 1509 | |
| 1420 | 1510 | // Log the action manually, so CLI still works. |
| 1421 | 1511 | $smcFunc['db_insert']('', |
@@ -1434,8 +1524,9 @@ discard block |
||
| 1434 | 1524 | |
| 1435 | 1525 | // Save the current database version. |
| 1436 | 1526 | $server_version = $smcFunc['db_server_info'](); |
| 1437 | - if ($db_type == 'mysql' && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51'))) |
|
| 1438 | - updateSettings(array('db_mysql_group_by_fix' => '1')); |
|
| 1527 | + if ($db_type == 'mysql' && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51'))) { |
|
| 1528 | + updateSettings(array('db_mysql_group_by_fix' => '1')); |
|
| 1529 | + } |
|
| 1439 | 1530 | |
| 1440 | 1531 | if ($command_line) |
| 1441 | 1532 | { |
@@ -1447,8 +1538,9 @@ discard block |
||
| 1447 | 1538 | |
| 1448 | 1539 | // Make sure it says we're done. |
| 1449 | 1540 | $upcontext['overall_percent'] = 100; |
| 1450 | - if (isset($upcontext['step_progress'])) |
|
| 1451 | - unset($upcontext['step_progress']); |
|
| 1541 | + if (isset($upcontext['step_progress'])) { |
|
| 1542 | + unset($upcontext['step_progress']); |
|
| 1543 | + } |
|
| 1452 | 1544 | |
| 1453 | 1545 | $_GET['substep'] = 0; |
| 1454 | 1546 | return false; |
@@ -1459,8 +1551,9 @@ discard block |
||
| 1459 | 1551 | { |
| 1460 | 1552 | global $sourcedir, $language, $forum_version, $modSettings, $smcFunc; |
| 1461 | 1553 | |
| 1462 | - if (empty($modSettings['time_format'])) |
|
| 1463 | - $modSettings['time_format'] = '%B %d, %Y, %I:%M:%S %p'; |
|
| 1554 | + if (empty($modSettings['time_format'])) { |
|
| 1555 | + $modSettings['time_format'] = '%B %d, %Y, %I:%M:%S %p'; |
|
| 1556 | + } |
|
| 1464 | 1557 | |
| 1465 | 1558 | // What files do we want to get |
| 1466 | 1559 | $request = $smcFunc['db_query']('', ' |
@@ -1494,8 +1587,9 @@ discard block |
||
| 1494 | 1587 | $file_data = fetch_web_data($url); |
| 1495 | 1588 | |
| 1496 | 1589 | // If we got an error - give up - the site might be down. |
| 1497 | - if ($file_data === false) |
|
| 1498 | - return throw_error(sprintf('Could not retrieve the file %1$s.', $url)); |
|
| 1590 | + if ($file_data === false) { |
|
| 1591 | + return throw_error(sprintf('Could not retrieve the file %1$s.', $url)); |
|
| 1592 | + } |
|
| 1499 | 1593 | |
| 1500 | 1594 | // Save the file to the database. |
| 1501 | 1595 | $smcFunc['db_query']('substring', ' |
@@ -1537,8 +1631,9 @@ discard block |
||
| 1537 | 1631 | $themeData = array(); |
| 1538 | 1632 | foreach ($values as $variable => $value) |
| 1539 | 1633 | { |
| 1540 | - if (!isset($value) || $value === null) |
|
| 1541 | - $value = 0; |
|
| 1634 | + if (!isset($value) || $value === null) { |
|
| 1635 | + $value = 0; |
|
| 1636 | + } |
|
| 1542 | 1637 | |
| 1543 | 1638 | $themeData[] = array(0, 1, $variable, $value); |
| 1544 | 1639 | } |
@@ -1567,8 +1662,9 @@ discard block |
||
| 1567 | 1662 | |
| 1568 | 1663 | foreach ($values as $variable => $value) |
| 1569 | 1664 | { |
| 1570 | - if (empty($modSettings[$value[0]])) |
|
| 1571 | - continue; |
|
| 1665 | + if (empty($modSettings[$value[0]])) { |
|
| 1666 | + continue; |
|
| 1667 | + } |
|
| 1572 | 1668 | |
| 1573 | 1669 | $smcFunc['db_query']('', ' |
| 1574 | 1670 | INSERT IGNORE INTO {db_prefix}themes |
@@ -1654,19 +1750,21 @@ discard block |
||
| 1654 | 1750 | set_error_handler( |
| 1655 | 1751 | function ($errno, $errstr, $errfile, $errline) use ($support_js) |
| 1656 | 1752 | { |
| 1657 | - if ($support_js) |
|
| 1658 | - return true; |
|
| 1659 | - else |
|
| 1660 | - echo 'Error: ' . $errstr . ' File: ' . $errfile . ' Line: ' . $errline; |
|
| 1753 | + if ($support_js) { |
|
| 1754 | + return true; |
|
| 1755 | + } else { |
|
| 1756 | + echo 'Error: ' . $errstr . ' File: ' . $errfile . ' Line: ' . $errline; |
|
| 1757 | + } |
|
| 1661 | 1758 | } |
| 1662 | 1759 | ); |
| 1663 | 1760 | |
| 1664 | 1761 | // If we're on MySQL, set {db_collation}; this approach is used throughout upgrade_2-0_mysql.php to set new tables to utf8 |
| 1665 | 1762 | // Note it is expected to be in the format: ENGINE=MyISAM{$db_collation}; |
| 1666 | - if ($db_type == 'mysql') |
|
| 1667 | - $db_collation = ' DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'; |
|
| 1668 | - else |
|
| 1669 | - $db_collation = ''; |
|
| 1763 | + if ($db_type == 'mysql') { |
|
| 1764 | + $db_collation = ' DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'; |
|
| 1765 | + } else { |
|
| 1766 | + $db_collation = ''; |
|
| 1767 | + } |
|
| 1670 | 1768 | |
| 1671 | 1769 | $endl = $command_line ? "\n" : '<br>' . "\n"; |
| 1672 | 1770 | |
@@ -1678,8 +1776,9 @@ discard block |
||
| 1678 | 1776 | $last_step = ''; |
| 1679 | 1777 | |
| 1680 | 1778 | // Make sure all newly created tables will have the proper characters set; this approach is used throughout upgrade_2-1_mysql.php |
| 1681 | - if (isset($db_character_set) && $db_character_set === 'utf8') |
|
| 1682 | - $lines = str_replace(') ENGINE=MyISAM;', ') ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;', $lines); |
|
| 1779 | + if (isset($db_character_set) && $db_character_set === 'utf8') { |
|
| 1780 | + $lines = str_replace(') ENGINE=MyISAM;', ') ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;', $lines); |
|
| 1781 | + } |
|
| 1683 | 1782 | |
| 1684 | 1783 | // Count the total number of steps within this file - for progress. |
| 1685 | 1784 | $file_steps = substr_count(implode('', $lines), '---#'); |
@@ -1699,15 +1798,18 @@ discard block |
||
| 1699 | 1798 | $do_current = $substep >= $_GET['substep']; |
| 1700 | 1799 | |
| 1701 | 1800 | // Get rid of any comments in the beginning of the line... |
| 1702 | - if (substr(trim($line), 0, 2) === '/*') |
|
| 1703 | - $line = preg_replace('~/\*.+?\*/~', '', $line); |
|
| 1801 | + if (substr(trim($line), 0, 2) === '/*') { |
|
| 1802 | + $line = preg_replace('~/\*.+?\*/~', '', $line); |
|
| 1803 | + } |
|
| 1704 | 1804 | |
| 1705 | 1805 | // Always flush. Flush, flush, flush. Flush, flush, flush, flush! FLUSH! |
| 1706 | - if ($is_debug && !$support_js && $command_line) |
|
| 1707 | - flush(); |
|
| 1806 | + if ($is_debug && !$support_js && $command_line) { |
|
| 1807 | + flush(); |
|
| 1808 | + } |
|
| 1708 | 1809 | |
| 1709 | - if (trim($line) === '') |
|
| 1710 | - continue; |
|
| 1810 | + if (trim($line) === '') { |
|
| 1811 | + continue; |
|
| 1812 | + } |
|
| 1711 | 1813 | |
| 1712 | 1814 | if (trim(substr($line, 0, 3)) === '---') |
| 1713 | 1815 | { |
@@ -1717,8 +1819,9 @@ discard block |
||
| 1717 | 1819 | if (trim($current_data) != '' && $type !== '}') |
| 1718 | 1820 | { |
| 1719 | 1821 | $upcontext['error_message'] = 'Error in upgrade script - line ' . $line_number . '!' . $endl; |
| 1720 | - if ($command_line) |
|
| 1721 | - echo $upcontext['error_message']; |
|
| 1822 | + if ($command_line) { |
|
| 1823 | + echo $upcontext['error_message']; |
|
| 1824 | + } |
|
| 1722 | 1825 | } |
| 1723 | 1826 | |
| 1724 | 1827 | if ($type == ' ') |
@@ -1736,17 +1839,18 @@ discard block |
||
| 1736 | 1839 | if ($do_current) |
| 1737 | 1840 | { |
| 1738 | 1841 | $upcontext['actioned_items'][] = $last_step; |
| 1739 | - if ($command_line) |
|
| 1740 | - echo ' * '; |
|
| 1842 | + if ($command_line) { |
|
| 1843 | + echo ' * '; |
|
| 1844 | + } |
|
| 1741 | 1845 | } |
| 1742 | - } |
|
| 1743 | - elseif ($type == '#') |
|
| 1846 | + } elseif ($type == '#') |
|
| 1744 | 1847 | { |
| 1745 | 1848 | $upcontext['step_progress'] += (100 / $upcontext['file_count']) / $file_steps; |
| 1746 | 1849 | |
| 1747 | 1850 | $upcontext['current_debug_item_num']++; |
| 1748 | - if (trim($line) != '---#') |
|
| 1749 | - $upcontext['current_debug_item_name'] = htmlspecialchars(rtrim(substr($line, 4))); |
|
| 1851 | + if (trim($line) != '---#') { |
|
| 1852 | + $upcontext['current_debug_item_name'] = htmlspecialchars(rtrim(substr($line, 4))); |
|
| 1853 | + } |
|
| 1750 | 1854 | |
| 1751 | 1855 | // Have we already done something? |
| 1752 | 1856 | if (isset($_GET['xml']) && $done_something) |
@@ -1757,34 +1861,36 @@ discard block |
||
| 1757 | 1861 | |
| 1758 | 1862 | if ($do_current) |
| 1759 | 1863 | { |
| 1760 | - if (trim($line) == '---#' && $command_line) |
|
| 1761 | - echo ' done.', $endl; |
|
| 1762 | - elseif ($command_line) |
|
| 1763 | - echo ' +++ ', rtrim(substr($line, 4)); |
|
| 1764 | - elseif (trim($line) != '---#') |
|
| 1864 | + if (trim($line) == '---#' && $command_line) { |
|
| 1865 | + echo ' done.', $endl; |
|
| 1866 | + } elseif ($command_line) { |
|
| 1867 | + echo ' +++ ', rtrim(substr($line, 4)); |
|
| 1868 | + } elseif (trim($line) != '---#') |
|
| 1765 | 1869 | { |
| 1766 | - if ($is_debug) |
|
| 1767 | - $upcontext['actioned_items'][] = htmlspecialchars(rtrim(substr($line, 4))); |
|
| 1870 | + if ($is_debug) { |
|
| 1871 | + $upcontext['actioned_items'][] = htmlspecialchars(rtrim(substr($line, 4))); |
|
| 1872 | + } |
|
| 1768 | 1873 | } |
| 1769 | 1874 | } |
| 1770 | 1875 | |
| 1771 | 1876 | if ($substep < $_GET['substep'] && $substep + 1 >= $_GET['substep']) |
| 1772 | 1877 | { |
| 1773 | - if ($command_line) |
|
| 1774 | - echo ' * '; |
|
| 1775 | - else |
|
| 1776 | - $upcontext['actioned_items'][] = $last_step; |
|
| 1878 | + if ($command_line) { |
|
| 1879 | + echo ' * '; |
|
| 1880 | + } else { |
|
| 1881 | + $upcontext['actioned_items'][] = $last_step; |
|
| 1882 | + } |
|
| 1777 | 1883 | } |
| 1778 | 1884 | |
| 1779 | 1885 | // Small step - only if we're actually doing stuff. |
| 1780 | - if ($do_current) |
|
| 1781 | - nextSubstep(++$substep); |
|
| 1782 | - else |
|
| 1783 | - $substep++; |
|
| 1784 | - } |
|
| 1785 | - elseif ($type == '{') |
|
| 1786 | - $current_type = 'code'; |
|
| 1787 | - elseif ($type == '}') |
|
| 1886 | + if ($do_current) { |
|
| 1887 | + nextSubstep(++$substep); |
|
| 1888 | + } else { |
|
| 1889 | + $substep++; |
|
| 1890 | + } |
|
| 1891 | + } elseif ($type == '{') { |
|
| 1892 | + $current_type = 'code'; |
|
| 1893 | + } elseif ($type == '}') |
|
| 1788 | 1894 | { |
| 1789 | 1895 | $current_type = 'sql'; |
| 1790 | 1896 | |
@@ -1797,8 +1903,9 @@ discard block |
||
| 1797 | 1903 | if (eval('global $db_prefix, $modSettings, $smcFunc; ' . $current_data) === false) |
| 1798 | 1904 | { |
| 1799 | 1905 | $upcontext['error_message'] = 'Error in upgrade script ' . basename($filename) . ' on line ' . $line_number . '!' . $endl; |
| 1800 | - if ($command_line) |
|
| 1801 | - echo $upcontext['error_message']; |
|
| 1906 | + if ($command_line) { |
|
| 1907 | + echo $upcontext['error_message']; |
|
| 1908 | + } |
|
| 1802 | 1909 | } |
| 1803 | 1910 | |
| 1804 | 1911 | // Done with code! |
@@ -1878,8 +1985,9 @@ discard block |
||
| 1878 | 1985 | $db_unbuffered = false; |
| 1879 | 1986 | |
| 1880 | 1987 | // Failure?! |
| 1881 | - if ($result !== false) |
|
| 1882 | - return $result; |
|
| 1988 | + if ($result !== false) { |
|
| 1989 | + return $result; |
|
| 1990 | + } |
|
| 1883 | 1991 | |
| 1884 | 1992 | $db_error_message = $smcFunc['db_error']($db_connection); |
| 1885 | 1993 | // If MySQL we do something more clever. |
@@ -1907,54 +2015,61 @@ discard block |
||
| 1907 | 2015 | { |
| 1908 | 2016 | mysqli_query($db_connection, 'REPAIR TABLE `' . $match[1] . '`'); |
| 1909 | 2017 | $result = mysqli_query($db_connection, $string); |
| 1910 | - if ($result !== false) |
|
| 1911 | - return $result; |
|
| 2018 | + if ($result !== false) { |
|
| 2019 | + return $result; |
|
| 2020 | + } |
|
| 1912 | 2021 | } |
| 1913 | - } |
|
| 1914 | - elseif ($mysqli_errno == 2013) |
|
| 2022 | + } elseif ($mysqli_errno == 2013) |
|
| 1915 | 2023 | { |
| 1916 | 2024 | $db_connection = mysqli_connect($db_server, $db_user, $db_passwd); |
| 1917 | 2025 | mysqli_select_db($db_connection, $db_name); |
| 1918 | 2026 | if ($db_connection) |
| 1919 | 2027 | { |
| 1920 | 2028 | $result = mysqli_query($db_connection, $string); |
| 1921 | - if ($result !== false) |
|
| 1922 | - return $result; |
|
| 2029 | + if ($result !== false) { |
|
| 2030 | + return $result; |
|
| 2031 | + } |
|
| 1923 | 2032 | } |
| 1924 | 2033 | } |
| 1925 | 2034 | // Duplicate column name... should be okay ;). |
| 1926 | - elseif (in_array($mysqli_errno, array(1060, 1061, 1068, 1091))) |
|
| 1927 | - return false; |
|
| 2035 | + elseif (in_array($mysqli_errno, array(1060, 1061, 1068, 1091))) { |
|
| 2036 | + return false; |
|
| 2037 | + } |
|
| 1928 | 2038 | // Duplicate insert... make sure it's the proper type of query ;). |
| 1929 | - elseif (in_array($mysqli_errno, array(1054, 1062, 1146)) && $error_query) |
|
| 1930 | - return false; |
|
| 2039 | + elseif (in_array($mysqli_errno, array(1054, 1062, 1146)) && $error_query) { |
|
| 2040 | + return false; |
|
| 2041 | + } |
|
| 1931 | 2042 | // Creating an index on a non-existent column. |
| 1932 | - elseif ($mysqli_errno == 1072) |
|
| 1933 | - return false; |
|
| 1934 | - elseif ($mysqli_errno == 1050 && substr(trim($string), 0, 12) == 'RENAME TABLE') |
|
| 1935 | - return false; |
|
| 2043 | + elseif ($mysqli_errno == 1072) { |
|
| 2044 | + return false; |
|
| 2045 | + } elseif ($mysqli_errno == 1050 && substr(trim($string), 0, 12) == 'RENAME TABLE') { |
|
| 2046 | + return false; |
|
| 2047 | + } |
|
| 1936 | 2048 | } |
| 1937 | 2049 | // If a table already exists don't go potty. |
| 1938 | 2050 | else |
| 1939 | 2051 | { |
| 1940 | 2052 | if (in_array(substr(trim($string), 0, 8), array('CREATE T', 'CREATE S', 'DROP TABL', 'ALTER TA', 'CREATE I', 'CREATE U'))) |
| 1941 | 2053 | { |
| 1942 | - if (strpos($db_error_message, 'exist') !== false) |
|
| 1943 | - return true; |
|
| 1944 | - } |
|
| 1945 | - elseif (strpos(trim($string), 'INSERT ') !== false) |
|
| 2054 | + if (strpos($db_error_message, 'exist') !== false) { |
|
| 2055 | + return true; |
|
| 2056 | + } |
|
| 2057 | + } elseif (strpos(trim($string), 'INSERT ') !== false) |
|
| 1946 | 2058 | { |
| 1947 | - if (strpos($db_error_message, 'duplicate') !== false) |
|
| 1948 | - return true; |
|
| 2059 | + if (strpos($db_error_message, 'duplicate') !== false) { |
|
| 2060 | + return true; |
|
| 2061 | + } |
|
| 1949 | 2062 | } |
| 1950 | 2063 | } |
| 1951 | 2064 | |
| 1952 | 2065 | // Get the query string so we pass everything. |
| 1953 | 2066 | $query_string = ''; |
| 1954 | - foreach ($_GET as $k => $v) |
|
| 1955 | - $query_string .= ';' . $k . '=' . $v; |
|
| 1956 | - if (strlen($query_string) != 0) |
|
| 1957 | - $query_string = '?' . substr($query_string, 1); |
|
| 2067 | + foreach ($_GET as $k => $v) { |
|
| 2068 | + $query_string .= ';' . $k . '=' . $v; |
|
| 2069 | + } |
|
| 2070 | + if (strlen($query_string) != 0) { |
|
| 2071 | + $query_string = '?' . substr($query_string, 1); |
|
| 2072 | + } |
|
| 1958 | 2073 | |
| 1959 | 2074 | if ($command_line) |
| 1960 | 2075 | { |
@@ -2009,16 +2124,18 @@ discard block |
||
| 2009 | 2124 | { |
| 2010 | 2125 | $found |= 1; |
| 2011 | 2126 | // Do some checks on the data if we have it set. |
| 2012 | - if (isset($change['col_type'])) |
|
| 2013 | - $found &= $change['col_type'] === $column['type']; |
|
| 2014 | - if (isset($change['null_allowed'])) |
|
| 2015 | - $found &= $column['null'] == $change['null_allowed']; |
|
| 2016 | - if (isset($change['default'])) |
|
| 2017 | - $found &= $change['default'] === $column['default']; |
|
| 2127 | + if (isset($change['col_type'])) { |
|
| 2128 | + $found &= $change['col_type'] === $column['type']; |
|
| 2129 | + } |
|
| 2130 | + if (isset($change['null_allowed'])) { |
|
| 2131 | + $found &= $column['null'] == $change['null_allowed']; |
|
| 2132 | + } |
|
| 2133 | + if (isset($change['default'])) { |
|
| 2134 | + $found &= $change['default'] === $column['default']; |
|
| 2135 | + } |
|
| 2018 | 2136 | } |
| 2019 | 2137 | } |
| 2020 | - } |
|
| 2021 | - elseif ($change['type'] === 'index') |
|
| 2138 | + } elseif ($change['type'] === 'index') |
|
| 2022 | 2139 | { |
| 2023 | 2140 | $request = upgrade_query(' |
| 2024 | 2141 | SHOW INDEX |
@@ -2027,9 +2144,10 @@ discard block |
||
| 2027 | 2144 | { |
| 2028 | 2145 | $cur_index = array(); |
| 2029 | 2146 | |
| 2030 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 2031 | - if ($row['Key_name'] === $change['name']) |
|
| 2147 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 2148 | + if ($row['Key_name'] === $change['name']) |
|
| 2032 | 2149 | $cur_index[(int) $row['Seq_in_index']] = $row['Column_name']; |
| 2150 | + } |
|
| 2033 | 2151 | |
| 2034 | 2152 | ksort($cur_index, SORT_NUMERIC); |
| 2035 | 2153 | $found = array_values($cur_index) === $change['target_columns']; |
@@ -2039,14 +2157,17 @@ discard block |
||
| 2039 | 2157 | } |
| 2040 | 2158 | |
| 2041 | 2159 | // If we're trying to add and it's added, we're done. |
| 2042 | - if ($found && in_array($change['method'], array('add', 'change'))) |
|
| 2043 | - return true; |
|
| 2160 | + if ($found && in_array($change['method'], array('add', 'change'))) { |
|
| 2161 | + return true; |
|
| 2162 | + } |
|
| 2044 | 2163 | // Otherwise if we're removing and it wasn't found we're also done. |
| 2045 | - elseif (!$found && in_array($change['method'], array('remove', 'change_remove'))) |
|
| 2046 | - return true; |
|
| 2164 | + elseif (!$found && in_array($change['method'], array('remove', 'change_remove'))) { |
|
| 2165 | + return true; |
|
| 2166 | + } |
|
| 2047 | 2167 | // Otherwise is it just a test? |
| 2048 | - elseif ($is_test) |
|
| 2049 | - return false; |
|
| 2168 | + elseif ($is_test) { |
|
| 2169 | + return false; |
|
| 2170 | + } |
|
| 2050 | 2171 | |
| 2051 | 2172 | // Not found it yet? Bummer! How about we see if we're currently doing it? |
| 2052 | 2173 | $running = false; |
@@ -2057,8 +2178,9 @@ discard block |
||
| 2057 | 2178 | SHOW FULL PROCESSLIST'); |
| 2058 | 2179 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 2059 | 2180 | { |
| 2060 | - if (strpos($row['Info'], 'ALTER TABLE ' . $db_prefix . $change['table']) !== false && strpos($row['Info'], $change['text']) !== false) |
|
| 2061 | - $found = true; |
|
| 2181 | + if (strpos($row['Info'], 'ALTER TABLE ' . $db_prefix . $change['table']) !== false && strpos($row['Info'], $change['text']) !== false) { |
|
| 2182 | + $found = true; |
|
| 2183 | + } |
|
| 2062 | 2184 | } |
| 2063 | 2185 | |
| 2064 | 2186 | // Can't find it? Then we need to run it fools! |
@@ -2070,8 +2192,9 @@ discard block |
||
| 2070 | 2192 | ALTER TABLE ' . $db_prefix . $change['table'] . ' |
| 2071 | 2193 | ' . $change['text'], true) !== false; |
| 2072 | 2194 | |
| 2073 | - if (!$success) |
|
| 2074 | - return false; |
|
| 2195 | + if (!$success) { |
|
| 2196 | + return false; |
|
| 2197 | + } |
|
| 2075 | 2198 | |
| 2076 | 2199 | // Return |
| 2077 | 2200 | $running = true; |
@@ -2113,8 +2236,9 @@ discard block |
||
| 2113 | 2236 | 'db_error_skip' => true, |
| 2114 | 2237 | ) |
| 2115 | 2238 | ); |
| 2116 | - if ($smcFunc['db_num_rows']($request) === 0) |
|
| 2117 | - die('Unable to find column ' . $change['column'] . ' inside table ' . $db_prefix . $change['table']); |
|
| 2239 | + if ($smcFunc['db_num_rows']($request) === 0) { |
|
| 2240 | + die('Unable to find column ' . $change['column'] . ' inside table ' . $db_prefix . $change['table']); |
|
| 2241 | + } |
|
| 2118 | 2242 | $table_row = $smcFunc['db_fetch_assoc']($request); |
| 2119 | 2243 | $smcFunc['db_free_result']($request); |
| 2120 | 2244 | |
@@ -2136,18 +2260,19 @@ discard block |
||
| 2136 | 2260 | ) |
| 2137 | 2261 | ); |
| 2138 | 2262 | // No results? Just forget it all together. |
| 2139 | - if ($smcFunc['db_num_rows']($request) === 0) |
|
| 2140 | - unset($table_row['Collation']); |
|
| 2141 | - else |
|
| 2142 | - $collation_info = $smcFunc['db_fetch_assoc']($request); |
|
| 2263 | + if ($smcFunc['db_num_rows']($request) === 0) { |
|
| 2264 | + unset($table_row['Collation']); |
|
| 2265 | + } else { |
|
| 2266 | + $collation_info = $smcFunc['db_fetch_assoc']($request); |
|
| 2267 | + } |
|
| 2143 | 2268 | $smcFunc['db_free_result']($request); |
| 2144 | 2269 | } |
| 2145 | 2270 | |
| 2146 | 2271 | if ($column_fix) |
| 2147 | 2272 | { |
| 2148 | 2273 | // Make sure there are no NULL's left. |
| 2149 | - if ($null_fix) |
|
| 2150 | - $smcFunc['db_query']('', ' |
|
| 2274 | + if ($null_fix) { |
|
| 2275 | + $smcFunc['db_query']('', ' |
|
| 2151 | 2276 | UPDATE {db_prefix}' . $change['table'] . ' |
| 2152 | 2277 | SET ' . $change['column'] . ' = {string:default} |
| 2153 | 2278 | WHERE ' . $change['column'] . ' IS NULL', |
@@ -2156,6 +2281,7 @@ discard block |
||
| 2156 | 2281 | 'db_error_skip' => true, |
| 2157 | 2282 | ) |
| 2158 | 2283 | ); |
| 2284 | + } |
|
| 2159 | 2285 | |
| 2160 | 2286 | // Do the actual alteration. |
| 2161 | 2287 | $smcFunc['db_query']('', ' |
@@ -2184,8 +2310,9 @@ discard block |
||
| 2184 | 2310 | } |
| 2185 | 2311 | |
| 2186 | 2312 | // Not a column we need to check on? |
| 2187 | - if (!in_array($change['name'], array('memberGroups', 'passwordSalt'))) |
|
| 2188 | - return; |
|
| 2313 | + if (!in_array($change['name'], array('memberGroups', 'passwordSalt'))) { |
|
| 2314 | + return; |
|
| 2315 | + } |
|
| 2189 | 2316 | |
| 2190 | 2317 | // Break it up you (six|seven). |
| 2191 | 2318 | $temp = explode(' ', str_replace('NOT NULL', 'NOT_NULL', $change['text'])); |
@@ -2204,13 +2331,13 @@ discard block |
||
| 2204 | 2331 | 'new_name' => $temp[2], |
| 2205 | 2332 | )); |
| 2206 | 2333 | // !!! This doesn't technically work because we don't pass request into it, but it hasn't broke anything yet. |
| 2207 | - if ($smcFunc['db_num_rows'] != 1) |
|
| 2208 | - return; |
|
| 2334 | + if ($smcFunc['db_num_rows'] != 1) { |
|
| 2335 | + return; |
|
| 2336 | + } |
|
| 2209 | 2337 | |
| 2210 | 2338 | list (, $current_type) = $smcFunc['db_fetch_assoc']($request); |
| 2211 | 2339 | $smcFunc['db_free_result']($request); |
| 2212 | - } |
|
| 2213 | - else |
|
| 2340 | + } else |
|
| 2214 | 2341 | { |
| 2215 | 2342 | // Do this the old fashion, sure method way. |
| 2216 | 2343 | $request = $smcFunc['db_query']('', ' |
@@ -2221,21 +2348,24 @@ discard block |
||
| 2221 | 2348 | )); |
| 2222 | 2349 | // Mayday! |
| 2223 | 2350 | // !!! This doesn't technically work because we don't pass request into it, but it hasn't broke anything yet. |
| 2224 | - if ($smcFunc['db_num_rows'] == 0) |
|
| 2225 | - return; |
|
| 2351 | + if ($smcFunc['db_num_rows'] == 0) { |
|
| 2352 | + return; |
|
| 2353 | + } |
|
| 2226 | 2354 | |
| 2227 | 2355 | // Oh where, oh where has my little field gone. Oh where can it be... |
| 2228 | - while ($row = $smcFunc['db_query']($request)) |
|
| 2229 | - if ($row['Field'] == $temp[1] || $row['Field'] == $temp[2]) |
|
| 2356 | + while ($row = $smcFunc['db_query']($request)) { |
|
| 2357 | + if ($row['Field'] == $temp[1] || $row['Field'] == $temp[2]) |
|
| 2230 | 2358 | { |
| 2231 | 2359 | $current_type = $row['Type']; |
| 2360 | + } |
|
| 2232 | 2361 | break; |
| 2233 | 2362 | } |
| 2234 | 2363 | } |
| 2235 | 2364 | |
| 2236 | 2365 | // If this doesn't match, the column may of been altered for a reason. |
| 2237 | - if (trim($current_type) != trim($temp[3])) |
|
| 2238 | - $temp[3] = $current_type; |
|
| 2366 | + if (trim($current_type) != trim($temp[3])) { |
|
| 2367 | + $temp[3] = $current_type; |
|
| 2368 | + } |
|
| 2239 | 2369 | |
| 2240 | 2370 | // Piece this back together. |
| 2241 | 2371 | $change['text'] = str_replace('NOT_NULL', 'NOT NULL', implode(' ', $temp)); |
@@ -2247,8 +2377,9 @@ discard block |
||
| 2247 | 2377 | global $start_time, $timeLimitThreshold, $command_line, $custom_warning; |
| 2248 | 2378 | global $step_progress, $is_debug, $upcontext; |
| 2249 | 2379 | |
| 2250 | - if ($_GET['substep'] < $substep) |
|
| 2251 | - $_GET['substep'] = $substep; |
|
| 2380 | + if ($_GET['substep'] < $substep) { |
|
| 2381 | + $_GET['substep'] = $substep; |
|
| 2382 | + } |
|
| 2252 | 2383 | |
| 2253 | 2384 | if ($command_line) |
| 2254 | 2385 | { |
@@ -2261,29 +2392,33 @@ discard block |
||
| 2261 | 2392 | } |
| 2262 | 2393 | |
| 2263 | 2394 | @set_time_limit(300); |
| 2264 | - if (function_exists('apache_reset_timeout')) |
|
| 2265 | - @apache_reset_timeout(); |
|
| 2395 | + if (function_exists('apache_reset_timeout')) { |
|
| 2396 | + @apache_reset_timeout(); |
|
| 2397 | + } |
|
| 2266 | 2398 | |
| 2267 | - if (time() - $start_time <= $timeLimitThreshold) |
|
| 2268 | - return; |
|
| 2399 | + if (time() - $start_time <= $timeLimitThreshold) { |
|
| 2400 | + return; |
|
| 2401 | + } |
|
| 2269 | 2402 | |
| 2270 | 2403 | // Do we have some custom step progress stuff? |
| 2271 | 2404 | if (!empty($step_progress)) |
| 2272 | 2405 | { |
| 2273 | 2406 | $upcontext['substep_progress'] = 0; |
| 2274 | 2407 | $upcontext['substep_progress_name'] = $step_progress['name']; |
| 2275 | - if ($step_progress['current'] > $step_progress['total']) |
|
| 2276 | - $upcontext['substep_progress'] = 99.9; |
|
| 2277 | - else |
|
| 2278 | - $upcontext['substep_progress'] = ($step_progress['current'] / $step_progress['total']) * 100; |
|
| 2408 | + if ($step_progress['current'] > $step_progress['total']) { |
|
| 2409 | + $upcontext['substep_progress'] = 99.9; |
|
| 2410 | + } else { |
|
| 2411 | + $upcontext['substep_progress'] = ($step_progress['current'] / $step_progress['total']) * 100; |
|
| 2412 | + } |
|
| 2279 | 2413 | |
| 2280 | 2414 | // Make it nicely rounded. |
| 2281 | 2415 | $upcontext['substep_progress'] = round($upcontext['substep_progress'], 1); |
| 2282 | 2416 | } |
| 2283 | 2417 | |
| 2284 | 2418 | // If this is XML we just exit right away! |
| 2285 | - if (isset($_GET['xml'])) |
|
| 2286 | - return upgradeExit(); |
|
| 2419 | + if (isset($_GET['xml'])) { |
|
| 2420 | + return upgradeExit(); |
|
| 2421 | + } |
|
| 2287 | 2422 | |
| 2288 | 2423 | // We're going to pause after this! |
| 2289 | 2424 | $upcontext['pause'] = true; |
@@ -2291,13 +2426,15 @@ discard block |
||
| 2291 | 2426 | $upcontext['query_string'] = ''; |
| 2292 | 2427 | foreach ($_GET as $k => $v) |
| 2293 | 2428 | { |
| 2294 | - if ($k != 'data' && $k != 'substep' && $k != 'step') |
|
| 2295 | - $upcontext['query_string'] .= ';' . $k . '=' . $v; |
|
| 2429 | + if ($k != 'data' && $k != 'substep' && $k != 'step') { |
|
| 2430 | + $upcontext['query_string'] .= ';' . $k . '=' . $v; |
|
| 2431 | + } |
|
| 2296 | 2432 | } |
| 2297 | 2433 | |
| 2298 | 2434 | // Custom warning? |
| 2299 | - if (!empty($custom_warning)) |
|
| 2300 | - $upcontext['custom_warning'] = $custom_warning; |
|
| 2435 | + if (!empty($custom_warning)) { |
|
| 2436 | + $upcontext['custom_warning'] = $custom_warning; |
|
| 2437 | + } |
|
| 2301 | 2438 | |
| 2302 | 2439 | upgradeExit(); |
| 2303 | 2440 | } |
@@ -2312,25 +2449,26 @@ discard block |
||
| 2312 | 2449 | ob_implicit_flush(true); |
| 2313 | 2450 | @set_time_limit(600); |
| 2314 | 2451 | |
| 2315 | - if (!isset($_SERVER['argv'])) |
|
| 2316 | - $_SERVER['argv'] = array(); |
|
| 2452 | + if (!isset($_SERVER['argv'])) { |
|
| 2453 | + $_SERVER['argv'] = array(); |
|
| 2454 | + } |
|
| 2317 | 2455 | $_GET['maint'] = 1; |
| 2318 | 2456 | |
| 2319 | 2457 | foreach ($_SERVER['argv'] as $i => $arg) |
| 2320 | 2458 | { |
| 2321 | - if (preg_match('~^--language=(.+)$~', $arg, $match) != 0) |
|
| 2322 | - $_GET['lang'] = $match[1]; |
|
| 2323 | - elseif (preg_match('~^--path=(.+)$~', $arg) != 0) |
|
| 2324 | - continue; |
|
| 2325 | - elseif ($arg == '--no-maintenance') |
|
| 2326 | - $_GET['maint'] = 0; |
|
| 2327 | - elseif ($arg == '--debug') |
|
| 2328 | - $is_debug = true; |
|
| 2329 | - elseif ($arg == '--backup') |
|
| 2330 | - $_POST['backup'] = 1; |
|
| 2331 | - elseif ($arg == '--template' && (file_exists($boarddir . '/template.php') || file_exists($boarddir . '/template.html') && !file_exists($modSettings['theme_dir'] . '/converted'))) |
|
| 2332 | - $_GET['conv'] = 1; |
|
| 2333 | - elseif ($i != 0) |
|
| 2459 | + if (preg_match('~^--language=(.+)$~', $arg, $match) != 0) { |
|
| 2460 | + $_GET['lang'] = $match[1]; |
|
| 2461 | + } elseif (preg_match('~^--path=(.+)$~', $arg) != 0) { |
|
| 2462 | + continue; |
|
| 2463 | + } elseif ($arg == '--no-maintenance') { |
|
| 2464 | + $_GET['maint'] = 0; |
|
| 2465 | + } elseif ($arg == '--debug') { |
|
| 2466 | + $is_debug = true; |
|
| 2467 | + } elseif ($arg == '--backup') { |
|
| 2468 | + $_POST['backup'] = 1; |
|
| 2469 | + } elseif ($arg == '--template' && (file_exists($boarddir . '/template.php') || file_exists($boarddir . '/template.html') && !file_exists($modSettings['theme_dir'] . '/converted'))) { |
|
| 2470 | + $_GET['conv'] = 1; |
|
| 2471 | + } elseif ($i != 0) |
|
| 2334 | 2472 | { |
| 2335 | 2473 | echo 'SMF Command-line Upgrader |
| 2336 | 2474 | Usage: /path/to/php -f ' . basename(__FILE__) . ' -- [OPTION]... |
@@ -2344,10 +2482,12 @@ discard block |
||
| 2344 | 2482 | } |
| 2345 | 2483 | } |
| 2346 | 2484 | |
| 2347 | - if (!php_version_check()) |
|
| 2348 | - print_error('Error: PHP ' . PHP_VERSION . ' does not match version requirements.', true); |
|
| 2349 | - if (!db_version_check()) |
|
| 2350 | - print_error('Error: ' . $databases[$db_type]['name'] . ' ' . $databases[$db_type]['version'] . ' does not match minimum requirements.', true); |
|
| 2485 | + if (!php_version_check()) { |
|
| 2486 | + print_error('Error: PHP ' . PHP_VERSION . ' does not match version requirements.', true); |
|
| 2487 | + } |
|
| 2488 | + if (!db_version_check()) { |
|
| 2489 | + print_error('Error: ' . $databases[$db_type]['name'] . ' ' . $databases[$db_type]['version'] . ' does not match minimum requirements.', true); |
|
| 2490 | + } |
|
| 2351 | 2491 | |
| 2352 | 2492 | // Do some checks to make sure they have proper privileges |
| 2353 | 2493 | db_extend('packages'); |
@@ -2362,39 +2502,45 @@ discard block |
||
| 2362 | 2502 | $drop = $smcFunc['db_drop_table']('{db_prefix}priv_check'); |
| 2363 | 2503 | |
| 2364 | 2504 | // Sorry... we need CREATE, ALTER and DROP |
| 2365 | - if (!$create || !$alter || !$drop) |
|
| 2366 | - print_error("The " . $databases[$db_type]['name'] . " user you have set in Settings.php does not have proper privileges.\n\nPlease ask your host to give this user the ALTER, CREATE, and DROP privileges.", true); |
|
| 2505 | + if (!$create || !$alter || !$drop) { |
|
| 2506 | + print_error("The " . $databases[$db_type]['name'] . " user you have set in Settings.php does not have proper privileges.\n\nPlease ask your host to give this user the ALTER, CREATE, and DROP privileges.", true); |
|
| 2507 | + } |
|
| 2367 | 2508 | |
| 2368 | 2509 | $check = @file_exists($modSettings['theme_dir'] . '/index.template.php') |
| 2369 | 2510 | && @file_exists($sourcedir . '/QueryString.php') |
| 2370 | 2511 | && @file_exists($sourcedir . '/ManageBoards.php'); |
| 2371 | - if (!$check && !isset($modSettings['smfVersion'])) |
|
| 2372 | - print_error('Error: Some files are missing or out-of-date.', true); |
|
| 2512 | + if (!$check && !isset($modSettings['smfVersion'])) { |
|
| 2513 | + print_error('Error: Some files are missing or out-of-date.', true); |
|
| 2514 | + } |
|
| 2373 | 2515 | |
| 2374 | 2516 | // Do a quick version spot check. |
| 2375 | 2517 | $temp = substr(@implode('', @file($boarddir . '/index.php')), 0, 4096); |
| 2376 | 2518 | preg_match('~\*\s@version\s+(.+)[\s]{2}~i', $temp, $match); |
| 2377 | - if (empty($match[1]) || (trim($match[1]) != SMF_VERSION)) |
|
| 2378 | - print_error('Error: Some files have not yet been updated properly.'); |
|
| 2519 | + if (empty($match[1]) || (trim($match[1]) != SMF_VERSION)) { |
|
| 2520 | + print_error('Error: Some files have not yet been updated properly.'); |
|
| 2521 | + } |
|
| 2379 | 2522 | |
| 2380 | 2523 | // Make sure Settings.php is writable. |
| 2381 | 2524 | quickFileWritable($boarddir . '/Settings.php'); |
| 2382 | - if (!is_writable($boarddir . '/Settings.php')) |
|
| 2383 | - print_error('Error: Unable to obtain write access to "Settings.php".', true); |
|
| 2525 | + if (!is_writable($boarddir . '/Settings.php')) { |
|
| 2526 | + print_error('Error: Unable to obtain write access to "Settings.php".', true); |
|
| 2527 | + } |
|
| 2384 | 2528 | |
| 2385 | 2529 | // Make sure Settings_bak.php is writable. |
| 2386 | 2530 | quickFileWritable($boarddir . '/Settings_bak.php'); |
| 2387 | - if (!is_writable($boarddir . '/Settings_bak.php')) |
|
| 2388 | - print_error('Error: Unable to obtain write access to "Settings_bak.php".'); |
|
| 2531 | + if (!is_writable($boarddir . '/Settings_bak.php')) { |
|
| 2532 | + print_error('Error: Unable to obtain write access to "Settings_bak.php".'); |
|
| 2533 | + } |
|
| 2389 | 2534 | |
| 2390 | 2535 | // Make sure db_last_error.php is writable. |
| 2391 | 2536 | quickFileWritable($boarddir . '/db_last_error.php'); |
| 2392 | - if (!is_writable($boarddir . '/db_last_error.php')) |
|
| 2393 | - print_error('Error: Unable to obtain write access to "db_last_error.php".'); |
|
| 2537 | + if (!is_writable($boarddir . '/db_last_error.php')) { |
|
| 2538 | + print_error('Error: Unable to obtain write access to "db_last_error.php".'); |
|
| 2539 | + } |
|
| 2394 | 2540 | |
| 2395 | - if (isset($modSettings['agreement']) && (!is_writable($boarddir) || file_exists($boarddir . '/agreement.txt')) && !is_writable($boarddir . '/agreement.txt')) |
|
| 2396 | - print_error('Error: Unable to obtain write access to "agreement.txt".'); |
|
| 2397 | - elseif (isset($modSettings['agreement'])) |
|
| 2541 | + if (isset($modSettings['agreement']) && (!is_writable($boarddir) || file_exists($boarddir . '/agreement.txt')) && !is_writable($boarddir . '/agreement.txt')) { |
|
| 2542 | + print_error('Error: Unable to obtain write access to "agreement.txt".'); |
|
| 2543 | + } elseif (isset($modSettings['agreement'])) |
|
| 2398 | 2544 | { |
| 2399 | 2545 | $fp = fopen($boarddir . '/agreement.txt', 'w'); |
| 2400 | 2546 | fwrite($fp, $modSettings['agreement']); |
@@ -2404,31 +2550,36 @@ discard block |
||
| 2404 | 2550 | // Make sure Themes is writable. |
| 2405 | 2551 | quickFileWritable($modSettings['theme_dir']); |
| 2406 | 2552 | |
| 2407 | - if (!is_writable($modSettings['theme_dir']) && !isset($modSettings['smfVersion'])) |
|
| 2408 | - print_error('Error: Unable to obtain write access to "Themes".'); |
|
| 2553 | + if (!is_writable($modSettings['theme_dir']) && !isset($modSettings['smfVersion'])) { |
|
| 2554 | + print_error('Error: Unable to obtain write access to "Themes".'); |
|
| 2555 | + } |
|
| 2409 | 2556 | |
| 2410 | 2557 | // Make sure cache directory exists and is writable! |
| 2411 | 2558 | $cachedir_temp = empty($cachedir) ? $boarddir . '/cache' : $cachedir; |
| 2412 | - if (!file_exists($cachedir_temp)) |
|
| 2413 | - @mkdir($cachedir_temp); |
|
| 2559 | + if (!file_exists($cachedir_temp)) { |
|
| 2560 | + @mkdir($cachedir_temp); |
|
| 2561 | + } |
|
| 2414 | 2562 | |
| 2415 | 2563 | // Make sure the cache temp dir is writable. |
| 2416 | 2564 | quickFileWritable($cachedir_temp); |
| 2417 | 2565 | |
| 2418 | - if (!is_writable($cachedir_temp)) |
|
| 2419 | - print_error('Error: Unable to obtain write access to "cache".', true); |
|
| 2566 | + if (!is_writable($cachedir_temp)) { |
|
| 2567 | + print_error('Error: Unable to obtain write access to "cache".', true); |
|
| 2568 | + } |
|
| 2420 | 2569 | |
| 2421 | - if (!file_exists($modSettings['theme_dir'] . '/languages/index.' . $upcontext['language'] . '.php') && !isset($modSettings['smfVersion']) && !isset($_GET['lang'])) |
|
| 2422 | - print_error('Error: Unable to find language files!', true); |
|
| 2423 | - else |
|
| 2570 | + if (!file_exists($modSettings['theme_dir'] . '/languages/index.' . $upcontext['language'] . '.php') && !isset($modSettings['smfVersion']) && !isset($_GET['lang'])) { |
|
| 2571 | + print_error('Error: Unable to find language files!', true); |
|
| 2572 | + } else |
|
| 2424 | 2573 | { |
| 2425 | 2574 | $temp = substr(@implode('', @file($modSettings['theme_dir'] . '/languages/index.' . $upcontext['language'] . '.php')), 0, 4096); |
| 2426 | 2575 | preg_match('~(?://|/\*)\s*Version:\s+(.+?);\s*index(?:[\s]{2}|\*/)~i', $temp, $match); |
| 2427 | 2576 | |
| 2428 | - if (empty($match[1]) || $match[1] != SMF_LANG_VERSION) |
|
| 2429 | - print_error('Error: Language files out of date.', true); |
|
| 2430 | - if (!file_exists($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php')) |
|
| 2431 | - print_error('Error: Install language is missing for selected language.', true); |
|
| 2577 | + if (empty($match[1]) || $match[1] != SMF_LANG_VERSION) { |
|
| 2578 | + print_error('Error: Language files out of date.', true); |
|
| 2579 | + } |
|
| 2580 | + if (!file_exists($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php')) { |
|
| 2581 | + print_error('Error: Install language is missing for selected language.', true); |
|
| 2582 | + } |
|
| 2432 | 2583 | |
| 2433 | 2584 | // Otherwise include it! |
| 2434 | 2585 | require_once($modSettings['theme_dir'] . '/languages/Install.' . $upcontext['language'] . '.php'); |
@@ -2447,8 +2598,9 @@ discard block |
||
| 2447 | 2598 | global $upcontext, $db_character_set, $sourcedir, $smcFunc, $modSettings, $language, $db_prefix, $db_type, $command_line, $support_js; |
| 2448 | 2599 | |
| 2449 | 2600 | // Done it already? |
| 2450 | - if (!empty($_POST['utf8_done'])) |
|
| 2451 | - return true; |
|
| 2601 | + if (!empty($_POST['utf8_done'])) { |
|
| 2602 | + return true; |
|
| 2603 | + } |
|
| 2452 | 2604 | |
| 2453 | 2605 | // First make sure they aren't already on UTF-8 before we go anywhere... |
| 2454 | 2606 | if ($db_type == 'postgresql' || ($db_character_set === 'utf8' && !empty($modSettings['global_character_set']) && $modSettings['global_character_set'] === 'UTF-8')) |
@@ -2461,8 +2613,7 @@ discard block |
||
| 2461 | 2613 | ); |
| 2462 | 2614 | |
| 2463 | 2615 | return true; |
| 2464 | - } |
|
| 2465 | - else |
|
| 2616 | + } else |
|
| 2466 | 2617 | { |
| 2467 | 2618 | $upcontext['page_title'] = 'Converting to UTF8'; |
| 2468 | 2619 | $upcontext['sub_template'] = isset($_GET['xml']) ? 'convert_xml' : 'convert_utf8'; |
@@ -2506,8 +2657,9 @@ discard block |
||
| 2506 | 2657 | ) |
| 2507 | 2658 | ); |
| 2508 | 2659 | $db_charsets = array(); |
| 2509 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 2510 | - $db_charsets[] = $row['Charset']; |
|
| 2660 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 2661 | + $db_charsets[] = $row['Charset']; |
|
| 2662 | + } |
|
| 2511 | 2663 | |
| 2512 | 2664 | $smcFunc['db_free_result']($request); |
| 2513 | 2665 | |
@@ -2543,13 +2695,15 @@ discard block |
||
| 2543 | 2695 | // If there's a fulltext index, we need to drop it first... |
| 2544 | 2696 | if ($request !== false || $smcFunc['db_num_rows']($request) != 0) |
| 2545 | 2697 | { |
| 2546 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 2547 | - if ($row['Column_name'] == 'body' && (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT' || isset($row['Comment']) && $row['Comment'] == 'FULLTEXT')) |
|
| 2698 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 2699 | + if ($row['Column_name'] == 'body' && (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT' || isset($row['Comment']) && $row['Comment'] == 'FULLTEXT')) |
|
| 2548 | 2700 | $upcontext['fulltext_index'][] = $row['Key_name']; |
| 2701 | + } |
|
| 2549 | 2702 | $smcFunc['db_free_result']($request); |
| 2550 | 2703 | |
| 2551 | - if (isset($upcontext['fulltext_index'])) |
|
| 2552 | - $upcontext['fulltext_index'] = array_unique($upcontext['fulltext_index']); |
|
| 2704 | + if (isset($upcontext['fulltext_index'])) { |
|
| 2705 | + $upcontext['fulltext_index'] = array_unique($upcontext['fulltext_index']); |
|
| 2706 | + } |
|
| 2553 | 2707 | } |
| 2554 | 2708 | |
| 2555 | 2709 | // Drop it and make a note... |
@@ -2739,8 +2893,9 @@ discard block |
||
| 2739 | 2893 | $replace = '%field%'; |
| 2740 | 2894 | |
| 2741 | 2895 | // Build a huge REPLACE statement... |
| 2742 | - foreach ($translation_tables[$upcontext['charset_detected']] as $from => $to) |
|
| 2743 | - $replace = 'REPLACE(' . $replace . ', ' . $from . ', ' . $to . ')'; |
|
| 2896 | + foreach ($translation_tables[$upcontext['charset_detected']] as $from => $to) { |
|
| 2897 | + $replace = 'REPLACE(' . $replace . ', ' . $from . ', ' . $to . ')'; |
|
| 2898 | + } |
|
| 2744 | 2899 | } |
| 2745 | 2900 | |
| 2746 | 2901 | // Get a list of table names ahead of time... This makes it easier to set our substep and such |
@@ -2750,9 +2905,10 @@ discard block |
||
| 2750 | 2905 | $upcontext['table_count'] = count($queryTables); |
| 2751 | 2906 | |
| 2752 | 2907 | // What ones have we already done? |
| 2753 | - foreach ($queryTables as $id => $table) |
|
| 2754 | - if ($id < $_GET['substep']) |
|
| 2908 | + foreach ($queryTables as $id => $table) { |
|
| 2909 | + if ($id < $_GET['substep']) |
|
| 2755 | 2910 | $upcontext['previous_tables'][] = $table; |
| 2911 | + } |
|
| 2756 | 2912 | |
| 2757 | 2913 | $upcontext['cur_table_num'] = $_GET['substep']; |
| 2758 | 2914 | $upcontext['cur_table_name'] = str_replace($db_prefix, '', $queryTables[$_GET['substep']]); |
@@ -2789,8 +2945,9 @@ discard block |
||
| 2789 | 2945 | nextSubstep($substep); |
| 2790 | 2946 | |
| 2791 | 2947 | // Just to make sure it doesn't time out. |
| 2792 | - if (function_exists('apache_reset_timeout')) |
|
| 2793 | - @apache_reset_timeout(); |
|
| 2948 | + if (function_exists('apache_reset_timeout')) { |
|
| 2949 | + @apache_reset_timeout(); |
|
| 2950 | + } |
|
| 2794 | 2951 | |
| 2795 | 2952 | $table_charsets = array(); |
| 2796 | 2953 | |
@@ -2813,8 +2970,9 @@ discard block |
||
| 2813 | 2970 | |
| 2814 | 2971 | // Build structure of columns to operate on organized by charset; only operate on columns not yet utf8 |
| 2815 | 2972 | if ($charset != 'utf8') { |
| 2816 | - if (!isset($table_charsets[$charset])) |
|
| 2817 | - $table_charsets[$charset] = array(); |
|
| 2973 | + if (!isset($table_charsets[$charset])) { |
|
| 2974 | + $table_charsets[$charset] = array(); |
|
| 2975 | + } |
|
| 2818 | 2976 | |
| 2819 | 2977 | $table_charsets[$charset][] = $column_info; |
| 2820 | 2978 | } |
@@ -2855,10 +3013,11 @@ discard block |
||
| 2855 | 3013 | if (isset($translation_tables[$upcontext['charset_detected']])) |
| 2856 | 3014 | { |
| 2857 | 3015 | $update = ''; |
| 2858 | - foreach ($table_charsets as $charset => $columns) |
|
| 2859 | - foreach ($columns as $column) |
|
| 3016 | + foreach ($table_charsets as $charset => $columns) { |
|
| 3017 | + foreach ($columns as $column) |
|
| 2860 | 3018 | $update .= ' |
| 2861 | 3019 | ' . $column['Field'] . ' = ' . strtr($replace, array('%field%' => $column['Field'])) . ','; |
| 3020 | + } |
|
| 2862 | 3021 | |
| 2863 | 3022 | $smcFunc['db_query']('', ' |
| 2864 | 3023 | UPDATE {raw:table_name} |
@@ -2883,8 +3042,9 @@ discard block |
||
| 2883 | 3042 | // Now do the actual conversion (if still needed). |
| 2884 | 3043 | if ($charsets[$upcontext['charset_detected']] !== 'utf8') |
| 2885 | 3044 | { |
| 2886 | - if ($command_line) |
|
| 2887 | - echo 'Converting table ' . $table_info['Name'] . ' to UTF-8...'; |
|
| 3045 | + if ($command_line) { |
|
| 3046 | + echo 'Converting table ' . $table_info['Name'] . ' to UTF-8...'; |
|
| 3047 | + } |
|
| 2888 | 3048 | |
| 2889 | 3049 | $smcFunc['db_query']('', ' |
| 2890 | 3050 | ALTER TABLE {raw:table_name} |
@@ -2894,12 +3054,14 @@ discard block |
||
| 2894 | 3054 | ) |
| 2895 | 3055 | ); |
| 2896 | 3056 | |
| 2897 | - if ($command_line) |
|
| 2898 | - echo " done.\n"; |
|
| 3057 | + if ($command_line) { |
|
| 3058 | + echo " done.\n"; |
|
| 3059 | + } |
|
| 2899 | 3060 | } |
| 2900 | 3061 | // If this is XML to keep it nice for the user do one table at a time anyway! |
| 2901 | - if (isset($_GET['xml']) && $upcontext['cur_table_num'] < $upcontext['table_count']) |
|
| 2902 | - return upgradeExit(); |
|
| 3062 | + if (isset($_GET['xml']) && $upcontext['cur_table_num'] < $upcontext['table_count']) { |
|
| 3063 | + return upgradeExit(); |
|
| 3064 | + } |
|
| 2903 | 3065 | } |
| 2904 | 3066 | |
| 2905 | 3067 | $prev_charset = empty($translation_tables[$upcontext['charset_detected']]) ? $charsets[$upcontext['charset_detected']] : $translation_tables[$upcontext['charset_detected']]; |
@@ -2928,8 +3090,8 @@ discard block |
||
| 2928 | 3090 | ); |
| 2929 | 3091 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 2930 | 3092 | { |
| 2931 | - if (@safe_unserialize($row['extra']) === false && preg_match('~^(a:3:{s:5:"topic";i:\d+;s:7:"subject";s:)(\d+):"(.+)"(;s:6:"member";s:5:"\d+";})$~', $row['extra'], $matches) === 1) |
|
| 2932 | - $smcFunc['db_query']('', ' |
|
| 3093 | + if (@safe_unserialize($row['extra']) === false && preg_match('~^(a:3:{s:5:"topic";i:\d+;s:7:"subject";s:)(\d+):"(.+)"(;s:6:"member";s:5:"\d+";})$~', $row['extra'], $matches) === 1) { |
|
| 3094 | + $smcFunc['db_query']('', ' |
|
| 2933 | 3095 | UPDATE {db_prefix}log_actions |
| 2934 | 3096 | SET extra = {string:extra} |
| 2935 | 3097 | WHERE id_action = {int:current_action}', |
@@ -2938,6 +3100,7 @@ discard block |
||
| 2938 | 3100 | 'extra' => $matches[1] . strlen($matches[3]) . ':"' . $matches[3] . '"' . $matches[4], |
| 2939 | 3101 | ) |
| 2940 | 3102 | ); |
| 3103 | + } |
|
| 2941 | 3104 | } |
| 2942 | 3105 | $smcFunc['db_free_result']($request); |
| 2943 | 3106 | |
@@ -2959,15 +3122,17 @@ discard block |
||
| 2959 | 3122 | // First thing's first - did we already do this? |
| 2960 | 3123 | if (!empty($modSettings['json_done'])) |
| 2961 | 3124 | { |
| 2962 | - if ($command_line) |
|
| 2963 | - return DeleteUpgrade(); |
|
| 2964 | - else |
|
| 2965 | - return true; |
|
| 3125 | + if ($command_line) { |
|
| 3126 | + return DeleteUpgrade(); |
|
| 3127 | + } else { |
|
| 3128 | + return true; |
|
| 3129 | + } |
|
| 2966 | 3130 | } |
| 2967 | 3131 | |
| 2968 | 3132 | // Done it already - js wise? |
| 2969 | - if (!empty($_POST['json_done'])) |
|
| 2970 | - return true; |
|
| 3133 | + if (!empty($_POST['json_done'])) { |
|
| 3134 | + return true; |
|
| 3135 | + } |
|
| 2971 | 3136 | |
| 2972 | 3137 | // List of tables affected by this function |
| 2973 | 3138 | // name => array('key', col1[,col2|true[,col3]]) |
@@ -2999,12 +3164,14 @@ discard block |
||
| 2999 | 3164 | $upcontext['cur_table_name'] = isset($keys[$_GET['substep']]) ? $keys[$_GET['substep']] : $keys[0]; |
| 3000 | 3165 | $upcontext['step_progress'] = (int) (($upcontext['cur_table_num'] / $upcontext['table_count']) * 100); |
| 3001 | 3166 | |
| 3002 | - foreach ($keys as $id => $table) |
|
| 3003 | - if ($id < $_GET['substep']) |
|
| 3167 | + foreach ($keys as $id => $table) { |
|
| 3168 | + if ($id < $_GET['substep']) |
|
| 3004 | 3169 | $upcontext['previous_tables'][] = $table; |
| 3170 | + } |
|
| 3005 | 3171 | |
| 3006 | - if ($command_line) |
|
| 3007 | - echo 'Converting data from serialize() to json_encode().'; |
|
| 3172 | + if ($command_line) { |
|
| 3173 | + echo 'Converting data from serialize() to json_encode().'; |
|
| 3174 | + } |
|
| 3008 | 3175 | |
| 3009 | 3176 | if (!$support_js || isset($_GET['xml'])) |
| 3010 | 3177 | { |
@@ -3044,8 +3211,9 @@ discard block |
||
| 3044 | 3211 | |
| 3045 | 3212 | // Loop through and fix these... |
| 3046 | 3213 | $new_settings = array(); |
| 3047 | - if ($command_line) |
|
| 3048 | - echo "\n" . 'Fixing some settings...'; |
|
| 3214 | + if ($command_line) { |
|
| 3215 | + echo "\n" . 'Fixing some settings...'; |
|
| 3216 | + } |
|
| 3049 | 3217 | |
| 3050 | 3218 | foreach ($serialized_settings as $var) |
| 3051 | 3219 | { |
@@ -3053,22 +3221,24 @@ discard block |
||
| 3053 | 3221 | { |
| 3054 | 3222 | // Attempt to unserialize the setting |
| 3055 | 3223 | $temp = @safe_unserialize($modSettings[$var]); |
| 3056 | - if (!$temp && $command_line) |
|
| 3057 | - echo "\n - Failed to unserialize the '" . $var . "' setting. Skipping."; |
|
| 3058 | - elseif ($temp !== false) |
|
| 3059 | - $new_settings[$var] = json_encode($temp); |
|
| 3224 | + if (!$temp && $command_line) { |
|
| 3225 | + echo "\n - Failed to unserialize the '" . $var . "' setting. Skipping."; |
|
| 3226 | + } elseif ($temp !== false) { |
|
| 3227 | + $new_settings[$var] = json_encode($temp); |
|
| 3228 | + } |
|
| 3060 | 3229 | } |
| 3061 | 3230 | } |
| 3062 | 3231 | |
| 3063 | 3232 | // Update everything at once |
| 3064 | - if (!function_exists('cache_put_data')) |
|
| 3065 | - require_once($sourcedir . '/Load.php'); |
|
| 3233 | + if (!function_exists('cache_put_data')) { |
|
| 3234 | + require_once($sourcedir . '/Load.php'); |
|
| 3235 | + } |
|
| 3066 | 3236 | updateSettings($new_settings, true); |
| 3067 | 3237 | |
| 3068 | - if ($command_line) |
|
| 3069 | - echo ' done.'; |
|
| 3070 | - } |
|
| 3071 | - elseif ($table == 'themes') |
|
| 3238 | + if ($command_line) { |
|
| 3239 | + echo ' done.'; |
|
| 3240 | + } |
|
| 3241 | + } elseif ($table == 'themes') |
|
| 3072 | 3242 | { |
| 3073 | 3243 | // Finally, fix the admin prefs. Unfortunately this is stored per theme, but hopefully they only have one theme installed at this point... |
| 3074 | 3244 | $query = $smcFunc['db_query']('', ' |
@@ -3087,10 +3257,11 @@ discard block |
||
| 3087 | 3257 | |
| 3088 | 3258 | if ($command_line) |
| 3089 | 3259 | { |
| 3090 | - if ($temp === false) |
|
| 3091 | - echo "\n" . 'Unserialize of admin_preferences for user ' . $row['id_member'] . ' failed. Skipping.'; |
|
| 3092 | - else |
|
| 3093 | - echo "\n" . 'Fixing admin preferences...'; |
|
| 3260 | + if ($temp === false) { |
|
| 3261 | + echo "\n" . 'Unserialize of admin_preferences for user ' . $row['id_member'] . ' failed. Skipping.'; |
|
| 3262 | + } else { |
|
| 3263 | + echo "\n" . 'Fixing admin preferences...'; |
|
| 3264 | + } |
|
| 3094 | 3265 | } |
| 3095 | 3266 | |
| 3096 | 3267 | if ($temp !== false) |
@@ -3112,15 +3283,15 @@ discard block |
||
| 3112 | 3283 | ) |
| 3113 | 3284 | ); |
| 3114 | 3285 | |
| 3115 | - if ($command_line) |
|
| 3116 | - echo ' done.'; |
|
| 3286 | + if ($command_line) { |
|
| 3287 | + echo ' done.'; |
|
| 3288 | + } |
|
| 3117 | 3289 | } |
| 3118 | 3290 | } |
| 3119 | 3291 | |
| 3120 | 3292 | $smcFunc['db_free_result']($query); |
| 3121 | 3293 | } |
| 3122 | - } |
|
| 3123 | - else |
|
| 3294 | + } else |
|
| 3124 | 3295 | { |
| 3125 | 3296 | // First item is always the key... |
| 3126 | 3297 | $key = $info[0]; |
@@ -3131,8 +3302,7 @@ discard block |
||
| 3131 | 3302 | { |
| 3132 | 3303 | $col_select = $info[1]; |
| 3133 | 3304 | $where = ' WHERE ' . $info[1] . ' != {empty}'; |
| 3134 | - } |
|
| 3135 | - else |
|
| 3305 | + } else |
|
| 3136 | 3306 | { |
| 3137 | 3307 | $col_select = implode(', ', $info); |
| 3138 | 3308 | } |
@@ -3165,8 +3335,7 @@ discard block |
||
| 3165 | 3335 | if ($temp === false && $command_line) |
| 3166 | 3336 | { |
| 3167 | 3337 | echo "\nFailed to unserialize " . $row[$col] . "... Skipping\n"; |
| 3168 | - } |
|
| 3169 | - else |
|
| 3338 | + } else |
|
| 3170 | 3339 | { |
| 3171 | 3340 | $row[$col] = json_encode($temp); |
| 3172 | 3341 | |
@@ -3191,16 +3360,18 @@ discard block |
||
| 3191 | 3360 | } |
| 3192 | 3361 | } |
| 3193 | 3362 | |
| 3194 | - if ($command_line) |
|
| 3195 | - echo ' done.'; |
|
| 3363 | + if ($command_line) { |
|
| 3364 | + echo ' done.'; |
|
| 3365 | + } |
|
| 3196 | 3366 | |
| 3197 | 3367 | // Free up some memory... |
| 3198 | 3368 | $smcFunc['db_free_result']($query); |
| 3199 | 3369 | } |
| 3200 | 3370 | } |
| 3201 | 3371 | // If this is XML to keep it nice for the user do one table at a time anyway! |
| 3202 | - if (isset($_GET['xml'])) |
|
| 3203 | - return upgradeExit(); |
|
| 3372 | + if (isset($_GET['xml'])) { |
|
| 3373 | + return upgradeExit(); |
|
| 3374 | + } |
|
| 3204 | 3375 | } |
| 3205 | 3376 | |
| 3206 | 3377 | if ($command_line) |
@@ -3215,8 +3386,9 @@ discard block |
||
| 3215 | 3386 | |
| 3216 | 3387 | $_GET['substep'] = 0; |
| 3217 | 3388 | // Make sure we move on! |
| 3218 | - if ($command_line) |
|
| 3219 | - return DeleteUpgrade(); |
|
| 3389 | + if ($command_line) { |
|
| 3390 | + return DeleteUpgrade(); |
|
| 3391 | + } |
|
| 3220 | 3392 | |
| 3221 | 3393 | return true; |
| 3222 | 3394 | } |
@@ -3236,14 +3408,16 @@ discard block |
||
| 3236 | 3408 | global $upcontext, $txt, $settings; |
| 3237 | 3409 | |
| 3238 | 3410 | // Don't call me twice! |
| 3239 | - if (!empty($upcontext['chmod_called'])) |
|
| 3240 | - return; |
|
| 3411 | + if (!empty($upcontext['chmod_called'])) { |
|
| 3412 | + return; |
|
| 3413 | + } |
|
| 3241 | 3414 | |
| 3242 | 3415 | $upcontext['chmod_called'] = true; |
| 3243 | 3416 | |
| 3244 | 3417 | // Nothing? |
| 3245 | - if (empty($upcontext['chmod']['files']) && empty($upcontext['chmod']['ftp_error'])) |
|
| 3246 | - return; |
|
| 3418 | + if (empty($upcontext['chmod']['files']) && empty($upcontext['chmod']['ftp_error'])) { |
|
| 3419 | + return; |
|
| 3420 | + } |
|
| 3247 | 3421 | |
| 3248 | 3422 | // Was it a problem with Windows? |
| 3249 | 3423 | if (!empty($upcontext['chmod']['ftp_error']) && $upcontext['chmod']['ftp_error'] == 'total_mess') |
@@ -3275,11 +3449,12 @@ discard block |
||
| 3275 | 3449 | content.write(\'<div class="windowbg description">\n\t\t\t<h4>The following files needs to be made writable to continue:</h4>\n\t\t\t\'); |
| 3276 | 3450 | content.write(\'<p>', implode('<br>\n\t\t\t', $upcontext['chmod']['files']), '</p>\n\t\t\t\');'; |
| 3277 | 3451 | |
| 3278 | - if (isset($upcontext['systemos']) && $upcontext['systemos'] == 'linux') |
|
| 3279 | - echo ' |
|
| 3452 | + if (isset($upcontext['systemos']) && $upcontext['systemos'] == 'linux') { |
|
| 3453 | + echo ' |
|
| 3280 | 3454 | content.write(\'<hr>\n\t\t\t\'); |
| 3281 | 3455 | content.write(\'<p>If you have a shell account, the convenient below command can automatically correct permissions on these files</p>\n\t\t\t\'); |
| 3282 | 3456 | content.write(\'<tt># chmod a+w ', implode(' ', $upcontext['chmod']['files']), '</tt>\n\t\t\t\');'; |
| 3457 | + } |
|
| 3283 | 3458 | |
| 3284 | 3459 | echo ' |
| 3285 | 3460 | content.write(\'<a href="javascript:self.close();">close</a>\n\t\t</div>\n\t</body>\n</html>\'); |
@@ -3287,17 +3462,19 @@ discard block |
||
| 3287 | 3462 | } |
| 3288 | 3463 | </script>'; |
| 3289 | 3464 | |
| 3290 | - if (!empty($upcontext['chmod']['ftp_error'])) |
|
| 3291 | - echo ' |
|
| 3465 | + if (!empty($upcontext['chmod']['ftp_error'])) { |
|
| 3466 | + echo ' |
|
| 3292 | 3467 | <div class="error_message red"> |
| 3293 | 3468 | The following error was encountered when trying to connect:<br><br> |
| 3294 | 3469 | <code>', $upcontext['chmod']['ftp_error'], '</code> |
| 3295 | 3470 | </div> |
| 3296 | 3471 | <br>'; |
| 3472 | + } |
|
| 3297 | 3473 | |
| 3298 | - if (empty($upcontext['chmod_in_form'])) |
|
| 3299 | - echo ' |
|
| 3474 | + if (empty($upcontext['chmod_in_form'])) { |
|
| 3475 | + echo ' |
|
| 3300 | 3476 | <form action="', $upcontext['form_url'], '" method="post">'; |
| 3477 | + } |
|
| 3301 | 3478 | |
| 3302 | 3479 | echo ' |
| 3303 | 3480 | <table width="520" border="0" align="center" style="margin-bottom: 1ex;"> |
@@ -3332,10 +3509,11 @@ discard block |
||
| 3332 | 3509 | <div class="righttext" style="margin: 1ex;"><input type="submit" value="', $txt['ftp_connect'], '" class="button"></div> |
| 3333 | 3510 | </div>'; |
| 3334 | 3511 | |
| 3335 | - if (empty($upcontext['chmod_in_form'])) |
|
| 3336 | - echo ' |
|
| 3512 | + if (empty($upcontext['chmod_in_form'])) { |
|
| 3513 | + echo ' |
|
| 3337 | 3514 | </form>'; |
| 3338 | -} |
|
| 3515 | + } |
|
| 3516 | + } |
|
| 3339 | 3517 | |
| 3340 | 3518 | function template_upgrade_above() |
| 3341 | 3519 | { |
@@ -3395,9 +3573,10 @@ discard block |
||
| 3395 | 3573 | <h2>', $txt['upgrade_progress'], '</h2> |
| 3396 | 3574 | <ul>'; |
| 3397 | 3575 | |
| 3398 | - foreach ($upcontext['steps'] as $num => $step) |
|
| 3399 | - echo ' |
|
| 3576 | + foreach ($upcontext['steps'] as $num => $step) { |
|
| 3577 | + echo ' |
|
| 3400 | 3578 | <li class="', $num < $upcontext['current_step'] ? 'stepdone' : ($num == $upcontext['current_step'] ? 'stepcurrent' : 'stepwaiting'), '">', $txt['upgrade_step'], ' ', $step[0], ': ', $step[1], '</li>'; |
| 3579 | + } |
|
| 3401 | 3580 | |
| 3402 | 3581 | echo ' |
| 3403 | 3582 | </ul> |
@@ -3410,8 +3589,8 @@ discard block |
||
| 3410 | 3589 | </div> |
| 3411 | 3590 | </div>'; |
| 3412 | 3591 | |
| 3413 | - if (isset($upcontext['step_progress'])) |
|
| 3414 | - echo ' |
|
| 3592 | + if (isset($upcontext['step_progress'])) { |
|
| 3593 | + echo ' |
|
| 3415 | 3594 | <br> |
| 3416 | 3595 | <br> |
| 3417 | 3596 | <div id="progress_bar_step"> |
@@ -3420,6 +3599,7 @@ discard block |
||
| 3420 | 3599 | <span>', $txt['upgrade_step_progress'], '</span> |
| 3421 | 3600 | </div> |
| 3422 | 3601 | </div>'; |
| 3602 | + } |
|
| 3423 | 3603 | |
| 3424 | 3604 | echo ' |
| 3425 | 3605 | <div id="substep_bar_div" class="smalltext" style="float: left;width: 50%;margin-top: 0.6em;display: ', isset($upcontext['substep_progress']) ? '' : 'none', ';">', isset($upcontext['substep_progress_name']) ? trim(strtr($upcontext['substep_progress_name'], array('.' => ''))) : '', ':</div> |
@@ -3450,32 +3630,36 @@ discard block |
||
| 3450 | 3630 | { |
| 3451 | 3631 | global $upcontext, $txt; |
| 3452 | 3632 | |
| 3453 | - if (!empty($upcontext['pause'])) |
|
| 3454 | - echo ' |
|
| 3633 | + if (!empty($upcontext['pause'])) { |
|
| 3634 | + echo ' |
|
| 3455 | 3635 | <em>', $txt['upgrade_incomplete'], '.</em><br> |
| 3456 | 3636 | |
| 3457 | 3637 | <h2 style="margin-top: 2ex;">', $txt['upgrade_not_quite_done'], '</h2> |
| 3458 | 3638 | <h3> |
| 3459 | 3639 | ', $txt['upgrade_paused_overload'], ' |
| 3460 | 3640 | </h3>'; |
| 3641 | + } |
|
| 3461 | 3642 | |
| 3462 | - if (!empty($upcontext['custom_warning'])) |
|
| 3463 | - echo ' |
|
| 3643 | + if (!empty($upcontext['custom_warning'])) { |
|
| 3644 | + echo ' |
|
| 3464 | 3645 | <div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;"> |
| 3465 | 3646 | <div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div> |
| 3466 | 3647 | <strong style="text-decoration: underline;">', $txt['upgrade_note'], '</strong><br> |
| 3467 | 3648 | <div style="padding-left: 6ex;">', $upcontext['custom_warning'], '</div> |
| 3468 | 3649 | </div>'; |
| 3650 | + } |
|
| 3469 | 3651 | |
| 3470 | 3652 | echo ' |
| 3471 | 3653 | <div class="righttext" style="margin: 1ex;">'; |
| 3472 | 3654 | |
| 3473 | - if (!empty($upcontext['continue'])) |
|
| 3474 | - echo ' |
|
| 3655 | + if (!empty($upcontext['continue'])) { |
|
| 3656 | + echo ' |
|
| 3475 | 3657 | <input type="submit" id="contbutt" name="contbutt" value="', $txt['upgrade_continue'], '"', $upcontext['continue'] == 2 ? ' disabled' : '', ' class="button">'; |
| 3476 | - if (!empty($upcontext['skip'])) |
|
| 3477 | - echo ' |
|
| 3658 | + } |
|
| 3659 | + if (!empty($upcontext['skip'])) { |
|
| 3660 | + echo ' |
|
| 3478 | 3661 | <input type="submit" id="skip" name="skip" value="', $txt['upgrade_skip'], '" onclick="dontSubmit = true; document.getElementById(\'contbutt\').disabled = \'disabled\'; return true;" class="button">'; |
| 3662 | + } |
|
| 3479 | 3663 | |
| 3480 | 3664 | echo ' |
| 3481 | 3665 | </div> |
@@ -3525,11 +3709,12 @@ discard block |
||
| 3525 | 3709 | echo '<', '?xml version="1.0" encoding="UTF-8"?', '> |
| 3526 | 3710 | <smf>'; |
| 3527 | 3711 | |
| 3528 | - if (!empty($upcontext['get_data'])) |
|
| 3529 | - foreach ($upcontext['get_data'] as $k => $v) |
|
| 3712 | + if (!empty($upcontext['get_data'])) { |
|
| 3713 | + foreach ($upcontext['get_data'] as $k => $v) |
|
| 3530 | 3714 | echo ' |
| 3531 | 3715 | <get key="', $k, '">', $v, '</get>'; |
| 3532 | -} |
|
| 3716 | + } |
|
| 3717 | + } |
|
| 3533 | 3718 | |
| 3534 | 3719 | function template_xml_below() |
| 3535 | 3720 | { |
@@ -3570,8 +3755,8 @@ discard block |
||
| 3570 | 3755 | template_chmod(); |
| 3571 | 3756 | |
| 3572 | 3757 | // For large, pre 1.1 RC2 forums give them a warning about the possible impact of this upgrade! |
| 3573 | - if ($upcontext['is_large_forum']) |
|
| 3574 | - echo ' |
|
| 3758 | + if ($upcontext['is_large_forum']) { |
|
| 3759 | + echo ' |
|
| 3575 | 3760 | <div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;"> |
| 3576 | 3761 | <div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div> |
| 3577 | 3762 | <strong style="text-decoration: underline;">', $txt['upgrade_warning'], '</strong><br> |
@@ -3579,10 +3764,11 @@ discard block |
||
| 3579 | 3764 | ', $txt['upgrade_warning_lots_data'], ' |
| 3580 | 3765 | </div> |
| 3581 | 3766 | </div>'; |
| 3767 | + } |
|
| 3582 | 3768 | |
| 3583 | 3769 | // A warning message? |
| 3584 | - if (!empty($upcontext['warning'])) |
|
| 3585 | - echo ' |
|
| 3770 | + if (!empty($upcontext['warning'])) { |
|
| 3771 | + echo ' |
|
| 3586 | 3772 | <div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;"> |
| 3587 | 3773 | <div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div> |
| 3588 | 3774 | <strong style="text-decoration: underline;">', $txt['upgrade_warning'], '</strong><br> |
@@ -3590,6 +3776,7 @@ discard block |
||
| 3590 | 3776 | ', $upcontext['warning'], ' |
| 3591 | 3777 | </div> |
| 3592 | 3778 | </div>'; |
| 3779 | + } |
|
| 3593 | 3780 | |
| 3594 | 3781 | // Paths are incorrect? |
| 3595 | 3782 | echo ' |
@@ -3605,20 +3792,22 @@ discard block |
||
| 3605 | 3792 | if (!empty($upcontext['user']['id']) && (time() - $upcontext['started'] < 72600 || time() - $upcontext['updated'] < 3600)) |
| 3606 | 3793 | { |
| 3607 | 3794 | $ago = time() - $upcontext['started']; |
| 3608 | - if ($ago < 60) |
|
| 3609 | - $ago = $ago . ' seconds'; |
|
| 3610 | - elseif ($ago < 3600) |
|
| 3611 | - $ago = (int) ($ago / 60) . ' minutes'; |
|
| 3612 | - else |
|
| 3613 | - $ago = (int) ($ago / 3600) . ' hours'; |
|
| 3795 | + if ($ago < 60) { |
|
| 3796 | + $ago = $ago . ' seconds'; |
|
| 3797 | + } elseif ($ago < 3600) { |
|
| 3798 | + $ago = (int) ($ago / 60) . ' minutes'; |
|
| 3799 | + } else { |
|
| 3800 | + $ago = (int) ($ago / 3600) . ' hours'; |
|
| 3801 | + } |
|
| 3614 | 3802 | |
| 3615 | 3803 | $active = time() - $upcontext['updated']; |
| 3616 | - if ($active < 60) |
|
| 3617 | - $updated = $active . ' seconds'; |
|
| 3618 | - elseif ($active < 3600) |
|
| 3619 | - $updated = (int) ($active / 60) . ' minutes'; |
|
| 3620 | - else |
|
| 3621 | - $updated = (int) ($active / 3600) . ' hours'; |
|
| 3804 | + if ($active < 60) { |
|
| 3805 | + $updated = $active . ' seconds'; |
|
| 3806 | + } elseif ($active < 3600) { |
|
| 3807 | + $updated = (int) ($active / 60) . ' minutes'; |
|
| 3808 | + } else { |
|
| 3809 | + $updated = (int) ($active / 3600) . ' hours'; |
|
| 3810 | + } |
|
| 3622 | 3811 | |
| 3623 | 3812 | echo ' |
| 3624 | 3813 | <div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;"> |
@@ -3627,16 +3816,18 @@ discard block |
||
| 3627 | 3816 | <div style="padding-left: 6ex;"> |
| 3628 | 3817 | "', $upcontext['user']['name'], '" has been running the upgrade script for the last ', $ago, ' - and was last active ', $updated, ' ago.'; |
| 3629 | 3818 | |
| 3630 | - if ($active < 600) |
|
| 3631 | - echo ' |
|
| 3819 | + if ($active < 600) { |
|
| 3820 | + echo ' |
|
| 3632 | 3821 | We recommend that you do not run this script unless you are sure that ', $upcontext['user']['name'], ' has completed their upgrade.'; |
| 3822 | + } |
|
| 3633 | 3823 | |
| 3634 | - if ($active > $upcontext['inactive_timeout']) |
|
| 3635 | - echo ' |
|
| 3824 | + if ($active > $upcontext['inactive_timeout']) { |
|
| 3825 | + echo ' |
|
| 3636 | 3826 | <br><br>You can choose to either run the upgrade again from the beginning - or alternatively continue from the last step reached during the last upgrade.'; |
| 3637 | - else |
|
| 3638 | - echo ' |
|
| 3827 | + } else { |
|
| 3828 | + echo ' |
|
| 3639 | 3829 | <br><br>This upgrade script cannot be run until ', $upcontext['user']['name'], ' has been inactive for at least ', ($upcontext['inactive_timeout'] > 120 ? round($upcontext['inactive_timeout'] / 60, 1) . ' minutes!' : $upcontext['inactive_timeout'] . ' seconds!'); |
| 3830 | + } |
|
| 3640 | 3831 | |
| 3641 | 3832 | echo ' |
| 3642 | 3833 | </div> |
@@ -3652,9 +3843,10 @@ discard block |
||
| 3652 | 3843 | <td> |
| 3653 | 3844 | <input type="text" name="user" value="', !empty($upcontext['username']) ? $upcontext['username'] : '', '"', $disable_security ? ' disabled' : '', '>'; |
| 3654 | 3845 | |
| 3655 | - if (!empty($upcontext['username_incorrect'])) |
|
| 3656 | - echo ' |
|
| 3846 | + if (!empty($upcontext['username_incorrect'])) { |
|
| 3847 | + echo ' |
|
| 3657 | 3848 | <div class="smalltext" style="color: red;">Username Incorrect</div>'; |
| 3849 | + } |
|
| 3658 | 3850 | |
| 3659 | 3851 | echo ' |
| 3660 | 3852 | </td> |
@@ -3665,9 +3857,10 @@ discard block |
||
| 3665 | 3857 | <input type="password" name="passwrd" value=""', $disable_security ? ' disabled' : '', '> |
| 3666 | 3858 | <input type="hidden" name="hash_passwrd" value="">'; |
| 3667 | 3859 | |
| 3668 | - if (!empty($upcontext['password_failed'])) |
|
| 3669 | - echo ' |
|
| 3860 | + if (!empty($upcontext['password_failed'])) { |
|
| 3861 | + echo ' |
|
| 3670 | 3862 | <div class="smalltext" style="color: red;">Password Incorrect</div>'; |
| 3863 | + } |
|
| 3671 | 3864 | |
| 3672 | 3865 | echo ' |
| 3673 | 3866 | </td> |
@@ -3738,8 +3931,8 @@ discard block |
||
| 3738 | 3931 | <form action="', $upcontext['form_url'], '" method="post" name="upform" id="upform">'; |
| 3739 | 3932 | |
| 3740 | 3933 | // Warning message? |
| 3741 | - if (!empty($upcontext['upgrade_options_warning'])) |
|
| 3742 | - echo ' |
|
| 3934 | + if (!empty($upcontext['upgrade_options_warning'])) { |
|
| 3935 | + echo ' |
|
| 3743 | 3936 | <div style="margin: 1ex; padding: 1ex; border: 1px dashed #cc3344; color: black; background-color: #ffe4e9;"> |
| 3744 | 3937 | <div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div> |
| 3745 | 3938 | <strong style="text-decoration: underline;">Warning!</strong><br> |
@@ -3747,6 +3940,7 @@ discard block |
||
| 3747 | 3940 | ', $upcontext['upgrade_options_warning'], ' |
| 3748 | 3941 | </div> |
| 3749 | 3942 | </div>'; |
| 3943 | + } |
|
| 3750 | 3944 | |
| 3751 | 3945 | echo ' |
| 3752 | 3946 | <table> |
@@ -3789,8 +3983,8 @@ discard block |
||
| 3789 | 3983 | </td> |
| 3790 | 3984 | </tr>'; |
| 3791 | 3985 | |
| 3792 | - if (!empty($upcontext['karma_installed']['good']) || !empty($upcontext['karma_installed']['bad'])) |
|
| 3793 | - echo ' |
|
| 3986 | + if (!empty($upcontext['karma_installed']['good']) || !empty($upcontext['karma_installed']['bad'])) { |
|
| 3987 | + echo ' |
|
| 3794 | 3988 | <tr valign="top"> |
| 3795 | 3989 | <td width="2%"> |
| 3796 | 3990 | <input type="checkbox" name="delete_karma" id="delete_karma" value="1"> |
@@ -3799,6 +3993,7 @@ discard block |
||
| 3799 | 3993 | <label for="delete_karma">Delete all karma settings and info from the DB</label> |
| 3800 | 3994 | </td> |
| 3801 | 3995 | </tr>'; |
| 3996 | + } |
|
| 3802 | 3997 | |
| 3803 | 3998 | echo ' |
| 3804 | 3999 | <tr valign="top"> |
@@ -3836,10 +4031,11 @@ discard block |
||
| 3836 | 4031 | </div>'; |
| 3837 | 4032 | |
| 3838 | 4033 | // Dont any tables so far? |
| 3839 | - if (!empty($upcontext['previous_tables'])) |
|
| 3840 | - foreach ($upcontext['previous_tables'] as $table) |
|
| 4034 | + if (!empty($upcontext['previous_tables'])) { |
|
| 4035 | + foreach ($upcontext['previous_tables'] as $table) |
|
| 3841 | 4036 | echo ' |
| 3842 | 4037 | <br>Completed Table: "', $table, '".'; |
| 4038 | + } |
|
| 3843 | 4039 | |
| 3844 | 4040 | echo ' |
| 3845 | 4041 | <h3 id="current_tab_div">Current Table: "<span id="current_table">', $upcontext['cur_table_name'], '</span>"</h3> |
@@ -3876,12 +4072,13 @@ discard block |
||
| 3876 | 4072 | updateStepProgress(iTableNum, ', $upcontext['table_count'], ', ', $upcontext['step_weight'] * ((100 - $upcontext['step_progress']) / 100), ');'; |
| 3877 | 4073 | |
| 3878 | 4074 | // If debug flood the screen. |
| 3879 | - if ($is_debug) |
|
| 3880 | - echo ' |
|
| 4075 | + if ($is_debug) { |
|
| 4076 | + echo ' |
|
| 3881 | 4077 | setOuterHTML(document.getElementById(\'debuginfo\'), \'<br>Completed Table: "\' + sCompletedTableName + \'".<span id="debuginfo"><\' + \'/span>\'); |
| 3882 | 4078 | |
| 3883 | 4079 | if (document.getElementById(\'debug_section\').scrollHeight) |
| 3884 | 4080 | document.getElementById(\'debug_section\').scrollTop = document.getElementById(\'debug_section\').scrollHeight'; |
| 4081 | + } |
|
| 3885 | 4082 | |
| 3886 | 4083 | echo ' |
| 3887 | 4084 | // Get the next update... |
@@ -3914,8 +4111,9 @@ discard block |
||
| 3914 | 4111 | { |
| 3915 | 4112 | global $upcontext, $support_js, $is_debug, $timeLimitThreshold; |
| 3916 | 4113 | |
| 3917 | - if (empty($is_debug) && !empty($upcontext['upgrade_status']['debug'])) |
|
| 3918 | - $is_debug = true; |
|
| 4114 | + if (empty($is_debug) && !empty($upcontext['upgrade_status']['debug'])) { |
|
| 4115 | + $is_debug = true; |
|
| 4116 | + } |
|
| 3919 | 4117 | |
| 3920 | 4118 | echo ' |
| 3921 | 4119 | <h3>Executing database changes</h3> |
@@ -3930,8 +4128,9 @@ discard block |
||
| 3930 | 4128 | { |
| 3931 | 4129 | foreach ($upcontext['actioned_items'] as $num => $item) |
| 3932 | 4130 | { |
| 3933 | - if ($num != 0) |
|
| 3934 | - echo ' Successful!'; |
|
| 4131 | + if ($num != 0) { |
|
| 4132 | + echo ' Successful!'; |
|
| 4133 | + } |
|
| 3935 | 4134 | echo '<br>' . $item; |
| 3936 | 4135 | } |
| 3937 | 4136 | if (!empty($upcontext['changes_complete'])) |
@@ -3944,28 +4143,32 @@ discard block |
||
| 3944 | 4143 | $seconds = intval($active % 60); |
| 3945 | 4144 | |
| 3946 | 4145 | $totalTime = ''; |
| 3947 | - if ($hours > 0) |
|
| 3948 | - $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 3949 | - if ($minutes > 0) |
|
| 3950 | - $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 3951 | - if ($seconds > 0) |
|
| 3952 | - $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 4146 | + if ($hours > 0) { |
|
| 4147 | + $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 4148 | + } |
|
| 4149 | + if ($minutes > 0) { |
|
| 4150 | + $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 4151 | + } |
|
| 4152 | + if ($seconds > 0) { |
|
| 4153 | + $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 4154 | + } |
|
| 3953 | 4155 | } |
| 3954 | 4156 | |
| 3955 | - if ($is_debug && !empty($totalTime)) |
|
| 3956 | - echo ' Successful! Completed in ', $totalTime, '<br><br>'; |
|
| 3957 | - else |
|
| 3958 | - echo ' Successful!<br><br>'; |
|
| 4157 | + if ($is_debug && !empty($totalTime)) { |
|
| 4158 | + echo ' Successful! Completed in ', $totalTime, '<br><br>'; |
|
| 4159 | + } else { |
|
| 4160 | + echo ' Successful!<br><br>'; |
|
| 4161 | + } |
|
| 3959 | 4162 | |
| 3960 | 4163 | echo '<span id="commess" style="font-weight: bold;">1 Database Updates Complete! Click Continue to Proceed.</span><br>'; |
| 3961 | 4164 | } |
| 3962 | - } |
|
| 3963 | - else |
|
| 4165 | + } else |
|
| 3964 | 4166 | { |
| 3965 | 4167 | // Tell them how many files we have in total. |
| 3966 | - if ($upcontext['file_count'] > 1) |
|
| 3967 | - echo ' |
|
| 4168 | + if ($upcontext['file_count'] > 1) { |
|
| 4169 | + echo ' |
|
| 3968 | 4170 | <strong id="info1">Executing upgrade script <span id="file_done">', $upcontext['cur_file_num'], '</span> of ', $upcontext['file_count'], '.</strong>'; |
| 4171 | + } |
|
| 3969 | 4172 | |
| 3970 | 4173 | echo ' |
| 3971 | 4174 | <h3 id="info2"><strong>Executing:</strong> "<span id="cur_item_name">', $upcontext['current_item_name'], '</span>" (<span id="item_num">', $upcontext['current_item_num'], '</span> of <span id="total_items"><span id="item_count">', $upcontext['total_items'], '</span>', $upcontext['file_count'] > 1 ? ' - of this script' : '', ')</span></h3> |
@@ -3981,19 +4184,23 @@ discard block |
||
| 3981 | 4184 | $seconds = intval($active % 60); |
| 3982 | 4185 | |
| 3983 | 4186 | $totalTime = ''; |
| 3984 | - if ($hours > 0) |
|
| 3985 | - $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 3986 | - if ($minutes > 0) |
|
| 3987 | - $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 3988 | - if ($seconds > 0) |
|
| 3989 | - $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 4187 | + if ($hours > 0) { |
|
| 4188 | + $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 4189 | + } |
|
| 4190 | + if ($minutes > 0) { |
|
| 4191 | + $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 4192 | + } |
|
| 4193 | + if ($seconds > 0) { |
|
| 4194 | + $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 4195 | + } |
|
| 3990 | 4196 | } |
| 3991 | 4197 | |
| 3992 | 4198 | echo ' |
| 3993 | 4199 | <br><span id="upgradeCompleted">'; |
| 3994 | 4200 | |
| 3995 | - if (!empty($totalTime)) |
|
| 3996 | - echo 'Completed in ', $totalTime, '<br>'; |
|
| 4201 | + if (!empty($totalTime)) { |
|
| 4202 | + echo 'Completed in ', $totalTime, '<br>'; |
|
| 4203 | + } |
|
| 3997 | 4204 | |
| 3998 | 4205 | echo '</span> |
| 3999 | 4206 | <div id="debug_section" style="height: 59px; overflow: auto;"> |
@@ -4030,9 +4237,10 @@ discard block |
||
| 4030 | 4237 | var getData = ""; |
| 4031 | 4238 | var debugItems = ', $upcontext['debug_items'], ';'; |
| 4032 | 4239 | |
| 4033 | - if ($is_debug) |
|
| 4034 | - echo ' |
|
| 4240 | + if ($is_debug) { |
|
| 4241 | + echo ' |
|
| 4035 | 4242 | var upgradeStartTime = ' . $upcontext['started'] . ';'; |
| 4243 | + } |
|
| 4036 | 4244 | |
| 4037 | 4245 | echo ' |
| 4038 | 4246 | function getNextItem() |
@@ -4072,9 +4280,10 @@ discard block |
||
| 4072 | 4280 | document.getElementById("error_block").style.display = ""; |
| 4073 | 4281 | setInnerHTML(document.getElementById("error_message"), "Error retrieving information on step: " + (sDebugName == "" ? sLastString : sDebugName));'; |
| 4074 | 4282 | |
| 4075 | - if ($is_debug) |
|
| 4076 | - echo ' |
|
| 4283 | + if ($is_debug) { |
|
| 4284 | + echo ' |
|
| 4077 | 4285 | setOuterHTML(document.getElementById(\'debuginfo\'), \'<span style="color: red;">failed<\' + \'/span><span id="debuginfo"><\' + \'/span>\');'; |
| 4286 | + } |
|
| 4078 | 4287 | |
| 4079 | 4288 | echo ' |
| 4080 | 4289 | } |
@@ -4095,9 +4304,10 @@ discard block |
||
| 4095 | 4304 | document.getElementById("error_block").style.display = ""; |
| 4096 | 4305 | setInnerHTML(document.getElementById("error_message"), "Upgrade script appears to be going into a loop - step: " + sDebugName);'; |
| 4097 | 4306 | |
| 4098 | - if ($is_debug) |
|
| 4099 | - echo ' |
|
| 4307 | + if ($is_debug) { |
|
| 4308 | + echo ' |
|
| 4100 | 4309 | setOuterHTML(document.getElementById(\'debuginfo\'), \'<span style="color: red;">failed<\' + \'/span><span id="debuginfo"><\' + \'/span>\');'; |
| 4310 | + } |
|
| 4101 | 4311 | |
| 4102 | 4312 | echo ' |
| 4103 | 4313 | } |
@@ -4156,8 +4366,8 @@ discard block |
||
| 4156 | 4366 | if (bIsComplete && iDebugNum == -1 && curFile >= ', $upcontext['file_count'], ') |
| 4157 | 4367 | {'; |
| 4158 | 4368 | |
| 4159 | - if ($is_debug) |
|
| 4160 | - echo ' |
|
| 4369 | + if ($is_debug) { |
|
| 4370 | + echo ' |
|
| 4161 | 4371 | document.getElementById(\'debug_section\').style.display = "none"; |
| 4162 | 4372 | |
| 4163 | 4373 | var upgradeFinishedTime = parseInt(oXMLDoc.getElementsByTagName("curtime")[0].childNodes[0].nodeValue); |
@@ -4175,6 +4385,7 @@ discard block |
||
| 4175 | 4385 | totalTime = totalTime + diffSeconds + " second" + (diffSeconds > 1 ? "s" : ""); |
| 4176 | 4386 | |
| 4177 | 4387 | setInnerHTML(document.getElementById("upgradeCompleted"), "Completed in " + totalTime);'; |
| 4388 | + } |
|
| 4178 | 4389 | |
| 4179 | 4390 | echo ' |
| 4180 | 4391 | |
@@ -4182,9 +4393,10 @@ discard block |
||
| 4182 | 4393 | document.getElementById(\'contbutt\').disabled = 0; |
| 4183 | 4394 | document.getElementById(\'database_done\').value = 1;'; |
| 4184 | 4395 | |
| 4185 | - if ($upcontext['file_count'] > 1) |
|
| 4186 | - echo ' |
|
| 4396 | + if ($upcontext['file_count'] > 1) { |
|
| 4397 | + echo ' |
|
| 4187 | 4398 | document.getElementById(\'info1\').style.display = "none";'; |
| 4399 | + } |
|
| 4188 | 4400 | |
| 4189 | 4401 | echo ' |
| 4190 | 4402 | document.getElementById(\'info2\').style.display = "none"; |
@@ -4197,9 +4409,10 @@ discard block |
||
| 4197 | 4409 | lastItem = 0; |
| 4198 | 4410 | prevFile = curFile;'; |
| 4199 | 4411 | |
| 4200 | - if ($is_debug) |
|
| 4201 | - echo ' |
|
| 4412 | + if ($is_debug) { |
|
| 4413 | + echo ' |
|
| 4202 | 4414 | setOuterHTML(document.getElementById(\'debuginfo\'), \'Moving to next script file...done<br><span id="debuginfo"><\' + \'/span>\');'; |
| 4415 | + } |
|
| 4203 | 4416 | |
| 4204 | 4417 | echo ' |
| 4205 | 4418 | getNextItem(); |
@@ -4207,8 +4420,8 @@ discard block |
||
| 4207 | 4420 | }'; |
| 4208 | 4421 | |
| 4209 | 4422 | // If debug scroll the screen. |
| 4210 | - if ($is_debug) |
|
| 4211 | - echo ' |
|
| 4423 | + if ($is_debug) { |
|
| 4424 | + echo ' |
|
| 4212 | 4425 | if (iLastSubStepProgress == -1) |
| 4213 | 4426 | { |
| 4214 | 4427 | // Give it consistent dots. |
@@ -4227,6 +4440,7 @@ discard block |
||
| 4227 | 4440 | |
| 4228 | 4441 | if (document.getElementById(\'debug_section\').scrollHeight) |
| 4229 | 4442 | document.getElementById(\'debug_section\').scrollTop = document.getElementById(\'debug_section\').scrollHeight'; |
| 4443 | + } |
|
| 4230 | 4444 | |
| 4231 | 4445 | echo ' |
| 4232 | 4446 | // Update the page. |
@@ -4287,9 +4501,10 @@ discard block |
||
| 4287 | 4501 | }'; |
| 4288 | 4502 | |
| 4289 | 4503 | // Start things off assuming we've not errored. |
| 4290 | - if (empty($upcontext['error_message'])) |
|
| 4291 | - echo ' |
|
| 4504 | + if (empty($upcontext['error_message'])) { |
|
| 4505 | + echo ' |
|
| 4292 | 4506 | getNextItem();'; |
| 4507 | + } |
|
| 4293 | 4508 | |
| 4294 | 4509 | echo ' |
| 4295 | 4510 | //# sourceURL=dynamicScript-dbch.js |
@@ -4307,18 +4522,21 @@ discard block |
||
| 4307 | 4522 | <item num="', $upcontext['current_item_num'], '">', $upcontext['current_item_name'], '</item> |
| 4308 | 4523 | <debug num="', $upcontext['current_debug_item_num'], '" percent="', isset($upcontext['substep_progress']) ? $upcontext['substep_progress'] : '-1', '" complete="', empty($upcontext['completed_step']) ? 0 : 1, '">', $upcontext['current_debug_item_name'], '</debug>'; |
| 4309 | 4524 | |
| 4310 | - if (!empty($upcontext['error_message'])) |
|
| 4311 | - echo ' |
|
| 4525 | + if (!empty($upcontext['error_message'])) { |
|
| 4526 | + echo ' |
|
| 4312 | 4527 | <error>', $upcontext['error_message'], '</error>'; |
| 4528 | + } |
|
| 4313 | 4529 | |
| 4314 | - if (!empty($upcontext['error_string'])) |
|
| 4315 | - echo ' |
|
| 4530 | + if (!empty($upcontext['error_string'])) { |
|
| 4531 | + echo ' |
|
| 4316 | 4532 | <sql>', $upcontext['error_string'], '</sql>'; |
| 4533 | + } |
|
| 4317 | 4534 | |
| 4318 | - if ($is_debug) |
|
| 4319 | - echo ' |
|
| 4535 | + if ($is_debug) { |
|
| 4536 | + echo ' |
|
| 4320 | 4537 | <curtime>', time(), '</curtime>'; |
| 4321 | -} |
|
| 4538 | + } |
|
| 4539 | + } |
|
| 4322 | 4540 | |
| 4323 | 4541 | // Template for the UTF-8 conversion step. Basically a copy of the backup stuff with slight modifications.... |
| 4324 | 4542 | function template_convert_utf8() |
@@ -4337,18 +4555,20 @@ discard block |
||
| 4337 | 4555 | </div>'; |
| 4338 | 4556 | |
| 4339 | 4557 | // Done any tables so far? |
| 4340 | - if (!empty($upcontext['previous_tables'])) |
|
| 4341 | - foreach ($upcontext['previous_tables'] as $table) |
|
| 4558 | + if (!empty($upcontext['previous_tables'])) { |
|
| 4559 | + foreach ($upcontext['previous_tables'] as $table) |
|
| 4342 | 4560 | echo ' |
| 4343 | 4561 | <br>Completed Table: "', $table, '".'; |
| 4562 | + } |
|
| 4344 | 4563 | |
| 4345 | 4564 | echo ' |
| 4346 | 4565 | <h3 id="current_tab_div">Current Table: "<span id="current_table">', $upcontext['cur_table_name'], '</span>"</h3>'; |
| 4347 | 4566 | |
| 4348 | 4567 | // If we dropped their index, let's let them know |
| 4349 | - if ($upcontext['dropping_index']) |
|
| 4350 | - echo ' |
|
| 4568 | + if ($upcontext['dropping_index']) { |
|
| 4569 | + echo ' |
|
| 4351 | 4570 | <br><span id="indexmsg" style="font-weight: bold; font-style: italic; display: ', $upcontext['cur_table_num'] == $upcontext['table_count'] ? 'inline' : 'none', ';">Please note that your fulltext index was dropped to facilitate the conversion and will need to be recreated in the admin area after the upgrade is complete.</span>'; |
| 4571 | + } |
|
| 4352 | 4572 | |
| 4353 | 4573 | // Completion notification |
| 4354 | 4574 | echo ' |
@@ -4385,12 +4605,13 @@ discard block |
||
| 4385 | 4605 | updateStepProgress(iTableNum, ', $upcontext['table_count'], ', ', $upcontext['step_weight'] * ((100 - $upcontext['step_progress']) / 100), ');'; |
| 4386 | 4606 | |
| 4387 | 4607 | // If debug flood the screen. |
| 4388 | - if ($is_debug) |
|
| 4389 | - echo ' |
|
| 4608 | + if ($is_debug) { |
|
| 4609 | + echo ' |
|
| 4390 | 4610 | setOuterHTML(document.getElementById(\'debuginfo\'), \'<br>Completed Table: "\' + sCompletedTableName + \'".<span id="debuginfo"><\' + \'/span>\'); |
| 4391 | 4611 | |
| 4392 | 4612 | if (document.getElementById(\'debug_section\').scrollHeight) |
| 4393 | 4613 | document.getElementById(\'debug_section\').scrollTop = document.getElementById(\'debug_section\').scrollHeight'; |
| 4614 | + } |
|
| 4394 | 4615 | |
| 4395 | 4616 | echo ' |
| 4396 | 4617 | // Get the next update... |
@@ -4438,19 +4659,21 @@ discard block |
||
| 4438 | 4659 | </div>'; |
| 4439 | 4660 | |
| 4440 | 4661 | // Dont any tables so far? |
| 4441 | - if (!empty($upcontext['previous_tables'])) |
|
| 4442 | - foreach ($upcontext['previous_tables'] as $table) |
|
| 4662 | + if (!empty($upcontext['previous_tables'])) { |
|
| 4663 | + foreach ($upcontext['previous_tables'] as $table) |
|
| 4443 | 4664 | echo ' |
| 4444 | 4665 | <br>Completed Table: "', $table, '".'; |
| 4666 | + } |
|
| 4445 | 4667 | |
| 4446 | 4668 | echo ' |
| 4447 | 4669 | <h3 id="current_tab_div">Current Table: "<span id="current_table">', $upcontext['cur_table_name'], '</span>"</h3> |
| 4448 | 4670 | <br><span id="commess" style="font-weight: bold; display: ', $upcontext['cur_table_num'] == $upcontext['table_count'] ? 'inline' : 'none', ';">Convert to JSON Complete! Click Continue to Proceed.</span>'; |
| 4449 | 4671 | |
| 4450 | 4672 | // Try to make sure substep was reset. |
| 4451 | - if ($upcontext['cur_table_num'] == $upcontext['table_count']) |
|
| 4452 | - echo ' |
|
| 4673 | + if ($upcontext['cur_table_num'] == $upcontext['table_count']) { |
|
| 4674 | + echo ' |
|
| 4453 | 4675 | <input type="hidden" name="substep" id="substep" value="0">'; |
| 4676 | + } |
|
| 4454 | 4677 | |
| 4455 | 4678 | // Continue please! |
| 4456 | 4679 | $upcontext['continue'] = $support_js ? 2 : 1; |
@@ -4483,12 +4706,13 @@ discard block |
||
| 4483 | 4706 | updateStepProgress(iTableNum, ', $upcontext['table_count'], ', ', $upcontext['step_weight'] * ((100 - $upcontext['step_progress']) / 100), ');'; |
| 4484 | 4707 | |
| 4485 | 4708 | // If debug flood the screen. |
| 4486 | - if ($is_debug) |
|
| 4487 | - echo ' |
|
| 4709 | + if ($is_debug) { |
|
| 4710 | + echo ' |
|
| 4488 | 4711 | setOuterHTML(document.getElementById(\'debuginfo\'), \'<br>Completed Table: "\' + sCompletedTableName + \'".<span id="debuginfo"><\' + \'/span>\'); |
| 4489 | 4712 | |
| 4490 | 4713 | if (document.getElementById(\'debug_section\').scrollHeight) |
| 4491 | 4714 | document.getElementById(\'debug_section\').scrollTop = document.getElementById(\'debug_section\').scrollHeight'; |
| 4715 | + } |
|
| 4492 | 4716 | |
| 4493 | 4717 | echo ' |
| 4494 | 4718 | // Get the next update... |
@@ -4524,8 +4748,8 @@ discard block |
||
| 4524 | 4748 | <h3>That wasn\'t so hard, was it? Now you are ready to use <a href="', $boardurl, '/index.php">your installation of SMF</a>. Hope you like it!</h3> |
| 4525 | 4749 | <form action="', $boardurl, '/index.php">'; |
| 4526 | 4750 | |
| 4527 | - if (!empty($upcontext['can_delete_script'])) |
|
| 4528 | - echo ' |
|
| 4751 | + if (!empty($upcontext['can_delete_script'])) { |
|
| 4752 | + echo ' |
|
| 4529 | 4753 | <label for="delete_self"><input type="checkbox" id="delete_self" onclick="doTheDelete(this);"> Delete upgrade.php and its data files now</label> <em>(doesn\'t work on all servers).</em> |
| 4530 | 4754 | <script> |
| 4531 | 4755 | function doTheDelete(theCheck) |
@@ -4537,6 +4761,7 @@ discard block |
||
| 4537 | 4761 | } |
| 4538 | 4762 | </script> |
| 4539 | 4763 | <img src="', $settings['default_theme_url'], '/images/blank.png" alt="" id="delete_upgrader"><br>'; |
| 4764 | + } |
|
| 4540 | 4765 | |
| 4541 | 4766 | $active = time() - $upcontext['started']; |
| 4542 | 4767 | $hours = floor($active / 3600); |
@@ -4546,16 +4771,20 @@ discard block |
||
| 4546 | 4771 | if ($is_debug) |
| 4547 | 4772 | { |
| 4548 | 4773 | $totalTime = ''; |
| 4549 | - if ($hours > 0) |
|
| 4550 | - $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 4551 | - if ($minutes > 0) |
|
| 4552 | - $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 4553 | - if ($seconds > 0) |
|
| 4554 | - $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 4774 | + if ($hours > 0) { |
|
| 4775 | + $totalTime .= $hours . ' hour' . ($hours > 1 ? 's' : '') . ' '; |
|
| 4776 | + } |
|
| 4777 | + if ($minutes > 0) { |
|
| 4778 | + $totalTime .= $minutes . ' minute' . ($minutes > 1 ? 's' : '') . ' '; |
|
| 4779 | + } |
|
| 4780 | + if ($seconds > 0) { |
|
| 4781 | + $totalTime .= $seconds . ' second' . ($seconds > 1 ? 's' : '') . ' '; |
|
| 4782 | + } |
|
| 4555 | 4783 | } |
| 4556 | 4784 | |
| 4557 | - if ($is_debug && !empty($totalTime)) |
|
| 4558 | - echo '<br> Upgrade completed in ', $totalTime, '<br><br>'; |
|
| 4785 | + if ($is_debug && !empty($totalTime)) { |
|
| 4786 | + echo '<br> Upgrade completed in ', $totalTime, '<br><br>'; |
|
| 4787 | + } |
|
| 4559 | 4788 | |
| 4560 | 4789 | echo '<br> |
| 4561 | 4790 | If you had any problems with this upgrade, or have any problems using SMF, please don\'t hesitate to <a href="https://www.simplemachines.org/community/index.php">look to us for assistance</a>.<br> |
@@ -4582,8 +4811,9 @@ discard block |
||
| 4582 | 4811 | |
| 4583 | 4812 | $current_substep = $_GET['substep']; |
| 4584 | 4813 | |
| 4585 | - if (empty($_GET['a'])) |
|
| 4586 | - $_GET['a'] = 0; |
|
| 4814 | + if (empty($_GET['a'])) { |
|
| 4815 | + $_GET['a'] = 0; |
|
| 4816 | + } |
|
| 4587 | 4817 | $step_progress['name'] = 'Converting ips'; |
| 4588 | 4818 | $step_progress['current'] = $_GET['a']; |
| 4589 | 4819 | |
@@ -4626,16 +4856,19 @@ discard block |
||
| 4626 | 4856 | 'empty' => '', |
| 4627 | 4857 | 'limit' => $limit, |
| 4628 | 4858 | )); |
| 4629 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 4630 | - $arIp[] = $row[$oldCol]; |
|
| 4859 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 4860 | + $arIp[] = $row[$oldCol]; |
|
| 4861 | + } |
|
| 4631 | 4862 | $smcFunc['db_free_result']($request); |
| 4632 | 4863 | |
| 4633 | 4864 | // Special case, null ip could keep us in a loop. |
| 4634 | - if (is_null($arIp[0])) |
|
| 4635 | - unset($arIp[0]); |
|
| 4865 | + if (is_null($arIp[0])) { |
|
| 4866 | + unset($arIp[0]); |
|
| 4867 | + } |
|
| 4636 | 4868 | |
| 4637 | - if (empty($arIp)) |
|
| 4638 | - $is_done = true; |
|
| 4869 | + if (empty($arIp)) { |
|
| 4870 | + $is_done = true; |
|
| 4871 | + } |
|
| 4639 | 4872 | |
| 4640 | 4873 | $updates = array(); |
| 4641 | 4874 | $cases = array(); |
@@ -4644,16 +4877,18 @@ discard block |
||
| 4644 | 4877 | { |
| 4645 | 4878 | $arIp[$i] = trim($arIp[$i]); |
| 4646 | 4879 | |
| 4647 | - if (empty($arIp[$i])) |
|
| 4648 | - continue; |
|
| 4880 | + if (empty($arIp[$i])) { |
|
| 4881 | + continue; |
|
| 4882 | + } |
|
| 4649 | 4883 | |
| 4650 | 4884 | $updates['ip' . $i] = $arIp[$i]; |
| 4651 | 4885 | $cases[$arIp[$i]] = 'WHEN ' . $oldCol . ' = {string:ip' . $i . '} THEN {inet:ip' . $i . '}'; |
| 4652 | 4886 | |
| 4653 | 4887 | if ($setSize > 0 && $i % $setSize === 0) |
| 4654 | 4888 | { |
| 4655 | - if (count($updates) == 1) |
|
| 4656 | - continue; |
|
| 4889 | + if (count($updates) == 1) { |
|
| 4890 | + continue; |
|
| 4891 | + } |
|
| 4657 | 4892 | |
| 4658 | 4893 | $updates['whereSet'] = array_values($updates); |
| 4659 | 4894 | $smcFunc['db_query']('', ' |
@@ -4687,8 +4922,7 @@ discard block |
||
| 4687 | 4922 | 'ip' => $ip |
| 4688 | 4923 | )); |
| 4689 | 4924 | } |
| 4690 | - } |
|
| 4691 | - else |
|
| 4925 | + } else |
|
| 4692 | 4926 | { |
| 4693 | 4927 | $updates['whereSet'] = array_values($updates); |
| 4694 | 4928 | $smcFunc['db_query']('', ' |
@@ -4702,9 +4936,9 @@ discard block |
||
| 4702 | 4936 | $updates |
| 4703 | 4937 | ); |
| 4704 | 4938 | } |
| 4939 | + } else { |
|
| 4940 | + $is_done = true; |
|
| 4705 | 4941 | } |
| 4706 | - else |
|
| 4707 | - $is_done = true; |
|
| 4708 | 4942 | |
| 4709 | 4943 | $_GET['a'] += $limit; |
| 4710 | 4944 | $step_progress['current'] = $_GET['a']; |
@@ -4730,10 +4964,11 @@ discard block |
||
| 4730 | 4964 | |
| 4731 | 4965 | $columns = $smcFunc['db_list_columns']($targetTable, true); |
| 4732 | 4966 | |
| 4733 | - if (isset($columns[$column])) |
|
| 4734 | - return $columns[$column]; |
|
| 4735 | - else |
|
| 4736 | - return null; |
|
| 4737 | -} |
|
| 4967 | + if (isset($columns[$column])) { |
|
| 4968 | + return $columns[$column]; |
|
| 4969 | + } else { |
|
| 4970 | + return null; |
|
| 4971 | + } |
|
| 4972 | + } |
|
| 4738 | 4973 | |
| 4739 | 4974 | ?> |
| 4740 | 4975 | \ No newline at end of file |
@@ -68,7 +68,7 @@ discard block |
||
| 68 | 68 | * Display a list of upcoming events, birthdays, and holidays. |
| 69 | 69 | * |
| 70 | 70 | * @param string $grid_name The grid name |
| 71 | - * @return void|bool Returns false if the grid doesn't exist. |
|
| 71 | + * @return false|null Returns false if the grid doesn't exist. |
|
| 72 | 72 | */ |
| 73 | 73 | function template_show_upcoming_list($grid_name) |
| 74 | 74 | { |
@@ -238,7 +238,7 @@ discard block |
||
| 238 | 238 | * |
| 239 | 239 | * @param string $grid_name The grid name |
| 240 | 240 | * @param bool $is_mini Is this a mini grid? |
| 241 | - * @return void|bool Returns false if the grid doesn't exist. |
|
| 241 | + * @return false|null Returns false if the grid doesn't exist. |
|
| 242 | 242 | */ |
| 243 | 243 | function template_show_month_grid($grid_name, $is_mini = false) |
| 244 | 244 | { |
@@ -523,7 +523,7 @@ discard block |
||
| 523 | 523 | * Shows a weekly grid |
| 524 | 524 | * |
| 525 | 525 | * @param string $grid_name The name of the grid |
| 526 | - * @return void|bool Returns false if the grid doesn't exist |
|
| 526 | + * @return false|null Returns false if the grid doesn't exist |
|
| 527 | 527 | */ |
| 528 | 528 | function template_show_week_grid($grid_name) |
| 529 | 529 | { |
@@ -40,16 +40,14 @@ discard block |
||
| 40 | 40 | ', template_show_upcoming_list('main'), ' |
| 41 | 41 | </div> |
| 42 | 42 | '; |
| 43 | - } |
|
| 44 | - elseif ($context['calendar_view'] == 'viewweek') |
|
| 43 | + } elseif ($context['calendar_view'] == 'viewweek') |
|
| 45 | 44 | { |
| 46 | 45 | echo ' |
| 47 | 46 | <div id="main_grid"> |
| 48 | 47 | ', template_show_week_grid('main'), ' |
| 49 | 48 | </div> |
| 50 | 49 | '; |
| 51 | - } |
|
| 52 | - else |
|
| 50 | + } else |
|
| 53 | 51 | { |
| 54 | 52 | echo ' |
| 55 | 53 | <div id="main_grid"> |
@@ -75,8 +73,9 @@ discard block |
||
| 75 | 73 | global $context, $scripturl, $txt; |
| 76 | 74 | |
| 77 | 75 | // Bail out if we have nothing to work with |
| 78 | - if (!isset($context['calendar_grid_' . $grid_name])) |
|
| 79 | - return false; |
|
| 76 | + if (!isset($context['calendar_grid_' . $grid_name])) { |
|
| 77 | + return false; |
|
| 78 | + } |
|
| 80 | 79 | |
| 81 | 80 | // Protect programmer sanity |
| 82 | 81 | $calendar_data = &$context['calendar_grid_' . $grid_name]; |
@@ -113,11 +112,13 @@ discard block |
||
| 113 | 112 | <li class="windowbg"> |
| 114 | 113 | <strong class="event_title">', $event['link'], '</strong>'; |
| 115 | 114 | |
| 116 | - if ($event['can_edit']) |
|
| 117 | - echo ' <a href="' . $event['modify_href'] . '"><span class="generic_icons calendar_modify" title="', $txt['calendar_edit'], '"></span></a>'; |
|
| 115 | + if ($event['can_edit']) { |
|
| 116 | + echo ' <a href="' . $event['modify_href'] . '"><span class="generic_icons calendar_modify" title="', $txt['calendar_edit'], '"></span></a>'; |
|
| 117 | + } |
|
| 118 | 118 | |
| 119 | - if ($event['can_export']) |
|
| 120 | - echo ' <a href="' . $event['export_href'] . '"><span class="generic_icons calendar_export" title="', $txt['calendar_export'], '"></span></a>'; |
|
| 119 | + if ($event['can_export']) { |
|
| 120 | + echo ' <a href="' . $event['export_href'] . '"><span class="generic_icons calendar_export" title="', $txt['calendar_export'], '"></span></a>'; |
|
| 121 | + } |
|
| 121 | 122 | |
| 122 | 123 | echo ' |
| 123 | 124 | <br>'; |
@@ -125,14 +126,14 @@ discard block |
||
| 125 | 126 | if (!empty($event['allday'])) |
| 126 | 127 | { |
| 127 | 128 | echo '<time datetime="' . $event['start_iso_gmdate'] . '">', trim($event['start_date_local']), '</time>', ($event['start_date'] != $event['end_date']) ? ' – <time datetime="' . $event['end_iso_gmdate'] . '">' . trim($event['end_date_local']) . '</time>' : ''; |
| 128 | - } |
|
| 129 | - else |
|
| 129 | + } else |
|
| 130 | 130 | { |
| 131 | 131 | // Display event info relative to user's local timezone |
| 132 | 132 | echo '<time datetime="' . $event['start_iso_gmdate'] . '">', trim($event['start_date_local']), ', ', trim($event['start_time_local']), '</time> – <time datetime="' . $event['end_iso_gmdate'] . '">'; |
| 133 | 133 | |
| 134 | - if ($event['start_date_local'] != $event['end_date_local']) |
|
| 135 | - echo trim($event['end_date_local']) . ', '; |
|
| 134 | + if ($event['start_date_local'] != $event['end_date_local']) { |
|
| 135 | + echo trim($event['end_date_local']) . ', '; |
|
| 136 | + } |
|
| 136 | 137 | |
| 137 | 138 | echo trim($event['end_time_local']); |
| 138 | 139 | |
@@ -141,23 +142,27 @@ discard block |
||
| 141 | 142 | { |
| 142 | 143 | echo '</time> (<time datetime="' . $event['start_iso_gmdate'] . '">'; |
| 143 | 144 | |
| 144 | - if ($event['start_date_orig'] != $event['start_date_local'] || $event['end_date_orig'] != $event['end_date_local'] || $event['start_date_orig'] != $event['end_date_orig']) |
|
| 145 | - echo trim($event['start_date_orig']), ', '; |
|
| 145 | + if ($event['start_date_orig'] != $event['start_date_local'] || $event['end_date_orig'] != $event['end_date_local'] || $event['start_date_orig'] != $event['end_date_orig']) { |
|
| 146 | + echo trim($event['start_date_orig']), ', '; |
|
| 147 | + } |
|
| 146 | 148 | |
| 147 | 149 | echo trim($event['start_time_orig']), '</time> – <time datetime="' . $event['end_iso_gmdate'] . '">'; |
| 148 | 150 | |
| 149 | - if ($event['start_date_orig'] != $event['end_date_orig']) |
|
| 150 | - echo trim($event['end_date_orig']) . ', '; |
|
| 151 | + if ($event['start_date_orig'] != $event['end_date_orig']) { |
|
| 152 | + echo trim($event['end_date_orig']) . ', '; |
|
| 153 | + } |
|
| 151 | 154 | |
| 152 | 155 | echo trim($event['end_time_orig']), ' ', $event['tz_abbrev'], '</time>)'; |
| 153 | 156 | } |
| 154 | 157 | // Event is scheduled in the user's own timezone? Let 'em know, just to avoid confusion |
| 155 | - else |
|
| 156 | - echo ' ', $event['tz_abbrev'], '</time>'; |
|
| 158 | + else { |
|
| 159 | + echo ' ', $event['tz_abbrev'], '</time>'; |
|
| 160 | + } |
|
| 157 | 161 | } |
| 158 | 162 | |
| 159 | - if (!empty($event['location'])) |
|
| 160 | - echo '<br>', $event['location']; |
|
| 163 | + if (!empty($event['location'])) { |
|
| 164 | + echo '<br>', $event['location']; |
|
| 165 | + } |
|
| 161 | 166 | |
| 162 | 167 | echo ' |
| 163 | 168 | </li>'; |
@@ -189,8 +194,9 @@ discard block |
||
| 189 | 194 | |
| 190 | 195 | $birthdays = array(); |
| 191 | 196 | |
| 192 | - foreach ($date as $member) |
|
| 193 | - $birthdays[] = '<a href="' . $scripturl . '?action=profile;u=' . $member['id'] . '">' . $member['name'] . (isset($member['age']) ? ' (' . $member['age'] . ')' : '') . '</a>'; |
|
| 197 | + foreach ($date as $member) { |
|
| 198 | + $birthdays[] = '<a href="' . $scripturl . '?action=profile;u=' . $member['id'] . '">' . $member['name'] . (isset($member['age']) ? ' (' . $member['age'] . ')' : '') . '</a>'; |
|
| 199 | + } |
|
| 194 | 200 | |
| 195 | 201 | echo implode(', ', $birthdays); |
| 196 | 202 | |
@@ -221,8 +227,9 @@ discard block |
||
| 221 | 227 | $date_local = $date['date_local']; |
| 222 | 228 | unset($date['date_local']); |
| 223 | 229 | |
| 224 | - foreach ($date as $holiday) |
|
| 225 | - $holidays[] = $holiday . ' (' . $date_local . ')'; |
|
| 230 | + foreach ($date as $holiday) { |
|
| 231 | + $holidays[] = $holiday . ' (' . $date_local . ')'; |
|
| 232 | + } |
|
| 226 | 233 | } |
| 227 | 234 | |
| 228 | 235 | echo implode(', ', $holidays); |
@@ -245,17 +252,19 @@ discard block |
||
| 245 | 252 | global $context, $txt, $scripturl, $modSettings; |
| 246 | 253 | |
| 247 | 254 | // If the grid doesn't exist, no point in proceeding. |
| 248 | - if (!isset($context['calendar_grid_' . $grid_name])) |
|
| 249 | - return false; |
|
| 255 | + if (!isset($context['calendar_grid_' . $grid_name])) { |
|
| 256 | + return false; |
|
| 257 | + } |
|
| 250 | 258 | |
| 251 | 259 | // A handy little pointer variable. |
| 252 | 260 | $calendar_data = &$context['calendar_grid_' . $grid_name]; |
| 253 | 261 | |
| 254 | 262 | // Some conditions for whether or not we should show the week links *here*. |
| 255 | - if (isset($calendar_data['show_week_links']) && ($calendar_data['show_week_links'] == 3 || (($calendar_data['show_week_links'] == 1 && $is_mini === true) || $calendar_data['show_week_links'] == 2 && $is_mini === false))) |
|
| 256 | - $show_week_links = true; |
|
| 257 | - else |
|
| 258 | - $show_week_links = false; |
|
| 263 | + if (isset($calendar_data['show_week_links']) && ($calendar_data['show_week_links'] == 3 || (($calendar_data['show_week_links'] == 1 && $is_mini === true) || $calendar_data['show_week_links'] == 2 && $is_mini === false))) { |
|
| 264 | + $show_week_links = true; |
|
| 265 | + } else { |
|
| 266 | + $show_week_links = false; |
|
| 267 | + } |
|
| 259 | 268 | |
| 260 | 269 | // Assuming that we've not disabled it, show the title block! |
| 261 | 270 | if (empty($calendar_data['disable_title'])) |
@@ -294,8 +303,9 @@ discard block |
||
| 294 | 303 | } |
| 295 | 304 | |
| 296 | 305 | // Show the controls on main grids |
| 297 | - if ($is_mini === false) |
|
| 298 | - template_calendar_top($calendar_data); |
|
| 306 | + if ($is_mini === false) { |
|
| 307 | + template_calendar_top($calendar_data); |
|
| 308 | + } |
|
| 299 | 309 | |
| 300 | 310 | // Finally, the main calendar table. |
| 301 | 311 | echo '<table class="calendar_table">'; |
@@ -306,8 +316,9 @@ discard block |
||
| 306 | 316 | echo '<tr>'; |
| 307 | 317 | |
| 308 | 318 | // If we're showing week links, there's an extra column ahead of the week links, so let's think ahead and be prepared! |
| 309 | - if ($show_week_links === true) |
|
| 310 | - echo '<th> </th>'; |
|
| 319 | + if ($show_week_links === true) { |
|
| 320 | + echo '<th> </th>'; |
|
| 321 | + } |
|
| 311 | 322 | |
| 312 | 323 | // Now, loop through each actual day of the week. |
| 313 | 324 | foreach ($calendar_data['week_days'] as $day) |
@@ -354,27 +365,29 @@ discard block |
||
| 354 | 365 | // Additional classes are given for events, holidays, and birthdays. |
| 355 | 366 | if (!empty($day['events']) && !empty($calendar_data['highlight']['events'])) |
| 356 | 367 | { |
| 357 | - if ($is_mini === true && in_array($calendar_data['highlight']['events'], array(1, 3))) |
|
| 358 | - $classes[] = 'events'; |
|
| 359 | - elseif ($is_mini === false && in_array($calendar_data['highlight']['events'], array(2, 3))) |
|
| 360 | - $classes[] = 'events'; |
|
| 368 | + if ($is_mini === true && in_array($calendar_data['highlight']['events'], array(1, 3))) { |
|
| 369 | + $classes[] = 'events'; |
|
| 370 | + } elseif ($is_mini === false && in_array($calendar_data['highlight']['events'], array(2, 3))) { |
|
| 371 | + $classes[] = 'events'; |
|
| 372 | + } |
|
| 361 | 373 | } |
| 362 | 374 | if (!empty($day['holidays']) && !empty($calendar_data['highlight']['holidays'])) |
| 363 | 375 | { |
| 364 | - if ($is_mini === true && in_array($calendar_data['highlight']['holidays'], array(1, 3))) |
|
| 365 | - $classes[] = 'holidays'; |
|
| 366 | - elseif ($is_mini === false && in_array($calendar_data['highlight']['holidays'], array(2, 3))) |
|
| 367 | - $classes[] = 'holidays'; |
|
| 376 | + if ($is_mini === true && in_array($calendar_data['highlight']['holidays'], array(1, 3))) { |
|
| 377 | + $classes[] = 'holidays'; |
|
| 378 | + } elseif ($is_mini === false && in_array($calendar_data['highlight']['holidays'], array(2, 3))) { |
|
| 379 | + $classes[] = 'holidays'; |
|
| 380 | + } |
|
| 368 | 381 | } |
| 369 | 382 | if (!empty($day['birthdays']) && !empty($calendar_data['highlight']['birthdays'])) |
| 370 | 383 | { |
| 371 | - if ($is_mini === true && in_array($calendar_data['highlight']['birthdays'], array(1, 3))) |
|
| 372 | - $classes[] = 'birthdays'; |
|
| 373 | - elseif ($is_mini === false && in_array($calendar_data['highlight']['birthdays'], array(2, 3))) |
|
| 374 | - $classes[] = 'birthdays'; |
|
| 384 | + if ($is_mini === true && in_array($calendar_data['highlight']['birthdays'], array(1, 3))) { |
|
| 385 | + $classes[] = 'birthdays'; |
|
| 386 | + } elseif ($is_mini === false && in_array($calendar_data['highlight']['birthdays'], array(2, 3))) { |
|
| 387 | + $classes[] = 'birthdays'; |
|
| 388 | + } |
|
| 375 | 389 | } |
| 376 | - } |
|
| 377 | - else |
|
| 390 | + } else |
|
| 378 | 391 | { |
| 379 | 392 | // Default Classes (either compact or comfortable and disabled). |
| 380 | 393 | $classes[] = !empty($calendar_data['size']) && $calendar_data['size'] == 'small' ? 'compact' : 'comfortable'; |
@@ -392,19 +405,21 @@ discard block |
||
| 392 | 405 | $title_prefix = !empty($day['is_first_of_month']) && $context['current_month'] == $calendar_data['current_month'] && $is_mini === false ? (!empty($calendar_data['short_month_titles']) ? $txt['months_short'][$calendar_data['current_month']] . ' ' : $txt['months_titles'][$calendar_data['current_month']] . ' ') : ''; |
| 393 | 406 | |
| 394 | 407 | // The actual day number - be it a link, or just plain old text! |
| 395 | - if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) |
|
| 396 | - echo '<a href="', $scripturl, '?action=calendar;sa=post;year=', $calendar_data['current_year'], ';month=', $calendar_data['current_month'], ';day=', $day['day'], ';', $context['session_var'], '=', $context['session_id'], '"><span class="day_text">', $title_prefix, $day['day'], '</span></a>'; |
|
| 397 | - elseif ($is_mini) |
|
| 398 | - echo '<a href="', $scripturl, '?action=calendar;', $context['calendar_view'], ';year=', $calendar_data['current_year'], ';month=', $calendar_data['current_month'], ';day=', $day['day'], '"><span class="day_text">', $title_prefix, $day['day'], '</span></a>'; |
|
| 399 | - else |
|
| 400 | - echo '<span class="day_text">', $title_prefix, $day['day'], '</span>'; |
|
| 408 | + if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) { |
|
| 409 | + echo '<a href="', $scripturl, '?action=calendar;sa=post;year=', $calendar_data['current_year'], ';month=', $calendar_data['current_month'], ';day=', $day['day'], ';', $context['session_var'], '=', $context['session_id'], '"><span class="day_text">', $title_prefix, $day['day'], '</span></a>'; |
|
| 410 | + } elseif ($is_mini) { |
|
| 411 | + echo '<a href="', $scripturl, '?action=calendar;', $context['calendar_view'], ';year=', $calendar_data['current_year'], ';month=', $calendar_data['current_month'], ';day=', $day['day'], '"><span class="day_text">', $title_prefix, $day['day'], '</span></a>'; |
|
| 412 | + } else { |
|
| 413 | + echo '<span class="day_text">', $title_prefix, $day['day'], '</span>'; |
|
| 414 | + } |
|
| 401 | 415 | |
| 402 | 416 | // A lot of stuff, we're not showing on mini-calendars to conserve space. |
| 403 | 417 | if ($is_mini === false) |
| 404 | 418 | { |
| 405 | 419 | // Holidays are always fun, let's show them! |
| 406 | - if (!empty($day['holidays'])) |
|
| 407 | - echo '<div class="smalltext holiday"><span>', $txt['calendar_prompt'], '</span> ', implode(', ', $day['holidays']), '</div>'; |
|
| 420 | + if (!empty($day['holidays'])) { |
|
| 421 | + echo '<div class="smalltext holiday"><span>', $txt['calendar_prompt'], '</span> ', implode(', ', $day['holidays']), '</div>'; |
|
| 422 | + } |
|
| 408 | 423 | |
| 409 | 424 | // Happy Birthday Dear, Member! |
| 410 | 425 | if (!empty($day['birthdays'])) |
@@ -422,14 +437,16 @@ discard block |
||
| 422 | 437 | echo '<a href="', $scripturl, '?action=profile;u=', $member['id'], '"><span class="fix_rtl_names">', $member['name'], '</span>', isset($member['age']) ? ' (' . $member['age'] . ')' : '', '</a>', $member['is_last'] || ($count == 10 && $use_js_hide) ? '' : ', '; |
| 423 | 438 | |
| 424 | 439 | // 9...10! Let's stop there. |
| 425 | - if ($birthday_count == 10 && $use_js_hide) |
|
| 426 | - // !!TODO - Inline CSS and JavaScript should be moved. |
|
| 440 | + if ($birthday_count == 10 && $use_js_hide) { |
|
| 441 | + // !!TODO - Inline CSS and JavaScript should be moved. |
|
| 427 | 442 | echo '<span class="hidelink" id="bdhidelink_', $day['day'], '">...<br><a href="', $scripturl, '?action=calendar;month=', $calendar_data['current_month'], ';year=', $calendar_data['current_year'], ';showbd" onclick="document.getElementById(\'bdhide_', $day['day'], '\').style.display = \'\'; document.getElementById(\'bdhidelink_', $day['day'], '\').style.display = \'none\'; return false;">(', sprintf($txt['calendar_click_all'], count($day['birthdays'])), ')</a></span><span id="bdhide_', $day['day'], '" style="display: none;">, '; |
| 443 | + } |
|
| 428 | 444 | |
| 429 | 445 | ++$birthday_count; |
| 430 | 446 | } |
| 431 | - if ($use_js_hide) |
|
| 432 | - echo '</span>'; |
|
| 447 | + if ($use_js_hide) { |
|
| 448 | + echo '</span>'; |
|
| 449 | + } |
|
| 433 | 450 | |
| 434 | 451 | echo '</div>'; |
| 435 | 452 | } |
@@ -439,8 +456,9 @@ discard block |
||
| 439 | 456 | { |
| 440 | 457 | // Sort events by start time (all day events will be listed first) |
| 441 | 458 | uasort($day['events'], function($a, $b) { |
| 442 | - if ($a['start_timestamp'] == $b['start_timestamp']) |
|
| 443 | - return 0; |
|
| 459 | + if ($a['start_timestamp'] == $b['start_timestamp']) { |
|
| 460 | + return 0; |
|
| 461 | + } |
|
| 444 | 462 | return ($a['start_timestamp'] < $b['start_timestamp']) ? -1 : 1; |
| 445 | 463 | }); |
| 446 | 464 | |
@@ -456,17 +474,19 @@ discard block |
||
| 456 | 474 | |
| 457 | 475 | echo '<div class="event_wrapper', $event['starts_today'] == true ? ' event_starts_today' : '', $event['ends_today'] == true ? ' event_ends_today' : '', $event['allday'] == true ? ' allday' : '', $event['is_selected'] ? ' sel_event' : '', '">', $event['link'], '<br><span class="event_time', empty($event_icons_needed) ? ' floatright' : '', '">'; |
| 458 | 476 | |
| 459 | - if (!empty($event['start_time_local']) && $event['starts_today'] == true) |
|
| 460 | - echo trim(str_replace(':00 ', ' ', $event['start_time_local'])); |
|
| 461 | - elseif (!empty($event['end_time_local']) && $event['ends_today'] == true) |
|
| 462 | - echo strtolower($txt['ends']), ' ', trim(str_replace(':00 ', ' ', $event['end_time_local'])); |
|
| 463 | - elseif (!empty($event['allday'])) |
|
| 464 | - echo $txt['calendar_allday']; |
|
| 477 | + if (!empty($event['start_time_local']) && $event['starts_today'] == true) { |
|
| 478 | + echo trim(str_replace(':00 ', ' ', $event['start_time_local'])); |
|
| 479 | + } elseif (!empty($event['end_time_local']) && $event['ends_today'] == true) { |
|
| 480 | + echo strtolower($txt['ends']), ' ', trim(str_replace(':00 ', ' ', $event['end_time_local'])); |
|
| 481 | + } elseif (!empty($event['allday'])) { |
|
| 482 | + echo $txt['calendar_allday']; |
|
| 483 | + } |
|
| 465 | 484 | |
| 466 | 485 | echo '</span>'; |
| 467 | 486 | |
| 468 | - if (!empty($event['location'])) |
|
| 469 | - echo '<br><span class="event_location', empty($event_icons_needed) ? ' floatright' : '', '">' . $event['location'] . '</span>'; |
|
| 487 | + if (!empty($event['location'])) { |
|
| 488 | + echo '<br><span class="event_location', empty($event_icons_needed) ? ' floatright' : '', '">' . $event['location'] . '</span>'; |
|
| 489 | + } |
|
| 470 | 490 | |
| 471 | 491 | if ($event['can_edit'] || $event['can_export']) |
| 472 | 492 | { |
@@ -503,10 +523,11 @@ discard block |
||
| 503 | 523 | // Otherwise, assuming it's not a mini-calendar, we can show previous / next month days! |
| 504 | 524 | elseif ($is_mini === false) |
| 505 | 525 | { |
| 506 | - if (empty($current_month_started) && !empty($context['calendar_grid_prev'])) |
|
| 507 | - echo '<a href="', $scripturl, '?action=calendar;year=', $context['calendar_grid_prev']['current_year'], ';month=', $context['calendar_grid_prev']['current_month'], '">', $context['calendar_grid_prev']['last_of_month'] - $calendar_data['shift']-- +1, '</a>'; |
|
| 508 | - elseif (!empty($current_month_started) && !empty($context['calendar_grid_next'])) |
|
| 509 | - echo '<a href="', $scripturl, '?action=calendar;year=', $context['calendar_grid_next']['current_year'], ';month=', $context['calendar_grid_next']['current_month'], '">', $current_month_started + 1 == $count ? (!empty($calendar_data['short_month_titles']) ? $txt['months_short'][$context['calendar_grid_next']['current_month']] . ' ' : $txt['months_titles'][$context['calendar_grid_next']['current_month']] . ' ') : '', $final_count++, '</a>'; |
|
| 526 | + if (empty($current_month_started) && !empty($context['calendar_grid_prev'])) { |
|
| 527 | + echo '<a href="', $scripturl, '?action=calendar;year=', $context['calendar_grid_prev']['current_year'], ';month=', $context['calendar_grid_prev']['current_month'], '">', $context['calendar_grid_prev']['last_of_month'] - $calendar_data['shift']-- +1, '</a>'; |
|
| 528 | + } elseif (!empty($current_month_started) && !empty($context['calendar_grid_next'])) { |
|
| 529 | + echo '<a href="', $scripturl, '?action=calendar;year=', $context['calendar_grid_next']['current_year'], ';month=', $context['calendar_grid_next']['current_month'], '">', $current_month_started + 1 == $count ? (!empty($calendar_data['short_month_titles']) ? $txt['months_short'][$context['calendar_grid_next']['current_month']] . ' ' : $txt['months_titles'][$context['calendar_grid_next']['current_month']] . ' ') : '', $final_count++, '</a>'; |
|
| 530 | + } |
|
| 510 | 531 | } |
| 511 | 532 | |
| 512 | 533 | // Close this day and increase var count. |
@@ -532,8 +553,9 @@ discard block |
||
| 532 | 553 | global $context, $txt, $scripturl, $modSettings; |
| 533 | 554 | |
| 534 | 555 | // We might have no reason to proceed, if the variable isn't there. |
| 535 | - if (!isset($context['calendar_grid_' . $grid_name])) |
|
| 536 | - return false; |
|
| 556 | + if (!isset($context['calendar_grid_' . $grid_name])) { |
|
| 557 | + return false; |
|
| 558 | + } |
|
| 537 | 559 | |
| 538 | 560 | // Handy pointer. |
| 539 | 561 | $calendar_data = &$context['calendar_grid_' . $grid_name]; |
@@ -568,8 +590,9 @@ discard block |
||
| 568 | 590 | } |
| 569 | 591 | |
| 570 | 592 | // The Month Title + Week Number... |
| 571 | - if (!empty($calendar_data['week_title'])) |
|
| 572 | - echo $calendar_data['week_title']; |
|
| 593 | + if (!empty($calendar_data['week_title'])) { |
|
| 594 | + echo $calendar_data['week_title']; |
|
| 595 | + } |
|
| 573 | 596 | |
| 574 | 597 | echo ' |
| 575 | 598 | </h3> |
@@ -608,10 +631,11 @@ discard block |
||
| 608 | 631 | <tr class="days_wrapper"> |
| 609 | 632 | <td class="', implode(' ', $classes), ' act_day">'; |
| 610 | 633 | // Should the day number be a link? |
| 611 | - if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) |
|
| 612 | - echo '<a href="', $scripturl, '?action=calendar;sa=post;month=', $month_data['current_month'], ';year=', $month_data['current_year'], ';day=', $day['day'], ';', $context['session_var'], '=', $context['session_id'], '">', $txt['days'][$day['day_of_week']], ' - ', $day['day'], '</a>'; |
|
| 613 | - else |
|
| 614 | - echo $txt['days'][$day['day_of_week']], ' - ', $day['day']; |
|
| 634 | + if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) { |
|
| 635 | + echo '<a href="', $scripturl, '?action=calendar;sa=post;month=', $month_data['current_month'], ';year=', $month_data['current_year'], ';day=', $day['day'], ';', $context['session_var'], '=', $context['session_id'], '">', $txt['days'][$day['day_of_week']], ' - ', $day['day'], '</a>'; |
|
| 636 | + } else { |
|
| 637 | + echo $txt['days'][$day['day_of_week']], ' - ', $day['day']; |
|
| 638 | + } |
|
| 615 | 639 | |
| 616 | 640 | echo '</td> |
| 617 | 641 | <td class="', implode(' ', $classes), '', empty($day['events']) ? (' disabled' . ($context['can_post'] ? ' week_post' : '')) : ' events', ' event_col" data-css-prefix="' . $txt['events'] . ' ', (empty($day['events']) && empty($context['can_post'])) ? $txt['none'] : '', '">'; |
@@ -620,8 +644,9 @@ discard block |
||
| 620 | 644 | { |
| 621 | 645 | // Sort events by start time (all day events will be listed first) |
| 622 | 646 | uasort($day['events'], function($a, $b) { |
| 623 | - if ($a['start_timestamp'] == $b['start_timestamp']) |
|
| 624 | - return 0; |
|
| 647 | + if ($a['start_timestamp'] == $b['start_timestamp']) { |
|
| 648 | + return 0; |
|
| 649 | + } |
|
| 625 | 650 | return ($a['start_timestamp'] < $b['start_timestamp']) ? -1 : 1; |
| 626 | 651 | }); |
| 627 | 652 | |
@@ -633,15 +658,17 @@ discard block |
||
| 633 | 658 | |
| 634 | 659 | echo $event['link'], '<br><span class="event_time', empty($event_icons_needed) ? ' floatright' : '', '">'; |
| 635 | 660 | |
| 636 | - if (!empty($event['start_time_local'])) |
|
| 637 | - echo trim($event['start_time_local']), !empty($event['end_time_local']) ? ' – ' . trim($event['end_time_local']) : ''; |
|
| 638 | - else |
|
| 639 | - echo $txt['calendar_allday']; |
|
| 661 | + if (!empty($event['start_time_local'])) { |
|
| 662 | + echo trim($event['start_time_local']), !empty($event['end_time_local']) ? ' – ' . trim($event['end_time_local']) : ''; |
|
| 663 | + } else { |
|
| 664 | + echo $txt['calendar_allday']; |
|
| 665 | + } |
|
| 640 | 666 | |
| 641 | 667 | echo '</span>'; |
| 642 | 668 | |
| 643 | - if (!empty($event['location'])) |
|
| 644 | - echo '<br><span class="event_location', empty($event_icons_needed) ? ' floatright' : '', '">' . $event['location'] . '</span>'; |
|
| 669 | + if (!empty($event['location'])) { |
|
| 670 | + echo '<br><span class="event_location', empty($event_icons_needed) ? ' floatright' : '', '">' . $event['location'] . '</span>'; |
|
| 671 | + } |
|
| 645 | 672 | |
| 646 | 673 | if (!empty($event_icons_needed)) |
| 647 | 674 | { |
@@ -678,8 +705,7 @@ discard block |
||
| 678 | 705 | </div> |
| 679 | 706 | <br class="clear">'; |
| 680 | 707 | } |
| 681 | - } |
|
| 682 | - else |
|
| 708 | + } else |
|
| 683 | 709 | { |
| 684 | 710 | if (!empty($context['can_post'])) |
| 685 | 711 | { |
@@ -692,8 +718,9 @@ discard block |
||
| 692 | 718 | echo '</td> |
| 693 | 719 | <td class="', implode(' ', $classes), !empty($day['holidays']) ? ' holidays' : ' disabled', ' holiday_col" data-css-prefix="' . $txt['calendar_prompt'] . ' ">'; |
| 694 | 720 | // Show any holidays! |
| 695 | - if (!empty($day['holidays'])) |
|
| 696 | - echo implode('<br>', $day['holidays']); |
|
| 721 | + if (!empty($day['holidays'])) { |
|
| 722 | + echo implode('<br>', $day['holidays']); |
|
| 723 | + } |
|
| 697 | 724 | |
| 698 | 725 | echo '</td> |
| 699 | 726 | <td class="', implode(' ', $classes), '', !empty($day['birthdays']) ? ' birthdays' : ' disabled', ' birthday_col" data-css-prefix="' . $txt['birthdays'] . ' ">'; |
@@ -751,8 +778,7 @@ discard block |
||
| 751 | 778 | <input type="text" name="end_date" id="end_date" maxlength="10" value="', $calendar_data['end_date'], '" tabindex="', $context['tabindex']++, '" class="date_input end" data-type="date"> |
| 752 | 779 | <input type="submit" class="button" style="float:none" id="view_button" value="', $txt['view'], '"> |
| 753 | 780 | </form>'; |
| 754 | - } |
|
| 755 | - else |
|
| 781 | + } else |
|
| 756 | 782 | { |
| 757 | 783 | echo' |
| 758 | 784 | <form action="', $scripturl, '?action=calendar" id="calendar_navigation" method="post" accept-charset="', $context['character_set'], '"> |
@@ -794,8 +820,9 @@ discard block |
||
| 794 | 820 | echo ' |
| 795 | 821 | <form action="', $scripturl, '?action=calendar;sa=post" method="post" name="postevent" accept-charset="', $context['character_set'], '" onsubmit="submitonce(this);smc_saveEntities(\'postevent\', [\'evtitle\']);" style="margin: 0;">'; |
| 796 | 822 | |
| 797 | - if (!empty($context['event']['new'])) |
|
| 798 | - echo '<input type="hidden" name="eventid" value="', $context['event']['eventid'], '">'; |
|
| 823 | + if (!empty($context['event']['new'])) { |
|
| 824 | + echo '<input type="hidden" name="eventid" value="', $context['event']['eventid'], '">'; |
|
| 825 | + } |
|
| 799 | 826 | |
| 800 | 827 | // Start the main table. |
| 801 | 828 | echo ' |
@@ -845,9 +872,10 @@ discard block |
||
| 845 | 872 | { |
| 846 | 873 | echo ' |
| 847 | 874 | <optgroup label="', $category['name'], '">'; |
| 848 | - foreach ($category['boards'] as $board) |
|
| 849 | - echo ' |
|
| 875 | + foreach ($category['boards'] as $board) { |
|
| 876 | + echo ' |
|
| 850 | 877 | <option value="', $board['id'], '"', $board['selected'] ? ' selected' : '', '>', $board['child_level'] > 0 ? str_repeat('==', $board['child_level'] - 1) . '=>' : '', ' ', $board['name'], ' </option>'; |
| 878 | + } |
|
| 851 | 879 | echo ' |
| 852 | 880 | </optgroup>'; |
| 853 | 881 | } |
@@ -883,9 +911,10 @@ discard block |
||
| 883 | 911 | <span class="label">', $txt['calendar_timezone'], '</span> |
| 884 | 912 | <select name="tz" id="tz"', !empty($context['event']['allday']) ? ' disabled' : '', '>'; |
| 885 | 913 | |
| 886 | - foreach ($context['all_timezones'] as $tz => $tzname) |
|
| 887 | - echo ' |
|
| 914 | + foreach ($context['all_timezones'] as $tz => $tzname) { |
|
| 915 | + echo ' |
|
| 888 | 916 | <option value="', $tz, '"', $tz == $context['event']['tz'] ? ' selected' : '', '>', $tzname, '</option>'; |
| 917 | + } |
|
| 889 | 918 | |
| 890 | 919 | echo ' |
| 891 | 920 | </select> |
@@ -900,9 +929,10 @@ discard block |
||
| 900 | 929 | echo ' |
| 901 | 930 | <input type="submit" value="', empty($context['event']['new']) ? $txt['save'] : $txt['post'], '" class="button">'; |
| 902 | 931 | // Delete button? |
| 903 | - if (empty($context['event']['new'])) |
|
| 904 | - echo ' |
|
| 932 | + if (empty($context['event']['new'])) { |
|
| 933 | + echo ' |
|
| 905 | 934 | <input type="submit" name="deleteevent" value="', $txt['event_delete'], '" data-confirm="', $txt['calendar_confirm_delete'], '" class="button you_sure">'; |
| 935 | + } |
|
| 906 | 936 | |
| 907 | 937 | echo ' |
| 908 | 938 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
@@ -946,9 +976,10 @@ discard block |
||
| 946 | 976 | |
| 947 | 977 | foreach ($context['clockicons'] as $t => $v) |
| 948 | 978 | { |
| 949 | - foreach ($v as $i) |
|
| 950 | - echo ' |
|
| 979 | + foreach ($v as $i) { |
|
| 980 | + echo ' |
|
| 951 | 981 | icons[\'', $t, '_', $i, '\'] = document.getElementById(\'', $t, '_', $i, '\');'; |
| 982 | + } |
|
| 952 | 983 | } |
| 953 | 984 | |
| 954 | 985 | echo ' |
@@ -973,13 +1004,14 @@ discard block |
||
| 973 | 1004 | |
| 974 | 1005 | foreach ($context['clockicons'] as $t => $v) |
| 975 | 1006 | { |
| 976 | - foreach ($v as $i) |
|
| 977 | - echo ' |
|
| 1007 | + foreach ($v as $i) { |
|
| 1008 | + echo ' |
|
| 978 | 1009 | if (', $t, ' >= ', $i, ') |
| 979 | 1010 | { |
| 980 | 1011 | turnon.push("', $t, '_', $i, '"); |
| 981 | 1012 | ', $t, ' -= ', $i, '; |
| 982 | 1013 | }'; |
| 1014 | + } |
|
| 983 | 1015 | } |
| 984 | 1016 | |
| 985 | 1017 | echo ' |
@@ -1043,9 +1075,10 @@ discard block |
||
| 1043 | 1075 | |
| 1044 | 1076 | foreach ($context['clockicons'] as $t => $v) |
| 1045 | 1077 | { |
| 1046 | - foreach ($v as $i) |
|
| 1047 | - echo ' |
|
| 1078 | + foreach ($v as $i) { |
|
| 1079 | + echo ' |
|
| 1048 | 1080 | icons[\'', $t, '_', $i, '\'] = document.getElementById(\'', $t, '_', $i, '\');'; |
| 1081 | + } |
|
| 1049 | 1082 | } |
| 1050 | 1083 | |
| 1051 | 1084 | echo ' |
@@ -1062,13 +1095,14 @@ discard block |
||
| 1062 | 1095 | |
| 1063 | 1096 | foreach ($context['clockicons'] as $t => $v) |
| 1064 | 1097 | { |
| 1065 | - foreach ($v as $i) |
|
| 1066 | - echo ' |
|
| 1098 | + foreach ($v as $i) { |
|
| 1099 | + echo ' |
|
| 1067 | 1100 | if (', $t, ' >= ', $i, ') |
| 1068 | 1101 | { |
| 1069 | 1102 | turnon.push("', $t, '_', $i, '"); |
| 1070 | 1103 | ', $t, ' -= ', $i, '; |
| 1071 | 1104 | }'; |
| 1105 | + } |
|
| 1072 | 1106 | } |
| 1073 | 1107 | |
| 1074 | 1108 | echo ' |
@@ -1127,9 +1161,10 @@ discard block |
||
| 1127 | 1161 | |
| 1128 | 1162 | foreach ($context['clockicons'] as $t => $v) |
| 1129 | 1163 | { |
| 1130 | - foreach ($v as $i) |
|
| 1131 | - echo ' |
|
| 1164 | + foreach ($v as $i) { |
|
| 1165 | + echo ' |
|
| 1132 | 1166 | icons[\'', $t, '_', $i, '\'] = document.getElementById(\'', $t, '_', $i, '\');'; |
| 1167 | + } |
|
| 1133 | 1168 | } |
| 1134 | 1169 | |
| 1135 | 1170 | echo ' |
@@ -1150,13 +1185,14 @@ discard block |
||
| 1150 | 1185 | |
| 1151 | 1186 | foreach ($context['clockicons'] as $t => $v) |
| 1152 | 1187 | { |
| 1153 | - foreach ($v as $i) |
|
| 1154 | - echo ' |
|
| 1188 | + foreach ($v as $i) { |
|
| 1189 | + echo ' |
|
| 1155 | 1190 | if (', $t, ' >= ', $i, ') |
| 1156 | 1191 | { |
| 1157 | 1192 | turnon.push("', $t, '_', $i, '"); |
| 1158 | 1193 | ', $t, ' -= ', $i, '; |
| 1159 | 1194 | }'; |
| 1195 | + } |
|
| 1160 | 1196 | } |
| 1161 | 1197 | |
| 1162 | 1198 | echo ' |
@@ -676,7 +676,7 @@ discard block |
||
| 676 | 676 | * - caches the formatting data from the setting for optimization. |
| 677 | 677 | * |
| 678 | 678 | * @param float $number A number |
| 679 | - * @param bool|int $override_decimal_count If set, will use the specified number of decimal places. Otherwise it's automatically determined |
|
| 679 | + * @param integer $override_decimal_count If set, will use the specified number of decimal places. Otherwise it's automatically determined |
|
| 680 | 680 | * @return string A formatted number |
| 681 | 681 | */ |
| 682 | 682 | function comma_format($number, $override_decimal_count = false) |
@@ -5527,7 +5527,7 @@ discard block |
||
| 5527 | 5527 | * It assumes the data is already a string. |
| 5528 | 5528 | * @param string $data The data to print |
| 5529 | 5529 | * @param string $type The content type. Defaults to Json. |
| 5530 | - * @return void |
|
| 5530 | + * @return false|null |
|
| 5531 | 5531 | */ |
| 5532 | 5532 | function smf_serverResponse($data = '', $type = 'Content-Type: application/json') |
| 5533 | 5533 | { |
@@ -13,8 +13,9 @@ discard block |
||
| 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 | * Update some basic statistics. |
@@ -122,10 +123,11 @@ discard block |
||
| 122 | 123 | $smcFunc['db_free_result']($result); |
| 123 | 124 | |
| 124 | 125 | // Add this to the number of unapproved members |
| 125 | - if (!empty($changes['unapprovedMembers'])) |
|
| 126 | - $changes['unapprovedMembers'] += $coppa_approvals; |
|
| 127 | - else |
|
| 128 | - $changes['unapprovedMembers'] = $coppa_approvals; |
|
| 126 | + if (!empty($changes['unapprovedMembers'])) { |
|
| 127 | + $changes['unapprovedMembers'] += $coppa_approvals; |
|
| 128 | + } else { |
|
| 129 | + $changes['unapprovedMembers'] = $coppa_approvals; |
|
| 130 | + } |
|
| 129 | 131 | } |
| 130 | 132 | } |
| 131 | 133 | } |
@@ -133,9 +135,9 @@ discard block |
||
| 133 | 135 | break; |
| 134 | 136 | |
| 135 | 137 | case 'message': |
| 136 | - if ($parameter1 === true && $parameter2 !== null) |
|
| 137 | - updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true); |
|
| 138 | - else |
|
| 138 | + if ($parameter1 === true && $parameter2 !== null) { |
|
| 139 | + updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true); |
|
| 140 | + } else |
|
| 139 | 141 | { |
| 140 | 142 | // SUM and MAX on a smaller table is better for InnoDB tables. |
| 141 | 143 | $result = $smcFunc['db_query']('', ' |
@@ -175,23 +177,25 @@ discard block |
||
| 175 | 177 | $parameter2 = text2words($parameter2); |
| 176 | 178 | |
| 177 | 179 | $inserts = array(); |
| 178 | - foreach ($parameter2 as $word) |
|
| 179 | - $inserts[] = array($word, $parameter1); |
|
| 180 | + foreach ($parameter2 as $word) { |
|
| 181 | + $inserts[] = array($word, $parameter1); |
|
| 182 | + } |
|
| 180 | 183 | |
| 181 | - if (!empty($inserts)) |
|
| 182 | - $smcFunc['db_insert']('ignore', |
|
| 184 | + if (!empty($inserts)) { |
|
| 185 | + $smcFunc['db_insert']('ignore', |
|
| 183 | 186 | '{db_prefix}log_search_subjects', |
| 184 | 187 | array('word' => 'string', 'id_topic' => 'int'), |
| 185 | 188 | $inserts, |
| 186 | 189 | array('word', 'id_topic') |
| 187 | 190 | ); |
| 191 | + } |
|
| 188 | 192 | } |
| 189 | 193 | break; |
| 190 | 194 | |
| 191 | 195 | case 'topic': |
| 192 | - if ($parameter1 === true) |
|
| 193 | - updateSettings(array('totalTopics' => true), true); |
|
| 194 | - else |
|
| 196 | + if ($parameter1 === true) { |
|
| 197 | + updateSettings(array('totalTopics' => true), true); |
|
| 198 | + } else |
|
| 195 | 199 | { |
| 196 | 200 | // Get the number of topics - a SUM is better for InnoDB tables. |
| 197 | 201 | // We also ignore the recycle bin here because there will probably be a bunch of one-post topics there. |
@@ -212,8 +216,9 @@ discard block |
||
| 212 | 216 | |
| 213 | 217 | case 'postgroups': |
| 214 | 218 | // Parameter two is the updated columns: we should check to see if we base groups off any of these. |
| 215 | - if ($parameter2 !== null && !in_array('posts', $parameter2)) |
|
| 216 | - return; |
|
| 219 | + if ($parameter2 !== null && !in_array('posts', $parameter2)) { |
|
| 220 | + return; |
|
| 221 | + } |
|
| 217 | 222 | |
| 218 | 223 | $postgroups = cache_get_data('updateStats:postgroups', 360); |
| 219 | 224 | if ($postgroups == null || $parameter1 == null) |
@@ -228,8 +233,9 @@ discard block |
||
| 228 | 233 | ) |
| 229 | 234 | ); |
| 230 | 235 | $postgroups = array(); |
| 231 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 232 | - $postgroups[$row['id_group']] = $row['min_posts']; |
|
| 236 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 237 | + $postgroups[$row['id_group']] = $row['min_posts']; |
|
| 238 | + } |
|
| 233 | 239 | $smcFunc['db_free_result']($request); |
| 234 | 240 | |
| 235 | 241 | // Sort them this way because if it's done with MySQL it causes a filesort :(. |
@@ -239,8 +245,9 @@ discard block |
||
| 239 | 245 | } |
| 240 | 246 | |
| 241 | 247 | // Oh great, they've screwed their post groups. |
| 242 | - if (empty($postgroups)) |
|
| 243 | - return; |
|
| 248 | + if (empty($postgroups)) { |
|
| 249 | + return; |
|
| 250 | + } |
|
| 244 | 251 | |
| 245 | 252 | // Set all membergroups from most posts to least posts. |
| 246 | 253 | $conditions = ''; |
@@ -298,10 +305,9 @@ discard block |
||
| 298 | 305 | { |
| 299 | 306 | $condition = 'id_member IN ({array_int:members})'; |
| 300 | 307 | $parameters['members'] = $members; |
| 301 | - } |
|
| 302 | - elseif ($members === null) |
|
| 303 | - $condition = '1=1'; |
|
| 304 | - else |
|
| 308 | + } elseif ($members === null) { |
|
| 309 | + $condition = '1=1'; |
|
| 310 | + } else |
|
| 305 | 311 | { |
| 306 | 312 | $condition = 'id_member = {int:member}'; |
| 307 | 313 | $parameters['member'] = $members; |
@@ -341,9 +347,9 @@ discard block |
||
| 341 | 347 | if (count($vars_to_integrate) != 0) |
| 342 | 348 | { |
| 343 | 349 | // Fetch a list of member_names if necessary |
| 344 | - if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) |
|
| 345 | - $member_names = array($user_info['username']); |
|
| 346 | - else |
|
| 350 | + if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) { |
|
| 351 | + $member_names = array($user_info['username']); |
|
| 352 | + } else |
|
| 347 | 353 | { |
| 348 | 354 | $member_names = array(); |
| 349 | 355 | $request = $smcFunc['db_query']('', ' |
@@ -352,14 +358,16 @@ discard block |
||
| 352 | 358 | WHERE ' . $condition, |
| 353 | 359 | $parameters |
| 354 | 360 | ); |
| 355 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 356 | - $member_names[] = $row['member_name']; |
|
| 361 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 362 | + $member_names[] = $row['member_name']; |
|
| 363 | + } |
|
| 357 | 364 | $smcFunc['db_free_result']($request); |
| 358 | 365 | } |
| 359 | 366 | |
| 360 | - if (!empty($member_names)) |
|
| 361 | - foreach ($vars_to_integrate as $var) |
|
| 367 | + if (!empty($member_names)) { |
|
| 368 | + foreach ($vars_to_integrate as $var) |
|
| 362 | 369 | call_integration_hook('integrate_change_member_data', array($member_names, $var, &$data[$var], &$knownInts, &$knownFloats)); |
| 370 | + } |
|
| 363 | 371 | } |
| 364 | 372 | } |
| 365 | 373 | |
@@ -367,16 +375,17 @@ discard block |
||
| 367 | 375 | foreach ($data as $var => $val) |
| 368 | 376 | { |
| 369 | 377 | $type = 'string'; |
| 370 | - if (in_array($var, $knownInts)) |
|
| 371 | - $type = 'int'; |
|
| 372 | - elseif (in_array($var, $knownFloats)) |
|
| 373 | - $type = 'float'; |
|
| 374 | - elseif ($var == 'birthdate') |
|
| 375 | - $type = 'date'; |
|
| 376 | - elseif ($var == 'member_ip') |
|
| 377 | - $type = 'inet'; |
|
| 378 | - elseif ($var == 'member_ip2') |
|
| 379 | - $type = 'inet'; |
|
| 378 | + if (in_array($var, $knownInts)) { |
|
| 379 | + $type = 'int'; |
|
| 380 | + } elseif (in_array($var, $knownFloats)) { |
|
| 381 | + $type = 'float'; |
|
| 382 | + } elseif ($var == 'birthdate') { |
|
| 383 | + $type = 'date'; |
|
| 384 | + } elseif ($var == 'member_ip') { |
|
| 385 | + $type = 'inet'; |
|
| 386 | + } elseif ($var == 'member_ip2') { |
|
| 387 | + $type = 'inet'; |
|
| 388 | + } |
|
| 380 | 389 | |
| 381 | 390 | // Doing an increment? |
| 382 | 391 | if ($type == 'int' && ($val === '+' || $val === '-')) |
@@ -390,8 +399,9 @@ discard block |
||
| 390 | 399 | { |
| 391 | 400 | if (preg_match('~^' . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match)) |
| 392 | 401 | { |
| 393 | - if ($match[1] != '+ ') |
|
| 394 | - $val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END'; |
|
| 402 | + if ($match[1] != '+ ') { |
|
| 403 | + $val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END'; |
|
| 404 | + } |
|
| 395 | 405 | $type = 'raw'; |
| 396 | 406 | } |
| 397 | 407 | } |
@@ -412,8 +422,9 @@ discard block |
||
| 412 | 422 | // Clear any caching? |
| 413 | 423 | if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && !empty($members)) |
| 414 | 424 | { |
| 415 | - if (!is_array($members)) |
|
| 416 | - $members = array($members); |
|
| 425 | + if (!is_array($members)) { |
|
| 426 | + $members = array($members); |
|
| 427 | + } |
|
| 417 | 428 | |
| 418 | 429 | foreach ($members as $member) |
| 419 | 430 | { |
@@ -446,29 +457,32 @@ discard block |
||
| 446 | 457 | { |
| 447 | 458 | global $modSettings, $smcFunc; |
| 448 | 459 | |
| 449 | - if (empty($changeArray) || !is_array($changeArray)) |
|
| 450 | - return; |
|
| 460 | + if (empty($changeArray) || !is_array($changeArray)) { |
|
| 461 | + return; |
|
| 462 | + } |
|
| 451 | 463 | |
| 452 | 464 | $toRemove = array(); |
| 453 | 465 | |
| 454 | 466 | // Go check if there is any setting to be removed. |
| 455 | - foreach ($changeArray as $k => $v) |
|
| 456 | - if ($v === null) |
|
| 467 | + foreach ($changeArray as $k => $v) { |
|
| 468 | + if ($v === null) |
|
| 457 | 469 | { |
| 458 | 470 | // Found some, remove them from the original array and add them to ours. |
| 459 | 471 | unset($changeArray[$k]); |
| 472 | + } |
|
| 460 | 473 | $toRemove[] = $k; |
| 461 | 474 | } |
| 462 | 475 | |
| 463 | 476 | // Proceed with the deletion. |
| 464 | - if (!empty($toRemove)) |
|
| 465 | - $smcFunc['db_query']('', ' |
|
| 477 | + if (!empty($toRemove)) { |
|
| 478 | + $smcFunc['db_query']('', ' |
|
| 466 | 479 | DELETE FROM {db_prefix}settings |
| 467 | 480 | WHERE variable IN ({array_string:remove})', |
| 468 | 481 | array( |
| 469 | 482 | 'remove' => $toRemove, |
| 470 | 483 | ) |
| 471 | 484 | ); |
| 485 | + } |
|
| 472 | 486 | |
| 473 | 487 | // In some cases, this may be better and faster, but for large sets we don't want so many UPDATEs. |
| 474 | 488 | if ($update) |
@@ -497,19 +511,22 @@ discard block |
||
| 497 | 511 | foreach ($changeArray as $variable => $value) |
| 498 | 512 | { |
| 499 | 513 | // Don't bother if it's already like that ;). |
| 500 | - if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) |
|
| 501 | - continue; |
|
| 514 | + if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) { |
|
| 515 | + continue; |
|
| 516 | + } |
|
| 502 | 517 | // If the variable isn't set, but would only be set to nothing'ness, then don't bother setting it. |
| 503 | - elseif (!isset($modSettings[$variable]) && empty($value)) |
|
| 504 | - continue; |
|
| 518 | + elseif (!isset($modSettings[$variable]) && empty($value)) { |
|
| 519 | + continue; |
|
| 520 | + } |
|
| 505 | 521 | |
| 506 | 522 | $replaceArray[] = array($variable, $value); |
| 507 | 523 | |
| 508 | 524 | $modSettings[$variable] = $value; |
| 509 | 525 | } |
| 510 | 526 | |
| 511 | - if (empty($replaceArray)) |
|
| 512 | - return; |
|
| 527 | + if (empty($replaceArray)) { |
|
| 528 | + return; |
|
| 529 | + } |
|
| 513 | 530 | |
| 514 | 531 | $smcFunc['db_insert']('replace', |
| 515 | 532 | '{db_prefix}settings', |
@@ -555,14 +572,17 @@ discard block |
||
| 555 | 572 | $start_invalid = $start < 0; |
| 556 | 573 | |
| 557 | 574 | // Make sure $start is a proper variable - not less than 0. |
| 558 | - if ($start_invalid) |
|
| 559 | - $start = 0; |
|
| 575 | + if ($start_invalid) { |
|
| 576 | + $start = 0; |
|
| 577 | + } |
|
| 560 | 578 | // Not greater than the upper bound. |
| 561 | - elseif ($start >= $max_value) |
|
| 562 | - $start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page))); |
|
| 579 | + elseif ($start >= $max_value) { |
|
| 580 | + $start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page))); |
|
| 581 | + } |
|
| 563 | 582 | // And it has to be a multiple of $num_per_page! |
| 564 | - else |
|
| 565 | - $start = max(0, (int) $start - ((int) $start % (int) $num_per_page)); |
|
| 583 | + else { |
|
| 584 | + $start = max(0, (int) $start - ((int) $start % (int) $num_per_page)); |
|
| 585 | + } |
|
| 566 | 586 | |
| 567 | 587 | $context['current_page'] = $start / $num_per_page; |
| 568 | 588 | |
@@ -592,77 +612,87 @@ discard block |
||
| 592 | 612 | |
| 593 | 613 | // Show all the pages. |
| 594 | 614 | $display_page = 1; |
| 595 | - for ($counter = 0; $counter < $max_value; $counter += $num_per_page) |
|
| 596 | - $pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++); |
|
| 615 | + for ($counter = 0; $counter < $max_value; $counter += $num_per_page) { |
|
| 616 | + $pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++); |
|
| 617 | + } |
|
| 597 | 618 | |
| 598 | 619 | // Show the right arrow. |
| 599 | 620 | $display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page); |
| 600 | - if ($start != $counter - $max_value && !$start_invalid) |
|
| 601 | - $pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']); |
|
| 602 | - } |
|
| 603 | - else |
|
| 621 | + if ($start != $counter - $max_value && !$start_invalid) { |
|
| 622 | + $pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']); |
|
| 623 | + } |
|
| 624 | + } else |
|
| 604 | 625 | { |
| 605 | 626 | // If they didn't enter an odd value, pretend they did. |
| 606 | 627 | $PageContiguous = (int) ($modSettings['compactTopicPagesContiguous'] - ($modSettings['compactTopicPagesContiguous'] % 2)) / 2; |
| 607 | 628 | |
| 608 | 629 | // Show the "prev page" link. (>prev page< 1 ... 6 7 [8] 9 10 ... 15 next page) |
| 609 | - if (!empty($start) && $show_prevnext) |
|
| 610 | - $pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']); |
|
| 611 | - else |
|
| 612 | - $pageindex .= ''; |
|
| 630 | + if (!empty($start) && $show_prevnext) { |
|
| 631 | + $pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']); |
|
| 632 | + } else { |
|
| 633 | + $pageindex .= ''; |
|
| 634 | + } |
|
| 613 | 635 | |
| 614 | 636 | // Show the first page. (prev page >1< ... 6 7 [8] 9 10 ... 15) |
| 615 | - if ($start > $num_per_page * $PageContiguous) |
|
| 616 | - $pageindex .= sprintf($base_link, 0, '1'); |
|
| 637 | + if ($start > $num_per_page * $PageContiguous) { |
|
| 638 | + $pageindex .= sprintf($base_link, 0, '1'); |
|
| 639 | + } |
|
| 617 | 640 | |
| 618 | 641 | // Show the ... after the first page. (prev page 1 >...< 6 7 [8] 9 10 ... 15 next page) |
| 619 | - if ($start > $num_per_page * ($PageContiguous + 1)) |
|
| 620 | - $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
| 642 | + if ($start > $num_per_page * ($PageContiguous + 1)) { |
|
| 643 | + $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
| 621 | 644 | '{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)), |
| 622 | 645 | '{FIRST_PAGE}' => $num_per_page, |
| 623 | 646 | '{LAST_PAGE}' => $start - $num_per_page * $PageContiguous, |
| 624 | 647 | '{PER_PAGE}' => $num_per_page, |
| 625 | 648 | )); |
| 649 | + } |
|
| 626 | 650 | |
| 627 | 651 | // Show the pages before the current one. (prev page 1 ... >6 7< [8] 9 10 ... 15 next page) |
| 628 | - for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) |
|
| 629 | - if ($start >= $num_per_page * $nCont) |
|
| 652 | + for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) { |
|
| 653 | + if ($start >= $num_per_page * $nCont) |
|
| 630 | 654 | { |
| 631 | 655 | $tmpStart = $start - $num_per_page * $nCont; |
| 656 | + } |
|
| 632 | 657 | $pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1); |
| 633 | 658 | } |
| 634 | 659 | |
| 635 | 660 | // Show the current page. (prev page 1 ... 6 7 >[8]< 9 10 ... 15 next page) |
| 636 | - if (!$start_invalid) |
|
| 637 | - $pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1); |
|
| 638 | - else |
|
| 639 | - $pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1); |
|
| 661 | + if (!$start_invalid) { |
|
| 662 | + $pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1); |
|
| 663 | + } else { |
|
| 664 | + $pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1); |
|
| 665 | + } |
|
| 640 | 666 | |
| 641 | 667 | // Show the pages after the current one... (prev page 1 ... 6 7 [8] >9 10< ... 15 next page) |
| 642 | 668 | $tmpMaxPages = (int) (($max_value - 1) / $num_per_page) * $num_per_page; |
| 643 | - for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) |
|
| 644 | - if ($start + $num_per_page * $nCont <= $tmpMaxPages) |
|
| 669 | + for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) { |
|
| 670 | + if ($start + $num_per_page * $nCont <= $tmpMaxPages) |
|
| 645 | 671 | { |
| 646 | 672 | $tmpStart = $start + $num_per_page * $nCont; |
| 673 | + } |
|
| 647 | 674 | $pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1); |
| 648 | 675 | } |
| 649 | 676 | |
| 650 | 677 | // Show the '...' part near the end. (prev page 1 ... 6 7 [8] 9 10 >...< 15 next page) |
| 651 | - if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) |
|
| 652 | - $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
| 678 | + if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) { |
|
| 679 | + $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
| 653 | 680 | '{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)), |
| 654 | 681 | '{FIRST_PAGE}' => $start + $num_per_page * ($PageContiguous + 1), |
| 655 | 682 | '{LAST_PAGE}' => $tmpMaxPages, |
| 656 | 683 | '{PER_PAGE}' => $num_per_page, |
| 657 | 684 | )); |
| 685 | + } |
|
| 658 | 686 | |
| 659 | 687 | // Show the last number in the list. (prev page 1 ... 6 7 [8] 9 10 ... >15< next page) |
| 660 | - if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) |
|
| 661 | - $pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1); |
|
| 688 | + if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) { |
|
| 689 | + $pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1); |
|
| 690 | + } |
|
| 662 | 691 | |
| 663 | 692 | // Show the "next page" link. (prev page 1 ... 6 7 [8] 9 10 ... 15 >next page<) |
| 664 | - if ($start != $tmpMaxPages && $show_prevnext) |
|
| 665 | - $pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']); |
|
| 693 | + if ($start != $tmpMaxPages && $show_prevnext) { |
|
| 694 | + $pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']); |
|
| 695 | + } |
|
| 666 | 696 | } |
| 667 | 697 | $pageindex .= $settings['page_index']['extra_after']; |
| 668 | 698 | |
@@ -688,8 +718,9 @@ discard block |
||
| 688 | 718 | if ($decimal_separator === null) |
| 689 | 719 | { |
| 690 | 720 | // Not set for whatever reason? |
| 691 | - if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) |
|
| 692 | - return $number; |
|
| 721 | + if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) { |
|
| 722 | + return $number; |
|
| 723 | + } |
|
| 693 | 724 | |
| 694 | 725 | // Cache these each load... |
| 695 | 726 | $thousands_separator = $matches[1]; |
@@ -723,17 +754,20 @@ discard block |
||
| 723 | 754 | static $unsupportedFormats, $finalizedFormats; |
| 724 | 755 | |
| 725 | 756 | // Offset the time. |
| 726 | - if (!$offset_type) |
|
| 727 | - $time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600; |
|
| 757 | + if (!$offset_type) { |
|
| 758 | + $time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600; |
|
| 759 | + } |
|
| 728 | 760 | // Just the forum offset? |
| 729 | - elseif ($offset_type == 'forum') |
|
| 730 | - $time = $log_time + $modSettings['time_offset'] * 3600; |
|
| 731 | - else |
|
| 732 | - $time = $log_time; |
|
| 761 | + elseif ($offset_type == 'forum') { |
|
| 762 | + $time = $log_time + $modSettings['time_offset'] * 3600; |
|
| 763 | + } else { |
|
| 764 | + $time = $log_time; |
|
| 765 | + } |
|
| 733 | 766 | |
| 734 | 767 | // We can't have a negative date (on Windows, at least.) |
| 735 | - if ($log_time < 0) |
|
| 736 | - $log_time = 0; |
|
| 768 | + if ($log_time < 0) { |
|
| 769 | + $log_time = 0; |
|
| 770 | + } |
|
| 737 | 771 | |
| 738 | 772 | // Today and Yesterday? |
| 739 | 773 | if ($modSettings['todayMod'] >= 1 && $show_today === true) |
@@ -750,24 +784,27 @@ discard block |
||
| 750 | 784 | { |
| 751 | 785 | $h = strpos($user_info['time_format'], '%l') === false ? '%I' : '%l'; |
| 752 | 786 | $today_fmt = $h . ':%M' . $s . ' %p'; |
| 787 | + } else { |
|
| 788 | + $today_fmt = '%H:%M' . $s; |
|
| 753 | 789 | } |
| 754 | - else |
|
| 755 | - $today_fmt = '%H:%M' . $s; |
|
| 756 | 790 | |
| 757 | 791 | // Same day of the year, same year.... Today! |
| 758 | - if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) |
|
| 759 | - return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type); |
|
| 792 | + if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) { |
|
| 793 | + return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type); |
|
| 794 | + } |
|
| 760 | 795 | |
| 761 | 796 | // Day-of-year is one less and same year, or it's the first of the year and that's the last of the year... |
| 762 | - if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)) |
|
| 763 | - return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type); |
|
| 797 | + if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)) { |
|
| 798 | + return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type); |
|
| 799 | + } |
|
| 764 | 800 | } |
| 765 | 801 | |
| 766 | 802 | $str = !is_bool($show_today) ? $show_today : $user_info['time_format']; |
| 767 | 803 | |
| 768 | 804 | // Use the cached formats if available |
| 769 | - if (is_null($finalizedFormats)) |
|
| 770 | - $finalizedFormats = (array) cache_get_data('timeformatstrings', 86400); |
|
| 805 | + if (is_null($finalizedFormats)) { |
|
| 806 | + $finalizedFormats = (array) cache_get_data('timeformatstrings', 86400); |
|
| 807 | + } |
|
| 771 | 808 | |
| 772 | 809 | // Make a supported version for this format if we don't already have one |
| 773 | 810 | if (empty($finalizedFormats[$str])) |
@@ -796,8 +833,9 @@ discard block |
||
| 796 | 833 | ); |
| 797 | 834 | |
| 798 | 835 | // No need to do this part again if we already did it once |
| 799 | - if (is_null($unsupportedFormats)) |
|
| 800 | - $unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400); |
|
| 836 | + if (is_null($unsupportedFormats)) { |
|
| 837 | + $unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400); |
|
| 838 | + } |
|
| 801 | 839 | if (empty($unsupportedFormats)) |
| 802 | 840 | { |
| 803 | 841 | foreach($strftimeFormatSubstitutions as $format => $substitution) |
@@ -806,20 +844,23 @@ discard block |
||
| 806 | 844 | |
| 807 | 845 | // Windows will return false for unsupported formats |
| 808 | 846 | // Other operating systems return the format string as a literal |
| 809 | - if ($value === false || $value === $format) |
|
| 810 | - $unsupportedFormats[] = $format; |
|
| 847 | + if ($value === false || $value === $format) { |
|
| 848 | + $unsupportedFormats[] = $format; |
|
| 849 | + } |
|
| 811 | 850 | } |
| 812 | 851 | cache_put_data('unsupportedtimeformats', $unsupportedFormats, 86400); |
| 813 | 852 | } |
| 814 | 853 | |
| 815 | 854 | // Windows needs extra help if $timeformat contains something completely invalid, e.g. '%Q' |
| 816 | - if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') |
|
| 817 | - $timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '%', $timeformat); |
|
| 855 | + if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { |
|
| 856 | + $timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '%', $timeformat); |
|
| 857 | + } |
|
| 818 | 858 | |
| 819 | 859 | // Substitute unsupported formats with supported ones |
| 820 | - if (!empty($unsupportedFormats)) |
|
| 821 | - while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches)) |
|
| 860 | + if (!empty($unsupportedFormats)) { |
|
| 861 | + while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches)) |
|
| 822 | 862 | $timeformat = str_replace($matches[0], $strftimeFormatSubstitutions[$matches[1]], $timeformat); |
| 863 | + } |
|
| 823 | 864 | |
| 824 | 865 | // Remember this so we don't need to do it again |
| 825 | 866 | $finalizedFormats[$str] = $timeformat; |
@@ -828,33 +869,39 @@ discard block |
||
| 828 | 869 | |
| 829 | 870 | $str = $finalizedFormats[$str]; |
| 830 | 871 | |
| 831 | - if (!isset($locale_cache)) |
|
| 832 | - $locale_cache = setlocale(LC_TIME, $txt['lang_locale']); |
|
| 872 | + if (!isset($locale_cache)) { |
|
| 873 | + $locale_cache = setlocale(LC_TIME, $txt['lang_locale']); |
|
| 874 | + } |
|
| 833 | 875 | |
| 834 | 876 | if ($locale_cache !== false) |
| 835 | 877 | { |
| 836 | 878 | // Check if another process changed the locale |
| 837 | - if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache) |
|
| 838 | - setlocale(LC_TIME, $txt['lang_locale']); |
|
| 879 | + if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache) { |
|
| 880 | + setlocale(LC_TIME, $txt['lang_locale']); |
|
| 881 | + } |
|
| 839 | 882 | |
| 840 | - if (!isset($non_twelve_hour)) |
|
| 841 | - $non_twelve_hour = trim(strftime('%p')) === ''; |
|
| 842 | - if ($non_twelve_hour && strpos($str, '%p') !== false) |
|
| 843 | - $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
| 883 | + if (!isset($non_twelve_hour)) { |
|
| 884 | + $non_twelve_hour = trim(strftime('%p')) === ''; |
|
| 885 | + } |
|
| 886 | + if ($non_twelve_hour && strpos($str, '%p') !== false) { |
|
| 887 | + $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
| 888 | + } |
|
| 844 | 889 | |
| 845 | - foreach (array('%a', '%A', '%b', '%B') as $token) |
|
| 846 | - if (strpos($str, $token) !== false) |
|
| 890 | + foreach (array('%a', '%A', '%b', '%B') as $token) { |
|
| 891 | + if (strpos($str, $token) !== false) |
|
| 847 | 892 | $str = str_replace($token, strftime($token, $time), $str); |
| 848 | - } |
|
| 849 | - else |
|
| 893 | + } |
|
| 894 | + } else |
|
| 850 | 895 | { |
| 851 | 896 | // Do-it-yourself time localization. Fun. |
| 852 | - foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) |
|
| 853 | - if (strpos($str, $token) !== false) |
|
| 897 | + foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) { |
|
| 898 | + if (strpos($str, $token) !== false) |
|
| 854 | 899 | $str = str_replace($token, $txt[$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str); |
| 900 | + } |
|
| 855 | 901 | |
| 856 | - if (strpos($str, '%p') !== false) |
|
| 857 | - $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
| 902 | + if (strpos($str, '%p') !== false) { |
|
| 903 | + $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
| 904 | + } |
|
| 858 | 905 | } |
| 859 | 906 | |
| 860 | 907 | // Format the time and then restore any literal percent characters |
@@ -877,16 +924,19 @@ discard block |
||
| 877 | 924 | static $translation = array(); |
| 878 | 925 | |
| 879 | 926 | // Determine the character set... Default to UTF-8 |
| 880 | - if (empty($context['character_set'])) |
|
| 881 | - $charset = 'UTF-8'; |
|
| 927 | + if (empty($context['character_set'])) { |
|
| 928 | + $charset = 'UTF-8'; |
|
| 929 | + } |
|
| 882 | 930 | // Use ISO-8859-1 in place of non-supported ISO-8859 charsets... |
| 883 | - elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) |
|
| 884 | - $charset = 'ISO-8859-1'; |
|
| 885 | - else |
|
| 886 | - $charset = $context['character_set']; |
|
| 931 | + elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) { |
|
| 932 | + $charset = 'ISO-8859-1'; |
|
| 933 | + } else { |
|
| 934 | + $charset = $context['character_set']; |
|
| 935 | + } |
|
| 887 | 936 | |
| 888 | - if (empty($translation)) |
|
| 889 | - $translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array(''' => '\'', ''' => '\'', ' ' => ' '); |
|
| 937 | + if (empty($translation)) { |
|
| 938 | + $translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array(''' => '\'', ''' => '\'', ' ' => ' '); |
|
| 939 | + } |
|
| 890 | 940 | |
| 891 | 941 | return strtr($string, $translation); |
| 892 | 942 | } |
@@ -908,8 +958,9 @@ discard block |
||
| 908 | 958 | global $smcFunc; |
| 909 | 959 | |
| 910 | 960 | // It was already short enough! |
| 911 | - if ($smcFunc['strlen']($subject) <= $len) |
|
| 912 | - return $subject; |
|
| 961 | + if ($smcFunc['strlen']($subject) <= $len) { |
|
| 962 | + return $subject; |
|
| 963 | + } |
|
| 913 | 964 | |
| 914 | 965 | // Shorten it by the length it was too long, and strip off junk from the end. |
| 915 | 966 | return $smcFunc['substr']($subject, 0, $len) . '...'; |
@@ -928,10 +979,11 @@ discard block |
||
| 928 | 979 | { |
| 929 | 980 | global $user_info, $modSettings; |
| 930 | 981 | |
| 931 | - if ($timestamp === null) |
|
| 932 | - $timestamp = time(); |
|
| 933 | - elseif ($timestamp == 0) |
|
| 934 | - return 0; |
|
| 982 | + if ($timestamp === null) { |
|
| 983 | + $timestamp = time(); |
|
| 984 | + } elseif ($timestamp == 0) { |
|
| 985 | + return 0; |
|
| 986 | + } |
|
| 935 | 987 | |
| 936 | 988 | return $timestamp + ($modSettings['time_offset'] + ($use_user_offset ? $user_info['time_offset'] : 0)) * 3600; |
| 937 | 989 | } |
@@ -960,8 +1012,9 @@ discard block |
||
| 960 | 1012 | $array[$i] = $array[$j]; |
| 961 | 1013 | $array[$j] = $temp; |
| 962 | 1014 | |
| 963 | - for ($i = 1; $p[$i] == 0; $i++) |
|
| 964 | - $p[$i] = 1; |
|
| 1015 | + for ($i = 1; $p[$i] == 0; $i++) { |
|
| 1016 | + $p[$i] = 1; |
|
| 1017 | + } |
|
| 965 | 1018 | |
| 966 | 1019 | $orders[] = $array; |
| 967 | 1020 | } |
@@ -993,12 +1046,14 @@ discard block |
||
| 993 | 1046 | static $disabled; |
| 994 | 1047 | |
| 995 | 1048 | // Don't waste cycles |
| 996 | - if ($message === '') |
|
| 997 | - return ''; |
|
| 1049 | + if ($message === '') { |
|
| 1050 | + return ''; |
|
| 1051 | + } |
|
| 998 | 1052 | |
| 999 | 1053 | // Just in case it wasn't determined yet whether UTF-8 is enabled. |
| 1000 | - if (!isset($context['utf8'])) |
|
| 1001 | - $context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8'; |
|
| 1054 | + if (!isset($context['utf8'])) { |
|
| 1055 | + $context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8'; |
|
| 1056 | + } |
|
| 1002 | 1057 | |
| 1003 | 1058 | // Clean up any cut/paste issues we may have |
| 1004 | 1059 | $message = sanitizeMSCutPaste($message); |
@@ -1010,13 +1065,15 @@ discard block |
||
| 1010 | 1065 | return $message; |
| 1011 | 1066 | } |
| 1012 | 1067 | |
| 1013 | - if ($smileys !== null && ($smileys == '1' || $smileys == '0')) |
|
| 1014 | - $smileys = (bool) $smileys; |
|
| 1068 | + if ($smileys !== null && ($smileys == '1' || $smileys == '0')) { |
|
| 1069 | + $smileys = (bool) $smileys; |
|
| 1070 | + } |
|
| 1015 | 1071 | |
| 1016 | 1072 | if (empty($modSettings['enableBBC']) && $message !== false) |
| 1017 | 1073 | { |
| 1018 | - if ($smileys === true) |
|
| 1019 | - parsesmileys($message); |
|
| 1074 | + if ($smileys === true) { |
|
| 1075 | + parsesmileys($message); |
|
| 1076 | + } |
|
| 1020 | 1077 | |
| 1021 | 1078 | return $message; |
| 1022 | 1079 | } |
@@ -1029,8 +1086,9 @@ discard block |
||
| 1029 | 1086 | } |
| 1030 | 1087 | |
| 1031 | 1088 | // Ensure $modSettings['tld_regex'] contains a valid regex for the autolinker |
| 1032 | - if (!empty($modSettings['autoLinkUrls'])) |
|
| 1033 | - set_tld_regex(); |
|
| 1089 | + if (!empty($modSettings['autoLinkUrls'])) { |
|
| 1090 | + set_tld_regex(); |
|
| 1091 | + } |
|
| 1034 | 1092 | |
| 1035 | 1093 | // Allow mods access before entering the main parse_bbc loop |
| 1036 | 1094 | call_integration_hook('integrate_pre_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags)); |
@@ -1044,12 +1102,14 @@ discard block |
||
| 1044 | 1102 | |
| 1045 | 1103 | $temp = explode(',', strtolower($modSettings['disabledBBC'])); |
| 1046 | 1104 | |
| 1047 | - foreach ($temp as $tag) |
|
| 1048 | - $disabled[trim($tag)] = true; |
|
| 1105 | + foreach ($temp as $tag) { |
|
| 1106 | + $disabled[trim($tag)] = true; |
|
| 1107 | + } |
|
| 1049 | 1108 | } |
| 1050 | 1109 | |
| 1051 | - if (empty($modSettings['enableEmbeddedFlash'])) |
|
| 1052 | - $disabled['flash'] = true; |
|
| 1110 | + if (empty($modSettings['enableEmbeddedFlash'])) { |
|
| 1111 | + $disabled['flash'] = true; |
|
| 1112 | + } |
|
| 1053 | 1113 | |
| 1054 | 1114 | /* The following bbc are formatted as an array, with keys as follows: |
| 1055 | 1115 | |
@@ -1170,8 +1230,9 @@ discard block |
||
| 1170 | 1230 | $returnContext = ''; |
| 1171 | 1231 | |
| 1172 | 1232 | // BBC or the entire attachments feature is disabled |
| 1173 | - if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) |
|
| 1174 | - return $data; |
|
| 1233 | + if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) { |
|
| 1234 | + return $data; |
|
| 1235 | + } |
|
| 1175 | 1236 | |
| 1176 | 1237 | // Save the attach ID. |
| 1177 | 1238 | $attachID = $data; |
@@ -1182,8 +1243,9 @@ discard block |
||
| 1182 | 1243 | $currentAttachment = parseAttachBBC($attachID); |
| 1183 | 1244 | |
| 1184 | 1245 | // parseAttachBBC will return a string ($txt key) rather than diying with a fatal_error. Up to you to decide what to do. |
| 1185 | - if (is_string($currentAttachment)) |
|
| 1186 | - return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment; |
|
| 1246 | + if (is_string($currentAttachment)) { |
|
| 1247 | + return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment; |
|
| 1248 | + } |
|
| 1187 | 1249 | |
| 1188 | 1250 | if (!empty($currentAttachment['is_image'])) |
| 1189 | 1251 | { |
@@ -1199,15 +1261,17 @@ discard block |
||
| 1199 | 1261 | $height = ' height="' . $currentAttachment['height'] . '"'; |
| 1200 | 1262 | } |
| 1201 | 1263 | |
| 1202 | - if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) |
|
| 1203 | - $returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>'; |
|
| 1204 | - else |
|
| 1205 | - $returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>'; |
|
| 1264 | + if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) { |
|
| 1265 | + $returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>'; |
|
| 1266 | + } else { |
|
| 1267 | + $returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>'; |
|
| 1268 | + } |
|
| 1206 | 1269 | } |
| 1207 | 1270 | |
| 1208 | 1271 | // No image. Show a link. |
| 1209 | - else |
|
| 1210 | - $returnContext .= $currentAttachment['link']; |
|
| 1272 | + else { |
|
| 1273 | + $returnContext .= $currentAttachment['link']; |
|
| 1274 | + } |
|
| 1211 | 1275 | |
| 1212 | 1276 | // Gotta append what we just did. |
| 1213 | 1277 | $data = $returnContext; |
@@ -1238,8 +1302,9 @@ discard block |
||
| 1238 | 1302 | for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++) |
| 1239 | 1303 | { |
| 1240 | 1304 | // Do PHP code coloring? |
| 1241 | - if ($php_parts[$php_i] != '<?php') |
|
| 1242 | - continue; |
|
| 1305 | + if ($php_parts[$php_i] != '<?php') { |
|
| 1306 | + continue; |
|
| 1307 | + } |
|
| 1243 | 1308 | |
| 1244 | 1309 | $php_string = ''; |
| 1245 | 1310 | while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?>') |
@@ -1255,8 +1320,9 @@ discard block |
||
| 1255 | 1320 | $data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data); |
| 1256 | 1321 | |
| 1257 | 1322 | // Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection. |
| 1258 | - if ($context['browser']['is_opera']) |
|
| 1259 | - $data .= ' '; |
|
| 1323 | + if ($context['browser']['is_opera']) { |
|
| 1324 | + $data .= ' '; |
|
| 1325 | + } |
|
| 1260 | 1326 | } |
| 1261 | 1327 | }, |
| 1262 | 1328 | 'block_level' => true, |
@@ -1275,8 +1341,9 @@ discard block |
||
| 1275 | 1341 | for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++) |
| 1276 | 1342 | { |
| 1277 | 1343 | // Do PHP code coloring? |
| 1278 | - if ($php_parts[$php_i] != '<?php') |
|
| 1279 | - continue; |
|
| 1344 | + if ($php_parts[$php_i] != '<?php') { |
|
| 1345 | + continue; |
|
| 1346 | + } |
|
| 1280 | 1347 | |
| 1281 | 1348 | $php_string = ''; |
| 1282 | 1349 | while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?>') |
@@ -1292,8 +1359,9 @@ discard block |
||
| 1292 | 1359 | $data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]); |
| 1293 | 1360 | |
| 1294 | 1361 | // Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection. |
| 1295 | - if ($context['browser']['is_opera']) |
|
| 1296 | - $data[0] .= ' '; |
|
| 1362 | + if ($context['browser']['is_opera']) { |
|
| 1363 | + $data[0] .= ' '; |
|
| 1364 | + } |
|
| 1297 | 1365 | } |
| 1298 | 1366 | }, |
| 1299 | 1367 | 'block_level' => true, |
@@ -1331,11 +1399,13 @@ discard block |
||
| 1331 | 1399 | 'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">', |
| 1332 | 1400 | 'validate' => function (&$tag, &$data, $disabled) |
| 1333 | 1401 | { |
| 1334 | - if (isset($disabled['url'])) |
|
| 1335 | - $tag['content'] = '$1'; |
|
| 1402 | + if (isset($disabled['url'])) { |
|
| 1403 | + $tag['content'] = '$1'; |
|
| 1404 | + } |
|
| 1336 | 1405 | $scheme = parse_url($data[0], PHP_URL_SCHEME); |
| 1337 | - if (empty($scheme)) |
|
| 1338 | - $data[0] = '//' . ltrim($data[0], ':/'); |
|
| 1406 | + if (empty($scheme)) { |
|
| 1407 | + $data[0] = '//' . ltrim($data[0], ':/'); |
|
| 1408 | + } |
|
| 1339 | 1409 | }, |
| 1340 | 1410 | 'disabled_content' => '<a href="$1" target="_blank">$1</a>', |
| 1341 | 1411 | ), |
@@ -1349,10 +1419,11 @@ discard block |
||
| 1349 | 1419 | { |
| 1350 | 1420 | $class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"'; |
| 1351 | 1421 | |
| 1352 | - if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches)) |
|
| 1353 | - $css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"'; |
|
| 1354 | - else |
|
| 1355 | - $css = ''; |
|
| 1422 | + if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches)) { |
|
| 1423 | + $css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"'; |
|
| 1424 | + } else { |
|
| 1425 | + $css = ''; |
|
| 1426 | + } |
|
| 1356 | 1427 | |
| 1357 | 1428 | $data = $class . $css; |
| 1358 | 1429 | }, |
@@ -1402,14 +1473,16 @@ discard block |
||
| 1402 | 1473 | $scheme = parse_url($data, PHP_URL_SCHEME); |
| 1403 | 1474 | if ($image_proxy_enabled) |
| 1404 | 1475 | { |
| 1405 | - if (empty($scheme)) |
|
| 1406 | - $data = 'http://' . ltrim($data, ':/'); |
|
| 1476 | + if (empty($scheme)) { |
|
| 1477 | + $data = 'http://' . ltrim($data, ':/'); |
|
| 1478 | + } |
|
| 1407 | 1479 | |
| 1408 | - if ($scheme != 'https') |
|
| 1409 | - $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
| 1480 | + if ($scheme != 'https') { |
|
| 1481 | + $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
| 1482 | + } |
|
| 1483 | + } elseif (empty($scheme)) { |
|
| 1484 | + $data = '//' . ltrim($data, ':/'); |
|
| 1410 | 1485 | } |
| 1411 | - elseif (empty($scheme)) |
|
| 1412 | - $data = '//' . ltrim($data, ':/'); |
|
| 1413 | 1486 | }, |
| 1414 | 1487 | 'disabled_content' => '($1)', |
| 1415 | 1488 | ), |
@@ -1425,14 +1498,16 @@ discard block |
||
| 1425 | 1498 | $scheme = parse_url($data, PHP_URL_SCHEME); |
| 1426 | 1499 | if ($image_proxy_enabled) |
| 1427 | 1500 | { |
| 1428 | - if (empty($scheme)) |
|
| 1429 | - $data = 'http://' . ltrim($data, ':/'); |
|
| 1501 | + if (empty($scheme)) { |
|
| 1502 | + $data = 'http://' . ltrim($data, ':/'); |
|
| 1503 | + } |
|
| 1430 | 1504 | |
| 1431 | - if ($scheme != 'https') |
|
| 1432 | - $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
| 1505 | + if ($scheme != 'https') { |
|
| 1506 | + $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
| 1507 | + } |
|
| 1508 | + } elseif (empty($scheme)) { |
|
| 1509 | + $data = '//' . ltrim($data, ':/'); |
|
| 1433 | 1510 | } |
| 1434 | - elseif (empty($scheme)) |
|
| 1435 | - $data = '//' . ltrim($data, ':/'); |
|
| 1436 | 1511 | }, |
| 1437 | 1512 | 'disabled_content' => '($1)', |
| 1438 | 1513 | ), |
@@ -1444,8 +1519,9 @@ discard block |
||
| 1444 | 1519 | { |
| 1445 | 1520 | $data = strtr($data, array('<br>' => '')); |
| 1446 | 1521 | $scheme = parse_url($data, PHP_URL_SCHEME); |
| 1447 | - if (empty($scheme)) |
|
| 1448 | - $data = '//' . ltrim($data, ':/'); |
|
| 1522 | + if (empty($scheme)) { |
|
| 1523 | + $data = '//' . ltrim($data, ':/'); |
|
| 1524 | + } |
|
| 1449 | 1525 | }, |
| 1450 | 1526 | ), |
| 1451 | 1527 | array( |
@@ -1456,13 +1532,14 @@ discard block |
||
| 1456 | 1532 | 'after' => '</a>', |
| 1457 | 1533 | 'validate' => function (&$tag, &$data, $disabled) |
| 1458 | 1534 | { |
| 1459 | - if (substr($data, 0, 1) == '#') |
|
| 1460 | - $data = '#post_' . substr($data, 1); |
|
| 1461 | - else |
|
| 1535 | + if (substr($data, 0, 1) == '#') { |
|
| 1536 | + $data = '#post_' . substr($data, 1); |
|
| 1537 | + } else |
|
| 1462 | 1538 | { |
| 1463 | 1539 | $scheme = parse_url($data, PHP_URL_SCHEME); |
| 1464 | - if (empty($scheme)) |
|
| 1465 | - $data = '//' . ltrim($data, ':/'); |
|
| 1540 | + if (empty($scheme)) { |
|
| 1541 | + $data = '//' . ltrim($data, ':/'); |
|
| 1542 | + } |
|
| 1466 | 1543 | } |
| 1467 | 1544 | }, |
| 1468 | 1545 | 'disallow_children' => array('email', 'ftp', 'url', 'iurl'), |
@@ -1540,8 +1617,9 @@ discard block |
||
| 1540 | 1617 | { |
| 1541 | 1618 | $add_begin = substr(trim($data), 0, 5) != '<?'; |
| 1542 | 1619 | $data = highlight_php_code($add_begin ? '<?php ' . $data . '?>' : $data); |
| 1543 | - if ($add_begin) |
|
| 1544 | - $data = preg_replace(array('~^(.+?)<\?.{0,40}?php(?: |\s)~', '~\?>((?:</(font|span)>)*)$~'), '$1', $data, 2); |
|
| 1620 | + if ($add_begin) { |
|
| 1621 | + $data = preg_replace(array('~^(.+?)<\?.{0,40}?php(?: |\s)~', '~\?>((?:</(font|span)>)*)$~'), '$1', $data, 2); |
|
| 1622 | + } |
|
| 1545 | 1623 | } |
| 1546 | 1624 | }, |
| 1547 | 1625 | 'block_level' => false, |
@@ -1672,10 +1750,11 @@ discard block |
||
| 1672 | 1750 | 'content' => '$1', |
| 1673 | 1751 | 'validate' => function (&$tag, &$data, $disabled) |
| 1674 | 1752 | { |
| 1675 | - if (is_numeric($data)) |
|
| 1676 | - $data = timeformat($data); |
|
| 1677 | - else |
|
| 1678 | - $tag['content'] = '[time]$1[/time]'; |
|
| 1753 | + if (is_numeric($data)) { |
|
| 1754 | + $data = timeformat($data); |
|
| 1755 | + } else { |
|
| 1756 | + $tag['content'] = '[time]$1[/time]'; |
|
| 1757 | + } |
|
| 1679 | 1758 | }, |
| 1680 | 1759 | ), |
| 1681 | 1760 | array( |
@@ -1702,8 +1781,9 @@ discard block |
||
| 1702 | 1781 | { |
| 1703 | 1782 | $data = strtr($data, array('<br>' => '')); |
| 1704 | 1783 | $scheme = parse_url($data, PHP_URL_SCHEME); |
| 1705 | - if (empty($scheme)) |
|
| 1706 | - $data = '//' . ltrim($data, ':/'); |
|
| 1784 | + if (empty($scheme)) { |
|
| 1785 | + $data = '//' . ltrim($data, ':/'); |
|
| 1786 | + } |
|
| 1707 | 1787 | }, |
| 1708 | 1788 | ), |
| 1709 | 1789 | array( |
@@ -1715,8 +1795,9 @@ discard block |
||
| 1715 | 1795 | 'validate' => function (&$tag, &$data, $disabled) |
| 1716 | 1796 | { |
| 1717 | 1797 | $scheme = parse_url($data, PHP_URL_SCHEME); |
| 1718 | - if (empty($scheme)) |
|
| 1719 | - $data = '//' . ltrim($data, ':/'); |
|
| 1798 | + if (empty($scheme)) { |
|
| 1799 | + $data = '//' . ltrim($data, ':/'); |
|
| 1800 | + } |
|
| 1720 | 1801 | }, |
| 1721 | 1802 | 'disallow_children' => array('email', 'ftp', 'url', 'iurl'), |
| 1722 | 1803 | 'disabled_after' => ' ($1)', |
@@ -1736,8 +1817,9 @@ discard block |
||
| 1736 | 1817 | // This is mainly for the bbc manager, so it's easy to add tags above. Custom BBC should be added above this line. |
| 1737 | 1818 | if ($message === false) |
| 1738 | 1819 | { |
| 1739 | - if (isset($temp_bbc)) |
|
| 1740 | - $bbc_codes = $temp_bbc; |
|
| 1820 | + if (isset($temp_bbc)) { |
|
| 1821 | + $bbc_codes = $temp_bbc; |
|
| 1822 | + } |
|
| 1741 | 1823 | usort($codes, function ($a, $b) { |
| 1742 | 1824 | return strcmp($a['tag'], $b['tag']); |
| 1743 | 1825 | }); |
@@ -1757,8 +1839,9 @@ discard block |
||
| 1757 | 1839 | ); |
| 1758 | 1840 | if (!isset($disabled['li']) && !isset($disabled['list'])) |
| 1759 | 1841 | { |
| 1760 | - foreach ($itemcodes as $c => $dummy) |
|
| 1761 | - $bbc_codes[$c] = array(); |
|
| 1842 | + foreach ($itemcodes as $c => $dummy) { |
|
| 1843 | + $bbc_codes[$c] = array(); |
|
| 1844 | + } |
|
| 1762 | 1845 | } |
| 1763 | 1846 | |
| 1764 | 1847 | // Shhhh! |
@@ -1779,12 +1862,14 @@ discard block |
||
| 1779 | 1862 | foreach ($codes as $code) |
| 1780 | 1863 | { |
| 1781 | 1864 | // Make it easier to process parameters later |
| 1782 | - if (!empty($code['parameters'])) |
|
| 1783 | - ksort($code['parameters'], SORT_STRING); |
|
| 1865 | + if (!empty($code['parameters'])) { |
|
| 1866 | + ksort($code['parameters'], SORT_STRING); |
|
| 1867 | + } |
|
| 1784 | 1868 | |
| 1785 | 1869 | // If we are not doing every tag only do ones we are interested in. |
| 1786 | - if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) |
|
| 1787 | - $bbc_codes[substr($code['tag'], 0, 1)][] = $code; |
|
| 1870 | + if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) { |
|
| 1871 | + $bbc_codes[substr($code['tag'], 0, 1)][] = $code; |
|
| 1872 | + } |
|
| 1788 | 1873 | } |
| 1789 | 1874 | $codes = null; |
| 1790 | 1875 | } |
@@ -1795,8 +1880,9 @@ discard block |
||
| 1795 | 1880 | // It's likely this will change if the message is modified. |
| 1796 | 1881 | $cache_key = 'parse:' . $cache_id . '-' . md5(md5($message) . '-' . $smileys . (empty($disabled) ? '' : implode(',', array_keys($disabled))) . $smcFunc['json_encode']($context['browser']) . $txt['lang_locale'] . $user_info['time_offset'] . $user_info['time_format']); |
| 1797 | 1882 | |
| 1798 | - if (($temp = cache_get_data($cache_key, 240)) != null) |
|
| 1799 | - return $temp; |
|
| 1883 | + if (($temp = cache_get_data($cache_key, 240)) != null) { |
|
| 1884 | + return $temp; |
|
| 1885 | + } |
|
| 1800 | 1886 | |
| 1801 | 1887 | $cache_t = microtime(); |
| 1802 | 1888 | } |
@@ -1828,8 +1914,9 @@ discard block |
||
| 1828 | 1914 | $disabled['flash'] = true; |
| 1829 | 1915 | |
| 1830 | 1916 | // @todo Change maybe? |
| 1831 | - if (!isset($_GET['images'])) |
|
| 1832 | - $disabled['img'] = true; |
|
| 1917 | + if (!isset($_GET['images'])) { |
|
| 1918 | + $disabled['img'] = true; |
|
| 1919 | + } |
|
| 1833 | 1920 | |
| 1834 | 1921 | // @todo Interface/setting to add more? |
| 1835 | 1922 | } |
@@ -1853,8 +1940,9 @@ discard block |
||
| 1853 | 1940 | $pos = isset($matches[0][1]) ? $matches[0][1] : false; |
| 1854 | 1941 | |
| 1855 | 1942 | // Failsafe. |
| 1856 | - if ($pos === false || $last_pos > $pos) |
|
| 1857 | - $pos = strlen($message) + 1; |
|
| 1943 | + if ($pos === false || $last_pos > $pos) { |
|
| 1944 | + $pos = strlen($message) + 1; |
|
| 1945 | + } |
|
| 1858 | 1946 | |
| 1859 | 1947 | // Can't have a one letter smiley, URL, or email! (sorry.) |
| 1860 | 1948 | if ($last_pos < $pos - 1) |
@@ -1872,8 +1960,9 @@ discard block |
||
| 1872 | 1960 | |
| 1873 | 1961 | // <br> should be empty. |
| 1874 | 1962 | $empty_tags = array('br', 'hr'); |
| 1875 | - foreach ($empty_tags as $tag) |
|
| 1876 | - $data = str_replace(array('<' . $tag . '>', '<' . $tag . '/>', '<' . $tag . ' />'), '<' . $tag . '>', $data); |
|
| 1963 | + foreach ($empty_tags as $tag) { |
|
| 1964 | + $data = str_replace(array('<' . $tag . '>', '<' . $tag . '/>', '<' . $tag . ' />'), '<' . $tag . '>', $data); |
|
| 1965 | + } |
|
| 1877 | 1966 | |
| 1878 | 1967 | // b, u, i, s, pre... basic tags. |
| 1879 | 1968 | $closable_tags = array('b', 'u', 'i', 's', 'em', 'ins', 'del', 'pre', 'blockquote', 'strong'); |
@@ -1882,8 +1971,9 @@ discard block |
||
| 1882 | 1971 | $diff = substr_count($data, '<' . $tag . '>') - substr_count($data, '</' . $tag . '>'); |
| 1883 | 1972 | $data = strtr($data, array('<' . $tag . '>' => '<' . $tag . '>', '</' . $tag . '>' => '</' . $tag . '>')); |
| 1884 | 1973 | |
| 1885 | - if ($diff > 0) |
|
| 1886 | - $data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1); |
|
| 1974 | + if ($diff > 0) { |
|
| 1975 | + $data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1); |
|
| 1976 | + } |
|
| 1887 | 1977 | } |
| 1888 | 1978 | |
| 1889 | 1979 | // Do <img ...> - with security... action= -> action-. |
@@ -1896,8 +1986,9 @@ discard block |
||
| 1896 | 1986 | $alt = empty($matches[3][$match]) ? '' : ' alt=' . preg_replace('~^"|"$~', '', $matches[3][$match]); |
| 1897 | 1987 | |
| 1898 | 1988 | // Remove action= from the URL - no funny business, now. |
| 1899 | - if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) |
|
| 1900 | - $imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag); |
|
| 1989 | + if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) { |
|
| 1990 | + $imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag); |
|
| 1991 | + } |
|
| 1901 | 1992 | |
| 1902 | 1993 | // Check if the image is larger than allowed. |
| 1903 | 1994 | if (!empty($modSettings['max_image_width']) && !empty($modSettings['max_image_height'])) |
@@ -1918,9 +2009,9 @@ discard block |
||
| 1918 | 2009 | |
| 1919 | 2010 | // Set the new image tag. |
| 1920 | 2011 | $replaces[$matches[0][$match]] = '[img width=' . $width . ' height=' . $height . $alt . ']' . $imgtag . '[/img]'; |
| 2012 | + } else { |
|
| 2013 | + $replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]'; |
|
| 1921 | 2014 | } |
| 1922 | - else |
|
| 1923 | - $replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]'; |
|
| 1924 | 2015 | } |
| 1925 | 2016 | |
| 1926 | 2017 | $data = strtr($data, $replaces); |
@@ -1933,16 +2024,18 @@ discard block |
||
| 1933 | 2024 | $no_autolink_area = false; |
| 1934 | 2025 | if (!empty($open_tags)) |
| 1935 | 2026 | { |
| 1936 | - foreach ($open_tags as $open_tag) |
|
| 1937 | - if (in_array($open_tag['tag'], $no_autolink_tags)) |
|
| 2027 | + foreach ($open_tags as $open_tag) { |
|
| 2028 | + if (in_array($open_tag['tag'], $no_autolink_tags)) |
|
| 1938 | 2029 | $no_autolink_area = true; |
| 2030 | + } |
|
| 1939 | 2031 | } |
| 1940 | 2032 | |
| 1941 | 2033 | // Don't go backwards. |
| 1942 | 2034 | // @todo Don't think is the real solution.... |
| 1943 | 2035 | $lastAutoPos = isset($lastAutoPos) ? $lastAutoPos : 0; |
| 1944 | - if ($pos < $lastAutoPos) |
|
| 1945 | - $no_autolink_area = true; |
|
| 2036 | + if ($pos < $lastAutoPos) { |
|
| 2037 | + $no_autolink_area = true; |
|
| 2038 | + } |
|
| 1946 | 2039 | $lastAutoPos = $pos; |
| 1947 | 2040 | |
| 1948 | 2041 | if (!$no_autolink_area) |
@@ -2051,17 +2144,19 @@ discard block |
||
| 2051 | 2144 | if ($scheme == 'mailto') |
| 2052 | 2145 | { |
| 2053 | 2146 | $email_address = str_replace('mailto:', '', $url); |
| 2054 | - if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) |
|
| 2055 | - return '[email=' . $email_address . ']' . $url . '[/email]'; |
|
| 2056 | - else |
|
| 2057 | - return $url; |
|
| 2147 | + if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) { |
|
| 2148 | + return '[email=' . $email_address . ']' . $url . '[/email]'; |
|
| 2149 | + } else { |
|
| 2150 | + return $url; |
|
| 2151 | + } |
|
| 2058 | 2152 | } |
| 2059 | 2153 | |
| 2060 | 2154 | // Are we linking a schemeless URL or naked domain name (e.g. "example.com")? |
| 2061 | - if (empty($scheme)) |
|
| 2062 | - $fullUrl = '//' . ltrim($url, ':/'); |
|
| 2063 | - else |
|
| 2064 | - $fullUrl = $url; |
|
| 2155 | + if (empty($scheme)) { |
|
| 2156 | + $fullUrl = '//' . ltrim($url, ':/'); |
|
| 2157 | + } else { |
|
| 2158 | + $fullUrl = $url; |
|
| 2159 | + } |
|
| 2065 | 2160 | |
| 2066 | 2161 | return '[url="' . str_replace(array('[', ']'), array('[', ']'), $fullUrl) . '"]' . $url . '[/url]'; |
| 2067 | 2162 | }, $data); |
@@ -2110,16 +2205,18 @@ discard block |
||
| 2110 | 2205 | } |
| 2111 | 2206 | |
| 2112 | 2207 | // Are we there yet? Are we there yet? |
| 2113 | - if ($pos >= strlen($message) - 1) |
|
| 2114 | - break; |
|
| 2208 | + if ($pos >= strlen($message) - 1) { |
|
| 2209 | + break; |
|
| 2210 | + } |
|
| 2115 | 2211 | |
| 2116 | 2212 | $tags = strtolower($message[$pos + 1]); |
| 2117 | 2213 | |
| 2118 | 2214 | if ($tags == '/' && !empty($open_tags)) |
| 2119 | 2215 | { |
| 2120 | 2216 | $pos2 = strpos($message, ']', $pos + 1); |
| 2121 | - if ($pos2 == $pos + 2) |
|
| 2122 | - continue; |
|
| 2217 | + if ($pos2 == $pos + 2) { |
|
| 2218 | + continue; |
|
| 2219 | + } |
|
| 2123 | 2220 | |
| 2124 | 2221 | $look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2)); |
| 2125 | 2222 | |
@@ -2129,8 +2226,9 @@ discard block |
||
| 2129 | 2226 | do |
| 2130 | 2227 | { |
| 2131 | 2228 | $tag = array_pop($open_tags); |
| 2132 | - if (!$tag) |
|
| 2133 | - break; |
|
| 2229 | + if (!$tag) { |
|
| 2230 | + break; |
|
| 2231 | + } |
|
| 2134 | 2232 | |
| 2135 | 2233 | if (!empty($tag['block_level'])) |
| 2136 | 2234 | { |
@@ -2144,10 +2242,11 @@ discard block |
||
| 2144 | 2242 | // The idea is, if we are LOOKING for a block level tag, we can close them on the way. |
| 2145 | 2243 | if (strlen($look_for) > 0 && isset($bbc_codes[$look_for[0]])) |
| 2146 | 2244 | { |
| 2147 | - foreach ($bbc_codes[$look_for[0]] as $temp) |
|
| 2148 | - if ($temp['tag'] == $look_for) |
|
| 2245 | + foreach ($bbc_codes[$look_for[0]] as $temp) { |
|
| 2246 | + if ($temp['tag'] == $look_for) |
|
| 2149 | 2247 | { |
| 2150 | 2248 | $block_level = !empty($temp['block_level']); |
| 2249 | + } |
|
| 2151 | 2250 | break; |
| 2152 | 2251 | } |
| 2153 | 2252 | } |
@@ -2169,15 +2268,15 @@ discard block |
||
| 2169 | 2268 | { |
| 2170 | 2269 | $open_tags = $to_close; |
| 2171 | 2270 | continue; |
| 2172 | - } |
|
| 2173 | - elseif (!empty($to_close) && $tag['tag'] != $look_for) |
|
| 2271 | + } elseif (!empty($to_close) && $tag['tag'] != $look_for) |
|
| 2174 | 2272 | { |
| 2175 | 2273 | if ($block_level === null && isset($look_for[0], $bbc_codes[$look_for[0]])) |
| 2176 | 2274 | { |
| 2177 | - foreach ($bbc_codes[$look_for[0]] as $temp) |
|
| 2178 | - if ($temp['tag'] == $look_for) |
|
| 2275 | + foreach ($bbc_codes[$look_for[0]] as $temp) { |
|
| 2276 | + if ($temp['tag'] == $look_for) |
|
| 2179 | 2277 | { |
| 2180 | 2278 | $block_level = !empty($temp['block_level']); |
| 2279 | + } |
|
| 2181 | 2280 | break; |
| 2182 | 2281 | } |
| 2183 | 2282 | } |
@@ -2185,8 +2284,9 @@ discard block |
||
| 2185 | 2284 | // We're not looking for a block level tag (or maybe even a tag that exists...) |
| 2186 | 2285 | if (!$block_level) |
| 2187 | 2286 | { |
| 2188 | - foreach ($to_close as $tag) |
|
| 2189 | - array_push($open_tags, $tag); |
|
| 2287 | + foreach ($to_close as $tag) { |
|
| 2288 | + array_push($open_tags, $tag); |
|
| 2289 | + } |
|
| 2190 | 2290 | continue; |
| 2191 | 2291 | } |
| 2192 | 2292 | } |
@@ -2199,14 +2299,17 @@ discard block |
||
| 2199 | 2299 | |
| 2200 | 2300 | // See the comment at the end of the big loop - just eating whitespace ;). |
| 2201 | 2301 | $whitespace_regex = ''; |
| 2202 | - if (!empty($tag['block_level'])) |
|
| 2203 | - $whitespace_regex .= '( |\s)*(<br>)?'; |
|
| 2302 | + if (!empty($tag['block_level'])) { |
|
| 2303 | + $whitespace_regex .= '( |\s)*(<br>)?'; |
|
| 2304 | + } |
|
| 2204 | 2305 | // Trim one line of whitespace after unnested tags, but all of it after nested ones |
| 2205 | - if (!empty($tag['trim']) && $tag['trim'] != 'inside') |
|
| 2206 | - $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
| 2306 | + if (!empty($tag['trim']) && $tag['trim'] != 'inside') { |
|
| 2307 | + $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
| 2308 | + } |
|
| 2207 | 2309 | |
| 2208 | - if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) |
|
| 2209 | - $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
| 2310 | + if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) { |
|
| 2311 | + $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
| 2312 | + } |
|
| 2210 | 2313 | } |
| 2211 | 2314 | |
| 2212 | 2315 | if (!empty($to_close)) |
@@ -2219,8 +2322,9 @@ discard block |
||
| 2219 | 2322 | } |
| 2220 | 2323 | |
| 2221 | 2324 | // No tags for this character, so just keep going (fastest possible course.) |
| 2222 | - if (!isset($bbc_codes[$tags])) |
|
| 2223 | - continue; |
|
| 2325 | + if (!isset($bbc_codes[$tags])) { |
|
| 2326 | + continue; |
|
| 2327 | + } |
|
| 2224 | 2328 | |
| 2225 | 2329 | $inside = empty($open_tags) ? null : $open_tags[count($open_tags) - 1]; |
| 2226 | 2330 | $tag = null; |
@@ -2229,44 +2333,52 @@ discard block |
||
| 2229 | 2333 | $pt_strlen = strlen($possible['tag']); |
| 2230 | 2334 | |
| 2231 | 2335 | // Not a match? |
| 2232 | - if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) |
|
| 2233 | - continue; |
|
| 2336 | + if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) { |
|
| 2337 | + continue; |
|
| 2338 | + } |
|
| 2234 | 2339 | |
| 2235 | 2340 | $next_c = $message[$pos + 1 + $pt_strlen]; |
| 2236 | 2341 | |
| 2237 | 2342 | // A test validation? |
| 2238 | - if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) |
|
| 2239 | - continue; |
|
| 2343 | + if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) { |
|
| 2344 | + continue; |
|
| 2345 | + } |
|
| 2240 | 2346 | // Do we want parameters? |
| 2241 | 2347 | elseif (!empty($possible['parameters'])) |
| 2242 | 2348 | { |
| 2243 | - if ($next_c != ' ') |
|
| 2244 | - continue; |
|
| 2245 | - } |
|
| 2246 | - elseif (isset($possible['type'])) |
|
| 2349 | + if ($next_c != ' ') { |
|
| 2350 | + continue; |
|
| 2351 | + } |
|
| 2352 | + } elseif (isset($possible['type'])) |
|
| 2247 | 2353 | { |
| 2248 | 2354 | // Do we need an equal sign? |
| 2249 | - if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') |
|
| 2250 | - continue; |
|
| 2355 | + if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') { |
|
| 2356 | + continue; |
|
| 2357 | + } |
|
| 2251 | 2358 | // Maybe we just want a /... |
| 2252 | - if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') |
|
| 2253 | - continue; |
|
| 2359 | + if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') { |
|
| 2360 | + continue; |
|
| 2361 | + } |
|
| 2254 | 2362 | // An immediate ]? |
| 2255 | - if ($possible['type'] == 'unparsed_content' && $next_c != ']') |
|
| 2256 | - continue; |
|
| 2363 | + if ($possible['type'] == 'unparsed_content' && $next_c != ']') { |
|
| 2364 | + continue; |
|
| 2365 | + } |
|
| 2257 | 2366 | } |
| 2258 | 2367 | // No type means 'parsed_content', which demands an immediate ] without parameters! |
| 2259 | - elseif ($next_c != ']') |
|
| 2260 | - continue; |
|
| 2368 | + elseif ($next_c != ']') { |
|
| 2369 | + continue; |
|
| 2370 | + } |
|
| 2261 | 2371 | |
| 2262 | 2372 | // Check allowed tree? |
| 2263 | - if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) |
|
| 2264 | - continue; |
|
| 2265 | - elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) |
|
| 2266 | - continue; |
|
| 2373 | + if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) { |
|
| 2374 | + continue; |
|
| 2375 | + } elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) { |
|
| 2376 | + continue; |
|
| 2377 | + } |
|
| 2267 | 2378 | // If this is in the list of disallowed child tags, don't parse it. |
| 2268 | - elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) |
|
| 2269 | - continue; |
|
| 2379 | + elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) { |
|
| 2380 | + continue; |
|
| 2381 | + } |
|
| 2270 | 2382 | |
| 2271 | 2383 | $pos1 = $pos + 1 + $pt_strlen + 1; |
| 2272 | 2384 | |
@@ -2278,8 +2390,9 @@ discard block |
||
| 2278 | 2390 | foreach ($open_tags as $open_quote) |
| 2279 | 2391 | { |
| 2280 | 2392 | // Every parent quote this quote has flips the styling |
| 2281 | - if ($open_quote['tag'] == 'quote') |
|
| 2282 | - $quote_alt = !$quote_alt; |
|
| 2393 | + if ($open_quote['tag'] == 'quote') { |
|
| 2394 | + $quote_alt = !$quote_alt; |
|
| 2395 | + } |
|
| 2283 | 2396 | } |
| 2284 | 2397 | // Add a class to the quote to style alternating blockquotes |
| 2285 | 2398 | $possible['before'] = strtr($possible['before'], array('<blockquote>' => '<blockquote class="bbc_' . ($quote_alt ? 'alternate' : 'standard') . '_quote">')); |
@@ -2290,8 +2403,9 @@ discard block |
||
| 2290 | 2403 | { |
| 2291 | 2404 | // Build a regular expression for each parameter for the current tag. |
| 2292 | 2405 | $preg = array(); |
| 2293 | - foreach ($possible['parameters'] as $p => $info) |
|
| 2294 | - $preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '"') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '"') . '\s*)' . (empty($info['optional']) ? '' : '?'); |
|
| 2406 | + foreach ($possible['parameters'] as $p => $info) { |
|
| 2407 | + $preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '"') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '"') . '\s*)' . (empty($info['optional']) ? '' : '?'); |
|
| 2408 | + } |
|
| 2295 | 2409 | |
| 2296 | 2410 | // Extract the string that potentially holds our parameters. |
| 2297 | 2411 | $blob = preg_split('~\[/?(?:' . $alltags_regex . ')~i', substr($message, $pos)); |
@@ -2311,24 +2425,27 @@ discard block |
||
| 2311 | 2425 | |
| 2312 | 2426 | $match = preg_match('~^' . implode('', $preg) . '$~i', implode(' ', $given_params), $matches) !== 0; |
| 2313 | 2427 | |
| 2314 | - if ($match) |
|
| 2315 | - $blob_counter = count($blobs) + 1; |
|
| 2428 | + if ($match) { |
|
| 2429 | + $blob_counter = count($blobs) + 1; |
|
| 2430 | + } |
|
| 2316 | 2431 | } |
| 2317 | 2432 | |
| 2318 | 2433 | // Didn't match our parameter list, try the next possible. |
| 2319 | - if (!$match) |
|
| 2320 | - continue; |
|
| 2434 | + if (!$match) { |
|
| 2435 | + continue; |
|
| 2436 | + } |
|
| 2321 | 2437 | |
| 2322 | 2438 | $params = array(); |
| 2323 | 2439 | for ($i = 1, $n = count($matches); $i < $n; $i += 2) |
| 2324 | 2440 | { |
| 2325 | 2441 | $key = strtok(ltrim($matches[$i]), '='); |
| 2326 | - if (isset($possible['parameters'][$key]['value'])) |
|
| 2327 | - $params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1])); |
|
| 2328 | - elseif (isset($possible['parameters'][$key]['validate'])) |
|
| 2329 | - $params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]); |
|
| 2330 | - else |
|
| 2331 | - $params['{' . $key . '}'] = $matches[$i + 1]; |
|
| 2442 | + if (isset($possible['parameters'][$key]['value'])) { |
|
| 2443 | + $params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1])); |
|
| 2444 | + } elseif (isset($possible['parameters'][$key]['validate'])) { |
|
| 2445 | + $params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]); |
|
| 2446 | + } else { |
|
| 2447 | + $params['{' . $key . '}'] = $matches[$i + 1]; |
|
| 2448 | + } |
|
| 2332 | 2449 | |
| 2333 | 2450 | // Just to make sure: replace any $ or { so they can't interpolate wrongly. |
| 2334 | 2451 | $params['{' . $key . '}'] = strtr($params['{' . $key . '}'], array('$' => '$', '{' => '{')); |
@@ -2336,23 +2453,26 @@ discard block |
||
| 2336 | 2453 | |
| 2337 | 2454 | foreach ($possible['parameters'] as $p => $info) |
| 2338 | 2455 | { |
| 2339 | - if (!isset($params['{' . $p . '}'])) |
|
| 2340 | - $params['{' . $p . '}'] = ''; |
|
| 2456 | + if (!isset($params['{' . $p . '}'])) { |
|
| 2457 | + $params['{' . $p . '}'] = ''; |
|
| 2458 | + } |
|
| 2341 | 2459 | } |
| 2342 | 2460 | |
| 2343 | 2461 | $tag = $possible; |
| 2344 | 2462 | |
| 2345 | 2463 | // Put the parameters into the string. |
| 2346 | - if (isset($tag['before'])) |
|
| 2347 | - $tag['before'] = strtr($tag['before'], $params); |
|
| 2348 | - if (isset($tag['after'])) |
|
| 2349 | - $tag['after'] = strtr($tag['after'], $params); |
|
| 2350 | - if (isset($tag['content'])) |
|
| 2351 | - $tag['content'] = strtr($tag['content'], $params); |
|
| 2464 | + if (isset($tag['before'])) { |
|
| 2465 | + $tag['before'] = strtr($tag['before'], $params); |
|
| 2466 | + } |
|
| 2467 | + if (isset($tag['after'])) { |
|
| 2468 | + $tag['after'] = strtr($tag['after'], $params); |
|
| 2469 | + } |
|
| 2470 | + if (isset($tag['content'])) { |
|
| 2471 | + $tag['content'] = strtr($tag['content'], $params); |
|
| 2472 | + } |
|
| 2352 | 2473 | |
| 2353 | 2474 | $pos1 += strlen($given_param_string); |
| 2354 | - } |
|
| 2355 | - else |
|
| 2475 | + } else |
|
| 2356 | 2476 | { |
| 2357 | 2477 | $tag = $possible; |
| 2358 | 2478 | $params = array(); |
@@ -2363,8 +2483,9 @@ discard block |
||
| 2363 | 2483 | // Item codes are complicated buggers... they are implicit [li]s and can make [list]s! |
| 2364 | 2484 | if ($smileys !== false && $tag === null && isset($itemcodes[$message[$pos + 1]]) && $message[$pos + 2] == ']' && !isset($disabled['list']) && !isset($disabled['li'])) |
| 2365 | 2485 | { |
| 2366 | - if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) |
|
| 2367 | - continue; |
|
| 2486 | + if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) { |
|
| 2487 | + continue; |
|
| 2488 | + } |
|
| 2368 | 2489 | |
| 2369 | 2490 | $tag = $itemcodes[$message[$pos + 1]]; |
| 2370 | 2491 | |
@@ -2385,9 +2506,9 @@ discard block |
||
| 2385 | 2506 | { |
| 2386 | 2507 | array_pop($open_tags); |
| 2387 | 2508 | $code = '</li>'; |
| 2509 | + } else { |
|
| 2510 | + $code = ''; |
|
| 2388 | 2511 | } |
| 2389 | - else |
|
| 2390 | - $code = ''; |
|
| 2391 | 2512 | |
| 2392 | 2513 | // Now we open a new tag. |
| 2393 | 2514 | $open_tags[] = array( |
@@ -2434,12 +2555,14 @@ discard block |
||
| 2434 | 2555 | } |
| 2435 | 2556 | |
| 2436 | 2557 | // No tag? Keep looking, then. Silly people using brackets without actual tags. |
| 2437 | - if ($tag === null) |
|
| 2438 | - continue; |
|
| 2558 | + if ($tag === null) { |
|
| 2559 | + continue; |
|
| 2560 | + } |
|
| 2439 | 2561 | |
| 2440 | 2562 | // Propagate the list to the child (so wrapping the disallowed tag won't work either.) |
| 2441 | - if (isset($inside['disallow_children'])) |
|
| 2442 | - $tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children']; |
|
| 2563 | + if (isset($inside['disallow_children'])) { |
|
| 2564 | + $tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children']; |
|
| 2565 | + } |
|
| 2443 | 2566 | |
| 2444 | 2567 | // Is this tag disabled? |
| 2445 | 2568 | if (isset($disabled[$tag['tag']])) |
@@ -2449,14 +2572,13 @@ discard block |
||
| 2449 | 2572 | $tag['before'] = !empty($tag['block_level']) ? '<div>' : ''; |
| 2450 | 2573 | $tag['after'] = !empty($tag['block_level']) ? '</div>' : ''; |
| 2451 | 2574 | $tag['content'] = isset($tag['type']) && $tag['type'] == 'closed' ? '' : (!empty($tag['block_level']) ? '<div>$1</div>' : '$1'); |
| 2452 | - } |
|
| 2453 | - elseif (isset($tag['disabled_before']) || isset($tag['disabled_after'])) |
|
| 2575 | + } elseif (isset($tag['disabled_before']) || isset($tag['disabled_after'])) |
|
| 2454 | 2576 | { |
| 2455 | 2577 | $tag['before'] = isset($tag['disabled_before']) ? $tag['disabled_before'] : (!empty($tag['block_level']) ? '<div>' : ''); |
| 2456 | 2578 | $tag['after'] = isset($tag['disabled_after']) ? $tag['disabled_after'] : (!empty($tag['block_level']) ? '</div>' : ''); |
| 2579 | + } else { |
|
| 2580 | + $tag['content'] = $tag['disabled_content']; |
|
| 2457 | 2581 | } |
| 2458 | - else |
|
| 2459 | - $tag['content'] = $tag['disabled_content']; |
|
| 2460 | 2582 | } |
| 2461 | 2583 | |
| 2462 | 2584 | // we use this a lot |
@@ -2466,8 +2588,9 @@ discard block |
||
| 2466 | 2588 | if (!empty($tag['block_level']) && $tag['tag'] != 'html' && empty($inside['block_level'])) |
| 2467 | 2589 | { |
| 2468 | 2590 | $n = count($open_tags) - 1; |
| 2469 | - while (empty($open_tags[$n]['block_level']) && $n >= 0) |
|
| 2470 | - $n--; |
|
| 2591 | + while (empty($open_tags[$n]['block_level']) && $n >= 0) { |
|
| 2592 | + $n--; |
|
| 2593 | + } |
|
| 2471 | 2594 | |
| 2472 | 2595 | // Close all the non block level tags so this tag isn't surrounded by them. |
| 2473 | 2596 | for ($i = count($open_tags) - 1; $i > $n; $i--) |
@@ -2479,12 +2602,15 @@ discard block |
||
| 2479 | 2602 | |
| 2480 | 2603 | // Trim or eat trailing stuff... see comment at the end of the big loop. |
| 2481 | 2604 | $whitespace_regex = ''; |
| 2482 | - if (!empty($tag['block_level'])) |
|
| 2483 | - $whitespace_regex .= '( |\s)*(<br>)?'; |
|
| 2484 | - if (!empty($tag['trim']) && $tag['trim'] != 'inside') |
|
| 2485 | - $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
| 2486 | - if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) |
|
| 2487 | - $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
| 2605 | + if (!empty($tag['block_level'])) { |
|
| 2606 | + $whitespace_regex .= '( |\s)*(<br>)?'; |
|
| 2607 | + } |
|
| 2608 | + if (!empty($tag['trim']) && $tag['trim'] != 'inside') { |
|
| 2609 | + $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
| 2610 | + } |
|
| 2611 | + if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) { |
|
| 2612 | + $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
| 2613 | + } |
|
| 2488 | 2614 | |
| 2489 | 2615 | array_pop($open_tags); |
| 2490 | 2616 | } |
@@ -2502,16 +2628,19 @@ discard block |
||
| 2502 | 2628 | elseif ($tag['type'] == 'unparsed_content') |
| 2503 | 2629 | { |
| 2504 | 2630 | $pos2 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos1); |
| 2505 | - if ($pos2 === false) |
|
| 2506 | - continue; |
|
| 2631 | + if ($pos2 === false) { |
|
| 2632 | + continue; |
|
| 2633 | + } |
|
| 2507 | 2634 | |
| 2508 | 2635 | $data = substr($message, $pos1, $pos2 - $pos1); |
| 2509 | 2636 | |
| 2510 | - if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') |
|
| 2511 | - $data = substr($data, 4); |
|
| 2637 | + if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') { |
|
| 2638 | + $data = substr($data, 4); |
|
| 2639 | + } |
|
| 2512 | 2640 | |
| 2513 | - if (isset($tag['validate'])) |
|
| 2514 | - $tag['validate']($tag, $data, $disabled, $params); |
|
| 2641 | + if (isset($tag['validate'])) { |
|
| 2642 | + $tag['validate']($tag, $data, $disabled, $params); |
|
| 2643 | + } |
|
| 2515 | 2644 | |
| 2516 | 2645 | $code = strtr($tag['content'], array('$1' => $data)); |
| 2517 | 2646 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 3 + $tag_strlen); |
@@ -2527,34 +2656,40 @@ discard block |
||
| 2527 | 2656 | if (isset($tag['quoted'])) |
| 2528 | 2657 | { |
| 2529 | 2658 | $quoted = substr($message, $pos1, 6) == '"'; |
| 2530 | - if ($tag['quoted'] != 'optional' && !$quoted) |
|
| 2531 | - continue; |
|
| 2659 | + if ($tag['quoted'] != 'optional' && !$quoted) { |
|
| 2660 | + continue; |
|
| 2661 | + } |
|
| 2532 | 2662 | |
| 2533 | - if ($quoted) |
|
| 2534 | - $pos1 += 6; |
|
| 2663 | + if ($quoted) { |
|
| 2664 | + $pos1 += 6; |
|
| 2665 | + } |
|
| 2666 | + } else { |
|
| 2667 | + $quoted = false; |
|
| 2535 | 2668 | } |
| 2536 | - else |
|
| 2537 | - $quoted = false; |
|
| 2538 | 2669 | |
| 2539 | 2670 | $pos2 = strpos($message, $quoted == false ? ']' : '"]', $pos1); |
| 2540 | - if ($pos2 === false) |
|
| 2541 | - continue; |
|
| 2671 | + if ($pos2 === false) { |
|
| 2672 | + continue; |
|
| 2673 | + } |
|
| 2542 | 2674 | |
| 2543 | 2675 | $pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2); |
| 2544 | - if ($pos3 === false) |
|
| 2545 | - continue; |
|
| 2676 | + if ($pos3 === false) { |
|
| 2677 | + continue; |
|
| 2678 | + } |
|
| 2546 | 2679 | |
| 2547 | 2680 | $data = array( |
| 2548 | 2681 | substr($message, $pos2 + ($quoted == false ? 1 : 7), $pos3 - ($pos2 + ($quoted == false ? 1 : 7))), |
| 2549 | 2682 | substr($message, $pos1, $pos2 - $pos1) |
| 2550 | 2683 | ); |
| 2551 | 2684 | |
| 2552 | - if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') |
|
| 2553 | - $data[0] = substr($data[0], 4); |
|
| 2685 | + if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') { |
|
| 2686 | + $data[0] = substr($data[0], 4); |
|
| 2687 | + } |
|
| 2554 | 2688 | |
| 2555 | 2689 | // Validation for my parking, please! |
| 2556 | - if (isset($tag['validate'])) |
|
| 2557 | - $tag['validate']($tag, $data, $disabled, $params); |
|
| 2690 | + if (isset($tag['validate'])) { |
|
| 2691 | + $tag['validate']($tag, $data, $disabled, $params); |
|
| 2692 | + } |
|
| 2558 | 2693 | |
| 2559 | 2694 | $code = strtr($tag['content'], array('$1' => $data[0], '$2' => $data[1])); |
| 2560 | 2695 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen); |
@@ -2571,23 +2706,27 @@ discard block |
||
| 2571 | 2706 | elseif ($tag['type'] == 'unparsed_commas_content') |
| 2572 | 2707 | { |
| 2573 | 2708 | $pos2 = strpos($message, ']', $pos1); |
| 2574 | - if ($pos2 === false) |
|
| 2575 | - continue; |
|
| 2709 | + if ($pos2 === false) { |
|
| 2710 | + continue; |
|
| 2711 | + } |
|
| 2576 | 2712 | |
| 2577 | 2713 | $pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2); |
| 2578 | - if ($pos3 === false) |
|
| 2579 | - continue; |
|
| 2714 | + if ($pos3 === false) { |
|
| 2715 | + continue; |
|
| 2716 | + } |
|
| 2580 | 2717 | |
| 2581 | 2718 | // We want $1 to be the content, and the rest to be csv. |
| 2582 | 2719 | $data = explode(',', ',' . substr($message, $pos1, $pos2 - $pos1)); |
| 2583 | 2720 | $data[0] = substr($message, $pos2 + 1, $pos3 - $pos2 - 1); |
| 2584 | 2721 | |
| 2585 | - if (isset($tag['validate'])) |
|
| 2586 | - $tag['validate']($tag, $data, $disabled, $params); |
|
| 2722 | + if (isset($tag['validate'])) { |
|
| 2723 | + $tag['validate']($tag, $data, $disabled, $params); |
|
| 2724 | + } |
|
| 2587 | 2725 | |
| 2588 | 2726 | $code = $tag['content']; |
| 2589 | - foreach ($data as $k => $d) |
|
| 2590 | - $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
| 2727 | + foreach ($data as $k => $d) { |
|
| 2728 | + $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
| 2729 | + } |
|
| 2591 | 2730 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen); |
| 2592 | 2731 | $pos += strlen($code) - 1 + 2; |
| 2593 | 2732 | } |
@@ -2595,24 +2734,28 @@ discard block |
||
| 2595 | 2734 | elseif ($tag['type'] == 'unparsed_commas') |
| 2596 | 2735 | { |
| 2597 | 2736 | $pos2 = strpos($message, ']', $pos1); |
| 2598 | - if ($pos2 === false) |
|
| 2599 | - continue; |
|
| 2737 | + if ($pos2 === false) { |
|
| 2738 | + continue; |
|
| 2739 | + } |
|
| 2600 | 2740 | |
| 2601 | 2741 | $data = explode(',', substr($message, $pos1, $pos2 - $pos1)); |
| 2602 | 2742 | |
| 2603 | - if (isset($tag['validate'])) |
|
| 2604 | - $tag['validate']($tag, $data, $disabled, $params); |
|
| 2743 | + if (isset($tag['validate'])) { |
|
| 2744 | + $tag['validate']($tag, $data, $disabled, $params); |
|
| 2745 | + } |
|
| 2605 | 2746 | |
| 2606 | 2747 | // Fix after, for disabled code mainly. |
| 2607 | - foreach ($data as $k => $d) |
|
| 2608 | - $tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d))); |
|
| 2748 | + foreach ($data as $k => $d) { |
|
| 2749 | + $tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d))); |
|
| 2750 | + } |
|
| 2609 | 2751 | |
| 2610 | 2752 | $open_tags[] = $tag; |
| 2611 | 2753 | |
| 2612 | 2754 | // Replace them out, $1, $2, $3, $4, etc. |
| 2613 | 2755 | $code = $tag['before']; |
| 2614 | - foreach ($data as $k => $d) |
|
| 2615 | - $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
| 2756 | + foreach ($data as $k => $d) { |
|
| 2757 | + $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
| 2758 | + } |
|
| 2616 | 2759 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 1); |
| 2617 | 2760 | $pos += strlen($code) - 1 + 2; |
| 2618 | 2761 | } |
@@ -2623,28 +2766,33 @@ discard block |
||
| 2623 | 2766 | if (isset($tag['quoted'])) |
| 2624 | 2767 | { |
| 2625 | 2768 | $quoted = substr($message, $pos1, 6) == '"'; |
| 2626 | - if ($tag['quoted'] != 'optional' && !$quoted) |
|
| 2627 | - continue; |
|
| 2769 | + if ($tag['quoted'] != 'optional' && !$quoted) { |
|
| 2770 | + continue; |
|
| 2771 | + } |
|
| 2628 | 2772 | |
| 2629 | - if ($quoted) |
|
| 2630 | - $pos1 += 6; |
|
| 2773 | + if ($quoted) { |
|
| 2774 | + $pos1 += 6; |
|
| 2775 | + } |
|
| 2776 | + } else { |
|
| 2777 | + $quoted = false; |
|
| 2631 | 2778 | } |
| 2632 | - else |
|
| 2633 | - $quoted = false; |
|
| 2634 | 2779 | |
| 2635 | 2780 | $pos2 = strpos($message, $quoted == false ? ']' : '"]', $pos1); |
| 2636 | - if ($pos2 === false) |
|
| 2637 | - continue; |
|
| 2781 | + if ($pos2 === false) { |
|
| 2782 | + continue; |
|
| 2783 | + } |
|
| 2638 | 2784 | |
| 2639 | 2785 | $data = substr($message, $pos1, $pos2 - $pos1); |
| 2640 | 2786 | |
| 2641 | 2787 | // Validation for my parking, please! |
| 2642 | - if (isset($tag['validate'])) |
|
| 2643 | - $tag['validate']($tag, $data, $disabled, $params); |
|
| 2788 | + if (isset($tag['validate'])) { |
|
| 2789 | + $tag['validate']($tag, $data, $disabled, $params); |
|
| 2790 | + } |
|
| 2644 | 2791 | |
| 2645 | 2792 | // For parsed content, we must recurse to avoid security problems. |
| 2646 | - if ($tag['type'] != 'unparsed_equals') |
|
| 2647 | - $data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array()); |
|
| 2793 | + if ($tag['type'] != 'unparsed_equals') { |
|
| 2794 | + $data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array()); |
|
| 2795 | + } |
|
| 2648 | 2796 | |
| 2649 | 2797 | $tag['after'] = strtr($tag['after'], array('$1' => $data)); |
| 2650 | 2798 | |
@@ -2656,34 +2804,40 @@ discard block |
||
| 2656 | 2804 | } |
| 2657 | 2805 | |
| 2658 | 2806 | // If this is block level, eat any breaks after it. |
| 2659 | - if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') |
|
| 2660 | - $message = substr($message, 0, $pos + 1) . substr($message, $pos + 5); |
|
| 2807 | + if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') { |
|
| 2808 | + $message = substr($message, 0, $pos + 1) . substr($message, $pos + 5); |
|
| 2809 | + } |
|
| 2661 | 2810 | |
| 2662 | 2811 | // Are we trimming outside this tag? |
| 2663 | - if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>| |\s)*~', substr($message, $pos + 1), $matches) != 0) |
|
| 2664 | - $message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0])); |
|
| 2812 | + if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>| |\s)*~', substr($message, $pos + 1), $matches) != 0) { |
|
| 2813 | + $message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0])); |
|
| 2814 | + } |
|
| 2665 | 2815 | } |
| 2666 | 2816 | |
| 2667 | 2817 | // Close any remaining tags. |
| 2668 | - while ($tag = array_pop($open_tags)) |
|
| 2669 | - $message .= "\n" . $tag['after'] . "\n"; |
|
| 2818 | + while ($tag = array_pop($open_tags)) { |
|
| 2819 | + $message .= "\n" . $tag['after'] . "\n"; |
|
| 2820 | + } |
|
| 2670 | 2821 | |
| 2671 | 2822 | // Parse the smileys within the parts where it can be done safely. |
| 2672 | 2823 | if ($smileys === true) |
| 2673 | 2824 | { |
| 2674 | 2825 | $message_parts = explode("\n", $message); |
| 2675 | - for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) |
|
| 2676 | - parsesmileys($message_parts[$i]); |
|
| 2826 | + for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) { |
|
| 2827 | + parsesmileys($message_parts[$i]); |
|
| 2828 | + } |
|
| 2677 | 2829 | |
| 2678 | 2830 | $message = implode('', $message_parts); |
| 2679 | 2831 | } |
| 2680 | 2832 | |
| 2681 | 2833 | // No smileys, just get rid of the markers. |
| 2682 | - else |
|
| 2683 | - $message = strtr($message, array("\n" => '')); |
|
| 2834 | + else { |
|
| 2835 | + $message = strtr($message, array("\n" => '')); |
|
| 2836 | + } |
|
| 2684 | 2837 | |
| 2685 | - if ($message !== '' && $message[0] === ' ') |
|
| 2686 | - $message = ' ' . substr($message, 1); |
|
| 2838 | + if ($message !== '' && $message[0] === ' ') { |
|
| 2839 | + $message = ' ' . substr($message, 1); |
|
| 2840 | + } |
|
| 2687 | 2841 | |
| 2688 | 2842 | // Cleanup whitespace. |
| 2689 | 2843 | $message = strtr($message, array(' ' => ' ', "\r" => '', "\n" => '<br>', '<br> ' => '<br> ', ' ' => "\n")); |
@@ -2692,15 +2846,16 @@ discard block |
||
| 2692 | 2846 | call_integration_hook('integrate_post_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags)); |
| 2693 | 2847 | |
| 2694 | 2848 | // Cache the output if it took some time... |
| 2695 | - if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) |
|
| 2696 | - cache_put_data($cache_key, $message, 240); |
|
| 2849 | + if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) { |
|
| 2850 | + cache_put_data($cache_key, $message, 240); |
|
| 2851 | + } |
|
| 2697 | 2852 | |
| 2698 | 2853 | // If this was a force parse revert if needed. |
| 2699 | 2854 | if (!empty($parse_tags)) |
| 2700 | 2855 | { |
| 2701 | - if (empty($temp_bbc)) |
|
| 2702 | - $bbc_codes = array(); |
|
| 2703 | - else |
|
| 2856 | + if (empty($temp_bbc)) { |
|
| 2857 | + $bbc_codes = array(); |
|
| 2858 | + } else |
|
| 2704 | 2859 | { |
| 2705 | 2860 | $bbc_codes = $temp_bbc; |
| 2706 | 2861 | unset($temp_bbc); |
@@ -2727,8 +2882,9 @@ discard block |
||
| 2727 | 2882 | static $smileyPregSearch = null, $smileyPregReplacements = array(); |
| 2728 | 2883 | |
| 2729 | 2884 | // No smiley set at all?! |
| 2730 | - if ($user_info['smiley_set'] == 'none' || trim($message) == '') |
|
| 2731 | - return; |
|
| 2885 | + if ($user_info['smiley_set'] == 'none' || trim($message) == '') { |
|
| 2886 | + return; |
|
| 2887 | + } |
|
| 2732 | 2888 | |
| 2733 | 2889 | // If smileyPregSearch hasn't been set, do it now. |
| 2734 | 2890 | if (empty($smileyPregSearch)) |
@@ -2739,8 +2895,7 @@ discard block |
||
| 2739 | 2895 | $smileysfrom = array('>:D', ':D', '::)', '>:(', ':))', ':)', ';)', ';D', ':(', ':o', '8)', ':P', '???', ':-[', ':-X', ':-*', ':\'(', ':-\\', '^-^', 'O0', 'C:-)', '0:)'); |
| 2740 | 2896 | $smileysto = array('evil.gif', 'cheesy.gif', 'rolleyes.gif', 'angry.gif', 'laugh.gif', 'smiley.gif', 'wink.gif', 'grin.gif', 'sad.gif', 'shocked.gif', 'cool.gif', 'tongue.gif', 'huh.gif', 'embarrassed.gif', 'lipsrsealed.gif', 'kiss.gif', 'cry.gif', 'undecided.gif', 'azn.gif', 'afro.gif', 'police.gif', 'angel.gif'); |
| 2741 | 2897 | $smileysdescs = array('', $txt['icon_cheesy'], $txt['icon_rolleyes'], $txt['icon_angry'], '', $txt['icon_smiley'], $txt['icon_wink'], $txt['icon_grin'], $txt['icon_sad'], $txt['icon_shocked'], $txt['icon_cool'], $txt['icon_tongue'], $txt['icon_huh'], $txt['icon_embarrassed'], $txt['icon_lips'], $txt['icon_kiss'], $txt['icon_cry'], $txt['icon_undecided'], '', '', '', ''); |
| 2742 | - } |
|
| 2743 | - else |
|
| 2898 | + } else |
|
| 2744 | 2899 | { |
| 2745 | 2900 | // Load the smileys in reverse order by length so they don't get parsed wrong. |
| 2746 | 2901 | if (($temp = cache_get_data('parsing_smileys', 480)) == null) |
@@ -2764,9 +2919,9 @@ discard block |
||
| 2764 | 2919 | $smcFunc['db_free_result']($result); |
| 2765 | 2920 | |
| 2766 | 2921 | cache_put_data('parsing_smileys', array($smileysfrom, $smileysto, $smileysdescs), 480); |
| 2922 | + } else { |
|
| 2923 | + list ($smileysfrom, $smileysto, $smileysdescs) = $temp; |
|
| 2767 | 2924 | } |
| 2768 | - else |
|
| 2769 | - list ($smileysfrom, $smileysto, $smileysdescs) = $temp; |
|
| 2770 | 2925 | } |
| 2771 | 2926 | |
| 2772 | 2927 | // The non-breaking-space is a complex thing... |
@@ -2843,35 +2998,41 @@ discard block |
||
| 2843 | 2998 | global $scripturl, $context, $modSettings, $db_show_debug, $db_cache; |
| 2844 | 2999 | |
| 2845 | 3000 | // In case we have mail to send, better do that - as obExit doesn't always quite make it... |
| 2846 | - if (!empty($context['flush_mail'])) |
|
| 2847 | - // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
| 3001 | + if (!empty($context['flush_mail'])) { |
|
| 3002 | + // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
| 2848 | 3003 | AddMailQueue(true); |
| 3004 | + } |
|
| 2849 | 3005 | |
| 2850 | 3006 | $add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0 && substr($setLocation, 0, 6) != 'about:'; |
| 2851 | 3007 | |
| 2852 | - if ($add) |
|
| 2853 | - $setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : ''); |
|
| 3008 | + if ($add) { |
|
| 3009 | + $setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : ''); |
|
| 3010 | + } |
|
| 2854 | 3011 | |
| 2855 | 3012 | // Put the session ID in. |
| 2856 | - if (defined('SID') && SID != '') |
|
| 2857 | - $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation); |
|
| 3013 | + if (defined('SID') && SID != '') { |
|
| 3014 | + $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation); |
|
| 3015 | + } |
|
| 2858 | 3016 | // Keep that debug in their for template debugging! |
| 2859 | - elseif (isset($_GET['debug'])) |
|
| 2860 | - $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation); |
|
| 3017 | + elseif (isset($_GET['debug'])) { |
|
| 3018 | + $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation); |
|
| 3019 | + } |
|
| 2861 | 3020 | |
| 2862 | 3021 | if (!empty($modSettings['queryless_urls']) && (empty($context['server']['is_cgi']) || ini_get('cgi.fix_pathinfo') == 1 || @get_cfg_var('cgi.fix_pathinfo') == 1) && (!empty($context['server']['is_apache']) || !empty($context['server']['is_lighttpd']) || !empty($context['server']['is_litespeed']))) |
| 2863 | 3022 | { |
| 2864 | - if (defined('SID') && SID != '') |
|
| 2865 | - $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#]+?)(#[^"]*?)?$~', |
|
| 3023 | + if (defined('SID') && SID != '') { |
|
| 3024 | + $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#]+?)(#[^"]*?)?$~', |
|
| 2866 | 3025 | function ($m) use ($scripturl) |
| 2867 | 3026 | { |
| 2868 | 3027 | return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : ""); |
| 3028 | + } |
|
| 2869 | 3029 | }, $setLocation); |
| 2870 | - else |
|
| 2871 | - $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~', |
|
| 3030 | + else { |
|
| 3031 | + $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~', |
|
| 2872 | 3032 | function ($m) use ($scripturl) |
| 2873 | 3033 | { |
| 2874 | 3034 | return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : ""); |
| 3035 | + } |
|
| 2875 | 3036 | }, $setLocation); |
| 2876 | 3037 | } |
| 2877 | 3038 | |
@@ -2882,8 +3043,9 @@ discard block |
||
| 2882 | 3043 | header('Location: ' . str_replace(' ', '%20', $setLocation), true, $permanent ? 301 : 302); |
| 2883 | 3044 | |
| 2884 | 3045 | // Debugging. |
| 2885 | - if (isset($db_show_debug) && $db_show_debug === true) |
|
| 2886 | - $_SESSION['debug_redirect'] = $db_cache; |
|
| 3046 | + if (isset($db_show_debug) && $db_show_debug === true) { |
|
| 3047 | + $_SESSION['debug_redirect'] = $db_cache; |
|
| 3048 | + } |
|
| 2887 | 3049 | |
| 2888 | 3050 | obExit(false); |
| 2889 | 3051 | } |
@@ -2902,51 +3064,60 @@ discard block |
||
| 2902 | 3064 | |
| 2903 | 3065 | // Attempt to prevent a recursive loop. |
| 2904 | 3066 | ++$level; |
| 2905 | - if ($level > 1 && !$from_fatal_error && !$has_fatal_error) |
|
| 2906 | - exit; |
|
| 2907 | - if ($from_fatal_error) |
|
| 2908 | - $has_fatal_error = true; |
|
| 3067 | + if ($level > 1 && !$from_fatal_error && !$has_fatal_error) { |
|
| 3068 | + exit; |
|
| 3069 | + } |
|
| 3070 | + if ($from_fatal_error) { |
|
| 3071 | + $has_fatal_error = true; |
|
| 3072 | + } |
|
| 2909 | 3073 | |
| 2910 | 3074 | // Clear out the stat cache. |
| 2911 | 3075 | trackStats(); |
| 2912 | 3076 | |
| 2913 | 3077 | // If we have mail to send, send it. |
| 2914 | - if (!empty($context['flush_mail'])) |
|
| 2915 | - // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
| 3078 | + if (!empty($context['flush_mail'])) { |
|
| 3079 | + // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
| 2916 | 3080 | AddMailQueue(true); |
| 3081 | + } |
|
| 2917 | 3082 | |
| 2918 | 3083 | $do_header = $header === null ? !$header_done : $header; |
| 2919 | - if ($do_footer === null) |
|
| 2920 | - $do_footer = $do_header; |
|
| 3084 | + if ($do_footer === null) { |
|
| 3085 | + $do_footer = $do_header; |
|
| 3086 | + } |
|
| 2921 | 3087 | |
| 2922 | 3088 | // Has the template/header been done yet? |
| 2923 | 3089 | if ($do_header) |
| 2924 | 3090 | { |
| 2925 | 3091 | // Was the page title set last minute? Also update the HTML safe one. |
| 2926 | - if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) |
|
| 2927 | - $context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : ''); |
|
| 3092 | + if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) { |
|
| 3093 | + $context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : ''); |
|
| 3094 | + } |
|
| 2928 | 3095 | |
| 2929 | 3096 | // Start up the session URL fixer. |
| 2930 | 3097 | ob_start('ob_sessrewrite'); |
| 2931 | 3098 | |
| 2932 | - if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) |
|
| 2933 | - $buffers = explode(',', $settings['output_buffers']); |
|
| 2934 | - elseif (!empty($settings['output_buffers'])) |
|
| 2935 | - $buffers = $settings['output_buffers']; |
|
| 2936 | - else |
|
| 2937 | - $buffers = array(); |
|
| 3099 | + if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) { |
|
| 3100 | + $buffers = explode(',', $settings['output_buffers']); |
|
| 3101 | + } elseif (!empty($settings['output_buffers'])) { |
|
| 3102 | + $buffers = $settings['output_buffers']; |
|
| 3103 | + } else { |
|
| 3104 | + $buffers = array(); |
|
| 3105 | + } |
|
| 2938 | 3106 | |
| 2939 | - if (isset($modSettings['integrate_buffer'])) |
|
| 2940 | - $buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers); |
|
| 3107 | + if (isset($modSettings['integrate_buffer'])) { |
|
| 3108 | + $buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers); |
|
| 3109 | + } |
|
| 2941 | 3110 | |
| 2942 | - if (!empty($buffers)) |
|
| 2943 | - foreach ($buffers as $function) |
|
| 3111 | + if (!empty($buffers)) { |
|
| 3112 | + foreach ($buffers as $function) |
|
| 2944 | 3113 | { |
| 2945 | 3114 | $call = call_helper($function, true); |
| 3115 | + } |
|
| 2946 | 3116 | |
| 2947 | 3117 | // Is it valid? |
| 2948 | - if (!empty($call)) |
|
| 2949 | - ob_start($call); |
|
| 3118 | + if (!empty($call)) { |
|
| 3119 | + ob_start($call); |
|
| 3120 | + } |
|
| 2950 | 3121 | } |
| 2951 | 3122 | |
| 2952 | 3123 | // Display the screen in the logical order. |
@@ -2958,8 +3129,9 @@ discard block |
||
| 2958 | 3129 | loadSubTemplate(isset($context['sub_template']) ? $context['sub_template'] : 'main'); |
| 2959 | 3130 | |
| 2960 | 3131 | // Anything special to put out? |
| 2961 | - if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) |
|
| 2962 | - echo $context['insert_after_template']; |
|
| 3132 | + if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) { |
|
| 3133 | + echo $context['insert_after_template']; |
|
| 3134 | + } |
|
| 2963 | 3135 | |
| 2964 | 3136 | // Just so we don't get caught in an endless loop of errors from the footer... |
| 2965 | 3137 | if (!$footer_done) |
@@ -2968,14 +3140,16 @@ discard block |
||
| 2968 | 3140 | template_footer(); |
| 2969 | 3141 | |
| 2970 | 3142 | // (since this is just debugging... it's okay that it's after </html>.) |
| 2971 | - if (!isset($_REQUEST['xml'])) |
|
| 2972 | - displayDebug(); |
|
| 3143 | + if (!isset($_REQUEST['xml'])) { |
|
| 3144 | + displayDebug(); |
|
| 3145 | + } |
|
| 2973 | 3146 | } |
| 2974 | 3147 | } |
| 2975 | 3148 | |
| 2976 | 3149 | // Remember this URL in case someone doesn't like sending HTTP_REFERER. |
| 2977 | - if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) |
|
| 2978 | - $_SESSION['old_url'] = $_SERVER['REQUEST_URL']; |
|
| 3150 | + if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) { |
|
| 3151 | + $_SESSION['old_url'] = $_SERVER['REQUEST_URL']; |
|
| 3152 | + } |
|
| 2979 | 3153 | |
| 2980 | 3154 | // For session check verification.... don't switch browsers... |
| 2981 | 3155 | $_SESSION['USER_AGENT'] = empty($_SERVER['HTTP_USER_AGENT']) ? '' : $_SERVER['HTTP_USER_AGENT']; |
@@ -2984,9 +3158,10 @@ discard block |
||
| 2984 | 3158 | call_integration_hook('integrate_exit', array($do_footer)); |
| 2985 | 3159 | |
| 2986 | 3160 | // Don't exit if we're coming from index.php; that will pass through normally. |
| 2987 | - if (!$from_index) |
|
| 2988 | - exit; |
|
| 2989 | -} |
|
| 3161 | + if (!$from_index) { |
|
| 3162 | + exit; |
|
| 3163 | + } |
|
| 3164 | + } |
|
| 2990 | 3165 | |
| 2991 | 3166 | /** |
| 2992 | 3167 | * Get the size of a specified image with better error handling. |
@@ -3005,8 +3180,9 @@ discard block |
||
| 3005 | 3180 | $url = str_replace(' ', '%20', $url); |
| 3006 | 3181 | |
| 3007 | 3182 | // Can we pull this from the cache... please please? |
| 3008 | - if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) |
|
| 3009 | - return $temp; |
|
| 3183 | + if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) { |
|
| 3184 | + return $temp; |
|
| 3185 | + } |
|
| 3010 | 3186 | $t = microtime(); |
| 3011 | 3187 | |
| 3012 | 3188 | // Get the host to pester... |
@@ -3016,12 +3192,10 @@ discard block |
||
| 3016 | 3192 | if ($url == '' || $url == 'http://' || $url == 'https://') |
| 3017 | 3193 | { |
| 3018 | 3194 | return false; |
| 3019 | - } |
|
| 3020 | - elseif (!isset($match[1])) |
|
| 3195 | + } elseif (!isset($match[1])) |
|
| 3021 | 3196 | { |
| 3022 | 3197 | $size = @getimagesize($url); |
| 3023 | - } |
|
| 3024 | - else |
|
| 3198 | + } else |
|
| 3025 | 3199 | { |
| 3026 | 3200 | // Try to connect to the server... give it half a second. |
| 3027 | 3201 | $temp = 0; |
@@ -3060,12 +3234,14 @@ discard block |
||
| 3060 | 3234 | } |
| 3061 | 3235 | |
| 3062 | 3236 | // If we didn't get it, we failed. |
| 3063 | - if (!isset($size)) |
|
| 3064 | - $size = false; |
|
| 3237 | + if (!isset($size)) { |
|
| 3238 | + $size = false; |
|
| 3239 | + } |
|
| 3065 | 3240 | |
| 3066 | 3241 | // If this took a long time, we may never have to do it again, but then again we might... |
| 3067 | - if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) |
|
| 3068 | - cache_put_data('url_image_size-' . md5($url), $size, 240); |
|
| 3242 | + if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) { |
|
| 3243 | + cache_put_data('url_image_size-' . md5($url), $size, 240); |
|
| 3244 | + } |
|
| 3069 | 3245 | |
| 3070 | 3246 | // Didn't work. |
| 3071 | 3247 | return $size; |
@@ -3083,8 +3259,9 @@ discard block |
||
| 3083 | 3259 | |
| 3084 | 3260 | // Under SSI this function can be called more then once. That can cause some problems. |
| 3085 | 3261 | // So only run the function once unless we are forced to run it again. |
| 3086 | - if ($loaded && !$forceload) |
|
| 3087 | - return; |
|
| 3262 | + if ($loaded && !$forceload) { |
|
| 3263 | + return; |
|
| 3264 | + } |
|
| 3088 | 3265 | |
| 3089 | 3266 | $loaded = true; |
| 3090 | 3267 | |
@@ -3096,14 +3273,16 @@ discard block |
||
| 3096 | 3273 | $context['news_lines'] = array_filter(explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news']))))); |
| 3097 | 3274 | for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++) |
| 3098 | 3275 | { |
| 3099 | - if (trim($context['news_lines'][$i]) == '') |
|
| 3100 | - continue; |
|
| 3276 | + if (trim($context['news_lines'][$i]) == '') { |
|
| 3277 | + continue; |
|
| 3278 | + } |
|
| 3101 | 3279 | |
| 3102 | 3280 | // Clean it up for presentation ;). |
| 3103 | 3281 | $context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i); |
| 3104 | 3282 | } |
| 3105 | - if (!empty($context['news_lines'])) |
|
| 3106 | - $context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)]; |
|
| 3283 | + if (!empty($context['news_lines'])) { |
|
| 3284 | + $context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)]; |
|
| 3285 | + } |
|
| 3107 | 3286 | |
| 3108 | 3287 | if (!$user_info['is_guest']) |
| 3109 | 3288 | { |
@@ -3112,40 +3291,48 @@ discard block |
||
| 3112 | 3291 | $context['user']['alerts'] = &$user_info['alerts']; |
| 3113 | 3292 | |
| 3114 | 3293 | // Personal message popup... |
| 3115 | - if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) |
|
| 3116 | - $context['user']['popup_messages'] = true; |
|
| 3117 | - else |
|
| 3118 | - $context['user']['popup_messages'] = false; |
|
| 3294 | + if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) { |
|
| 3295 | + $context['user']['popup_messages'] = true; |
|
| 3296 | + } else { |
|
| 3297 | + $context['user']['popup_messages'] = false; |
|
| 3298 | + } |
|
| 3119 | 3299 | $_SESSION['unread_messages'] = $user_info['unread_messages']; |
| 3120 | 3300 | |
| 3121 | - if (allowedTo('moderate_forum')) |
|
| 3122 | - $context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0; |
|
| 3301 | + if (allowedTo('moderate_forum')) { |
|
| 3302 | + $context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0; |
|
| 3303 | + } |
|
| 3123 | 3304 | |
| 3124 | 3305 | $context['user']['avatar'] = array(); |
| 3125 | 3306 | |
| 3126 | 3307 | // Check for gravatar first since we might be forcing them... |
| 3127 | 3308 | if (($modSettings['gravatarEnabled'] && substr($user_info['avatar']['url'], 0, 11) == 'gravatar://') || !empty($modSettings['gravatarOverride'])) |
| 3128 | 3309 | { |
| 3129 | - if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) |
|
| 3130 | - $context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11)); |
|
| 3131 | - else |
|
| 3132 | - $context['user']['avatar']['href'] = get_gravatar_url($user_info['email']); |
|
| 3310 | + if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) { |
|
| 3311 | + $context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11)); |
|
| 3312 | + } else { |
|
| 3313 | + $context['user']['avatar']['href'] = get_gravatar_url($user_info['email']); |
|
| 3314 | + } |
|
| 3133 | 3315 | } |
| 3134 | 3316 | // Uploaded? |
| 3135 | - elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) |
|
| 3136 | - $context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar'; |
|
| 3317 | + elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) { |
|
| 3318 | + $context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar'; |
|
| 3319 | + } |
|
| 3137 | 3320 | // Full URL? |
| 3138 | - elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) |
|
| 3139 | - $context['user']['avatar']['href'] = $user_info['avatar']['url']; |
|
| 3321 | + elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) { |
|
| 3322 | + $context['user']['avatar']['href'] = $user_info['avatar']['url']; |
|
| 3323 | + } |
|
| 3140 | 3324 | // Otherwise we assume it's server stored. |
| 3141 | - elseif ($user_info['avatar']['url'] != '') |
|
| 3142 | - $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']); |
|
| 3325 | + elseif ($user_info['avatar']['url'] != '') { |
|
| 3326 | + $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']); |
|
| 3327 | + } |
|
| 3143 | 3328 | // No avatar at all? Fine, we have a big fat default avatar ;) |
| 3144 | - else |
|
| 3145 | - $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png'; |
|
| 3329 | + else { |
|
| 3330 | + $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png'; |
|
| 3331 | + } |
|
| 3146 | 3332 | |
| 3147 | - if (!empty($context['user']['avatar'])) |
|
| 3148 | - $context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">'; |
|
| 3333 | + if (!empty($context['user']['avatar'])) { |
|
| 3334 | + $context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">'; |
|
| 3335 | + } |
|
| 3149 | 3336 | |
| 3150 | 3337 | // Figure out how long they've been logged in. |
| 3151 | 3338 | $context['user']['total_time_logged_in'] = array( |
@@ -3153,8 +3340,7 @@ discard block |
||
| 3153 | 3340 | 'hours' => floor(($user_info['total_time_logged_in'] % 86400) / 3600), |
| 3154 | 3341 | 'minutes' => floor(($user_info['total_time_logged_in'] % 3600) / 60) |
| 3155 | 3342 | ); |
| 3156 | - } |
|
| 3157 | - else |
|
| 3343 | + } else |
|
| 3158 | 3344 | { |
| 3159 | 3345 | $context['user']['messages'] = 0; |
| 3160 | 3346 | $context['user']['unread_messages'] = 0; |
@@ -3162,12 +3348,14 @@ discard block |
||
| 3162 | 3348 | $context['user']['total_time_logged_in'] = array('days' => 0, 'hours' => 0, 'minutes' => 0); |
| 3163 | 3349 | $context['user']['popup_messages'] = false; |
| 3164 | 3350 | |
| 3165 | - if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) |
|
| 3166 | - $txt['welcome_guest'] .= $txt['welcome_guest_activate']; |
|
| 3351 | + if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) { |
|
| 3352 | + $txt['welcome_guest'] .= $txt['welcome_guest_activate']; |
|
| 3353 | + } |
|
| 3167 | 3354 | |
| 3168 | 3355 | // If we've upgraded recently, go easy on the passwords. |
| 3169 | - if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) |
|
| 3170 | - $context['disable_login_hashing'] = true; |
|
| 3356 | + if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) { |
|
| 3357 | + $context['disable_login_hashing'] = true; |
|
| 3358 | + } |
|
| 3171 | 3359 | } |
| 3172 | 3360 | |
| 3173 | 3361 | // Setup the main menu items. |
@@ -3180,8 +3368,8 @@ discard block |
||
| 3180 | 3368 | $context['show_pm_popup'] = $context['user']['popup_messages'] && !empty($options['popup_messages']) && (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'pm'); |
| 3181 | 3369 | |
| 3182 | 3370 | // 2.1+: Add the PM popup here instead. Theme authors can still override it simply by editing/removing the 'fPmPopup' in the array. |
| 3183 | - if ($context['show_pm_popup']) |
|
| 3184 | - addInlineJavaScript(' |
|
| 3371 | + if ($context['show_pm_popup']) { |
|
| 3372 | + addInlineJavaScript(' |
|
| 3185 | 3373 | jQuery(document).ready(function($) { |
| 3186 | 3374 | new smc_Popup({ |
| 3187 | 3375 | heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ', |
@@ -3189,15 +3377,17 @@ discard block |
||
| 3189 | 3377 | icon_class: \'generic_icons mail_new\' |
| 3190 | 3378 | }); |
| 3191 | 3379 | });'); |
| 3380 | + } |
|
| 3192 | 3381 | |
| 3193 | 3382 | // Add a generic "Are you sure?" confirmation message. |
| 3194 | 3383 | addInlineJavaScript(' |
| 3195 | 3384 | var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';'); |
| 3196 | 3385 | |
| 3197 | 3386 | // Now add the capping code for avatars. |
| 3198 | - if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') |
|
| 3199 | - addInlineCss(' |
|
| 3387 | + if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') { |
|
| 3388 | + addInlineCss(' |
|
| 3200 | 3389 | img.avatar { max-width: ' . $modSettings['avatar_max_width_external'] . 'px; max-height: ' . $modSettings['avatar_max_height_external'] . 'px; }'); |
| 3390 | + } |
|
| 3201 | 3391 | |
| 3202 | 3392 | // This looks weird, but it's because BoardIndex.php references the variable. |
| 3203 | 3393 | $context['common_stats']['latest_member'] = array( |
@@ -3214,11 +3404,13 @@ discard block |
||
| 3214 | 3404 | ); |
| 3215 | 3405 | $context['common_stats']['boardindex_total_posts'] = sprintf($txt['boardindex_total_posts'], $context['common_stats']['total_posts'], $context['common_stats']['total_topics'], $context['common_stats']['total_members']); |
| 3216 | 3406 | |
| 3217 | - if (empty($settings['theme_version'])) |
|
| 3218 | - addJavaScriptVar('smf_scripturl', $scripturl); |
|
| 3407 | + if (empty($settings['theme_version'])) { |
|
| 3408 | + addJavaScriptVar('smf_scripturl', $scripturl); |
|
| 3409 | + } |
|
| 3219 | 3410 | |
| 3220 | - if (!isset($context['page_title'])) |
|
| 3221 | - $context['page_title'] = ''; |
|
| 3411 | + if (!isset($context['page_title'])) { |
|
| 3412 | + $context['page_title'] = ''; |
|
| 3413 | + } |
|
| 3222 | 3414 | |
| 3223 | 3415 | // Set some specific vars. |
| 3224 | 3416 | $context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : ''); |
@@ -3228,21 +3420,23 @@ discard block |
||
| 3228 | 3420 | $context['meta_tags'][] = array('property' => 'og:site_name', 'content' => $context['forum_name']); |
| 3229 | 3421 | $context['meta_tags'][] = array('property' => 'og:title', 'content' => $context['page_title_html_safe']); |
| 3230 | 3422 | |
| 3231 | - if (!empty($context['meta_keywords'])) |
|
| 3232 | - $context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']); |
|
| 3423 | + if (!empty($context['meta_keywords'])) { |
|
| 3424 | + $context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']); |
|
| 3425 | + } |
|
| 3233 | 3426 | |
| 3234 | - if (!empty($context['canonical_url'])) |
|
| 3235 | - $context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']); |
|
| 3427 | + if (!empty($context['canonical_url'])) { |
|
| 3428 | + $context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']); |
|
| 3429 | + } |
|
| 3236 | 3430 | |
| 3237 | - if (!empty($settings['og_image'])) |
|
| 3238 | - $context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']); |
|
| 3431 | + if (!empty($settings['og_image'])) { |
|
| 3432 | + $context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']); |
|
| 3433 | + } |
|
| 3239 | 3434 | |
| 3240 | 3435 | if (!empty($context['meta_description'])) |
| 3241 | 3436 | { |
| 3242 | 3437 | $context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['meta_description']); |
| 3243 | 3438 | $context['meta_tags'][] = array('name' => 'description', 'content' => $context['meta_description']); |
| 3244 | - } |
|
| 3245 | - else |
|
| 3439 | + } else |
|
| 3246 | 3440 | { |
| 3247 | 3441 | $context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['page_title_html_safe']); |
| 3248 | 3442 | $context['meta_tags'][] = array('name' => 'description', 'content' => $context['page_title_html_safe']); |
@@ -3267,8 +3461,9 @@ discard block |
||
| 3267 | 3461 | $memory_needed = memoryReturnBytes($needed); |
| 3268 | 3462 | |
| 3269 | 3463 | // should we account for how much is currently being used? |
| 3270 | - if ($in_use) |
|
| 3271 | - $memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576); |
|
| 3464 | + if ($in_use) { |
|
| 3465 | + $memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576); |
|
| 3466 | + } |
|
| 3272 | 3467 | |
| 3273 | 3468 | // if more is needed, request it |
| 3274 | 3469 | if ($memory_current < $memory_needed) |
@@ -3291,8 +3486,9 @@ discard block |
||
| 3291 | 3486 | */ |
| 3292 | 3487 | function memoryReturnBytes($val) |
| 3293 | 3488 | { |
| 3294 | - if (is_integer($val)) |
|
| 3295 | - return $val; |
|
| 3489 | + if (is_integer($val)) { |
|
| 3490 | + return $val; |
|
| 3491 | + } |
|
| 3296 | 3492 | |
| 3297 | 3493 | // Separate the number from the designator |
| 3298 | 3494 | $val = trim($val); |
@@ -3328,10 +3524,11 @@ discard block |
||
| 3328 | 3524 | header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); |
| 3329 | 3525 | |
| 3330 | 3526 | // Are we debugging the template/html content? |
| 3331 | - if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) |
|
| 3332 | - header('Content-Type: application/xhtml+xml'); |
|
| 3333 | - elseif (!isset($_REQUEST['xml'])) |
|
| 3334 | - header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
|
| 3527 | + if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) { |
|
| 3528 | + header('Content-Type: application/xhtml+xml'); |
|
| 3529 | + } elseif (!isset($_REQUEST['xml'])) { |
|
| 3530 | + header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
|
| 3531 | + } |
|
| 3335 | 3532 | } |
| 3336 | 3533 | |
| 3337 | 3534 | header('Content-Type: text/' . (isset($_REQUEST['xml']) ? 'xml' : 'html') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
@@ -3340,8 +3537,9 @@ discard block |
||
| 3340 | 3537 | if ($context['in_maintenance'] && $context['user']['is_admin']) |
| 3341 | 3538 | { |
| 3342 | 3539 | $position = array_search('body', $context['template_layers']); |
| 3343 | - if ($position === false) |
|
| 3344 | - $position = array_search('main', $context['template_layers']); |
|
| 3540 | + if ($position === false) { |
|
| 3541 | + $position = array_search('main', $context['template_layers']); |
|
| 3542 | + } |
|
| 3345 | 3543 | |
| 3346 | 3544 | if ($position !== false) |
| 3347 | 3545 | { |
@@ -3369,23 +3567,25 @@ discard block |
||
| 3369 | 3567 | |
| 3370 | 3568 | foreach ($securityFiles as $i => $securityFile) |
| 3371 | 3569 | { |
| 3372 | - if (!file_exists($boarddir . '/' . $securityFile)) |
|
| 3373 | - unset($securityFiles[$i]); |
|
| 3570 | + if (!file_exists($boarddir . '/' . $securityFile)) { |
|
| 3571 | + unset($securityFiles[$i]); |
|
| 3572 | + } |
|
| 3374 | 3573 | } |
| 3375 | 3574 | |
| 3376 | 3575 | // We are already checking so many files...just few more doesn't make any difference! :P |
| 3377 | - if (!empty($modSettings['currentAttachmentUploadDir'])) |
|
| 3378 | - $path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']]; |
|
| 3379 | - |
|
| 3380 | - else |
|
| 3381 | - $path = $modSettings['attachmentUploadDir']; |
|
| 3576 | + if (!empty($modSettings['currentAttachmentUploadDir'])) { |
|
| 3577 | + $path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']]; |
|
| 3578 | + } else { |
|
| 3579 | + $path = $modSettings['attachmentUploadDir']; |
|
| 3580 | + } |
|
| 3382 | 3581 | |
| 3383 | 3582 | secureDirectory($path, true); |
| 3384 | 3583 | secureDirectory($cachedir); |
| 3385 | 3584 | |
| 3386 | 3585 | // If agreement is enabled, at least the english version shall exists |
| 3387 | - if ($modSettings['requireAgreement']) |
|
| 3388 | - $agreement = !file_exists($boarddir . '/agreement.txt'); |
|
| 3586 | + if ($modSettings['requireAgreement']) { |
|
| 3587 | + $agreement = !file_exists($boarddir . '/agreement.txt'); |
|
| 3588 | + } |
|
| 3389 | 3589 | |
| 3390 | 3590 | if (!empty($securityFiles) || (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) || !empty($agreement)) |
| 3391 | 3591 | { |
@@ -3400,18 +3600,21 @@ discard block |
||
| 3400 | 3600 | echo ' |
| 3401 | 3601 | ', $txt['not_removed'], '<strong>', $securityFile, '</strong>!<br>'; |
| 3402 | 3602 | |
| 3403 | - if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') |
|
| 3404 | - echo ' |
|
| 3603 | + if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') { |
|
| 3604 | + echo ' |
|
| 3405 | 3605 | ', sprintf($txt['not_removed_extra'], $securityFile, substr($securityFile, 0, -1)), '<br>'; |
| 3606 | + } |
|
| 3406 | 3607 | } |
| 3407 | 3608 | |
| 3408 | - if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) |
|
| 3409 | - echo ' |
|
| 3609 | + if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) { |
|
| 3610 | + echo ' |
|
| 3410 | 3611 | <strong>', $txt['cache_writable'], '</strong><br>'; |
| 3612 | + } |
|
| 3411 | 3613 | |
| 3412 | - if (!empty($agreement)) |
|
| 3413 | - echo ' |
|
| 3614 | + if (!empty($agreement)) { |
|
| 3615 | + echo ' |
|
| 3414 | 3616 | <strong>', $txt['agreement_missing'], '</strong><br>'; |
| 3617 | + } |
|
| 3415 | 3618 | |
| 3416 | 3619 | echo ' |
| 3417 | 3620 | </p> |
@@ -3426,16 +3629,18 @@ discard block |
||
| 3426 | 3629 | <div class="windowbg alert" style="margin: 2ex; padding: 2ex; border: 2px dashed red;"> |
| 3427 | 3630 | ', sprintf($txt['you_are_post_banned'], $user_info['is_guest'] ? $txt['guest_title'] : $user_info['name']); |
| 3428 | 3631 | |
| 3429 | - if (!empty($_SESSION['ban']['cannot_post']['reason'])) |
|
| 3430 | - echo ' |
|
| 3632 | + if (!empty($_SESSION['ban']['cannot_post']['reason'])) { |
|
| 3633 | + echo ' |
|
| 3431 | 3634 | <div style="padding-left: 4ex; padding-top: 1ex;">', $_SESSION['ban']['cannot_post']['reason'], '</div>'; |
| 3635 | + } |
|
| 3432 | 3636 | |
| 3433 | - if (!empty($_SESSION['ban']['expire_time'])) |
|
| 3434 | - echo ' |
|
| 3637 | + if (!empty($_SESSION['ban']['expire_time'])) { |
|
| 3638 | + echo ' |
|
| 3435 | 3639 | <div>', sprintf($txt['your_ban_expires'], timeformat($_SESSION['ban']['expire_time'], false)), '</div>'; |
| 3436 | - else |
|
| 3437 | - echo ' |
|
| 3640 | + } else { |
|
| 3641 | + echo ' |
|
| 3438 | 3642 | <div>', $txt['your_ban_expires_never'], '</div>'; |
| 3643 | + } |
|
| 3439 | 3644 | |
| 3440 | 3645 | echo ' |
| 3441 | 3646 | </div>'; |
@@ -3451,8 +3656,9 @@ discard block |
||
| 3451 | 3656 | global $forum_copyright, $software_year, $forum_version; |
| 3452 | 3657 | |
| 3453 | 3658 | // Don't display copyright for things like SSI. |
| 3454 | - if (!isset($forum_version) || !isset($software_year)) |
|
| 3455 | - return; |
|
| 3659 | + if (!isset($forum_version) || !isset($software_year)) { |
|
| 3660 | + return; |
|
| 3661 | + } |
|
| 3456 | 3662 | |
| 3457 | 3663 | // Put in the version... |
| 3458 | 3664 | printf($forum_copyright, $forum_version, $software_year); |
@@ -3470,9 +3676,10 @@ discard block |
||
| 3470 | 3676 | $context['load_time'] = round(microtime(true) - $time_start, 3); |
| 3471 | 3677 | $context['load_queries'] = $db_count; |
| 3472 | 3678 | |
| 3473 | - foreach (array_reverse($context['template_layers']) as $layer) |
|
| 3474 | - loadSubTemplate($layer . '_below', true); |
|
| 3475 | -} |
|
| 3679 | + foreach (array_reverse($context['template_layers']) as $layer) { |
|
| 3680 | + loadSubTemplate($layer . '_below', true); |
|
| 3681 | + } |
|
| 3682 | + } |
|
| 3476 | 3683 | |
| 3477 | 3684 | /** |
| 3478 | 3685 | * Output the Javascript files |
@@ -3503,8 +3710,7 @@ discard block |
||
| 3503 | 3710 | { |
| 3504 | 3711 | echo ' |
| 3505 | 3712 | var ', $key, ';'; |
| 3506 | - } |
|
| 3507 | - else |
|
| 3713 | + } else |
|
| 3508 | 3714 | { |
| 3509 | 3715 | echo ' |
| 3510 | 3716 | var ', $key, ' = ', $value, ';'; |
@@ -3519,26 +3725,27 @@ discard block |
||
| 3519 | 3725 | foreach ($context['javascript_files'] as $id => $js_file) |
| 3520 | 3726 | { |
| 3521 | 3727 | // Last minute call! allow theme authors to disable single files. |
| 3522 | - if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) |
|
| 3523 | - continue; |
|
| 3728 | + if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) { |
|
| 3729 | + continue; |
|
| 3730 | + } |
|
| 3524 | 3731 | |
| 3525 | 3732 | // By default all files don't get minimized unless the file explicitly says so! |
| 3526 | 3733 | if (!empty($js_file['options']['minimize']) && !empty($modSettings['minimize_files'])) |
| 3527 | 3734 | { |
| 3528 | - if ($do_deferred && !empty($js_file['options']['defer'])) |
|
| 3529 | - $toMinifyDefer[] = $js_file; |
|
| 3530 | - |
|
| 3531 | - elseif (!$do_deferred && empty($js_file['options']['defer'])) |
|
| 3532 | - $toMinify[] = $js_file; |
|
| 3735 | + if ($do_deferred && !empty($js_file['options']['defer'])) { |
|
| 3736 | + $toMinifyDefer[] = $js_file; |
|
| 3737 | + } elseif (!$do_deferred && empty($js_file['options']['defer'])) { |
|
| 3738 | + $toMinify[] = $js_file; |
|
| 3739 | + } |
|
| 3533 | 3740 | |
| 3534 | 3741 | // Grab a random seed. |
| 3535 | - if (!isset($minSeed)) |
|
| 3536 | - $minSeed = $js_file['options']['seed']; |
|
| 3537 | - } |
|
| 3538 | - |
|
| 3539 | - elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) |
|
| 3540 | - echo ' |
|
| 3742 | + if (!isset($minSeed)) { |
|
| 3743 | + $minSeed = $js_file['options']['seed']; |
|
| 3744 | + } |
|
| 3745 | + } elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) { |
|
| 3746 | + echo ' |
|
| 3541 | 3747 | <script src="', $js_file['fileUrl'], '"', !empty($js_file['options']['async']) ? ' async="async"' : '', '></script>'; |
| 3748 | + } |
|
| 3542 | 3749 | } |
| 3543 | 3750 | |
| 3544 | 3751 | if ((!$do_deferred && !empty($toMinify)) || ($do_deferred && !empty($toMinifyDefer))) |
@@ -3546,14 +3753,14 @@ discard block |
||
| 3546 | 3753 | $result = custMinify(($do_deferred ? $toMinifyDefer : $toMinify), 'js', $do_deferred); |
| 3547 | 3754 | |
| 3548 | 3755 | // Minify process couldn't work, print each individual files. |
| 3549 | - if (!empty($result) && is_array($result)) |
|
| 3550 | - foreach ($result as $minFailedFile) |
|
| 3756 | + if (!empty($result) && is_array($result)) { |
|
| 3757 | + foreach ($result as $minFailedFile) |
|
| 3551 | 3758 | echo ' |
| 3552 | 3759 | <script src="', $minFailedFile['fileUrl'], '"', !empty($minFailedFile['options']['async']) ? ' async="async"' : '', '></script>'; |
| 3553 | - |
|
| 3554 | - else |
|
| 3555 | - echo ' |
|
| 3760 | + } else { |
|
| 3761 | + echo ' |
|
| 3556 | 3762 | <script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>'; |
| 3763 | + } |
|
| 3557 | 3764 | } |
| 3558 | 3765 | |
| 3559 | 3766 | // Inline JavaScript - Actually useful some times! |
@@ -3564,8 +3771,9 @@ discard block |
||
| 3564 | 3771 | echo ' |
| 3565 | 3772 | <script>'; |
| 3566 | 3773 | |
| 3567 | - foreach ($context['javascript_inline']['defer'] as $js_code) |
|
| 3568 | - echo $js_code; |
|
| 3774 | + foreach ($context['javascript_inline']['defer'] as $js_code) { |
|
| 3775 | + echo $js_code; |
|
| 3776 | + } |
|
| 3569 | 3777 | |
| 3570 | 3778 | echo ' |
| 3571 | 3779 | </script>'; |
@@ -3576,8 +3784,9 @@ discard block |
||
| 3576 | 3784 | echo ' |
| 3577 | 3785 | <script>'; |
| 3578 | 3786 | |
| 3579 | - foreach ($context['javascript_inline']['standard'] as $js_code) |
|
| 3580 | - echo $js_code; |
|
| 3787 | + foreach ($context['javascript_inline']['standard'] as $js_code) { |
|
| 3788 | + echo $js_code; |
|
| 3789 | + } |
|
| 3581 | 3790 | |
| 3582 | 3791 | echo ' |
| 3583 | 3792 | </script>'; |
@@ -3602,8 +3811,9 @@ discard block |
||
| 3602 | 3811 | foreach ($context['css_files'] as $id => $file) |
| 3603 | 3812 | { |
| 3604 | 3813 | // Last minute call! allow theme authors to disable single files. |
| 3605 | - if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) |
|
| 3606 | - continue; |
|
| 3814 | + if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) { |
|
| 3815 | + continue; |
|
| 3816 | + } |
|
| 3607 | 3817 | |
| 3608 | 3818 | // By default all files don't get minimized unless the file explicitly says so! |
| 3609 | 3819 | if (!empty($file['options']['minimize']) && !empty($modSettings['minimize_files'])) |
@@ -3611,12 +3821,12 @@ discard block |
||
| 3611 | 3821 | $toMinify[] = $file; |
| 3612 | 3822 | |
| 3613 | 3823 | // Grab a random seed. |
| 3614 | - if (!isset($minSeed)) |
|
| 3615 | - $minSeed = $file['options']['seed']; |
|
| 3824 | + if (!isset($minSeed)) { |
|
| 3825 | + $minSeed = $file['options']['seed']; |
|
| 3826 | + } |
|
| 3827 | + } else { |
|
| 3828 | + $normal[] = $file['fileUrl']; |
|
| 3616 | 3829 | } |
| 3617 | - |
|
| 3618 | - else |
|
| 3619 | - $normal[] = $file['fileUrl']; |
|
| 3620 | 3830 | } |
| 3621 | 3831 | |
| 3622 | 3832 | if (!empty($toMinify)) |
@@ -3624,28 +3834,30 @@ discard block |
||
| 3624 | 3834 | $result = custMinify($toMinify, 'css'); |
| 3625 | 3835 | |
| 3626 | 3836 | // Minify process couldn't work, print each individual files. |
| 3627 | - if (!empty($result) && is_array($result)) |
|
| 3628 | - foreach ($result as $minFailedFile) |
|
| 3837 | + if (!empty($result) && is_array($result)) { |
|
| 3838 | + foreach ($result as $minFailedFile) |
|
| 3629 | 3839 | echo ' |
| 3630 | 3840 | <link rel="stylesheet" href="', $minFailedFile['fileUrl'], '">'; |
| 3631 | - |
|
| 3632 | - else |
|
| 3633 | - echo ' |
|
| 3841 | + } else { |
|
| 3842 | + echo ' |
|
| 3634 | 3843 | <link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">'; |
| 3844 | + } |
|
| 3635 | 3845 | } |
| 3636 | 3846 | |
| 3637 | 3847 | // Print the rest after the minified files. |
| 3638 | - if (!empty($normal)) |
|
| 3639 | - foreach ($normal as $nf) |
|
| 3848 | + if (!empty($normal)) { |
|
| 3849 | + foreach ($normal as $nf) |
|
| 3640 | 3850 | echo ' |
| 3641 | 3851 | <link rel="stylesheet" href="', $nf ,'">'; |
| 3852 | + } |
|
| 3642 | 3853 | |
| 3643 | 3854 | if ($db_show_debug === true) |
| 3644 | 3855 | { |
| 3645 | 3856 | // Try to keep only what's useful. |
| 3646 | 3857 | $repl = array($boardurl . '/Themes/' => '', $boardurl . '/' => ''); |
| 3647 | - foreach ($context['css_files'] as $file) |
|
| 3648 | - $context['debug']['sheets'][] = strtr($file['fileName'], $repl); |
|
| 3858 | + foreach ($context['css_files'] as $file) { |
|
| 3859 | + $context['debug']['sheets'][] = strtr($file['fileName'], $repl); |
|
| 3860 | + } |
|
| 3649 | 3861 | } |
| 3650 | 3862 | |
| 3651 | 3863 | if (!empty($context['css_header'])) |
@@ -3653,9 +3865,10 @@ discard block |
||
| 3653 | 3865 | echo ' |
| 3654 | 3866 | <style>'; |
| 3655 | 3867 | |
| 3656 | - foreach ($context['css_header'] as $css) |
|
| 3657 | - echo $css .' |
|
| 3868 | + foreach ($context['css_header'] as $css) { |
|
| 3869 | + echo $css .' |
|
| 3658 | 3870 | '; |
| 3871 | + } |
|
| 3659 | 3872 | |
| 3660 | 3873 | echo' |
| 3661 | 3874 | </style>'; |
@@ -3679,15 +3892,17 @@ discard block |
||
| 3679 | 3892 | $type = !empty($type) && in_array($type, $types) ? $type : false; |
| 3680 | 3893 | $data = !empty($data) ? $data : false; |
| 3681 | 3894 | |
| 3682 | - if (empty($type) || empty($data)) |
|
| 3683 | - return false; |
|
| 3895 | + if (empty($type) || empty($data)) { |
|
| 3896 | + return false; |
|
| 3897 | + } |
|
| 3684 | 3898 | |
| 3685 | 3899 | // Did we already did this? |
| 3686 | 3900 | $toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400); |
| 3687 | 3901 | |
| 3688 | 3902 | // Already done? |
| 3689 | - if (!empty($toCache)) |
|
| 3690 | - return true; |
|
| 3903 | + if (!empty($toCache)) { |
|
| 3904 | + return true; |
|
| 3905 | + } |
|
| 3691 | 3906 | |
| 3692 | 3907 | // No namespaces, sorry! |
| 3693 | 3908 | $classType = 'MatthiasMullie\\Minify\\'. strtoupper($type); |
@@ -3769,8 +3984,9 @@ discard block |
||
| 3769 | 3984 | global $modSettings, $smcFunc; |
| 3770 | 3985 | |
| 3771 | 3986 | // Just make up a nice hash... |
| 3772 | - if ($new) |
|
| 3773 | - return sha1(md5($filename . time()) . mt_rand()); |
|
| 3987 | + if ($new) { |
|
| 3988 | + return sha1(md5($filename . time()) . mt_rand()); |
|
| 3989 | + } |
|
| 3774 | 3990 | |
| 3775 | 3991 | // Just make sure that attachment id is only a int |
| 3776 | 3992 | $attachment_id = (int) $attachment_id; |
@@ -3787,23 +4003,25 @@ discard block |
||
| 3787 | 4003 | 'id_attach' => $attachment_id, |
| 3788 | 4004 | )); |
| 3789 | 4005 | |
| 3790 | - if ($smcFunc['db_num_rows']($request) === 0) |
|
| 3791 | - return false; |
|
| 4006 | + if ($smcFunc['db_num_rows']($request) === 0) { |
|
| 4007 | + return false; |
|
| 4008 | + } |
|
| 3792 | 4009 | |
| 3793 | 4010 | list ($file_hash) = $smcFunc['db_fetch_row']($request); |
| 3794 | 4011 | $smcFunc['db_free_result']($request); |
| 3795 | 4012 | } |
| 3796 | 4013 | |
| 3797 | 4014 | // Still no hash? mmm... |
| 3798 | - if (empty($file_hash)) |
|
| 3799 | - $file_hash = sha1(md5($filename . time()) . mt_rand()); |
|
| 4015 | + if (empty($file_hash)) { |
|
| 4016 | + $file_hash = sha1(md5($filename . time()) . mt_rand()); |
|
| 4017 | + } |
|
| 3800 | 4018 | |
| 3801 | 4019 | // Are we using multiple directories? |
| 3802 | - if (is_array($modSettings['attachmentUploadDir'])) |
|
| 3803 | - $path = $modSettings['attachmentUploadDir'][$dir]; |
|
| 3804 | - |
|
| 3805 | - else |
|
| 3806 | - $path = $modSettings['attachmentUploadDir']; |
|
| 4020 | + if (is_array($modSettings['attachmentUploadDir'])) { |
|
| 4021 | + $path = $modSettings['attachmentUploadDir'][$dir]; |
|
| 4022 | + } else { |
|
| 4023 | + $path = $modSettings['attachmentUploadDir']; |
|
| 4024 | + } |
|
| 3807 | 4025 | |
| 3808 | 4026 | return $path . '/' . $attachment_id . '_' . $file_hash .'.dat'; |
| 3809 | 4027 | } |
@@ -3818,8 +4036,9 @@ discard block |
||
| 3818 | 4036 | function ip2range($fullip) |
| 3819 | 4037 | { |
| 3820 | 4038 | // Pretend that 'unknown' is 255.255.255.255. (since that can't be an IP anyway.) |
| 3821 | - if ($fullip == 'unknown') |
|
| 3822 | - $fullip = '255.255.255.255'; |
|
| 4039 | + if ($fullip == 'unknown') { |
|
| 4040 | + $fullip = '255.255.255.255'; |
|
| 4041 | + } |
|
| 3823 | 4042 | |
| 3824 | 4043 | $ip_parts = explode('-', $fullip); |
| 3825 | 4044 | $ip_array = array(); |
@@ -3843,10 +4062,11 @@ discard block |
||
| 3843 | 4062 | $ip_array['low'] = $ip_parts[0]; |
| 3844 | 4063 | $ip_array['high'] = $ip_parts[1]; |
| 3845 | 4064 | return $ip_array; |
| 3846 | - } |
|
| 3847 | - elseif (count($ip_parts) == 2) // if ip 22.22.*-22.22.* |
|
| 4065 | + } elseif (count($ip_parts) == 2) { |
|
| 4066 | + // if ip 22.22.*-22.22.* |
|
| 3848 | 4067 | { |
| 3849 | 4068 | $valid_low = isValidIP($ip_parts[0]); |
| 4069 | + } |
|
| 3850 | 4070 | $valid_high = isValidIP($ip_parts[1]); |
| 3851 | 4071 | $count = 0; |
| 3852 | 4072 | $mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.'); |
@@ -3861,7 +4081,9 @@ discard block |
||
| 3861 | 4081 | $ip_parts[0] .= $mode . $min; |
| 3862 | 4082 | $valid_low = isValidIP($ip_parts[0]); |
| 3863 | 4083 | $count++; |
| 3864 | - if ($count > 9) break; |
|
| 4084 | + if ($count > 9) { |
|
| 4085 | + break; |
|
| 4086 | + } |
|
| 3865 | 4087 | } |
| 3866 | 4088 | } |
| 3867 | 4089 | |
@@ -3875,7 +4097,9 @@ discard block |
||
| 3875 | 4097 | $ip_parts[1] .= $mode . $max; |
| 3876 | 4098 | $valid_high = isValidIP($ip_parts[1]); |
| 3877 | 4099 | $count++; |
| 3878 | - if ($count > 9) break; |
|
| 4100 | + if ($count > 9) { |
|
| 4101 | + break; |
|
| 4102 | + } |
|
| 3879 | 4103 | } |
| 3880 | 4104 | } |
| 3881 | 4105 | |
@@ -3900,46 +4124,54 @@ discard block |
||
| 3900 | 4124 | { |
| 3901 | 4125 | global $modSettings; |
| 3902 | 4126 | |
| 3903 | - if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) |
|
| 3904 | - return $host; |
|
| 4127 | + if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) { |
|
| 4128 | + return $host; |
|
| 4129 | + } |
|
| 3905 | 4130 | $t = microtime(); |
| 3906 | 4131 | |
| 3907 | 4132 | // Try the Linux host command, perhaps? |
| 3908 | 4133 | if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1) |
| 3909 | 4134 | { |
| 3910 | - if (!isset($modSettings['host_to_dis'])) |
|
| 3911 | - $test = @shell_exec('host -W 1 ' . @escapeshellarg($ip)); |
|
| 3912 | - else |
|
| 3913 | - $test = @shell_exec('host ' . @escapeshellarg($ip)); |
|
| 4135 | + if (!isset($modSettings['host_to_dis'])) { |
|
| 4136 | + $test = @shell_exec('host -W 1 ' . @escapeshellarg($ip)); |
|
| 4137 | + } else { |
|
| 4138 | + $test = @shell_exec('host ' . @escapeshellarg($ip)); |
|
| 4139 | + } |
|
| 3914 | 4140 | |
| 3915 | 4141 | // Did host say it didn't find anything? |
| 3916 | - if (strpos($test, 'not found') !== false) |
|
| 3917 | - $host = ''; |
|
| 4142 | + if (strpos($test, 'not found') !== false) { |
|
| 4143 | + $host = ''; |
|
| 4144 | + } |
|
| 3918 | 4145 | // Invalid server option? |
| 3919 | - elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) |
|
| 3920 | - updateSettings(array('host_to_dis' => 1)); |
|
| 4146 | + elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) { |
|
| 4147 | + updateSettings(array('host_to_dis' => 1)); |
|
| 4148 | + } |
|
| 3921 | 4149 | // Maybe it found something, after all? |
| 3922 | - elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) |
|
| 3923 | - $host = $match[1]; |
|
| 4150 | + elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) { |
|
| 4151 | + $host = $match[1]; |
|
| 4152 | + } |
|
| 3924 | 4153 | } |
| 3925 | 4154 | |
| 3926 | 4155 | // This is nslookup; usually only Windows, but possibly some Unix? |
| 3927 | 4156 | if (!isset($host) && stripos(PHP_OS, 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1) |
| 3928 | 4157 | { |
| 3929 | 4158 | $test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip)); |
| 3930 | - if (strpos($test, 'Non-existent domain') !== false) |
|
| 3931 | - $host = ''; |
|
| 3932 | - elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) |
|
| 3933 | - $host = $match[1]; |
|
| 4159 | + if (strpos($test, 'Non-existent domain') !== false) { |
|
| 4160 | + $host = ''; |
|
| 4161 | + } elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) { |
|
| 4162 | + $host = $match[1]; |
|
| 4163 | + } |
|
| 3934 | 4164 | } |
| 3935 | 4165 | |
| 3936 | 4166 | // This is the last try :/. |
| 3937 | - if (!isset($host) || $host === false) |
|
| 3938 | - $host = @gethostbyaddr($ip); |
|
| 4167 | + if (!isset($host) || $host === false) { |
|
| 4168 | + $host = @gethostbyaddr($ip); |
|
| 4169 | + } |
|
| 3939 | 4170 | |
| 3940 | 4171 | // It took a long time, so let's cache it! |
| 3941 | - if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) |
|
| 3942 | - cache_put_data('hostlookup-' . $ip, $host, 600); |
|
| 4172 | + if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) { |
|
| 4173 | + cache_put_data('hostlookup-' . $ip, $host, 600); |
|
| 4174 | + } |
|
| 3943 | 4175 | |
| 3944 | 4176 | return $host; |
| 3945 | 4177 | } |
@@ -3975,20 +4207,21 @@ discard block |
||
| 3975 | 4207 | { |
| 3976 | 4208 | $encrypted = substr(crypt($word, 'uk'), 2, $max_chars); |
| 3977 | 4209 | $total = 0; |
| 3978 | - for ($i = 0; $i < $max_chars; $i++) |
|
| 3979 | - $total += $possible_chars[ord($encrypted{$i})] * pow(63, $i); |
|
| 4210 | + for ($i = 0; $i < $max_chars; $i++) { |
|
| 4211 | + $total += $possible_chars[ord($encrypted{$i})] * pow(63, $i); |
|
| 4212 | + } |
|
| 3980 | 4213 | $returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total; |
| 3981 | 4214 | } |
| 3982 | 4215 | } |
| 3983 | 4216 | return array_unique($returned_ints); |
| 3984 | - } |
|
| 3985 | - else |
|
| 4217 | + } else |
|
| 3986 | 4218 | { |
| 3987 | 4219 | // Trim characters before and after and add slashes for database insertion. |
| 3988 | 4220 | $returned_words = array(); |
| 3989 | - foreach ($words as $word) |
|
| 3990 | - if (($word = trim($word, '-_\'')) !== '') |
|
| 4221 | + foreach ($words as $word) { |
|
| 4222 | + if (($word = trim($word, '-_\'')) !== '') |
|
| 3991 | 4223 | $returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars); |
| 4224 | + } |
|
| 3992 | 4225 | |
| 3993 | 4226 | // Filter out all words that occur more than once. |
| 3994 | 4227 | return array_unique($returned_words); |
@@ -4010,16 +4243,18 @@ discard block |
||
| 4010 | 4243 | global $settings, $txt; |
| 4011 | 4244 | |
| 4012 | 4245 | // Does the current loaded theme have this and we are not forcing the usage of this function? |
| 4013 | - if (function_exists('template_create_button') && !$force_use) |
|
| 4014 | - return template_create_button($name, $alt, $label = '', $custom = ''); |
|
| 4246 | + if (function_exists('template_create_button') && !$force_use) { |
|
| 4247 | + return template_create_button($name, $alt, $label = '', $custom = ''); |
|
| 4248 | + } |
|
| 4015 | 4249 | |
| 4016 | - if (!$settings['use_image_buttons']) |
|
| 4017 | - return $txt[$alt]; |
|
| 4018 | - elseif (!empty($settings['use_buttons'])) |
|
| 4019 | - return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? ' <strong>' . $txt[$label] . '</strong>' : ''); |
|
| 4020 | - else |
|
| 4021 | - return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>'; |
|
| 4022 | -} |
|
| 4250 | + if (!$settings['use_image_buttons']) { |
|
| 4251 | + return $txt[$alt]; |
|
| 4252 | + } elseif (!empty($settings['use_buttons'])) { |
|
| 4253 | + return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? ' <strong>' . $txt[$label] . '</strong>' : ''); |
|
| 4254 | + } else { |
|
| 4255 | + return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>'; |
|
| 4256 | + } |
|
| 4257 | + } |
|
| 4023 | 4258 | |
| 4024 | 4259 | /** |
| 4025 | 4260 | * Sets up all of the top menu buttons |
@@ -4062,9 +4297,10 @@ discard block |
||
| 4062 | 4297 | var user_menus = new smc_PopupMenu(); |
| 4063 | 4298 | user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup"); |
| 4064 | 4299 | user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true); |
| 4065 | - if ($context['allow_pm']) |
|
| 4066 | - addInlineJavaScript(' |
|
| 4300 | + if ($context['allow_pm']) { |
|
| 4301 | + addInlineJavaScript(' |
|
| 4067 | 4302 | user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true); |
| 4303 | + } |
|
| 4068 | 4304 | |
| 4069 | 4305 | if (!empty($modSettings['enable_ajax_alerts'])) |
| 4070 | 4306 | { |
@@ -4224,88 +4460,96 @@ discard block |
||
| 4224 | 4460 | |
| 4225 | 4461 | // Now we put the buttons in the context so the theme can use them. |
| 4226 | 4462 | $menu_buttons = array(); |
| 4227 | - foreach ($buttons as $act => $button) |
|
| 4228 | - if (!empty($button['show'])) |
|
| 4463 | + foreach ($buttons as $act => $button) { |
|
| 4464 | + if (!empty($button['show'])) |
|
| 4229 | 4465 | { |
| 4230 | 4466 | $button['active_button'] = false; |
| 4467 | + } |
|
| 4231 | 4468 | |
| 4232 | 4469 | // This button needs some action. |
| 4233 | - if (isset($button['action_hook'])) |
|
| 4234 | - $needs_action_hook = true; |
|
| 4470 | + if (isset($button['action_hook'])) { |
|
| 4471 | + $needs_action_hook = true; |
|
| 4472 | + } |
|
| 4235 | 4473 | |
| 4236 | 4474 | // Make sure the last button truly is the last button. |
| 4237 | 4475 | if (!empty($button['is_last'])) |
| 4238 | 4476 | { |
| 4239 | - if (isset($last_button)) |
|
| 4240 | - unset($menu_buttons[$last_button]['is_last']); |
|
| 4477 | + if (isset($last_button)) { |
|
| 4478 | + unset($menu_buttons[$last_button]['is_last']); |
|
| 4479 | + } |
|
| 4241 | 4480 | $last_button = $act; |
| 4242 | 4481 | } |
| 4243 | 4482 | |
| 4244 | 4483 | // Go through the sub buttons if there are any. |
| 4245 | - if (!empty($button['sub_buttons'])) |
|
| 4246 | - foreach ($button['sub_buttons'] as $key => $subbutton) |
|
| 4484 | + if (!empty($button['sub_buttons'])) { |
|
| 4485 | + foreach ($button['sub_buttons'] as $key => $subbutton) |
|
| 4247 | 4486 | { |
| 4248 | 4487 | if (empty($subbutton['show'])) |
| 4249 | 4488 | unset($button['sub_buttons'][$key]); |
| 4489 | + } |
|
| 4250 | 4490 | |
| 4251 | 4491 | // 2nd level sub buttons next... |
| 4252 | 4492 | if (!empty($subbutton['sub_buttons'])) |
| 4253 | 4493 | { |
| 4254 | 4494 | foreach ($subbutton['sub_buttons'] as $key2 => $sub_button2) |
| 4255 | 4495 | { |
| 4256 | - if (empty($sub_button2['show'])) |
|
| 4257 | - unset($button['sub_buttons'][$key]['sub_buttons'][$key2]); |
|
| 4496 | + if (empty($sub_button2['show'])) { |
|
| 4497 | + unset($button['sub_buttons'][$key]['sub_buttons'][$key2]); |
|
| 4498 | + } |
|
| 4258 | 4499 | } |
| 4259 | 4500 | } |
| 4260 | 4501 | } |
| 4261 | 4502 | |
| 4262 | 4503 | // Does this button have its own icon? |
| 4263 | - if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) |
|
| 4264 | - $button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
| 4265 | - elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) |
|
| 4266 | - $button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
| 4267 | - elseif (isset($button['icon'])) |
|
| 4268 | - $button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>'; |
|
| 4269 | - else |
|
| 4270 | - $button['icon'] = '<span class="generic_icons ' . $act . '"></span>'; |
|
| 4504 | + if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) { |
|
| 4505 | + $button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
| 4506 | + } elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) { |
|
| 4507 | + $button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
| 4508 | + } elseif (isset($button['icon'])) { |
|
| 4509 | + $button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>'; |
|
| 4510 | + } else { |
|
| 4511 | + $button['icon'] = '<span class="generic_icons ' . $act . '"></span>'; |
|
| 4512 | + } |
|
| 4271 | 4513 | |
| 4272 | 4514 | $menu_buttons[$act] = $button; |
| 4273 | 4515 | } |
| 4274 | 4516 | |
| 4275 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
| 4276 | - cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime); |
|
| 4517 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
| 4518 | + cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime); |
|
| 4519 | + } |
|
| 4277 | 4520 | } |
| 4278 | 4521 | |
| 4279 | 4522 | $context['menu_buttons'] = $menu_buttons; |
| 4280 | 4523 | |
| 4281 | 4524 | // Logging out requires the session id in the url. |
| 4282 | - if (isset($context['menu_buttons']['logout'])) |
|
| 4283 | - $context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']); |
|
| 4525 | + if (isset($context['menu_buttons']['logout'])) { |
|
| 4526 | + $context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']); |
|
| 4527 | + } |
|
| 4284 | 4528 | |
| 4285 | 4529 | // Figure out which action we are doing so we can set the active tab. |
| 4286 | 4530 | // Default to home. |
| 4287 | 4531 | $current_action = 'home'; |
| 4288 | 4532 | |
| 4289 | - if (isset($context['menu_buttons'][$context['current_action']])) |
|
| 4290 | - $current_action = $context['current_action']; |
|
| 4291 | - elseif ($context['current_action'] == 'search2') |
|
| 4292 | - $current_action = 'search'; |
|
| 4293 | - elseif ($context['current_action'] == 'theme') |
|
| 4294 | - $current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin'; |
|
| 4295 | - elseif ($context['current_action'] == 'register2') |
|
| 4296 | - $current_action = 'register'; |
|
| 4297 | - elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) |
|
| 4298 | - $current_action = 'login'; |
|
| 4299 | - elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) |
|
| 4300 | - $current_action = 'moderate'; |
|
| 4533 | + if (isset($context['menu_buttons'][$context['current_action']])) { |
|
| 4534 | + $current_action = $context['current_action']; |
|
| 4535 | + } elseif ($context['current_action'] == 'search2') { |
|
| 4536 | + $current_action = 'search'; |
|
| 4537 | + } elseif ($context['current_action'] == 'theme') { |
|
| 4538 | + $current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin'; |
|
| 4539 | + } elseif ($context['current_action'] == 'register2') { |
|
| 4540 | + $current_action = 'register'; |
|
| 4541 | + } elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) { |
|
| 4542 | + $current_action = 'login'; |
|
| 4543 | + } elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) { |
|
| 4544 | + $current_action = 'moderate'; |
|
| 4545 | + } |
|
| 4301 | 4546 | |
| 4302 | 4547 | // There are certain exceptions to the above where we don't want anything on the menu highlighted. |
| 4303 | 4548 | if ($context['current_action'] == 'profile' && !empty($context['user']['is_owner'])) |
| 4304 | 4549 | { |
| 4305 | 4550 | $current_action = !empty($_GET['area']) && $_GET['area'] == 'showalerts' ? 'self_alerts' : 'self_profile'; |
| 4306 | 4551 | $context[$current_action] = true; |
| 4307 | - } |
|
| 4308 | - elseif ($context['current_action'] == 'pm') |
|
| 4552 | + } elseif ($context['current_action'] == 'pm') |
|
| 4309 | 4553 | { |
| 4310 | 4554 | $current_action = 'self_pm'; |
| 4311 | 4555 | $context['self_pm'] = true; |
@@ -4346,12 +4590,14 @@ discard block |
||
| 4346 | 4590 | } |
| 4347 | 4591 | |
| 4348 | 4592 | // Not all actions are simple. |
| 4349 | - if (!empty($needs_action_hook)) |
|
| 4350 | - call_integration_hook('integrate_current_action', array(&$current_action)); |
|
| 4593 | + if (!empty($needs_action_hook)) { |
|
| 4594 | + call_integration_hook('integrate_current_action', array(&$current_action)); |
|
| 4595 | + } |
|
| 4351 | 4596 | |
| 4352 | - if (isset($context['menu_buttons'][$current_action])) |
|
| 4353 | - $context['menu_buttons'][$current_action]['active_button'] = true; |
|
| 4354 | -} |
|
| 4597 | + if (isset($context['menu_buttons'][$current_action])) { |
|
| 4598 | + $context['menu_buttons'][$current_action]['active_button'] = true; |
|
| 4599 | + } |
|
| 4600 | + } |
|
| 4355 | 4601 | |
| 4356 | 4602 | /** |
| 4357 | 4603 | * Generate a random seed and ensure it's stored in settings. |
@@ -4375,30 +4621,35 @@ discard block |
||
| 4375 | 4621 | global $modSettings, $settings, $boarddir, $sourcedir, $db_show_debug; |
| 4376 | 4622 | global $context, $txt; |
| 4377 | 4623 | |
| 4378 | - if ($db_show_debug === true) |
|
| 4379 | - $context['debug']['hooks'][] = $hook; |
|
| 4624 | + if ($db_show_debug === true) { |
|
| 4625 | + $context['debug']['hooks'][] = $hook; |
|
| 4626 | + } |
|
| 4380 | 4627 | |
| 4381 | 4628 | // Need to have some control. |
| 4382 | - if (!isset($context['instances'])) |
|
| 4383 | - $context['instances'] = array(); |
|
| 4629 | + if (!isset($context['instances'])) { |
|
| 4630 | + $context['instances'] = array(); |
|
| 4631 | + } |
|
| 4384 | 4632 | |
| 4385 | 4633 | $results = array(); |
| 4386 | - if (empty($modSettings[$hook])) |
|
| 4387 | - return $results; |
|
| 4634 | + if (empty($modSettings[$hook])) { |
|
| 4635 | + return $results; |
|
| 4636 | + } |
|
| 4388 | 4637 | |
| 4389 | 4638 | $functions = explode(',', $modSettings[$hook]); |
| 4390 | 4639 | // Loop through each function. |
| 4391 | 4640 | foreach ($functions as $function) |
| 4392 | 4641 | { |
| 4393 | 4642 | // Hook has been marked as "disabled". Skip it! |
| 4394 | - if (strpos($function, '!') !== false) |
|
| 4395 | - continue; |
|
| 4643 | + if (strpos($function, '!') !== false) { |
|
| 4644 | + continue; |
|
| 4645 | + } |
|
| 4396 | 4646 | |
| 4397 | 4647 | $call = call_helper($function, true); |
| 4398 | 4648 | |
| 4399 | 4649 | // Is it valid? |
| 4400 | - if (!empty($call)) |
|
| 4401 | - $results[$function] = call_user_func_array($call, $parameters); |
|
| 4650 | + if (!empty($call)) { |
|
| 4651 | + $results[$function] = call_user_func_array($call, $parameters); |
|
| 4652 | + } |
|
| 4402 | 4653 | |
| 4403 | 4654 | // Whatever it was suppose to call, it failed :( |
| 4404 | 4655 | elseif (!empty($function)) |
@@ -4414,8 +4665,9 @@ discard block |
||
| 4414 | 4665 | } |
| 4415 | 4666 | |
| 4416 | 4667 | // "Assume" the file resides on $boarddir somewhere... |
| 4417 | - else |
|
| 4418 | - log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general'); |
|
| 4668 | + else { |
|
| 4669 | + log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general'); |
|
| 4670 | + } |
|
| 4419 | 4671 | } |
| 4420 | 4672 | } |
| 4421 | 4673 | |
@@ -4437,12 +4689,14 @@ discard block |
||
| 4437 | 4689 | global $smcFunc, $modSettings; |
| 4438 | 4690 | |
| 4439 | 4691 | // Any objects? |
| 4440 | - if ($object) |
|
| 4441 | - $function = $function . '#'; |
|
| 4692 | + if ($object) { |
|
| 4693 | + $function = $function . '#'; |
|
| 4694 | + } |
|
| 4442 | 4695 | |
| 4443 | 4696 | // Any files to load? |
| 4444 | - if (!empty($file) && is_string($file)) |
|
| 4445 | - $function = $file . (!empty($function) ? '|' . $function : ''); |
|
| 4697 | + if (!empty($file) && is_string($file)) { |
|
| 4698 | + $function = $file . (!empty($function) ? '|' . $function : ''); |
|
| 4699 | + } |
|
| 4446 | 4700 | |
| 4447 | 4701 | // Get the correct string. |
| 4448 | 4702 | $integration_call = $function; |
@@ -4464,13 +4718,14 @@ discard block |
||
| 4464 | 4718 | if (!empty($current_functions)) |
| 4465 | 4719 | { |
| 4466 | 4720 | $current_functions = explode(',', $current_functions); |
| 4467 | - if (in_array($integration_call, $current_functions)) |
|
| 4468 | - return; |
|
| 4721 | + if (in_array($integration_call, $current_functions)) { |
|
| 4722 | + return; |
|
| 4723 | + } |
|
| 4469 | 4724 | |
| 4470 | 4725 | $permanent_functions = array_merge($current_functions, array($integration_call)); |
| 4726 | + } else { |
|
| 4727 | + $permanent_functions = array($integration_call); |
|
| 4471 | 4728 | } |
| 4472 | - else |
|
| 4473 | - $permanent_functions = array($integration_call); |
|
| 4474 | 4729 | |
| 4475 | 4730 | updateSettings(array($hook => implode(',', $permanent_functions))); |
| 4476 | 4731 | } |
@@ -4479,8 +4734,9 @@ discard block |
||
| 4479 | 4734 | $functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]); |
| 4480 | 4735 | |
| 4481 | 4736 | // Do nothing, if it's already there. |
| 4482 | - if (in_array($integration_call, $functions)) |
|
| 4483 | - return; |
|
| 4737 | + if (in_array($integration_call, $functions)) { |
|
| 4738 | + return; |
|
| 4739 | + } |
|
| 4484 | 4740 | |
| 4485 | 4741 | $functions[] = $integration_call; |
| 4486 | 4742 | $modSettings[$hook] = implode(',', $functions); |
@@ -4503,12 +4759,14 @@ discard block |
||
| 4503 | 4759 | global $smcFunc, $modSettings; |
| 4504 | 4760 | |
| 4505 | 4761 | // Any objects? |
| 4506 | - if ($object) |
|
| 4507 | - $function = $function . '#'; |
|
| 4762 | + if ($object) { |
|
| 4763 | + $function = $function . '#'; |
|
| 4764 | + } |
|
| 4508 | 4765 | |
| 4509 | 4766 | // Any files to load? |
| 4510 | - if (!empty($file) && is_string($file)) |
|
| 4511 | - $function = $file . '|' . $function; |
|
| 4767 | + if (!empty($file) && is_string($file)) { |
|
| 4768 | + $function = $file . '|' . $function; |
|
| 4769 | + } |
|
| 4512 | 4770 | |
| 4513 | 4771 | // Get the correct string. |
| 4514 | 4772 | $integration_call = $function; |
@@ -4529,16 +4787,18 @@ discard block |
||
| 4529 | 4787 | { |
| 4530 | 4788 | $current_functions = explode(',', $current_functions); |
| 4531 | 4789 | |
| 4532 | - if (in_array($integration_call, $current_functions)) |
|
| 4533 | - updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call))))); |
|
| 4790 | + if (in_array($integration_call, $current_functions)) { |
|
| 4791 | + updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call))))); |
|
| 4792 | + } |
|
| 4534 | 4793 | } |
| 4535 | 4794 | |
| 4536 | 4795 | // Turn the function list into something usable. |
| 4537 | 4796 | $functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]); |
| 4538 | 4797 | |
| 4539 | 4798 | // You can only remove it if it's available. |
| 4540 | - if (!in_array($integration_call, $functions)) |
|
| 4541 | - return; |
|
| 4799 | + if (!in_array($integration_call, $functions)) { |
|
| 4800 | + return; |
|
| 4801 | + } |
|
| 4542 | 4802 | |
| 4543 | 4803 | $functions = array_diff($functions, array($integration_call)); |
| 4544 | 4804 | $modSettings[$hook] = implode(',', $functions); |
@@ -4559,17 +4819,20 @@ discard block |
||
| 4559 | 4819 | global $context, $smcFunc, $txt, $db_show_debug; |
| 4560 | 4820 | |
| 4561 | 4821 | // Really? |
| 4562 | - if (empty($string)) |
|
| 4563 | - return false; |
|
| 4822 | + if (empty($string)) { |
|
| 4823 | + return false; |
|
| 4824 | + } |
|
| 4564 | 4825 | |
| 4565 | 4826 | // An array? should be a "callable" array IE array(object/class, valid_callable). |
| 4566 | 4827 | // A closure? should be a callable one. |
| 4567 | - if (is_array($string) || $string instanceof Closure) |
|
| 4568 | - return $return ? $string : (is_callable($string) ? call_user_func($string) : false); |
|
| 4828 | + if (is_array($string) || $string instanceof Closure) { |
|
| 4829 | + return $return ? $string : (is_callable($string) ? call_user_func($string) : false); |
|
| 4830 | + } |
|
| 4569 | 4831 | |
| 4570 | 4832 | // No full objects, sorry! pass a method or a property instead! |
| 4571 | - if (is_object($string)) |
|
| 4572 | - return false; |
|
| 4833 | + if (is_object($string)) { |
|
| 4834 | + return false; |
|
| 4835 | + } |
|
| 4573 | 4836 | |
| 4574 | 4837 | // Stay vitaminized my friends... |
| 4575 | 4838 | $string = $smcFunc['htmlspecialchars']($smcFunc['htmltrim']($string)); |
@@ -4578,8 +4841,9 @@ discard block |
||
| 4578 | 4841 | $string = load_file($string); |
| 4579 | 4842 | |
| 4580 | 4843 | // Loaded file failed |
| 4581 | - if (empty($string)) |
|
| 4582 | - return false; |
|
| 4844 | + if (empty($string)) { |
|
| 4845 | + return false; |
|
| 4846 | + } |
|
| 4583 | 4847 | |
| 4584 | 4848 | // Found a method. |
| 4585 | 4849 | if (strpos($string, '::') !== false) |
@@ -4600,8 +4864,9 @@ discard block |
||
| 4600 | 4864 | // Add another one to the list. |
| 4601 | 4865 | if ($db_show_debug === true) |
| 4602 | 4866 | { |
| 4603 | - if (!isset($context['debug']['instances'])) |
|
| 4604 | - $context['debug']['instances'] = array(); |
|
| 4867 | + if (!isset($context['debug']['instances'])) { |
|
| 4868 | + $context['debug']['instances'] = array(); |
|
| 4869 | + } |
|
| 4605 | 4870 | |
| 4606 | 4871 | $context['debug']['instances'][$class] = $class; |
| 4607 | 4872 | } |
@@ -4611,13 +4876,15 @@ discard block |
||
| 4611 | 4876 | } |
| 4612 | 4877 | |
| 4613 | 4878 | // Right then. This is a call to a static method. |
| 4614 | - else |
|
| 4615 | - $func = array($class, $method); |
|
| 4879 | + else { |
|
| 4880 | + $func = array($class, $method); |
|
| 4881 | + } |
|
| 4616 | 4882 | } |
| 4617 | 4883 | |
| 4618 | 4884 | // Nope! just a plain regular function. |
| 4619 | - else |
|
| 4620 | - $func = $string; |
|
| 4885 | + else { |
|
| 4886 | + $func = $string; |
|
| 4887 | + } |
|
| 4621 | 4888 | |
| 4622 | 4889 | // Right, we got what we need, time to do some checks. |
| 4623 | 4890 | if (!is_callable($func, false, $callable_name)) |
@@ -4633,17 +4900,18 @@ discard block |
||
| 4633 | 4900 | else |
| 4634 | 4901 | { |
| 4635 | 4902 | // What are we gonna do about it? |
| 4636 | - if ($return) |
|
| 4637 | - return $func; |
|
| 4903 | + if ($return) { |
|
| 4904 | + return $func; |
|
| 4905 | + } |
|
| 4638 | 4906 | |
| 4639 | 4907 | // If this is a plain function, avoid the heat of calling call_user_func(). |
| 4640 | 4908 | else |
| 4641 | 4909 | { |
| 4642 | - if (is_array($func)) |
|
| 4643 | - call_user_func($func); |
|
| 4644 | - |
|
| 4645 | - else |
|
| 4646 | - $func(); |
|
| 4910 | + if (is_array($func)) { |
|
| 4911 | + call_user_func($func); |
|
| 4912 | + } else { |
|
| 4913 | + $func(); |
|
| 4914 | + } |
|
| 4647 | 4915 | } |
| 4648 | 4916 | } |
| 4649 | 4917 | } |
@@ -4660,31 +4928,34 @@ discard block |
||
| 4660 | 4928 | { |
| 4661 | 4929 | global $sourcedir, $txt, $boarddir, $settings; |
| 4662 | 4930 | |
| 4663 | - if (empty($string)) |
|
| 4664 | - return false; |
|
| 4931 | + if (empty($string)) { |
|
| 4932 | + return false; |
|
| 4933 | + } |
|
| 4665 | 4934 | |
| 4666 | 4935 | if (strpos($string, '|') !== false) |
| 4667 | 4936 | { |
| 4668 | 4937 | list ($file, $string) = explode('|', $string); |
| 4669 | 4938 | |
| 4670 | 4939 | // Match the wildcards to their regular vars. |
| 4671 | - if (empty($settings['theme_dir'])) |
|
| 4672 | - $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir)); |
|
| 4673 | - |
|
| 4674 | - else |
|
| 4675 | - $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir'])); |
|
| 4940 | + if (empty($settings['theme_dir'])) { |
|
| 4941 | + $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir)); |
|
| 4942 | + } else { |
|
| 4943 | + $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir'])); |
|
| 4944 | + } |
|
| 4676 | 4945 | |
| 4677 | 4946 | // Load the file if it can be loaded. |
| 4678 | - if (file_exists($absPath)) |
|
| 4679 | - require_once($absPath); |
|
| 4947 | + if (file_exists($absPath)) { |
|
| 4948 | + require_once($absPath); |
|
| 4949 | + } |
|
| 4680 | 4950 | |
| 4681 | 4951 | // No? try a fallback to $sourcedir |
| 4682 | 4952 | else |
| 4683 | 4953 | { |
| 4684 | 4954 | $absPath = $sourcedir .'/'. $file; |
| 4685 | 4955 | |
| 4686 | - if (file_exists($absPath)) |
|
| 4687 | - require_once($absPath); |
|
| 4956 | + if (file_exists($absPath)) { |
|
| 4957 | + require_once($absPath); |
|
| 4958 | + } |
|
| 4688 | 4959 | |
| 4689 | 4960 | // Sorry, can't do much for you at this point. |
| 4690 | 4961 | else |
@@ -4711,8 +4982,9 @@ discard block |
||
| 4711 | 4982 | global $user_info, $smcFunc; |
| 4712 | 4983 | |
| 4713 | 4984 | // Make sure we have something to work with. |
| 4714 | - if (empty($topic)) |
|
| 4715 | - return array(); |
|
| 4985 | + if (empty($topic)) { |
|
| 4986 | + return array(); |
|
| 4987 | + } |
|
| 4716 | 4988 | |
| 4717 | 4989 | |
| 4718 | 4990 | // We already know the number of likes per message, we just want to know whether the current user liked it or not. |
@@ -4735,8 +5007,9 @@ discard block |
||
| 4735 | 5007 | 'topic' => $topic, |
| 4736 | 5008 | ) |
| 4737 | 5009 | ); |
| 4738 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 4739 | - $temp[] = (int) $row['content_id']; |
|
| 5010 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 5011 | + $temp[] = (int) $row['content_id']; |
|
| 5012 | + } |
|
| 4740 | 5013 | |
| 4741 | 5014 | cache_put_data($cache_key, $temp, $ttl); |
| 4742 | 5015 | } |
@@ -4757,8 +5030,9 @@ discard block |
||
| 4757 | 5030 | { |
| 4758 | 5031 | global $context; |
| 4759 | 5032 | |
| 4760 | - if (empty($string)) |
|
| 4761 | - return $string; |
|
| 5033 | + if (empty($string)) { |
|
| 5034 | + return $string; |
|
| 5035 | + } |
|
| 4762 | 5036 | |
| 4763 | 5037 | // UTF-8 occurences of MS special characters |
| 4764 | 5038 | $findchars_utf8 = array( |
@@ -4799,10 +5073,11 @@ discard block |
||
| 4799 | 5073 | '--', // — |
| 4800 | 5074 | ); |
| 4801 | 5075 | |
| 4802 | - if ($context['utf8']) |
|
| 4803 | - $string = str_replace($findchars_utf8, $replacechars, $string); |
|
| 4804 | - else |
|
| 4805 | - $string = str_replace($findchars_iso, $replacechars, $string); |
|
| 5076 | + if ($context['utf8']) { |
|
| 5077 | + $string = str_replace($findchars_utf8, $replacechars, $string); |
|
| 5078 | + } else { |
|
| 5079 | + $string = str_replace($findchars_iso, $replacechars, $string); |
|
| 5080 | + } |
|
| 4806 | 5081 | |
| 4807 | 5082 | return $string; |
| 4808 | 5083 | } |
@@ -4821,49 +5096,59 @@ discard block |
||
| 4821 | 5096 | { |
| 4822 | 5097 | global $context; |
| 4823 | 5098 | |
| 4824 | - if (!isset($matches[2])) |
|
| 4825 | - return ''; |
|
| 5099 | + if (!isset($matches[2])) { |
|
| 5100 | + return ''; |
|
| 5101 | + } |
|
| 4826 | 5102 | |
| 4827 | 5103 | $num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2]; |
| 4828 | 5104 | |
| 4829 | 5105 | // remove left to right / right to left overrides |
| 4830 | - if ($num === 0x202D || $num === 0x202E) |
|
| 4831 | - return ''; |
|
| 5106 | + if ($num === 0x202D || $num === 0x202E) { |
|
| 5107 | + return ''; |
|
| 5108 | + } |
|
| 4832 | 5109 | |
| 4833 | 5110 | // Quote, Ampersand, Apostrophe, Less/Greater Than get html replaced |
| 4834 | - if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) |
|
| 4835 | - return '&#' . $num . ';'; |
|
| 5111 | + if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) { |
|
| 5112 | + return '&#' . $num . ';'; |
|
| 5113 | + } |
|
| 4836 | 5114 | |
| 4837 | 5115 | if (empty($context['utf8'])) |
| 4838 | 5116 | { |
| 4839 | 5117 | // no control characters |
| 4840 | - if ($num < 0x20) |
|
| 4841 | - return ''; |
|
| 5118 | + if ($num < 0x20) { |
|
| 5119 | + return ''; |
|
| 5120 | + } |
|
| 4842 | 5121 | // text is text |
| 4843 | - elseif ($num < 0x80) |
|
| 4844 | - return chr($num); |
|
| 5122 | + elseif ($num < 0x80) { |
|
| 5123 | + return chr($num); |
|
| 5124 | + } |
|
| 4845 | 5125 | // all others get html-ised |
| 4846 | - else |
|
| 4847 | - return '&#' . $matches[2] . ';'; |
|
| 4848 | - } |
|
| 4849 | - else |
|
| 5126 | + else { |
|
| 5127 | + return '&#' . $matches[2] . ';'; |
|
| 5128 | + } |
|
| 5129 | + } else |
|
| 4850 | 5130 | { |
| 4851 | 5131 | // <0x20 are control characters, 0x20 is a space, > 0x10FFFF is past the end of the utf8 character set |
| 4852 | 5132 | // 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text) |
| 4853 | - if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) |
|
| 4854 | - return ''; |
|
| 5133 | + if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) { |
|
| 5134 | + return ''; |
|
| 5135 | + } |
|
| 4855 | 5136 | // <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation |
| 4856 | - elseif ($num < 0x80) |
|
| 4857 | - return chr($num); |
|
| 5137 | + elseif ($num < 0x80) { |
|
| 5138 | + return chr($num); |
|
| 5139 | + } |
|
| 4858 | 5140 | // <0x800 (2048) |
| 4859 | - elseif ($num < 0x800) |
|
| 4860 | - return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
| 5141 | + elseif ($num < 0x800) { |
|
| 5142 | + return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
| 5143 | + } |
|
| 4861 | 5144 | // < 0x10000 (65536) |
| 4862 | - elseif ($num < 0x10000) |
|
| 4863 | - return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 5145 | + elseif ($num < 0x10000) { |
|
| 5146 | + return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 5147 | + } |
|
| 4864 | 5148 | // <= 0x10FFFF (1114111) |
| 4865 | - else |
|
| 4866 | - return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 5149 | + else { |
|
| 5150 | + return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 5151 | + } |
|
| 4867 | 5152 | } |
| 4868 | 5153 | } |
| 4869 | 5154 | |
@@ -4879,28 +5164,34 @@ discard block |
||
| 4879 | 5164 | */ |
| 4880 | 5165 | function fixchar__callback($matches) |
| 4881 | 5166 | { |
| 4882 | - if (!isset($matches[1])) |
|
| 4883 | - return ''; |
|
| 5167 | + if (!isset($matches[1])) { |
|
| 5168 | + return ''; |
|
| 5169 | + } |
|
| 4884 | 5170 | |
| 4885 | 5171 | $num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1]; |
| 4886 | 5172 | |
| 4887 | 5173 | // <0x20 are control characters, > 0x10FFFF is past the end of the utf8 character set |
| 4888 | 5174 | // 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text), 0x202D-E are left to right overrides |
| 4889 | - if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) |
|
| 4890 | - return ''; |
|
| 5175 | + if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) { |
|
| 5176 | + return ''; |
|
| 5177 | + } |
|
| 4891 | 5178 | // <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation |
| 4892 | - elseif ($num < 0x80) |
|
| 4893 | - return chr($num); |
|
| 5179 | + elseif ($num < 0x80) { |
|
| 5180 | + return chr($num); |
|
| 5181 | + } |
|
| 4894 | 5182 | // <0x800 (2048) |
| 4895 | - elseif ($num < 0x800) |
|
| 4896 | - return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
| 5183 | + elseif ($num < 0x800) { |
|
| 5184 | + return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
| 5185 | + } |
|
| 4897 | 5186 | // < 0x10000 (65536) |
| 4898 | - elseif ($num < 0x10000) |
|
| 4899 | - return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 5187 | + elseif ($num < 0x10000) { |
|
| 5188 | + return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 5189 | + } |
|
| 4900 | 5190 | // <= 0x10FFFF (1114111) |
| 4901 | - else |
|
| 4902 | - return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 4903 | -} |
|
| 5191 | + else { |
|
| 5192 | + return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
| 5193 | + } |
|
| 5194 | + } |
|
| 4904 | 5195 | |
| 4905 | 5196 | /** |
| 4906 | 5197 | * Strips out invalid html entities, replaces others with html style { codes |
@@ -4913,17 +5204,19 @@ discard block |
||
| 4913 | 5204 | */ |
| 4914 | 5205 | function entity_fix__callback($matches) |
| 4915 | 5206 | { |
| 4916 | - if (!isset($matches[2])) |
|
| 4917 | - return ''; |
|
| 5207 | + if (!isset($matches[2])) { |
|
| 5208 | + return ''; |
|
| 5209 | + } |
|
| 4918 | 5210 | |
| 4919 | 5211 | $num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2]; |
| 4920 | 5212 | |
| 4921 | 5213 | // we don't allow control characters, characters out of range, byte markers, etc |
| 4922 | - if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) |
|
| 4923 | - return ''; |
|
| 4924 | - else |
|
| 4925 | - return '&#' . $num . ';'; |
|
| 4926 | -} |
|
| 5214 | + if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) { |
|
| 5215 | + return ''; |
|
| 5216 | + } else { |
|
| 5217 | + return '&#' . $num . ';'; |
|
| 5218 | + } |
|
| 5219 | + } |
|
| 4927 | 5220 | |
| 4928 | 5221 | /** |
| 4929 | 5222 | * Return a Gravatar URL based on |
@@ -4947,18 +5240,23 @@ discard block |
||
| 4947 | 5240 | $ratings = array('G', 'PG', 'R', 'X'); |
| 4948 | 5241 | $defaults = array('mm', 'identicon', 'monsterid', 'wavatar', 'retro', 'blank'); |
| 4949 | 5242 | $url_params = array(); |
| 4950 | - if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) |
|
| 4951 | - $url_params[] = 'rating=' . $modSettings['gravatarMaxRating']; |
|
| 4952 | - if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) |
|
| 4953 | - $url_params[] = 'default=' . $modSettings['gravatarDefault']; |
|
| 4954 | - if (!empty($modSettings['avatar_max_width_external'])) |
|
| 4955 | - $size_string = (int) $modSettings['avatar_max_width_external']; |
|
| 4956 | - if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) |
|
| 4957 | - if ((int) $modSettings['avatar_max_height_external'] < $size_string) |
|
| 5243 | + if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) { |
|
| 5244 | + $url_params[] = 'rating=' . $modSettings['gravatarMaxRating']; |
|
| 5245 | + } |
|
| 5246 | + if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) { |
|
| 5247 | + $url_params[] = 'default=' . $modSettings['gravatarDefault']; |
|
| 5248 | + } |
|
| 5249 | + if (!empty($modSettings['avatar_max_width_external'])) { |
|
| 5250 | + $size_string = (int) $modSettings['avatar_max_width_external']; |
|
| 5251 | + } |
|
| 5252 | + if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) { |
|
| 5253 | + if ((int) $modSettings['avatar_max_height_external'] < $size_string) |
|
| 4958 | 5254 | $size_string = $modSettings['avatar_max_height_external']; |
| 5255 | + } |
|
| 4959 | 5256 | |
| 4960 | - if (!empty($size_string)) |
|
| 4961 | - $url_params[] = 's=' . $size_string; |
|
| 5257 | + if (!empty($size_string)) { |
|
| 5258 | + $url_params[] = 's=' . $size_string; |
|
| 5259 | + } |
|
| 4962 | 5260 | } |
| 4963 | 5261 | $http_method = !empty($modSettings['force_ssl']) && $modSettings['force_ssl'] == 2 ? 'https://secure' : 'http://www'; |
| 4964 | 5262 | |
@@ -4977,22 +5275,26 @@ discard block |
||
| 4977 | 5275 | static $timezones = null, $lastwhen = null; |
| 4978 | 5276 | |
| 4979 | 5277 | // No point doing this over if we already did it once |
| 4980 | - if (!empty($timezones) && $when == $lastwhen) |
|
| 4981 | - return $timezones; |
|
| 4982 | - else |
|
| 4983 | - $lastwhen = $when; |
|
| 5278 | + if (!empty($timezones) && $when == $lastwhen) { |
|
| 5279 | + return $timezones; |
|
| 5280 | + } else { |
|
| 5281 | + $lastwhen = $when; |
|
| 5282 | + } |
|
| 4984 | 5283 | |
| 4985 | 5284 | // Parseable datetime string? |
| 4986 | - if (is_int($timestamp = strtotime($when))) |
|
| 4987 | - $when = $timestamp; |
|
| 5285 | + if (is_int($timestamp = strtotime($when))) { |
|
| 5286 | + $when = $timestamp; |
|
| 5287 | + } |
|
| 4988 | 5288 | |
| 4989 | 5289 | // A Unix timestamp? |
| 4990 | - elseif (is_numeric($when)) |
|
| 4991 | - $when = intval($when); |
|
| 5290 | + elseif (is_numeric($when)) { |
|
| 5291 | + $when = intval($when); |
|
| 5292 | + } |
|
| 4992 | 5293 | |
| 4993 | 5294 | // Invalid value? Just get current Unix timestamp. |
| 4994 | - else |
|
| 4995 | - $when = time(); |
|
| 5295 | + else { |
|
| 5296 | + $when = time(); |
|
| 5297 | + } |
|
| 4996 | 5298 | |
| 4997 | 5299 | // We'll need these too |
| 4998 | 5300 | $date_when = date_create('@' . $when); |
@@ -5056,8 +5358,9 @@ discard block |
||
| 5056 | 5358 | foreach ($priority_countries as $country) |
| 5057 | 5359 | { |
| 5058 | 5360 | $country_tzids = @timezone_identifiers_list(DateTimeZone::PER_COUNTRY, strtoupper(trim($country))); |
| 5059 | - if (!empty($country_tzids)) |
|
| 5060 | - $priority_tzids = array_merge($priority_tzids, $country_tzids); |
|
| 5361 | + if (!empty($country_tzids)) { |
|
| 5362 | + $priority_tzids = array_merge($priority_tzids, $country_tzids); |
|
| 5363 | + } |
|
| 5061 | 5364 | } |
| 5062 | 5365 | |
| 5063 | 5366 | // Process the preferred timezones first, then the rest. |
@@ -5067,8 +5370,9 @@ discard block |
||
| 5067 | 5370 | foreach ($tzids as $tzid) |
| 5068 | 5371 | { |
| 5069 | 5372 | // We don't want UTC right now |
| 5070 | - if ($tzid == 'UTC') |
|
| 5071 | - continue; |
|
| 5373 | + if ($tzid == 'UTC') { |
|
| 5374 | + continue; |
|
| 5375 | + } |
|
| 5072 | 5376 | |
| 5073 | 5377 | $tz = timezone_open($tzid); |
| 5074 | 5378 | |
@@ -5089,8 +5393,9 @@ discard block |
||
| 5089 | 5393 | } |
| 5090 | 5394 | |
| 5091 | 5395 | // A time zone from a prioritized country? |
| 5092 | - if (in_array($tzid, $priority_tzids)) |
|
| 5093 | - $priority_zones[$tzkey] = true; |
|
| 5396 | + if (in_array($tzid, $priority_tzids)) { |
|
| 5397 | + $priority_zones[$tzkey] = true; |
|
| 5398 | + } |
|
| 5094 | 5399 | |
| 5095 | 5400 | // Keep track of the location and offset for this tzid |
| 5096 | 5401 | $tzid_parts = explode('/', $tzid); |
@@ -5109,15 +5414,17 @@ discard block |
||
| 5109 | 5414 | { |
| 5110 | 5415 | date_timezone_set($date_when, timezone_open($tzvalue['tzid'])); |
| 5111 | 5416 | |
| 5112 | - if (!empty($timezone_descriptions[$tzvalue['tzid']])) |
|
| 5113 | - $desc = $timezone_descriptions[$tzvalue['tzid']]; |
|
| 5114 | - else |
|
| 5115 | - $desc = implode(', ', array_unique($tzvalue['locations'])); |
|
| 5417 | + if (!empty($timezone_descriptions[$tzvalue['tzid']])) { |
|
| 5418 | + $desc = $timezone_descriptions[$tzvalue['tzid']]; |
|
| 5419 | + } else { |
|
| 5420 | + $desc = implode(', ', array_unique($tzvalue['locations'])); |
|
| 5421 | + } |
|
| 5116 | 5422 | |
| 5117 | - if (isset($priority_zones[$tzkey])) |
|
| 5118 | - $priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
| 5119 | - else |
|
| 5120 | - $timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
| 5423 | + if (isset($priority_zones[$tzkey])) { |
|
| 5424 | + $priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
| 5425 | + } else { |
|
| 5426 | + $timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
| 5427 | + } |
|
| 5121 | 5428 | } |
| 5122 | 5429 | |
| 5123 | 5430 | $timezones = array_merge( |
@@ -5171,9 +5478,9 @@ discard block |
||
| 5171 | 5478 | 'Indian/Kerguelen' => 'TFT', |
| 5172 | 5479 | ); |
| 5173 | 5480 | |
| 5174 | - if (!empty($missing_tz_abbrs[$tzid])) |
|
| 5175 | - $tz_abbrev = $missing_tz_abbrs[$tzid]; |
|
| 5176 | - else |
|
| 5481 | + if (!empty($missing_tz_abbrs[$tzid])) { |
|
| 5482 | + $tz_abbrev = $missing_tz_abbrs[$tzid]; |
|
| 5483 | + } else |
|
| 5177 | 5484 | { |
| 5178 | 5485 | // Russia likes to experiment with time zones often, and names them as offsets from Moscow |
| 5179 | 5486 | $tz_location = timezone_location_get(timezone_open($tzid)); |
@@ -5201,8 +5508,9 @@ discard block |
||
| 5201 | 5508 | */ |
| 5202 | 5509 | function inet_ptod($ip_address) |
| 5203 | 5510 | { |
| 5204 | - if (!isValidIP($ip_address)) |
|
| 5205 | - return $ip_address; |
|
| 5511 | + if (!isValidIP($ip_address)) { |
|
| 5512 | + return $ip_address; |
|
| 5513 | + } |
|
| 5206 | 5514 | |
| 5207 | 5515 | $bin = inet_pton($ip_address); |
| 5208 | 5516 | return $bin; |
@@ -5214,13 +5522,15 @@ discard block |
||
| 5214 | 5522 | */ |
| 5215 | 5523 | function inet_dtop($bin) |
| 5216 | 5524 | { |
| 5217 | - if(empty($bin)) |
|
| 5218 | - return ''; |
|
| 5525 | + if(empty($bin)) { |
|
| 5526 | + return ''; |
|
| 5527 | + } |
|
| 5219 | 5528 | |
| 5220 | 5529 | global $db_type; |
| 5221 | 5530 | |
| 5222 | - if ($db_type == 'postgresql') |
|
| 5223 | - return $bin; |
|
| 5531 | + if ($db_type == 'postgresql') { |
|
| 5532 | + return $bin; |
|
| 5533 | + } |
|
| 5224 | 5534 | |
| 5225 | 5535 | $ip_address = inet_ntop($bin); |
| 5226 | 5536 | |
@@ -5245,26 +5555,32 @@ discard block |
||
| 5245 | 5555 | */ |
| 5246 | 5556 | function _safe_serialize($value) |
| 5247 | 5557 | { |
| 5248 | - if(is_null($value)) |
|
| 5249 | - return 'N;'; |
|
| 5558 | + if(is_null($value)) { |
|
| 5559 | + return 'N;'; |
|
| 5560 | + } |
|
| 5250 | 5561 | |
| 5251 | - if(is_bool($value)) |
|
| 5252 | - return 'b:'. (int) $value .';'; |
|
| 5562 | + if(is_bool($value)) { |
|
| 5563 | + return 'b:'. (int) $value .';'; |
|
| 5564 | + } |
|
| 5253 | 5565 | |
| 5254 | - if(is_int($value)) |
|
| 5255 | - return 'i:'. $value .';'; |
|
| 5566 | + if(is_int($value)) { |
|
| 5567 | + return 'i:'. $value .';'; |
|
| 5568 | + } |
|
| 5256 | 5569 | |
| 5257 | - if(is_float($value)) |
|
| 5258 | - return 'd:'. str_replace(',', '.', $value) .';'; |
|
| 5570 | + if(is_float($value)) { |
|
| 5571 | + return 'd:'. str_replace(',', '.', $value) .';'; |
|
| 5572 | + } |
|
| 5259 | 5573 | |
| 5260 | - if(is_string($value)) |
|
| 5261 | - return 's:'. strlen($value) .':"'. $value .'";'; |
|
| 5574 | + if(is_string($value)) { |
|
| 5575 | + return 's:'. strlen($value) .':"'. $value .'";'; |
|
| 5576 | + } |
|
| 5262 | 5577 | |
| 5263 | 5578 | if(is_array($value)) |
| 5264 | 5579 | { |
| 5265 | 5580 | $out = ''; |
| 5266 | - foreach($value as $k => $v) |
|
| 5267 | - $out .= _safe_serialize($k) . _safe_serialize($v); |
|
| 5581 | + foreach($value as $k => $v) { |
|
| 5582 | + $out .= _safe_serialize($k) . _safe_serialize($v); |
|
| 5583 | + } |
|
| 5268 | 5584 | |
| 5269 | 5585 | return 'a:'. count($value) .':{'. $out .'}'; |
| 5270 | 5586 | } |
@@ -5290,8 +5606,9 @@ discard block |
||
| 5290 | 5606 | |
| 5291 | 5607 | $out = _safe_serialize($value); |
| 5292 | 5608 | |
| 5293 | - if (isset($mbIntEnc)) |
|
| 5294 | - mb_internal_encoding($mbIntEnc); |
|
| 5609 | + if (isset($mbIntEnc)) { |
|
| 5610 | + mb_internal_encoding($mbIntEnc); |
|
| 5611 | + } |
|
| 5295 | 5612 | |
| 5296 | 5613 | return $out; |
| 5297 | 5614 | } |
@@ -5308,8 +5625,9 @@ discard block |
||
| 5308 | 5625 | function _safe_unserialize($str) |
| 5309 | 5626 | { |
| 5310 | 5627 | // Input is not a string. |
| 5311 | - if(empty($str) || !is_string($str)) |
|
| 5312 | - return false; |
|
| 5628 | + if(empty($str) || !is_string($str)) { |
|
| 5629 | + return false; |
|
| 5630 | + } |
|
| 5313 | 5631 | |
| 5314 | 5632 | $stack = array(); |
| 5315 | 5633 | $expected = array(); |
@@ -5325,43 +5643,38 @@ discard block |
||
| 5325 | 5643 | while($state != 1) |
| 5326 | 5644 | { |
| 5327 | 5645 | $type = isset($str[0]) ? $str[0] : ''; |
| 5328 | - if($type == '}') |
|
| 5329 | - $str = substr($str, 1); |
|
| 5330 | - |
|
| 5331 | - else if($type == 'N' && $str[1] == ';') |
|
| 5646 | + if($type == '}') { |
|
| 5647 | + $str = substr($str, 1); |
|
| 5648 | + } else if($type == 'N' && $str[1] == ';') |
|
| 5332 | 5649 | { |
| 5333 | 5650 | $value = null; |
| 5334 | 5651 | $str = substr($str, 2); |
| 5335 | - } |
|
| 5336 | - else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
| 5652 | + } else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
| 5337 | 5653 | { |
| 5338 | 5654 | $value = $matches[1] == '1' ? true : false; |
| 5339 | 5655 | $str = substr($str, 4); |
| 5340 | - } |
|
| 5341 | - else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
| 5656 | + } else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
| 5342 | 5657 | { |
| 5343 | 5658 | $value = (int)$matches[1]; |
| 5344 | 5659 | $str = $matches[2]; |
| 5345 | - } |
|
| 5346 | - else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
| 5660 | + } else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
| 5347 | 5661 | { |
| 5348 | 5662 | $value = (float)$matches[1]; |
| 5349 | 5663 | $str = $matches[3]; |
| 5350 | - } |
|
| 5351 | - else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";') |
|
| 5664 | + } else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";') |
|
| 5352 | 5665 | { |
| 5353 | 5666 | $value = substr($matches[2], 0, (int)$matches[1]); |
| 5354 | 5667 | $str = substr($matches[2], (int)$matches[1] + 2); |
| 5355 | - } |
|
| 5356 | - else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
| 5668 | + } else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
| 5357 | 5669 | { |
| 5358 | 5670 | $expectedLength = (int)$matches[1]; |
| 5359 | 5671 | $str = $matches[2]; |
| 5360 | 5672 | } |
| 5361 | 5673 | |
| 5362 | 5674 | // Object or unknown/malformed type. |
| 5363 | - else |
|
| 5364 | - return false; |
|
| 5675 | + else { |
|
| 5676 | + return false; |
|
| 5677 | + } |
|
| 5365 | 5678 | |
| 5366 | 5679 | switch($state) |
| 5367 | 5680 | { |
@@ -5389,8 +5702,9 @@ discard block |
||
| 5389 | 5702 | if($type == '}') |
| 5390 | 5703 | { |
| 5391 | 5704 | // Array size is less than expected. |
| 5392 | - if(count($list) < end($expected)) |
|
| 5393 | - return false; |
|
| 5705 | + if(count($list) < end($expected)) { |
|
| 5706 | + return false; |
|
| 5707 | + } |
|
| 5394 | 5708 | |
| 5395 | 5709 | unset($list); |
| 5396 | 5710 | $list = &$stack[count($stack)-1]; |
@@ -5399,8 +5713,9 @@ discard block |
||
| 5399 | 5713 | // Go to terminal state if we're at the end of the root array. |
| 5400 | 5714 | array_pop($expected); |
| 5401 | 5715 | |
| 5402 | - if(count($expected) == 0) |
|
| 5403 | - $state = 1; |
|
| 5716 | + if(count($expected) == 0) { |
|
| 5717 | + $state = 1; |
|
| 5718 | + } |
|
| 5404 | 5719 | |
| 5405 | 5720 | break; |
| 5406 | 5721 | } |
@@ -5408,8 +5723,9 @@ discard block |
||
| 5408 | 5723 | if($type == 'i' || $type == 's') |
| 5409 | 5724 | { |
| 5410 | 5725 | // Array size exceeds expected length. |
| 5411 | - if(count($list) >= end($expected)) |
|
| 5412 | - return false; |
|
| 5726 | + if(count($list) >= end($expected)) { |
|
| 5727 | + return false; |
|
| 5728 | + } |
|
| 5413 | 5729 | |
| 5414 | 5730 | $key = $value; |
| 5415 | 5731 | $state = 3; |
@@ -5443,8 +5759,9 @@ discard block |
||
| 5443 | 5759 | } |
| 5444 | 5760 | |
| 5445 | 5761 | // Trailing data in input. |
| 5446 | - if(!empty($str)) |
|
| 5447 | - return false; |
|
| 5762 | + if(!empty($str)) { |
|
| 5763 | + return false; |
|
| 5764 | + } |
|
| 5448 | 5765 | |
| 5449 | 5766 | return $data; |
| 5450 | 5767 | } |
@@ -5467,8 +5784,9 @@ discard block |
||
| 5467 | 5784 | |
| 5468 | 5785 | $out = _safe_unserialize($str); |
| 5469 | 5786 | |
| 5470 | - if (isset($mbIntEnc)) |
|
| 5471 | - mb_internal_encoding($mbIntEnc); |
|
| 5787 | + if (isset($mbIntEnc)) { |
|
| 5788 | + mb_internal_encoding($mbIntEnc); |
|
| 5789 | + } |
|
| 5472 | 5790 | |
| 5473 | 5791 | return $out; |
| 5474 | 5792 | } |
@@ -5483,12 +5801,14 @@ discard block |
||
| 5483 | 5801 | function smf_chmod($file, $value = 0) |
| 5484 | 5802 | { |
| 5485 | 5803 | // No file? no checks! |
| 5486 | - if (empty($file)) |
|
| 5487 | - return false; |
|
| 5804 | + if (empty($file)) { |
|
| 5805 | + return false; |
|
| 5806 | + } |
|
| 5488 | 5807 | |
| 5489 | 5808 | // Already writable? |
| 5490 | - if (is_writable($file)) |
|
| 5491 | - return true; |
|
| 5809 | + if (is_writable($file)) { |
|
| 5810 | + return true; |
|
| 5811 | + } |
|
| 5492 | 5812 | |
| 5493 | 5813 | // Do we have a file or a dir? |
| 5494 | 5814 | $isDir = is_dir($file); |
@@ -5504,10 +5824,9 @@ discard block |
||
| 5504 | 5824 | { |
| 5505 | 5825 | $isWritable = true; |
| 5506 | 5826 | break; |
| 5827 | + } else { |
|
| 5828 | + @chmod($file, $val); |
|
| 5507 | 5829 | } |
| 5508 | - |
|
| 5509 | - else |
|
| 5510 | - @chmod($file, $val); |
|
| 5511 | 5830 | } |
| 5512 | 5831 | |
| 5513 | 5832 | return $isWritable; |
@@ -5526,8 +5845,9 @@ discard block |
||
| 5526 | 5845 | global $txt; |
| 5527 | 5846 | |
| 5528 | 5847 | // Come on... |
| 5529 | - if (empty($json) || !is_string($json)) |
|
| 5530 | - return array(); |
|
| 5848 | + if (empty($json) || !is_string($json)) { |
|
| 5849 | + return array(); |
|
| 5850 | + } |
|
| 5531 | 5851 | |
| 5532 | 5852 | $returnArray = @json_decode($json, $returnAsArray); |
| 5533 | 5853 | |
@@ -5565,11 +5885,11 @@ discard block |
||
| 5565 | 5885 | $jsonDebug = $jsonDebug[0]; |
| 5566 | 5886 | loadLanguage('Errors'); |
| 5567 | 5887 | |
| 5568 | - if (!empty($jsonDebug)) |
|
| 5569 | - log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
| 5570 | - |
|
| 5571 | - else |
|
| 5572 | - log_error($txt['json_'. $jsonError], 'critical'); |
|
| 5888 | + if (!empty($jsonDebug)) { |
|
| 5889 | + log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
| 5890 | + } else { |
|
| 5891 | + log_error($txt['json_'. $jsonError], 'critical'); |
|
| 5892 | + } |
|
| 5573 | 5893 | |
| 5574 | 5894 | // Everyone expects an array. |
| 5575 | 5895 | return array(); |
@@ -5603,8 +5923,9 @@ discard block |
||
| 5603 | 5923 | global $db_show_debug, $modSettings; |
| 5604 | 5924 | |
| 5605 | 5925 | // Defensive programming anyone? |
| 5606 | - if (empty($data)) |
|
| 5607 | - return false; |
|
| 5926 | + if (empty($data)) { |
|
| 5927 | + return false; |
|
| 5928 | + } |
|
| 5608 | 5929 | |
| 5609 | 5930 | // Don't need extra stuff... |
| 5610 | 5931 | $db_show_debug = false; |
@@ -5612,11 +5933,11 @@ discard block |
||
| 5612 | 5933 | // Kill anything else. |
| 5613 | 5934 | ob_end_clean(); |
| 5614 | 5935 | |
| 5615 | - if (!empty($modSettings['CompressedOutput'])) |
|
| 5616 | - @ob_start('ob_gzhandler'); |
|
| 5617 | - |
|
| 5618 | - else |
|
| 5619 | - ob_start(); |
|
| 5936 | + if (!empty($modSettings['CompressedOutput'])) { |
|
| 5937 | + @ob_start('ob_gzhandler'); |
|
| 5938 | + } else { |
|
| 5939 | + ob_start(); |
|
| 5940 | + } |
|
| 5620 | 5941 | |
| 5621 | 5942 | // Set the header. |
| 5622 | 5943 | header($type); |
@@ -5648,8 +5969,9 @@ discard block |
||
| 5648 | 5969 | static $done = false; |
| 5649 | 5970 | |
| 5650 | 5971 | // If we don't need to do anything, don't |
| 5651 | - if (!$update && $done) |
|
| 5652 | - return; |
|
| 5972 | + if (!$update && $done) { |
|
| 5973 | + return; |
|
| 5974 | + } |
|
| 5653 | 5975 | |
| 5654 | 5976 | // Should we get a new copy of the official list of TLDs? |
| 5655 | 5977 | if ($update) |
@@ -5658,8 +5980,9 @@ discard block |
||
| 5658 | 5980 | $tlds = fetch_web_data('https://data.iana.org/TLD/tlds-alpha-by-domain.txt'); |
| 5659 | 5981 | |
| 5660 | 5982 | // If the Internet Assigned Numbers Authority can't be reached, the Internet is gone. We're probably running on a server hidden in a bunker deep underground to protect it from marauding bandits roaming on the surface. We don't want to waste precious electricity on pointlessly repeating background tasks, so we'll wait until the next regularly scheduled update to see if civilization has been restored. |
| 5661 | - if ($tlds === false) |
|
| 5662 | - $postapocalypticNightmare = true; |
|
| 5983 | + if ($tlds === false) { |
|
| 5984 | + $postapocalypticNightmare = true; |
|
| 5985 | + } |
|
| 5663 | 5986 | } |
| 5664 | 5987 | // If we aren't updating and the regex is valid, we're done |
| 5665 | 5988 | elseif (!empty($modSettings['tld_regex']) && @preg_match('~' . $modSettings['tld_regex'] . '~', null) !== false) |
@@ -5674,10 +5997,11 @@ discard block |
||
| 5674 | 5997 | // Clean $tlds and convert it to an array |
| 5675 | 5998 | $tlds = array_filter(explode("\n", strtolower($tlds)), function($line) { |
| 5676 | 5999 | $line = trim($line); |
| 5677 | - if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) |
|
| 5678 | - return false; |
|
| 5679 | - else |
|
| 5680 | - return true; |
|
| 6000 | + if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) { |
|
| 6001 | + return false; |
|
| 6002 | + } else { |
|
| 6003 | + return true; |
|
| 6004 | + } |
|
| 5681 | 6005 | }); |
| 5682 | 6006 | |
| 5683 | 6007 | // Convert Punycode to Unicode |
@@ -5731,8 +6055,9 @@ discard block |
||
| 5731 | 6055 | $idx += $digit * $w; |
| 5732 | 6056 | $t = ($k <= $bias) ? $tmin : (($k >= $bias + $tmax) ? $tmax : ($k - $bias)); |
| 5733 | 6057 | |
| 5734 | - if ($digit < $t) |
|
| 5735 | - break; |
|
| 6058 | + if ($digit < $t) { |
|
| 6059 | + break; |
|
| 6060 | + } |
|
| 5736 | 6061 | |
| 5737 | 6062 | $w = (int) ($w * ($base - $t)); |
| 5738 | 6063 | } |
@@ -5741,8 +6066,9 @@ discard block |
||
| 5741 | 6066 | $delta = intval($is_first ? ($delta / $damp) : ($delta / 2)); |
| 5742 | 6067 | $delta += intval($delta / ($deco_len + 1)); |
| 5743 | 6068 | |
| 5744 | - for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) |
|
| 5745 | - $delta = intval($delta / ($base - $tmin)); |
|
| 6069 | + for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) { |
|
| 6070 | + $delta = intval($delta / ($base - $tmin)); |
|
| 6071 | + } |
|
| 5746 | 6072 | |
| 5747 | 6073 | $bias = intval($k + ($base - $tmin + 1) * $delta / ($delta + $skew)); |
| 5748 | 6074 | $is_first = false; |
@@ -5751,8 +6077,9 @@ discard block |
||
| 5751 | 6077 | |
| 5752 | 6078 | if ($deco_len > 0) |
| 5753 | 6079 | { |
| 5754 | - for ($i = $deco_len; $i > $idx; $i--) |
|
| 5755 | - $decoded[$i] = $decoded[($i - 1)]; |
|
| 6080 | + for ($i = $deco_len; $i > $idx; $i--) { |
|
| 6081 | + $decoded[$i] = $decoded[($i - 1)]; |
|
| 6082 | + } |
|
| 5756 | 6083 | } |
| 5757 | 6084 | $decoded[$idx++] = $char; |
| 5758 | 6085 | } |
@@ -5760,24 +6087,29 @@ discard block |
||
| 5760 | 6087 | foreach ($decoded as $k => $v) |
| 5761 | 6088 | { |
| 5762 | 6089 | // 7bit are transferred literally |
| 5763 | - if ($v < 128) |
|
| 5764 | - $output .= chr($v); |
|
| 6090 | + if ($v < 128) { |
|
| 6091 | + $output .= chr($v); |
|
| 6092 | + } |
|
| 5765 | 6093 | |
| 5766 | 6094 | // 2 bytes |
| 5767 | - elseif ($v < (1 << 11)) |
|
| 5768 | - $output .= chr(192+($v >> 6)) . chr(128+($v & 63)); |
|
| 6095 | + elseif ($v < (1 << 11)) { |
|
| 6096 | + $output .= chr(192+($v >> 6)) . chr(128+($v & 63)); |
|
| 6097 | + } |
|
| 5769 | 6098 | |
| 5770 | 6099 | // 3 bytes |
| 5771 | - elseif ($v < (1 << 16)) |
|
| 5772 | - $output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
| 6100 | + elseif ($v < (1 << 16)) { |
|
| 6101 | + $output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
| 6102 | + } |
|
| 5773 | 6103 | |
| 5774 | 6104 | // 4 bytes |
| 5775 | - elseif ($v < (1 << 21)) |
|
| 5776 | - $output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
| 6105 | + elseif ($v < (1 << 21)) { |
|
| 6106 | + $output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
| 6107 | + } |
|
| 5777 | 6108 | |
| 5778 | 6109 | // 'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k |
| 5779 | - else |
|
| 5780 | - $output .= $safe_char; |
|
| 6110 | + else { |
|
| 6111 | + $output .= $safe_char; |
|
| 6112 | + } |
|
| 5781 | 6113 | } |
| 5782 | 6114 | |
| 5783 | 6115 | $output_parts[] = $output; |
@@ -5870,8 +6202,7 @@ discard block |
||
| 5870 | 6202 | |
| 5871 | 6203 | $strlen = 'mb_strlen'; |
| 5872 | 6204 | $substr = 'mb_substr'; |
| 5873 | - } |
|
| 5874 | - else |
|
| 6205 | + } else |
|
| 5875 | 6206 | { |
| 5876 | 6207 | $strlen = $smcFunc['strlen']; |
| 5877 | 6208 | $substr = $smcFunc['substr']; |
@@ -5885,20 +6216,21 @@ discard block |
||
| 5885 | 6216 | |
| 5886 | 6217 | $first = $substr($string, 0, 1); |
| 5887 | 6218 | |
| 5888 | - if (empty($index[$first])) |
|
| 5889 | - $index[$first] = array(); |
|
| 6219 | + if (empty($index[$first])) { |
|
| 6220 | + $index[$first] = array(); |
|
| 6221 | + } |
|
| 5890 | 6222 | |
| 5891 | 6223 | if ($strlen($string) > 1) |
| 5892 | 6224 | { |
| 5893 | 6225 | // Sanity check on recursion |
| 5894 | - if ($depth > 99) |
|
| 5895 | - $index[$first][$substr($string, 1)] = ''; |
|
| 5896 | - |
|
| 5897 | - else |
|
| 5898 | - $index[$first] = $add_string_to_index($substr($string, 1), $index[$first]); |
|
| 6226 | + if ($depth > 99) { |
|
| 6227 | + $index[$first][$substr($string, 1)] = ''; |
|
| 6228 | + } else { |
|
| 6229 | + $index[$first] = $add_string_to_index($substr($string, 1), $index[$first]); |
|
| 6230 | + } |
|
| 6231 | + } else { |
|
| 6232 | + $index[$first][''] = ''; |
|
| 5899 | 6233 | } |
| 5900 | - else |
|
| 5901 | - $index[$first][''] = ''; |
|
| 5902 | 6234 | |
| 5903 | 6235 | $depth--; |
| 5904 | 6236 | return $index; |
@@ -5921,9 +6253,9 @@ discard block |
||
| 5921 | 6253 | $key_regex = preg_quote($key, $delim); |
| 5922 | 6254 | $new_key = $key; |
| 5923 | 6255 | |
| 5924 | - if (empty($value)) |
|
| 5925 | - $sub_regex = ''; |
|
| 5926 | - else |
|
| 6256 | + if (empty($value)) { |
|
| 6257 | + $sub_regex = ''; |
|
| 6258 | + } else |
|
| 5927 | 6259 | { |
| 5928 | 6260 | $sub_regex = $index_to_regex($value, $delim); |
| 5929 | 6261 | |
@@ -5931,22 +6263,22 @@ discard block |
||
| 5931 | 6263 | { |
| 5932 | 6264 | $new_key_array = explode('(?'.'>', $sub_regex); |
| 5933 | 6265 | $new_key .= $new_key_array[0]; |
| 6266 | + } else { |
|
| 6267 | + $sub_regex = '(?'.'>' . $sub_regex . ')'; |
|
| 5934 | 6268 | } |
| 5935 | - else |
|
| 5936 | - $sub_regex = '(?'.'>' . $sub_regex . ')'; |
|
| 5937 | 6269 | } |
| 5938 | 6270 | |
| 5939 | - if ($depth > 1) |
|
| 5940 | - $regex[$new_key] = $key_regex . $sub_regex; |
|
| 5941 | - else |
|
| 6271 | + if ($depth > 1) { |
|
| 6272 | + $regex[$new_key] = $key_regex . $sub_regex; |
|
| 6273 | + } else |
|
| 5942 | 6274 | { |
| 5943 | 6275 | if (($length += strlen($key_regex) + 1) < $max_length || empty($regex)) |
| 5944 | 6276 | { |
| 5945 | 6277 | $regex[$new_key] = $key_regex . $sub_regex; |
| 5946 | 6278 | unset($index[$key]); |
| 6279 | + } else { |
|
| 6280 | + break; |
|
| 5947 | 6281 | } |
| 5948 | - else |
|
| 5949 | - break; |
|
| 5950 | 6282 | } |
| 5951 | 6283 | } |
| 5952 | 6284 | |
@@ -5955,10 +6287,11 @@ discard block |
||
| 5955 | 6287 | $l1 = $strlen($k1); |
| 5956 | 6288 | $l2 = $strlen($k2); |
| 5957 | 6289 | |
| 5958 | - if ($l1 == $l2) |
|
| 5959 | - return strcmp($k1, $k2) > 0 ? 1 : -1; |
|
| 5960 | - else |
|
| 5961 | - return $l1 > $l2 ? -1 : 1; |
|
| 6290 | + if ($l1 == $l2) { |
|
| 6291 | + return strcmp($k1, $k2) > 0 ? 1 : -1; |
|
| 6292 | + } else { |
|
| 6293 | + return $l1 > $l2 ? -1 : 1; |
|
| 6294 | + } |
|
| 5962 | 6295 | }); |
| 5963 | 6296 | |
| 5964 | 6297 | $depth--; |
@@ -5969,21 +6302,24 @@ discard block |
||
| 5969 | 6302 | $index = array(); |
| 5970 | 6303 | $regex = ''; |
| 5971 | 6304 | |
| 5972 | - foreach ($strings as $string) |
|
| 5973 | - $index = $add_string_to_index($string, $index); |
|
| 6305 | + foreach ($strings as $string) { |
|
| 6306 | + $index = $add_string_to_index($string, $index); |
|
| 6307 | + } |
|
| 5974 | 6308 | |
| 5975 | 6309 | if ($returnArray === true) |
| 5976 | 6310 | { |
| 5977 | 6311 | $regex = array(); |
| 5978 | - while (!empty($index)) |
|
| 5979 | - $regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
| 6312 | + while (!empty($index)) { |
|
| 6313 | + $regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
| 6314 | + } |
|
| 6315 | + } else { |
|
| 6316 | + $regex = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
| 5980 | 6317 | } |
| 5981 | - else |
|
| 5982 | - $regex = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
| 5983 | 6318 | |
| 5984 | 6319 | // Restore PHP's internal character encoding to whatever it was originally |
| 5985 | - if (!empty($current_encoding)) |
|
| 5986 | - mb_internal_encoding($current_encoding); |
|
| 6320 | + if (!empty($current_encoding)) { |
|
| 6321 | + mb_internal_encoding($current_encoding); |
|
| 6322 | + } |
|
| 5987 | 6323 | |
| 5988 | 6324 | return $regex; |
| 5989 | 6325 | } |
@@ -6023,13 +6359,15 @@ discard block |
||
| 6023 | 6359 | // Need to add the trailing slash, or it puts it there & thinks there's a redirect when there isn't... |
| 6024 | 6360 | $url = str_ireplace('https://', 'http://', $url) . '/'; |
| 6025 | 6361 | $headers = @get_headers($url); |
| 6026 | - if ($headers === false) |
|
| 6027 | - return false; |
|
| 6362 | + if ($headers === false) { |
|
| 6363 | + return false; |
|
| 6364 | + } |
|
| 6028 | 6365 | |
| 6029 | 6366 | // Now to see if it came back https... |
| 6030 | 6367 | // First check for a redirect status code in first row (301, 302, 307) |
| 6031 | - if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false) |
|
| 6032 | - return false; |
|
| 6368 | + if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false) { |
|
| 6369 | + return false; |
|
| 6370 | + } |
|
| 6033 | 6371 | |
| 6034 | 6372 | // Search for the location entry to confirm https |
| 6035 | 6373 | $result = false; |
@@ -13,8 +13,9 @@ discard block |
||
| 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 | * The main entrance point for the 'Posts and topics' screen. |
@@ -98,23 +99,23 @@ discard block |
||
| 98 | 99 | { |
| 99 | 100 | $_POST['censortext'] = explode("\n", strtr($_POST['censortext'], array("\r" => ''))); |
| 100 | 101 | |
| 101 | - foreach ($_POST['censortext'] as $c) |
|
| 102 | - list ($censored_vulgar[], $censored_proper[]) = array_pad(explode('=', trim($c)), 2, ''); |
|
| 103 | - } |
|
| 104 | - elseif (isset($_POST['censor_vulgar'], $_POST['censor_proper'])) |
|
| 102 | + foreach ($_POST['censortext'] as $c) { |
|
| 103 | + list ($censored_vulgar[], $censored_proper[]) = array_pad(explode('=', trim($c)), 2, ''); |
|
| 104 | + } |
|
| 105 | + } elseif (isset($_POST['censor_vulgar'], $_POST['censor_proper'])) |
|
| 105 | 106 | { |
| 106 | 107 | if (is_array($_POST['censor_vulgar'])) |
| 107 | 108 | { |
| 108 | 109 | foreach ($_POST['censor_vulgar'] as $i => $value) |
| 109 | 110 | { |
| 110 | - if (trim(strtr($value, '*', ' ')) == '') |
|
| 111 | - unset($_POST['censor_vulgar'][$i], $_POST['censor_proper'][$i]); |
|
| 111 | + if (trim(strtr($value, '*', ' ')) == '') { |
|
| 112 | + unset($_POST['censor_vulgar'][$i], $_POST['censor_proper'][$i]); |
|
| 113 | + } |
|
| 112 | 114 | } |
| 113 | 115 | |
| 114 | 116 | $censored_vulgar = $_POST['censor_vulgar']; |
| 115 | 117 | $censored_proper = $_POST['censor_proper']; |
| 116 | - } |
|
| 117 | - else |
|
| 118 | + } else |
|
| 118 | 119 | { |
| 119 | 120 | $censored_vulgar = explode("\n", strtr($_POST['censor_vulgar'], array("\r" => ''))); |
| 120 | 121 | $censored_proper = explode("\n", strtr($_POST['censor_proper'], array("\r" => ''))); |
@@ -151,12 +152,14 @@ discard block |
||
| 151 | 152 | $context['censored_words'] = array(); |
| 152 | 153 | for ($i = 0, $n = count($censor_vulgar); $i < $n; $i++) |
| 153 | 154 | { |
| 154 | - if (empty($censor_vulgar[$i])) |
|
| 155 | - continue; |
|
| 155 | + if (empty($censor_vulgar[$i])) { |
|
| 156 | + continue; |
|
| 157 | + } |
|
| 156 | 158 | |
| 157 | 159 | // Skip it, it's either spaces or stars only. |
| 158 | - if (trim(strtr($censor_vulgar[$i], '*', ' ')) == '') |
|
| 159 | - continue; |
|
| 160 | + if (trim(strtr($censor_vulgar[$i], '*', ' ')) == '') { |
|
| 161 | + continue; |
|
| 162 | + } |
|
| 160 | 163 | |
| 161 | 164 | $context['censored_words'][$smcFunc['htmlspecialchars'](trim($censor_vulgar[$i]))] = isset($censor_proper[$i]) ? $smcFunc['htmlspecialchars']($censor_proper[$i]) : ''; |
| 162 | 165 | } |
@@ -187,10 +190,11 @@ discard block |
||
| 187 | 190 | |
| 188 | 191 | // Make an inline conditional a little shorter... |
| 189 | 192 | $can_spell_check = false; |
| 190 | - if (function_exists('pspell_new')) |
|
| 191 | - $can_spell_check = true; |
|
| 192 | - elseif (function_exists('enchant_broker_init') && ($txt['lang_charset'] == 'UTF-8' || function_exists('iconv'))) |
|
| 193 | - $can_spell_check = true; |
|
| 193 | + if (function_exists('pspell_new')) { |
|
| 194 | + $can_spell_check = true; |
|
| 195 | + } elseif (function_exists('enchant_broker_init') && ($txt['lang_charset'] == 'UTF-8' || function_exists('iconv'))) { |
|
| 196 | + $can_spell_check = true; |
|
| 197 | + } |
|
| 194 | 198 | |
| 195 | 199 | // All the settings... |
| 196 | 200 | $config_vars = array( |
@@ -221,8 +225,9 @@ discard block |
||
| 221 | 225 | |
| 222 | 226 | call_integration_hook('integrate_modify_post_settings', array(&$config_vars)); |
| 223 | 227 | |
| 224 | - if ($return_config) |
|
| 225 | - return $config_vars; |
|
| 228 | + if ($return_config) { |
|
| 229 | + return $config_vars; |
|
| 230 | + } |
|
| 226 | 231 | |
| 227 | 232 | // We'll want this for our easy save. |
| 228 | 233 | require_once($sourcedir . '/ManageServer.php'); |
@@ -242,17 +247,20 @@ discard block |
||
| 242 | 247 | db_extend('packages'); |
| 243 | 248 | |
| 244 | 249 | $colData = $smcFunc['db_list_columns']('{db_prefix}messages', true); |
| 245 | - foreach ($colData as $column) |
|
| 246 | - if ($column['name'] == 'body') |
|
| 250 | + foreach ($colData as $column) { |
|
| 251 | + if ($column['name'] == 'body') |
|
| 247 | 252 | $body_type = $column['type']; |
| 253 | + } |
|
| 248 | 254 | |
| 249 | - if (isset($body_type) && ($_POST['max_messageLength'] > 65535 || $_POST['max_messageLength'] == 0) && $body_type == 'text') |
|
| 250 | - fatal_lang_error('convert_to_mediumtext', false, array($scripturl . '?action=admin;area=maintain;sa=database')); |
|
| 255 | + if (isset($body_type) && ($_POST['max_messageLength'] > 65535 || $_POST['max_messageLength'] == 0) && $body_type == 'text') { |
|
| 256 | + fatal_lang_error('convert_to_mediumtext', false, array($scripturl . '?action=admin;area=maintain;sa=database')); |
|
| 257 | + } |
|
| 251 | 258 | } |
| 252 | 259 | |
| 253 | 260 | // If we're changing the post preview length let's check its valid |
| 254 | - if (!empty($_POST['preview_characters'])) |
|
| 255 | - $_POST['preview_characters'] = (int) min(max(0, $_POST['preview_characters']), 512); |
|
| 261 | + if (!empty($_POST['preview_characters'])) { |
|
| 262 | + $_POST['preview_characters'] = (int) min(max(0, $_POST['preview_characters']), 512); |
|
| 263 | + } |
|
| 256 | 264 | |
| 257 | 265 | call_integration_hook('integrate_save_post_settings'); |
| 258 | 266 | |
@@ -313,8 +321,9 @@ discard block |
||
| 313 | 321 | |
| 314 | 322 | call_integration_hook('integrate_modify_topic_settings', array(&$config_vars)); |
| 315 | 323 | |
| 316 | - if ($return_config) |
|
| 317 | - return $config_vars; |
|
| 324 | + if ($return_config) { |
|
| 325 | + return $config_vars; |
|
| 326 | + } |
|
| 318 | 327 | |
| 319 | 328 | // Get the settings template ready. |
| 320 | 329 | require_once($sourcedir . '/ManageServer.php'); |
@@ -367,8 +376,9 @@ discard block |
||
| 367 | 376 | array('int', 'drafts_autosave_frequency', 'postinput' => $txt['manageposts_seconds'], 'subtext' => $txt['drafts_autosave_frequency_subnote']), |
| 368 | 377 | ); |
| 369 | 378 | |
| 370 | - if ($return_config) |
|
| 371 | - return $config_vars; |
|
| 379 | + if ($return_config) { |
|
| 380 | + return $config_vars; |
|
| 381 | + } |
|
| 372 | 382 | |
| 373 | 383 | // Get the settings template ready. |
| 374 | 384 | require_once($sourcedir . '/ManageServer.php'); |
@@ -13,8 +13,9 @@ discard block |
||
| 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 | * Maps the implementations in this file (smf_db_function_name) |
@@ -33,8 +34,8 @@ discard block |
||
| 33 | 34 | global $smcFunc; |
| 34 | 35 | |
| 35 | 36 | // Map some database specific functions, only do this once. |
| 36 | - if (!isset($smcFunc['db_fetch_assoc'])) |
|
| 37 | - $smcFunc += array( |
|
| 37 | + if (!isset($smcFunc['db_fetch_assoc'])) { |
|
| 38 | + $smcFunc += array( |
|
| 38 | 39 | 'db_query' => 'smf_db_query', |
| 39 | 40 | 'db_quote' => 'smf_db_quote', |
| 40 | 41 | 'db_fetch_assoc' => 'mysqli_fetch_assoc', |
@@ -61,9 +62,11 @@ discard block |
||
| 61 | 62 | 'db_ping' => 'mysqli_ping', |
| 62 | 63 | 'db_fetch_all' => 'smf_db_fetch_all', |
| 63 | 64 | ); |
| 65 | + } |
|
| 64 | 66 | |
| 65 | - if (!empty($db_options['persist'])) |
|
| 66 | - $db_server = 'p:' . $db_server; |
|
| 67 | + if (!empty($db_options['persist'])) { |
|
| 68 | + $db_server = 'p:' . $db_server; |
|
| 69 | + } |
|
| 67 | 70 | |
| 68 | 71 | $connection = mysqli_init(); |
| 69 | 72 | |
@@ -72,24 +75,27 @@ discard block |
||
| 72 | 75 | $success = false; |
| 73 | 76 | |
| 74 | 77 | if ($connection) { |
| 75 | - if (!empty($db_options['port'])) |
|
| 76 | - $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', $db_options['port'], null, $flags); |
|
| 77 | - else |
|
| 78 | - $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', 0, null, $flags); |
|
| 78 | + if (!empty($db_options['port'])) { |
|
| 79 | + $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', $db_options['port'], null, $flags); |
|
| 80 | + } else { |
|
| 81 | + $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', 0, null, $flags); |
|
| 82 | + } |
|
| 79 | 83 | } |
| 80 | 84 | |
| 81 | 85 | // Something's wrong, show an error if its fatal (which we assume it is) |
| 82 | 86 | if ($success === false) |
| 83 | 87 | { |
| 84 | - if (!empty($db_options['non_fatal'])) |
|
| 85 | - return null; |
|
| 86 | - else |
|
| 87 | - display_db_error(); |
|
| 88 | + if (!empty($db_options['non_fatal'])) { |
|
| 89 | + return null; |
|
| 90 | + } else { |
|
| 91 | + display_db_error(); |
|
| 92 | + } |
|
| 88 | 93 | } |
| 89 | 94 | |
| 90 | 95 | // Select the database, unless told not to |
| 91 | - if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal'])) |
|
| 92 | - display_db_error(); |
|
| 96 | + if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal'])) { |
|
| 97 | + display_db_error(); |
|
| 98 | + } |
|
| 93 | 99 | |
| 94 | 100 | $smcFunc['db_query']('', 'SET SESSION sql_mode = \'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\'', |
| 95 | 101 | array(), |
@@ -165,34 +171,42 @@ discard block |
||
| 165 | 171 | global $db_callback, $user_info, $db_prefix, $smcFunc; |
| 166 | 172 | |
| 167 | 173 | list ($values, $connection) = $db_callback; |
| 168 | - if (!is_object($connection)) |
|
| 169 | - display_db_error(); |
|
| 174 | + if (!is_object($connection)) { |
|
| 175 | + display_db_error(); |
|
| 176 | + } |
|
| 170 | 177 | |
| 171 | - if ($matches[1] === 'db_prefix') |
|
| 172 | - return $db_prefix; |
|
| 178 | + if ($matches[1] === 'db_prefix') { |
|
| 179 | + return $db_prefix; |
|
| 180 | + } |
|
| 173 | 181 | |
| 174 | - if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) |
|
| 175 | - return $user_info[$matches[1]]; |
|
| 182 | + if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) { |
|
| 183 | + return $user_info[$matches[1]]; |
|
| 184 | + } |
|
| 176 | 185 | |
| 177 | - if ($matches[1] === 'empty') |
|
| 178 | - return '\'\''; |
|
| 186 | + if ($matches[1] === 'empty') { |
|
| 187 | + return '\'\''; |
|
| 188 | + } |
|
| 179 | 189 | |
| 180 | - if (!isset($matches[2])) |
|
| 181 | - smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 190 | + if (!isset($matches[2])) { |
|
| 191 | + smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 192 | + } |
|
| 182 | 193 | |
| 183 | - if ($matches[1] === 'literal') |
|
| 184 | - return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\''; |
|
| 194 | + if ($matches[1] === 'literal') { |
|
| 195 | + return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\''; |
|
| 196 | + } |
|
| 185 | 197 | |
| 186 | - if (!isset($values[$matches[2]])) |
|
| 187 | - smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 198 | + if (!isset($values[$matches[2]])) { |
|
| 199 | + smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 200 | + } |
|
| 188 | 201 | |
| 189 | 202 | $replacement = $values[$matches[2]]; |
| 190 | 203 | |
| 191 | 204 | switch ($matches[1]) |
| 192 | 205 | { |
| 193 | 206 | case 'int': |
| 194 | - if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) |
|
| 195 | - smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 207 | + if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) { |
|
| 208 | + smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 209 | + } |
|
| 196 | 210 | return (string) (int) $replacement; |
| 197 | 211 | break; |
| 198 | 212 | |
@@ -204,65 +218,73 @@ discard block |
||
| 204 | 218 | case 'array_int': |
| 205 | 219 | if (is_array($replacement)) |
| 206 | 220 | { |
| 207 | - if (empty($replacement)) |
|
| 208 | - smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 221 | + if (empty($replacement)) { |
|
| 222 | + smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 223 | + } |
|
| 209 | 224 | |
| 210 | 225 | foreach ($replacement as $key => $value) |
| 211 | 226 | { |
| 212 | - if (!is_numeric($value) || (string) $value !== (string) (int) $value) |
|
| 213 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 227 | + if (!is_numeric($value) || (string) $value !== (string) (int) $value) { |
|
| 228 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 229 | + } |
|
| 214 | 230 | |
| 215 | 231 | $replacement[$key] = (string) (int) $value; |
| 216 | 232 | } |
| 217 | 233 | |
| 218 | 234 | return implode(', ', $replacement); |
| 235 | + } else { |
|
| 236 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 219 | 237 | } |
| 220 | - else |
|
| 221 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 222 | 238 | |
| 223 | 239 | break; |
| 224 | 240 | |
| 225 | 241 | case 'array_string': |
| 226 | 242 | if (is_array($replacement)) |
| 227 | 243 | { |
| 228 | - if (empty($replacement)) |
|
| 229 | - smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 244 | + if (empty($replacement)) { |
|
| 245 | + smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 246 | + } |
|
| 230 | 247 | |
| 231 | - foreach ($replacement as $key => $value) |
|
| 232 | - $replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value)); |
|
| 248 | + foreach ($replacement as $key => $value) { |
|
| 249 | + $replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value)); |
|
| 250 | + } |
|
| 233 | 251 | |
| 234 | 252 | return implode(', ', $replacement); |
| 253 | + } else { |
|
| 254 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 235 | 255 | } |
| 236 | - else |
|
| 237 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 238 | 256 | break; |
| 239 | 257 | |
| 240 | 258 | case 'date': |
| 241 | - if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) |
|
| 242 | - return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]); |
|
| 243 | - else |
|
| 244 | - smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 259 | + if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) { |
|
| 260 | + return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]); |
|
| 261 | + } else { |
|
| 262 | + smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 263 | + } |
|
| 245 | 264 | break; |
| 246 | 265 | |
| 247 | 266 | case 'time': |
| 248 | - if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) |
|
| 249 | - return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]); |
|
| 250 | - else |
|
| 251 | - smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 267 | + if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) { |
|
| 268 | + return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]); |
|
| 269 | + } else { |
|
| 270 | + smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 271 | + } |
|
| 252 | 272 | break; |
| 253 | 273 | |
| 254 | 274 | case 'datetime': |
| 255 | - if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) |
|
| 256 | - return 'str_to_date('. |
|
| 275 | + if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) { |
|
| 276 | + return 'str_to_date('. |
|
| 257 | 277 | sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5] ,$datetime_matches[6]). |
| 258 | 278 | ',\'%Y-%m-%d %h:%i:%s\')'; |
| 259 | - else |
|
| 260 | - smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 279 | + } else { |
|
| 280 | + smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 281 | + } |
|
| 261 | 282 | break; |
| 262 | 283 | |
| 263 | 284 | case 'float': |
| 264 | - if (!is_numeric($replacement)) |
|
| 265 | - smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 285 | + if (!is_numeric($replacement)) { |
|
| 286 | + smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 287 | + } |
|
| 266 | 288 | return (string) (float) $replacement; |
| 267 | 289 | break; |
| 268 | 290 | |
@@ -276,32 +298,37 @@ discard block |
||
| 276 | 298 | break; |
| 277 | 299 | |
| 278 | 300 | case 'inet': |
| 279 | - if ($replacement == 'null' || $replacement == '') |
|
| 280 | - return 'null'; |
|
| 281 | - if (!isValidIP($replacement)) |
|
| 282 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 301 | + if ($replacement == 'null' || $replacement == '') { |
|
| 302 | + return 'null'; |
|
| 303 | + } |
|
| 304 | + if (!isValidIP($replacement)) { |
|
| 305 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 306 | + } |
|
| 283 | 307 | //we don't use the native support of mysql > 5.6.2 |
| 284 | 308 | return sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($replacement))); |
| 285 | 309 | |
| 286 | 310 | case 'array_inet': |
| 287 | 311 | if (is_array($replacement)) |
| 288 | 312 | { |
| 289 | - if (empty($replacement)) |
|
| 290 | - smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 313 | + if (empty($replacement)) { |
|
| 314 | + smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 315 | + } |
|
| 291 | 316 | |
| 292 | 317 | foreach ($replacement as $key => $value) |
| 293 | 318 | { |
| 294 | - if ($replacement == 'null' || $replacement == '') |
|
| 295 | - $replacement[$key] = 'null'; |
|
| 296 | - if (!isValidIP($value)) |
|
| 297 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 319 | + if ($replacement == 'null' || $replacement == '') { |
|
| 320 | + $replacement[$key] = 'null'; |
|
| 321 | + } |
|
| 322 | + if (!isValidIP($value)) { |
|
| 323 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 324 | + } |
|
| 298 | 325 | $replacement[$key] = sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($value))); |
| 299 | 326 | } |
| 300 | 327 | |
| 301 | 328 | return implode(', ', $replacement); |
| 329 | + } else { |
|
| 330 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 302 | 331 | } |
| 303 | - else |
|
| 304 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
| 305 | 332 | break; |
| 306 | 333 | |
| 307 | 334 | default: |
@@ -377,22 +404,25 @@ discard block |
||
| 377 | 404 | // Are we in SSI mode? If so try that username and password first |
| 378 | 405 | if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd)) |
| 379 | 406 | { |
| 380 | - if (empty($db_persist)) |
|
| 381 | - $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 382 | - else |
|
| 383 | - $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 407 | + if (empty($db_persist)) { |
|
| 408 | + $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 409 | + } else { |
|
| 410 | + $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 411 | + } |
|
| 384 | 412 | } |
| 385 | 413 | // Fall back to the regular username and password if need be |
| 386 | 414 | if (!$db_connection) |
| 387 | 415 | { |
| 388 | - if (empty($db_persist)) |
|
| 389 | - $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
| 390 | - else |
|
| 391 | - $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
| 416 | + if (empty($db_persist)) { |
|
| 417 | + $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
| 418 | + } else { |
|
| 419 | + $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
| 420 | + } |
|
| 392 | 421 | } |
| 393 | 422 | |
| 394 | - if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) |
|
| 395 | - $db_connection = false; |
|
| 423 | + if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) { |
|
| 424 | + $db_connection = false; |
|
| 425 | + } |
|
| 396 | 426 | |
| 397 | 427 | $connection = $db_connection; |
| 398 | 428 | } |
@@ -400,18 +430,20 @@ discard block |
||
| 400 | 430 | // One more query.... |
| 401 | 431 | $db_count = !isset($db_count) ? 1 : $db_count + 1; |
| 402 | 432 | |
| 403 | - if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) |
|
| 404 | - smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
| 433 | + if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) { |
|
| 434 | + smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
| 435 | + } |
|
| 405 | 436 | |
| 406 | 437 | // Use "ORDER BY null" to prevent Mysql doing filesorts for Group By clauses without an Order By |
| 407 | 438 | if (strpos($db_string, 'GROUP BY') !== false && strpos($db_string, 'ORDER BY') === false && preg_match('~^\s+SELECT~i', $db_string)) |
| 408 | 439 | { |
| 409 | 440 | // Add before LIMIT |
| 410 | - if ($pos = strpos($db_string, 'LIMIT ')) |
|
| 411 | - $db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string)); |
|
| 412 | - else |
|
| 413 | - // Append it. |
|
| 441 | + if ($pos = strpos($db_string, 'LIMIT ')) { |
|
| 442 | + $db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string)); |
|
| 443 | + } else { |
|
| 444 | + // Append it. |
|
| 414 | 445 | $db_string .= "\n\t\t\tORDER BY null"; |
| 446 | + } |
|
| 415 | 447 | } |
| 416 | 448 | |
| 417 | 449 | if (empty($db_values['security_override']) && (!empty($db_values) || strpos($db_string, '{db_prefix}') !== false)) |
@@ -433,8 +465,9 @@ discard block |
||
| 433 | 465 | list ($file, $line) = smf_db_error_backtrace('', '', 'return', __FILE__, __LINE__); |
| 434 | 466 | |
| 435 | 467 | // Initialize $db_cache if not already initialized. |
| 436 | - if (!isset($db_cache)) |
|
| 437 | - $db_cache = array(); |
|
| 468 | + if (!isset($db_cache)) { |
|
| 469 | + $db_cache = array(); |
|
| 470 | + } |
|
| 438 | 471 | |
| 439 | 472 | if (!empty($_SESSION['debug_redirect'])) |
| 440 | 473 | { |
@@ -460,17 +493,18 @@ discard block |
||
| 460 | 493 | while (true) |
| 461 | 494 | { |
| 462 | 495 | $pos = strpos($db_string, '\'', $pos + 1); |
| 463 | - if ($pos === false) |
|
| 464 | - break; |
|
| 496 | + if ($pos === false) { |
|
| 497 | + break; |
|
| 498 | + } |
|
| 465 | 499 | $clean .= substr($db_string, $old_pos, $pos - $old_pos); |
| 466 | 500 | |
| 467 | 501 | while (true) |
| 468 | 502 | { |
| 469 | 503 | $pos1 = strpos($db_string, '\'', $pos + 1); |
| 470 | 504 | $pos2 = strpos($db_string, '\\', $pos + 1); |
| 471 | - if ($pos1 === false) |
|
| 472 | - break; |
|
| 473 | - elseif ($pos2 === false || $pos2 > $pos1) |
|
| 505 | + if ($pos1 === false) { |
|
| 506 | + break; |
|
| 507 | + } elseif ($pos2 === false || $pos2 > $pos1) |
|
| 474 | 508 | { |
| 475 | 509 | $pos = $pos1; |
| 476 | 510 | break; |
@@ -486,29 +520,35 @@ discard block |
||
| 486 | 520 | $clean = trim(strtolower(preg_replace($allowed_comments_from, $allowed_comments_to, $clean))); |
| 487 | 521 | |
| 488 | 522 | // Comments? We don't use comments in our queries, we leave 'em outside! |
| 489 | - if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) |
|
| 490 | - $fail = true; |
|
| 523 | + if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) { |
|
| 524 | + $fail = true; |
|
| 525 | + } |
|
| 491 | 526 | // Trying to change passwords, slow us down, or something? |
| 492 | - elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) |
|
| 493 | - $fail = true; |
|
| 494 | - elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) |
|
| 495 | - $fail = true; |
|
| 527 | + elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) { |
|
| 528 | + $fail = true; |
|
| 529 | + } elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) { |
|
| 530 | + $fail = true; |
|
| 531 | + } |
|
| 496 | 532 | |
| 497 | - if (!empty($fail) && function_exists('log_error')) |
|
| 498 | - smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
| 533 | + if (!empty($fail) && function_exists('log_error')) { |
|
| 534 | + smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
| 535 | + } |
|
| 499 | 536 | } |
| 500 | 537 | |
| 501 | - if (empty($db_unbuffered)) |
|
| 502 | - $ret = @mysqli_query($connection, $db_string); |
|
| 503 | - else |
|
| 504 | - $ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT); |
|
| 538 | + if (empty($db_unbuffered)) { |
|
| 539 | + $ret = @mysqli_query($connection, $db_string); |
|
| 540 | + } else { |
|
| 541 | + $ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT); |
|
| 542 | + } |
|
| 505 | 543 | |
| 506 | - if ($ret === false && empty($db_values['db_error_skip'])) |
|
| 507 | - $ret = smf_db_error($db_string, $connection); |
|
| 544 | + if ($ret === false && empty($db_values['db_error_skip'])) { |
|
| 545 | + $ret = smf_db_error($db_string, $connection); |
|
| 546 | + } |
|
| 508 | 547 | |
| 509 | 548 | // Debugging. |
| 510 | - if (isset($db_show_debug) && $db_show_debug === true) |
|
| 511 | - $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
| 549 | + if (isset($db_show_debug) && $db_show_debug === true) { |
|
| 550 | + $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
| 551 | + } |
|
| 512 | 552 | |
| 513 | 553 | return $ret; |
| 514 | 554 | } |
@@ -555,12 +595,13 @@ discard block |
||
| 555 | 595 | // Decide which connection to use |
| 556 | 596 | $connection = $connection === null ? $db_connection : $connection; |
| 557 | 597 | |
| 558 | - if ($type == 'begin') |
|
| 559 | - return @mysqli_query($connection, 'BEGIN'); |
|
| 560 | - elseif ($type == 'rollback') |
|
| 561 | - return @mysqli_query($connection, 'ROLLBACK'); |
|
| 562 | - elseif ($type == 'commit') |
|
| 563 | - return @mysqli_query($connection, 'COMMIT'); |
|
| 598 | + if ($type == 'begin') { |
|
| 599 | + return @mysqli_query($connection, 'BEGIN'); |
|
| 600 | + } elseif ($type == 'rollback') { |
|
| 601 | + return @mysqli_query($connection, 'ROLLBACK'); |
|
| 602 | + } elseif ($type == 'commit') { |
|
| 603 | + return @mysqli_query($connection, 'COMMIT'); |
|
| 604 | + } |
|
| 564 | 605 | |
| 565 | 606 | return false; |
| 566 | 607 | } |
@@ -600,8 +641,9 @@ discard block |
||
| 600 | 641 | // 2013: Lost connection to server during query. |
| 601 | 642 | |
| 602 | 643 | // Log the error. |
| 603 | - if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error')) |
|
| 604 | - log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line); |
|
| 644 | + if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error')) { |
|
| 645 | + log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line); |
|
| 646 | + } |
|
| 605 | 647 | |
| 606 | 648 | // Database error auto fixing ;). |
| 607 | 649 | if (function_exists('cache_get_data') && (!isset($modSettings['autoFixDatabase']) || $modSettings['autoFixDatabase'] == '1')) |
@@ -610,8 +652,9 @@ discard block |
||
| 610 | 652 | $old_cache = @$modSettings['cache_enable']; |
| 611 | 653 | $modSettings['cache_enable'] = '1'; |
| 612 | 654 | |
| 613 | - if (($temp = cache_get_data('db_last_error', 600)) !== null) |
|
| 614 | - $db_last_error = max(@$db_last_error, $temp); |
|
| 655 | + if (($temp = cache_get_data('db_last_error', 600)) !== null) { |
|
| 656 | + $db_last_error = max(@$db_last_error, $temp); |
|
| 657 | + } |
|
| 615 | 658 | |
| 616 | 659 | if (@$db_last_error < time() - 3600 * 24 * 3) |
| 617 | 660 | { |
@@ -627,8 +670,9 @@ discard block |
||
| 627 | 670 | foreach ($tables as $table) |
| 628 | 671 | { |
| 629 | 672 | // Now, it's still theoretically possible this could be an injection. So backtick it! |
| 630 | - if (trim($table) != '') |
|
| 631 | - $fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`'; |
|
| 673 | + if (trim($table) != '') { |
|
| 674 | + $fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`'; |
|
| 675 | + } |
|
| 632 | 676 | } |
| 633 | 677 | } |
| 634 | 678 | |
@@ -637,8 +681,9 @@ discard block |
||
| 637 | 681 | // Table crashed. Let's try to fix it. |
| 638 | 682 | elseif ($query_errno == 1016) |
| 639 | 683 | { |
| 640 | - if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0) |
|
| 641 | - $fix_tables = array('`' . $match[1] . '`'); |
|
| 684 | + if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0) { |
|
| 685 | + $fix_tables = array('`' . $match[1] . '`'); |
|
| 686 | + } |
|
| 642 | 687 | } |
| 643 | 688 | // Indexes crashed. Should be easy to fix! |
| 644 | 689 | elseif ($query_errno == 1034 || $query_errno == 1035) |
@@ -657,13 +702,15 @@ discard block |
||
| 657 | 702 | |
| 658 | 703 | // Make a note of the REPAIR... |
| 659 | 704 | cache_put_data('db_last_error', time(), 600); |
| 660 | - if (($temp = cache_get_data('db_last_error', 600)) === null) |
|
| 661 | - updateSettingsFile(array('db_last_error' => time())); |
|
| 705 | + if (($temp = cache_get_data('db_last_error', 600)) === null) { |
|
| 706 | + updateSettingsFile(array('db_last_error' => time())); |
|
| 707 | + } |
|
| 662 | 708 | |
| 663 | 709 | // Attempt to find and repair the broken table. |
| 664 | - foreach ($fix_tables as $table) |
|
| 665 | - $smcFunc['db_query']('', " |
|
| 710 | + foreach ($fix_tables as $table) { |
|
| 711 | + $smcFunc['db_query']('', " |
|
| 666 | 712 | REPAIR TABLE $table", false, false); |
| 713 | + } |
|
| 667 | 714 | |
| 668 | 715 | // And send off an email! |
| 669 | 716 | sendmail($webmaster_email, $txt['database_error'], $txt['tried_to_repair'], null, 'dberror'); |
@@ -672,11 +719,12 @@ discard block |
||
| 672 | 719 | |
| 673 | 720 | // Try the query again...? |
| 674 | 721 | $ret = $smcFunc['db_query']('', $db_string, false, false); |
| 675 | - if ($ret !== false) |
|
| 676 | - return $ret; |
|
| 722 | + if ($ret !== false) { |
|
| 723 | + return $ret; |
|
| 724 | + } |
|
| 725 | + } else { |
|
| 726 | + $modSettings['cache_enable'] = $old_cache; |
|
| 677 | 727 | } |
| 678 | - else |
|
| 679 | - $modSettings['cache_enable'] = $old_cache; |
|
| 680 | 728 | |
| 681 | 729 | // Check for the "lost connection" or "deadlock found" errors - and try it just one more time. |
| 682 | 730 | if (in_array($query_errno, array(1205, 1213, 2006, 2013))) |
@@ -686,22 +734,25 @@ discard block |
||
| 686 | 734 | // Are we in SSI mode? If so try that username and password first |
| 687 | 735 | if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd)) |
| 688 | 736 | { |
| 689 | - if (empty($db_persist)) |
|
| 690 | - $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 691 | - else |
|
| 692 | - $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 737 | + if (empty($db_persist)) { |
|
| 738 | + $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 739 | + } else { |
|
| 740 | + $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
| 741 | + } |
|
| 693 | 742 | } |
| 694 | 743 | // Fall back to the regular username and password if need be |
| 695 | 744 | if (!$db_connection) |
| 696 | 745 | { |
| 697 | - if (empty($db_persist)) |
|
| 698 | - $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
| 699 | - else |
|
| 700 | - $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
| 746 | + if (empty($db_persist)) { |
|
| 747 | + $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
| 748 | + } else { |
|
| 749 | + $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
| 750 | + } |
|
| 701 | 751 | } |
| 702 | 752 | |
| 703 | - if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) |
|
| 704 | - $db_connection = false; |
|
| 753 | + if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) { |
|
| 754 | + $db_connection = false; |
|
| 755 | + } |
|
| 705 | 756 | } |
| 706 | 757 | |
| 707 | 758 | if ($db_connection) |
@@ -712,24 +763,27 @@ discard block |
||
| 712 | 763 | $ret = $smcFunc['db_query']('', $db_string, false, false); |
| 713 | 764 | |
| 714 | 765 | $new_errno = mysqli_errno($db_connection); |
| 715 | - if ($ret !== false || in_array($new_errno, array(1205, 1213))) |
|
| 716 | - break; |
|
| 766 | + if ($ret !== false || in_array($new_errno, array(1205, 1213))) { |
|
| 767 | + break; |
|
| 768 | + } |
|
| 717 | 769 | } |
| 718 | 770 | |
| 719 | 771 | // If it failed again, shucks to be you... we're not trying it over and over. |
| 720 | - if ($ret !== false) |
|
| 721 | - return $ret; |
|
| 772 | + if ($ret !== false) { |
|
| 773 | + return $ret; |
|
| 774 | + } |
|
| 722 | 775 | } |
| 723 | 776 | } |
| 724 | 777 | // Are they out of space, perhaps? |
| 725 | 778 | elseif ($query_errno == 1030 && (strpos($query_error, ' -1 ') !== false || strpos($query_error, ' 28 ') !== false || strpos($query_error, ' 12 ') !== false)) |
| 726 | 779 | { |
| 727 | - if (!isset($txt)) |
|
| 728 | - $query_error .= ' - check database storage space.'; |
|
| 729 | - else |
|
| 780 | + if (!isset($txt)) { |
|
| 781 | + $query_error .= ' - check database storage space.'; |
|
| 782 | + } else |
|
| 730 | 783 | { |
| 731 | - if (!isset($txt['mysql_error_space'])) |
|
| 732 | - loadLanguage('Errors'); |
|
| 784 | + if (!isset($txt['mysql_error_space'])) { |
|
| 785 | + loadLanguage('Errors'); |
|
| 786 | + } |
|
| 733 | 787 | |
| 734 | 788 | $query_error .= !isset($txt['mysql_error_space']) ? ' - check database storage space.' : $txt['mysql_error_space']; |
| 735 | 789 | } |
@@ -737,15 +791,17 @@ discard block |
||
| 737 | 791 | } |
| 738 | 792 | |
| 739 | 793 | // Nothing's defined yet... just die with it. |
| 740 | - if (empty($context) || empty($txt)) |
|
| 741 | - die($query_error); |
|
| 794 | + if (empty($context) || empty($txt)) { |
|
| 795 | + die($query_error); |
|
| 796 | + } |
|
| 742 | 797 | |
| 743 | 798 | // Show an error message, if possible. |
| 744 | 799 | $context['error_title'] = $txt['database_error']; |
| 745 | - if (allowedTo('admin_forum')) |
|
| 746 | - $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
| 747 | - else |
|
| 748 | - $context['error_message'] = $txt['try_again']; |
|
| 800 | + if (allowedTo('admin_forum')) { |
|
| 801 | + $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
| 802 | + } else { |
|
| 803 | + $context['error_message'] = $txt['try_again']; |
|
| 804 | + } |
|
| 749 | 805 | |
| 750 | 806 | if (allowedTo('admin_forum') && isset($db_show_debug) && $db_show_debug === true) |
| 751 | 807 | { |
@@ -777,8 +833,9 @@ discard block |
||
| 777 | 833 | $return_var = null; |
| 778 | 834 | |
| 779 | 835 | // With nothing to insert, simply return. |
| 780 | - if (empty($data)) |
|
| 781 | - return; |
|
| 836 | + if (empty($data)) { |
|
| 837 | + return; |
|
| 838 | + } |
|
| 782 | 839 | |
| 783 | 840 | // Replace the prefix holder with the actual prefix. |
| 784 | 841 | $table = str_replace('{db_prefix}', $db_prefix, $table); |
@@ -788,23 +845,26 @@ discard block |
||
| 788 | 845 | if (!empty($keys) && (count($keys) > 0) && $returnmode > 0) |
| 789 | 846 | { |
| 790 | 847 | $with_returning = true; |
| 791 | - if ($returnmode == 2) |
|
| 792 | - $return_var = array(); |
|
| 848 | + if ($returnmode == 2) { |
|
| 849 | + $return_var = array(); |
|
| 850 | + } |
|
| 793 | 851 | } |
| 794 | 852 | |
| 795 | 853 | // Inserting data as a single row can be done as a single array. |
| 796 | - if (!is_array($data[array_rand($data)])) |
|
| 797 | - $data = array($data); |
|
| 854 | + if (!is_array($data[array_rand($data)])) { |
|
| 855 | + $data = array($data); |
|
| 856 | + } |
|
| 798 | 857 | |
| 799 | 858 | // Create the mold for a single row insert. |
| 800 | 859 | $insertData = '('; |
| 801 | 860 | foreach ($columns as $columnName => $type) |
| 802 | 861 | { |
| 803 | 862 | // Are we restricting the length? |
| 804 | - if (strpos($type, 'string-') !== false) |
|
| 805 | - $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
| 806 | - else |
|
| 807 | - $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
| 863 | + if (strpos($type, 'string-') !== false) { |
|
| 864 | + $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
| 865 | + } else { |
|
| 866 | + $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
| 867 | + } |
|
| 808 | 868 | } |
| 809 | 869 | $insertData = substr($insertData, 0, -2) . ')'; |
| 810 | 870 | |
@@ -813,8 +873,9 @@ discard block |
||
| 813 | 873 | |
| 814 | 874 | // Here's where the variables are injected to the query. |
| 815 | 875 | $insertRows = array(); |
| 816 | - foreach ($data as $dataRow) |
|
| 817 | - $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
| 876 | + foreach ($data as $dataRow) { |
|
| 877 | + $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
| 878 | + } |
|
| 818 | 879 | |
| 819 | 880 | // Determine the method of insertion. |
| 820 | 881 | $queryTitle = $method == 'replace' ? 'REPLACE' : ($method == 'ignore' ? 'INSERT IGNORE' : 'INSERT'); |
@@ -833,8 +894,7 @@ discard block |
||
| 833 | 894 | ), |
| 834 | 895 | $connection |
| 835 | 896 | ); |
| 836 | - } |
|
| 837 | - else //special way for ignore method with returning |
|
| 897 | + } else //special way for ignore method with returning |
|
| 838 | 898 | { |
| 839 | 899 | $count = count($insertRows); |
| 840 | 900 | $ai = 0; |
@@ -854,19 +914,21 @@ discard block |
||
| 854 | 914 | ); |
| 855 | 915 | $new_id = $smcFunc['db_insert_id'](); |
| 856 | 916 | |
| 857 | - if ($last_id != $new_id) //the inserted value was new |
|
| 917 | + if ($last_id != $new_id) { |
|
| 918 | + //the inserted value was new |
|
| 858 | 919 | { |
| 859 | 920 | $ai = $new_id; |
| 860 | 921 | } |
| 861 | - else // the inserted value already exists we need to find the pk |
|
| 922 | + } else // the inserted value already exists we need to find the pk |
|
| 862 | 923 | { |
| 863 | 924 | $where_string = ''; |
| 864 | 925 | $count2 = count($indexed_columns); |
| 865 | 926 | for ($x = 0; $x < $count2; $x++) |
| 866 | 927 | { |
| 867 | 928 | $where_string += key($indexed_columns[$x]) . ' = '. $insertRows[$i][$x]; |
| 868 | - if (($x + 1) < $count2) |
|
| 869 | - $where_string += ' AND '; |
|
| 929 | + if (($x + 1) < $count2) { |
|
| 930 | + $where_string += ' AND '; |
|
| 931 | + } |
|
| 870 | 932 | } |
| 871 | 933 | |
| 872 | 934 | $request = $smcFunc['db_query']('',' |
@@ -882,25 +944,27 @@ discard block |
||
| 882 | 944 | } |
| 883 | 945 | } |
| 884 | 946 | |
| 885 | - if ($returnmode == 1) |
|
| 886 | - $return_var = $ai; |
|
| 887 | - else if ($returnmode == 2) |
|
| 888 | - $return_var[] = $ai; |
|
| 947 | + if ($returnmode == 1) { |
|
| 948 | + $return_var = $ai; |
|
| 949 | + } else if ($returnmode == 2) { |
|
| 950 | + $return_var[] = $ai; |
|
| 951 | + } |
|
| 889 | 952 | } |
| 890 | 953 | } |
| 891 | 954 | |
| 892 | 955 | |
| 893 | 956 | if ($with_returning) |
| 894 | 957 | { |
| 895 | - if ($returnmode == 1 && empty($return_var)) |
|
| 896 | - $return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1; |
|
| 897 | - else if ($returnmode == 2 && empty($return_var)) |
|
| 958 | + if ($returnmode == 1 && empty($return_var)) { |
|
| 959 | + $return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1; |
|
| 960 | + } else if ($returnmode == 2 && empty($return_var)) |
|
| 898 | 961 | { |
| 899 | 962 | $return_var = array(); |
| 900 | 963 | $count = count($insertRows); |
| 901 | 964 | $start = smf_db_insert_id($table, $keys[0]); |
| 902 | - for ($i = 0; $i < $count; $i++ ) |
|
| 903 | - $return_var[] = $start + $i; |
|
| 965 | + for ($i = 0; $i < $count; $i++ ) { |
|
| 966 | + $return_var[] = $start + $i; |
|
| 967 | + } |
|
| 904 | 968 | } |
| 905 | 969 | return $return_var; |
| 906 | 970 | } |
@@ -918,8 +982,9 @@ discard block |
||
| 918 | 982 | */ |
| 919 | 983 | function smf_db_error_backtrace($error_message, $log_message = '', $error_type = false, $file = null, $line = null) |
| 920 | 984 | { |
| 921 | - if (empty($log_message)) |
|
| 922 | - $log_message = $error_message; |
|
| 985 | + if (empty($log_message)) { |
|
| 986 | + $log_message = $error_message; |
|
| 987 | + } |
|
| 923 | 988 | |
| 924 | 989 | foreach (debug_backtrace() as $step) |
| 925 | 990 | { |
@@ -938,12 +1003,14 @@ discard block |
||
| 938 | 1003 | } |
| 939 | 1004 | |
| 940 | 1005 | // A special case - we want the file and line numbers for debugging. |
| 941 | - if ($error_type == 'return') |
|
| 942 | - return array($file, $line); |
|
| 1006 | + if ($error_type == 'return') { |
|
| 1007 | + return array($file, $line); |
|
| 1008 | + } |
|
| 943 | 1009 | |
| 944 | 1010 | // Is always a critical error. |
| 945 | - if (function_exists('log_error')) |
|
| 946 | - log_error($log_message, 'critical', $file, $line); |
|
| 1011 | + if (function_exists('log_error')) { |
|
| 1012 | + log_error($log_message, 'critical', $file, $line); |
|
| 1013 | + } |
|
| 947 | 1014 | |
| 948 | 1015 | if (function_exists('fatal_error')) |
| 949 | 1016 | { |
@@ -951,12 +1018,12 @@ discard block |
||
| 951 | 1018 | |
| 952 | 1019 | // Cannot continue... |
| 953 | 1020 | exit; |
| 1021 | + } elseif ($error_type) { |
|
| 1022 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
| 1023 | + } else { |
|
| 1024 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
| 1025 | + } |
|
| 954 | 1026 | } |
| 955 | - elseif ($error_type) |
|
| 956 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
| 957 | - else |
|
| 958 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
| 959 | -} |
|
| 960 | 1027 | |
| 961 | 1028 | /** |
| 962 | 1029 | * Escape the LIKE wildcards so that they match the character and not the wildcard. |
@@ -973,10 +1040,11 @@ discard block |
||
| 973 | 1040 | '\\' => '\\\\', |
| 974 | 1041 | ); |
| 975 | 1042 | |
| 976 | - if ($translate_human_wildcards) |
|
| 977 | - $replacements += array( |
|
| 1043 | + if ($translate_human_wildcards) { |
|
| 1044 | + $replacements += array( |
|
| 978 | 1045 | '*' => '%', |
| 979 | 1046 | ); |
| 1047 | + } |
|
| 980 | 1048 | |
| 981 | 1049 | return strtr($string, $replacements); |
| 982 | 1050 | } |
@@ -990,8 +1058,9 @@ discard block |
||
| 990 | 1058 | */ |
| 991 | 1059 | function smf_is_resource($result) |
| 992 | 1060 | { |
| 993 | - if ($result instanceof mysqli_result) |
|
| 994 | - return true; |
|
| 1061 | + if ($result instanceof mysqli_result) { |
|
| 1062 | + return true; |
|
| 1063 | + } |
|
| 995 | 1064 | |
| 996 | 1065 | return false; |
| 997 | 1066 | } |
@@ -13,8 +13,9 @@ discard block |
||
| 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 |
||
| 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 |
||
| 82 | 84 | ), |
| 83 | 85 | ); |
| 84 | 86 | |
| 85 | - if ($context['sub_action'] == 'browse') |
|
| 86 | - loadJavaScriptFile('suggest.js', array('defer' => false), 'smf_suggest'); |
|
| 87 | + if ($context['sub_action'] == 'browse') { |
|
| 88 | + loadJavaScriptFile('suggest.js', array('defer' => false), 'smf_suggest'); |
|
| 89 | + } |
|
| 87 | 90 | |
| 88 | 91 | call_integration_hook('integrate_manage_packages', array(&$subActions)); |
| 89 | 92 | |
@@ -99,8 +102,9 @@ discard block |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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,52 +374,54 @@ discard block |
||
| 361 | 374 | 'description' => $txt['package_action_missing'], |
| 362 | 375 | 'failed' => true, |
| 363 | 376 | ); |
| 364 | - } |
|
| 365 | - else |
|
| 377 | + } else |
|
| 366 | 378 | { |
| 367 | 379 | |
| 368 | - if ($action['boardmod']) |
|
| 369 | - $mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths); |
|
| 370 | - else |
|
| 371 | - $mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths); |
|
| 380 | + if ($action['boardmod']) { |
|
| 381 | + $mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths); |
|
| 382 | + } else { |
|
| 383 | + $mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths); |
|
| 384 | + } |
|
| 372 | 385 | |
| 373 | - if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-') |
|
| 374 | - $mod_actions[0]['filename'] = $action['filename']; |
|
| 386 | + if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-') { |
|
| 387 | + $mod_actions[0]['filename'] = $action['filename']; |
|
| 388 | + } |
|
| 375 | 389 | |
| 376 | 390 | foreach ($mod_actions as $key => $mod_action) |
| 377 | 391 | { |
| 378 | 392 | // Lets get the last section of the file name. |
| 379 | - if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') |
|
| 380 | - $actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']); |
|
| 381 | - elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) |
|
| 382 | - $actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']); |
|
| 383 | - else |
|
| 384 | - $actual_filename = $key; |
|
| 385 | - |
|
| 386 | - if ($mod_action['type'] == 'opened') |
|
| 387 | - $failed = false; |
|
| 388 | - elseif ($mod_action['type'] == 'failure') |
|
| 393 | + if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') { |
|
| 394 | + $actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']); |
|
| 395 | + } elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) { |
|
| 396 | + $actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']); |
|
| 397 | + } else { |
|
| 398 | + $actual_filename = $key; |
|
| 399 | + } |
|
| 400 | + |
|
| 401 | + if ($mod_action['type'] == 'opened') { |
|
| 402 | + $failed = false; |
|
| 403 | + } elseif ($mod_action['type'] == 'failure') |
|
| 389 | 404 | { |
| 390 | - if (empty($mod_action['is_custom'])) |
|
| 391 | - $context['has_failure'] = true; |
|
| 405 | + if (empty($mod_action['is_custom'])) { |
|
| 406 | + $context['has_failure'] = true; |
|
| 407 | + } |
|
| 392 | 408 | $failed = true; |
| 393 | - } |
|
| 394 | - elseif ($mod_action['type'] == 'chmod') |
|
| 409 | + } elseif ($mod_action['type'] == 'chmod') |
|
| 395 | 410 | { |
| 396 | 411 | $chmod_files[] = $mod_action['filename']; |
| 397 | - } |
|
| 398 | - elseif ($mod_action['type'] == 'saved') |
|
| 412 | + } elseif ($mod_action['type'] == 'saved') |
|
| 399 | 413 | { |
| 400 | 414 | if (!empty($mod_action['is_custom'])) |
| 401 | 415 | { |
| 402 | - if (!isset($context['theme_actions'][$mod_action['is_custom']])) |
|
| 403 | - $context['theme_actions'][$mod_action['is_custom']] = array( |
|
| 416 | + if (!isset($context['theme_actions'][$mod_action['is_custom']])) { |
|
| 417 | + $context['theme_actions'][$mod_action['is_custom']] = array( |
|
| 404 | 418 | 'name' => $theme_paths[$mod_action['is_custom']]['name'], |
| 405 | 419 | 'actions' => array(), |
| 406 | 420 | 'has_failure' => $failed, |
| 407 | 421 | ); |
| 408 | - else |
|
| 409 | - $context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed; |
|
| 422 | + } else { |
|
| 423 | + $context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed; |
|
| 424 | + } |
|
| 410 | 425 | |
| 411 | 426 | $context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename] = array( |
| 412 | 427 | 'type' => $txt['execute_modification'], |
@@ -414,8 +429,7 @@ discard block |
||
| 414 | 429 | 'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'], |
| 415 | 430 | 'failed' => $failed, |
| 416 | 431 | ); |
| 417 | - } |
|
| 418 | - elseif (!isset($context['actions'][$actual_filename])) |
|
| 432 | + } elseif (!isset($context['actions'][$actual_filename])) |
|
| 419 | 433 | { |
| 420 | 434 | $context['actions'][$actual_filename] = array( |
| 421 | 435 | 'type' => $txt['execute_modification'], |
@@ -423,22 +437,19 @@ discard block |
||
| 423 | 437 | 'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'], |
| 424 | 438 | 'failed' => $failed, |
| 425 | 439 | ); |
| 426 | - } |
|
| 427 | - else |
|
| 440 | + } else |
|
| 428 | 441 | { |
| 429 | 442 | $context['actions'][$actual_filename]['failed'] |= $failed; |
| 430 | 443 | $context['actions'][$actual_filename]['description'] = $context['actions'][$actual_filename]['failed'] ? $txt['package_action_failure'] : $txt['package_action_success']; |
| 431 | 444 | } |
| 432 | - } |
|
| 433 | - elseif ($mod_action['type'] == 'skipping') |
|
| 445 | + } elseif ($mod_action['type'] == 'skipping') |
|
| 434 | 446 | { |
| 435 | 447 | $context['actions'][$actual_filename] = array( |
| 436 | 448 | 'type' => $txt['execute_modification'], |
| 437 | 449 | 'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))), |
| 438 | 450 | 'description' => $txt['package_action_skipping'] |
| 439 | 451 | ); |
| 440 | - } |
|
| 441 | - elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom'])) |
|
| 452 | + } elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom'])) |
|
| 442 | 453 | { |
| 443 | 454 | $context['has_failure'] = true; |
| 444 | 455 | $context['actions'][$actual_filename] = array( |
@@ -447,32 +458,33 @@ discard block |
||
| 447 | 458 | 'description' => $txt['package_action_missing'], |
| 448 | 459 | 'failed' => true, |
| 449 | 460 | ); |
| 450 | - } |
|
| 451 | - elseif ($mod_action['type'] == 'error') |
|
| 452 | - $context['actions'][$actual_filename] = array( |
|
| 461 | + } elseif ($mod_action['type'] == 'error') { |
|
| 462 | + $context['actions'][$actual_filename] = array( |
|
| 453 | 463 | 'type' => $txt['execute_modification'], |
| 454 | 464 | 'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))), |
| 455 | 465 | 'description' => $txt['package_action_error'], |
| 456 | 466 | 'failed' => true, |
| 457 | 467 | ); |
| 468 | + } |
|
| 458 | 469 | } |
| 459 | 470 | |
| 460 | 471 | // We need to loop again just to get the operations down correctly. |
| 461 | 472 | foreach ($mod_actions as $operation_key => $mod_action) |
| 462 | 473 | { |
| 463 | 474 | // Lets get the last section of the file name. |
| 464 | - if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') |
|
| 465 | - $actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']); |
|
| 466 | - elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) |
|
| 467 | - $actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']); |
|
| 468 | - else |
|
| 469 | - $actual_filename = $key; |
|
| 475 | + if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') { |
|
| 476 | + $actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']); |
|
| 477 | + } elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) { |
|
| 478 | + $actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']); |
|
| 479 | + } else { |
|
| 480 | + $actual_filename = $key; |
|
| 481 | + } |
|
| 470 | 482 | |
| 471 | 483 | // We just need it for actual parse changes. |
| 472 | 484 | if (!in_array($mod_action['type'], array('error', 'result', 'opened', 'saved', 'end', 'missing', 'skipping', 'chmod'))) |
| 473 | 485 | { |
| 474 | - if (empty($mod_action['is_custom'])) |
|
| 475 | - $context['actions'][$actual_filename]['operations'][] = array( |
|
| 486 | + if (empty($mod_action['is_custom'])) { |
|
| 487 | + $context['actions'][$actual_filename]['operations'][] = array( |
|
| 476 | 488 | 'type' => $txt['execute_modification'], |
| 477 | 489 | 'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))), |
| 478 | 490 | 'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'], |
@@ -483,10 +495,11 @@ discard block |
||
| 483 | 495 | 'failed' => $mod_action['failed'], |
| 484 | 496 | 'ignore_failure' => !empty($mod_action['ignore_failure']), |
| 485 | 497 | ); |
| 498 | + } |
|
| 486 | 499 | |
| 487 | 500 | // Themes are under the saved type. |
| 488 | - if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']])) |
|
| 489 | - $context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array( |
|
| 501 | + if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']])) { |
|
| 502 | + $context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array( |
|
| 490 | 503 | 'type' => $txt['execute_modification'], |
| 491 | 504 | 'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))), |
| 492 | 505 | 'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'], |
@@ -497,59 +510,55 @@ discard block |
||
| 497 | 510 | 'failed' => $mod_action['failed'], |
| 498 | 511 | 'ignore_failure' => !empty($mod_action['ignore_failure']), |
| 499 | 512 | ); |
| 513 | + } |
|
| 500 | 514 | } |
| 501 | 515 | } |
| 502 | 516 | } |
| 503 | - } |
|
| 504 | - elseif ($action['type'] == 'code') |
|
| 517 | + } elseif ($action['type'] == 'code') |
|
| 505 | 518 | { |
| 506 | 519 | $thisAction = array( |
| 507 | 520 | 'type' => $txt['execute_code'], |
| 508 | 521 | 'action' => $smcFunc['htmlspecialchars']($action['filename']), |
| 509 | 522 | ); |
| 510 | - } |
|
| 511 | - elseif ($action['type'] == 'database') |
|
| 523 | + } elseif ($action['type'] == 'database') |
|
| 512 | 524 | { |
| 513 | 525 | $thisAction = array( |
| 514 | 526 | 'type' => $txt['execute_database_changes'], |
| 515 | 527 | 'action' => $smcFunc['htmlspecialchars']($action['filename']), |
| 516 | 528 | ); |
| 517 | - } |
|
| 518 | - elseif (in_array($action['type'], array('create-dir', 'create-file'))) |
|
| 529 | + } elseif (in_array($action['type'], array('create-dir', 'create-file'))) |
|
| 519 | 530 | { |
| 520 | 531 | $thisAction = array( |
| 521 | 532 | 'type' => $txt['package_create'] . ' ' . ($action['type'] == 'create-dir' ? $txt['package_tree'] : $txt['package_file']), |
| 522 | 533 | 'action' => $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.'))) |
| 523 | 534 | ); |
| 524 | - } |
|
| 525 | - elseif ($action['type'] == 'hook') |
|
| 535 | + } elseif ($action['type'] == 'hook') |
|
| 526 | 536 | { |
| 527 | 537 | $action['description'] = !isset($action['hook'], $action['function']) ? $txt['package_action_failure'] : $txt['package_action_success']; |
| 528 | 538 | |
| 529 | - if (!isset($action['hook'], $action['function'])) |
|
| 530 | - $context['has_failure'] = true; |
|
| 539 | + if (!isset($action['hook'], $action['function'])) { |
|
| 540 | + $context['has_failure'] = true; |
|
| 541 | + } |
|
| 531 | 542 | |
| 532 | 543 | $thisAction = array( |
| 533 | 544 | 'type' => $action['reverse'] ? $txt['execute_hook_remove'] : $txt['execute_hook_add'], |
| 534 | 545 | 'action' => sprintf($txt['execute_hook_action' . ($action['reverse'] ? '_inverse' : '')], $smcFunc['htmlspecialchars']($action['hook'])), |
| 535 | 546 | ); |
| 536 | - } |
|
| 537 | - elseif ($action['type'] == 'credits') |
|
| 547 | + } elseif ($action['type'] == 'credits') |
|
| 538 | 548 | { |
| 539 | 549 | $thisAction = array( |
| 540 | 550 | 'type' => $txt['execute_credits_add'], |
| 541 | 551 | 'action' => sprintf($txt['execute_credits_action'], $smcFunc['htmlspecialchars']($action['title'])), |
| 542 | 552 | ); |
| 543 | - } |
|
| 544 | - elseif ($action['type'] == 'requires') |
|
| 553 | + } elseif ($action['type'] == 'requires') |
|
| 545 | 554 | { |
| 546 | 555 | $installed = false; |
| 547 | 556 | $version = true; |
| 548 | 557 | |
| 549 | 558 | // package missing required values? |
| 550 | - if (!isset($action['id'])) |
|
| 551 | - $context['has_failure'] = true; |
|
| 552 | - else |
|
| 559 | + if (!isset($action['id'])) { |
|
| 560 | + $context['has_failure'] = true; |
|
| 561 | + } else |
|
| 553 | 562 | { |
| 554 | 563 | // See if this dependancy is installed |
| 555 | 564 | $request = $smcFunc['db_query']('', ' |
@@ -565,8 +574,9 @@ discard block |
||
| 565 | 574 | ) |
| 566 | 575 | ); |
| 567 | 576 | $installed = ($smcFunc['db_num_rows']($request) !== 0); |
| 568 | - if ($installed) |
|
| 569 | - list ($version) = $smcFunc['db_fetch_row']($request); |
|
| 577 | + if ($installed) { |
|
| 578 | + list ($version) = $smcFunc['db_fetch_row']($request); |
|
| 579 | + } |
|
| 570 | 580 | $smcFunc['db_free_result']($request); |
| 571 | 581 | |
| 572 | 582 | // do a version level check (if requested) in the most basic way |
@@ -581,8 +591,7 @@ discard block |
||
| 581 | 591 | 'type' => $txt['package_requires'], |
| 582 | 592 | 'action' => $txt['package_check_for'] . ' ' . $action['id'] . (isset($action['version']) ? (' / ' . ($version ? $action['version'] : '<span class="error">' . $action['version'] . '</span>')) : ''), |
| 583 | 593 | ); |
| 584 | - } |
|
| 585 | - elseif (in_array($action['type'], array('require-dir', 'require-file'))) |
|
| 594 | + } elseif (in_array($action['type'], array('require-dir', 'require-file'))) |
|
| 586 | 595 | { |
| 587 | 596 | // Do this one... |
| 588 | 597 | $thisAction = array( |
@@ -596,26 +605,29 @@ discard block |
||
| 596 | 605 | // Is the action already stated? |
| 597 | 606 | $theme_action = !empty($action['theme_action']) && in_array($action['theme_action'], array('no', 'yes', 'auto')) ? $action['theme_action'] : 'auto'; |
| 598 | 607 | // If it's not auto do we think we have something we can act upon? |
| 599 | - if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) |
|
| 600 | - $theme_action = ''; |
|
| 608 | + if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) { |
|
| 609 | + $theme_action = ''; |
|
| 610 | + } |
|
| 601 | 611 | // ... or if it's auto do we even want to do anything? |
| 602 | - elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') |
|
| 603 | - $theme_action = ''; |
|
| 612 | + elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') { |
|
| 613 | + $theme_action = ''; |
|
| 614 | + } |
|
| 604 | 615 | |
| 605 | 616 | // So, we still want to do something? |
| 606 | - if ($theme_action != '') |
|
| 607 | - $themeFinds['candidates'][] = $action; |
|
| 617 | + if ($theme_action != '') { |
|
| 618 | + $themeFinds['candidates'][] = $action; |
|
| 619 | + } |
|
| 608 | 620 | // Otherwise is this is going into another theme record it. |
| 609 | - elseif ($matches[1] == 'themes_dir') |
|
| 610 | - $themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename'])); |
|
| 621 | + elseif ($matches[1] == 'themes_dir') { |
|
| 622 | + $themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename'])); |
|
| 623 | + } |
|
| 611 | 624 | } |
| 612 | - } |
|
| 613 | - elseif (in_array($action['type'], array('move-dir', 'move-file'))) |
|
| 614 | - $thisAction = array( |
|
| 625 | + } elseif (in_array($action['type'], array('move-dir', 'move-file'))) { |
|
| 626 | + $thisAction = array( |
|
| 615 | 627 | 'type' => $txt['package_move'] . ' ' . ($action['type'] == 'move-dir' ? $txt['package_tree'] : $txt['package_file']), |
| 616 | 628 | 'action' => $smcFunc['htmlspecialchars'](strtr($action['source'], array($boarddir => '.'))) . ' => ' . $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.'))) |
| 617 | 629 | ); |
| 618 | - elseif (in_array($action['type'], array('remove-dir', 'remove-file'))) |
|
| 630 | + } elseif (in_array($action['type'], array('remove-dir', 'remove-file'))) |
|
| 619 | 631 | { |
| 620 | 632 | $thisAction = array( |
| 621 | 633 | 'type' => $txt['package_delete'] . ' ' . ($action['type'] == 'remove-dir' ? $txt['package_tree'] : $txt['package_file']), |
@@ -631,30 +643,36 @@ discard block |
||
| 631 | 643 | $action['unparsed_destination'] = $action['unparsed_filename']; |
| 632 | 644 | |
| 633 | 645 | // If it's not auto do we think we have something we can act upon? |
| 634 | - if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) |
|
| 635 | - $theme_action = ''; |
|
| 646 | + if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) { |
|
| 647 | + $theme_action = ''; |
|
| 648 | + } |
|
| 636 | 649 | // ... or if it's auto do we even want to do anything? |
| 637 | - elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') |
|
| 638 | - $theme_action = ''; |
|
| 650 | + elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') { |
|
| 651 | + $theme_action = ''; |
|
| 652 | + } |
|
| 639 | 653 | |
| 640 | 654 | // So, we still want to do something? |
| 641 | - if ($theme_action != '') |
|
| 642 | - $themeFinds['candidates'][] = $action; |
|
| 655 | + if ($theme_action != '') { |
|
| 656 | + $themeFinds['candidates'][] = $action; |
|
| 657 | + } |
|
| 643 | 658 | // Otherwise is this is going into another theme record it. |
| 644 | - elseif ($matches[1] == 'themes_dir') |
|
| 645 | - $themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename'])); |
|
| 659 | + elseif ($matches[1] == 'themes_dir') { |
|
| 660 | + $themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename'])); |
|
| 661 | + } |
|
| 646 | 662 | } |
| 647 | 663 | } |
| 648 | 664 | |
| 649 | - if (empty($thisAction)) |
|
| 650 | - continue; |
|
| 665 | + if (empty($thisAction)) { |
|
| 666 | + continue; |
|
| 667 | + } |
|
| 651 | 668 | |
| 652 | 669 | if (!in_array($action['type'], array('hook', 'credits'))) |
| 653 | 670 | { |
| 654 | - if ($context['uninstalling']) |
|
| 655 | - $file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename']; |
|
| 656 | - else |
|
| 657 | - $file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename']; |
|
| 671 | + if ($context['uninstalling']) { |
|
| 672 | + $file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename']; |
|
| 673 | + } else { |
|
| 674 | + $file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename']; |
|
| 675 | + } |
|
| 658 | 676 | } |
| 659 | 677 | |
| 660 | 678 | // Don't fail if a file/directory we're trying to create doesn't exist... |
@@ -669,8 +687,9 @@ discard block |
||
| 669 | 687 | } |
| 670 | 688 | |
| 671 | 689 | // @todo None given? |
| 672 | - if (empty($thisAction['description'])) |
|
| 673 | - $thisAction['description'] = isset($action['description']) ? $action['description'] : ''; |
|
| 690 | + if (empty($thisAction['description'])) { |
|
| 691 | + $thisAction['description'] = isset($action['description']) ? $action['description'] : ''; |
|
| 692 | + } |
|
| 674 | 693 | |
| 675 | 694 | $context['actions'][] = $thisAction; |
| 676 | 695 | } |
@@ -683,18 +702,21 @@ discard block |
||
| 683 | 702 | // Get the part of the file we'll be dealing with. |
| 684 | 703 | preg_match('~^\$(languagedir|languages_dir|imagesdir|themedir)(\\|/)*(.+)*~i', $action_data['unparsed_destination'], $matches); |
| 685 | 704 | |
| 686 | - if ($matches[1] == 'imagesdir') |
|
| 687 | - $path = '/' . basename($settings['default_images_url']); |
|
| 688 | - elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir') |
|
| 689 | - $path = '/languages'; |
|
| 690 | - else |
|
| 691 | - $path = ''; |
|
| 705 | + if ($matches[1] == 'imagesdir') { |
|
| 706 | + $path = '/' . basename($settings['default_images_url']); |
|
| 707 | + } elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir') { |
|
| 708 | + $path = '/languages'; |
|
| 709 | + } else { |
|
| 710 | + $path = ''; |
|
| 711 | + } |
|
| 692 | 712 | |
| 693 | - if (!empty($matches[3])) |
|
| 694 | - $path .= $matches[3]; |
|
| 713 | + if (!empty($matches[3])) { |
|
| 714 | + $path .= $matches[3]; |
|
| 715 | + } |
|
| 695 | 716 | |
| 696 | - if (!$context['uninstalling']) |
|
| 697 | - $path .= '/' . basename($action_data['filename']); |
|
| 717 | + if (!$context['uninstalling']) { |
|
| 718 | + $path .= '/' . basename($action_data['filename']); |
|
| 719 | + } |
|
| 698 | 720 | |
| 699 | 721 | // Loop through each custom theme to note it's candidacy! |
| 700 | 722 | foreach ($theme_paths as $id => $theme_data) |
@@ -710,36 +732,40 @@ discard block |
||
| 710 | 732 | if (!mktree(dirname($real_path), false)) |
| 711 | 733 | { |
| 712 | 734 | $temp = dirname($real_path); |
| 713 | - while (!file_exists($temp) && strlen($temp) > 1) |
|
| 714 | - $temp = dirname($temp); |
|
| 735 | + while (!file_exists($temp) && strlen($temp) > 1) { |
|
| 736 | + $temp = dirname($temp); |
|
| 737 | + } |
|
| 715 | 738 | $chmod_files[] = $temp; |
| 716 | 739 | } |
| 717 | 740 | |
| 718 | - if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path)))) |
|
| 719 | - $chmod_files[] = $real_path; |
|
| 741 | + if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path)))) { |
|
| 742 | + $chmod_files[] = $real_path; |
|
| 743 | + } |
|
| 720 | 744 | |
| 721 | - if (!isset($context['theme_actions'][$id])) |
|
| 722 | - $context['theme_actions'][$id] = array( |
|
| 745 | + if (!isset($context['theme_actions'][$id])) { |
|
| 746 | + $context['theme_actions'][$id] = array( |
|
| 723 | 747 | 'name' => $theme_data['name'], |
| 724 | 748 | 'actions' => array(), |
| 725 | 749 | ); |
| 750 | + } |
|
| 726 | 751 | |
| 727 | - if ($context['uninstalling']) |
|
| 728 | - $context['theme_actions'][$id]['actions'][] = array( |
|
| 752 | + if ($context['uninstalling']) { |
|
| 753 | + $context['theme_actions'][$id]['actions'][] = array( |
|
| 729 | 754 | 'type' => $txt['package_delete'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']), |
| 730 | 755 | 'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')), |
| 731 | 756 | 'description' => '', |
| 732 | 757 | 'value' => base64_encode($smcFunc['json_encode'](array('type' => $action_data['type'], 'orig' => $action_data['filename'], 'future' => $real_path, 'id' => $id))), |
| 733 | 758 | 'not_mod' => true, |
| 734 | 759 | ); |
| 735 | - else |
|
| 736 | - $context['theme_actions'][$id]['actions'][] = array( |
|
| 760 | + } else { |
|
| 761 | + $context['theme_actions'][$id]['actions'][] = array( |
|
| 737 | 762 | 'type' => $txt['package_extract'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']), |
| 738 | 763 | 'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')), |
| 739 | 764 | 'description' => '', |
| 740 | 765 | 'value' => base64_encode($smcFunc['json_encode'](array('type' => $action_data['type'], 'orig' => $action_data['destination'], 'future' => $real_path, 'id' => $id))), |
| 741 | 766 | 'not_mod' => true, |
| 742 | 767 | ); |
| 768 | + } |
|
| 743 | 769 | } |
| 744 | 770 | } |
| 745 | 771 | } |
@@ -749,8 +775,9 @@ discard block |
||
| 749 | 775 | // Trash the cache... which will also check permissions for us! |
| 750 | 776 | package_flush_cache(true); |
| 751 | 777 | |
| 752 | - if (file_exists($packagesdir . '/temp')) |
|
| 753 | - deltree($packagesdir . '/temp'); |
|
| 778 | + if (file_exists($packagesdir . '/temp')) { |
|
| 779 | + deltree($packagesdir . '/temp'); |
|
| 780 | + } |
|
| 754 | 781 | |
| 755 | 782 | if (!empty($chmod_files)) |
| 756 | 783 | { |
@@ -775,8 +802,9 @@ discard block |
||
| 775 | 802 | checkSession(); |
| 776 | 803 | |
| 777 | 804 | // If there's no file, what are we installing? |
| 778 | - if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') |
|
| 779 | - redirectexit('action=admin;area=packages'); |
|
| 805 | + if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') { |
|
| 806 | + redirectexit('action=admin;area=packages'); |
|
| 807 | + } |
|
| 780 | 808 | $context['filename'] = $_REQUEST['package']; |
| 781 | 809 | |
| 782 | 810 | // If this is an uninstall, we'll have an id. |
@@ -797,51 +825,55 @@ discard block |
||
| 797 | 825 | |
| 798 | 826 | $context['sub_template'] = 'extract_package'; |
| 799 | 827 | |
| 800 | - if (!file_exists($packagesdir . '/' . $context['filename'])) |
|
| 801 | - fatal_lang_error('package_no_file', false); |
|
| 828 | + if (!file_exists($packagesdir . '/' . $context['filename'])) { |
|
| 829 | + fatal_lang_error('package_no_file', false); |
|
| 830 | + } |
|
| 802 | 831 | |
| 803 | 832 | // Load up the package FTP information? |
| 804 | 833 | create_chmod_control(array(), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package'])); |
| 805 | 834 | |
| 806 | 835 | // Make sure temp directory exists and is empty! |
| 807 | - if (file_exists($packagesdir . '/temp')) |
|
| 808 | - deltree($packagesdir . '/temp', false); |
|
| 809 | - else |
|
| 810 | - mktree($packagesdir . '/temp', 0777); |
|
| 836 | + if (file_exists($packagesdir . '/temp')) { |
|
| 837 | + deltree($packagesdir . '/temp', false); |
|
| 838 | + } else { |
|
| 839 | + mktree($packagesdir . '/temp', 0777); |
|
| 840 | + } |
|
| 811 | 841 | |
| 812 | 842 | // Let the unpacker do the work. |
| 813 | 843 | if (is_file($packagesdir . '/' . $context['filename'])) |
| 814 | 844 | { |
| 815 | 845 | $context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp'); |
| 816 | 846 | |
| 817 | - if (!file_exists($packagesdir . '/temp/package-info.xml')) |
|
| 818 | - foreach ($context['extracted_files'] as $file) |
|
| 847 | + if (!file_exists($packagesdir . '/temp/package-info.xml')) { |
|
| 848 | + foreach ($context['extracted_files'] as $file) |
|
| 819 | 849 | if (basename($file['filename']) == 'package-info.xml') |
| 820 | 850 | { |
| 821 | 851 | $context['base_path'] = dirname($file['filename']) . '/'; |
| 852 | + } |
|
| 822 | 853 | break; |
| 823 | 854 | } |
| 824 | 855 | |
| 825 | - if (!isset($context['base_path'])) |
|
| 826 | - $context['base_path'] = ''; |
|
| 827 | - } |
|
| 828 | - elseif (is_dir($packagesdir . '/' . $context['filename'])) |
|
| 856 | + if (!isset($context['base_path'])) { |
|
| 857 | + $context['base_path'] = ''; |
|
| 858 | + } |
|
| 859 | + } elseif (is_dir($packagesdir . '/' . $context['filename'])) |
|
| 829 | 860 | { |
| 830 | 861 | copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp'); |
| 831 | 862 | $context['extracted_files'] = listtree($packagesdir . '/temp'); |
| 832 | 863 | $context['base_path'] = ''; |
| 864 | + } else { |
|
| 865 | + fatal_lang_error('no_access', false); |
|
| 833 | 866 | } |
| 834 | - else |
|
| 835 | - fatal_lang_error('no_access', false); |
|
| 836 | 867 | |
| 837 | 868 | // Are we installing this into any custom themes? |
| 838 | 869 | $custom_themes = array(1); |
| 839 | 870 | $known_themes = explode(',', $modSettings['knownThemes']); |
| 840 | 871 | if (!empty($_POST['custom_theme'])) |
| 841 | 872 | { |
| 842 | - foreach ($_POST['custom_theme'] as $tid) |
|
| 843 | - if (in_array($tid, $known_themes)) |
|
| 873 | + foreach ($_POST['custom_theme'] as $tid) { |
|
| 874 | + if (in_array($tid, $known_themes)) |
|
| 844 | 875 | $custom_themes[] = (int) $tid; |
| 876 | + } |
|
| 845 | 877 | } |
| 846 | 878 | |
| 847 | 879 | // Now load up the paths of the themes that we need to know about. |
@@ -858,8 +890,9 @@ discard block |
||
| 858 | 890 | ); |
| 859 | 891 | $theme_paths = array(); |
| 860 | 892 | $themes_installed = array(1); |
| 861 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 862 | - $theme_paths[$row['id_theme']][$row['variable']] = $row['value']; |
|
| 893 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 894 | + $theme_paths[$row['id_theme']][$row['variable']] = $row['value']; |
|
| 895 | + } |
|
| 863 | 896 | $smcFunc['db_free_result']($request); |
| 864 | 897 | |
| 865 | 898 | // Are there any theme copying that we want to take place? |
@@ -871,11 +904,13 @@ discard block |
||
| 871 | 904 | { |
| 872 | 905 | foreach ($_POST['theme_changes'] as $change) |
| 873 | 906 | { |
| 874 | - if (empty($change)) |
|
| 875 | - continue; |
|
| 907 | + if (empty($change)) { |
|
| 908 | + continue; |
|
| 909 | + } |
|
| 876 | 910 | $theme_data = $smcFunc['json_decode'](base64_decode($change), true); |
| 877 | - if (empty($theme_data['type'])) |
|
| 878 | - continue; |
|
| 911 | + if (empty($theme_data['type'])) { |
|
| 912 | + continue; |
|
| 913 | + } |
|
| 879 | 914 | |
| 880 | 915 | $themes_installed[] = $theme_data['id']; |
| 881 | 916 | $context['theme_copies'][$theme_data['type']][$theme_data['orig']][] = $theme_data['future']; |
@@ -884,8 +919,9 @@ discard block |
||
| 884 | 919 | |
| 885 | 920 | // Get the package info... |
| 886 | 921 | $packageInfo = getPackageInfo($context['filename']); |
| 887 | - if (!is_array($packageInfo)) |
|
| 888 | - fatal_lang_error($packageInfo); |
|
| 922 | + if (!is_array($packageInfo)) { |
|
| 923 | + fatal_lang_error($packageInfo); |
|
| 924 | + } |
|
| 889 | 925 | |
| 890 | 926 | $packageInfo['filename'] = $context['filename']; |
| 891 | 927 | |
@@ -897,8 +933,9 @@ discard block |
||
| 897 | 933 | { |
| 898 | 934 | $_SESSION['last_backup_for'] = $context['filename'] . ($context['uninstalling'] ? '$$' : '$'); |
| 899 | 935 | $result = package_create_backup(($context['uninstalling'] ? 'backup_' : 'before_') . strtok($context['filename'], '.')); |
| 900 | - if (!$result) |
|
| 901 | - fatal_lang_error('could_not_package_backup', false); |
|
| 936 | + if (!$result) { |
|
| 937 | + fatal_lang_error('could_not_package_backup', false); |
|
| 938 | + } |
|
| 902 | 939 | } |
| 903 | 940 | |
| 904 | 941 | // The mod isn't installed.... unless proven otherwise. |
@@ -938,35 +975,38 @@ discard block |
||
| 938 | 975 | $install_log = parsePackageInfo($packageInfo['xml'], false, 'uninstall'); |
| 939 | 976 | |
| 940 | 977 | // Gadzooks! There's no uninstaller at all!? |
| 941 | - if (empty($install_log)) |
|
| 942 | - fatal_lang_error('package_uninstall_cannot', false); |
|
| 978 | + if (empty($install_log)) { |
|
| 979 | + fatal_lang_error('package_uninstall_cannot', false); |
|
| 980 | + } |
|
| 943 | 981 | |
| 944 | 982 | // They can only uninstall from what it was originally installed into. |
| 945 | - foreach ($theme_paths as $id => $data) |
|
| 946 | - if ($id != 1 && !in_array($id, $old_themes)) |
|
| 983 | + foreach ($theme_paths as $id => $data) { |
|
| 984 | + if ($id != 1 && !in_array($id, $old_themes)) |
|
| 947 | 985 | unset($theme_paths[$id]); |
| 948 | - } |
|
| 949 | - elseif (isset($old_version) && $old_version != $packageInfo['version']) |
|
| 986 | + } |
|
| 987 | + } elseif (isset($old_version) && $old_version != $packageInfo['version']) |
|
| 950 | 988 | { |
| 951 | 989 | // Look for an upgrade... |
| 952 | 990 | $install_log = parsePackageInfo($packageInfo['xml'], false, 'upgrade', $old_version); |
| 953 | 991 | |
| 954 | 992 | // There was no upgrade.... |
| 955 | - if (empty($install_log)) |
|
| 956 | - $context['is_installed'] = true; |
|
| 957 | - else |
|
| 993 | + if (empty($install_log)) { |
|
| 994 | + $context['is_installed'] = true; |
|
| 995 | + } else |
|
| 958 | 996 | { |
| 959 | 997 | // Upgrade previous themes only! |
| 960 | - foreach ($theme_paths as $id => $data) |
|
| 961 | - if ($id != 1 && !in_array($id, $old_themes)) |
|
| 998 | + foreach ($theme_paths as $id => $data) { |
|
| 999 | + if ($id != 1 && !in_array($id, $old_themes)) |
|
| 962 | 1000 | unset($theme_paths[$id]); |
| 1001 | + } |
|
| 963 | 1002 | } |
| 1003 | + } elseif (isset($old_version) && $old_version == $packageInfo['version']) { |
|
| 1004 | + $context['is_installed'] = true; |
|
| 964 | 1005 | } |
| 965 | - elseif (isset($old_version) && $old_version == $packageInfo['version']) |
|
| 966 | - $context['is_installed'] = true; |
|
| 967 | 1006 | |
| 968 | - if (!isset($old_version) || $context['is_installed']) |
|
| 969 | - $install_log = parsePackageInfo($packageInfo['xml'], false, 'install'); |
|
| 1007 | + if (!isset($old_version) || $context['is_installed']) { |
|
| 1008 | + $install_log = parsePackageInfo($packageInfo['xml'], false, 'install'); |
|
| 1009 | + } |
|
| 970 | 1010 | |
| 971 | 1011 | $context['install_finished'] = false; |
| 972 | 1012 | |
@@ -983,37 +1023,39 @@ discard block |
||
| 983 | 1023 | |
| 984 | 1024 | if ($action['type'] == 'modification' && !empty($action['filename'])) |
| 985 | 1025 | { |
| 986 | - if ($action['boardmod']) |
|
| 987 | - $mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths); |
|
| 988 | - else |
|
| 989 | - $mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths); |
|
| 1026 | + if ($action['boardmod']) { |
|
| 1027 | + $mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths); |
|
| 1028 | + } else { |
|
| 1029 | + $mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths); |
|
| 1030 | + } |
|
| 990 | 1031 | |
| 991 | 1032 | // Any errors worth noting? |
| 992 | 1033 | foreach ($mod_actions as $key => $modAction) |
| 993 | 1034 | { |
| 994 | - if ($modAction['type'] == 'failure') |
|
| 995 | - $failed_steps[] = array( |
|
| 1035 | + if ($modAction['type'] == 'failure') { |
|
| 1036 | + $failed_steps[] = array( |
|
| 996 | 1037 | 'file' => $modAction['filename'], |
| 997 | 1038 | 'large_step' => $failed_count, |
| 998 | 1039 | 'sub_step' => $key, |
| 999 | 1040 | 'theme' => 1, |
| 1000 | 1041 | ); |
| 1042 | + } |
|
| 1001 | 1043 | |
| 1002 | 1044 | // Gather the themes we installed into. |
| 1003 | - if (!empty($modAction['is_custom'])) |
|
| 1004 | - $themes_installed[] = $modAction['is_custom']; |
|
| 1045 | + if (!empty($modAction['is_custom'])) { |
|
| 1046 | + $themes_installed[] = $modAction['is_custom']; |
|
| 1047 | + } |
|
| 1005 | 1048 | } |
| 1006 | - } |
|
| 1007 | - elseif ($action['type'] == 'code' && !empty($action['filename'])) |
|
| 1049 | + } elseif ($action['type'] == 'code' && !empty($action['filename'])) |
|
| 1008 | 1050 | { |
| 1009 | 1051 | // This is just here as reference for what is available. |
| 1010 | 1052 | global $txt, $boarddir, $sourcedir, $modSettings, $context, $settings, $forum_version, $smcFunc; |
| 1011 | 1053 | |
| 1012 | 1054 | // Now include the file and be done with it ;). |
| 1013 | - if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) |
|
| 1014 | - require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']); |
|
| 1015 | - } |
|
| 1016 | - elseif ($action['type'] == 'credits') |
|
| 1055 | + if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) { |
|
| 1056 | + require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']); |
|
| 1057 | + } |
|
| 1058 | + } elseif ($action['type'] == 'credits') |
|
| 1017 | 1059 | { |
| 1018 | 1060 | // Time to build the billboard |
| 1019 | 1061 | $credits_tag = array( |
@@ -1023,13 +1065,13 @@ discard block |
||
| 1023 | 1065 | 'copyright' => $action['copyright'], |
| 1024 | 1066 | 'title' => $action['title'], |
| 1025 | 1067 | ); |
| 1026 | - } |
|
| 1027 | - elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function'])) |
|
| 1068 | + } elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function'])) |
|
| 1028 | 1069 | { |
| 1029 | - if ($action['reverse']) |
|
| 1030 | - remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']); |
|
| 1031 | - else |
|
| 1032 | - add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']); |
|
| 1070 | + if ($action['reverse']) { |
|
| 1071 | + remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']); |
|
| 1072 | + } else { |
|
| 1073 | + add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']); |
|
| 1074 | + } |
|
| 1033 | 1075 | } |
| 1034 | 1076 | // Only do the database changes on uninstall if requested. |
| 1035 | 1077 | elseif ($action['type'] == 'database' && !empty($action['filename']) && (!$context['uninstalling'] || !empty($_POST['do_db_changes']))) |
@@ -1042,8 +1084,9 @@ discard block |
||
| 1042 | 1084 | db_extend('packages'); |
| 1043 | 1085 | |
| 1044 | 1086 | // Let the file work its magic ;) |
| 1045 | - if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) |
|
| 1046 | - require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']); |
|
| 1087 | + if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) { |
|
| 1088 | + require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']); |
|
| 1089 | + } |
|
| 1047 | 1090 | } |
| 1048 | 1091 | // Handle a redirect... |
| 1049 | 1092 | elseif ($action['type'] == 'redirect' && !empty($action['redirect_url'])) |
@@ -1125,8 +1168,9 @@ discard block |
||
| 1125 | 1168 | reloadSettings(); |
| 1126 | 1169 | |
| 1127 | 1170 | // Any db changes from older version? |
| 1128 | - if (!empty($old_db_changes)) |
|
| 1129 | - $db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log); |
|
| 1171 | + if (!empty($old_db_changes)) { |
|
| 1172 | + $db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log); |
|
| 1173 | + } |
|
| 1130 | 1174 | |
| 1131 | 1175 | // If there are some database changes we might want to remove then filter them out. |
| 1132 | 1176 | if (!empty($db_package_log)) |
@@ -1142,22 +1186,24 @@ discard block |
||
| 1142 | 1186 | */ |
| 1143 | 1187 | function sort_table_first($a, $b) |
| 1144 | 1188 | { |
| 1145 | - if ($a[0] == $b[0]) |
|
| 1146 | - return 0; |
|
| 1189 | + if ($a[0] == $b[0]) { |
|
| 1190 | + return 0; |
|
| 1191 | + } |
|
| 1147 | 1192 | return $a[0] == 'remove_table' ? -1 : 1; |
| 1148 | 1193 | } |
| 1149 | 1194 | usort($db_package_log, 'sort_table_first'); |
| 1150 | 1195 | foreach ($db_package_log as $k => $log) |
| 1151 | 1196 | { |
| 1152 | - if ($log[0] == 'remove_table') |
|
| 1153 | - $tables[] = $log[1]; |
|
| 1154 | - elseif (in_array($log[1], $tables)) |
|
| 1155 | - unset($db_package_log[$k]); |
|
| 1197 | + if ($log[0] == 'remove_table') { |
|
| 1198 | + $tables[] = $log[1]; |
|
| 1199 | + } elseif (in_array($log[1], $tables)) { |
|
| 1200 | + unset($db_package_log[$k]); |
|
| 1201 | + } |
|
| 1156 | 1202 | } |
| 1157 | 1203 | $db_changes = $smcFunc['json_encode']($db_package_log); |
| 1204 | + } else { |
|
| 1205 | + $db_changes = ''; |
|
| 1158 | 1206 | } |
| 1159 | - else |
|
| 1160 | - $db_changes = ''; |
|
| 1161 | 1207 | |
| 1162 | 1208 | // What themes did we actually install? |
| 1163 | 1209 | $themes_installed = array_unique($themes_installed); |
@@ -1206,18 +1252,20 @@ discard block |
||
| 1206 | 1252 | |
| 1207 | 1253 | foreach ($db_changes as $change) |
| 1208 | 1254 | { |
| 1209 | - if ($change[0] == 'remove_table' && isset($change[1])) |
|
| 1210 | - $smcFunc['db_drop_table']($change[1]); |
|
| 1211 | - elseif ($change[0] == 'remove_column' && isset($change[2])) |
|
| 1212 | - $smcFunc['db_remove_column']($change[1], $change[2]); |
|
| 1213 | - elseif ($change[0] == 'remove_index' && isset($change[2])) |
|
| 1214 | - $smcFunc['db_remove_index']($change[1], $change[2]); |
|
| 1255 | + if ($change[0] == 'remove_table' && isset($change[1])) { |
|
| 1256 | + $smcFunc['db_drop_table']($change[1]); |
|
| 1257 | + } elseif ($change[0] == 'remove_column' && isset($change[2])) { |
|
| 1258 | + $smcFunc['db_remove_column']($change[1], $change[2]); |
|
| 1259 | + } elseif ($change[0] == 'remove_index' && isset($change[2])) { |
|
| 1260 | + $smcFunc['db_remove_index']($change[1], $change[2]); |
|
| 1261 | + } |
|
| 1215 | 1262 | } |
| 1216 | 1263 | } |
| 1217 | 1264 | |
| 1218 | 1265 | // Clean house... get rid of the evidence ;). |
| 1219 | - if (file_exists($packagesdir . '/temp')) |
|
| 1220 | - deltree($packagesdir . '/temp'); |
|
| 1266 | + if (file_exists($packagesdir . '/temp')) { |
|
| 1267 | + deltree($packagesdir . '/temp'); |
|
| 1268 | + } |
|
| 1221 | 1269 | |
| 1222 | 1270 | // Log what we just did. |
| 1223 | 1271 | logAction($context['uninstalling'] ? 'uninstall_package' : (!empty($is_upgrade) ? 'upgrade_package' : 'install_package'), array('package' => $smcFunc['htmlspecialchars']($packageInfo['name']), 'version' => $smcFunc['htmlspecialchars']($packageInfo['version'])), 'admin'); |
@@ -1239,8 +1287,9 @@ discard block |
||
| 1239 | 1287 | require_once($sourcedir . '/Subs-Package.php'); |
| 1240 | 1288 | |
| 1241 | 1289 | // No package? Show him or her the door. |
| 1242 | - if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') |
|
| 1243 | - redirectexit('action=admin;area=packages'); |
|
| 1290 | + if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') { |
|
| 1291 | + redirectexit('action=admin;area=packages'); |
|
| 1292 | + } |
|
| 1244 | 1293 | |
| 1245 | 1294 | $context['linktree'][] = array( |
| 1246 | 1295 | 'url' => $scripturl . '?action=admin;area=packages;sa=list;package=' . $_REQUEST['package'], |
@@ -1253,11 +1302,12 @@ discard block |
||
| 1253 | 1302 | $context['filename'] = $_REQUEST['package']; |
| 1254 | 1303 | |
| 1255 | 1304 | // Let the unpacker do the work. |
| 1256 | - if (is_file($packagesdir . '/' . $context['filename'])) |
|
| 1257 | - $context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null); |
|
| 1258 | - elseif (is_dir($packagesdir . '/' . $context['filename'])) |
|
| 1259 | - $context['files'] = listtree($packagesdir . '/' . $context['filename']); |
|
| 1260 | -} |
|
| 1305 | + if (is_file($packagesdir . '/' . $context['filename'])) { |
|
| 1306 | + $context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null); |
|
| 1307 | + } elseif (is_dir($packagesdir . '/' . $context['filename'])) { |
|
| 1308 | + $context['files'] = listtree($packagesdir . '/' . $context['filename']); |
|
| 1309 | + } |
|
| 1310 | + } |
|
| 1261 | 1311 | |
| 1262 | 1312 | /** |
| 1263 | 1313 | * Display one of the files in a package. |
@@ -1269,22 +1319,25 @@ discard block |
||
| 1269 | 1319 | require_once($sourcedir . '/Subs-Package.php'); |
| 1270 | 1320 | |
| 1271 | 1321 | // No package? Show him or her the door. |
| 1272 | - if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') |
|
| 1273 | - redirectexit('action=admin;area=packages'); |
|
| 1322 | + if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') { |
|
| 1323 | + redirectexit('action=admin;area=packages'); |
|
| 1324 | + } |
|
| 1274 | 1325 | |
| 1275 | 1326 | // No file? Show him or her the door. |
| 1276 | - if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '') |
|
| 1277 | - redirectexit('action=admin;area=packages'); |
|
| 1327 | + if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '') { |
|
| 1328 | + redirectexit('action=admin;area=packages'); |
|
| 1329 | + } |
|
| 1278 | 1330 | |
| 1279 | 1331 | $_REQUEST['package'] = preg_replace('~[\.]+~', '.', strtr($_REQUEST['package'], array('/' => '_', '\\' => '_'))); |
| 1280 | 1332 | $_REQUEST['file'] = preg_replace('~[\.]+~', '.', $_REQUEST['file']); |
| 1281 | 1333 | |
| 1282 | 1334 | if (isset($_REQUEST['raw'])) |
| 1283 | 1335 | { |
| 1284 | - if (is_file($packagesdir . '/' . $_REQUEST['package'])) |
|
| 1285 | - echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true); |
|
| 1286 | - elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) |
|
| 1287 | - echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']); |
|
| 1336 | + if (is_file($packagesdir . '/' . $_REQUEST['package'])) { |
|
| 1337 | + echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true); |
|
| 1338 | + } elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) { |
|
| 1339 | + echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']); |
|
| 1340 | + } |
|
| 1288 | 1341 | |
| 1289 | 1342 | obExit(false); |
| 1290 | 1343 | } |
@@ -1301,17 +1354,19 @@ discard block |
||
| 1301 | 1354 | $context['filename'] = $_REQUEST['file']; |
| 1302 | 1355 | |
| 1303 | 1356 | // Let the unpacker do the work.... but make sure we handle images properly. |
| 1304 | - if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png'))) |
|
| 1305 | - $context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">'; |
|
| 1306 | - else |
|
| 1357 | + if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png'))) { |
|
| 1358 | + $context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">'; |
|
| 1359 | + } else |
|
| 1307 | 1360 | { |
| 1308 | - if (is_file($packagesdir . '/' . $_REQUEST['package'])) |
|
| 1309 | - $context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true)); |
|
| 1310 | - elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) |
|
| 1311 | - $context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file'])); |
|
| 1361 | + if (is_file($packagesdir . '/' . $_REQUEST['package'])) { |
|
| 1362 | + $context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true)); |
|
| 1363 | + } elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) { |
|
| 1364 | + $context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file'])); |
|
| 1365 | + } |
|
| 1312 | 1366 | |
| 1313 | - if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php') |
|
| 1314 | - $context['filedata'] = highlight_php_code($context['filedata']); |
|
| 1367 | + if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php') { |
|
| 1368 | + $context['filedata'] = highlight_php_code($context['filedata']); |
|
| 1369 | + } |
|
| 1315 | 1370 | } |
| 1316 | 1371 | } |
| 1317 | 1372 | |
@@ -1326,8 +1381,9 @@ discard block |
||
| 1326 | 1381 | checkSession('get'); |
| 1327 | 1382 | |
| 1328 | 1383 | // Ack, don't allow deletion of arbitrary files here, could become a security hole somehow! |
| 1329 | - if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups') |
|
| 1330 | - redirectexit('action=admin;area=packages;sa=browse'); |
|
| 1384 | + if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups') { |
|
| 1385 | + redirectexit('action=admin;area=packages;sa=browse'); |
|
| 1386 | + } |
|
| 1331 | 1387 | $_GET['package'] = preg_replace('~[\.]+~', '.', strtr($_GET['package'], array('/' => '_', '\\' => '_'))); |
| 1332 | 1388 | |
| 1333 | 1389 | // Can't delete what's not there. |
@@ -1335,9 +1391,9 @@ discard block |
||
| 1335 | 1391 | { |
| 1336 | 1392 | create_chmod_control(array($packagesdir . '/' . $_GET['package']), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=remove;package=' . $_GET['package'], 'crash_on_error' => true)); |
| 1337 | 1393 | |
| 1338 | - if (is_dir($packagesdir . '/' . $_GET['package'])) |
|
| 1339 | - deltree($packagesdir . '/' . $_GET['package']); |
|
| 1340 | - else |
|
| 1394 | + if (is_dir($packagesdir . '/' . $_GET['package'])) { |
|
| 1395 | + deltree($packagesdir . '/' . $_GET['package']); |
|
| 1396 | + } else |
|
| 1341 | 1397 | { |
| 1342 | 1398 | smf_chmod($packagesdir . '/' . $_GET['package'], 0777); |
| 1343 | 1399 | unlink($packagesdir . '/' . $_GET['package']); |
@@ -1385,8 +1441,9 @@ discard block |
||
| 1385 | 1441 | 'data' => array( |
| 1386 | 1442 | 'function' => function($package_md5) use ($type, &$context) |
| 1387 | 1443 | { |
| 1388 | - if (isset($context['available_' . $type . ''][$package_md5])) |
|
| 1389 | - return $context['available_' . $type . ''][$package_md5]['sort_id']; |
|
| 1444 | + if (isset($context['available_' . $type . ''][$package_md5])) { |
|
| 1445 | + return $context['available_' . $type . ''][$package_md5]['sort_id']; |
|
| 1446 | + } |
|
| 1390 | 1447 | }, |
| 1391 | 1448 | ), |
| 1392 | 1449 | 'sort' => array( |
@@ -1402,8 +1459,9 @@ discard block |
||
| 1402 | 1459 | 'data' => array( |
| 1403 | 1460 | 'function' => function($package_md5) use ($type, &$context) |
| 1404 | 1461 | { |
| 1405 | - if (isset($context['available_' . $type . ''][$package_md5])) |
|
| 1406 | - return $context['available_' . $type . ''][$package_md5]['name']; |
|
| 1462 | + if (isset($context['available_' . $type . ''][$package_md5])) { |
|
| 1463 | + return $context['available_' . $type . ''][$package_md5]['name']; |
|
| 1464 | + } |
|
| 1407 | 1465 | }, |
| 1408 | 1466 | ), |
| 1409 | 1467 | 'sort' => array( |
@@ -1418,8 +1476,9 @@ discard block |
||
| 1418 | 1476 | 'data' => array( |
| 1419 | 1477 | 'function' => function($package_md5) use ($type, &$context) |
| 1420 | 1478 | { |
| 1421 | - if (isset($context['available_' . $type . ''][$package_md5])) |
|
| 1422 | - return $context['available_' . $type . ''][$package_md5]['version']; |
|
| 1479 | + if (isset($context['available_' . $type . ''][$package_md5])) { |
|
| 1480 | + return $context['available_' . $type . ''][$package_md5]['version']; |
|
| 1481 | + } |
|
| 1423 | 1482 | }, |
| 1424 | 1483 | ), |
| 1425 | 1484 | 'sort' => array( |
@@ -1434,8 +1493,9 @@ discard block |
||
| 1434 | 1493 | 'data' => array( |
| 1435 | 1494 | 'function' => function($package_md5) use ($type, $txt, &$context) |
| 1436 | 1495 | { |
| 1437 | - if (isset($context['available_' . $type . ''][$package_md5])) |
|
| 1438 | - return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable']; |
|
| 1496 | + if (isset($context['available_' . $type . ''][$package_md5])) { |
|
| 1497 | + return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable']; |
|
| 1498 | + } |
|
| 1439 | 1499 | }, |
| 1440 | 1500 | 'class' => 'smalltext', |
| 1441 | 1501 | ), |
@@ -1451,28 +1511,30 @@ discard block |
||
| 1451 | 1511 | 'data' => array( |
| 1452 | 1512 | 'function' => function($package_md5) use ($type, &$context, $scripturl, $txt) |
| 1453 | 1513 | { |
| 1454 | - if (!isset($context['available_' . $type . ''][$package_md5])) |
|
| 1455 | - return ''; |
|
| 1514 | + if (!isset($context['available_' . $type . ''][$package_md5])) { |
|
| 1515 | + return ''; |
|
| 1516 | + } |
|
| 1456 | 1517 | |
| 1457 | 1518 | // Rewrite shortcut |
| 1458 | 1519 | $package = $context['available_' . $type . ''][$package_md5]; |
| 1459 | 1520 | $return = ''; |
| 1460 | 1521 | |
| 1461 | - if ($package['can_uninstall']) |
|
| 1462 | - $return = ' |
|
| 1522 | + if ($package['can_uninstall']) { |
|
| 1523 | + $return = ' |
|
| 1463 | 1524 | <a href="' . $scripturl . '?action=admin;area=packages;sa=uninstall;package=' . $package['filename'] . ';pid=' . $package['installed_id'] . '" class="button">' . $txt['uninstall'] . '</a>'; |
| 1464 | - elseif ($package['can_emulate_uninstall']) |
|
| 1465 | - $return = ' |
|
| 1525 | + } elseif ($package['can_emulate_uninstall']) { |
|
| 1526 | + $return = ' |
|
| 1466 | 1527 | <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>'; |
| 1467 | - elseif ($package['can_upgrade']) |
|
| 1468 | - $return = ' |
|
| 1528 | + } elseif ($package['can_upgrade']) { |
|
| 1529 | + $return = ' |
|
| 1469 | 1530 | <a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['package_upgrade'] . '</a>'; |
| 1470 | - elseif ($package['can_install']) |
|
| 1471 | - $return = ' |
|
| 1531 | + } elseif ($package['can_install']) { |
|
| 1532 | + $return = ' |
|
| 1472 | 1533 | <a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['install_mod'] . '</a>'; |
| 1473 | - elseif ($package['can_emulate_install']) |
|
| 1474 | - $return = ' |
|
| 1534 | + } elseif ($package['can_emulate_install']) { |
|
| 1535 | + $return = ' |
|
| 1475 | 1536 | <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>'; |
| 1537 | + } |
|
| 1476 | 1538 | |
| 1477 | 1539 | return $return . ' |
| 1478 | 1540 | <a href="' . $scripturl . '?action=admin;area=packages;sa=list;package=' . $package['filename'] . '" class="button">' . $txt['list_files'] . '</a> |
@@ -1537,12 +1599,14 @@ discard block |
||
| 1537 | 1599 | static $packages, $installed_mods; |
| 1538 | 1600 | |
| 1539 | 1601 | // Start things up |
| 1540 | - if (!isset($packages[$params])) |
|
| 1541 | - $packages[$params] = array(); |
|
| 1602 | + if (!isset($packages[$params])) { |
|
| 1603 | + $packages[$params] = array(); |
|
| 1604 | + } |
|
| 1542 | 1605 | |
| 1543 | 1606 | // We need the packages directory to be writable for this. |
| 1544 | - if (!@is_writable($packagesdir)) |
|
| 1545 | - create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true)); |
|
| 1607 | + if (!@is_writable($packagesdir)) { |
|
| 1608 | + create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true)); |
|
| 1609 | + } |
|
| 1546 | 1610 | |
| 1547 | 1611 | $the_version = strtr($forum_version, array('SMF ' => '')); |
| 1548 | 1612 | |
@@ -1550,41 +1614,44 @@ discard block |
||
| 1550 | 1614 | if (isset($_GET['version_emulate']) && strtr($_GET['version_emulate'], array('SMF ' => '')) == $the_version) |
| 1551 | 1615 | { |
| 1552 | 1616 | unset($_SESSION['version_emulate']); |
| 1553 | - } |
|
| 1554 | - elseif (isset($_GET['version_emulate'])) |
|
| 1617 | + } elseif (isset($_GET['version_emulate'])) |
|
| 1555 | 1618 | { |
| 1556 | - if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate'])) |
|
| 1557 | - unset($_SESSION['version_emulate']); |
|
| 1558 | - elseif ($_GET['version_emulate'] !== 0) |
|
| 1559 | - $_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => '')); |
|
| 1619 | + if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate'])) { |
|
| 1620 | + unset($_SESSION['version_emulate']); |
|
| 1621 | + } elseif ($_GET['version_emulate'] !== 0) { |
|
| 1622 | + $_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => '')); |
|
| 1623 | + } |
|
| 1560 | 1624 | } |
| 1561 | 1625 | if (!empty($_SESSION['version_emulate'])) |
| 1562 | 1626 | { |
| 1563 | 1627 | $context['forum_version'] = 'SMF ' . $_SESSION['version_emulate']; |
| 1564 | 1628 | $the_version = $_SESSION['version_emulate']; |
| 1565 | 1629 | } |
| 1566 | - if (isset($_SESSION['single_version_emulate'])) |
|
| 1567 | - unset($_SESSION['single_version_emulate']); |
|
| 1630 | + if (isset($_SESSION['single_version_emulate'])) { |
|
| 1631 | + unset($_SESSION['single_version_emulate']); |
|
| 1632 | + } |
|
| 1568 | 1633 | |
| 1569 | 1634 | if (empty($installed_mods)) |
| 1570 | 1635 | { |
| 1571 | 1636 | $instmods = loadInstalledPackages(); |
| 1572 | 1637 | $installed_mods = array(); |
| 1573 | 1638 | // Look through the list of installed mods... |
| 1574 | - foreach ($instmods as $installed_mod) |
|
| 1575 | - $installed_mods[$installed_mod['package_id']] = array( |
|
| 1639 | + foreach ($instmods as $installed_mod) { |
|
| 1640 | + $installed_mods[$installed_mod['package_id']] = array( |
|
| 1576 | 1641 | 'id' => $installed_mod['id'], |
| 1577 | 1642 | 'version' => $installed_mod['version'], |
| 1578 | 1643 | 'time_installed' => $installed_mod['time_installed'], |
| 1579 | 1644 | ); |
| 1645 | + } |
|
| 1580 | 1646 | |
| 1581 | 1647 | // Get a list of all the ids installed, so the latest packages won't include already installed ones. |
| 1582 | 1648 | $context['installed_mods'] = array_keys($installed_mods); |
| 1583 | 1649 | } |
| 1584 | 1650 | |
| 1585 | - if (empty($packages)) |
|
| 1586 | - foreach ($context['modification_types'] as $type) |
|
| 1651 | + if (empty($packages)) { |
|
| 1652 | + foreach ($context['modification_types'] as $type) |
|
| 1587 | 1653 | $packages[$type] = array(); |
| 1654 | + } |
|
| 1588 | 1655 | |
| 1589 | 1656 | if ($dir = @opendir($packagesdir)) |
| 1590 | 1657 | { |
@@ -1600,50 +1667,56 @@ discard block |
||
| 1600 | 1667 | |
| 1601 | 1668 | while ($package = readdir($dir)) |
| 1602 | 1669 | { |
| 1603 | - 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')) |
|
| 1604 | - continue; |
|
| 1670 | + 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')) { |
|
| 1671 | + continue; |
|
| 1672 | + } |
|
| 1605 | 1673 | |
| 1606 | 1674 | $skip = false; |
| 1607 | - foreach ($context['modification_types'] as $type) |
|
| 1608 | - if (isset($context['available_' . $type][md5($package)])) |
|
| 1675 | + foreach ($context['modification_types'] as $type) { |
|
| 1676 | + if (isset($context['available_' . $type][md5($package)])) |
|
| 1609 | 1677 | $skip = true; |
| 1678 | + } |
|
| 1610 | 1679 | |
| 1611 | - if ($skip) |
|
| 1612 | - continue; |
|
| 1680 | + if ($skip) { |
|
| 1681 | + continue; |
|
| 1682 | + } |
|
| 1613 | 1683 | |
| 1614 | 1684 | // Skip directories or files that are named the same. |
| 1615 | 1685 | if (is_dir($packagesdir . '/' . $package)) |
| 1616 | 1686 | { |
| 1617 | - if (in_array($package, $dirs)) |
|
| 1618 | - continue; |
|
| 1687 | + if (in_array($package, $dirs)) { |
|
| 1688 | + continue; |
|
| 1689 | + } |
|
| 1619 | 1690 | $dirs[] = $package; |
| 1620 | - } |
|
| 1621 | - elseif (substr(strtolower($package), -7) == '.tar.gz') |
|
| 1691 | + } elseif (substr(strtolower($package), -7) == '.tar.gz') |
|
| 1622 | 1692 | { |
| 1623 | - if (in_array(substr($package, 0, -7), $dirs)) |
|
| 1624 | - continue; |
|
| 1693 | + if (in_array(substr($package, 0, -7), $dirs)) { |
|
| 1694 | + continue; |
|
| 1695 | + } |
|
| 1625 | 1696 | $dirs[] = substr($package, 0, -7); |
| 1626 | - } |
|
| 1627 | - elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz') |
|
| 1697 | + } elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz') |
|
| 1628 | 1698 | { |
| 1629 | - if (in_array(substr($package, 0, -4), $dirs)) |
|
| 1630 | - continue; |
|
| 1699 | + if (in_array(substr($package, 0, -4), $dirs)) { |
|
| 1700 | + continue; |
|
| 1701 | + } |
|
| 1631 | 1702 | $dirs[] = substr($package, 0, -4); |
| 1632 | 1703 | } |
| 1633 | 1704 | |
| 1634 | 1705 | $packageInfo = getPackageInfo($package); |
| 1635 | - if (!is_array($packageInfo)) |
|
| 1636 | - continue; |
|
| 1706 | + if (!is_array($packageInfo)) { |
|
| 1707 | + continue; |
|
| 1708 | + } |
|
| 1637 | 1709 | |
| 1638 | 1710 | if (!empty($packageInfo)) |
| 1639 | 1711 | { |
| 1640 | 1712 | $packageInfo['installed_id'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['id'] : 0; |
| 1641 | 1713 | $packageInfo['time_installed'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['time_installed'] : 0; |
| 1642 | 1714 | |
| 1643 | - if (!isset($sort_id[$packageInfo['type']])) |
|
| 1644 | - $packageInfo['sort_id'] = $sort_id['unknown']; |
|
| 1645 | - else |
|
| 1646 | - $packageInfo['sort_id'] = $sort_id[$packageInfo['type']]; |
|
| 1715 | + if (!isset($sort_id[$packageInfo['type']])) { |
|
| 1716 | + $packageInfo['sort_id'] = $sort_id['unknown']; |
|
| 1717 | + } else { |
|
| 1718 | + $packageInfo['sort_id'] = $sort_id[$packageInfo['type']]; |
|
| 1719 | + } |
|
| 1647 | 1720 | |
| 1648 | 1721 | $packageInfo['is_installed'] = isset($installed_mods[$packageInfo['id']]); |
| 1649 | 1722 | $packageInfo['is_current'] = $packageInfo['is_installed'] && ($installed_mods[$packageInfo['id']]['version'] == $packageInfo['version']); |
@@ -1692,10 +1765,11 @@ discard block |
||
| 1692 | 1765 | foreach ($upgrades as $upgrade) |
| 1693 | 1766 | { |
| 1694 | 1767 | // Even if it is for this SMF, is it for the installed version of the mod? |
| 1695 | - if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for'))) |
|
| 1696 | - if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from'))) |
|
| 1768 | + if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for'))) { |
|
| 1769 | + if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from'))) |
|
| 1697 | 1770 | { |
| 1698 | 1771 | $packageInfo['can_upgrade'] = true; |
| 1772 | + } |
|
| 1699 | 1773 | break; |
| 1700 | 1774 | } |
| 1701 | 1775 | } |
@@ -1772,10 +1846,11 @@ discard block |
||
| 1772 | 1846 | |
| 1773 | 1847 | if (isset($_GET['type']) && $_GET['type'] == $params) |
| 1774 | 1848 | { |
| 1775 | - if (isset($_GET['desc'])) |
|
| 1776 | - krsort($packages[$params]); |
|
| 1777 | - else |
|
| 1778 | - ksort($packages[$params]); |
|
| 1849 | + if (isset($_GET['desc'])) { |
|
| 1850 | + krsort($packages[$params]); |
|
| 1851 | + } else { |
|
| 1852 | + ksort($packages[$params]); |
|
| 1853 | + } |
|
| 1779 | 1854 | } |
| 1780 | 1855 | |
| 1781 | 1856 | return $packages[$params]; |
@@ -1804,10 +1879,11 @@ discard block |
||
| 1804 | 1879 | redirectexit('action=admin;area=packages;sa=options'); |
| 1805 | 1880 | } |
| 1806 | 1881 | |
| 1807 | - if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match)) |
|
| 1808 | - $default_username = $match[1]; |
|
| 1809 | - else |
|
| 1810 | - $default_username = ''; |
|
| 1882 | + if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match)) { |
|
| 1883 | + $default_username = $match[1]; |
|
| 1884 | + } else { |
|
| 1885 | + $default_username = ''; |
|
| 1886 | + } |
|
| 1811 | 1887 | |
| 1812 | 1888 | $context['page_title'] = $txt['package_settings']; |
| 1813 | 1889 | $context['sub_template'] = 'install_options'; |
@@ -1836,8 +1912,9 @@ discard block |
||
| 1836 | 1912 | isAllowedTo('admin_forum'); |
| 1837 | 1913 | |
| 1838 | 1914 | // We need to know the operation key for the search and replace, mod file looking at, is it a board mod? |
| 1839 | - if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key'])) |
|
| 1840 | - fatal_lang_error('operation_invalid', 'general'); |
|
| 1915 | + if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key'])) { |
|
| 1916 | + fatal_lang_error('operation_invalid', 'general'); |
|
| 1917 | + } |
|
| 1841 | 1918 | |
| 1842 | 1919 | // Load the required file. |
| 1843 | 1920 | require_once($sourcedir . '/Subs-Package.php'); |
@@ -1853,18 +1930,19 @@ discard block |
||
| 1853 | 1930 | { |
| 1854 | 1931 | $context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp'); |
| 1855 | 1932 | |
| 1856 | - if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) |
|
| 1857 | - foreach ($context['extracted_files'] as $file) |
|
| 1933 | + if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) { |
|
| 1934 | + foreach ($context['extracted_files'] as $file) |
|
| 1858 | 1935 | if (basename($file['filename']) == 'package-info.xml') |
| 1859 | 1936 | { |
| 1860 | 1937 | $context['base_path'] = dirname($file['filename']) . '/'; |
| 1938 | + } |
|
| 1861 | 1939 | break; |
| 1862 | 1940 | } |
| 1863 | 1941 | |
| 1864 | - if (!isset($context['base_path'])) |
|
| 1865 | - $context['base_path'] = ''; |
|
| 1866 | - } |
|
| 1867 | - elseif (is_dir($packagesdir . '/' . $context['filename'])) |
|
| 1942 | + if (!isset($context['base_path'])) { |
|
| 1943 | + $context['base_path'] = ''; |
|
| 1944 | + } |
|
| 1945 | + } elseif (is_dir($packagesdir . '/' . $context['filename'])) |
|
| 1868 | 1946 | { |
| 1869 | 1947 | copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp'); |
| 1870 | 1948 | $context['extracted_files'] = listtree($packagesdir . '/temp'); |
@@ -1885,8 +1963,9 @@ discard block |
||
| 1885 | 1963 | ) |
| 1886 | 1964 | ); |
| 1887 | 1965 | $theme_paths = array(); |
| 1888 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 1889 | - $theme_paths[$row['id_theme']][$row['variable']] = $row['value']; |
|
| 1966 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 1967 | + $theme_paths[$row['id_theme']][$row['variable']] = $row['value']; |
|
| 1968 | + } |
|
| 1890 | 1969 | $smcFunc['db_free_result']($request); |
| 1891 | 1970 | |
| 1892 | 1971 | // If we're viewing uninstall operations, only consider themes that |
@@ -1911,19 +1990,21 @@ discard block |
||
| 1911 | 1990 | list ($old_themes) = $smcFunc['db_fetch_row']($request); |
| 1912 | 1991 | $old_themes = explode(',', $old_themes); |
| 1913 | 1992 | |
| 1914 | - foreach ($theme_paths as $id => $data) |
|
| 1915 | - if ($id != 1 && !in_array($id, $old_themes)) |
|
| 1993 | + foreach ($theme_paths as $id => $data) { |
|
| 1994 | + if ($id != 1 && !in_array($id, $old_themes)) |
|
| 1916 | 1995 | unset($theme_paths[$id]); |
| 1996 | + } |
|
| 1917 | 1997 | } |
| 1918 | 1998 | $smcFunc['db_free_result']($request); |
| 1919 | 1999 | } |
| 1920 | 2000 | } |
| 1921 | 2001 | |
| 1922 | 2002 | // Boardmod? |
| 1923 | - if (isset($_REQUEST['boardmod'])) |
|
| 1924 | - $mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths); |
|
| 1925 | - else |
|
| 1926 | - $mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths); |
|
| 2003 | + if (isset($_REQUEST['boardmod'])) { |
|
| 2004 | + $mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths); |
|
| 2005 | + } else { |
|
| 2006 | + $mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths); |
|
| 2007 | + } |
|
| 1927 | 2008 | |
| 1928 | 2009 | // Ok lets get the content of the file. |
| 1929 | 2010 | $context['operations'] = array( |
@@ -1979,9 +2060,9 @@ discard block |
||
| 1979 | 2060 | 'path' => $detect_path, |
| 1980 | 2061 | 'form_elements_only' => true, |
| 1981 | 2062 | ); |
| 2063 | + } else { |
|
| 2064 | + $context['ftp_connected'] = true; |
|
| 1982 | 2065 | } |
| 1983 | - else |
|
| 1984 | - $context['ftp_connected'] = true; |
|
| 1985 | 2066 | |
| 1986 | 2067 | // Define the template. |
| 1987 | 2068 | $context['page_title'] = $txt['package_file_perms']; |
@@ -2094,18 +2175,19 @@ discard block |
||
| 2094 | 2175 | { |
| 2095 | 2176 | unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']); |
| 2096 | 2177 | |
| 2097 | - if (!is_array($modSettings['attachmentUploadDir'])) |
|
| 2098 | - $modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true); |
|
| 2178 | + if (!is_array($modSettings['attachmentUploadDir'])) { |
|
| 2179 | + $modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true); |
|
| 2180 | + } |
|
| 2099 | 2181 | |
| 2100 | 2182 | // @todo Should we suggest non-current directories be read only? |
| 2101 | - foreach ($modSettings['attachmentUploadDir'] as $dir) |
|
| 2102 | - $context['file_tree'][strtr($dir, array('\\' => '/'))] = array( |
|
| 2183 | + foreach ($modSettings['attachmentUploadDir'] as $dir) { |
|
| 2184 | + $context['file_tree'][strtr($dir, array('\\' => '/'))] = array( |
|
| 2103 | 2185 | 'type' => 'dir', |
| 2104 | 2186 | 'writable_on' => 'restrictive', |
| 2105 | 2187 | ); |
| 2188 | + } |
|
| 2106 | 2189 | |
| 2107 | - } |
|
| 2108 | - elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir) |
|
| 2190 | + } elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir) |
|
| 2109 | 2191 | { |
| 2110 | 2192 | unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']); |
| 2111 | 2193 | $context['file_tree'][strtr($modSettings['attachmentUploadDir'], array('\\' => '/'))] = array( |
@@ -2155,8 +2237,8 @@ discard block |
||
| 2155 | 2237 | ); |
| 2156 | 2238 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 2157 | 2239 | { |
| 2158 | - if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes')) |
|
| 2159 | - $context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array( |
|
| 2240 | + if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes')) { |
|
| 2241 | + $context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array( |
|
| 2160 | 2242 | 'type' => 'dir_recursive', |
| 2161 | 2243 | 'list_contents' => true, |
| 2162 | 2244 | 'contents' => array( |
@@ -2166,7 +2248,7 @@ discard block |
||
| 2166 | 2248 | ), |
| 2167 | 2249 | ), |
| 2168 | 2250 | ); |
| 2169 | - else |
|
| 2251 | + } else |
|
| 2170 | 2252 | { |
| 2171 | 2253 | $context['file_tree'][strtr($row['value'], array('\\' => '/'))] = array( |
| 2172 | 2254 | 'type' => 'dir_recursive', |
@@ -2183,28 +2265,33 @@ discard block |
||
| 2183 | 2265 | $smcFunc['db_free_result']($request); |
| 2184 | 2266 | |
| 2185 | 2267 | // If we're submitting then let's move on to another function to keep things cleaner.. |
| 2186 | - if (isset($_POST['action_changes'])) |
|
| 2187 | - return PackagePermissionsAction(); |
|
| 2268 | + if (isset($_POST['action_changes'])) { |
|
| 2269 | + return PackagePermissionsAction(); |
|
| 2270 | + } |
|
| 2188 | 2271 | |
| 2189 | 2272 | $context['look_for'] = array(); |
| 2190 | 2273 | // Are we looking for a particular tree - normally an expansion? |
| 2191 | - if (!empty($_REQUEST['find'])) |
|
| 2192 | - $context['look_for'][] = base64_decode($_REQUEST['find']); |
|
| 2274 | + if (!empty($_REQUEST['find'])) { |
|
| 2275 | + $context['look_for'][] = base64_decode($_REQUEST['find']); |
|
| 2276 | + } |
|
| 2193 | 2277 | // Only that tree? |
| 2194 | 2278 | $context['only_find'] = isset($_GET['xml']) && !empty($_REQUEST['onlyfind']) ? $_REQUEST['onlyfind'] : ''; |
| 2195 | - if ($context['only_find']) |
|
| 2196 | - $context['look_for'][] = $context['only_find']; |
|
| 2279 | + if ($context['only_find']) { |
|
| 2280 | + $context['look_for'][] = $context['only_find']; |
|
| 2281 | + } |
|
| 2197 | 2282 | |
| 2198 | 2283 | // Have we got a load of back-catalogue trees to expand from a submit etc? |
| 2199 | 2284 | if (!empty($_GET['back_look'])) |
| 2200 | 2285 | { |
| 2201 | 2286 | $potententialTrees = $smcFunc['json_decode'](base64_decode($_GET['back_look']), true); |
| 2202 | - foreach ($potententialTrees as $tree) |
|
| 2203 | - $context['look_for'][] = $tree; |
|
| 2287 | + foreach ($potententialTrees as $tree) { |
|
| 2288 | + $context['look_for'][] = $tree; |
|
| 2289 | + } |
|
| 2204 | 2290 | } |
| 2205 | 2291 | // ... maybe posted? |
| 2206 | - if (!empty($_POST['back_look'])) |
|
| 2207 | - $context['only_find'] = array_merge($context['only_find'], $_POST['back_look']); |
|
| 2292 | + if (!empty($_POST['back_look'])) { |
|
| 2293 | + $context['only_find'] = array_merge($context['only_find'], $_POST['back_look']); |
|
| 2294 | + } |
|
| 2208 | 2295 | |
| 2209 | 2296 | $context['back_look_data'] = base64_encode($smcFunc['json_encode'](array_slice($context['look_for'], 0, 15))); |
| 2210 | 2297 | |
@@ -2243,9 +2330,9 @@ discard block |
||
| 2243 | 2330 | 'chmod' => @is_writable($path), |
| 2244 | 2331 | 'perms' => @fileperms($path), |
| 2245 | 2332 | ); |
| 2333 | + } else { |
|
| 2334 | + unset($context['file_tree'][$path]); |
|
| 2246 | 2335 | } |
| 2247 | - else |
|
| 2248 | - unset($context['file_tree'][$path]); |
|
| 2249 | 2336 | } |
| 2250 | 2337 | |
| 2251 | 2338 | // Is this actually xml? |
@@ -2269,22 +2356,25 @@ discard block |
||
| 2269 | 2356 | global $context; |
| 2270 | 2357 | |
| 2271 | 2358 | $isLikelyPath = false; |
| 2272 | - foreach ($context['look_for'] as $possiblePath) |
|
| 2273 | - if (substr($possiblePath, 0, strlen($path)) == $path) |
|
| 2359 | + foreach ($context['look_for'] as $possiblePath) { |
|
| 2360 | + if (substr($possiblePath, 0, strlen($path)) == $path) |
|
| 2274 | 2361 | $isLikelyPath = true; |
| 2362 | + } |
|
| 2275 | 2363 | |
| 2276 | 2364 | // Is this where we stop? |
| 2277 | - if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath) |
|
| 2278 | - return; |
|
| 2279 | - elseif ($level > $context['default_level'] && !$isLikelyPath) |
|
| 2280 | - return; |
|
| 2365 | + if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath) { |
|
| 2366 | + return; |
|
| 2367 | + } elseif ($level > $context['default_level'] && !$isLikelyPath) { |
|
| 2368 | + return; |
|
| 2369 | + } |
|
| 2281 | 2370 | |
| 2282 | 2371 | // Are we actually interested in saving this data? |
| 2283 | 2372 | $save_data = empty($context['only_find']) || $context['only_find'] == $path; |
| 2284 | 2373 | |
| 2285 | 2374 | // @todo Shouldn't happen - but better error message? |
| 2286 | - if (!is_dir($path)) |
|
| 2287 | - fatal_lang_error('no_access', false); |
|
| 2375 | + if (!is_dir($path)) { |
|
| 2376 | + fatal_lang_error('no_access', false); |
|
| 2377 | + } |
|
| 2288 | 2378 | |
| 2289 | 2379 | // This is where we put stuff we've found for sorting. |
| 2290 | 2380 | $foundData = array( |
@@ -2299,11 +2389,13 @@ discard block |
||
| 2299 | 2389 | if (is_file($path . '/' . $entry)) |
| 2300 | 2390 | { |
| 2301 | 2391 | // Are we listing PHP files in this directory? |
| 2302 | - if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php') |
|
| 2303 | - $foundData['files'][$entry] = true; |
|
| 2392 | + if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php') { |
|
| 2393 | + $foundData['files'][$entry] = true; |
|
| 2394 | + } |
|
| 2304 | 2395 | // A file we were looking for. |
| 2305 | - elseif ($save_data && isset($data['contents'][$entry])) |
|
| 2306 | - $foundData['files'][$entry] = true; |
|
| 2396 | + elseif ($save_data && isset($data['contents'][$entry])) { |
|
| 2397 | + $foundData['files'][$entry] = true; |
|
| 2398 | + } |
|
| 2307 | 2399 | } |
| 2308 | 2400 | // It's a directory - we're interested one way or another, probably... |
| 2309 | 2401 | elseif ($entry != '.' && $entry != '..') |
@@ -2311,32 +2403,36 @@ discard block |
||
| 2311 | 2403 | // Going further? |
| 2312 | 2404 | 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')))) |
| 2313 | 2405 | { |
| 2314 | - if (!isset($data['contents'][$entry])) |
|
| 2315 | - $foundData['folders'][$entry] = 'dir_recursive'; |
|
| 2316 | - else |
|
| 2317 | - $foundData['folders'][$entry] = true; |
|
| 2406 | + if (!isset($data['contents'][$entry])) { |
|
| 2407 | + $foundData['folders'][$entry] = 'dir_recursive'; |
|
| 2408 | + } else { |
|
| 2409 | + $foundData['folders'][$entry] = true; |
|
| 2410 | + } |
|
| 2318 | 2411 | |
| 2319 | 2412 | // If this wasn't expected inherit the recusiveness... |
| 2320 | - if (!isset($data['contents'][$entry])) |
|
| 2321 | - // We need to do this as we will be going all recursive. |
|
| 2413 | + if (!isset($data['contents'][$entry])) { |
|
| 2414 | + // We need to do this as we will be going all recursive. |
|
| 2322 | 2415 | $data['contents'][$entry] = array( |
| 2323 | 2416 | 'type' => 'dir_recursive', |
| 2324 | 2417 | ); |
| 2418 | + } |
|
| 2325 | 2419 | |
| 2326 | 2420 | // Actually do the recursive stuff... |
| 2327 | 2421 | fetchPerms__recursive($path . '/' . $entry, $data['contents'][$entry], $level + 1); |
| 2328 | 2422 | } |
| 2329 | 2423 | // Maybe it is a folder we are not descending into. |
| 2330 | - elseif (isset($data['contents'][$entry])) |
|
| 2331 | - $foundData['folders'][$entry] = true; |
|
| 2424 | + elseif (isset($data['contents'][$entry])) { |
|
| 2425 | + $foundData['folders'][$entry] = true; |
|
| 2426 | + } |
|
| 2332 | 2427 | // Otherwise we stop here. |
| 2333 | 2428 | } |
| 2334 | 2429 | } |
| 2335 | 2430 | closedir($dh); |
| 2336 | 2431 | |
| 2337 | 2432 | // Nothing to see here? |
| 2338 | - if (!$save_data) |
|
| 2339 | - return; |
|
| 2433 | + if (!$save_data) { |
|
| 2434 | + return; |
|
| 2435 | + } |
|
| 2340 | 2436 | |
| 2341 | 2437 | // Now actually add the data, starting with the folders. |
| 2342 | 2438 | ksort($foundData['folders']); |
@@ -2348,8 +2444,9 @@ discard block |
||
| 2348 | 2444 | 'perms' => @fileperms($path . '/' . $folder), |
| 2349 | 2445 | ), |
| 2350 | 2446 | ); |
| 2351 | - if ($type !== true) |
|
| 2352 | - $additional_data['type'] = $type; |
|
| 2447 | + if ($type !== true) { |
|
| 2448 | + $additional_data['type'] = $type; |
|
| 2449 | + } |
|
| 2353 | 2450 | |
| 2354 | 2451 | // If there's an offset ignore any folders in XML mode. |
| 2355 | 2452 | if (isset($_GET['xml']) && $context['file_offset'] == 0) |
@@ -2368,13 +2465,13 @@ discard block |
||
| 2368 | 2465 | ), |
| 2369 | 2466 | 'value' => $folder, |
| 2370 | 2467 | ); |
| 2371 | - } |
|
| 2372 | - elseif (!isset($_GET['xml'])) |
|
| 2468 | + } elseif (!isset($_GET['xml'])) |
|
| 2373 | 2469 | { |
| 2374 | - if (isset($data['contents'][$folder])) |
|
| 2375 | - $data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data); |
|
| 2376 | - else |
|
| 2377 | - $data['contents'][$folder] = $additional_data; |
|
| 2470 | + if (isset($data['contents'][$folder])) { |
|
| 2471 | + $data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data); |
|
| 2472 | + } else { |
|
| 2473 | + $data['contents'][$folder] = $additional_data; |
|
| 2474 | + } |
|
| 2378 | 2475 | } |
| 2379 | 2476 | } |
| 2380 | 2477 | |
@@ -2386,11 +2483,13 @@ discard block |
||
| 2386 | 2483 | $counter++; |
| 2387 | 2484 | |
| 2388 | 2485 | // Have we reached our offset? |
| 2389 | - if ($context['file_offset'] > $counter) |
|
| 2390 | - continue; |
|
| 2486 | + if ($context['file_offset'] > $counter) { |
|
| 2487 | + continue; |
|
| 2488 | + } |
|
| 2391 | 2489 | // Gone too far? |
| 2392 | - if ($counter > ($context['file_offset'] + $context['file_limit'])) |
|
| 2393 | - continue; |
|
| 2490 | + if ($counter > ($context['file_offset'] + $context['file_limit'])) { |
|
| 2491 | + continue; |
|
| 2492 | + } |
|
| 2394 | 2493 | |
| 2395 | 2494 | $additional_data = array( |
| 2396 | 2495 | 'perms' => array( |
@@ -2416,13 +2515,13 @@ discard block |
||
| 2416 | 2515 | ), |
| 2417 | 2516 | 'value' => $file, |
| 2418 | 2517 | ); |
| 2419 | - } |
|
| 2420 | - elseif ($counter != ($context['file_offset'] + $context['file_limit'])) |
|
| 2518 | + } elseif ($counter != ($context['file_offset'] + $context['file_limit'])) |
|
| 2421 | 2519 | { |
| 2422 | - if (isset($data['contents'][$file])) |
|
| 2423 | - $data['contents'][$file] = array_merge($data['contents'][$file], $additional_data); |
|
| 2424 | - else |
|
| 2425 | - $data['contents'][$file] = $additional_data; |
|
| 2520 | + if (isset($data['contents'][$file])) { |
|
| 2521 | + $data['contents'][$file] = array_merge($data['contents'][$file], $additional_data); |
|
| 2522 | + } else { |
|
| 2523 | + $data['contents'][$file] = $additional_data; |
|
| 2524 | + } |
|
| 2426 | 2525 | } |
| 2427 | 2526 | } |
| 2428 | 2527 | } |
@@ -2444,8 +2543,9 @@ discard block |
||
| 2444 | 2543 | $context['back_look_data'] = isset($_POST['back_look']) ? $_POST['back_look'] : array(); |
| 2445 | 2544 | |
| 2446 | 2545 | // Skipping use of FTP? |
| 2447 | - if (empty($package_ftp)) |
|
| 2448 | - $context['skip_ftp'] = true; |
|
| 2546 | + if (empty($package_ftp)) { |
|
| 2547 | + $context['skip_ftp'] = true; |
|
| 2548 | + } |
|
| 2449 | 2549 | |
| 2450 | 2550 | // 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. |
| 2451 | 2551 | if ($context['method'] == 'individual') |
@@ -2455,8 +2555,9 @@ discard block |
||
| 2455 | 2555 | $context['custom_value'] = (int) $_POST['custom_value']; |
| 2456 | 2556 | |
| 2457 | 2557 | // Continuing? |
| 2458 | - if (isset($_POST['toProcess'])) |
|
| 2459 | - $_POST['permStatus'] = $smcFunc['json_decode'](base64_decode($_POST['toProcess']), true); |
|
| 2558 | + if (isset($_POST['toProcess'])) { |
|
| 2559 | + $_POST['permStatus'] = $smcFunc['json_decode'](base64_decode($_POST['toProcess']), true); |
|
| 2560 | + } |
|
| 2460 | 2561 | |
| 2461 | 2562 | if (isset($_POST['permStatus'])) |
| 2462 | 2563 | { |
@@ -2465,22 +2566,27 @@ discard block |
||
| 2465 | 2566 | foreach ($_POST['permStatus'] as $path => $status) |
| 2466 | 2567 | { |
| 2467 | 2568 | // Nothing to see here? |
| 2468 | - if ($status == 'no_change') |
|
| 2469 | - continue; |
|
| 2569 | + if ($status == 'no_change') { |
|
| 2570 | + continue; |
|
| 2571 | + } |
|
| 2470 | 2572 | $legal = false; |
| 2471 | - foreach ($legal_roots as $root) |
|
| 2472 | - if (substr($path, 0, strlen($root)) == $root) |
|
| 2573 | + foreach ($legal_roots as $root) { |
|
| 2574 | + if (substr($path, 0, strlen($root)) == $root) |
|
| 2473 | 2575 | $legal = true; |
| 2576 | + } |
|
| 2474 | 2577 | |
| 2475 | - if (!$legal) |
|
| 2476 | - continue; |
|
| 2578 | + if (!$legal) { |
|
| 2579 | + continue; |
|
| 2580 | + } |
|
| 2477 | 2581 | |
| 2478 | 2582 | // Check it exists. |
| 2479 | - if (!file_exists($path)) |
|
| 2480 | - continue; |
|
| 2583 | + if (!file_exists($path)) { |
|
| 2584 | + continue; |
|
| 2585 | + } |
|
| 2481 | 2586 | |
| 2482 | - if ($status == 'custom') |
|
| 2483 | - $validate_custom = true; |
|
| 2587 | + if ($status == 'custom') { |
|
| 2588 | + $validate_custom = true; |
|
| 2589 | + } |
|
| 2484 | 2590 | |
| 2485 | 2591 | // Now add it. |
| 2486 | 2592 | $context['to_process'][$path] = $status; |
@@ -2490,17 +2596,20 @@ discard block |
||
| 2490 | 2596 | // Make sure the chmod status is valid? |
| 2491 | 2597 | if ($validate_custom) |
| 2492 | 2598 | { |
| 2493 | - if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false) |
|
| 2494 | - fatal_error($txt['chmod_value_invalid']); |
|
| 2599 | + if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false) { |
|
| 2600 | + fatal_error($txt['chmod_value_invalid']); |
|
| 2601 | + } |
|
| 2495 | 2602 | } |
| 2496 | 2603 | |
| 2497 | 2604 | // Nothing to do? |
| 2498 | - if (empty($context['to_process'])) |
|
| 2499 | - 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 | + if (empty($context['to_process'])) { |
|
| 2606 | + 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']); |
|
| 2607 | + } |
|
| 2500 | 2608 | } |
| 2501 | 2609 | // Should never get here, |
| 2502 | - else |
|
| 2503 | - fatal_lang_error('no_access', false); |
|
| 2610 | + else { |
|
| 2611 | + fatal_lang_error('no_access', false); |
|
| 2612 | + } |
|
| 2504 | 2613 | |
| 2505 | 2614 | // Setup the custom value. |
| 2506 | 2615 | $custom_value = octdec('0' . $context['custom_value']); |
@@ -2508,18 +2617,18 @@ discard block |
||
| 2508 | 2617 | // Start processing items. |
| 2509 | 2618 | foreach ($context['to_process'] as $path => $status) |
| 2510 | 2619 | { |
| 2511 | - if (in_array($status, array('execute', 'writable', 'read'))) |
|
| 2512 | - package_chmod($path, $status); |
|
| 2513 | - elseif ($status == 'custom' && !empty($custom_value)) |
|
| 2620 | + if (in_array($status, array('execute', 'writable', 'read'))) { |
|
| 2621 | + package_chmod($path, $status); |
|
| 2622 | + } elseif ($status == 'custom' && !empty($custom_value)) |
|
| 2514 | 2623 | { |
| 2515 | 2624 | // Use FTP if we have it. |
| 2516 | 2625 | if (!empty($package_ftp) && !empty($_SESSION['pack_ftp'])) |
| 2517 | 2626 | { |
| 2518 | 2627 | $ftp_file = strtr($path, array($_SESSION['pack_ftp']['root'] => '')); |
| 2519 | 2628 | $package_ftp->chmod($ftp_file, $custom_value); |
| 2629 | + } else { |
|
| 2630 | + smf_chmod($path, $custom_value); |
|
| 2520 | 2631 | } |
| 2521 | - else |
|
| 2522 | - smf_chmod($path, $custom_value); |
|
| 2523 | 2632 | } |
| 2524 | 2633 | |
| 2525 | 2634 | // This fish is fried... |
@@ -2603,23 +2712,27 @@ discard block |
||
| 2603 | 2712 | { |
| 2604 | 2713 | global $context; |
| 2605 | 2714 | |
| 2606 | - if (!empty($data['writable_on'])) |
|
| 2607 | - if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive') |
|
| 2715 | + if (!empty($data['writable_on'])) { |
|
| 2716 | + if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive') |
|
| 2608 | 2717 | $context['special_files'][$path] = 1; |
| 2718 | + } |
|
| 2609 | 2719 | |
| 2610 | - if (!empty($data['contents'])) |
|
| 2611 | - foreach ($data['contents'] as $name => $contents) |
|
| 2720 | + if (!empty($data['contents'])) { |
|
| 2721 | + foreach ($data['contents'] as $name => $contents) |
|
| 2612 | 2722 | build_special_files__recursive($path . '/' . $name, $contents); |
| 2723 | + } |
|
| 2613 | 2724 | } |
| 2614 | 2725 | |
| 2615 | - foreach ($context['file_tree'] as $path => $data) |
|
| 2616 | - build_special_files__recursive($path, $data); |
|
| 2726 | + foreach ($context['file_tree'] as $path => $data) { |
|
| 2727 | + build_special_files__recursive($path, $data); |
|
| 2728 | + } |
|
| 2617 | 2729 | } |
| 2618 | 2730 | // Free doesn't need special files. |
| 2619 | - elseif ($context['predefined_type'] == 'free') |
|
| 2620 | - $context['special_files'] = array(); |
|
| 2621 | - else |
|
| 2622 | - $context['special_files'] = $smcFunc['json_decode'](base64_decode($_POST['specialFiles']), true); |
|
| 2731 | + elseif ($context['predefined_type'] == 'free') { |
|
| 2732 | + $context['special_files'] = array(); |
|
| 2733 | + } else { |
|
| 2734 | + $context['special_files'] = $smcFunc['json_decode'](base64_decode($_POST['specialFiles']), true); |
|
| 2735 | + } |
|
| 2623 | 2736 | |
| 2624 | 2737 | // Now we definitely know where we are, we need to go through again doing the chmod! |
| 2625 | 2738 | foreach ($context['directory_list'] as $path => $dummy) |