@@ -382,7 +382,7 @@ |
||
382 | 382 | * @param array $parameters Not used? |
383 | 383 | * @param string $if_exists What to do if the index exists. If 'update', the definition will be updated. |
384 | 384 | * @param string $error |
385 | - * @return boolean Whether or not the operation was successful |
|
385 | + * @return false|null Whether or not the operation was successful |
|
386 | 386 | */ |
387 | 387 | function smf_db_add_index($table_name, $index_info, $parameters = array(), $if_exists = 'update', $error = 'fatal') |
388 | 388 | { |
@@ -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 | * Add the file functions to the $smcFunc array. |
@@ -53,8 +54,9 @@ discard block |
||
53 | 54 | 'messages', 'moderator_groups', 'moderators', 'package_servers', 'permission_profiles', 'permissions', 'personal_messages', |
54 | 55 | 'pm_labeled_messages', 'pm_labels', 'pm_recipients', 'pm_rules', 'poll_choices', 'polls', 'scheduled_tasks', 'sessions', 'settings', 'smileys', |
55 | 56 | 'spiders', 'subscriptions', 'themes', 'topics', 'user_alerts', 'user_alerts_prefs', 'user_drafts', 'user_likes'); |
56 | - foreach ($reservedTables as $k => $table_name) |
|
57 | - $reservedTables[$k] = strtolower($db_prefix . $table_name); |
|
57 | + foreach ($reservedTables as $k => $table_name) { |
|
58 | + $reservedTables[$k] = strtolower($db_prefix . $table_name); |
|
59 | + } |
|
58 | 60 | |
59 | 61 | // We in turn may need the extra stuff. |
60 | 62 | db_extend('extra'); |
@@ -106,8 +108,9 @@ discard block |
||
106 | 108 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
107 | 109 | |
108 | 110 | // First - no way do we touch SMF tables. |
109 | - if (in_array(strtolower($table_name), $reservedTables)) |
|
110 | - return false; |
|
111 | + if (in_array(strtolower($table_name), $reservedTables)) { |
|
112 | + return false; |
|
113 | + } |
|
111 | 114 | |
112 | 115 | // Log that we'll want to remove this on uninstall. |
113 | 116 | $db_package_log[] = array('remove_table', $table_name); |
@@ -117,16 +120,18 @@ discard block |
||
117 | 120 | if (in_array($full_table_name, $tables)) |
118 | 121 | { |
119 | 122 | // This is a sad day... drop the table? If not, return false (error) by default. |
120 | - if ($if_exists == 'overwrite') |
|
121 | - $smcFunc['db_drop_table']($table_name); |
|
122 | - else |
|
123 | - return $if_exists == 'ignore'; |
|
123 | + if ($if_exists == 'overwrite') { |
|
124 | + $smcFunc['db_drop_table']($table_name); |
|
125 | + } else { |
|
126 | + return $if_exists == 'ignore'; |
|
127 | + } |
|
124 | 128 | } |
125 | 129 | |
126 | 130 | // Righty - let's do the damn thing! |
127 | 131 | $table_query = 'CREATE TABLE ' . $table_name . "\n" . '('; |
128 | - foreach ($columns as $column) |
|
129 | - $table_query .= "\n\t" . smf_db_create_query_column($column) . ','; |
|
132 | + foreach ($columns as $column) { |
|
133 | + $table_query .= "\n\t" . smf_db_create_query_column($column) . ','; |
|
134 | + } |
|
130 | 135 | |
131 | 136 | // Loop through the indexes next... |
132 | 137 | foreach ($indexes as $index) |
@@ -134,19 +139,21 @@ discard block |
||
134 | 139 | $columns = implode(',', $index['columns']); |
135 | 140 | |
136 | 141 | // Is it the primary? |
137 | - if (isset($index['type']) && $index['type'] == 'primary') |
|
138 | - $table_query .= "\n\t" . 'PRIMARY KEY (' . implode(',', $index['columns']) . '),'; |
|
139 | - else |
|
142 | + if (isset($index['type']) && $index['type'] == 'primary') { |
|
143 | + $table_query .= "\n\t" . 'PRIMARY KEY (' . implode(',', $index['columns']) . '),'; |
|
144 | + } else |
|
140 | 145 | { |
141 | - if (empty($index['name'])) |
|
142 | - $index['name'] = implode('_', $index['columns']); |
|
146 | + if (empty($index['name'])) { |
|
147 | + $index['name'] = implode('_', $index['columns']); |
|
148 | + } |
|
143 | 149 | $table_query .= "\n\t" . (isset($index['type']) && $index['type'] == 'unique' ? 'UNIQUE' : 'KEY') . ' ' . $index['name'] . ' (' . $columns . '),'; |
144 | 150 | } |
145 | 151 | } |
146 | 152 | |
147 | 153 | // No trailing commas! |
148 | - if (substr($table_query, -1) == ',') |
|
149 | - $table_query = substr($table_query, 0, -1); |
|
154 | + if (substr($table_query, -1) == ',') { |
|
155 | + $table_query = substr($table_query, 0, -1); |
|
156 | + } |
|
150 | 157 | |
151 | 158 | // Which engine do we want here? |
152 | 159 | if (empty($engines)) |
@@ -156,8 +163,9 @@ discard block |
||
156 | 163 | |
157 | 164 | while ($row = $smcFunc['db_fetch_assoc']($get_engines)) |
158 | 165 | { |
159 | - if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT') |
|
160 | - $engines[] = $row['Engine']; |
|
166 | + if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT') { |
|
167 | + $engines[] = $row['Engine']; |
|
168 | + } |
|
161 | 169 | } |
162 | 170 | |
163 | 171 | $smcFunc['db_free_result']($get_engines); |
@@ -171,8 +179,9 @@ discard block |
||
171 | 179 | } |
172 | 180 | |
173 | 181 | $table_query .= ') ENGINE=' . $parameters['engine']; |
174 | - if (!empty($db_character_set) && $db_character_set == 'utf8') |
|
175 | - $table_query .= ' DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'; |
|
182 | + if (!empty($db_character_set) && $db_character_set == 'utf8') { |
|
183 | + $table_query .= ' DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'; |
|
184 | + } |
|
176 | 185 | |
177 | 186 | // Create the table! |
178 | 187 | $smcFunc['db_query']('', $table_query, |
@@ -204,8 +213,9 @@ discard block |
||
204 | 213 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
205 | 214 | |
206 | 215 | // God no - dropping one of these = bad. |
207 | - if (in_array(strtolower($table_name), $reservedTables)) |
|
208 | - return false; |
|
216 | + if (in_array(strtolower($table_name), $reservedTables)) { |
|
217 | + return false; |
|
218 | + } |
|
209 | 219 | |
210 | 220 | // Does it exist? |
211 | 221 | if (in_array($full_table_name, $smcFunc['db_list_tables']())) |
@@ -246,14 +256,16 @@ discard block |
||
246 | 256 | |
247 | 257 | // Does it exist - if so don't add it again! |
248 | 258 | $columns = $smcFunc['db_list_columns']($table_name, false); |
249 | - foreach ($columns as $column) |
|
250 | - if ($column == $column_info['name']) |
|
259 | + foreach ($columns as $column) { |
|
260 | + if ($column == $column_info['name']) |
|
251 | 261 | { |
252 | 262 | // If we're going to overwrite then use change column. |
253 | 263 | if ($if_exists == 'update') |
254 | 264 | return $smcFunc['db_change_column']($table_name, $column_info['name'], $column_info); |
255 | - else |
|
256 | - return false; |
|
265 | + } |
|
266 | + else { |
|
267 | + return false; |
|
268 | + } |
|
257 | 269 | } |
258 | 270 | |
259 | 271 | // Get the specifics... |
@@ -289,8 +301,8 @@ discard block |
||
289 | 301 | |
290 | 302 | // Does it exist? |
291 | 303 | $columns = $smcFunc['db_list_columns']($table_name, true); |
292 | - foreach ($columns as $column) |
|
293 | - if ($column['name'] == $column_name) |
|
304 | + foreach ($columns as $column) { |
|
305 | + if ($column['name'] == $column_name) |
|
294 | 306 | { |
295 | 307 | $smcFunc['db_query']('', ' |
296 | 308 | ALTER TABLE ' . $table_name . ' |
@@ -299,6 +311,7 @@ discard block |
||
299 | 311 | 'security_override' => true, |
300 | 312 | ) |
301 | 313 | ); |
314 | + } |
|
302 | 315 | |
303 | 316 | return true; |
304 | 317 | } |
@@ -324,37 +337,47 @@ discard block |
||
324 | 337 | // Check it does exist! |
325 | 338 | $columns = $smcFunc['db_list_columns']($table_name, true); |
326 | 339 | $old_info = null; |
327 | - foreach ($columns as $column) |
|
328 | - if ($column['name'] == $old_column) |
|
340 | + foreach ($columns as $column) { |
|
341 | + if ($column['name'] == $old_column) |
|
329 | 342 | $old_info = $column; |
343 | + } |
|
330 | 344 | |
331 | 345 | // Nothing? |
332 | - if ($old_info == null) |
|
333 | - return false; |
|
346 | + if ($old_info == null) { |
|
347 | + return false; |
|
348 | + } |
|
334 | 349 | |
335 | 350 | // Get the right bits. |
336 | - if (!isset($column_info['name'])) |
|
337 | - $column_info['name'] = $old_column; |
|
338 | - if (!isset($column_info['default'])) |
|
339 | - $column_info['default'] = $old_info['default']; |
|
340 | - if (!isset($column_info['null'])) |
|
341 | - $column_info['null'] = $old_info['null']; |
|
342 | - if (!isset($column_info['auto'])) |
|
343 | - $column_info['auto'] = $old_info['auto']; |
|
344 | - if (!isset($column_info['type'])) |
|
345 | - $column_info['type'] = $old_info['type']; |
|
346 | - if (!isset($column_info['size']) || !is_numeric($column_info['size'])) |
|
347 | - $column_info['size'] = $old_info['size']; |
|
348 | - if (!isset($column_info['unsigned']) || !in_array($column_info['type'], array('int', 'tinyint', 'smallint', 'mediumint', 'bigint'))) |
|
349 | - $column_info['unsigned'] = ''; |
|
351 | + if (!isset($column_info['name'])) { |
|
352 | + $column_info['name'] = $old_column; |
|
353 | + } |
|
354 | + if (!isset($column_info['default'])) { |
|
355 | + $column_info['default'] = $old_info['default']; |
|
356 | + } |
|
357 | + if (!isset($column_info['null'])) { |
|
358 | + $column_info['null'] = $old_info['null']; |
|
359 | + } |
|
360 | + if (!isset($column_info['auto'])) { |
|
361 | + $column_info['auto'] = $old_info['auto']; |
|
362 | + } |
|
363 | + if (!isset($column_info['type'])) { |
|
364 | + $column_info['type'] = $old_info['type']; |
|
365 | + } |
|
366 | + if (!isset($column_info['size']) || !is_numeric($column_info['size'])) { |
|
367 | + $column_info['size'] = $old_info['size']; |
|
368 | + } |
|
369 | + if (!isset($column_info['unsigned']) || !in_array($column_info['type'], array('int', 'tinyint', 'smallint', 'mediumint', 'bigint'))) { |
|
370 | + $column_info['unsigned'] = ''; |
|
371 | + } |
|
350 | 372 | |
351 | 373 | list ($type, $size) = $smcFunc['db_calculate_type']($column_info['type'], $column_info['size']); |
352 | 374 | |
353 | 375 | // Allow for unsigned integers (mysql only) |
354 | 376 | $unsigned = in_array($type, array('int', 'tinyint', 'smallint', 'mediumint', 'bigint')) && !empty($column_info['unsigned']) ? 'unsigned ' : ''; |
355 | 377 | |
356 | - if ($size !== null) |
|
357 | - $type = $type . '(' . $size . ')'; |
|
378 | + if ($size !== null) { |
|
379 | + $type = $type . '(' . $size . ')'; |
|
380 | + } |
|
358 | 381 | |
359 | 382 | $smcFunc['db_query']('', ' |
360 | 383 | ALTER TABLE ' . $table_name . ' |
@@ -384,18 +407,20 @@ discard block |
||
384 | 407 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
385 | 408 | |
386 | 409 | // No columns = no index. |
387 | - if (empty($index_info['columns'])) |
|
388 | - return false; |
|
410 | + if (empty($index_info['columns'])) { |
|
411 | + return false; |
|
412 | + } |
|
389 | 413 | $columns = implode(',', $index_info['columns']); |
390 | 414 | |
391 | 415 | // No name - make it up! |
392 | 416 | if (empty($index_info['name'])) |
393 | 417 | { |
394 | 418 | // No need for primary. |
395 | - if (isset($index_info['type']) && $index_info['type'] == 'primary') |
|
396 | - $index_info['name'] = ''; |
|
397 | - else |
|
398 | - $index_info['name'] = implode('_', $index_info['columns']); |
|
419 | + if (isset($index_info['type']) && $index_info['type'] == 'primary') { |
|
420 | + $index_info['name'] = ''; |
|
421 | + } else { |
|
422 | + $index_info['name'] = implode('_', $index_info['columns']); |
|
423 | + } |
|
399 | 424 | } |
400 | 425 | |
401 | 426 | // Log that we are going to want to remove this! |
@@ -409,10 +434,11 @@ discard block |
||
409 | 434 | if ($index['name'] == $index_info['name'] || ($index['type'] == 'primary' && isset($index_info['type']) && $index_info['type'] == 'primary')) |
410 | 435 | { |
411 | 436 | // If we want to overwrite simply remove the current one then continue. |
412 | - if ($if_exists != 'update' || $index['type'] == 'primary') |
|
413 | - return false; |
|
414 | - else |
|
415 | - $smcFunc['db_remove_index']($table_name, $index_info['name']); |
|
437 | + if ($if_exists != 'update' || $index['type'] == 'primary') { |
|
438 | + return false; |
|
439 | + } else { |
|
440 | + $smcFunc['db_remove_index']($table_name, $index_info['name']); |
|
441 | + } |
|
416 | 442 | } |
417 | 443 | } |
418 | 444 | |
@@ -426,8 +452,7 @@ discard block |
||
426 | 452 | 'security_override' => true, |
427 | 453 | ) |
428 | 454 | ); |
429 | - } |
|
430 | - else |
|
455 | + } else |
|
431 | 456 | { |
432 | 457 | $smcFunc['db_query']('', ' |
433 | 458 | ALTER TABLE ' . $table_name . ' |
@@ -511,8 +536,7 @@ discard block |
||
511 | 536 | $types = array( |
512 | 537 | 'inet' => 'varbinary', |
513 | 538 | ); |
514 | - } |
|
515 | - else |
|
539 | + } else |
|
516 | 540 | { |
517 | 541 | $types = array( |
518 | 542 | 'varbinary' => 'inet', |
@@ -526,16 +550,15 @@ discard block |
||
526 | 550 | { |
527 | 551 | $type_size = 16; |
528 | 552 | $type_name = 'varbinary'; |
529 | - } |
|
530 | - elseif ($type_name == 'varbinary' && $reverse && $type_size == 16) |
|
553 | + } elseif ($type_name == 'varbinary' && $reverse && $type_size == 16) |
|
531 | 554 | { |
532 | 555 | $type_name = 'inet'; |
533 | 556 | $type_size = null; |
557 | + } elseif ($type_name == 'varbinary') { |
|
558 | + $type_name = 'varbinary'; |
|
559 | + } else { |
|
560 | + $type_name = $types[$type_name]; |
|
534 | 561 | } |
535 | - elseif ($type_name == 'varbinary') |
|
536 | - $type_name = 'varbinary'; |
|
537 | - else |
|
538 | - $type_name = $types[$type_name]; |
|
539 | 562 | } |
540 | 563 | |
541 | 564 | return array($type_name, $type_size); |
@@ -602,8 +625,7 @@ discard block |
||
602 | 625 | if (!$detail) |
603 | 626 | { |
604 | 627 | $columns[] = $row['Field']; |
605 | - } |
|
606 | - else |
|
628 | + } else |
|
607 | 629 | { |
608 | 630 | // Is there an auto_increment? |
609 | 631 | $auto = strpos($row['Extra'], 'auto_increment') !== false ? true : false; |
@@ -613,10 +635,10 @@ discard block |
||
613 | 635 | { |
614 | 636 | $type = $matches[1]; |
615 | 637 | $size = $matches[2]; |
616 | - if (!empty($matches[3]) && $matches[3] == 'unsigned') |
|
617 | - $unsigned = true; |
|
618 | - } |
|
619 | - else |
|
638 | + if (!empty($matches[3]) && $matches[3] == 'unsigned') { |
|
639 | + $unsigned = true; |
|
640 | + } |
|
641 | + } else |
|
620 | 642 | { |
621 | 643 | $type = $row['Type']; |
622 | 644 | $size = null; |
@@ -667,19 +689,20 @@ discard block |
||
667 | 689 | $indexes = array(); |
668 | 690 | while ($row = $smcFunc['db_fetch_assoc']($result)) |
669 | 691 | { |
670 | - if (!$detail) |
|
671 | - $indexes[] = $row['Key_name']; |
|
672 | - else |
|
692 | + if (!$detail) { |
|
693 | + $indexes[] = $row['Key_name']; |
|
694 | + } else |
|
673 | 695 | { |
674 | 696 | // What is the type? |
675 | - if ($row['Key_name'] == 'PRIMARY') |
|
676 | - $type = 'primary'; |
|
677 | - elseif (empty($row['Non_unique'])) |
|
678 | - $type = 'unique'; |
|
679 | - elseif (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT') |
|
680 | - $type = 'fulltext'; |
|
681 | - else |
|
682 | - $type = 'index'; |
|
697 | + if ($row['Key_name'] == 'PRIMARY') { |
|
698 | + $type = 'primary'; |
|
699 | + } elseif (empty($row['Non_unique'])) { |
|
700 | + $type = 'unique'; |
|
701 | + } elseif (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT') { |
|
702 | + $type = 'fulltext'; |
|
703 | + } else { |
|
704 | + $type = 'index'; |
|
705 | + } |
|
683 | 706 | |
684 | 707 | // This is the first column we've seen? |
685 | 708 | if (empty($indexes[$row['Key_name']])) |
@@ -692,10 +715,11 @@ discard block |
||
692 | 715 | } |
693 | 716 | |
694 | 717 | // Is it a partial index? |
695 | - if (!empty($row['Sub_part'])) |
|
696 | - $indexes[$row['Key_name']]['columns'][] = $row['Column_name'] . '(' . $row['Sub_part'] . ')'; |
|
697 | - else |
|
698 | - $indexes[$row['Key_name']]['columns'][] = $row['Column_name']; |
|
718 | + if (!empty($row['Sub_part'])) { |
|
719 | + $indexes[$row['Key_name']]['columns'][] = $row['Column_name'] . '(' . $row['Sub_part'] . ')'; |
|
720 | + } else { |
|
721 | + $indexes[$row['Key_name']]['columns'][] = $row['Column_name']; |
|
722 | + } |
|
699 | 723 | } |
700 | 724 | } |
701 | 725 | $smcFunc['db_free_result']($result); |
@@ -717,11 +741,11 @@ discard block |
||
717 | 741 | if (!empty($column['auto'])) |
718 | 742 | { |
719 | 743 | $default = 'auto_increment'; |
744 | + } elseif (isset($column['default']) && $column['default'] !== null) { |
|
745 | + $default = 'default \'' . $smcFunc['db_escape_string']($column['default']) . '\''; |
|
746 | + } else { |
|
747 | + $default = ''; |
|
720 | 748 | } |
721 | - elseif (isset($column['default']) && $column['default'] !== null) |
|
722 | - $default = 'default \'' . $smcFunc['db_escape_string']($column['default']) . '\''; |
|
723 | - else |
|
724 | - $default = ''; |
|
725 | 749 | |
726 | 750 | // Sort out the size... and stuff... |
727 | 751 | $column['size'] = isset($column['size']) && is_numeric($column['size']) ? $column['size'] : null; |
@@ -730,8 +754,9 @@ discard block |
||
730 | 754 | // Allow unsigned integers (mysql only) |
731 | 755 | $unsigned = in_array($type, array('int', 'tinyint', 'smallint', 'mediumint', 'bigint')) && !empty($column['unsigned']) ? 'unsigned ' : ''; |
732 | 756 | |
733 | - if ($size !== null) |
|
734 | - $type = $type . '(' . $size . ')'; |
|
757 | + if ($size !== null) { |
|
758 | + $type = $type . '(' . $size . ')'; |
|
759 | + } |
|
735 | 760 | |
736 | 761 | // Now just put it together! |
737 | 762 | return '`' . $column['name'] . '` ' . $type . ' ' . (!empty($unsigned) ? $unsigned : '') . (!empty($column['null']) ? '' : 'NOT NULL') . ' ' . $default; |
@@ -325,7 +325,7 @@ |
||
325 | 325 | * Validates a IPv6 address. returns true if it is ipv6. |
326 | 326 | * |
327 | 327 | * @param string $ip The ip address to be validated |
328 | - * @return boolean Whether the specified IP is a valid IPv6 address |
|
328 | + * @return false|string Whether the specified IP is a valid IPv6 address |
|
329 | 329 | */ |
330 | 330 | function isValidIPv6($ip) |
331 | 331 | { |
@@ -426,8 +426,8 @@ |
||
426 | 426 | */ |
427 | 427 | function matchIPtoCIDR($ip_address, $cidr_address) |
428 | 428 | { |
429 | - list ($cidr_network, $cidr_subnetmask) = preg_split('/', $cidr_address); |
|
430 | - return (ip2long($ip_address) & (~((1 << (32 - $cidr_subnetmask)) - 1))) == ip2long($cidr_network); |
|
429 | + list ($cidr_network, $cidr_subnetmask) = preg_split('/', $cidr_address); |
|
430 | + return (ip2long($ip_address) & (~((1 << (32 - $cidr_subnetmask)) - 1))) == ip2long($cidr_network); |
|
431 | 431 | } |
432 | 432 | |
433 | 433 | /** |
@@ -14,8 +14,9 @@ discard block |
||
14 | 14 | * @version 2.1 Beta 4 |
15 | 15 | */ |
16 | 16 | |
17 | -if (!defined('SMF')) |
|
17 | +if (!defined('SMF')) { |
|
18 | 18 | die('No direct access...'); |
19 | +} |
|
19 | 20 | |
20 | 21 | /** |
21 | 22 | * Clean the request variables - add html entities to GET and slashes if magic_quotes_gpc is Off. |
@@ -44,22 +45,26 @@ discard block |
||
44 | 45 | unset($GLOBALS['HTTP_POST_FILES'], $GLOBALS['HTTP_POST_FILES']); |
45 | 46 | |
46 | 47 | // These keys shouldn't be set...ever. |
47 | - if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS'])) |
|
48 | - die('Invalid request variable.'); |
|
48 | + if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS'])) { |
|
49 | + die('Invalid request variable.'); |
|
50 | + } |
|
49 | 51 | |
50 | 52 | // Same goes for numeric keys. |
51 | - foreach (array_merge(array_keys($_POST), array_keys($_GET), array_keys($_FILES)) as $key) |
|
52 | - if (is_numeric($key)) |
|
53 | + foreach (array_merge(array_keys($_POST), array_keys($_GET), array_keys($_FILES)) as $key) { |
|
54 | + if (is_numeric($key)) |
|
53 | 55 | die('Numeric request keys are invalid.'); |
56 | + } |
|
54 | 57 | |
55 | 58 | // Numeric keys in cookies are less of a problem. Just unset those. |
56 | - foreach ($_COOKIE as $key => $value) |
|
57 | - if (is_numeric($key)) |
|
59 | + foreach ($_COOKIE as $key => $value) { |
|
60 | + if (is_numeric($key)) |
|
58 | 61 | unset($_COOKIE[$key]); |
62 | + } |
|
59 | 63 | |
60 | 64 | // Get the correct query string. It may be in an environment variable... |
61 | - if (!isset($_SERVER['QUERY_STRING'])) |
|
62 | - $_SERVER['QUERY_STRING'] = getenv('QUERY_STRING'); |
|
65 | + if (!isset($_SERVER['QUERY_STRING'])) { |
|
66 | + $_SERVER['QUERY_STRING'] = getenv('QUERY_STRING'); |
|
67 | + } |
|
63 | 68 | |
64 | 69 | // It seems that sticking a URL after the query string is mighty common, well, it's evil - don't. |
65 | 70 | if (strpos($_SERVER['QUERY_STRING'], 'http') === 0) |
@@ -83,13 +88,14 @@ discard block |
||
83 | 88 | parse_str(preg_replace('/&(\w+)(?=&|$)/', '&$1=', strtr($_SERVER['QUERY_STRING'], array(';?' => '&', ';' => '&', '%00' => '', "\0" => ''))), $_GET); |
84 | 89 | |
85 | 90 | // Magic quotes still applies with parse_str - so clean it up. |
86 | - if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) |
|
87 | - $_GET = $removeMagicQuoteFunction($_GET); |
|
88 | - } |
|
89 | - elseif (strpos(ini_get('arg_separator.input'), ';') !== false) |
|
91 | + if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) { |
|
92 | + $_GET = $removeMagicQuoteFunction($_GET); |
|
93 | + } |
|
94 | + } elseif (strpos(ini_get('arg_separator.input'), ';') !== false) |
|
90 | 95 | { |
91 | - if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) |
|
92 | - $_GET = $removeMagicQuoteFunction($_GET); |
|
96 | + if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) { |
|
97 | + $_GET = $removeMagicQuoteFunction($_GET); |
|
98 | + } |
|
93 | 99 | |
94 | 100 | // Search engines will send action=profile%3Bu=1, which confuses PHP. |
95 | 101 | foreach ($_GET as $k => $v) |
@@ -102,8 +108,9 @@ discard block |
||
102 | 108 | for ($i = 1, $n = count($temp); $i < $n; $i++) |
103 | 109 | { |
104 | 110 | @list ($key, $val) = @explode('=', $temp[$i], 2); |
105 | - if (!isset($_GET[$key])) |
|
106 | - $_GET[$key] = $val; |
|
111 | + if (!isset($_GET[$key])) { |
|
112 | + $_GET[$key] = $val; |
|
113 | + } |
|
107 | 114 | } |
108 | 115 | } |
109 | 116 | |
@@ -120,18 +127,20 @@ discard block |
||
120 | 127 | if (!empty($_SERVER['REQUEST_URI'])) |
121 | 128 | { |
122 | 129 | // Remove the .html, assuming there is one. |
123 | - if (substr($_SERVER['REQUEST_URI'], strrpos($_SERVER['REQUEST_URI'], '.'), 4) == '.htm') |
|
124 | - $request = substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '.')); |
|
125 | - else |
|
126 | - $request = $_SERVER['REQUEST_URI']; |
|
130 | + if (substr($_SERVER['REQUEST_URI'], strrpos($_SERVER['REQUEST_URI'], '.'), 4) == '.htm') { |
|
131 | + $request = substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '.')); |
|
132 | + } else { |
|
133 | + $request = $_SERVER['REQUEST_URI']; |
|
134 | + } |
|
127 | 135 | |
128 | 136 | // @todo smflib. |
129 | 137 | // Replace 'index.php/a,b,c/d/e,f' with 'a=b,c&d=&e=f' and parse it into $_GET. |
130 | 138 | if (strpos($request, basename($scripturl) . '/') !== false) |
131 | 139 | { |
132 | 140 | parse_str(substr(preg_replace('/&(\w+)(?=&|$)/', '&$1=', strtr(preg_replace('~/([^,/]+),~', '/$1=', substr($request, strpos($request, basename($scripturl)) + strlen(basename($scripturl)))), '/', '&')), 1), $temp); |
133 | - if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) |
|
134 | - $temp = $removeMagicQuoteFunction($temp); |
|
141 | + if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0 && empty($modSettings['integrate_magic_quotes'])) { |
|
142 | + $temp = $removeMagicQuoteFunction($temp); |
|
143 | + } |
|
135 | 144 | $_GET += $temp; |
136 | 145 | } |
137 | 146 | } |
@@ -142,9 +151,10 @@ discard block |
||
142 | 151 | $_ENV = $removeMagicQuoteFunction($_ENV); |
143 | 152 | $_POST = $removeMagicQuoteFunction($_POST); |
144 | 153 | $_COOKIE = $removeMagicQuoteFunction($_COOKIE); |
145 | - foreach ($_FILES as $k => $dummy) |
|
146 | - if (isset($_FILES[$k]['name'])) |
|
154 | + foreach ($_FILES as $k => $dummy) { |
|
155 | + if (isset($_FILES[$k]['name'])) |
|
147 | 156 | $_FILES[$k]['name'] = $removeMagicQuoteFunction($_FILES[$k]['name']); |
157 | + } |
|
148 | 158 | } |
149 | 159 | |
150 | 160 | // Add entities to GET. This is kinda like the slashes on everything else. |
@@ -160,11 +170,13 @@ discard block |
||
160 | 170 | $_REQUEST['board'] = (string) $_REQUEST['board']; |
161 | 171 | |
162 | 172 | // If there's a slash in it, we've got a start value! (old, compatible links.) |
163 | - if (strpos($_REQUEST['board'], '/') !== false) |
|
164 | - list ($_REQUEST['board'], $_REQUEST['start']) = explode('/', $_REQUEST['board']); |
|
173 | + if (strpos($_REQUEST['board'], '/') !== false) { |
|
174 | + list ($_REQUEST['board'], $_REQUEST['start']) = explode('/', $_REQUEST['board']); |
|
175 | + } |
|
165 | 176 | // Same idea, but dots. This is the currently used format - ?board=1.0... |
166 | - elseif (strpos($_REQUEST['board'], '.') !== false) |
|
167 | - list ($_REQUEST['board'], $_REQUEST['start']) = explode('.', $_REQUEST['board']); |
|
177 | + elseif (strpos($_REQUEST['board'], '.') !== false) { |
|
178 | + list ($_REQUEST['board'], $_REQUEST['start']) = explode('.', $_REQUEST['board']); |
|
179 | + } |
|
168 | 180 | // Now make absolutely sure it's a number. |
169 | 181 | $board = (int) $_REQUEST['board']; |
170 | 182 | $_REQUEST['start'] = isset($_REQUEST['start']) ? (int) $_REQUEST['start'] : 0; |
@@ -173,12 +185,14 @@ discard block |
||
173 | 185 | $_GET['board'] = $board; |
174 | 186 | } |
175 | 187 | // Well, $board is going to be a number no matter what. |
176 | - else |
|
177 | - $board = 0; |
|
188 | + else { |
|
189 | + $board = 0; |
|
190 | + } |
|
178 | 191 | |
179 | 192 | // If there's a threadid, it's probably an old YaBB SE link. Flow with it. |
180 | - if (isset($_REQUEST['threadid']) && !isset($_REQUEST['topic'])) |
|
181 | - $_REQUEST['topic'] = $_REQUEST['threadid']; |
|
193 | + if (isset($_REQUEST['threadid']) && !isset($_REQUEST['topic'])) { |
|
194 | + $_REQUEST['topic'] = $_REQUEST['threadid']; |
|
195 | + } |
|
182 | 196 | |
183 | 197 | // We've got topic! |
184 | 198 | if (isset($_REQUEST['topic'])) |
@@ -187,11 +201,13 @@ discard block |
||
187 | 201 | $_REQUEST['topic'] = (string) $_REQUEST['topic']; |
188 | 202 | |
189 | 203 | // Slash means old, beta style, formatting. That's okay though, the link should still work. |
190 | - if (strpos($_REQUEST['topic'], '/') !== false) |
|
191 | - list ($_REQUEST['topic'], $_REQUEST['start']) = explode('/', $_REQUEST['topic']); |
|
204 | + if (strpos($_REQUEST['topic'], '/') !== false) { |
|
205 | + list ($_REQUEST['topic'], $_REQUEST['start']) = explode('/', $_REQUEST['topic']); |
|
206 | + } |
|
192 | 207 | // Dots are useful and fun ;). This is ?topic=1.15. |
193 | - elseif (strpos($_REQUEST['topic'], '.') !== false) |
|
194 | - list ($_REQUEST['topic'], $_REQUEST['start']) = explode('.', $_REQUEST['topic']); |
|
208 | + elseif (strpos($_REQUEST['topic'], '.') !== false) { |
|
209 | + list ($_REQUEST['topic'], $_REQUEST['start']) = explode('.', $_REQUEST['topic']); |
|
210 | + } |
|
195 | 211 | |
196 | 212 | // Topic should always be an integer |
197 | 213 | $topic = $_GET['topic'] = $_REQUEST['topic'] = (int) $_REQUEST['topic']; |
@@ -220,21 +236,25 @@ discard block |
||
220 | 236 | $_REQUEST['start'] = $timestamp === 0 ? 0 : 'from' . $timestamp; |
221 | 237 | } |
222 | 238 | // ... or something invalid, in which case we reset it to 0. |
223 | - else |
|
224 | - $_REQUEST['start'] = 0; |
|
239 | + else { |
|
240 | + $_REQUEST['start'] = 0; |
|
241 | + } |
|
242 | + } else { |
|
243 | + $topic = 0; |
|
225 | 244 | } |
226 | - else |
|
227 | - $topic = 0; |
|
228 | 245 | |
229 | 246 | // There should be a $_REQUEST['start'], some at least. If you need to default to other than 0, use $_GET['start']. |
230 | - if (empty($_REQUEST['start']) || $_REQUEST['start'] < 0 || (int) $_REQUEST['start'] > 2147473647) |
|
231 | - $_REQUEST['start'] = 0; |
|
247 | + if (empty($_REQUEST['start']) || $_REQUEST['start'] < 0 || (int) $_REQUEST['start'] > 2147473647) { |
|
248 | + $_REQUEST['start'] = 0; |
|
249 | + } |
|
232 | 250 | |
233 | 251 | // The action needs to be a string and not an array or anything else |
234 | - if (isset($_REQUEST['action'])) |
|
235 | - $_REQUEST['action'] = (string) $_REQUEST['action']; |
|
236 | - if (isset($_GET['action'])) |
|
237 | - $_GET['action'] = (string) $_GET['action']; |
|
252 | + if (isset($_REQUEST['action'])) { |
|
253 | + $_REQUEST['action'] = (string) $_REQUEST['action']; |
|
254 | + } |
|
255 | + if (isset($_GET['action'])) { |
|
256 | + $_GET['action'] = (string) $_GET['action']; |
|
257 | + } |
|
238 | 258 | |
239 | 259 | // Some mail providers like to encode semicolons in activation URLs... |
240 | 260 | if (!empty($_REQUEST['action']) && substr($_SERVER['QUERY_STRING'], 0, 18) == 'action=activate%3b') |
@@ -260,29 +280,33 @@ discard block |
||
260 | 280 | $_SERVER['BAN_CHECK_IP'] = $_SERVER['REMOTE_ADDR']; |
261 | 281 | |
262 | 282 | // If we haven't specified how to handle Reverse Proxy IP headers, lets do what we always used to do. |
263 | - if (!isset($modSettings['proxy_ip_header'])) |
|
264 | - $modSettings['proxy_ip_header'] = 'autodetect'; |
|
283 | + if (!isset($modSettings['proxy_ip_header'])) { |
|
284 | + $modSettings['proxy_ip_header'] = 'autodetect'; |
|
285 | + } |
|
265 | 286 | |
266 | 287 | // Which headers are we going to check for Reverse Proxy IP headers? |
267 | - if ($modSettings['proxy_ip_header'] == 'disabled') |
|
268 | - $reverseIPheaders = array(); |
|
269 | - elseif ($modSettings['proxy_ip_header'] == 'autodetect') |
|
270 | - $reverseIPheaders = array('HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP'); |
|
271 | - else |
|
272 | - $reverseIPheaders = array($modSettings['proxy_ip_header']); |
|
288 | + if ($modSettings['proxy_ip_header'] == 'disabled') { |
|
289 | + $reverseIPheaders = array(); |
|
290 | + } elseif ($modSettings['proxy_ip_header'] == 'autodetect') { |
|
291 | + $reverseIPheaders = array('HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP'); |
|
292 | + } else { |
|
293 | + $reverseIPheaders = array($modSettings['proxy_ip_header']); |
|
294 | + } |
|
273 | 295 | |
274 | 296 | // Find the user's IP address. (but don't let it give you 'unknown'!) |
275 | 297 | foreach ($reverseIPheaders as $proxyIPheader) |
276 | 298 | { |
277 | 299 | // Ignore if this is not set. |
278 | - if (!isset($_SERVER[$proxyIPheader])) |
|
279 | - continue; |
|
300 | + if (!isset($_SERVER[$proxyIPheader])) { |
|
301 | + continue; |
|
302 | + } |
|
280 | 303 | |
281 | 304 | if (!empty($modSettings['proxy_ip_servers'])) |
282 | 305 | { |
283 | - foreach (explode(',', $modSettings['proxy_ip_servers']) as $proxy) |
|
284 | - if ($proxy == $_SERVER['REMOTE_ADDR'] || matchIPtoCIDR($_SERVER['REMOTE_ADDR'], $proxy)) |
|
306 | + foreach (explode(',', $modSettings['proxy_ip_servers']) as $proxy) { |
|
307 | + if ($proxy == $_SERVER['REMOTE_ADDR'] || matchIPtoCIDR($_SERVER['REMOTE_ADDR'], $proxy)) |
|
285 | 308 | continue; |
309 | + } |
|
286 | 310 | } |
287 | 311 | |
288 | 312 | // If there are commas, get the last one.. probably. |
@@ -302,8 +326,9 @@ discard block |
||
302 | 326 | |
303 | 327 | // Just incase we have a legacy IPv4 address. |
304 | 328 | // @ TODO: Convert to IPv6. |
305 | - if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0) |
|
306 | - continue; |
|
329 | + if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0) { |
|
330 | + continue; |
|
331 | + } |
|
307 | 332 | } |
308 | 333 | |
309 | 334 | continue; |
@@ -315,36 +340,40 @@ discard block |
||
315 | 340 | } |
316 | 341 | } |
317 | 342 | // Otherwise just use the only one. |
318 | - elseif (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER[$proxyIPheader]) == 0 || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER['REMOTE_ADDR']) != 0) |
|
319 | - $_SERVER['BAN_CHECK_IP'] = $_SERVER[$proxyIPheader]; |
|
320 | - elseif (!isValidIPv6($_SERVER[$proxyIPheader]) || preg_match('~::ffff:\d+\.\d+\.\d+\.\d+~', $_SERVER[$proxyIPheader]) !== 0) |
|
343 | + elseif (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER[$proxyIPheader]) == 0 || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown|::1|fe80::|fc00::)~', $_SERVER['REMOTE_ADDR']) != 0) { |
|
344 | + $_SERVER['BAN_CHECK_IP'] = $_SERVER[$proxyIPheader]; |
|
345 | + } elseif (!isValidIPv6($_SERVER[$proxyIPheader]) || preg_match('~::ffff:\d+\.\d+\.\d+\.\d+~', $_SERVER[$proxyIPheader]) !== 0) |
|
321 | 346 | { |
322 | 347 | $_SERVER[$proxyIPheader] = preg_replace('~^::ffff:(\d+\.\d+\.\d+\.\d+)~', '\1', $_SERVER[$proxyIPheader]); |
323 | 348 | |
324 | 349 | // Just incase we have a legacy IPv4 address. |
325 | 350 | // @ TODO: Convert to IPv6. |
326 | - if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0) |
|
327 | - continue; |
|
351 | + if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~', $_SERVER[$proxyIPheader]) === 0) { |
|
352 | + continue; |
|
353 | + } |
|
328 | 354 | } |
329 | 355 | } |
330 | 356 | |
331 | 357 | // Make sure we know the URL of the current request. |
332 | - if (empty($_SERVER['REQUEST_URI'])) |
|
333 | - $_SERVER['REQUEST_URL'] = $scripturl . (!empty($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : ''); |
|
334 | - elseif (preg_match('~^([^/]+//[^/]+)~', $scripturl, $match) == 1) |
|
335 | - $_SERVER['REQUEST_URL'] = $match[1] . $_SERVER['REQUEST_URI']; |
|
336 | - else |
|
337 | - $_SERVER['REQUEST_URL'] = $_SERVER['REQUEST_URI']; |
|
358 | + if (empty($_SERVER['REQUEST_URI'])) { |
|
359 | + $_SERVER['REQUEST_URL'] = $scripturl . (!empty($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : ''); |
|
360 | + } elseif (preg_match('~^([^/]+//[^/]+)~', $scripturl, $match) == 1) { |
|
361 | + $_SERVER['REQUEST_URL'] = $match[1] . $_SERVER['REQUEST_URI']; |
|
362 | + } else { |
|
363 | + $_SERVER['REQUEST_URL'] = $_SERVER['REQUEST_URI']; |
|
364 | + } |
|
338 | 365 | |
339 | 366 | // And make sure HTTP_USER_AGENT is set. |
340 | 367 | $_SERVER['HTTP_USER_AGENT'] = isset($_SERVER['HTTP_USER_AGENT']) ? (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($smcFunc['db_unescape_string']($_SERVER['HTTP_USER_AGENT']), ENT_QUOTES) : htmlspecialchars($smcFunc['db_unescape_string']($_SERVER['HTTP_USER_AGENT']), ENT_QUOTES)) : ''; |
341 | 368 | |
342 | 369 | // Some final checking. |
343 | - if (!isValidIP($_SERVER['BAN_CHECK_IP'])) |
|
344 | - $_SERVER['BAN_CHECK_IP'] = ''; |
|
345 | - if ($_SERVER['REMOTE_ADDR'] == 'unknown') |
|
346 | - $_SERVER['REMOTE_ADDR'] = ''; |
|
347 | -} |
|
370 | + if (!isValidIP($_SERVER['BAN_CHECK_IP'])) { |
|
371 | + $_SERVER['BAN_CHECK_IP'] = ''; |
|
372 | + } |
|
373 | + if ($_SERVER['REMOTE_ADDR'] == 'unknown') { |
|
374 | + $_SERVER['REMOTE_ADDR'] = ''; |
|
375 | + } |
|
376 | + } |
|
348 | 377 | |
349 | 378 | /** |
350 | 379 | * Validates a IPv6 address. returns true if it is ipv6. |
@@ -355,8 +384,9 @@ discard block |
||
355 | 384 | function isValidIPv6($ip) |
356 | 385 | { |
357 | 386 | //looking for : |
358 | - if (strpos($ip, ':') === false) |
|
359 | - return false; |
|
387 | + if (strpos($ip, ':') === false) { |
|
388 | + return false; |
|
389 | + } |
|
360 | 390 | |
361 | 391 | //check valid address |
362 | 392 | return inet_pton($ip); |
@@ -373,15 +403,17 @@ discard block |
||
373 | 403 | static $expanded = array(); |
374 | 404 | |
375 | 405 | // Check if we have done this already. |
376 | - if (isset($expanded[$ip])) |
|
377 | - return $expanded[$ip]; |
|
406 | + if (isset($expanded[$ip])) { |
|
407 | + return $expanded[$ip]; |
|
408 | + } |
|
378 | 409 | |
379 | 410 | // Expand the IP out. |
380 | 411 | $expanded_ip = explode(':', expandIPv6($ip)); |
381 | 412 | |
382 | 413 | $new_ip = array(); |
383 | - foreach ($expanded_ip as $int) |
|
384 | - $new_ip[] = hexdec($int); |
|
414 | + foreach ($expanded_ip as $int) { |
|
415 | + $new_ip[] = hexdec($int); |
|
416 | + } |
|
385 | 417 | |
386 | 418 | // Save this incase of repeated use. |
387 | 419 | $expanded[$ip] = $new_ip; |
@@ -401,8 +433,9 @@ discard block |
||
401 | 433 | static $converted = array(); |
402 | 434 | |
403 | 435 | // Check if we have done this already. |
404 | - if (isset($converted[$addr])) |
|
405 | - return $converted[$addr]; |
|
436 | + if (isset($converted[$addr])) { |
|
437 | + return $converted[$addr]; |
|
438 | + } |
|
406 | 439 | |
407 | 440 | // Check if there are segments missing, insert if necessary. |
408 | 441 | if (strpos($addr, '::') !== false) |
@@ -412,18 +445,20 @@ discard block |
||
412 | 445 | $part[1] = explode(':', $part[1]); |
413 | 446 | $missing = array(); |
414 | 447 | |
415 | - for ($i = 0; $i < (8 - (count($part[0]) + count($part[1]))); $i++) |
|
416 | - array_push($missing, '0000'); |
|
448 | + for ($i = 0; $i < (8 - (count($part[0]) + count($part[1]))); $i++) { |
|
449 | + array_push($missing, '0000'); |
|
450 | + } |
|
417 | 451 | |
418 | 452 | $part = array_merge($part[0], $missing, $part[1]); |
453 | + } else { |
|
454 | + $part = explode(':', $addr); |
|
419 | 455 | } |
420 | - else |
|
421 | - $part = explode(':', $addr); |
|
422 | 456 | |
423 | 457 | // Pad each segment until it has 4 digits. |
424 | - foreach ($part as &$p) |
|
425 | - while (strlen($p) < 4) |
|
458 | + foreach ($part as &$p) { |
|
459 | + while (strlen($p) < 4) |
|
426 | 460 | $p = '0' . $p; |
461 | + } |
|
427 | 462 | |
428 | 463 | unset($p); |
429 | 464 | |
@@ -434,11 +469,12 @@ discard block |
||
434 | 469 | $converted[$addr] = $result; |
435 | 470 | |
436 | 471 | // Quick check to make sure the length is as expected. |
437 | - if (!$strict_check || strlen($result) == 39) |
|
438 | - return $result; |
|
439 | - else |
|
440 | - return false; |
|
441 | -} |
|
472 | + if (!$strict_check || strlen($result) == 39) { |
|
473 | + return $result; |
|
474 | + } else { |
|
475 | + return false; |
|
476 | + } |
|
477 | + } |
|
442 | 478 | |
443 | 479 | |
444 | 480 | /** |
@@ -469,15 +505,17 @@ discard block |
||
469 | 505 | { |
470 | 506 | global $smcFunc; |
471 | 507 | |
472 | - if (!is_array($var)) |
|
473 | - return $smcFunc['db_escape_string']($var); |
|
508 | + if (!is_array($var)) { |
|
509 | + return $smcFunc['db_escape_string']($var); |
|
510 | + } |
|
474 | 511 | |
475 | 512 | // Reindex the array with slashes. |
476 | 513 | $new_var = array(); |
477 | 514 | |
478 | 515 | // Add slashes to every element, even the indexes! |
479 | - foreach ($var as $k => $v) |
|
480 | - $new_var[$smcFunc['db_escape_string']($k)] = escapestring__recursive($v); |
|
516 | + foreach ($var as $k => $v) { |
|
517 | + $new_var[$smcFunc['db_escape_string']($k)] = escapestring__recursive($v); |
|
518 | + } |
|
481 | 519 | |
482 | 520 | return $new_var; |
483 | 521 | } |
@@ -497,12 +535,14 @@ discard block |
||
497 | 535 | { |
498 | 536 | global $smcFunc; |
499 | 537 | |
500 | - if (!is_array($var)) |
|
501 | - return isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($var, ENT_QUOTES) : htmlspecialchars($var, ENT_QUOTES); |
|
538 | + if (!is_array($var)) { |
|
539 | + return isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($var, ENT_QUOTES) : htmlspecialchars($var, ENT_QUOTES); |
|
540 | + } |
|
502 | 541 | |
503 | 542 | // Add the htmlspecialchars to every element. |
504 | - foreach ($var as $k => $v) |
|
505 | - $var[$k] = $level > 25 ? null : htmlspecialchars__recursive($v, $level + 1); |
|
543 | + foreach ($var as $k => $v) { |
|
544 | + $var[$k] = $level > 25 ? null : htmlspecialchars__recursive($v, $level + 1); |
|
545 | + } |
|
506 | 546 | |
507 | 547 | return $var; |
508 | 548 | } |
@@ -520,15 +560,17 @@ discard block |
||
520 | 560 | */ |
521 | 561 | function urldecode__recursive($var, $level = 0) |
522 | 562 | { |
523 | - if (!is_array($var)) |
|
524 | - return urldecode($var); |
|
563 | + if (!is_array($var)) { |
|
564 | + return urldecode($var); |
|
565 | + } |
|
525 | 566 | |
526 | 567 | // Reindex the array... |
527 | 568 | $new_var = array(); |
528 | 569 | |
529 | 570 | // Add the htmlspecialchars to every element. |
530 | - foreach ($var as $k => $v) |
|
531 | - $new_var[urldecode($k)] = $level > 25 ? null : urldecode__recursive($v, $level + 1); |
|
571 | + foreach ($var as $k => $v) { |
|
572 | + $new_var[urldecode($k)] = $level > 25 ? null : urldecode__recursive($v, $level + 1); |
|
573 | + } |
|
532 | 574 | |
533 | 575 | return $new_var; |
534 | 576 | } |
@@ -546,15 +588,17 @@ discard block |
||
546 | 588 | { |
547 | 589 | global $smcFunc; |
548 | 590 | |
549 | - if (!is_array($var)) |
|
550 | - return $smcFunc['db_unescape_string']($var); |
|
591 | + if (!is_array($var)) { |
|
592 | + return $smcFunc['db_unescape_string']($var); |
|
593 | + } |
|
551 | 594 | |
552 | 595 | // Reindex the array without slashes, this time. |
553 | 596 | $new_var = array(); |
554 | 597 | |
555 | 598 | // Strip the slashes from every element. |
556 | - foreach ($var as $k => $v) |
|
557 | - $new_var[$smcFunc['db_unescape_string']($k)] = unescapestring__recursive($v); |
|
599 | + foreach ($var as $k => $v) { |
|
600 | + $new_var[$smcFunc['db_unescape_string']($k)] = unescapestring__recursive($v); |
|
601 | + } |
|
558 | 602 | |
559 | 603 | return $new_var; |
560 | 604 | } |
@@ -572,15 +616,17 @@ discard block |
||
572 | 616 | */ |
573 | 617 | function stripslashes__recursive($var, $level = 0) |
574 | 618 | { |
575 | - if (!is_array($var)) |
|
576 | - return stripslashes($var); |
|
619 | + if (!is_array($var)) { |
|
620 | + return stripslashes($var); |
|
621 | + } |
|
577 | 622 | |
578 | 623 | // Reindex the array without slashes, this time. |
579 | 624 | $new_var = array(); |
580 | 625 | |
581 | 626 | // Strip the slashes from every element. |
582 | - foreach ($var as $k => $v) |
|
583 | - $new_var[stripslashes($k)] = $level > 25 ? null : stripslashes__recursive($v, $level + 1); |
|
627 | + foreach ($var as $k => $v) { |
|
628 | + $new_var[stripslashes($k)] = $level > 25 ? null : stripslashes__recursive($v, $level + 1); |
|
629 | + } |
|
584 | 630 | |
585 | 631 | return $new_var; |
586 | 632 | } |
@@ -601,12 +647,14 @@ discard block |
||
601 | 647 | global $smcFunc; |
602 | 648 | |
603 | 649 | // Remove spaces (32), tabs (9), returns (13, 10, and 11), nulls (0), and hard spaces. (160) |
604 | - if (!is_array($var)) |
|
605 | - return isset($smcFunc) ? $smcFunc['htmltrim']($var) : trim($var, ' ' . "\t\n\r\x0B" . '\0' . "\xA0"); |
|
650 | + if (!is_array($var)) { |
|
651 | + return isset($smcFunc) ? $smcFunc['htmltrim']($var) : trim($var, ' ' . "\t\n\r\x0B" . '\0' . "\xA0"); |
|
652 | + } |
|
606 | 653 | |
607 | 654 | // Go through all the elements and remove the whitespace. |
608 | - foreach ($var as $k => $v) |
|
609 | - $var[$k] = $level > 25 ? null : htmltrim__recursive($v, $level + 1); |
|
655 | + foreach ($var as $k => $v) { |
|
656 | + $var[$k] = $level > 25 ? null : htmltrim__recursive($v, $level + 1); |
|
657 | + } |
|
610 | 658 | |
611 | 659 | return $var; |
612 | 660 | } |
@@ -671,30 +719,37 @@ discard block |
||
671 | 719 | global $scripturl, $modSettings, $context; |
672 | 720 | |
673 | 721 | // If $scripturl is set to nothing, or the SID is not defined (SSI?) just quit. |
674 | - if ($scripturl == '' || !defined('SID')) |
|
675 | - return $buffer; |
|
722 | + if ($scripturl == '' || !defined('SID')) { |
|
723 | + return $buffer; |
|
724 | + } |
|
676 | 725 | |
677 | 726 | // Do nothing if the session is cookied, or they are a crawler - guests are caught by redirectexit(). This doesn't work below PHP 4.3.0, because it makes the output buffer bigger. |
678 | 727 | // @todo smflib |
679 | - if (empty($_COOKIE) && SID != '' && !isBrowser('possibly_robot')) |
|
680 | - $buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', '"' . $scripturl . '?' . SID . '&', $buffer); |
|
728 | + if (empty($_COOKIE) && SID != '' && !isBrowser('possibly_robot')) { |
|
729 | + $buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', '"' . $scripturl . '?' . SID . '&', $buffer); |
|
730 | + } |
|
681 | 731 | // Debugging templates, are we? |
682 | - elseif (isset($_GET['debug'])) |
|
683 | - $buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '\\??/', '"' . $scripturl . '?debug;', $buffer); |
|
732 | + elseif (isset($_GET['debug'])) { |
|
733 | + $buffer = preg_replace('/(?<!<link rel="canonical" href=)"' . preg_quote($scripturl, '/') . '\\??/', '"' . $scripturl . '?debug;', $buffer); |
|
734 | + } |
|
684 | 735 | |
685 | 736 | // This should work even in 4.2.x, just not CGI without cgi.fix_pathinfo. |
686 | 737 | if (!empty($modSettings['queryless_urls']) && (!$context['server']['is_cgi'] || ini_get('cgi.fix_pathinfo') == 1 || @get_cfg_var('cgi.fix_pathinfo') == 1) && ($context['server']['is_apache'] || $context['server']['is_lighttpd'] || $context['server']['is_litespeed'])) |
687 | 738 | { |
688 | 739 | // Let's do something special for session ids! |
689 | - if (defined('SID') && SID != '') |
|
690 | - $buffer = preg_replace_callback('~"' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m) |
|
740 | + if (defined('SID') && SID != '') { |
|
741 | + $buffer = preg_replace_callback('~"' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m) |
|
691 | 742 | { |
692 | - global $scripturl; return '"' . $scripturl . "/" . strtr("$m[1]", '&;=', '//,') . ".html?" . SID . (isset($m[2]) ? $m[2] : "") . '"'; |
|
743 | + global $scripturl; |
|
744 | + } |
|
745 | + return '"' . $scripturl . "/" . strtr("$m[1]", '&;=', '//,') . ".html?" . SID . (isset($m[2]) ? $m[2] : "") . '"'; |
|
693 | 746 | }, $buffer); |
694 | - else |
|
695 | - $buffer = preg_replace_callback('~"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m) |
|
747 | + else { |
|
748 | + $buffer = preg_replace_callback('~"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', function($m) |
|
696 | 749 | { |
697 | - global $scripturl; return '"' . $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? $m[2] : "") . '"'; |
|
750 | + global $scripturl; |
|
751 | + } |
|
752 | + return '"' . $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? $m[2] : "") . '"'; |
|
698 | 753 | }, $buffer); |
699 | 754 | } |
700 | 755 |
@@ -382,7 +382,7 @@ |
||
382 | 382 | * @param array $parameters Not used? |
383 | 383 | * @param string $if_exists What to do if the index exists. If 'update', the definition will be updated. |
384 | 384 | * @param string $error |
385 | - * @return boolean Whether or not the operation was successful |
|
385 | + * @return false|null Whether or not the operation was successful |
|
386 | 386 | */ |
387 | 387 | function smf_db_add_index($table_name, $index_info, $parameters = array(), $if_exists = 'update', $error = 'fatal') |
388 | 388 | { |
@@ -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 | * Add the file functions to the $smcFunc array. |
@@ -53,8 +54,9 @@ discard block |
||
53 | 54 | 'messages', 'moderator_groups', 'moderators', 'package_servers', 'permission_profiles', 'permissions', 'personal_messages', |
54 | 55 | 'pm_labeled_messages', 'pm_labels', 'pm_recipients', 'pm_rules', 'poll_choices', 'polls', 'scheduled_tasks', 'sessions', 'settings', 'smileys', |
55 | 56 | 'spiders', 'subscriptions', 'themes', 'topics', 'user_alerts', 'user_alerts_prefs', 'user_drafts', 'user_likes'); |
56 | - foreach ($reservedTables as $k => $table_name) |
|
57 | - $reservedTables[$k] = strtolower($db_prefix . $table_name); |
|
57 | + foreach ($reservedTables as $k => $table_name) { |
|
58 | + $reservedTables[$k] = strtolower($db_prefix . $table_name); |
|
59 | + } |
|
58 | 60 | |
59 | 61 | // We in turn may need the extra stuff. |
60 | 62 | db_extend('extra'); |
@@ -103,8 +105,9 @@ discard block |
||
103 | 105 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
104 | 106 | |
105 | 107 | // First - no way do we touch SMF tables. |
106 | - if (in_array(strtolower($table_name), $reservedTables)) |
|
107 | - return false; |
|
108 | + if (in_array(strtolower($table_name), $reservedTables)) { |
|
109 | + return false; |
|
110 | + } |
|
108 | 111 | |
109 | 112 | // Log that we'll want to remove this on uninstall. |
110 | 113 | $db_package_log[] = array('remove_table', $table_name); |
@@ -114,10 +117,11 @@ discard block |
||
114 | 117 | if (in_array($full_table_name, $tables)) |
115 | 118 | { |
116 | 119 | // This is a sad day... drop the table? If not, return false (error) by default. |
117 | - if ($if_exists == 'overwrite') |
|
118 | - $smcFunc['db_drop_table']($table_name); |
|
119 | - else |
|
120 | - return $if_exists == 'ignore'; |
|
120 | + if ($if_exists == 'overwrite') { |
|
121 | + $smcFunc['db_drop_table']($table_name); |
|
122 | + } else { |
|
123 | + return $if_exists == 'ignore'; |
|
124 | + } |
|
121 | 125 | } |
122 | 126 | |
123 | 127 | // If we've got this far - good news - no table exists. We can build our own! |
@@ -142,17 +146,18 @@ discard block |
||
142 | 146 | ) |
143 | 147 | ); |
144 | 148 | $default = 'default nextval(\'' . $table_name . '_seq\')'; |
149 | + } elseif (isset($column['default']) && $column['default'] !== null) { |
|
150 | + $default = 'default \'' . $smcFunc['db_escape_string']($column['default']) . '\''; |
|
151 | + } else { |
|
152 | + $default = ''; |
|
145 | 153 | } |
146 | - elseif (isset($column['default']) && $column['default'] !== null) |
|
147 | - $default = 'default \'' . $smcFunc['db_escape_string']($column['default']) . '\''; |
|
148 | - else |
|
149 | - $default = ''; |
|
150 | 154 | |
151 | 155 | // Sort out the size... |
152 | 156 | $column['size'] = isset($column['size']) && is_numeric($column['size']) ? $column['size'] : null; |
153 | 157 | list ($type, $size) = $smcFunc['db_calculate_type']($column['type'], $column['size']); |
154 | - if ($size !== null) |
|
155 | - $type = $type . '(' . $size . ')'; |
|
158 | + if ($size !== null) { |
|
159 | + $type = $type . '(' . $size . ')'; |
|
160 | + } |
|
156 | 161 | |
157 | 162 | // Now just put it together! |
158 | 163 | $table_query .= "\n\t\"" . $column['name'] . '" ' . $type . ' ' . (!empty($column['null']) ? '' : 'NOT NULL') . ' ' . $default . ','; |
@@ -165,19 +170,21 @@ discard block |
||
165 | 170 | $columns = implode(',', $index['columns']); |
166 | 171 | |
167 | 172 | // Primary goes in the table... |
168 | - if (isset($index['type']) && $index['type'] == 'primary') |
|
169 | - $table_query .= "\n\t" . 'PRIMARY KEY (' . implode(',', $index['columns']) . '),'; |
|
170 | - else |
|
173 | + if (isset($index['type']) && $index['type'] == 'primary') { |
|
174 | + $table_query .= "\n\t" . 'PRIMARY KEY (' . implode(',', $index['columns']) . '),'; |
|
175 | + } else |
|
171 | 176 | { |
172 | - if (empty($index['name'])) |
|
173 | - $index['name'] = implode('_', $index['columns']); |
|
177 | + if (empty($index['name'])) { |
|
178 | + $index['name'] = implode('_', $index['columns']); |
|
179 | + } |
|
174 | 180 | $index_queries[] = 'CREATE ' . (isset($index['type']) && $index['type'] == 'unique' ? 'UNIQUE' : '') . ' INDEX ' . $table_name . '_' . $index['name'] . ' ON ' . $table_name . ' (' . $columns . ')'; |
175 | 181 | } |
176 | 182 | } |
177 | 183 | |
178 | 184 | // No trailing commas! |
179 | - if (substr($table_query, -1) == ',') |
|
180 | - $table_query = substr($table_query, 0, -1); |
|
185 | + if (substr($table_query, -1) == ',') { |
|
186 | + $table_query = substr($table_query, 0, -1); |
|
187 | + } |
|
181 | 188 | |
182 | 189 | $table_query .= ')'; |
183 | 190 | |
@@ -188,12 +195,13 @@ discard block |
||
188 | 195 | ) |
189 | 196 | ); |
190 | 197 | // And the indexes... |
191 | - foreach ($index_queries as $query) |
|
192 | - $smcFunc['db_query']('', $query, |
|
198 | + foreach ($index_queries as $query) { |
|
199 | + $smcFunc['db_query']('', $query, |
|
193 | 200 | array( |
194 | 201 | 'security_override' => true, |
195 | 202 | ) |
196 | 203 | ); |
204 | + } |
|
197 | 205 | |
198 | 206 | // Go, go power rangers! |
199 | 207 | $smcFunc['db_transaction']('commit'); |
@@ -221,8 +229,9 @@ discard block |
||
221 | 229 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
222 | 230 | |
223 | 231 | // God no - dropping one of these = bad. |
224 | - if (in_array(strtolower($table_name), $reservedTables)) |
|
225 | - return false; |
|
232 | + if (in_array(strtolower($table_name), $reservedTables)) { |
|
233 | + return false; |
|
234 | + } |
|
226 | 235 | |
227 | 236 | // Does it exist? |
228 | 237 | if (in_array($full_table_name, $smcFunc['db_list_tables']())) |
@@ -280,21 +289,24 @@ discard block |
||
280 | 289 | |
281 | 290 | // Does it exist - if so don't add it again! |
282 | 291 | $columns = $smcFunc['db_list_columns']($table_name, false); |
283 | - foreach ($columns as $column) |
|
284 | - if ($column == $column_info['name']) |
|
292 | + foreach ($columns as $column) { |
|
293 | + if ($column == $column_info['name']) |
|
285 | 294 | { |
286 | 295 | // If we're going to overwrite then use change column. |
287 | 296 | if ($if_exists == 'update') |
288 | 297 | return $smcFunc['db_change_column']($table_name, $column_info['name'], $column_info); |
289 | - else |
|
290 | - return false; |
|
298 | + } |
|
299 | + else { |
|
300 | + return false; |
|
301 | + } |
|
291 | 302 | } |
292 | 303 | |
293 | 304 | // Get the specifics... |
294 | 305 | $column_info['size'] = isset($column_info['size']) && is_numeric($column_info['size']) ? $column_info['size'] : null; |
295 | 306 | list ($type, $size) = $smcFunc['db_calculate_type']($column_info['type'], $column_info['size']); |
296 | - if ($size !== null) |
|
297 | - $type = $type . '(' . $size . ')'; |
|
307 | + if ($size !== null) { |
|
308 | + $type = $type . '(' . $size . ')'; |
|
309 | + } |
|
298 | 310 | |
299 | 311 | // Now add the thing! |
300 | 312 | $query = ' |
@@ -309,11 +321,12 @@ discard block |
||
309 | 321 | // If there's more attributes they need to be done via a change on PostgreSQL. |
310 | 322 | unset($column_info['type'], $column_info['size']); |
311 | 323 | |
312 | - if (count($column_info) != 1) |
|
313 | - return $smcFunc['db_change_column']($table_name, $column_info['name'], $column_info); |
|
314 | - else |
|
315 | - return true; |
|
316 | -} |
|
324 | + if (count($column_info) != 1) { |
|
325 | + return $smcFunc['db_change_column']($table_name, $column_info['name'], $column_info); |
|
326 | + } else { |
|
327 | + return true; |
|
328 | + } |
|
329 | + } |
|
317 | 330 | |
318 | 331 | /** |
319 | 332 | * Removes a column. |
@@ -332,8 +345,8 @@ discard block |
||
332 | 345 | |
333 | 346 | // Does it exist? |
334 | 347 | $columns = $smcFunc['db_list_columns']($table_name, true); |
335 | - foreach ($columns as $column) |
|
336 | - if ($column['name'] == $column_name) |
|
348 | + foreach ($columns as $column) { |
|
349 | + if ($column['name'] == $column_name) |
|
337 | 350 | { |
338 | 351 | // If there is an auto we need remove it! |
339 | 352 | if ($column['auto']) |
@@ -343,6 +356,7 @@ discard block |
||
343 | 356 | 'security_override' => true, |
344 | 357 | ) |
345 | 358 | ); |
359 | + } |
|
346 | 360 | |
347 | 361 | $smcFunc['db_query']('', ' |
348 | 362 | ALTER TABLE ' . $table_name . ' |
@@ -376,13 +390,15 @@ discard block |
||
376 | 390 | // Check it does exist! |
377 | 391 | $columns = $smcFunc['db_list_columns']($table_name, true); |
378 | 392 | $old_info = null; |
379 | - foreach ($columns as $column) |
|
380 | - if ($column['name'] == $old_column) |
|
393 | + foreach ($columns as $column) { |
|
394 | + if ($column['name'] == $old_column) |
|
381 | 395 | $old_info = $column; |
396 | + } |
|
382 | 397 | |
383 | 398 | // Nothing? |
384 | - if ($old_info == null) |
|
385 | - return false; |
|
399 | + if ($old_info == null) { |
|
400 | + return false; |
|
401 | + } |
|
386 | 402 | |
387 | 403 | // Now we check each bit individually and ALTER as required. |
388 | 404 | if (isset($column_info['name']) && $column_info['name'] != $old_column) |
@@ -439,8 +455,9 @@ discard block |
||
439 | 455 | { |
440 | 456 | $column_info['size'] = isset($column_info['size']) && is_numeric($column_info['size']) ? $column_info['size'] : null; |
441 | 457 | list ($type, $size) = $smcFunc['db_calculate_type']($column_info['type'], $column_info['size']); |
442 | - if ($size !== null) |
|
443 | - $type = $type . '(' . $size . ')'; |
|
458 | + if ($size !== null) { |
|
459 | + $type = $type . '(' . $size . ')'; |
|
460 | + } |
|
444 | 461 | |
445 | 462 | // The alter is a pain. |
446 | 463 | $smcFunc['db_transaction']('begin'); |
@@ -541,21 +558,23 @@ discard block |
||
541 | 558 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
542 | 559 | |
543 | 560 | // No columns = no index. |
544 | - if (empty($index_info['columns'])) |
|
545 | - return false; |
|
561 | + if (empty($index_info['columns'])) { |
|
562 | + return false; |
|
563 | + } |
|
546 | 564 | $columns = implode(',', $index_info['columns']); |
547 | 565 | |
548 | 566 | // No name - make it up! |
549 | 567 | if (empty($index_info['name'])) |
550 | 568 | { |
551 | 569 | // No need for primary. |
552 | - if (isset($index_info['type']) && $index_info['type'] == 'primary') |
|
553 | - $index_info['name'] = ''; |
|
554 | - else |
|
555 | - $index_info['name'] = $table_name . implode('_', $index_info['columns']); |
|
570 | + if (isset($index_info['type']) && $index_info['type'] == 'primary') { |
|
571 | + $index_info['name'] = ''; |
|
572 | + } else { |
|
573 | + $index_info['name'] = $table_name . implode('_', $index_info['columns']); |
|
574 | + } |
|
575 | + } else { |
|
576 | + $index_info['name'] = $table_name . $index_info['name']; |
|
556 | 577 | } |
557 | - else |
|
558 | - $index_info['name'] = $table_name . $index_info['name']; |
|
559 | 578 | |
560 | 579 | // Log that we are going to want to remove this! |
561 | 580 | $db_package_log[] = array('remove_index', $table_name, $index_info['name']); |
@@ -568,10 +587,11 @@ discard block |
||
568 | 587 | if ($index['name'] == $index_info['name'] || ($index['type'] == 'primary' && isset($index_info['type']) && $index_info['type'] == 'primary')) |
569 | 588 | { |
570 | 589 | // If we want to overwrite simply remove the current one then continue. |
571 | - if ($if_exists != 'update' || $index['type'] == 'primary') |
|
572 | - return false; |
|
573 | - else |
|
574 | - $smcFunc['db_remove_index']($table_name, $index_info['name']); |
|
590 | + if ($if_exists != 'update' || $index['type'] == 'primary') { |
|
591 | + return false; |
|
592 | + } else { |
|
593 | + $smcFunc['db_remove_index']($table_name, $index_info['name']); |
|
594 | + } |
|
575 | 595 | } |
576 | 596 | } |
577 | 597 | |
@@ -585,8 +605,7 @@ discard block |
||
585 | 605 | 'security_override' => true, |
586 | 606 | ) |
587 | 607 | ); |
588 | - } |
|
589 | - else |
|
608 | + } else |
|
590 | 609 | { |
591 | 610 | $smcFunc['db_query']('', ' |
592 | 611 | CREATE ' . (isset($index_info['type']) && $index_info['type'] == 'unique' ? 'UNIQUE' : '') . ' INDEX ' . $index_info['name'] . ' ON ' . $table_name . ' (' . $columns . ')', |
@@ -614,8 +633,9 @@ discard block |
||
614 | 633 | |
615 | 634 | // Better exist! |
616 | 635 | $indexes = $smcFunc['db_list_indexes']($table_name, true); |
617 | - if ($index_name != 'primary') |
|
618 | - $index_name = $table_name . '_' . $index_name; |
|
636 | + if ($index_name != 'primary') { |
|
637 | + $index_name = $table_name . '_' . $index_name; |
|
638 | + } |
|
619 | 639 | |
620 | 640 | foreach ($indexes as $index) |
621 | 641 | { |
@@ -679,8 +699,7 @@ discard block |
||
679 | 699 | 'datetime' => 'timestamp without time zone', |
680 | 700 | 'timestamp' => 'timestamp without time zone', |
681 | 701 | ); |
682 | - } |
|
683 | - else |
|
702 | + } else |
|
684 | 703 | { |
685 | 704 | $types = array( |
686 | 705 | 'character varying' => 'varchar', |
@@ -696,14 +715,16 @@ discard block |
||
696 | 715 | // Got it? Change it! |
697 | 716 | if (isset($types[$type_name])) |
698 | 717 | { |
699 | - if ($type_name == 'tinytext') |
|
700 | - $type_size = 255; |
|
718 | + if ($type_name == 'tinytext') { |
|
719 | + $type_size = 255; |
|
720 | + } |
|
701 | 721 | $type_name = $types[$type_name]; |
702 | 722 | } |
703 | 723 | |
704 | 724 | // Only char fields got size |
705 | - if (strpos($type_name, 'char') === false) |
|
706 | - $type_size = null; |
|
725 | + if (strpos($type_name, 'char') === false) { |
|
726 | + $type_size = null; |
|
727 | + } |
|
707 | 728 | |
708 | 729 | |
709 | 730 | return array($type_name, $type_size); |
@@ -759,8 +780,7 @@ discard block |
||
759 | 780 | if (!$detail) |
760 | 781 | { |
761 | 782 | $columns[] = $row['column_name']; |
762 | - } |
|
763 | - else |
|
783 | + } else |
|
764 | 784 | { |
765 | 785 | $auto = false; |
766 | 786 | // What is the default? |
@@ -768,11 +788,11 @@ discard block |
||
768 | 788 | { |
769 | 789 | $default = null; |
770 | 790 | $auto = true; |
791 | + } elseif (trim($row['column_default']) != '') { |
|
792 | + $default = strpos($row['column_default'], '::') === false ? $row['column_default'] : substr($row['column_default'], 0, strpos($row['column_default'], '::')); |
|
793 | + } else { |
|
794 | + $default = null; |
|
771 | 795 | } |
772 | - elseif (trim($row['column_default']) != '') |
|
773 | - $default = strpos($row['column_default'], '::') === false ? $row['column_default'] : substr($row['column_default'], 0, strpos($row['column_default'], '::')); |
|
774 | - else |
|
775 | - $default = null; |
|
776 | 796 | |
777 | 797 | // Make the type generic. |
778 | 798 | list ($type, $size) = $smcFunc['db_calculate_type']($row['data_type'], $row['character_maximum_length'], true); |
@@ -823,26 +843,30 @@ discard block |
||
823 | 843 | while ($row = $smcFunc['db_fetch_assoc']($result)) |
824 | 844 | { |
825 | 845 | // Try get the columns that make it up. |
826 | - if (preg_match('~\(([^\)]+?)\)~i', $row['inddef'], $matches) == 0) |
|
827 | - continue; |
|
846 | + if (preg_match('~\(([^\)]+?)\)~i', $row['inddef'], $matches) == 0) { |
|
847 | + continue; |
|
848 | + } |
|
828 | 849 | |
829 | 850 | $columns = explode(',', $matches[1]); |
830 | 851 | |
831 | - if (empty($columns)) |
|
832 | - continue; |
|
852 | + if (empty($columns)) { |
|
853 | + continue; |
|
854 | + } |
|
833 | 855 | |
834 | - foreach ($columns as $k => $v) |
|
835 | - $columns[$k] = trim($v); |
|
856 | + foreach ($columns as $k => $v) { |
|
857 | + $columns[$k] = trim($v); |
|
858 | + } |
|
836 | 859 | |
837 | 860 | // Fix up the name to be consistent cross databases |
838 | - if (substr($row['name'], -5) == '_pkey' && $row['is_primary'] == 1) |
|
839 | - $row['name'] = 'PRIMARY'; |
|
840 | - else |
|
841 | - $row['name'] = str_replace($table_name . '_', '', $row['name']); |
|
861 | + if (substr($row['name'], -5) == '_pkey' && $row['is_primary'] == 1) { |
|
862 | + $row['name'] = 'PRIMARY'; |
|
863 | + } else { |
|
864 | + $row['name'] = str_replace($table_name . '_', '', $row['name']); |
|
865 | + } |
|
842 | 866 | |
843 | - if (!$detail) |
|
844 | - $indexes[] = $row['name']; |
|
845 | - else |
|
867 | + if (!$detail) { |
|
868 | + $indexes[] = $row['name']; |
|
869 | + } else |
|
846 | 870 | { |
847 | 871 | $indexes[$row['name']] = array( |
848 | 872 | 'name' => $row['name'], |
@@ -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 | { |
@@ -5475,7 +5475,6 @@ discard block |
||
5475 | 5475 | |
5476 | 5476 | /** |
5477 | 5477 | * Tries different modes to make file/dirs writable. Wrapper function for chmod() |
5478 | - |
|
5479 | 5478 | * @param string $file The file/dir full path. |
5480 | 5479 | * @param int $value Not needed, added for legacy reasons. |
5481 | 5480 | * @return boolean true if the file/dir is already writable or the function was able to make it writable, false if the function couldn't make the file/dir writable. |
@@ -5515,7 +5514,6 @@ discard block |
||
5515 | 5514 | |
5516 | 5515 | /** |
5517 | 5516 | * Wrapper function for json_decode() with error handling. |
5518 | - |
|
5519 | 5517 | * @param string $json The string to decode. |
5520 | 5518 | * @param bool $returnAsArray To return the decoded string as an array or an object, SMF only uses Arrays but to keep on compatibility with json_decode its set to false as default. |
5521 | 5519 | * @param bool $logIt To specify if the error will be logged if theres any. |
@@ -6006,7 +6004,7 @@ discard block |
||
6006 | 6004 | $cont = stream_context_get_params($read); |
6007 | 6005 | $result = isset($cont["options"]["ssl"]["peer_certificate"]) ? true : false; |
6008 | 6006 | } |
6009 | - return $result; |
|
6007 | + return $result; |
|
6010 | 6008 | } |
6011 | 6009 | |
6012 | 6010 | /** |
@@ -800,7 +800,7 @@ discard block |
||
800 | 800 | $unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400); |
801 | 801 | if (empty($unsupportedFormats)) |
802 | 802 | { |
803 | - foreach($strftimeFormatSubstitutions as $format => $substitution) |
|
803 | + foreach ($strftimeFormatSubstitutions as $format => $substitution) |
|
804 | 804 | { |
805 | 805 | $value = @strftime('%' . $format); |
806 | 806 | |
@@ -1165,7 +1165,7 @@ discard block |
||
1165 | 1165 | 'height' => array('optional' => true, 'match' => '(\d+)'), |
1166 | 1166 | ), |
1167 | 1167 | 'content' => '$1', |
1168 | - 'validate' => function (&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt) |
|
1168 | + 'validate' => function(&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt) |
|
1169 | 1169 | { |
1170 | 1170 | $returnContext = ''; |
1171 | 1171 | |
@@ -1200,7 +1200,7 @@ discard block |
||
1200 | 1200 | } |
1201 | 1201 | |
1202 | 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>'; |
|
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 | 1204 | else |
1205 | 1205 | $returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>'; |
1206 | 1206 | } |
@@ -1229,7 +1229,7 @@ discard block |
||
1229 | 1229 | 'type' => 'unparsed_content', |
1230 | 1230 | 'content' => '<div class="codeheader"><span class="code floatleft">' . $txt['code'] . '</span> <a class="codeoperation smf_select_text">' . $txt['code_select'] . '</a></div><code class="bbc_code">$1</code>', |
1231 | 1231 | // @todo Maybe this can be simplified? |
1232 | - 'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context) |
|
1232 | + 'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context) |
|
1233 | 1233 | { |
1234 | 1234 | if (!isset($disabled['code'])) |
1235 | 1235 | { |
@@ -1266,7 +1266,7 @@ discard block |
||
1266 | 1266 | 'type' => 'unparsed_equals_content', |
1267 | 1267 | 'content' => '<div class="codeheader"><span class="code floatleft">' . $txt['code'] . '</span> ($2) <a class="codeoperation smf_select_text">' . $txt['code_select'] . '</a></div><code class="bbc_code">$1</code>', |
1268 | 1268 | // @todo Maybe this can be simplified? |
1269 | - 'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context) |
|
1269 | + 'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context) |
|
1270 | 1270 | { |
1271 | 1271 | if (!isset($disabled['code'])) |
1272 | 1272 | { |
@@ -1310,7 +1310,7 @@ discard block |
||
1310 | 1310 | 'type' => 'unparsed_content', |
1311 | 1311 | 'content' => '<a href="mailto:$1" class="bbc_email">$1</a>', |
1312 | 1312 | // @todo Should this respect guest_hideContacts? |
1313 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1313 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1314 | 1314 | { |
1315 | 1315 | $data = strtr($data, array('<br>' => '')); |
1316 | 1316 | }, |
@@ -1329,7 +1329,7 @@ discard block |
||
1329 | 1329 | 'type' => 'unparsed_commas_content', |
1330 | 1330 | 'test' => '\d+,\d+\]', |
1331 | 1331 | 'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">', |
1332 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1332 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1333 | 1333 | { |
1334 | 1334 | if (isset($disabled['url'])) |
1335 | 1335 | $tag['content'] = '$1'; |
@@ -1345,7 +1345,7 @@ discard block |
||
1345 | 1345 | 'test' => '(left|right)(\s+max=\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)?\]', |
1346 | 1346 | 'before' => '<div $1>', |
1347 | 1347 | 'after' => '</div>', |
1348 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1348 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1349 | 1349 | { |
1350 | 1350 | $class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"'; |
1351 | 1351 | |
@@ -1394,7 +1394,7 @@ discard block |
||
1394 | 1394 | 'height' => array('optional' => true, 'value' => ' height="$1"', 'match' => '(\d+)'), |
1395 | 1395 | ), |
1396 | 1396 | 'content' => '<img src="$1" alt="{alt}" title="{title}"{width}{height} class="bbc_img resized">', |
1397 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1397 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1398 | 1398 | { |
1399 | 1399 | global $image_proxy_enabled, $image_proxy_secret, $boardurl; |
1400 | 1400 | |
@@ -1417,7 +1417,7 @@ discard block |
||
1417 | 1417 | 'tag' => 'img', |
1418 | 1418 | 'type' => 'unparsed_content', |
1419 | 1419 | 'content' => '<img src="$1" alt="" class="bbc_img">', |
1420 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1420 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1421 | 1421 | { |
1422 | 1422 | global $image_proxy_enabled, $image_proxy_secret, $boardurl; |
1423 | 1423 | |
@@ -1440,7 +1440,7 @@ discard block |
||
1440 | 1440 | 'tag' => 'iurl', |
1441 | 1441 | 'type' => 'unparsed_content', |
1442 | 1442 | 'content' => '<a href="$1" class="bbc_link">$1</a>', |
1443 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1443 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1444 | 1444 | { |
1445 | 1445 | $data = strtr($data, array('<br>' => '')); |
1446 | 1446 | $scheme = parse_url($data, PHP_URL_SCHEME); |
@@ -1454,7 +1454,7 @@ discard block |
||
1454 | 1454 | 'quoted' => 'optional', |
1455 | 1455 | 'before' => '<a href="$1" class="bbc_link">', |
1456 | 1456 | 'after' => '</a>', |
1457 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1457 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1458 | 1458 | { |
1459 | 1459 | if (substr($data, 0, 1) == '#') |
1460 | 1460 | $data = '#post_' . substr($data, 1); |
@@ -1534,7 +1534,7 @@ discard block |
||
1534 | 1534 | 'tag' => 'php', |
1535 | 1535 | 'type' => 'unparsed_content', |
1536 | 1536 | 'content' => '<span class="phpcode">$1</span>', |
1537 | - 'validate' => isset($disabled['php']) ? null : function (&$tag, &$data, $disabled) |
|
1537 | + 'validate' => isset($disabled['php']) ? null : function(&$tag, &$data, $disabled) |
|
1538 | 1538 | { |
1539 | 1539 | if (!isset($disabled['php'])) |
1540 | 1540 | { |
@@ -1632,7 +1632,7 @@ discard block |
||
1632 | 1632 | 'test' => '[1-7]\]', |
1633 | 1633 | 'before' => '<span style="font-size: $1;" class="bbc_size">', |
1634 | 1634 | 'after' => '</span>', |
1635 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1635 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1636 | 1636 | { |
1637 | 1637 | $sizes = array(1 => 0.7, 2 => 1.0, 3 => 1.35, 4 => 1.45, 5 => 2.0, 6 => 2.65, 7 => 3.95); |
1638 | 1638 | $data = $sizes[$data] . 'em'; |
@@ -1670,7 +1670,7 @@ discard block |
||
1670 | 1670 | 'tag' => 'time', |
1671 | 1671 | 'type' => 'unparsed_content', |
1672 | 1672 | 'content' => '$1', |
1673 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1673 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1674 | 1674 | { |
1675 | 1675 | if (is_numeric($data)) |
1676 | 1676 | $data = timeformat($data); |
@@ -1698,7 +1698,7 @@ discard block |
||
1698 | 1698 | 'tag' => 'url', |
1699 | 1699 | 'type' => 'unparsed_content', |
1700 | 1700 | 'content' => '<a href="$1" class="bbc_link" target="_blank">$1</a>', |
1701 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1701 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1702 | 1702 | { |
1703 | 1703 | $data = strtr($data, array('<br>' => '')); |
1704 | 1704 | $scheme = parse_url($data, PHP_URL_SCHEME); |
@@ -1712,7 +1712,7 @@ discard block |
||
1712 | 1712 | 'quoted' => 'optional', |
1713 | 1713 | 'before' => '<a href="$1" class="bbc_link" target="_blank">', |
1714 | 1714 | 'after' => '</a>', |
1715 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1715 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1716 | 1716 | { |
1717 | 1717 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1718 | 1718 | if (empty($scheme)) |
@@ -1738,7 +1738,7 @@ discard block |
||
1738 | 1738 | { |
1739 | 1739 | if (isset($temp_bbc)) |
1740 | 1740 | $bbc_codes = $temp_bbc; |
1741 | - usort($codes, function ($a, $b) { |
|
1741 | + usort($codes, function($a, $b) { |
|
1742 | 1742 | return strcmp($a['tag'], $b['tag']); |
1743 | 1743 | }); |
1744 | 1744 | return $codes; |
@@ -1975,7 +1975,7 @@ discard block |
||
1975 | 1975 | # a run of Unicode domain name characters and a dot |
1976 | 1976 | [\p{L}\p{M}\p{N}\-.:@]+\. |
1977 | 1977 | # and then a TLD valid in the DNS or the reserved "local" TLD |
1978 | - (?:'. $modSettings['tld_regex'] .'|local) |
|
1978 | + (?:'. $modSettings['tld_regex'] . '|local) |
|
1979 | 1979 | ) |
1980 | 1980 | # followed by a non-domain character or end of line |
1981 | 1981 | (?=[^\p{L}\p{N}\-.]|$) |
@@ -2043,7 +2043,7 @@ discard block |
||
2043 | 2043 | )? |
2044 | 2044 | '; |
2045 | 2045 | |
2046 | - $data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function ($matches) { |
|
2046 | + $data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function($matches) { |
|
2047 | 2047 | $url = array_shift($matches); |
2048 | 2048 | |
2049 | 2049 | $scheme = parse_url($url, PHP_URL_SCHEME); |
@@ -2780,7 +2780,7 @@ discard block |
||
2780 | 2780 | for ($i = 0, $n = count($smileysfrom); $i < $n; $i++) |
2781 | 2781 | { |
2782 | 2782 | $specialChars = $smcFunc['htmlspecialchars']($smileysfrom[$i], ENT_QUOTES); |
2783 | - $smileyCode = '<img src="' . $smileys_path . $smileysto[$i] . '" alt="' . strtr($specialChars, array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')). '" title="' . strtr($smcFunc['htmlspecialchars']($smileysdescs[$i]), array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')) . '" class="smiley">'; |
|
2783 | + $smileyCode = '<img src="' . $smileys_path . $smileysto[$i] . '" alt="' . strtr($specialChars, array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')) . '" title="' . strtr($smcFunc['htmlspecialchars']($smileysdescs[$i]), array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')) . '" class="smiley">'; |
|
2784 | 2784 | |
2785 | 2785 | $smileyPregReplacements[$smileysfrom[$i]] = $smileyCode; |
2786 | 2786 | |
@@ -2797,7 +2797,7 @@ discard block |
||
2797 | 2797 | |
2798 | 2798 | // Replace away! |
2799 | 2799 | $message = preg_replace_callback($smileyPregSearch, |
2800 | - function ($matches) use ($smileyPregReplacements) |
|
2800 | + function($matches) use ($smileyPregReplacements) |
|
2801 | 2801 | { |
2802 | 2802 | return $smileyPregReplacements[$matches[1]]; |
2803 | 2803 | }, $message); |
@@ -2863,13 +2863,13 @@ discard block |
||
2863 | 2863 | { |
2864 | 2864 | if (defined('SID') && SID != '') |
2865 | 2865 | $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#]+?)(#[^"]*?)?$~', |
2866 | - function ($m) use ($scripturl) |
|
2866 | + function($m) use ($scripturl) |
|
2867 | 2867 | { |
2868 | - return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : ""); |
|
2868 | + return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID . (isset($m[2]) ? "$m[2]" : ""); |
|
2869 | 2869 | }, $setLocation); |
2870 | 2870 | else |
2871 | 2871 | $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~', |
2872 | - function ($m) use ($scripturl) |
|
2872 | + function($m) use ($scripturl) |
|
2873 | 2873 | { |
2874 | 2874 | return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : ""); |
2875 | 2875 | }, $setLocation); |
@@ -3192,7 +3192,7 @@ discard block |
||
3192 | 3192 | |
3193 | 3193 | // Add a generic "Are you sure?" confirmation message. |
3194 | 3194 | addInlineJavaScript(' |
3195 | - var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';'); |
|
3195 | + var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) . ';'); |
|
3196 | 3196 | |
3197 | 3197 | // Now add the capping code for avatars. |
3198 | 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') |
@@ -3553,7 +3553,7 @@ discard block |
||
3553 | 3553 | |
3554 | 3554 | else |
3555 | 3555 | echo ' |
3556 | - <script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>'; |
|
3556 | + <script src="', $settings['theme_url'], '/scripts/minified', ($do_deferred ? '_deferred' : ''), '.js', $minSeed, '"></script>'; |
|
3557 | 3557 | } |
3558 | 3558 | |
3559 | 3559 | // Inline JavaScript - Actually useful some times! |
@@ -3631,14 +3631,14 @@ discard block |
||
3631 | 3631 | |
3632 | 3632 | else |
3633 | 3633 | echo ' |
3634 | - <link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">'; |
|
3634 | + <link rel="stylesheet" href="', $settings['theme_url'], '/css/minified.css', $minSeed, '">'; |
|
3635 | 3635 | } |
3636 | 3636 | |
3637 | 3637 | // Print the rest after the minified files. |
3638 | 3638 | if (!empty($normal)) |
3639 | 3639 | foreach ($normal as $nf) |
3640 | 3640 | echo ' |
3641 | - <link rel="stylesheet" href="', $nf ,'">'; |
|
3641 | + <link rel="stylesheet" href="', $nf, '">'; |
|
3642 | 3642 | |
3643 | 3643 | if ($db_show_debug === true) |
3644 | 3644 | { |
@@ -3654,7 +3654,7 @@ discard block |
||
3654 | 3654 | <style>'; |
3655 | 3655 | |
3656 | 3656 | foreach ($context['css_header'] as $css) |
3657 | - echo $css .' |
|
3657 | + echo $css . ' |
|
3658 | 3658 | '; |
3659 | 3659 | |
3660 | 3660 | echo' |
@@ -3683,27 +3683,27 @@ discard block |
||
3683 | 3683 | return false; |
3684 | 3684 | |
3685 | 3685 | // Did we already did this? |
3686 | - $toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400); |
|
3686 | + $toCache = cache_get_data('minimized_' . $settings['theme_id'] . '_' . $type, 86400); |
|
3687 | 3687 | |
3688 | 3688 | // Already done? |
3689 | 3689 | if (!empty($toCache)) |
3690 | 3690 | return true; |
3691 | 3691 | |
3692 | 3692 | // No namespaces, sorry! |
3693 | - $classType = 'MatthiasMullie\\Minify\\'. strtoupper($type); |
|
3693 | + $classType = 'MatthiasMullie\\Minify\\' . strtoupper($type); |
|
3694 | 3694 | |
3695 | 3695 | // Temp path. |
3696 | - $cTempPath = $settings['theme_dir'] .'/'. ($type == 'css' ? 'css' : 'scripts') .'/'; |
|
3696 | + $cTempPath = $settings['theme_dir'] . '/' . ($type == 'css' ? 'css' : 'scripts') . '/'; |
|
3697 | 3697 | |
3698 | 3698 | // What kind of file are we going to create? |
3699 | - $toCreate = $cTempPath .'minified'. ($do_deferred ? '_deferred' : '') .'.'. $type; |
|
3699 | + $toCreate = $cTempPath . 'minified' . ($do_deferred ? '_deferred' : '') . '.' . $type; |
|
3700 | 3700 | |
3701 | 3701 | // File has to exists, if it isn't try to create it. |
3702 | 3702 | if ((!file_exists($toCreate) && @fopen($toCreate, 'w') === false) || !smf_chmod($toCreate)) |
3703 | 3703 | { |
3704 | 3704 | loadLanguage('Errors'); |
3705 | 3705 | log_error(sprintf($txt['file_not_created'], $toCreate), 'general'); |
3706 | - cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, null); |
|
3706 | + cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, null); |
|
3707 | 3707 | |
3708 | 3708 | // The process failed so roll back to print each individual file. |
3709 | 3709 | return $data; |
@@ -3738,14 +3738,14 @@ discard block |
||
3738 | 3738 | { |
3739 | 3739 | loadLanguage('Errors'); |
3740 | 3740 | log_error(sprintf($txt['file_not_created'], $toCreate), 'general'); |
3741 | - cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, null); |
|
3741 | + cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, null); |
|
3742 | 3742 | |
3743 | 3743 | // The process failed so roll back to print each individual file. |
3744 | 3744 | return $data; |
3745 | 3745 | } |
3746 | 3746 | |
3747 | 3747 | // And create a long lived cache entry. |
3748 | - cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, $toCreate, 86400); |
|
3748 | + cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, $toCreate, 86400); |
|
3749 | 3749 | |
3750 | 3750 | return true; |
3751 | 3751 | } |
@@ -3805,7 +3805,7 @@ discard block |
||
3805 | 3805 | else |
3806 | 3806 | $path = $modSettings['attachmentUploadDir']; |
3807 | 3807 | |
3808 | - return $path . '/' . $attachment_id . '_' . $file_hash .'.dat'; |
|
3808 | + return $path . '/' . $attachment_id . '_' . $file_hash . '.dat'; |
|
3809 | 3809 | } |
3810 | 3810 | |
3811 | 3811 | /** |
@@ -3849,10 +3849,10 @@ discard block |
||
3849 | 3849 | $valid_low = isValidIP($ip_parts[0]); |
3850 | 3850 | $valid_high = isValidIP($ip_parts[1]); |
3851 | 3851 | $count = 0; |
3852 | - $mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.'); |
|
3852 | + $mode = (preg_match('/:/', $ip_parts[0]) > 0 ? ':' : '.'); |
|
3853 | 3853 | $max = ($mode == ':' ? 'ffff' : '255'); |
3854 | 3854 | $min = 0; |
3855 | - if(!$valid_low) |
|
3855 | + if (!$valid_low) |
|
3856 | 3856 | { |
3857 | 3857 | $ip_parts[0] = preg_replace('/\*/', '0', $ip_parts[0]); |
3858 | 3858 | $valid_low = isValidIP($ip_parts[0]); |
@@ -3866,7 +3866,7 @@ discard block |
||
3866 | 3866 | } |
3867 | 3867 | |
3868 | 3868 | $count = 0; |
3869 | - if(!$valid_high) |
|
3869 | + if (!$valid_high) |
|
3870 | 3870 | { |
3871 | 3871 | $ip_parts[1] = preg_replace('/\*/', $max, $ip_parts[1]); |
3872 | 3872 | $valid_high = isValidIP($ip_parts[1]); |
@@ -3879,7 +3879,7 @@ discard block |
||
3879 | 3879 | } |
3880 | 3880 | } |
3881 | 3881 | |
3882 | - if($valid_high && $valid_low) |
|
3882 | + if ($valid_high && $valid_low) |
|
3883 | 3883 | { |
3884 | 3884 | $ip_array['low'] = $ip_parts[0]; |
3885 | 3885 | $ip_array['high'] = $ip_parts[1]; |
@@ -4061,7 +4061,7 @@ discard block |
||
4061 | 4061 | addInlineJavaScript(' |
4062 | 4062 | var user_menus = new smc_PopupMenu(); |
4063 | 4063 | user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup"); |
4064 | - user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true); |
|
4064 | + user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u=' . $context['user']['id'] . '");', true); |
|
4065 | 4065 | if ($context['allow_pm']) |
4066 | 4066 | addInlineJavaScript(' |
4067 | 4067 | user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true); |
@@ -4681,7 +4681,7 @@ discard block |
||
4681 | 4681 | // No? try a fallback to $sourcedir |
4682 | 4682 | else |
4683 | 4683 | { |
4684 | - $absPath = $sourcedir .'/'. $file; |
|
4684 | + $absPath = $sourcedir . '/' . $file; |
|
4685 | 4685 | |
4686 | 4686 | if (file_exists($absPath)) |
4687 | 4687 | require_once($absPath); |
@@ -4762,15 +4762,15 @@ discard block |
||
4762 | 4762 | |
4763 | 4763 | // UTF-8 occurences of MS special characters |
4764 | 4764 | $findchars_utf8 = array( |
4765 | - "\xe2\x80\x9a", // single low-9 quotation mark |
|
4766 | - "\xe2\x80\x9e", // double low-9 quotation mark |
|
4767 | - "\xe2\x80\xa6", // horizontal ellipsis |
|
4768 | - "\xe2\x80\x98", // left single curly quote |
|
4769 | - "\xe2\x80\x99", // right single curly quote |
|
4770 | - "\xe2\x80\x9c", // left double curly quote |
|
4771 | - "\xe2\x80\x9d", // right double curly quote |
|
4772 | - "\xe2\x80\x93", // en dash |
|
4773 | - "\xe2\x80\x94", // em dash |
|
4765 | + "\xe2\x80\x9a", // single low-9 quotation mark |
|
4766 | + "\xe2\x80\x9e", // double low-9 quotation mark |
|
4767 | + "\xe2\x80\xa6", // horizontal ellipsis |
|
4768 | + "\xe2\x80\x98", // left single curly quote |
|
4769 | + "\xe2\x80\x99", // right single curly quote |
|
4770 | + "\xe2\x80\x9c", // left double curly quote |
|
4771 | + "\xe2\x80\x9d", // right double curly quote |
|
4772 | + "\xe2\x80\x93", // en dash |
|
4773 | + "\xe2\x80\x94", // em dash |
|
4774 | 4774 | ); |
4775 | 4775 | |
4776 | 4776 | // windows 1252 / iso equivalents |
@@ -4788,15 +4788,15 @@ discard block |
||
4788 | 4788 | |
4789 | 4789 | // safe replacements |
4790 | 4790 | $replacechars = array( |
4791 | - ',', // ‚ |
|
4792 | - ',,', // „ |
|
4793 | - '...', // … |
|
4794 | - "'", // ‘ |
|
4795 | - "'", // ’ |
|
4796 | - '"', // “ |
|
4797 | - '"', // ” |
|
4798 | - '-', // – |
|
4799 | - '--', // — |
|
4791 | + ',', // ‚ |
|
4792 | + ',,', // „ |
|
4793 | + '...', // … |
|
4794 | + "'", // ‘ |
|
4795 | + "'", // ’ |
|
4796 | + '"', // “ |
|
4797 | + '"', // ” |
|
4798 | + '-', // – |
|
4799 | + '--', // — |
|
4800 | 4800 | ); |
4801 | 4801 | |
4802 | 4802 | if ($context['utf8']) |
@@ -5214,7 +5214,7 @@ discard block |
||
5214 | 5214 | */ |
5215 | 5215 | function inet_dtop($bin) |
5216 | 5216 | { |
5217 | - if(empty($bin)) |
|
5217 | + if (empty($bin)) |
|
5218 | 5218 | return ''; |
5219 | 5219 | |
5220 | 5220 | global $db_type; |
@@ -5245,28 +5245,28 @@ discard block |
||
5245 | 5245 | */ |
5246 | 5246 | function _safe_serialize($value) |
5247 | 5247 | { |
5248 | - if(is_null($value)) |
|
5248 | + if (is_null($value)) |
|
5249 | 5249 | return 'N;'; |
5250 | 5250 | |
5251 | - if(is_bool($value)) |
|
5252 | - return 'b:'. (int) $value .';'; |
|
5251 | + if (is_bool($value)) |
|
5252 | + return 'b:' . (int) $value . ';'; |
|
5253 | 5253 | |
5254 | - if(is_int($value)) |
|
5255 | - return 'i:'. $value .';'; |
|
5254 | + if (is_int($value)) |
|
5255 | + return 'i:' . $value . ';'; |
|
5256 | 5256 | |
5257 | - if(is_float($value)) |
|
5258 | - return 'd:'. str_replace(',', '.', $value) .';'; |
|
5257 | + if (is_float($value)) |
|
5258 | + return 'd:' . str_replace(',', '.', $value) . ';'; |
|
5259 | 5259 | |
5260 | - if(is_string($value)) |
|
5261 | - return 's:'. strlen($value) .':"'. $value .'";'; |
|
5260 | + if (is_string($value)) |
|
5261 | + return 's:' . strlen($value) . ':"' . $value . '";'; |
|
5262 | 5262 | |
5263 | - if(is_array($value)) |
|
5263 | + if (is_array($value)) |
|
5264 | 5264 | { |
5265 | 5265 | $out = ''; |
5266 | - foreach($value as $k => $v) |
|
5266 | + foreach ($value as $k => $v) |
|
5267 | 5267 | $out .= _safe_serialize($k) . _safe_serialize($v); |
5268 | 5268 | |
5269 | - return 'a:'. count($value) .':{'. $out .'}'; |
|
5269 | + return 'a:' . count($value) . ':{' . $out . '}'; |
|
5270 | 5270 | } |
5271 | 5271 | |
5272 | 5272 | // safe_serialize cannot serialize resources or objects. |
@@ -5308,7 +5308,7 @@ discard block |
||
5308 | 5308 | function _safe_unserialize($str) |
5309 | 5309 | { |
5310 | 5310 | // Input is not a string. |
5311 | - if(empty($str) || !is_string($str)) |
|
5311 | + if (empty($str) || !is_string($str)) |
|
5312 | 5312 | return false; |
5313 | 5313 | |
5314 | 5314 | $stack = array(); |
@@ -5322,40 +5322,40 @@ discard block |
||
5322 | 5322 | * 3 - in array, expecting value or another array |
5323 | 5323 | */ |
5324 | 5324 | $state = 0; |
5325 | - while($state != 1) |
|
5325 | + while ($state != 1) |
|
5326 | 5326 | { |
5327 | 5327 | $type = isset($str[0]) ? $str[0] : ''; |
5328 | - if($type == '}') |
|
5328 | + if ($type == '}') |
|
5329 | 5329 | $str = substr($str, 1); |
5330 | 5330 | |
5331 | - else if($type == 'N' && $str[1] == ';') |
|
5331 | + else if ($type == 'N' && $str[1] == ';') |
|
5332 | 5332 | { |
5333 | 5333 | $value = null; |
5334 | 5334 | $str = substr($str, 2); |
5335 | 5335 | } |
5336 | - else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
5336 | + else if ($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
5337 | 5337 | { |
5338 | 5338 | $value = $matches[1] == '1' ? true : false; |
5339 | 5339 | $str = substr($str, 4); |
5340 | 5340 | } |
5341 | - else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
5341 | + else if ($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
5342 | 5342 | { |
5343 | - $value = (int)$matches[1]; |
|
5343 | + $value = (int) $matches[1]; |
|
5344 | 5344 | $str = $matches[2]; |
5345 | 5345 | } |
5346 | - else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
5346 | + else if ($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
5347 | 5347 | { |
5348 | - $value = (float)$matches[1]; |
|
5348 | + $value = (float) $matches[1]; |
|
5349 | 5349 | $str = $matches[3]; |
5350 | 5350 | } |
5351 | - else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";') |
|
5351 | + else if ($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int) $matches[1], 2) == '";') |
|
5352 | 5352 | { |
5353 | - $value = substr($matches[2], 0, (int)$matches[1]); |
|
5354 | - $str = substr($matches[2], (int)$matches[1] + 2); |
|
5353 | + $value = substr($matches[2], 0, (int) $matches[1]); |
|
5354 | + $str = substr($matches[2], (int) $matches[1] + 2); |
|
5355 | 5355 | } |
5356 | - else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
5356 | + else if ($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
5357 | 5357 | { |
5358 | - $expectedLength = (int)$matches[1]; |
|
5358 | + $expectedLength = (int) $matches[1]; |
|
5359 | 5359 | $str = $matches[2]; |
5360 | 5360 | } |
5361 | 5361 | |
@@ -5363,10 +5363,10 @@ discard block |
||
5363 | 5363 | else |
5364 | 5364 | return false; |
5365 | 5365 | |
5366 | - switch($state) |
|
5366 | + switch ($state) |
|
5367 | 5367 | { |
5368 | 5368 | case 3: // In array, expecting value or another array. |
5369 | - if($type == 'a') |
|
5369 | + if ($type == 'a') |
|
5370 | 5370 | { |
5371 | 5371 | $stack[] = &$list; |
5372 | 5372 | $list[$key] = array(); |
@@ -5375,7 +5375,7 @@ discard block |
||
5375 | 5375 | $state = 2; |
5376 | 5376 | break; |
5377 | 5377 | } |
5378 | - if($type != '}') |
|
5378 | + if ($type != '}') |
|
5379 | 5379 | { |
5380 | 5380 | $list[$key] = $value; |
5381 | 5381 | $state = 2; |
@@ -5386,29 +5386,29 @@ discard block |
||
5386 | 5386 | return false; |
5387 | 5387 | |
5388 | 5388 | case 2: // in array, expecting end of array or a key |
5389 | - if($type == '}') |
|
5389 | + if ($type == '}') |
|
5390 | 5390 | { |
5391 | 5391 | // Array size is less than expected. |
5392 | - if(count($list) < end($expected)) |
|
5392 | + if (count($list) < end($expected)) |
|
5393 | 5393 | return false; |
5394 | 5394 | |
5395 | 5395 | unset($list); |
5396 | - $list = &$stack[count($stack)-1]; |
|
5396 | + $list = &$stack[count($stack) - 1]; |
|
5397 | 5397 | array_pop($stack); |
5398 | 5398 | |
5399 | 5399 | // Go to terminal state if we're at the end of the root array. |
5400 | 5400 | array_pop($expected); |
5401 | 5401 | |
5402 | - if(count($expected) == 0) |
|
5402 | + if (count($expected) == 0) |
|
5403 | 5403 | $state = 1; |
5404 | 5404 | |
5405 | 5405 | break; |
5406 | 5406 | } |
5407 | 5407 | |
5408 | - if($type == 'i' || $type == 's') |
|
5408 | + if ($type == 'i' || $type == 's') |
|
5409 | 5409 | { |
5410 | 5410 | // Array size exceeds expected length. |
5411 | - if(count($list) >= end($expected)) |
|
5411 | + if (count($list) >= end($expected)) |
|
5412 | 5412 | return false; |
5413 | 5413 | |
5414 | 5414 | $key = $value; |
@@ -5421,7 +5421,7 @@ discard block |
||
5421 | 5421 | |
5422 | 5422 | // Expecting array or value. |
5423 | 5423 | case 0: |
5424 | - if($type == 'a') |
|
5424 | + if ($type == 'a') |
|
5425 | 5425 | { |
5426 | 5426 | $data = array(); |
5427 | 5427 | $list = &$data; |
@@ -5430,7 +5430,7 @@ discard block |
||
5430 | 5430 | break; |
5431 | 5431 | } |
5432 | 5432 | |
5433 | - if($type != '}') |
|
5433 | + if ($type != '}') |
|
5434 | 5434 | { |
5435 | 5435 | $data = $value; |
5436 | 5436 | $state = 1; |
@@ -5443,7 +5443,7 @@ discard block |
||
5443 | 5443 | } |
5444 | 5444 | |
5445 | 5445 | // Trailing data in input. |
5446 | - if(!empty($str)) |
|
5446 | + if (!empty($str)) |
|
5447 | 5447 | return false; |
5448 | 5448 | |
5449 | 5449 | return $data; |
@@ -5497,7 +5497,7 @@ discard block |
||
5497 | 5497 | // Set different modes. |
5498 | 5498 | $chmodValues = $isDir ? array(0750, 0755, 0775, 0777) : array(0644, 0664, 0666); |
5499 | 5499 | |
5500 | - foreach($chmodValues as $val) |
|
5500 | + foreach ($chmodValues as $val) |
|
5501 | 5501 | { |
5502 | 5502 | // If it's writable, break out of the loop. |
5503 | 5503 | if (is_writable($file)) |
@@ -5532,13 +5532,13 @@ discard block |
||
5532 | 5532 | $returnArray = @json_decode($json, $returnAsArray); |
5533 | 5533 | |
5534 | 5534 | // PHP 5.3 so no json_last_error_msg() |
5535 | - switch(json_last_error()) |
|
5535 | + switch (json_last_error()) |
|
5536 | 5536 | { |
5537 | 5537 | case JSON_ERROR_NONE: |
5538 | 5538 | $jsonError = false; |
5539 | 5539 | break; |
5540 | 5540 | case JSON_ERROR_DEPTH: |
5541 | - $jsonError = 'JSON_ERROR_DEPTH'; |
|
5541 | + $jsonError = 'JSON_ERROR_DEPTH'; |
|
5542 | 5542 | break; |
5543 | 5543 | case JSON_ERROR_STATE_MISMATCH: |
5544 | 5544 | $jsonError = 'JSON_ERROR_STATE_MISMATCH'; |
@@ -5566,10 +5566,10 @@ discard block |
||
5566 | 5566 | loadLanguage('Errors'); |
5567 | 5567 | |
5568 | 5568 | if (!empty($jsonDebug)) |
5569 | - log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
5569 | + log_error($txt['json_' . $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
5570 | 5570 | |
5571 | 5571 | else |
5572 | - log_error($txt['json_'. $jsonError], 'critical'); |
|
5572 | + log_error($txt['json_' . $jsonError], 'critical'); |
|
5573 | 5573 | |
5574 | 5574 | // Everyone expects an array. |
5575 | 5575 | return array(); |
@@ -5681,7 +5681,7 @@ discard block |
||
5681 | 5681 | }); |
5682 | 5682 | |
5683 | 5683 | // Convert Punycode to Unicode |
5684 | - $tlds = array_map(function ($input) { |
|
5684 | + $tlds = array_map(function($input) { |
|
5685 | 5685 | $prefix = 'xn--'; |
5686 | 5686 | $safe_char = 0xFFFC; |
5687 | 5687 | $base = 36; |
@@ -5697,7 +5697,7 @@ discard block |
||
5697 | 5697 | |
5698 | 5698 | foreach ($enco_parts as $encoded) |
5699 | 5699 | { |
5700 | - if (strpos($encoded,$prefix) !== 0 || strlen(trim(str_replace($prefix,'',$encoded))) == 0) |
|
5700 | + if (strpos($encoded, $prefix) !== 0 || strlen(trim(str_replace($prefix, '', $encoded))) == 0) |
|
5701 | 5701 | { |
5702 | 5702 | $output_parts[] = $encoded; |
5703 | 5703 | continue; |
@@ -5708,7 +5708,7 @@ discard block |
||
5708 | 5708 | $idx = 0; |
5709 | 5709 | $char = 0x80; |
5710 | 5710 | $decoded = array(); |
5711 | - $output=''; |
|
5711 | + $output = ''; |
|
5712 | 5712 | $delim_pos = strrpos($encoded, '-'); |
5713 | 5713 | |
5714 | 5714 | if ($delim_pos > strlen($prefix)) |
@@ -5724,7 +5724,7 @@ discard block |
||
5724 | 5724 | |
5725 | 5725 | for ($enco_idx = $delim_pos ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) |
5726 | 5726 | { |
5727 | - for ($old_idx = $idx, $w = 1, $k = $base; 1 ; $k += $base) |
|
5727 | + for ($old_idx = $idx, $w = 1, $k = $base; 1; $k += $base) |
|
5728 | 5728 | { |
5729 | 5729 | $cp = ord($encoded{$enco_idx++}); |
5730 | 5730 | $digit = ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $base)); |
@@ -5765,15 +5765,15 @@ discard block |
||
5765 | 5765 | |
5766 | 5766 | // 2 bytes |
5767 | 5767 | elseif ($v < (1 << 11)) |
5768 | - $output .= chr(192+($v >> 6)) . chr(128+($v & 63)); |
|
5768 | + $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63)); |
|
5769 | 5769 | |
5770 | 5770 | // 3 bytes |
5771 | 5771 | elseif ($v < (1 << 16)) |
5772 | - $output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
5772 | + $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63)); |
|
5773 | 5773 | |
5774 | 5774 | // 4 bytes |
5775 | 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)); |
|
5776 | + $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63)); |
|
5777 | 5777 | |
5778 | 5778 | // 'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k |
5779 | 5779 | else |
@@ -5878,7 +5878,7 @@ discard block |
||
5878 | 5878 | } |
5879 | 5879 | |
5880 | 5880 | // This recursive function creates the index array from the strings |
5881 | - $add_string_to_index = function ($string, $index) use (&$strlen, &$substr, &$add_string_to_index) |
|
5881 | + $add_string_to_index = function($string, $index) use (&$strlen, &$substr, &$add_string_to_index) |
|
5882 | 5882 | { |
5883 | 5883 | static $depth = 0; |
5884 | 5884 | $depth++; |
@@ -5905,7 +5905,7 @@ discard block |
||
5905 | 5905 | }; |
5906 | 5906 | |
5907 | 5907 | // This recursive function turns the index array into a regular expression |
5908 | - $index_to_regex = function (&$index, $delim) use (&$strlen, &$index_to_regex) |
|
5908 | + $index_to_regex = function(&$index, $delim) use (&$strlen, &$index_to_regex) |
|
5909 | 5909 | { |
5910 | 5910 | static $depth = 0; |
5911 | 5911 | $depth++; |
@@ -5929,11 +5929,11 @@ discard block |
||
5929 | 5929 | |
5930 | 5930 | if (count(array_keys($value)) == 1) |
5931 | 5931 | { |
5932 | - $new_key_array = explode('(?'.'>', $sub_regex); |
|
5932 | + $new_key_array = explode('(?' . '>', $sub_regex); |
|
5933 | 5933 | $new_key .= $new_key_array[0]; |
5934 | 5934 | } |
5935 | 5935 | else |
5936 | - $sub_regex = '(?'.'>' . $sub_regex . ')'; |
|
5936 | + $sub_regex = '(?' . '>' . $sub_regex . ')'; |
|
5937 | 5937 | } |
5938 | 5938 | |
5939 | 5939 | if ($depth > 1) |
@@ -5976,10 +5976,10 @@ discard block |
||
5976 | 5976 | { |
5977 | 5977 | $regex = array(); |
5978 | 5978 | while (!empty($index)) |
5979 | - $regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
5979 | + $regex[] = '(?' . '>' . $index_to_regex($index, $delim) . ')'; |
|
5980 | 5980 | } |
5981 | 5981 | else |
5982 | - $regex = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
5982 | + $regex = '(?' . '>' . $index_to_regex($index, $delim) . ')'; |
|
5983 | 5983 | |
5984 | 5984 | // Restore PHP's internal character encoding to whatever it was originally |
5985 | 5985 | if (!empty($current_encoding)) |
@@ -6000,7 +6000,7 @@ discard block |
||
6000 | 6000 | $url = str_ireplace('http://', 'https://', $url) . '/'; |
6001 | 6001 | |
6002 | 6002 | $result = false; |
6003 | - $stream = stream_context_create (array("ssl" => array("capture_peer_cert" => true))); |
|
6003 | + $stream = stream_context_create(array("ssl" => array("capture_peer_cert" => true))); |
|
6004 | 6004 | $read = @fopen($url, "rb", false, $stream); |
6005 | 6005 | if ($read !== false) { |
6006 | 6006 | $cont = stream_context_get_params($read); |
@@ -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'] = comma_format(round(array_sum(explode(' ', microtime())) - array_sum(explode(' ', $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; |
@@ -251,7 +251,7 @@ |
||
251 | 251 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
252 | 252 | $fts_language[$row['cfgname']] = $row['cfgname']; |
253 | 253 | |
254 | - $config_vars = array_merge ($config_vars, array( |
|
254 | + $config_vars = array_merge($config_vars, array( |
|
255 | 255 | '', |
256 | 256 | array('search_language', $txt['search_language'], 'db', 'select', $fts_language, 'pgFulltextSearch') |
257 | 257 | ) |
@@ -59,8 +59,9 @@ discard block |
||
59 | 59 | * @version 2.1 Beta 4 |
60 | 60 | */ |
61 | 61 | |
62 | -if (!defined('SMF')) |
|
62 | +if (!defined('SMF')) { |
|
63 | 63 | die('No direct access...'); |
64 | +} |
|
64 | 65 | |
65 | 66 | /** |
66 | 67 | * This is the main dispatcher. Sets up all the available sub-actions, all the tabs and selects |
@@ -111,10 +112,11 @@ discard block |
||
111 | 112 | $settings_not_writable = !is_writable($boarddir . '/Settings.php'); |
112 | 113 | $settings_backup_fail = !@is_writable($boarddir . '/Settings_bak.php') || !@copy($boarddir . '/Settings.php', $boarddir . '/Settings_bak.php'); |
113 | 114 | |
114 | - if ($settings_not_writable) |
|
115 | - $context['settings_message'] = '<div class="centertext"><strong>' . $txt['settings_not_writable'] . '</strong></div><br>'; |
|
116 | - elseif ($settings_backup_fail) |
|
117 | - $context['settings_message'] = '<div class="centertext"><strong>' . $txt['admin_backup_fail'] . '</strong></div><br>'; |
|
115 | + if ($settings_not_writable) { |
|
116 | + $context['settings_message'] = '<div class="centertext"><strong>' . $txt['settings_not_writable'] . '</strong></div><br>'; |
|
117 | + } elseif ($settings_backup_fail) { |
|
118 | + $context['settings_message'] = '<div class="centertext"><strong>' . $txt['admin_backup_fail'] . '</strong></div><br>'; |
|
119 | + } |
|
118 | 120 | |
119 | 121 | $context['settings_not_writable'] = $settings_not_writable; |
120 | 122 | |
@@ -142,10 +144,11 @@ discard block |
||
142 | 144 | |
143 | 145 | // If no cert, force_ssl must remain 0 |
144 | 146 | require_once($sourcedir . '/Subs.php'); |
145 | - if (!ssl_cert_found($boardurl) && empty($modSettings['force_ssl'])) |
|
146 | - $disable_force_ssl = true; |
|
147 | - else |
|
148 | - $disable_force_ssl = false; |
|
147 | + if (!ssl_cert_found($boardurl) && empty($modSettings['force_ssl'])) { |
|
148 | + $disable_force_ssl = true; |
|
149 | + } else { |
|
150 | + $disable_force_ssl = false; |
|
151 | + } |
|
149 | 152 | |
150 | 153 | /* If you're writing a mod, it's a bad idea to add things here.... |
151 | 154 | For each option: |
@@ -175,8 +178,9 @@ discard block |
||
175 | 178 | |
176 | 179 | call_integration_hook('integrate_general_settings', array(&$config_vars)); |
177 | 180 | |
178 | - if ($return_config) |
|
179 | - return $config_vars; |
|
181 | + if ($return_config) { |
|
182 | + return $config_vars; |
|
183 | + } |
|
180 | 184 | |
181 | 185 | // Setup the template stuff. |
182 | 186 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=general;save'; |
@@ -193,16 +197,18 @@ discard block |
||
193 | 197 | $registerSMStats = registerSMStats(); |
194 | 198 | |
195 | 199 | // Failed to register, disable it again. |
196 | - if (empty($registerSMStats)) |
|
197 | - $_POST['enable_sm_stats'] = 0; |
|
200 | + if (empty($registerSMStats)) { |
|
201 | + $_POST['enable_sm_stats'] = 0; |
|
202 | + } |
|
198 | 203 | } |
199 | 204 | |
200 | 205 | // Ensure all URLs are aligned with the new force_ssl setting |
201 | 206 | // Treat unset like 0 |
202 | - if (isset($_POST['force_ssl'])) |
|
203 | - AlignURLsWithSSLSetting($_POST['force_ssl']); |
|
204 | - else |
|
205 | - AlignURLsWithSSLSetting(0); |
|
207 | + if (isset($_POST['force_ssl'])) { |
|
208 | + AlignURLsWithSSLSetting($_POST['force_ssl']); |
|
209 | + } else { |
|
210 | + AlignURLsWithSSLSetting(0); |
|
211 | + } |
|
206 | 212 | |
207 | 213 | saveSettings($config_vars); |
208 | 214 | $_SESSION['adm-save'] = true; |
@@ -255,10 +261,11 @@ discard block |
||
255 | 261 | require_once($sourcedir . '/Subs-Admin.php'); |
256 | 262 | |
257 | 263 | // Check $boardurl |
258 | - if ($new_force_ssl == 2) |
|
259 | - $newval = strtr($boardurl, array('http://' => 'https://')); |
|
260 | - else |
|
261 | - $newval = strtr($boardurl, array('https://' => 'http://')); |
|
264 | + if ($new_force_ssl == 2) { |
|
265 | + $newval = strtr($boardurl, array('http://' => 'https://')); |
|
266 | + } else { |
|
267 | + $newval = strtr($boardurl, array('https://' => 'http://')); |
|
268 | + } |
|
262 | 269 | updateSettingsFile(array('boardurl' => '\'' . addslashes($newval) . '\'')); |
263 | 270 | |
264 | 271 | $new_settings = array(); |
@@ -266,20 +273,22 @@ discard block |
||
266 | 273 | // Check $smileys_url, but only if it points to a subfolder of $boardurl |
267 | 274 | if (BoardurlMatch($modSettings['smileys_url'])) |
268 | 275 | { |
269 | - if ($new_force_ssl == 2) |
|
270 | - $newval = strtr($modSettings['smileys_url'], array('http://' => 'https://')); |
|
271 | - else |
|
272 | - $newval = strtr($modSettings['smileys_url'], array('https://' => 'http://')); |
|
276 | + if ($new_force_ssl == 2) { |
|
277 | + $newval = strtr($modSettings['smileys_url'], array('http://' => 'https://')); |
|
278 | + } else { |
|
279 | + $newval = strtr($modSettings['smileys_url'], array('https://' => 'http://')); |
|
280 | + } |
|
273 | 281 | $new_settings['smileys_url'] = $newval; |
274 | 282 | } |
275 | 283 | |
276 | 284 | // Check $avatar_url, but only if it points to a subfolder of $boardurl |
277 | 285 | if (BoardurlMatch($modSettings['avatar_url'])) |
278 | 286 | { |
279 | - if ($new_force_ssl == 2) |
|
280 | - $newval = strtr($modSettings['avatar_url'], array('http://' => 'https://')); |
|
281 | - else |
|
282 | - $newval = strtr($modSettings['avatar_url'], array('https://' => 'http://')); |
|
287 | + if ($new_force_ssl == 2) { |
|
288 | + $newval = strtr($modSettings['avatar_url'], array('http://' => 'https://')); |
|
289 | + } else { |
|
290 | + $newval = strtr($modSettings['avatar_url'], array('https://' => 'http://')); |
|
291 | + } |
|
283 | 292 | $new_settings['avatar_url'] = $newval; |
284 | 293 | } |
285 | 294 | |
@@ -287,16 +296,18 @@ discard block |
||
287 | 296 | // This one had been optional in the past, make sure it is set first |
288 | 297 | if (isset($modSettings['custom_avatar_url']) && BoardurlMatch($modSettings['custom_avatar_url'])) |
289 | 298 | { |
290 | - if ($new_force_ssl == 2) |
|
291 | - $newval = strtr($modSettings['custom_avatar_url'], array('http://' => 'https://')); |
|
292 | - else |
|
293 | - $newval = strtr($modSettings['custom_avatar_url'], array('https://' => 'http://')); |
|
299 | + if ($new_force_ssl == 2) { |
|
300 | + $newval = strtr($modSettings['custom_avatar_url'], array('http://' => 'https://')); |
|
301 | + } else { |
|
302 | + $newval = strtr($modSettings['custom_avatar_url'], array('https://' => 'http://')); |
|
303 | + } |
|
294 | 304 | $new_settings['custom_avatar_url'] = $newval; |
295 | 305 | } |
296 | 306 | |
297 | 307 | // Save updates to the settings table |
298 | - if (!empty($new_settings)) |
|
299 | - updateSettings($new_settings, true); |
|
308 | + if (!empty($new_settings)) { |
|
309 | + updateSettings($new_settings, true); |
|
310 | + } |
|
300 | 311 | |
301 | 312 | // Now we move onto the themes. |
302 | 313 | // First, get a list of theme URLs... |
@@ -317,10 +328,11 @@ discard block |
||
317 | 328 | // First check to see if it points to a subfolder of $boardurl |
318 | 329 | if (BoardurlMatch($row['value'])) |
319 | 330 | { |
320 | - if ($new_force_ssl == 2) |
|
321 | - $newval = strtr($row['value'], array('http://' => 'https://')); |
|
322 | - else |
|
323 | - $newval = strtr($row['value'], array('https://' => 'http://')); |
|
331 | + if ($new_force_ssl == 2) { |
|
332 | + $newval = strtr($row['value'], array('http://' => 'https://')); |
|
333 | + } else { |
|
334 | + $newval = strtr($row['value'], array('https://' => 'http://')); |
|
335 | + } |
|
324 | 336 | $smcFunc['db_query']('', ' |
325 | 337 | UPDATE {db_prefix}themes |
326 | 338 | SET value = {string:theme_val} |
@@ -360,11 +372,12 @@ discard block |
||
360 | 372 | |
361 | 373 | // If leftmost portion of path matches boardurl, return true |
362 | 374 | $result = strpos($urlpath, $boardurlpath); |
363 | - if ($result === false || $result != 0) |
|
364 | - return false; |
|
365 | - else |
|
366 | - return true; |
|
367 | -} |
|
375 | + if ($result === false || $result != 0) { |
|
376 | + return false; |
|
377 | + } else { |
|
378 | + return true; |
|
379 | + } |
|
380 | + } |
|
368 | 381 | |
369 | 382 | /** |
370 | 383 | * Basic database and paths settings - database name, host, etc. |
@@ -402,8 +415,9 @@ discard block |
||
402 | 415 | $request = $smcFunc['db_query']('', 'SELECT cfgname FROM pg_ts_config', array()); |
403 | 416 | $fts_language = array(); |
404 | 417 | |
405 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
406 | - $fts_language[$row['cfgname']] = $row['cfgname']; |
|
418 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
419 | + $fts_language[$row['cfgname']] = $row['cfgname']; |
|
420 | + } |
|
407 | 421 | |
408 | 422 | $config_vars = array_merge ($config_vars, array( |
409 | 423 | '', |
@@ -415,8 +429,9 @@ discard block |
||
415 | 429 | |
416 | 430 | call_integration_hook('integrate_database_settings', array(&$config_vars)); |
417 | 431 | |
418 | - if ($return_config) |
|
419 | - return $config_vars; |
|
432 | + if ($return_config) { |
|
433 | + return $config_vars; |
|
434 | + } |
|
420 | 435 | |
421 | 436 | // Setup the template stuff. |
422 | 437 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=database;save'; |
@@ -491,13 +506,15 @@ discard block |
||
491 | 506 | hideGlobalCookies(); |
492 | 507 | });', true); |
493 | 508 | |
494 | - if (empty($user_settings['tfa_secret'])) |
|
495 | - addInlineJavaScript(''); |
|
509 | + if (empty($user_settings['tfa_secret'])) { |
|
510 | + addInlineJavaScript(''); |
|
511 | + } |
|
496 | 512 | |
497 | 513 | call_integration_hook('integrate_cookie_settings', array(&$config_vars)); |
498 | 514 | |
499 | - if ($return_config) |
|
500 | - return $config_vars; |
|
515 | + if ($return_config) { |
|
516 | + return $config_vars; |
|
517 | + } |
|
501 | 518 | |
502 | 519 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=cookie;save'; |
503 | 520 | $context['settings_title'] = $txt['cookies_sessions_settings']; |
@@ -508,11 +525,13 @@ discard block |
||
508 | 525 | call_integration_hook('integrate_save_cookie_settings'); |
509 | 526 | |
510 | 527 | // Local and global do not play nicely together. |
511 | - if (!empty($_POST['localCookies']) && empty($_POST['globalCookies'])) |
|
512 | - unset ($_POST['globalCookies']); |
|
528 | + if (!empty($_POST['localCookies']) && empty($_POST['globalCookies'])) { |
|
529 | + unset ($_POST['globalCookies']); |
|
530 | + } |
|
513 | 531 | |
514 | - if (!empty($_POST['globalCookiesDomain']) && strpos($boardurl, $_POST['globalCookiesDomain']) === false) |
|
515 | - fatal_lang_error('invalid_cookie_domain', false); |
|
532 | + if (!empty($_POST['globalCookiesDomain']) && strpos($boardurl, $_POST['globalCookiesDomain']) === false) { |
|
533 | + fatal_lang_error('invalid_cookie_domain', false); |
|
534 | + } |
|
516 | 535 | |
517 | 536 | saveSettings($config_vars); |
518 | 537 | |
@@ -595,8 +614,9 @@ discard block |
||
595 | 614 | |
596 | 615 | call_integration_hook('integrate_general_security_settings', array(&$config_vars)); |
597 | 616 | |
598 | - if ($return_config) |
|
599 | - return $config_vars; |
|
617 | + if ($return_config) { |
|
618 | + return $config_vars; |
|
619 | + } |
|
600 | 620 | |
601 | 621 | // Saving? |
602 | 622 | if (isset($_GET['save'])) |
@@ -635,8 +655,7 @@ discard block |
||
635 | 655 | $txt['cache_settings_message'] = $txt['detected_no_caching']; |
636 | 656 | $cache_level = array($txt['cache_off']); |
637 | 657 | $detected['none'] = $txt['cache_off']; |
638 | - } |
|
639 | - else |
|
658 | + } else |
|
640 | 659 | { |
641 | 660 | $txt['cache_settings_message'] = sprintf($txt['detected_accelerators'], implode(', ', $detected)); |
642 | 661 | $cache_level = array($txt['cache_off'], $txt['cache_level1'], $txt['cache_level2'], $txt['cache_level3']); |
@@ -673,8 +692,9 @@ discard block |
||
673 | 692 | } |
674 | 693 | } |
675 | 694 | } |
676 | - if ($return_config) |
|
677 | - return $config_vars; |
|
695 | + if ($return_config) { |
|
696 | + return $config_vars; |
|
697 | + } |
|
678 | 698 | |
679 | 699 | // Saving again? |
680 | 700 | if (isset($_GET['save'])) |
@@ -702,8 +722,9 @@ discard block |
||
702 | 722 | $context['save_disabled'] = $context['settings_not_writable']; |
703 | 723 | |
704 | 724 | // Decide what message to show. |
705 | - if (!$context['save_disabled']) |
|
706 | - $context['settings_message'] = $txt['caching_information']; |
|
725 | + if (!$context['save_disabled']) { |
|
726 | + $context['settings_message'] = $txt['caching_information']; |
|
727 | + } |
|
707 | 728 | |
708 | 729 | // Prepare the template. |
709 | 730 | prepareServerSettingsContext($config_vars); |
@@ -726,24 +747,25 @@ discard block |
||
726 | 747 | if (stripos(PHP_OS, 'win') === 0) |
727 | 748 | { |
728 | 749 | $context['settings_message'] = $txt['loadavg_disabled_windows']; |
729 | - if (isset($_GET['save'])) |
|
730 | - $_SESSION['adm-save'] = $txt['loadavg_disabled_windows']; |
|
731 | - } |
|
732 | - elseif (stripos(PHP_OS, 'darwin') === 0) |
|
750 | + if (isset($_GET['save'])) { |
|
751 | + $_SESSION['adm-save'] = $txt['loadavg_disabled_windows']; |
|
752 | + } |
|
753 | + } elseif (stripos(PHP_OS, 'darwin') === 0) |
|
733 | 754 | { |
734 | 755 | $context['settings_message'] = $txt['loadavg_disabled_osx']; |
735 | - if (isset($_GET['save'])) |
|
736 | - $_SESSION['adm-save'] = $txt['loadavg_disabled_osx']; |
|
737 | - } |
|
738 | - else |
|
756 | + if (isset($_GET['save'])) { |
|
757 | + $_SESSION['adm-save'] = $txt['loadavg_disabled_osx']; |
|
758 | + } |
|
759 | + } else |
|
739 | 760 | { |
740 | 761 | $modSettings['load_average'] = @file_get_contents('/proc/loadavg'); |
741 | - if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) !== 0) |
|
742 | - $modSettings['load_average'] = (float) $matches[1]; |
|
743 | - elseif (($modSettings['load_average'] = @`uptime`) !== null && preg_match('~load averages?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) !== 0) |
|
744 | - $modSettings['load_average'] = (float) $matches[1]; |
|
745 | - else |
|
746 | - unset($modSettings['load_average']); |
|
762 | + if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) !== 0) { |
|
763 | + $modSettings['load_average'] = (float) $matches[1]; |
|
764 | + } elseif (($modSettings['load_average'] = @`uptime`) !== null && preg_match('~load averages?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) !== 0) { |
|
765 | + $modSettings['load_average'] = (float) $matches[1]; |
|
766 | + } else { |
|
767 | + unset($modSettings['load_average']); |
|
768 | + } |
|
747 | 769 | |
748 | 770 | if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) |
749 | 771 | { |
@@ -779,8 +801,9 @@ discard block |
||
779 | 801 | |
780 | 802 | call_integration_hook('integrate_loadavg_settings', array(&$config_vars)); |
781 | 803 | |
782 | - if ($return_config) |
|
783 | - return $config_vars; |
|
804 | + if ($return_config) { |
|
805 | + return $config_vars; |
|
806 | + } |
|
784 | 807 | |
785 | 808 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=loads;save'; |
786 | 809 | $context['settings_title'] = $txt['load_balancing_settings']; |
@@ -791,24 +814,27 @@ discard block |
||
791 | 814 | // Stupidity is not allowed. |
792 | 815 | foreach ($_POST as $key => $value) |
793 | 816 | { |
794 | - if (strpos($key, 'loadavg') === 0 || $key === 'loadavg_enable' || !in_array($key, array_keys($default_values))) |
|
795 | - continue; |
|
796 | - else |
|
797 | - $_POST[$key] = (float) $value; |
|
798 | - |
|
799 | - if ($key == 'loadavg_auto_opt' && $value <= 1) |
|
800 | - $_POST['loadavg_auto_opt'] = 1.0; |
|
801 | - elseif ($key == 'loadavg_forum' && $value < 10) |
|
802 | - $_POST['loadavg_forum'] = 10.0; |
|
803 | - elseif ($value < 2) |
|
804 | - $_POST[$key] = 2.0; |
|
817 | + if (strpos($key, 'loadavg') === 0 || $key === 'loadavg_enable' || !in_array($key, array_keys($default_values))) { |
|
818 | + continue; |
|
819 | + } else { |
|
820 | + $_POST[$key] = (float) $value; |
|
821 | + } |
|
822 | + |
|
823 | + if ($key == 'loadavg_auto_opt' && $value <= 1) { |
|
824 | + $_POST['loadavg_auto_opt'] = 1.0; |
|
825 | + } elseif ($key == 'loadavg_forum' && $value < 10) { |
|
826 | + $_POST['loadavg_forum'] = 10.0; |
|
827 | + } elseif ($value < 2) { |
|
828 | + $_POST[$key] = 2.0; |
|
829 | + } |
|
805 | 830 | } |
806 | 831 | |
807 | 832 | call_integration_hook('integrate_save_loadavg_settings'); |
808 | 833 | |
809 | 834 | saveDBSettings($config_vars); |
810 | - if (!isset($_SESSION['adm-save'])) |
|
811 | - $_SESSION['adm-save'] = true; |
|
835 | + if (!isset($_SESSION['adm-save'])) { |
|
836 | + $_SESSION['adm-save'] = true; |
|
837 | + } |
|
812 | 838 | redirectexit('action=admin;area=serversettings;sa=loads;' . $context['session_var'] . '=' . $context['session_id']); |
813 | 839 | } |
814 | 840 | |
@@ -844,10 +870,11 @@ discard block |
||
844 | 870 | |
845 | 871 | if (isset($_SESSION['adm-save'])) |
846 | 872 | { |
847 | - if ($_SESSION['adm-save'] === true) |
|
848 | - $context['saved_successful'] = true; |
|
849 | - else |
|
850 | - $context['saved_failed'] = $_SESSION['adm-save']; |
|
873 | + if ($_SESSION['adm-save'] === true) { |
|
874 | + $context['saved_successful'] = true; |
|
875 | + } else { |
|
876 | + $context['saved_failed'] = $_SESSION['adm-save']; |
|
877 | + } |
|
851 | 878 | |
852 | 879 | unset($_SESSION['adm-save']); |
853 | 880 | } |
@@ -855,9 +882,9 @@ discard block |
||
855 | 882 | $context['config_vars'] = array(); |
856 | 883 | foreach ($config_vars as $identifier => $config_var) |
857 | 884 | { |
858 | - if (!is_array($config_var) || !isset($config_var[1])) |
|
859 | - $context['config_vars'][] = $config_var; |
|
860 | - else |
|
885 | + if (!is_array($config_var) || !isset($config_var[1])) { |
|
886 | + $context['config_vars'][] = $config_var; |
|
887 | + } else |
|
861 | 888 | { |
862 | 889 | $varname = $config_var[0]; |
863 | 890 | global $$varname; |
@@ -892,16 +919,19 @@ discard block |
||
892 | 919 | if ($config_var[3] == 'int' || $config_var[3] == 'float') |
893 | 920 | { |
894 | 921 | // Default to a min of 0 if one isn't set |
895 | - if (isset($config_var['min'])) |
|
896 | - $context['config_vars'][$config_var[0]]['min'] = $config_var['min']; |
|
897 | - else |
|
898 | - $context['config_vars'][$config_var[0]]['min'] = 0; |
|
922 | + if (isset($config_var['min'])) { |
|
923 | + $context['config_vars'][$config_var[0]]['min'] = $config_var['min']; |
|
924 | + } else { |
|
925 | + $context['config_vars'][$config_var[0]]['min'] = 0; |
|
926 | + } |
|
899 | 927 | |
900 | - if (isset($config_var['max'])) |
|
901 | - $context['config_vars'][$config_var[0]]['max'] = $config_var['max']; |
|
928 | + if (isset($config_var['max'])) { |
|
929 | + $context['config_vars'][$config_var[0]]['max'] = $config_var['max']; |
|
930 | + } |
|
902 | 931 | |
903 | - if (isset($config_var['step'])) |
|
904 | - $context['config_vars'][$config_var[0]]['step'] = $config_var['step']; |
|
932 | + if (isset($config_var['step'])) { |
|
933 | + $context['config_vars'][$config_var[0]]['step'] = $config_var['step']; |
|
934 | + } |
|
905 | 935 | } |
906 | 936 | |
907 | 937 | // If this is a select box handle any data. |
@@ -909,12 +939,13 @@ discard block |
||
909 | 939 | { |
910 | 940 | // If it's associative |
911 | 941 | $config_values = array_values($config_var[4]); |
912 | - if (isset($config_values[0]) && is_array($config_values[0])) |
|
913 | - $context['config_vars'][$config_var[0]]['data'] = $config_var[4]; |
|
914 | - else |
|
942 | + if (isset($config_values[0]) && is_array($config_values[0])) { |
|
943 | + $context['config_vars'][$config_var[0]]['data'] = $config_var[4]; |
|
944 | + } else |
|
915 | 945 | { |
916 | - foreach ($config_var[4] as $key => $item) |
|
917 | - $context['config_vars'][$config_var[0]]['data'][] = array($key, $item); |
|
946 | + foreach ($config_var[4] as $key => $item) { |
|
947 | + $context['config_vars'][$config_var[0]]['data'][] = array($key, $item); |
|
948 | + } |
|
918 | 949 | } |
919 | 950 | } |
920 | 951 | } |
@@ -939,10 +970,11 @@ discard block |
||
939 | 970 | |
940 | 971 | if (isset($_SESSION['adm-save'])) |
941 | 972 | { |
942 | - if ($_SESSION['adm-save'] === true) |
|
943 | - $context['saved_successful'] = true; |
|
944 | - else |
|
945 | - $context['saved_failed'] = $_SESSION['adm-save']; |
|
973 | + if ($_SESSION['adm-save'] === true) { |
|
974 | + $context['saved_successful'] = true; |
|
975 | + } else { |
|
976 | + $context['saved_failed'] = $_SESSION['adm-save']; |
|
977 | + } |
|
946 | 978 | |
947 | 979 | unset($_SESSION['adm-save']); |
948 | 980 | } |
@@ -954,26 +986,30 @@ discard block |
||
954 | 986 | foreach ($config_vars as $config_var) |
955 | 987 | { |
956 | 988 | // HR? |
957 | - if (!is_array($config_var)) |
|
958 | - $context['config_vars'][] = $config_var; |
|
959 | - else |
|
989 | + if (!is_array($config_var)) { |
|
990 | + $context['config_vars'][] = $config_var; |
|
991 | + } else |
|
960 | 992 | { |
961 | 993 | // If it has no name it doesn't have any purpose! |
962 | - if (empty($config_var[1])) |
|
963 | - continue; |
|
994 | + if (empty($config_var[1])) { |
|
995 | + continue; |
|
996 | + } |
|
964 | 997 | |
965 | 998 | // Special case for inline permissions |
966 | - if ($config_var[0] == 'permissions' && allowedTo('manage_permissions')) |
|
967 | - $inlinePermissions[] = $config_var[1]; |
|
968 | - elseif ($config_var[0] == 'permissions') |
|
969 | - continue; |
|
999 | + if ($config_var[0] == 'permissions' && allowedTo('manage_permissions')) { |
|
1000 | + $inlinePermissions[] = $config_var[1]; |
|
1001 | + } elseif ($config_var[0] == 'permissions') { |
|
1002 | + continue; |
|
1003 | + } |
|
970 | 1004 | |
971 | - if ($config_var[0] == 'boards') |
|
972 | - $board_list = true; |
|
1005 | + if ($config_var[0] == 'boards') { |
|
1006 | + $board_list = true; |
|
1007 | + } |
|
973 | 1008 | |
974 | 1009 | // Are we showing the BBC selection box? |
975 | - if ($config_var[0] == 'bbc') |
|
976 | - $bbcChoice[] = $config_var[1]; |
|
1010 | + if ($config_var[0] == 'bbc') { |
|
1011 | + $bbcChoice[] = $config_var[1]; |
|
1012 | + } |
|
977 | 1013 | |
978 | 1014 | // We need to do some parsing of the value before we pass it in. |
979 | 1015 | if (isset($modSettings[$config_var[1]])) |
@@ -992,8 +1028,7 @@ discard block |
||
992 | 1028 | default: |
993 | 1029 | $value = $smcFunc['htmlspecialchars']($modSettings[$config_var[1]]); |
994 | 1030 | } |
995 | - } |
|
996 | - else |
|
1031 | + } else |
|
997 | 1032 | { |
998 | 1033 | // Darn, it's empty. What type is expected? |
999 | 1034 | switch ($config_var[0]) |
@@ -1033,16 +1068,19 @@ discard block |
||
1033 | 1068 | if ($config_var[0] == 'int' || $config_var[0] == 'float') |
1034 | 1069 | { |
1035 | 1070 | // Default to a min of 0 if one isn't set |
1036 | - if (isset($config_var['min'])) |
|
1037 | - $context['config_vars'][$config_var[1]]['min'] = $config_var['min']; |
|
1038 | - else |
|
1039 | - $context['config_vars'][$config_var[1]]['min'] = 0; |
|
1071 | + if (isset($config_var['min'])) { |
|
1072 | + $context['config_vars'][$config_var[1]]['min'] = $config_var['min']; |
|
1073 | + } else { |
|
1074 | + $context['config_vars'][$config_var[1]]['min'] = 0; |
|
1075 | + } |
|
1040 | 1076 | |
1041 | - if (isset($config_var['max'])) |
|
1042 | - $context['config_vars'][$config_var[1]]['max'] = $config_var['max']; |
|
1077 | + if (isset($config_var['max'])) { |
|
1078 | + $context['config_vars'][$config_var[1]]['max'] = $config_var['max']; |
|
1079 | + } |
|
1043 | 1080 | |
1044 | - if (isset($config_var['step'])) |
|
1045 | - $context['config_vars'][$config_var[1]]['step'] = $config_var['step']; |
|
1081 | + if (isset($config_var['step'])) { |
|
1082 | + $context['config_vars'][$config_var[1]]['step'] = $config_var['step']; |
|
1083 | + } |
|
1046 | 1084 | } |
1047 | 1085 | |
1048 | 1086 | // If this is a select box handle any data. |
@@ -1056,12 +1094,13 @@ discard block |
||
1056 | 1094 | } |
1057 | 1095 | |
1058 | 1096 | // If it's associative |
1059 | - if (isset($config_var[2][0]) && is_array($config_var[2][0])) |
|
1060 | - $context['config_vars'][$config_var[1]]['data'] = $config_var[2]; |
|
1061 | - else |
|
1097 | + if (isset($config_var[2][0]) && is_array($config_var[2][0])) { |
|
1098 | + $context['config_vars'][$config_var[1]]['data'] = $config_var[2]; |
|
1099 | + } else |
|
1062 | 1100 | { |
1063 | - foreach ($config_var[2] as $key => $item) |
|
1064 | - $context['config_vars'][$config_var[1]]['data'][] = array($key, $item); |
|
1101 | + foreach ($config_var[2] as $key => $item) { |
|
1102 | + $context['config_vars'][$config_var[1]]['data'][] = array($key, $item); |
|
1103 | + } |
|
1065 | 1104 | } |
1066 | 1105 | } |
1067 | 1106 | |
@@ -1070,17 +1109,19 @@ discard block |
||
1070 | 1109 | { |
1071 | 1110 | if (!is_numeric($k)) |
1072 | 1111 | { |
1073 | - if (substr($k, 0, 2) == 'on') |
|
1074 | - $context['config_vars'][$config_var[1]]['javascript'] .= ' ' . $k . '="' . $v . '"'; |
|
1075 | - else |
|
1076 | - $context['config_vars'][$config_var[1]][$k] = $v; |
|
1112 | + if (substr($k, 0, 2) == 'on') { |
|
1113 | + $context['config_vars'][$config_var[1]]['javascript'] .= ' ' . $k . '="' . $v . '"'; |
|
1114 | + } else { |
|
1115 | + $context['config_vars'][$config_var[1]][$k] = $v; |
|
1116 | + } |
|
1077 | 1117 | } |
1078 | 1118 | |
1079 | 1119 | // See if there are any other labels that might fit? |
1080 | - if (isset($txt['setting_' . $config_var[1]])) |
|
1081 | - $context['config_vars'][$config_var[1]]['label'] = $txt['setting_' . $config_var[1]]; |
|
1082 | - elseif (isset($txt['groups_' . $config_var[1]])) |
|
1083 | - $context['config_vars'][$config_var[1]]['label'] = $txt['groups_' . $config_var[1]]; |
|
1120 | + if (isset($txt['setting_' . $config_var[1]])) { |
|
1121 | + $context['config_vars'][$config_var[1]]['label'] = $txt['setting_' . $config_var[1]]; |
|
1122 | + } elseif (isset($txt['groups_' . $config_var[1]])) { |
|
1123 | + $context['config_vars'][$config_var[1]]['label'] = $txt['groups_' . $config_var[1]]; |
|
1124 | + } |
|
1084 | 1125 | } |
1085 | 1126 | |
1086 | 1127 | // Set the subtext in case it's part of the label. |
@@ -1113,8 +1154,9 @@ discard block |
||
1113 | 1154 | // What are the options, eh? |
1114 | 1155 | $temp = parse_bbc(false); |
1115 | 1156 | $bbcTags = array(); |
1116 | - foreach ($temp as $tag) |
|
1117 | - $bbcTags[] = $tag['tag']; |
|
1157 | + foreach ($temp as $tag) { |
|
1158 | + $bbcTags[] = $tag['tag']; |
|
1159 | + } |
|
1118 | 1160 | |
1119 | 1161 | $bbcTags = array_unique($bbcTags); |
1120 | 1162 | $totalTags = count($bbcTags); |
@@ -1129,8 +1171,9 @@ discard block |
||
1129 | 1171 | $col = 0; $i = 0; |
1130 | 1172 | foreach ($bbcTags as $tag) |
1131 | 1173 | { |
1132 | - if ($i % $tagsPerColumn == 0 && $i != 0) |
|
1133 | - $col++; |
|
1174 | + if ($i % $tagsPerColumn == 0 && $i != 0) { |
|
1175 | + $col++; |
|
1176 | + } |
|
1134 | 1177 | |
1135 | 1178 | $context['bbc_columns'][$col][] = array( |
1136 | 1179 | 'tag' => $tag, |
@@ -1173,18 +1216,21 @@ discard block |
||
1173 | 1216 | validateToken('admin-ssc'); |
1174 | 1217 | |
1175 | 1218 | // Fix the darn stupid cookiename! (more may not be allowed, but these for sure!) |
1176 | - if (isset($_POST['cookiename'])) |
|
1177 | - $_POST['cookiename'] = preg_replace('~[,;\s\.$]+~' . ($context['utf8'] ? 'u' : ''), '', $_POST['cookiename']); |
|
1219 | + if (isset($_POST['cookiename'])) { |
|
1220 | + $_POST['cookiename'] = preg_replace('~[,;\s\.$]+~' . ($context['utf8'] ? 'u' : ''), '', $_POST['cookiename']); |
|
1221 | + } |
|
1178 | 1222 | |
1179 | 1223 | // Fix the forum's URL if necessary. |
1180 | 1224 | if (isset($_POST['boardurl'])) |
1181 | 1225 | { |
1182 | - if (substr($_POST['boardurl'], -10) == '/index.php') |
|
1183 | - $_POST['boardurl'] = substr($_POST['boardurl'], 0, -10); |
|
1184 | - elseif (substr($_POST['boardurl'], -1) == '/') |
|
1185 | - $_POST['boardurl'] = substr($_POST['boardurl'], 0, -1); |
|
1186 | - if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') |
|
1187 | - $_POST['boardurl'] = 'http://' . $_POST['boardurl']; |
|
1226 | + if (substr($_POST['boardurl'], -10) == '/index.php') { |
|
1227 | + $_POST['boardurl'] = substr($_POST['boardurl'], 0, -10); |
|
1228 | + } elseif (substr($_POST['boardurl'], -1) == '/') { |
|
1229 | + $_POST['boardurl'] = substr($_POST['boardurl'], 0, -1); |
|
1230 | + } |
|
1231 | + if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') { |
|
1232 | + $_POST['boardurl'] = 'http://' . $_POST['boardurl']; |
|
1233 | + } |
|
1188 | 1234 | } |
1189 | 1235 | |
1190 | 1236 | // Any passwords? |
@@ -1219,21 +1265,21 @@ discard block |
||
1219 | 1265 | // Figure out which config vars we're saving here... |
1220 | 1266 | foreach ($config_vars as $var) |
1221 | 1267 | { |
1222 | - if (!is_array($var) || $var[2] != 'file' || (!in_array($var[0], $config_bools) && !isset($_POST[$var[0]]))) |
|
1223 | - continue; |
|
1268 | + if (!is_array($var) || $var[2] != 'file' || (!in_array($var[0], $config_bools) && !isset($_POST[$var[0]]))) { |
|
1269 | + continue; |
|
1270 | + } |
|
1224 | 1271 | |
1225 | 1272 | $config_var = $var[0]; |
1226 | 1273 | |
1227 | 1274 | if (in_array($config_var, $config_passwords)) |
1228 | 1275 | { |
1229 | - if (isset($_POST[$config_var][1]) && $_POST[$config_var][0] == $_POST[$config_var][1]) |
|
1230 | - $new_settings[$config_var] = '\'' . addcslashes($_POST[$config_var][0], '\'\\') . '\''; |
|
1231 | - } |
|
1232 | - elseif (in_array($config_var, $config_strs)) |
|
1276 | + if (isset($_POST[$config_var][1]) && $_POST[$config_var][0] == $_POST[$config_var][1]) { |
|
1277 | + $new_settings[$config_var] = '\'' . addcslashes($_POST[$config_var][0], '\'\\') . '\''; |
|
1278 | + } |
|
1279 | + } elseif (in_array($config_var, $config_strs)) |
|
1233 | 1280 | { |
1234 | 1281 | $new_settings[$config_var] = '\'' . addcslashes($_POST[$config_var], '\'\\') . '\''; |
1235 | - } |
|
1236 | - elseif (in_array($config_var, $config_ints)) |
|
1282 | + } elseif (in_array($config_var, $config_ints)) |
|
1237 | 1283 | { |
1238 | 1284 | $new_settings[$config_var] = (int) $_POST[$config_var]; |
1239 | 1285 | |
@@ -1242,17 +1288,17 @@ discard block |
||
1242 | 1288 | $new_settings[$config_var] = max($min, $new_settings[$config_var]); |
1243 | 1289 | |
1244 | 1290 | // Is there a max value for this as well? |
1245 | - if (isset($var['max'])) |
|
1246 | - $new_settings[$config_var] = min($var['max'], $new_settings[$config_var]); |
|
1247 | - } |
|
1248 | - elseif (in_array($config_var, $config_bools)) |
|
1291 | + if (isset($var['max'])) { |
|
1292 | + $new_settings[$config_var] = min($var['max'], $new_settings[$config_var]); |
|
1293 | + } |
|
1294 | + } elseif (in_array($config_var, $config_bools)) |
|
1249 | 1295 | { |
1250 | - if (!empty($_POST[$config_var])) |
|
1251 | - $new_settings[$config_var] = '1'; |
|
1252 | - else |
|
1253 | - $new_settings[$config_var] = '0'; |
|
1254 | - } |
|
1255 | - else |
|
1296 | + if (!empty($_POST[$config_var])) { |
|
1297 | + $new_settings[$config_var] = '1'; |
|
1298 | + } else { |
|
1299 | + $new_settings[$config_var] = '0'; |
|
1300 | + } |
|
1301 | + } else |
|
1256 | 1302 | { |
1257 | 1303 | // This shouldn't happen, but it might... |
1258 | 1304 | fatal_error('Unknown config_var \'' . $config_var . '\''); |
@@ -1268,30 +1314,35 @@ discard block |
||
1268 | 1314 | foreach ($config_vars as $config_var) |
1269 | 1315 | { |
1270 | 1316 | // We just saved the file-based settings, so skip their definitions. |
1271 | - if (!is_array($config_var) || $config_var[2] == 'file') |
|
1272 | - continue; |
|
1317 | + if (!is_array($config_var) || $config_var[2] == 'file') { |
|
1318 | + continue; |
|
1319 | + } |
|
1273 | 1320 | |
1274 | 1321 | $new_setting = array($config_var[3], $config_var[0]); |
1275 | 1322 | |
1276 | 1323 | // Select options need carried over, too. |
1277 | - if (isset($config_var[4])) |
|
1278 | - $new_setting[] = $config_var[4]; |
|
1324 | + if (isset($config_var[4])) { |
|
1325 | + $new_setting[] = $config_var[4]; |
|
1326 | + } |
|
1279 | 1327 | |
1280 | 1328 | // Include min and max if necessary |
1281 | - if (isset($config_var['min'])) |
|
1282 | - $new_setting['min'] = $config_var['min']; |
|
1329 | + if (isset($config_var['min'])) { |
|
1330 | + $new_setting['min'] = $config_var['min']; |
|
1331 | + } |
|
1283 | 1332 | |
1284 | - if (isset($config_var['max'])) |
|
1285 | - $new_setting['max'] = $config_var['max']; |
|
1333 | + if (isset($config_var['max'])) { |
|
1334 | + $new_setting['max'] = $config_var['max']; |
|
1335 | + } |
|
1286 | 1336 | |
1287 | 1337 | // Rewrite the definition a bit. |
1288 | 1338 | $new_settings[] = $new_setting; |
1289 | 1339 | } |
1290 | 1340 | |
1291 | 1341 | // Save the new database-based settings, if any. |
1292 | - if (!empty($new_settings)) |
|
1293 | - saveDBSettings($new_settings); |
|
1294 | -} |
|
1342 | + if (!empty($new_settings)) { |
|
1343 | + saveDBSettings($new_settings); |
|
1344 | + } |
|
1345 | + } |
|
1295 | 1346 | |
1296 | 1347 | /** |
1297 | 1348 | * Helper function for saving database settings. |
@@ -1309,22 +1360,25 @@ discard block |
||
1309 | 1360 | $inlinePermissions = array(); |
1310 | 1361 | foreach ($config_vars as $var) |
1311 | 1362 | { |
1312 | - if (!isset($var[1]) || (!isset($_POST[$var[1]]) && $var[0] != 'check' && $var[0] != 'permissions' && $var[0] != 'boards' && ($var[0] != 'bbc' || !isset($_POST[$var[1] . '_enabledTags'])))) |
|
1313 | - continue; |
|
1363 | + if (!isset($var[1]) || (!isset($_POST[$var[1]]) && $var[0] != 'check' && $var[0] != 'permissions' && $var[0] != 'boards' && ($var[0] != 'bbc' || !isset($_POST[$var[1] . '_enabledTags'])))) { |
|
1364 | + continue; |
|
1365 | + } |
|
1314 | 1366 | |
1315 | 1367 | // Checkboxes! |
1316 | - elseif ($var[0] == 'check') |
|
1317 | - $setArray[$var[1]] = !empty($_POST[$var[1]]) ? '1' : '0'; |
|
1368 | + elseif ($var[0] == 'check') { |
|
1369 | + $setArray[$var[1]] = !empty($_POST[$var[1]]) ? '1' : '0'; |
|
1370 | + } |
|
1318 | 1371 | // Select boxes! |
1319 | - elseif ($var[0] == 'select' && in_array($_POST[$var[1]], array_keys($var[2]))) |
|
1320 | - $setArray[$var[1]] = $_POST[$var[1]]; |
|
1321 | - elseif ($var[0] == 'select' && !empty($var['multiple']) && array_intersect($_POST[$var[1]], array_keys($var[2])) != array()) |
|
1372 | + elseif ($var[0] == 'select' && in_array($_POST[$var[1]], array_keys($var[2]))) { |
|
1373 | + $setArray[$var[1]] = $_POST[$var[1]]; |
|
1374 | + } elseif ($var[0] == 'select' && !empty($var['multiple']) && array_intersect($_POST[$var[1]], array_keys($var[2])) != array()) |
|
1322 | 1375 | { |
1323 | 1376 | // For security purposes we validate this line by line. |
1324 | 1377 | $lOptions = array(); |
1325 | - foreach ($_POST[$var[1]] as $invar) |
|
1326 | - if (in_array($invar, array_keys($var[2]))) |
|
1378 | + foreach ($_POST[$var[1]] as $invar) { |
|
1379 | + if (in_array($invar, array_keys($var[2]))) |
|
1327 | 1380 | $lOptions[] = $invar; |
1381 | + } |
|
1328 | 1382 | |
1329 | 1383 | $setArray[$var[1]] = $smcFunc['json_encode']($lOptions); |
1330 | 1384 | } |
@@ -1338,18 +1392,20 @@ discard block |
||
1338 | 1392 | $request = $smcFunc['db_query']('', ' |
1339 | 1393 | SELECT id_board |
1340 | 1394 | FROM {db_prefix}boards'); |
1341 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
1342 | - $board_list[$row[0]] = true; |
|
1395 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
1396 | + $board_list[$row[0]] = true; |
|
1397 | + } |
|
1343 | 1398 | |
1344 | 1399 | $smcFunc['db_free_result']($request); |
1345 | 1400 | } |
1346 | 1401 | |
1347 | 1402 | $lOptions = array(); |
1348 | 1403 | |
1349 | - if (!empty($_POST[$var[1]])) |
|
1350 | - foreach ($_POST[$var[1]] as $invar => $dummy) |
|
1404 | + if (!empty($_POST[$var[1]])) { |
|
1405 | + foreach ($_POST[$var[1]] as $invar => $dummy) |
|
1351 | 1406 | if (isset($board_list[$invar])) |
1352 | 1407 | $lOptions[] = $invar; |
1408 | + } |
|
1353 | 1409 | |
1354 | 1410 | $setArray[$var[1]] = !empty($lOptions) ? implode(',', $lOptions) : ''; |
1355 | 1411 | } |
@@ -1363,8 +1419,9 @@ discard block |
||
1363 | 1419 | $setArray[$var[1]] = max($min, $setArray[$var[1]]); |
1364 | 1420 | |
1365 | 1421 | // Do we have a max value for this as well? |
1366 | - if (isset($var['max'])) |
|
1367 | - $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1422 | + if (isset($var['max'])) { |
|
1423 | + $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1424 | + } |
|
1368 | 1425 | } |
1369 | 1426 | // Floating point! |
1370 | 1427 | elseif ($var[0] == 'float') |
@@ -1376,40 +1433,47 @@ discard block |
||
1376 | 1433 | $setArray[$var[1]] = max($min, $setArray[$var[1]]); |
1377 | 1434 | |
1378 | 1435 | // Do we have a max value for this as well? |
1379 | - if (isset($var['max'])) |
|
1380 | - $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1436 | + if (isset($var['max'])) { |
|
1437 | + $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1438 | + } |
|
1381 | 1439 | } |
1382 | 1440 | // Text! |
1383 | - elseif (in_array($var[0], array('text', 'large_text', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'time'))) |
|
1384 | - $setArray[$var[1]] = $_POST[$var[1]]; |
|
1441 | + elseif (in_array($var[0], array('text', 'large_text', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'time'))) { |
|
1442 | + $setArray[$var[1]] = $_POST[$var[1]]; |
|
1443 | + } |
|
1385 | 1444 | // Passwords! |
1386 | 1445 | elseif ($var[0] == 'password') |
1387 | 1446 | { |
1388 | - if (isset($_POST[$var[1]][1]) && $_POST[$var[1]][0] == $_POST[$var[1]][1]) |
|
1389 | - $setArray[$var[1]] = $_POST[$var[1]][0]; |
|
1447 | + if (isset($_POST[$var[1]][1]) && $_POST[$var[1]][0] == $_POST[$var[1]][1]) { |
|
1448 | + $setArray[$var[1]] = $_POST[$var[1]][0]; |
|
1449 | + } |
|
1390 | 1450 | } |
1391 | 1451 | // BBC. |
1392 | 1452 | elseif ($var[0] == 'bbc') |
1393 | 1453 | { |
1394 | 1454 | |
1395 | 1455 | $bbcTags = array(); |
1396 | - foreach (parse_bbc(false) as $tag) |
|
1397 | - $bbcTags[] = $tag['tag']; |
|
1456 | + foreach (parse_bbc(false) as $tag) { |
|
1457 | + $bbcTags[] = $tag['tag']; |
|
1458 | + } |
|
1398 | 1459 | |
1399 | - if (!isset($_POST[$var[1] . '_enabledTags'])) |
|
1400 | - $_POST[$var[1] . '_enabledTags'] = array(); |
|
1401 | - elseif (!is_array($_POST[$var[1] . '_enabledTags'])) |
|
1402 | - $_POST[$var[1] . '_enabledTags'] = array($_POST[$var[1] . '_enabledTags']); |
|
1460 | + if (!isset($_POST[$var[1] . '_enabledTags'])) { |
|
1461 | + $_POST[$var[1] . '_enabledTags'] = array(); |
|
1462 | + } elseif (!is_array($_POST[$var[1] . '_enabledTags'])) { |
|
1463 | + $_POST[$var[1] . '_enabledTags'] = array($_POST[$var[1] . '_enabledTags']); |
|
1464 | + } |
|
1403 | 1465 | |
1404 | 1466 | $setArray[$var[1]] = implode(',', array_diff($bbcTags, $_POST[$var[1] . '_enabledTags'])); |
1405 | 1467 | } |
1406 | 1468 | // Permissions? |
1407 | - elseif ($var[0] == 'permissions') |
|
1408 | - $inlinePermissions[] = $var[1]; |
|
1469 | + elseif ($var[0] == 'permissions') { |
|
1470 | + $inlinePermissions[] = $var[1]; |
|
1471 | + } |
|
1409 | 1472 | } |
1410 | 1473 | |
1411 | - if (!empty($setArray)) |
|
1412 | - updateSettings($setArray); |
|
1474 | + if (!empty($setArray)) { |
|
1475 | + updateSettings($setArray); |
|
1476 | + } |
|
1413 | 1477 | |
1414 | 1478 | // If we have inline permissions we need to save them. |
1415 | 1479 | if (!empty($inlinePermissions) && allowedTo('manage_permissions')) |
@@ -1446,18 +1510,21 @@ discard block |
||
1446 | 1510 | // put all of it into an array |
1447 | 1511 | foreach ($info_lines as $line) |
1448 | 1512 | { |
1449 | - if (preg_match('~(' . $remove . ')~', $line)) |
|
1450 | - continue; |
|
1513 | + if (preg_match('~(' . $remove . ')~', $line)) { |
|
1514 | + continue; |
|
1515 | + } |
|
1451 | 1516 | |
1452 | 1517 | // new category? |
1453 | - if (strpos($line, '<h2>') !== false) |
|
1454 | - $category = preg_match('~<h2>(.*)</h2>~', $line, $title) ? $category = $title[1] : $category; |
|
1518 | + if (strpos($line, '<h2>') !== false) { |
|
1519 | + $category = preg_match('~<h2>(.*)</h2>~', $line, $title) ? $category = $title[1] : $category; |
|
1520 | + } |
|
1455 | 1521 | |
1456 | 1522 | // load it as setting => value or the old setting local master |
1457 | - if (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) |
|
1458 | - $pinfo[$category][$val[1]] = $val[2]; |
|
1459 | - elseif (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) |
|
1460 | - $pinfo[$category][$val[1]] = array($txt['phpinfo_localsettings'] => $val[2], $txt['phpinfo_defaultsettings'] => $val[3]); |
|
1523 | + if (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) { |
|
1524 | + $pinfo[$category][$val[1]] = $val[2]; |
|
1525 | + } elseif (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) { |
|
1526 | + $pinfo[$category][$val[1]] = array($txt['phpinfo_localsettings'] => $val[2], $txt['phpinfo_defaultsettings'] => $val[3]); |
|
1527 | + } |
|
1461 | 1528 | } |
1462 | 1529 | |
1463 | 1530 | // load it in to context and display it |
@@ -1492,8 +1559,9 @@ discard block |
||
1492 | 1559 | $testAPI = new $cache_class_name(); |
1493 | 1560 | |
1494 | 1561 | // No Support? NEXT! |
1495 | - if (!$testAPI->isSupported(true)) |
|
1496 | - continue; |
|
1562 | + if (!$testAPI->isSupported(true)) { |
|
1563 | + continue; |
|
1564 | + } |
|
1497 | 1565 | |
1498 | 1566 | $apis[$tryCache] = isset($txt[$tryCache . '_cache']) ? $txt[$tryCache . '_cache'] : $tryCache; |
1499 | 1567 | } |
@@ -1518,8 +1586,9 @@ discard block |
||
1518 | 1586 | global $modSettings, $boardurl, $smcFunc; |
1519 | 1587 | |
1520 | 1588 | // Already have a key? Can't register again. |
1521 | - if (!empty($modSettings['sm_stats_key'])) |
|
1522 | - return true; |
|
1589 | + if (!empty($modSettings['sm_stats_key'])) { |
|
1590 | + return true; |
|
1591 | + } |
|
1523 | 1592 | |
1524 | 1593 | $fp = @fsockopen('www.simplemachines.org', 80, $errno, $errstr); |
1525 | 1594 | if ($fp) |
@@ -1530,8 +1599,9 @@ discard block |
||
1530 | 1599 | fwrite($fp, $out); |
1531 | 1600 | |
1532 | 1601 | $return_data = ''; |
1533 | - while (!feof($fp)) |
|
1534 | - $return_data .= fgets($fp, 128); |
|
1602 | + while (!feof($fp)) { |
|
1603 | + $return_data .= fgets($fp, 128); |
|
1604 | + } |
|
1535 | 1605 | |
1536 | 1606 | fclose($fp); |
1537 | 1607 |
@@ -2259,9 +2259,9 @@ discard block |
||
2259 | 2259 | * |
2260 | 2260 | * @uses the template_include() function to include the file. |
2261 | 2261 | * @param string $template_name The name of the template to load |
2262 | - * @param array|string $style_sheets The name of a single stylesheet or an array of names of stylesheets to load |
|
2262 | + * @param string $style_sheets The name of a single stylesheet or an array of names of stylesheets to load |
|
2263 | 2263 | * @param bool $fatal If true, dies with an error message if the template cannot be found |
2264 | - * @return boolean Whether or not the template was loaded |
|
2264 | + * @return boolean|null Whether or not the template was loaded |
|
2265 | 2265 | */ |
2266 | 2266 | function loadTemplate($template_name, $style_sheets = array(), $fatal = true) |
2267 | 2267 | { |
@@ -2444,7 +2444,7 @@ discard block |
||
2444 | 2444 | * - all code added with this function is added to the same <style> tag so do make sure your css is valid! |
2445 | 2445 | * |
2446 | 2446 | * @param string $css Some css code |
2447 | - * @return void|bool Adds the CSS to the $context['css_header'] array or returns if no CSS is specified |
|
2447 | + * @return false|null Adds the CSS to the $context['css_header'] array or returns if no CSS is specified |
|
2448 | 2448 | */ |
2449 | 2449 | function addInlineCss($css) |
2450 | 2450 | { |
@@ -2558,7 +2558,7 @@ discard block |
||
2558 | 2558 | * |
2559 | 2559 | * @param string $javascript Some JS code |
2560 | 2560 | * @param bool $defer Whether the script should load in <head> or before the closing <html> tag |
2561 | - * @return void|bool Adds the code to one of the $context['javascript_inline'] arrays or returns if no JS was specified |
|
2561 | + * @return false|null Adds the code to one of the $context['javascript_inline'] arrays or returns if no JS was specified |
|
2562 | 2562 | */ |
2563 | 2563 | function addInlineJavaScript($javascript, $defer = false) |
2564 | 2564 | { |
@@ -2791,7 +2791,7 @@ discard block |
||
2791 | 2791 | * It will try to choose only utf8 or non-utf8 languages. |
2792 | 2792 | * |
2793 | 2793 | * @param bool $use_cache Whether or not to use the cache |
2794 | - * @return array An array of information about available languages |
|
2794 | + * @return string An array of information about available languages |
|
2795 | 2795 | */ |
2796 | 2796 | function getLanguages($use_cache = true) |
2797 | 2797 | { |
@@ -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 | * Load the $modSettings array. |
@@ -25,13 +26,14 @@ discard block |
||
25 | 26 | global $cache_enable, $sourcedir, $context; |
26 | 27 | |
27 | 28 | // Most database systems have not set UTF-8 as their default input charset. |
28 | - if (!empty($db_character_set)) |
|
29 | - $smcFunc['db_query']('', ' |
|
29 | + if (!empty($db_character_set)) { |
|
30 | + $smcFunc['db_query']('', ' |
|
30 | 31 | SET NAMES {string:db_character_set}', |
31 | 32 | array( |
32 | 33 | 'db_character_set' => $db_character_set, |
33 | 34 | ) |
34 | 35 | ); |
36 | + } |
|
35 | 37 | |
36 | 38 | // We need some caching support, maybe. |
37 | 39 | loadCacheAccelerator(); |
@@ -46,28 +48,36 @@ discard block |
||
46 | 48 | ) |
47 | 49 | ); |
48 | 50 | $modSettings = array(); |
49 | - if (!$request) |
|
50 | - display_db_error(); |
|
51 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
52 | - $modSettings[$row[0]] = $row[1]; |
|
51 | + if (!$request) { |
|
52 | + display_db_error(); |
|
53 | + } |
|
54 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
55 | + $modSettings[$row[0]] = $row[1]; |
|
56 | + } |
|
53 | 57 | $smcFunc['db_free_result']($request); |
54 | 58 | |
55 | 59 | // Do a few things to protect against missing settings or settings with invalid values... |
56 | - if (empty($modSettings['defaultMaxTopics']) || $modSettings['defaultMaxTopics'] <= 0 || $modSettings['defaultMaxTopics'] > 999) |
|
57 | - $modSettings['defaultMaxTopics'] = 20; |
|
58 | - if (empty($modSettings['defaultMaxMessages']) || $modSettings['defaultMaxMessages'] <= 0 || $modSettings['defaultMaxMessages'] > 999) |
|
59 | - $modSettings['defaultMaxMessages'] = 15; |
|
60 | - if (empty($modSettings['defaultMaxMembers']) || $modSettings['defaultMaxMembers'] <= 0 || $modSettings['defaultMaxMembers'] > 999) |
|
61 | - $modSettings['defaultMaxMembers'] = 30; |
|
62 | - if (empty($modSettings['defaultMaxListItems']) || $modSettings['defaultMaxListItems'] <= 0 || $modSettings['defaultMaxListItems'] > 999) |
|
63 | - $modSettings['defaultMaxListItems'] = 15; |
|
60 | + if (empty($modSettings['defaultMaxTopics']) || $modSettings['defaultMaxTopics'] <= 0 || $modSettings['defaultMaxTopics'] > 999) { |
|
61 | + $modSettings['defaultMaxTopics'] = 20; |
|
62 | + } |
|
63 | + if (empty($modSettings['defaultMaxMessages']) || $modSettings['defaultMaxMessages'] <= 0 || $modSettings['defaultMaxMessages'] > 999) { |
|
64 | + $modSettings['defaultMaxMessages'] = 15; |
|
65 | + } |
|
66 | + if (empty($modSettings['defaultMaxMembers']) || $modSettings['defaultMaxMembers'] <= 0 || $modSettings['defaultMaxMembers'] > 999) { |
|
67 | + $modSettings['defaultMaxMembers'] = 30; |
|
68 | + } |
|
69 | + if (empty($modSettings['defaultMaxListItems']) || $modSettings['defaultMaxListItems'] <= 0 || $modSettings['defaultMaxListItems'] > 999) { |
|
70 | + $modSettings['defaultMaxListItems'] = 15; |
|
71 | + } |
|
64 | 72 | |
65 | 73 | // We excpiclity do not use $smcFunc['json_decode'] here yet, as $smcFunc is not fully loaded. |
66 | - if (!is_array($modSettings['attachmentUploadDir'])) |
|
67 | - $modSettings['attachmentUploadDir'] = smf_json_decode($modSettings['attachmentUploadDir'], true); |
|
74 | + if (!is_array($modSettings['attachmentUploadDir'])) { |
|
75 | + $modSettings['attachmentUploadDir'] = smf_json_decode($modSettings['attachmentUploadDir'], true); |
|
76 | + } |
|
68 | 77 | |
69 | - if (!empty($cache_enable)) |
|
70 | - cache_put_data('modSettings', $modSettings, 90); |
|
78 | + if (!empty($cache_enable)) { |
|
79 | + cache_put_data('modSettings', $modSettings, 90); |
|
80 | + } |
|
71 | 81 | } |
72 | 82 | |
73 | 83 | $modSettings['cache_enable'] = $cache_enable; |
@@ -87,8 +97,9 @@ discard block |
||
87 | 97 | }; |
88 | 98 | $fix_utf8mb4 = function($string) use ($utf8, $smcFunc) |
89 | 99 | { |
90 | - if (!$utf8 || $smcFunc['db_mb4']) |
|
91 | - return $string; |
|
100 | + if (!$utf8 || $smcFunc['db_mb4']) { |
|
101 | + return $string; |
|
102 | + } |
|
92 | 103 | |
93 | 104 | $i = 0; |
94 | 105 | $len = strlen($string); |
@@ -100,18 +111,15 @@ discard block |
||
100 | 111 | { |
101 | 112 | $new_string .= $string[$i]; |
102 | 113 | $i++; |
103 | - } |
|
104 | - elseif ($ord < 224) |
|
114 | + } elseif ($ord < 224) |
|
105 | 115 | { |
106 | 116 | $new_string .= $string[$i] . $string[$i + 1]; |
107 | 117 | $i += 2; |
108 | - } |
|
109 | - elseif ($ord < 240) |
|
118 | + } elseif ($ord < 240) |
|
110 | 119 | { |
111 | 120 | $new_string .= $string[$i] . $string[$i + 1] . $string[$i + 2]; |
112 | 121 | $i += 3; |
113 | - } |
|
114 | - elseif ($ord < 248) |
|
122 | + } elseif ($ord < 248) |
|
115 | 123 | { |
116 | 124 | // Magic happens. |
117 | 125 | $val = (ord($string[$i]) & 0x07) << 18; |
@@ -155,8 +163,7 @@ discard block |
||
155 | 163 | { |
156 | 164 | $result = array_search($needle, array_slice($haystack_arr, $offset)); |
157 | 165 | return is_int($result) ? $result + $offset : false; |
158 | - } |
|
159 | - else |
|
166 | + } else |
|
160 | 167 | { |
161 | 168 | $needle_arr = preg_split('~(&#' . (empty($modSettings['disableEntityCheck']) ? '\d{1,7}' : '021') . ';|"|&|<|>| |.)~' . ($utf8 ? 'u' : '') . '', $ent_check($needle), -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); |
162 | 169 | $needle_size = count($needle_arr); |
@@ -165,8 +172,9 @@ discard block |
||
165 | 172 | while ((int) $result === $result) |
166 | 173 | { |
167 | 174 | $offset += $result; |
168 | - if (array_slice($haystack_arr, $offset, $needle_size) === $needle_arr) |
|
169 | - return $offset; |
|
175 | + if (array_slice($haystack_arr, $offset, $needle_size) === $needle_arr) { |
|
176 | + return $offset; |
|
177 | + } |
|
170 | 178 | $result = array_search($needle_arr[0], array_slice($haystack_arr, ++$offset)); |
171 | 179 | } |
172 | 180 | return false; |
@@ -204,8 +212,9 @@ discard block |
||
204 | 212 | $string = $ent_check($string); |
205 | 213 | preg_match('~^(' . $ent_list . '|.){' . $smcFunc['strlen'](substr($string, 0, $length)) . '}~' . ($utf8 ? 'u' : ''), $string, $matches); |
206 | 214 | $string = $matches[0]; |
207 | - while (strlen($string) > $length) |
|
208 | - $string = preg_replace('~(?:' . $ent_list . '|.)$~' . ($utf8 ? 'u' : ''), '', $string); |
|
215 | + while (strlen($string) > $length) { |
|
216 | + $string = preg_replace('~(?:' . $ent_list . '|.)$~' . ($utf8 ? 'u' : ''), '', $string); |
|
217 | + } |
|
209 | 218 | return $string; |
210 | 219 | }, |
211 | 220 | 'ucfirst' => $utf8 ? function($string) use (&$smcFunc) |
@@ -215,8 +224,9 @@ discard block |
||
215 | 224 | 'ucwords' => $utf8 ? function($string) use (&$smcFunc) |
216 | 225 | { |
217 | 226 | $words = preg_split('~([\s\r\n\t]+)~', $string, -1, PREG_SPLIT_DELIM_CAPTURE); |
218 | - for ($i = 0, $n = count($words); $i < $n; $i += 2) |
|
219 | - $words[$i] = $smcFunc['ucfirst']($words[$i]); |
|
227 | + for ($i = 0, $n = count($words); $i < $n; $i += 2) { |
|
228 | + $words[$i] = $smcFunc['ucfirst']($words[$i]); |
|
229 | + } |
|
220 | 230 | return implode('', $words); |
221 | 231 | } : 'ucwords', |
222 | 232 | 'json_decode' => 'smf_json_decode', |
@@ -224,16 +234,17 @@ discard block |
||
224 | 234 | ); |
225 | 235 | |
226 | 236 | // Setting the timezone is a requirement for some functions. |
227 | - if (isset($modSettings['default_timezone']) && in_array($modSettings['default_timezone'], timezone_identifiers_list())) |
|
228 | - date_default_timezone_set($modSettings['default_timezone']); |
|
229 | - else |
|
237 | + if (isset($modSettings['default_timezone']) && in_array($modSettings['default_timezone'], timezone_identifiers_list())) { |
|
238 | + date_default_timezone_set($modSettings['default_timezone']); |
|
239 | + } else |
|
230 | 240 | { |
231 | 241 | // Get PHP's default timezone, if set |
232 | 242 | $ini_tz = ini_get('date.timezone'); |
233 | - if (!empty($ini_tz)) |
|
234 | - $modSettings['default_timezone'] = $ini_tz; |
|
235 | - else |
|
236 | - $modSettings['default_timezone'] = ''; |
|
243 | + if (!empty($ini_tz)) { |
|
244 | + $modSettings['default_timezone'] = $ini_tz; |
|
245 | + } else { |
|
246 | + $modSettings['default_timezone'] = ''; |
|
247 | + } |
|
237 | 248 | |
238 | 249 | // If date.timezone is unset, invalid, or just plain weird, make a best guess |
239 | 250 | if (!in_array($modSettings['default_timezone'], timezone_identifiers_list())) |
@@ -251,22 +262,26 @@ discard block |
||
251 | 262 | if (($modSettings['load_average'] = cache_get_data('loadavg', 90)) == null) |
252 | 263 | { |
253 | 264 | $modSettings['load_average'] = @file_get_contents('/proc/loadavg'); |
254 | - if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) != 0) |
|
255 | - $modSettings['load_average'] = (float) $matches[1]; |
|
256 | - elseif (($modSettings['load_average'] = @`uptime`) != null && preg_match('~load average[s]?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) != 0) |
|
257 | - $modSettings['load_average'] = (float) $matches[1]; |
|
258 | - else |
|
259 | - unset($modSettings['load_average']); |
|
265 | + if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) != 0) { |
|
266 | + $modSettings['load_average'] = (float) $matches[1]; |
|
267 | + } elseif (($modSettings['load_average'] = @`uptime`) != null && preg_match('~load average[s]?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) != 0) { |
|
268 | + $modSettings['load_average'] = (float) $matches[1]; |
|
269 | + } else { |
|
270 | + unset($modSettings['load_average']); |
|
271 | + } |
|
260 | 272 | |
261 | - if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) |
|
262 | - cache_put_data('loadavg', $modSettings['load_average'], 90); |
|
273 | + if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) { |
|
274 | + cache_put_data('loadavg', $modSettings['load_average'], 90); |
|
275 | + } |
|
263 | 276 | } |
264 | 277 | |
265 | - if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) |
|
266 | - call_integration_hook('integrate_load_average', array($modSettings['load_average'])); |
|
278 | + if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) { |
|
279 | + call_integration_hook('integrate_load_average', array($modSettings['load_average'])); |
|
280 | + } |
|
267 | 281 | |
268 | - if (!empty($modSettings['loadavg_forum']) && !empty($modSettings['load_average']) && $modSettings['load_average'] >= $modSettings['loadavg_forum']) |
|
269 | - display_loadavg_error(); |
|
282 | + if (!empty($modSettings['loadavg_forum']) && !empty($modSettings['load_average']) && $modSettings['load_average'] >= $modSettings['loadavg_forum']) { |
|
283 | + display_loadavg_error(); |
|
284 | + } |
|
270 | 285 | } |
271 | 286 | |
272 | 287 | // Is post moderation alive and well? Everywhere else assumes this has been defined, so let's make sure it is. |
@@ -287,8 +302,9 @@ discard block |
||
287 | 302 | if (defined('SMF_INTEGRATION_SETTINGS')) |
288 | 303 | { |
289 | 304 | $integration_settings = $smcFunc['json_decode'](SMF_INTEGRATION_SETTINGS, true); |
290 | - foreach ($integration_settings as $hook => $function) |
|
291 | - add_integration_function($hook, $function, '', false); |
|
305 | + foreach ($integration_settings as $hook => $function) { |
|
306 | + add_integration_function($hook, $function, '', false); |
|
307 | + } |
|
292 | 308 | } |
293 | 309 | |
294 | 310 | // Any files to pre include? |
@@ -298,8 +314,9 @@ discard block |
||
298 | 314 | foreach ($pre_includes as $include) |
299 | 315 | { |
300 | 316 | $include = strtr(trim($include), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir)); |
301 | - if (file_exists($include)) |
|
302 | - require_once($include); |
|
317 | + if (file_exists($include)) { |
|
318 | + require_once($include); |
|
319 | + } |
|
303 | 320 | } |
304 | 321 | } |
305 | 322 | |
@@ -403,27 +420,28 @@ discard block |
||
403 | 420 | break; |
404 | 421 | } |
405 | 422 | } |
423 | + } else { |
|
424 | + $id_member = 0; |
|
406 | 425 | } |
407 | - else |
|
408 | - $id_member = 0; |
|
409 | 426 | |
410 | 427 | if (empty($id_member) && isset($_COOKIE[$cookiename])) |
411 | 428 | { |
412 | 429 | $cookie_data = $smcFunc['json_decode']($_COOKIE[$cookiename], true, false); |
413 | 430 | |
414 | - if (empty($cookie_data)) |
|
415 | - $cookie_data = safe_unserialize($_COOKIE[$cookiename]); |
|
431 | + if (empty($cookie_data)) { |
|
432 | + $cookie_data = safe_unserialize($_COOKIE[$cookiename]); |
|
433 | + } |
|
416 | 434 | |
417 | 435 | list ($id_member, $password) = $cookie_data; |
418 | 436 | $id_member = !empty($id_member) && strlen($password) > 0 ? (int) $id_member : 0; |
419 | - } |
|
420 | - elseif (empty($id_member) && isset($_SESSION['login_' . $cookiename]) && ($_SESSION['USER_AGENT'] == $_SERVER['HTTP_USER_AGENT'] || !empty($modSettings['disableCheckUA']))) |
|
437 | + } elseif (empty($id_member) && isset($_SESSION['login_' . $cookiename]) && ($_SESSION['USER_AGENT'] == $_SERVER['HTTP_USER_AGENT'] || !empty($modSettings['disableCheckUA']))) |
|
421 | 438 | { |
422 | 439 | // @todo Perhaps we can do some more checking on this, such as on the first octet of the IP? |
423 | 440 | $cookie_data = $smcFunc['json_decode']($_SESSION['login_' . $cookiename]); |
424 | 441 | |
425 | - if (empty($cookie_data)) |
|
426 | - $cookie_data = safe_unserialize($_SESSION['login_' . $cookiename]); |
|
442 | + if (empty($cookie_data)) { |
|
443 | + $cookie_data = safe_unserialize($_SESSION['login_' . $cookiename]); |
|
444 | + } |
|
427 | 445 | |
428 | 446 | list ($id_member, $password, $login_span) = $cookie_data; |
429 | 447 | $id_member = !empty($id_member) && strlen($password) == 128 && $login_span > time() ? (int) $id_member : 0; |
@@ -448,30 +466,34 @@ discard block |
||
448 | 466 | $user_settings = $smcFunc['db_fetch_assoc']($request); |
449 | 467 | $smcFunc['db_free_result']($request); |
450 | 468 | |
451 | - if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($user_settings['avatar'], 'http://') !== false) |
|
452 | - $user_settings['avatar'] = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($user_settings['avatar']) . '&hash=' . md5($user_settings['avatar'] . $image_proxy_secret); |
|
469 | + if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($user_settings['avatar'], 'http://') !== false) { |
|
470 | + $user_settings['avatar'] = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($user_settings['avatar']) . '&hash=' . md5($user_settings['avatar'] . $image_proxy_secret); |
|
471 | + } |
|
453 | 472 | |
454 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
455 | - cache_put_data('user_settings-' . $id_member, $user_settings, 60); |
|
473 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
474 | + cache_put_data('user_settings-' . $id_member, $user_settings, 60); |
|
475 | + } |
|
456 | 476 | } |
457 | 477 | |
458 | 478 | // Did we find 'im? If not, junk it. |
459 | 479 | if (!empty($user_settings)) |
460 | 480 | { |
461 | 481 | // As much as the password should be right, we can assume the integration set things up. |
462 | - if (!empty($already_verified) && $already_verified === true) |
|
463 | - $check = true; |
|
482 | + if (!empty($already_verified) && $already_verified === true) { |
|
483 | + $check = true; |
|
484 | + } |
|
464 | 485 | // SHA-512 hash should be 128 characters long. |
465 | - elseif (strlen($password) == 128) |
|
466 | - $check = hash_salt($user_settings['passwd'], $user_settings['password_salt']) == $password; |
|
467 | - else |
|
468 | - $check = false; |
|
486 | + elseif (strlen($password) == 128) { |
|
487 | + $check = hash_salt($user_settings['passwd'], $user_settings['password_salt']) == $password; |
|
488 | + } else { |
|
489 | + $check = false; |
|
490 | + } |
|
469 | 491 | |
470 | 492 | // Wrong password or not activated - either way, you're going nowhere. |
471 | 493 | $id_member = $check && ($user_settings['is_activated'] == 1 || $user_settings['is_activated'] == 11) ? (int) $user_settings['id_member'] : 0; |
494 | + } else { |
|
495 | + $id_member = 0; |
|
472 | 496 | } |
473 | - else |
|
474 | - $id_member = 0; |
|
475 | 497 | |
476 | 498 | // If we no longer have the member maybe they're being all hackey, stop brute force! |
477 | 499 | if (!$id_member) |
@@ -500,8 +522,9 @@ discard block |
||
500 | 522 | |
501 | 523 | list ($tfamember, $tfasecret) = $tfa_data; |
502 | 524 | |
503 | - if (!isset($tfamember, $tfasecret) || (int) $tfamember != $id_member) |
|
504 | - $tfasecret = null; |
|
525 | + if (!isset($tfamember, $tfasecret) || (int) $tfamember != $id_member) { |
|
526 | + $tfasecret = null; |
|
527 | + } |
|
505 | 528 | } |
506 | 529 | |
507 | 530 | if (empty($tfasecret) || hash_salt($user_settings['tfa_backup'], $user_settings['password_salt']) != $tfasecret) |
@@ -521,10 +544,12 @@ discard block |
||
521 | 544 | // Are we forcing 2FA? Need to check if the user groups actually require 2FA |
522 | 545 | elseif (!empty($modSettings['tfa_mode']) && $modSettings['tfa_mode'] >= 2 && $id_member && empty($user_settings['tfa_secret'])) |
523 | 546 | { |
524 | - if ($modSettings['tfa_mode'] == 2) //only do this if we are just forcing SOME membergroups |
|
547 | + if ($modSettings['tfa_mode'] == 2) { |
|
548 | + //only do this if we are just forcing SOME membergroups |
|
525 | 549 | { |
526 | 550 | //Build an array of ALL user membergroups. |
527 | 551 | $full_groups = array($user_settings['id_group']); |
552 | + } |
|
528 | 553 | if (!empty($user_settings['additional_groups'])) |
529 | 554 | { |
530 | 555 | $full_groups = array_merge($full_groups, explode(',', $user_settings['additional_groups'])); |
@@ -544,15 +569,17 @@ discard block |
||
544 | 569 | ); |
545 | 570 | $row = $smcFunc['db_fetch_assoc']($request); |
546 | 571 | $smcFunc['db_free_result']($request); |
572 | + } else { |
|
573 | + $row['total'] = 1; |
|
547 | 574 | } |
548 | - else |
|
549 | - $row['total'] = 1; //simplifies logics in the next "if" |
|
575 | + //simplifies logics in the next "if" |
|
550 | 576 | |
551 | 577 | $area = !empty($_REQUEST['area']) ? $_REQUEST['area'] : ''; |
552 | 578 | $action = !empty($_REQUEST['action']) ? $_REQUEST['action'] : ''; |
553 | 579 | |
554 | - if ($row['total'] > 0 && !in_array($action, array('profile', 'logout')) || ($action == 'profile' && $area != 'tfasetup')) |
|
555 | - redirectexit('action=profile;area=tfasetup;forced'); |
|
580 | + if ($row['total'] > 0 && !in_array($action, array('profile', 'logout')) || ($action == 'profile' && $area != 'tfasetup')) { |
|
581 | + redirectexit('action=profile;area=tfasetup;forced'); |
|
582 | + } |
|
556 | 583 | } |
557 | 584 | } |
558 | 585 | |
@@ -589,33 +616,37 @@ discard block |
||
589 | 616 | updateMemberData($id_member, array('id_msg_last_visit' => (int) $modSettings['maxMsgID'], 'last_login' => time(), 'member_ip' => $_SERVER['REMOTE_ADDR'], 'member_ip2' => $_SERVER['BAN_CHECK_IP'])); |
590 | 617 | $user_settings['last_login'] = time(); |
591 | 618 | |
592 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
593 | - cache_put_data('user_settings-' . $id_member, $user_settings, 60); |
|
619 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
620 | + cache_put_data('user_settings-' . $id_member, $user_settings, 60); |
|
621 | + } |
|
594 | 622 | |
595 | - if (!empty($modSettings['cache_enable'])) |
|
596 | - cache_put_data('user_last_visit-' . $id_member, $_SESSION['id_msg_last_visit'], 5 * 3600); |
|
623 | + if (!empty($modSettings['cache_enable'])) { |
|
624 | + cache_put_data('user_last_visit-' . $id_member, $_SESSION['id_msg_last_visit'], 5 * 3600); |
|
625 | + } |
|
597 | 626 | } |
627 | + } elseif (empty($_SESSION['id_msg_last_visit'])) { |
|
628 | + $_SESSION['id_msg_last_visit'] = $user_settings['id_msg_last_visit']; |
|
598 | 629 | } |
599 | - elseif (empty($_SESSION['id_msg_last_visit'])) |
|
600 | - $_SESSION['id_msg_last_visit'] = $user_settings['id_msg_last_visit']; |
|
601 | 630 | |
602 | 631 | $username = $user_settings['member_name']; |
603 | 632 | |
604 | - if (empty($user_settings['additional_groups'])) |
|
605 | - $user_info = array( |
|
633 | + if (empty($user_settings['additional_groups'])) { |
|
634 | + $user_info = array( |
|
606 | 635 | 'groups' => array($user_settings['id_group'], $user_settings['id_post_group']) |
607 | 636 | ); |
608 | - else |
|
609 | - $user_info = array( |
|
637 | + } else { |
|
638 | + $user_info = array( |
|
610 | 639 | 'groups' => array_merge( |
611 | 640 | array($user_settings['id_group'], $user_settings['id_post_group']), |
612 | 641 | explode(',', $user_settings['additional_groups']) |
613 | 642 | ) |
614 | 643 | ); |
644 | + } |
|
615 | 645 | |
616 | 646 | // Because history has proven that it is possible for groups to go bad - clean up in case. |
617 | - foreach ($user_info['groups'] as $k => $v) |
|
618 | - $user_info['groups'][$k] = (int) $v; |
|
647 | + foreach ($user_info['groups'] as $k => $v) { |
|
648 | + $user_info['groups'][$k] = (int) $v; |
|
649 | + } |
|
619 | 650 | |
620 | 651 | // This is a logged in user, so definitely not a spider. |
621 | 652 | $user_info['possibly_robot'] = false; |
@@ -629,8 +660,7 @@ discard block |
||
629 | 660 | $time_system = new DateTime('now', $tz_system); |
630 | 661 | $time_user = new DateTime('now', $tz_user); |
631 | 662 | $user_info['time_offset'] = ($tz_user->getOffset($time_user) - $tz_system->getOffset($time_system)) / 3600; |
632 | - } |
|
633 | - else |
|
663 | + } else |
|
634 | 664 | { |
635 | 665 | // !!! Compatibility. |
636 | 666 | $user_info['time_offset'] = empty($user_settings['time_offset']) ? 0 : $user_settings['time_offset']; |
@@ -644,8 +674,9 @@ discard block |
||
644 | 674 | $user_info = array('groups' => array(-1)); |
645 | 675 | $user_settings = array(); |
646 | 676 | |
647 | - if (isset($_COOKIE[$cookiename]) && empty($context['tfa_member'])) |
|
648 | - $_COOKIE[$cookiename] = ''; |
|
677 | + if (isset($_COOKIE[$cookiename]) && empty($context['tfa_member'])) { |
|
678 | + $_COOKIE[$cookiename] = ''; |
|
679 | + } |
|
649 | 680 | |
650 | 681 | // Expire the 2FA cookie |
651 | 682 | if (isset($_COOKIE[$cookiename . '_tfa']) && empty($context['tfa_member'])) |
@@ -662,19 +693,20 @@ discard block |
||
662 | 693 | } |
663 | 694 | |
664 | 695 | // Create a login token if it doesn't exist yet. |
665 | - if (!isset($_SESSION['token']['post-login'])) |
|
666 | - createToken('login'); |
|
667 | - else |
|
668 | - list ($context['login_token_var'],,, $context['login_token']) = $_SESSION['token']['post-login']; |
|
696 | + if (!isset($_SESSION['token']['post-login'])) { |
|
697 | + createToken('login'); |
|
698 | + } else { |
|
699 | + list ($context['login_token_var'],,, $context['login_token']) = $_SESSION['token']['post-login']; |
|
700 | + } |
|
669 | 701 | |
670 | 702 | // Do we perhaps think this is a search robot? Check every five minutes just in case... |
671 | 703 | if ((!empty($modSettings['spider_mode']) || !empty($modSettings['spider_group'])) && (!isset($_SESSION['robot_check']) || $_SESSION['robot_check'] < time() - 300)) |
672 | 704 | { |
673 | 705 | require_once($sourcedir . '/ManageSearchEngines.php'); |
674 | 706 | $user_info['possibly_robot'] = SpiderCheck(); |
707 | + } elseif (!empty($modSettings['spider_mode'])) { |
|
708 | + $user_info['possibly_robot'] = isset($_SESSION['id_robot']) ? $_SESSION['id_robot'] : 0; |
|
675 | 709 | } |
676 | - elseif (!empty($modSettings['spider_mode'])) |
|
677 | - $user_info['possibly_robot'] = isset($_SESSION['id_robot']) ? $_SESSION['id_robot'] : 0; |
|
678 | 710 | // If we haven't turned on proper spider hunts then have a guess! |
679 | 711 | else |
680 | 712 | { |
@@ -722,8 +754,9 @@ discard block |
||
722 | 754 | $user_info['groups'] = array_unique($user_info['groups']); |
723 | 755 | |
724 | 756 | // Make sure that the last item in the ignore boards array is valid. If the list was too long it could have an ending comma that could cause problems. |
725 | - if (!empty($user_info['ignoreboards']) && empty($user_info['ignoreboards'][$tmp = count($user_info['ignoreboards']) - 1])) |
|
726 | - unset($user_info['ignoreboards'][$tmp]); |
|
757 | + if (!empty($user_info['ignoreboards']) && empty($user_info['ignoreboards'][$tmp = count($user_info['ignoreboards']) - 1])) { |
|
758 | + unset($user_info['ignoreboards'][$tmp]); |
|
759 | + } |
|
727 | 760 | |
728 | 761 | // Allow the user to change their language. |
729 | 762 | if (!empty($modSettings['userLanguage'])) |
@@ -736,31 +769,36 @@ discard block |
||
736 | 769 | $user_info['language'] = strtr($_GET['language'], './\\:', '____'); |
737 | 770 | |
738 | 771 | // Make it permanent for members. |
739 | - if (!empty($user_info['id'])) |
|
740 | - updateMemberData($user_info['id'], array('lngfile' => $user_info['language'])); |
|
741 | - else |
|
742 | - $_SESSION['language'] = $user_info['language']; |
|
772 | + if (!empty($user_info['id'])) { |
|
773 | + updateMemberData($user_info['id'], array('lngfile' => $user_info['language'])); |
|
774 | + } else { |
|
775 | + $_SESSION['language'] = $user_info['language']; |
|
776 | + } |
|
777 | + } elseif (!empty($_SESSION['language']) && isset($languages[strtr($_SESSION['language'], './\\:', '____')])) { |
|
778 | + $user_info['language'] = strtr($_SESSION['language'], './\\:', '____'); |
|
743 | 779 | } |
744 | - elseif (!empty($_SESSION['language']) && isset($languages[strtr($_SESSION['language'], './\\:', '____')])) |
|
745 | - $user_info['language'] = strtr($_SESSION['language'], './\\:', '____'); |
|
746 | 780 | } |
747 | 781 | |
748 | 782 | // Just build this here, it makes it easier to change/use - administrators can see all boards. |
749 | - if ($user_info['is_admin']) |
|
750 | - $user_info['query_see_board'] = '1=1'; |
|
783 | + if ($user_info['is_admin']) { |
|
784 | + $user_info['query_see_board'] = '1=1'; |
|
785 | + } |
|
751 | 786 | // Otherwise just the groups in $user_info['groups']. |
752 | - else |
|
753 | - $user_info['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $user_info['groups']) . ', b.member_groups) != 0)' . (!empty($modSettings['deny_boards_access']) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $user_info['groups']) . ', b.deny_member_groups) = 0)' : '') . (isset($user_info['mod_cache']) ? ' OR ' . $user_info['mod_cache']['mq'] : '') . ')'; |
|
787 | + else { |
|
788 | + $user_info['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $user_info['groups']) . ', b.member_groups) != 0)' . (!empty($modSettings['deny_boards_access']) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $user_info['groups']) . ', b.deny_member_groups) = 0)' : '') . (isset($user_info['mod_cache']) ? ' OR ' . $user_info['mod_cache']['mq'] : '') . ')'; |
|
789 | + } |
|
754 | 790 | |
755 | 791 | // Build the list of boards they WANT to see. |
756 | 792 | // This will take the place of query_see_boards in certain spots, so it better include the boards they can see also |
757 | 793 | |
758 | 794 | // If they aren't ignoring any boards then they want to see all the boards they can see |
759 | - if (empty($user_info['ignoreboards'])) |
|
760 | - $user_info['query_wanna_see_board'] = $user_info['query_see_board']; |
|
795 | + if (empty($user_info['ignoreboards'])) { |
|
796 | + $user_info['query_wanna_see_board'] = $user_info['query_see_board']; |
|
797 | + } |
|
761 | 798 | // Ok I guess they don't want to see all the boards |
762 | - else |
|
763 | - $user_info['query_wanna_see_board'] = '(' . $user_info['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $user_info['ignoreboards']) . '))'; |
|
799 | + else { |
|
800 | + $user_info['query_wanna_see_board'] = '(' . $user_info['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $user_info['ignoreboards']) . '))'; |
|
801 | + } |
|
764 | 802 | |
765 | 803 | call_integration_hook('integrate_user_info'); |
766 | 804 | } |
@@ -818,9 +856,9 @@ discard block |
||
818 | 856 | } |
819 | 857 | |
820 | 858 | // Remember redirection is the key to avoiding fallout from your bosses. |
821 | - if (!empty($topic)) |
|
822 | - redirectexit('topic=' . $topic . '.msg' . $_REQUEST['msg'] . '#msg' . $_REQUEST['msg']); |
|
823 | - else |
|
859 | + if (!empty($topic)) { |
|
860 | + redirectexit('topic=' . $topic . '.msg' . $_REQUEST['msg'] . '#msg' . $_REQUEST['msg']); |
|
861 | + } else |
|
824 | 862 | { |
825 | 863 | loadPermissions(); |
826 | 864 | loadTheme(); |
@@ -838,10 +876,11 @@ discard block |
||
838 | 876 | if (!empty($modSettings['cache_enable']) && (empty($topic) || $modSettings['cache_enable'] >= 3)) |
839 | 877 | { |
840 | 878 | // @todo SLOW? |
841 | - if (!empty($topic)) |
|
842 | - $temp = cache_get_data('topic_board-' . $topic, 120); |
|
843 | - else |
|
844 | - $temp = cache_get_data('board-' . $board, 120); |
|
879 | + if (!empty($topic)) { |
|
880 | + $temp = cache_get_data('topic_board-' . $topic, 120); |
|
881 | + } else { |
|
882 | + $temp = cache_get_data('board-' . $board, 120); |
|
883 | + } |
|
845 | 884 | |
846 | 885 | if (!empty($temp)) |
847 | 886 | { |
@@ -879,8 +918,9 @@ discard block |
||
879 | 918 | $row = $smcFunc['db_fetch_assoc']($request); |
880 | 919 | |
881 | 920 | // Set the current board. |
882 | - if (!empty($row['id_board'])) |
|
883 | - $board = $row['id_board']; |
|
921 | + if (!empty($row['id_board'])) { |
|
922 | + $board = $row['id_board']; |
|
923 | + } |
|
884 | 924 | |
885 | 925 | // Basic operating information. (globals... :/) |
886 | 926 | $board_info = array( |
@@ -916,21 +956,23 @@ discard block |
||
916 | 956 | |
917 | 957 | do |
918 | 958 | { |
919 | - if (!empty($row['id_moderator'])) |
|
920 | - $board_info['moderators'][$row['id_moderator']] = array( |
|
959 | + if (!empty($row['id_moderator'])) { |
|
960 | + $board_info['moderators'][$row['id_moderator']] = array( |
|
921 | 961 | 'id' => $row['id_moderator'], |
922 | 962 | 'name' => $row['real_name'], |
923 | 963 | 'href' => $scripturl . '?action=profile;u=' . $row['id_moderator'], |
924 | 964 | 'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_moderator'] . '">' . $row['real_name'] . '</a>' |
925 | 965 | ); |
966 | + } |
|
926 | 967 | |
927 | - if (!empty($row['id_moderator_group'])) |
|
928 | - $board_info['moderator_groups'][$row['id_moderator_group']] = array( |
|
968 | + if (!empty($row['id_moderator_group'])) { |
|
969 | + $board_info['moderator_groups'][$row['id_moderator_group']] = array( |
|
929 | 970 | 'id' => $row['id_moderator_group'], |
930 | 971 | 'name' => $row['group_name'], |
931 | 972 | 'href' => $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'], |
932 | 973 | 'link' => '<a href="' . $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'] . '">' . $row['group_name'] . '</a>' |
933 | 974 | ); |
975 | + } |
|
934 | 976 | } |
935 | 977 | while ($row = $smcFunc['db_fetch_assoc']($request)); |
936 | 978 | |
@@ -962,12 +1004,12 @@ discard block |
||
962 | 1004 | if (!empty($modSettings['cache_enable']) && (empty($topic) || $modSettings['cache_enable'] >= 3)) |
963 | 1005 | { |
964 | 1006 | // @todo SLOW? |
965 | - if (!empty($topic)) |
|
966 | - cache_put_data('topic_board-' . $topic, $board_info, 120); |
|
1007 | + if (!empty($topic)) { |
|
1008 | + cache_put_data('topic_board-' . $topic, $board_info, 120); |
|
1009 | + } |
|
967 | 1010 | cache_put_data('board-' . $board, $board_info, 120); |
968 | 1011 | } |
969 | - } |
|
970 | - else |
|
1012 | + } else |
|
971 | 1013 | { |
972 | 1014 | // Otherwise the topic is invalid, there are no moderators, etc. |
973 | 1015 | $board_info = array( |
@@ -981,8 +1023,9 @@ discard block |
||
981 | 1023 | $smcFunc['db_free_result']($request); |
982 | 1024 | } |
983 | 1025 | |
984 | - if (!empty($topic)) |
|
985 | - $_GET['board'] = (int) $board; |
|
1026 | + if (!empty($topic)) { |
|
1027 | + $_GET['board'] = (int) $board; |
|
1028 | + } |
|
986 | 1029 | |
987 | 1030 | if (!empty($board)) |
988 | 1031 | { |
@@ -992,10 +1035,12 @@ discard block |
||
992 | 1035 | // Now check if the user is a moderator. |
993 | 1036 | $user_info['is_mod'] = isset($board_info['moderators'][$user_info['id']]) || count(array_intersect($user_info['groups'], $moderator_groups)) != 0; |
994 | 1037 | |
995 | - if (count(array_intersect($user_info['groups'], $board_info['groups'])) == 0 && !$user_info['is_admin']) |
|
996 | - $board_info['error'] = 'access'; |
|
997 | - if (!empty($modSettings['deny_boards_access']) && count(array_intersect($user_info['groups'], $board_info['deny_groups'])) != 0 && !$user_info['is_admin']) |
|
998 | - $board_info['error'] = 'access'; |
|
1038 | + if (count(array_intersect($user_info['groups'], $board_info['groups'])) == 0 && !$user_info['is_admin']) { |
|
1039 | + $board_info['error'] = 'access'; |
|
1040 | + } |
|
1041 | + if (!empty($modSettings['deny_boards_access']) && count(array_intersect($user_info['groups'], $board_info['deny_groups'])) != 0 && !$user_info['is_admin']) { |
|
1042 | + $board_info['error'] = 'access'; |
|
1043 | + } |
|
999 | 1044 | |
1000 | 1045 | // Build up the linktree. |
1001 | 1046 | $context['linktree'] = array_merge( |
@@ -1018,8 +1063,9 @@ discard block |
||
1018 | 1063 | $context['current_board'] = $board; |
1019 | 1064 | |
1020 | 1065 | // No posting in redirection boards! |
1021 | - if (!empty($_REQUEST['action']) && $_REQUEST['action'] == 'post' && !empty($board_info['redirect'])) |
|
1022 | - $board_info['error'] == 'post_in_redirect'; |
|
1066 | + if (!empty($_REQUEST['action']) && $_REQUEST['action'] == 'post' && !empty($board_info['redirect'])) { |
|
1067 | + $board_info['error'] == 'post_in_redirect'; |
|
1068 | + } |
|
1023 | 1069 | |
1024 | 1070 | // Hacker... you can't see this topic, I'll tell you that. (but moderators can!) |
1025 | 1071 | if (!empty($board_info['error']) && (!empty($modSettings['deny_boards_access']) || $board_info['error'] != 'access' || !$user_info['is_mod'])) |
@@ -1045,24 +1091,23 @@ discard block |
||
1045 | 1091 | ob_end_clean(); |
1046 | 1092 | header('HTTP/1.1 403 Forbidden'); |
1047 | 1093 | die; |
1048 | - } |
|
1049 | - elseif ($board_info['error'] == 'post_in_redirect') |
|
1094 | + } elseif ($board_info['error'] == 'post_in_redirect') |
|
1050 | 1095 | { |
1051 | 1096 | // Slightly different error message here... |
1052 | 1097 | fatal_lang_error('cannot_post_redirect', false); |
1053 | - } |
|
1054 | - elseif ($user_info['is_guest']) |
|
1098 | + } elseif ($user_info['is_guest']) |
|
1055 | 1099 | { |
1056 | 1100 | loadLanguage('Errors'); |
1057 | 1101 | is_not_guest($txt['topic_gone']); |
1102 | + } else { |
|
1103 | + fatal_lang_error('topic_gone', false); |
|
1058 | 1104 | } |
1059 | - else |
|
1060 | - fatal_lang_error('topic_gone', false); |
|
1061 | 1105 | } |
1062 | 1106 | |
1063 | - if ($user_info['is_mod']) |
|
1064 | - $user_info['groups'][] = 3; |
|
1065 | -} |
|
1107 | + if ($user_info['is_mod']) { |
|
1108 | + $user_info['groups'][] = 3; |
|
1109 | + } |
|
1110 | + } |
|
1066 | 1111 | |
1067 | 1112 | /** |
1068 | 1113 | * Load this user's permissions. |
@@ -1083,8 +1128,9 @@ discard block |
||
1083 | 1128 | asort($cache_groups); |
1084 | 1129 | $cache_groups = implode(',', $cache_groups); |
1085 | 1130 | // If it's a spider then cache it different. |
1086 | - if ($user_info['possibly_robot']) |
|
1087 | - $cache_groups .= '-spider'; |
|
1131 | + if ($user_info['possibly_robot']) { |
|
1132 | + $cache_groups .= '-spider'; |
|
1133 | + } |
|
1088 | 1134 | |
1089 | 1135 | if ($modSettings['cache_enable'] >= 2 && !empty($board) && ($temp = cache_get_data('permissions:' . $cache_groups . ':' . $board, 240)) != null && time() - 240 > $modSettings['settings_updated']) |
1090 | 1136 | { |
@@ -1092,9 +1138,9 @@ discard block |
||
1092 | 1138 | banPermissions(); |
1093 | 1139 | |
1094 | 1140 | return; |
1141 | + } elseif (($temp = cache_get_data('permissions:' . $cache_groups, 240)) != null && time() - 240 > $modSettings['settings_updated']) { |
|
1142 | + list ($user_info['permissions'], $removals) = $temp; |
|
1095 | 1143 | } |
1096 | - elseif (($temp = cache_get_data('permissions:' . $cache_groups, 240)) != null && time() - 240 > $modSettings['settings_updated']) |
|
1097 | - list ($user_info['permissions'], $removals) = $temp; |
|
1098 | 1144 | } |
1099 | 1145 | |
1100 | 1146 | // If it is detected as a robot, and we are restricting permissions as a special group - then implement this. |
@@ -1116,23 +1162,26 @@ discard block |
||
1116 | 1162 | $removals = array(); |
1117 | 1163 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
1118 | 1164 | { |
1119 | - if (empty($row['add_deny'])) |
|
1120 | - $removals[] = $row['permission']; |
|
1121 | - else |
|
1122 | - $user_info['permissions'][] = $row['permission']; |
|
1165 | + if (empty($row['add_deny'])) { |
|
1166 | + $removals[] = $row['permission']; |
|
1167 | + } else { |
|
1168 | + $user_info['permissions'][] = $row['permission']; |
|
1169 | + } |
|
1123 | 1170 | } |
1124 | 1171 | $smcFunc['db_free_result']($request); |
1125 | 1172 | |
1126 | - if (isset($cache_groups)) |
|
1127 | - cache_put_data('permissions:' . $cache_groups, array($user_info['permissions'], $removals), 240); |
|
1173 | + if (isset($cache_groups)) { |
|
1174 | + cache_put_data('permissions:' . $cache_groups, array($user_info['permissions'], $removals), 240); |
|
1175 | + } |
|
1128 | 1176 | } |
1129 | 1177 | |
1130 | 1178 | // Get the board permissions. |
1131 | 1179 | if (!empty($board)) |
1132 | 1180 | { |
1133 | 1181 | // Make sure the board (if any) has been loaded by loadBoard(). |
1134 | - if (!isset($board_info['profile'])) |
|
1135 | - fatal_lang_error('no_board'); |
|
1182 | + if (!isset($board_info['profile'])) { |
|
1183 | + fatal_lang_error('no_board'); |
|
1184 | + } |
|
1136 | 1185 | |
1137 | 1186 | $request = $smcFunc['db_query']('', ' |
1138 | 1187 | SELECT permission, add_deny |
@@ -1148,20 +1197,23 @@ discard block |
||
1148 | 1197 | ); |
1149 | 1198 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
1150 | 1199 | { |
1151 | - if (empty($row['add_deny'])) |
|
1152 | - $removals[] = $row['permission']; |
|
1153 | - else |
|
1154 | - $user_info['permissions'][] = $row['permission']; |
|
1200 | + if (empty($row['add_deny'])) { |
|
1201 | + $removals[] = $row['permission']; |
|
1202 | + } else { |
|
1203 | + $user_info['permissions'][] = $row['permission']; |
|
1204 | + } |
|
1155 | 1205 | } |
1156 | 1206 | $smcFunc['db_free_result']($request); |
1157 | 1207 | } |
1158 | 1208 | |
1159 | 1209 | // Remove all the permissions they shouldn't have ;). |
1160 | - if (!empty($modSettings['permission_enable_deny'])) |
|
1161 | - $user_info['permissions'] = array_diff($user_info['permissions'], $removals); |
|
1210 | + if (!empty($modSettings['permission_enable_deny'])) { |
|
1211 | + $user_info['permissions'] = array_diff($user_info['permissions'], $removals); |
|
1212 | + } |
|
1162 | 1213 | |
1163 | - if (isset($cache_groups) && !empty($board) && $modSettings['cache_enable'] >= 2) |
|
1164 | - cache_put_data('permissions:' . $cache_groups . ':' . $board, array($user_info['permissions'], null), 240); |
|
1214 | + if (isset($cache_groups) && !empty($board) && $modSettings['cache_enable'] >= 2) { |
|
1215 | + cache_put_data('permissions:' . $cache_groups . ':' . $board, array($user_info['permissions'], null), 240); |
|
1216 | + } |
|
1165 | 1217 | |
1166 | 1218 | // Banned? Watch, don't touch.. |
1167 | 1219 | banPermissions(); |
@@ -1173,17 +1225,18 @@ discard block |
||
1173 | 1225 | { |
1174 | 1226 | require_once($sourcedir . '/Subs-Auth.php'); |
1175 | 1227 | rebuildModCache(); |
1228 | + } else { |
|
1229 | + $user_info['mod_cache'] = $_SESSION['mc']; |
|
1176 | 1230 | } |
1177 | - else |
|
1178 | - $user_info['mod_cache'] = $_SESSION['mc']; |
|
1179 | 1231 | |
1180 | 1232 | // This is a useful phantom permission added to the current user, and only the current user while they are logged in. |
1181 | 1233 | // For example this drastically simplifies certain changes to the profile area. |
1182 | 1234 | $user_info['permissions'][] = 'is_not_guest'; |
1183 | 1235 | // And now some backwards compatibility stuff for mods and whatnot that aren't expecting the new permissions. |
1184 | 1236 | $user_info['permissions'][] = 'profile_view_own'; |
1185 | - if (in_array('profile_view', $user_info['permissions'])) |
|
1186 | - $user_info['permissions'][] = 'profile_view_any'; |
|
1237 | + if (in_array('profile_view', $user_info['permissions'])) { |
|
1238 | + $user_info['permissions'][] = 'profile_view_any'; |
|
1239 | + } |
|
1187 | 1240 | } |
1188 | 1241 | } |
1189 | 1242 | |
@@ -1201,8 +1254,9 @@ discard block |
||
1201 | 1254 | global $image_proxy_enabled, $image_proxy_secret, $boardurl; |
1202 | 1255 | |
1203 | 1256 | // Can't just look for no users :P. |
1204 | - if (empty($users)) |
|
1205 | - return array(); |
|
1257 | + if (empty($users)) { |
|
1258 | + return array(); |
|
1259 | + } |
|
1206 | 1260 | |
1207 | 1261 | // Pass the set value |
1208 | 1262 | $context['loadMemberContext_set'] = $set; |
@@ -1217,8 +1271,9 @@ discard block |
||
1217 | 1271 | for ($i = 0, $n = count($users); $i < $n; $i++) |
1218 | 1272 | { |
1219 | 1273 | $data = cache_get_data('member_data-' . $set . '-' . $users[$i], 240); |
1220 | - if ($data == null) |
|
1221 | - continue; |
|
1274 | + if ($data == null) { |
|
1275 | + continue; |
|
1276 | + } |
|
1222 | 1277 | |
1223 | 1278 | $loaded_ids[] = $data['id_member']; |
1224 | 1279 | $user_profile[$data['id_member']] = $data; |
@@ -1285,16 +1340,19 @@ discard block |
||
1285 | 1340 | $row['avatar_original'] = !empty($row['avatar']) ? $row['avatar'] : ''; |
1286 | 1341 | |
1287 | 1342 | // Take care of proxying avatar if required, do this here for maximum reach |
1288 | - if ($image_proxy_enabled && !empty($row['avatar']) && stripos($row['avatar'], 'http://') !== false) |
|
1289 | - $row['avatar'] = $boardurl . '/proxy.php?request=' . urlencode($row['avatar']) . '&hash=' . md5($row['avatar'] . $image_proxy_secret); |
|
1343 | + if ($image_proxy_enabled && !empty($row['avatar']) && stripos($row['avatar'], 'http://') !== false) { |
|
1344 | + $row['avatar'] = $boardurl . '/proxy.php?request=' . urlencode($row['avatar']) . '&hash=' . md5($row['avatar'] . $image_proxy_secret); |
|
1345 | + } |
|
1290 | 1346 | |
1291 | 1347 | // Keep track of the member's normal member group |
1292 | 1348 | $row['primary_group'] = $row['member_group']; |
1293 | 1349 | |
1294 | - if (isset($row['member_ip'])) |
|
1295 | - $row['member_ip'] = inet_dtop($row['member_ip']); |
|
1296 | - if (isset($row['member_ip2'])) |
|
1297 | - $row['member_ip2'] = inet_dtop($row['member_ip2']); |
|
1350 | + if (isset($row['member_ip'])) { |
|
1351 | + $row['member_ip'] = inet_dtop($row['member_ip']); |
|
1352 | + } |
|
1353 | + if (isset($row['member_ip2'])) { |
|
1354 | + $row['member_ip2'] = inet_dtop($row['member_ip2']); |
|
1355 | + } |
|
1298 | 1356 | $new_loaded_ids[] = $row['id_member']; |
1299 | 1357 | $loaded_ids[] = $row['id_member']; |
1300 | 1358 | $row['options'] = array(); |
@@ -1313,8 +1371,9 @@ discard block |
||
1313 | 1371 | 'loaded_ids' => $new_loaded_ids, |
1314 | 1372 | ) |
1315 | 1373 | ); |
1316 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
1317 | - $user_profile[$row['id_member']]['options'][$row['variable']] = $row['value']; |
|
1374 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
1375 | + $user_profile[$row['id_member']]['options'][$row['variable']] = $row['value']; |
|
1376 | + } |
|
1318 | 1377 | $smcFunc['db_free_result']($request); |
1319 | 1378 | } |
1320 | 1379 | |
@@ -1325,10 +1384,11 @@ discard block |
||
1325 | 1384 | { |
1326 | 1385 | foreach ($loaded_ids as $a_member) |
1327 | 1386 | { |
1328 | - if (!empty($user_profile[$a_member]['additional_groups'])) |
|
1329 | - $groups = array_merge(array($user_profile[$a_member]['id_group']), explode(',', $user_profile[$a_member]['additional_groups'])); |
|
1330 | - else |
|
1331 | - $groups = array($user_profile[$a_member]['id_group']); |
|
1387 | + if (!empty($user_profile[$a_member]['additional_groups'])) { |
|
1388 | + $groups = array_merge(array($user_profile[$a_member]['id_group']), explode(',', $user_profile[$a_member]['additional_groups'])); |
|
1389 | + } else { |
|
1390 | + $groups = array($user_profile[$a_member]['id_group']); |
|
1391 | + } |
|
1332 | 1392 | |
1333 | 1393 | $temp = array_intersect($groups, array_keys($board_info['moderator_groups'])); |
1334 | 1394 | |
@@ -1341,8 +1401,9 @@ discard block |
||
1341 | 1401 | |
1342 | 1402 | if (!empty($new_loaded_ids) && !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 3) |
1343 | 1403 | { |
1344 | - for ($i = 0, $n = count($new_loaded_ids); $i < $n; $i++) |
|
1345 | - cache_put_data('member_data-' . $set . '-' . $new_loaded_ids[$i], $user_profile[$new_loaded_ids[$i]], 240); |
|
1404 | + for ($i = 0, $n = count($new_loaded_ids); $i < $n; $i++) { |
|
1405 | + cache_put_data('member_data-' . $set . '-' . $new_loaded_ids[$i], $user_profile[$new_loaded_ids[$i]], 240); |
|
1406 | + } |
|
1346 | 1407 | } |
1347 | 1408 | |
1348 | 1409 | // Are we loading any moderators? If so, fix their group data... |
@@ -1368,14 +1429,17 @@ discard block |
||
1368 | 1429 | foreach ($temp_mods as $id) |
1369 | 1430 | { |
1370 | 1431 | // By popular demand, don't show admins or global moderators as moderators. |
1371 | - if ($user_profile[$id]['id_group'] != 1 && $user_profile[$id]['id_group'] != 2) |
|
1372 | - $user_profile[$id]['member_group'] = $row['member_group']; |
|
1432 | + if ($user_profile[$id]['id_group'] != 1 && $user_profile[$id]['id_group'] != 2) { |
|
1433 | + $user_profile[$id]['member_group'] = $row['member_group']; |
|
1434 | + } |
|
1373 | 1435 | |
1374 | 1436 | // If the Moderator group has no color or icons, but their group does... don't overwrite. |
1375 | - if (!empty($row['icons'])) |
|
1376 | - $user_profile[$id]['icons'] = $row['icons']; |
|
1377 | - if (!empty($row['member_group_color'])) |
|
1378 | - $user_profile[$id]['member_group_color'] = $row['member_group_color']; |
|
1437 | + if (!empty($row['icons'])) { |
|
1438 | + $user_profile[$id]['icons'] = $row['icons']; |
|
1439 | + } |
|
1440 | + if (!empty($row['member_group_color'])) { |
|
1441 | + $user_profile[$id]['member_group_color'] = $row['member_group_color']; |
|
1442 | + } |
|
1379 | 1443 | } |
1380 | 1444 | } |
1381 | 1445 | |
@@ -1397,12 +1461,14 @@ discard block |
||
1397 | 1461 | static $loadedLanguages = array(); |
1398 | 1462 | |
1399 | 1463 | // If this person's data is already loaded, skip it. |
1400 | - if (isset($dataLoaded[$user])) |
|
1401 | - return true; |
|
1464 | + if (isset($dataLoaded[$user])) { |
|
1465 | + return true; |
|
1466 | + } |
|
1402 | 1467 | |
1403 | 1468 | // We can't load guests or members not loaded by loadMemberData()! |
1404 | - if ($user == 0) |
|
1405 | - return false; |
|
1469 | + if ($user == 0) { |
|
1470 | + return false; |
|
1471 | + } |
|
1406 | 1472 | if (!isset($user_profile[$user])) |
1407 | 1473 | { |
1408 | 1474 | trigger_error('loadMemberContext(): member id ' . $user . ' not previously loaded by loadMemberData()', E_USER_WARNING); |
@@ -1428,12 +1494,16 @@ discard block |
||
1428 | 1494 | $buddy_list = !empty($profile['buddy_list']) ? explode(',', $profile['buddy_list']) : array(); |
1429 | 1495 | |
1430 | 1496 | //We need a little fallback for the membergroup icons. If it doesn't exist in the current theme, fallback to default theme |
1431 | - if (isset($profile['icons'][1]) && file_exists($settings['actual_theme_dir'] . '/images/membericons/' . $profile['icons'][1])) //icon is set and exists |
|
1497 | + if (isset($profile['icons'][1]) && file_exists($settings['actual_theme_dir'] . '/images/membericons/' . $profile['icons'][1])) { |
|
1498 | + //icon is set and exists |
|
1432 | 1499 | $group_icon_url = $settings['images_url'] . '/membericons/' . $profile['icons'][1]; |
1433 | - elseif (isset($profile['icons'][1])) //icon is set and doesn't exist, fallback to default |
|
1500 | + } elseif (isset($profile['icons'][1])) { |
|
1501 | + //icon is set and doesn't exist, fallback to default |
|
1434 | 1502 | $group_icon_url = $settings['default_images_url'] . '/membericons/' . $profile['icons'][1]; |
1435 | - else //not set, bye bye |
|
1503 | + } else { |
|
1504 | + //not set, bye bye |
|
1436 | 1505 | $group_icon_url = ''; |
1506 | + } |
|
1437 | 1507 | |
1438 | 1508 | // These minimal values are always loaded |
1439 | 1509 | $memberContext[$user] = array( |
@@ -1452,8 +1522,9 @@ discard block |
||
1452 | 1522 | if ($context['loadMemberContext_set'] != 'minimal') |
1453 | 1523 | { |
1454 | 1524 | // Go the extra mile and load the user's native language name. |
1455 | - if (empty($loadedLanguages)) |
|
1456 | - $loadedLanguages = getLanguages(); |
|
1525 | + if (empty($loadedLanguages)) { |
|
1526 | + $loadedLanguages = getLanguages(); |
|
1527 | + } |
|
1457 | 1528 | |
1458 | 1529 | $memberContext[$user] += array( |
1459 | 1530 | 'username_color' => '<span ' . (!empty($profile['member_group_color']) ? 'style="color:' . $profile['member_group_color'] . ';"' : '') . '>' . $profile['member_name'] . '</span>', |
@@ -1508,31 +1579,33 @@ discard block |
||
1508 | 1579 | { |
1509 | 1580 | if (!empty($modSettings['gravatarOverride']) || (!empty($modSettings['gravatarEnabled']) && stristr($profile['avatar'], 'gravatar://'))) |
1510 | 1581 | { |
1511 | - if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($profile['avatar'], 'gravatar://') && strlen($profile['avatar']) > 11) |
|
1512 | - $image = get_gravatar_url($smcFunc['substr']($profile['avatar'], 11)); |
|
1513 | - else |
|
1514 | - $image = get_gravatar_url($profile['email_address']); |
|
1515 | - } |
|
1516 | - else |
|
1582 | + if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($profile['avatar'], 'gravatar://') && strlen($profile['avatar']) > 11) { |
|
1583 | + $image = get_gravatar_url($smcFunc['substr']($profile['avatar'], 11)); |
|
1584 | + } else { |
|
1585 | + $image = get_gravatar_url($profile['email_address']); |
|
1586 | + } |
|
1587 | + } else |
|
1517 | 1588 | { |
1518 | 1589 | // So it's stored in the member table? |
1519 | 1590 | if (!empty($profile['avatar'])) |
1520 | 1591 | { |
1521 | 1592 | $image = (stristr($profile['avatar'], 'http://') || stristr($profile['avatar'], 'https://')) ? $profile['avatar'] : $modSettings['avatar_url'] . '/' . $profile['avatar']; |
1593 | + } elseif (!empty($profile['filename'])) { |
|
1594 | + $image = $modSettings['custom_avatar_url'] . '/' . $profile['filename']; |
|
1522 | 1595 | } |
1523 | - elseif (!empty($profile['filename'])) |
|
1524 | - $image = $modSettings['custom_avatar_url'] . '/' . $profile['filename']; |
|
1525 | 1596 | // Right... no avatar...use the default one |
1526 | - else |
|
1527 | - $image = $modSettings['avatar_url'] . '/default.png'; |
|
1597 | + else { |
|
1598 | + $image = $modSettings['avatar_url'] . '/default.png'; |
|
1599 | + } |
|
1528 | 1600 | } |
1529 | - if (!empty($image)) |
|
1530 | - $memberContext[$user]['avatar'] = array( |
|
1601 | + if (!empty($image)) { |
|
1602 | + $memberContext[$user]['avatar'] = array( |
|
1531 | 1603 | 'name' => $profile['avatar'], |
1532 | 1604 | 'image' => '<img class="avatar" src="' . $image . '" alt="avatar_' . $profile['member_name'] . '">', |
1533 | 1605 | 'href' => $image, |
1534 | 1606 | 'url' => $image, |
1535 | 1607 | ); |
1608 | + } |
|
1536 | 1609 | } |
1537 | 1610 | |
1538 | 1611 | // Are we also loading the members custom fields into context? |
@@ -1540,35 +1613,41 @@ discard block |
||
1540 | 1613 | { |
1541 | 1614 | $memberContext[$user]['custom_fields'] = array(); |
1542 | 1615 | |
1543 | - if (!isset($context['display_fields'])) |
|
1544 | - $context['display_fields'] = $smcFunc['json_decode']($modSettings['displayFields'], true); |
|
1616 | + if (!isset($context['display_fields'])) { |
|
1617 | + $context['display_fields'] = $smcFunc['json_decode']($modSettings['displayFields'], true); |
|
1618 | + } |
|
1545 | 1619 | |
1546 | 1620 | foreach ($context['display_fields'] as $custom) |
1547 | 1621 | { |
1548 | - if (!isset($custom['col_name']) || trim($custom['col_name']) == '' || empty($profile['options'][$custom['col_name']])) |
|
1549 | - continue; |
|
1622 | + if (!isset($custom['col_name']) || trim($custom['col_name']) == '' || empty($profile['options'][$custom['col_name']])) { |
|
1623 | + continue; |
|
1624 | + } |
|
1550 | 1625 | |
1551 | 1626 | $value = $profile['options'][$custom['col_name']]; |
1552 | 1627 | |
1553 | 1628 | // Don't show the "disabled" option for the "gender" field. |
1554 | - if ($custom['col_name'] == 'cust_gender' && $value == 'Disabled') |
|
1555 | - continue; |
|
1629 | + if ($custom['col_name'] == 'cust_gender' && $value == 'Disabled') { |
|
1630 | + continue; |
|
1631 | + } |
|
1556 | 1632 | |
1557 | 1633 | // BBC? |
1558 | - if ($custom['bbc']) |
|
1559 | - $value = parse_bbc($value); |
|
1634 | + if ($custom['bbc']) { |
|
1635 | + $value = parse_bbc($value); |
|
1636 | + } |
|
1560 | 1637 | // ... or checkbox? |
1561 | - elseif (isset($custom['type']) && $custom['type'] == 'check') |
|
1562 | - $value = $value ? $txt['yes'] : $txt['no']; |
|
1638 | + elseif (isset($custom['type']) && $custom['type'] == 'check') { |
|
1639 | + $value = $value ? $txt['yes'] : $txt['no']; |
|
1640 | + } |
|
1563 | 1641 | |
1564 | 1642 | // Enclosing the user input within some other text? |
1565 | - if (!empty($custom['enclose'])) |
|
1566 | - $value = strtr($custom['enclose'], array( |
|
1643 | + if (!empty($custom['enclose'])) { |
|
1644 | + $value = strtr($custom['enclose'], array( |
|
1567 | 1645 | '{SCRIPTURL}' => $scripturl, |
1568 | 1646 | '{IMAGES_URL}' => $settings['images_url'], |
1569 | 1647 | '{DEFAULT_IMAGES_URL}' => $settings['default_images_url'], |
1570 | 1648 | '{INPUT}' => $value, |
1571 | 1649 | )); |
1650 | + } |
|
1572 | 1651 | |
1573 | 1652 | $memberContext[$user]['custom_fields'][] = array( |
1574 | 1653 | 'title' => !empty($custom['title']) ? $custom['title'] : $custom['col_name'], |
@@ -1595,8 +1674,9 @@ discard block |
||
1595 | 1674 | global $smcFunc, $txt, $scripturl, $settings; |
1596 | 1675 | |
1597 | 1676 | // Do not waste my time... |
1598 | - if (empty($users) || empty($params)) |
|
1599 | - return false; |
|
1677 | + if (empty($users) || empty($params)) { |
|
1678 | + return false; |
|
1679 | + } |
|
1600 | 1680 | |
1601 | 1681 | // Make sure it's an array. |
1602 | 1682 | $users = !is_array($users) ? array($users) : array_unique($users); |
@@ -1620,31 +1700,36 @@ discard block |
||
1620 | 1700 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
1621 | 1701 | { |
1622 | 1702 | // BBC? |
1623 | - if (!empty($row['bbc'])) |
|
1624 | - $row['value'] = parse_bbc($row['value']); |
|
1703 | + if (!empty($row['bbc'])) { |
|
1704 | + $row['value'] = parse_bbc($row['value']); |
|
1705 | + } |
|
1625 | 1706 | |
1626 | 1707 | // ... or checkbox? |
1627 | - elseif (isset($row['type']) && $row['type'] == 'check') |
|
1628 | - $row['value'] = !empty($row['value']) ? $txt['yes'] : $txt['no']; |
|
1708 | + elseif (isset($row['type']) && $row['type'] == 'check') { |
|
1709 | + $row['value'] = !empty($row['value']) ? $txt['yes'] : $txt['no']; |
|
1710 | + } |
|
1629 | 1711 | |
1630 | 1712 | // Enclosing the user input within some other text? |
1631 | - if (!empty($row['enclose'])) |
|
1632 | - $row['value'] = strtr($row['enclose'], array( |
|
1713 | + if (!empty($row['enclose'])) { |
|
1714 | + $row['value'] = strtr($row['enclose'], array( |
|
1633 | 1715 | '{SCRIPTURL}' => $scripturl, |
1634 | 1716 | '{IMAGES_URL}' => $settings['images_url'], |
1635 | 1717 | '{DEFAULT_IMAGES_URL}' => $settings['default_images_url'], |
1636 | 1718 | '{INPUT}' => un_htmlspecialchars($row['value']), |
1637 | 1719 | )); |
1720 | + } |
|
1638 | 1721 | |
1639 | 1722 | // Send a simple array if there is just 1 param |
1640 | - if (count($params) == 1) |
|
1641 | - $return[$row['id_member']] = $row; |
|
1723 | + if (count($params) == 1) { |
|
1724 | + $return[$row['id_member']] = $row; |
|
1725 | + } |
|
1642 | 1726 | |
1643 | 1727 | // More than 1? knock yourself out... |
1644 | 1728 | else |
1645 | 1729 | { |
1646 | - if (!isset($return[$row['id_member']])) |
|
1647 | - $return[$row['id_member']] = array(); |
|
1730 | + if (!isset($return[$row['id_member']])) { |
|
1731 | + $return[$row['id_member']] = array(); |
|
1732 | + } |
|
1648 | 1733 | |
1649 | 1734 | $return[$row['id_member']][$row['variable']] = $row; |
1650 | 1735 | } |
@@ -1678,8 +1763,9 @@ discard block |
||
1678 | 1763 | global $context; |
1679 | 1764 | |
1680 | 1765 | // Don't know any browser! |
1681 | - if (empty($context['browser'])) |
|
1682 | - detectBrowser(); |
|
1766 | + if (empty($context['browser'])) { |
|
1767 | + detectBrowser(); |
|
1768 | + } |
|
1683 | 1769 | |
1684 | 1770 | return !empty($context['browser'][$browser]) || !empty($context['browser']['is_' . $browser]) ? true : false; |
1685 | 1771 | } |
@@ -1697,8 +1783,9 @@ discard block |
||
1697 | 1783 | global $context, $settings, $options, $sourcedir, $ssi_theme, $smcFunc, $language, $board, $image_proxy_enabled; |
1698 | 1784 | |
1699 | 1785 | // The theme was specified by parameter. |
1700 | - if (!empty($id_theme)) |
|
1701 | - $id_theme = (int) $id_theme; |
|
1786 | + if (!empty($id_theme)) { |
|
1787 | + $id_theme = (int) $id_theme; |
|
1788 | + } |
|
1702 | 1789 | // The theme was specified by REQUEST. |
1703 | 1790 | elseif (!empty($_REQUEST['theme']) && (!empty($modSettings['theme_allow']) || allowedTo('admin_forum'))) |
1704 | 1791 | { |
@@ -1706,51 +1793,58 @@ discard block |
||
1706 | 1793 | $_SESSION['id_theme'] = $id_theme; |
1707 | 1794 | } |
1708 | 1795 | // The theme was specified by REQUEST... previously. |
1709 | - elseif (!empty($_SESSION['id_theme']) && (!empty($modSettings['theme_allow']) || allowedTo('admin_forum'))) |
|
1710 | - $id_theme = (int) $_SESSION['id_theme']; |
|
1796 | + elseif (!empty($_SESSION['id_theme']) && (!empty($modSettings['theme_allow']) || allowedTo('admin_forum'))) { |
|
1797 | + $id_theme = (int) $_SESSION['id_theme']; |
|
1798 | + } |
|
1711 | 1799 | // The theme is just the user's choice. (might use ?board=1;theme=0 to force board theme.) |
1712 | - elseif (!empty($user_info['theme']) && !isset($_REQUEST['theme'])) |
|
1713 | - $id_theme = $user_info['theme']; |
|
1800 | + elseif (!empty($user_info['theme']) && !isset($_REQUEST['theme'])) { |
|
1801 | + $id_theme = $user_info['theme']; |
|
1802 | + } |
|
1714 | 1803 | // The theme was specified by the board. |
1715 | - elseif (!empty($board_info['theme'])) |
|
1716 | - $id_theme = $board_info['theme']; |
|
1804 | + elseif (!empty($board_info['theme'])) { |
|
1805 | + $id_theme = $board_info['theme']; |
|
1806 | + } |
|
1717 | 1807 | // The theme is the forum's default. |
1718 | - else |
|
1719 | - $id_theme = $modSettings['theme_guests']; |
|
1808 | + else { |
|
1809 | + $id_theme = $modSettings['theme_guests']; |
|
1810 | + } |
|
1720 | 1811 | |
1721 | 1812 | // Verify the id_theme... no foul play. |
1722 | 1813 | // Always allow the board specific theme, if they are overriding. |
1723 | - if (!empty($board_info['theme']) && $board_info['override_theme']) |
|
1724 | - $id_theme = $board_info['theme']; |
|
1814 | + if (!empty($board_info['theme']) && $board_info['override_theme']) { |
|
1815 | + $id_theme = $board_info['theme']; |
|
1816 | + } |
|
1725 | 1817 | // If they have specified a particular theme to use with SSI allow it to be used. |
1726 | - elseif (!empty($ssi_theme) && $id_theme == $ssi_theme) |
|
1727 | - $id_theme = (int) $id_theme; |
|
1728 | - elseif (!empty($modSettings['enableThemes']) && !allowedTo('admin_forum')) |
|
1818 | + elseif (!empty($ssi_theme) && $id_theme == $ssi_theme) { |
|
1819 | + $id_theme = (int) $id_theme; |
|
1820 | + } elseif (!empty($modSettings['enableThemes']) && !allowedTo('admin_forum')) |
|
1729 | 1821 | { |
1730 | 1822 | $themes = explode(',', $modSettings['enableThemes']); |
1731 | - if (!in_array($id_theme, $themes)) |
|
1732 | - $id_theme = $modSettings['theme_guests']; |
|
1733 | - else |
|
1823 | + if (!in_array($id_theme, $themes)) { |
|
1824 | + $id_theme = $modSettings['theme_guests']; |
|
1825 | + } else { |
|
1826 | + $id_theme = (int) $id_theme; |
|
1827 | + } |
|
1828 | + } else { |
|
1734 | 1829 | $id_theme = (int) $id_theme; |
1735 | 1830 | } |
1736 | - else |
|
1737 | - $id_theme = (int) $id_theme; |
|
1738 | 1831 | |
1739 | 1832 | $member = empty($user_info['id']) ? -1 : $user_info['id']; |
1740 | 1833 | |
1741 | 1834 | // Disable image proxy if we don't have SSL enabled |
1742 | - if (empty($modSettings['force_ssl']) || $modSettings['force_ssl'] < 2) |
|
1743 | - $image_proxy_enabled = false; |
|
1835 | + if (empty($modSettings['force_ssl']) || $modSettings['force_ssl'] < 2) { |
|
1836 | + $image_proxy_enabled = false; |
|
1837 | + } |
|
1744 | 1838 | |
1745 | 1839 | if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && ($temp = cache_get_data('theme_settings-' . $id_theme . ':' . $member, 60)) != null && time() - 60 > $modSettings['settings_updated']) |
1746 | 1840 | { |
1747 | 1841 | $themeData = $temp; |
1748 | 1842 | $flag = true; |
1843 | + } elseif (($temp = cache_get_data('theme_settings-' . $id_theme, 90)) != null && time() - 60 > $modSettings['settings_updated']) { |
|
1844 | + $themeData = $temp + array($member => array()); |
|
1845 | + } else { |
|
1846 | + $themeData = array(-1 => array(), 0 => array(), $member => array()); |
|
1749 | 1847 | } |
1750 | - elseif (($temp = cache_get_data('theme_settings-' . $id_theme, 90)) != null && time() - 60 > $modSettings['settings_updated']) |
|
1751 | - $themeData = $temp + array($member => array()); |
|
1752 | - else |
|
1753 | - $themeData = array(-1 => array(), 0 => array(), $member => array()); |
|
1754 | 1848 | |
1755 | 1849 | if (empty($flag)) |
1756 | 1850 | { |
@@ -1769,31 +1863,37 @@ discard block |
||
1769 | 1863 | while ($row = $smcFunc['db_fetch_assoc']($result)) |
1770 | 1864 | { |
1771 | 1865 | // There are just things we shouldn't be able to change as members. |
1772 | - if ($row['id_member'] != 0 && in_array($row['variable'], array('actual_theme_url', 'actual_images_url', 'base_theme_dir', 'base_theme_url', 'default_images_url', 'default_theme_dir', 'default_theme_url', 'default_template', 'images_url', 'number_recent_posts', 'smiley_sets_default', 'theme_dir', 'theme_id', 'theme_layers', 'theme_templates', 'theme_url'))) |
|
1773 | - continue; |
|
1866 | + if ($row['id_member'] != 0 && in_array($row['variable'], array('actual_theme_url', 'actual_images_url', 'base_theme_dir', 'base_theme_url', 'default_images_url', 'default_theme_dir', 'default_theme_url', 'default_template', 'images_url', 'number_recent_posts', 'smiley_sets_default', 'theme_dir', 'theme_id', 'theme_layers', 'theme_templates', 'theme_url'))) { |
|
1867 | + continue; |
|
1868 | + } |
|
1774 | 1869 | |
1775 | 1870 | // If this is the theme_dir of the default theme, store it. |
1776 | - if (in_array($row['variable'], array('theme_dir', 'theme_url', 'images_url')) && $row['id_theme'] == '1' && empty($row['id_member'])) |
|
1777 | - $themeData[0]['default_' . $row['variable']] = $row['value']; |
|
1871 | + if (in_array($row['variable'], array('theme_dir', 'theme_url', 'images_url')) && $row['id_theme'] == '1' && empty($row['id_member'])) { |
|
1872 | + $themeData[0]['default_' . $row['variable']] = $row['value']; |
|
1873 | + } |
|
1778 | 1874 | |
1779 | 1875 | // If this isn't set yet, is a theme option, or is not the default theme.. |
1780 | - if (!isset($themeData[$row['id_member']][$row['variable']]) || $row['id_theme'] != '1') |
|
1781 | - $themeData[$row['id_member']][$row['variable']] = substr($row['variable'], 0, 5) == 'show_' ? $row['value'] == '1' : $row['value']; |
|
1876 | + if (!isset($themeData[$row['id_member']][$row['variable']]) || $row['id_theme'] != '1') { |
|
1877 | + $themeData[$row['id_member']][$row['variable']] = substr($row['variable'], 0, 5) == 'show_' ? $row['value'] == '1' : $row['value']; |
|
1878 | + } |
|
1782 | 1879 | } |
1783 | 1880 | $smcFunc['db_free_result']($result); |
1784 | 1881 | |
1785 | - if (!empty($themeData[-1])) |
|
1786 | - foreach ($themeData[-1] as $k => $v) |
|
1882 | + if (!empty($themeData[-1])) { |
|
1883 | + foreach ($themeData[-1] as $k => $v) |
|
1787 | 1884 | { |
1788 | 1885 | if (!isset($themeData[$member][$k])) |
1789 | 1886 | $themeData[$member][$k] = $v; |
1887 | + } |
|
1790 | 1888 | } |
1791 | 1889 | |
1792 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
1793 | - cache_put_data('theme_settings-' . $id_theme . ':' . $member, $themeData, 60); |
|
1890 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
1891 | + cache_put_data('theme_settings-' . $id_theme . ':' . $member, $themeData, 60); |
|
1892 | + } |
|
1794 | 1893 | // Only if we didn't already load that part of the cache... |
1795 | - elseif (!isset($temp)) |
|
1796 | - cache_put_data('theme_settings-' . $id_theme, array(-1 => $themeData[-1], 0 => $themeData[0]), 90); |
|
1894 | + elseif (!isset($temp)) { |
|
1895 | + cache_put_data('theme_settings-' . $id_theme, array(-1 => $themeData[-1], 0 => $themeData[0]), 90); |
|
1896 | + } |
|
1797 | 1897 | } |
1798 | 1898 | |
1799 | 1899 | $settings = $themeData[0]; |
@@ -1810,20 +1910,24 @@ discard block |
||
1810 | 1910 | $settings['template_dirs'][] = $settings['theme_dir']; |
1811 | 1911 | |
1812 | 1912 | // Based on theme (if there is one). |
1813 | - if (!empty($settings['base_theme_dir'])) |
|
1814 | - $settings['template_dirs'][] = $settings['base_theme_dir']; |
|
1913 | + if (!empty($settings['base_theme_dir'])) { |
|
1914 | + $settings['template_dirs'][] = $settings['base_theme_dir']; |
|
1915 | + } |
|
1815 | 1916 | |
1816 | 1917 | // Lastly the default theme. |
1817 | - if ($settings['theme_dir'] != $settings['default_theme_dir']) |
|
1818 | - $settings['template_dirs'][] = $settings['default_theme_dir']; |
|
1918 | + if ($settings['theme_dir'] != $settings['default_theme_dir']) { |
|
1919 | + $settings['template_dirs'][] = $settings['default_theme_dir']; |
|
1920 | + } |
|
1819 | 1921 | |
1820 | - if (!$initialize) |
|
1821 | - return; |
|
1922 | + if (!$initialize) { |
|
1923 | + return; |
|
1924 | + } |
|
1822 | 1925 | |
1823 | 1926 | // Check to see if we're forcing SSL |
1824 | 1927 | if (!empty($modSettings['force_ssl']) && $modSettings['force_ssl'] == 2 && empty($maintenance) && |
1825 | - (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') && SMF != 'SSI') |
|
1826 | - redirectexit(strtr($_SERVER['REQUEST_URL'], array('http://' => 'https://'))); |
|
1928 | + (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') && SMF != 'SSI') { |
|
1929 | + redirectexit(strtr($_SERVER['REQUEST_URL'], array('http://' => 'https://'))); |
|
1930 | + } |
|
1827 | 1931 | |
1828 | 1932 | // Check to see if they're accessing it from the wrong place. |
1829 | 1933 | if (isset($_SERVER['HTTP_HOST']) || isset($_SERVER['SERVER_NAME'])) |
@@ -1831,8 +1935,9 @@ discard block |
||
1831 | 1935 | $detected_url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https://' : 'http://'; |
1832 | 1936 | $detected_url .= empty($_SERVER['HTTP_HOST']) ? $_SERVER['SERVER_NAME'] . (empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' ? '' : ':' . $_SERVER['SERVER_PORT']) : $_SERVER['HTTP_HOST']; |
1833 | 1937 | $temp = preg_replace('~/' . basename($scripturl) . '(/.+)?$~', '', strtr(dirname($_SERVER['PHP_SELF']), '\\', '/')); |
1834 | - if ($temp != '/') |
|
1835 | - $detected_url .= $temp; |
|
1938 | + if ($temp != '/') { |
|
1939 | + $detected_url .= $temp; |
|
1940 | + } |
|
1836 | 1941 | } |
1837 | 1942 | if (isset($detected_url) && $detected_url != $boardurl) |
1838 | 1943 | { |
@@ -1844,8 +1949,9 @@ discard block |
||
1844 | 1949 | foreach ($aliases as $alias) |
1845 | 1950 | { |
1846 | 1951 | // Rip off all the boring parts, spaces, etc. |
1847 | - if ($detected_url == trim($alias) || strtr($detected_url, array('http://' => '', 'https://' => '')) == trim($alias)) |
|
1848 | - $do_fix = true; |
|
1952 | + if ($detected_url == trim($alias) || strtr($detected_url, array('http://' => '', 'https://' => '')) == trim($alias)) { |
|
1953 | + $do_fix = true; |
|
1954 | + } |
|
1849 | 1955 | } |
1850 | 1956 | } |
1851 | 1957 | |
@@ -1853,20 +1959,22 @@ discard block |
||
1853 | 1959 | if (empty($do_fix) && strtr($detected_url, array('://' => '://www.')) == $boardurl && (empty($_GET) || count($_GET) == 1) && SMF != 'SSI') |
1854 | 1960 | { |
1855 | 1961 | // Okay, this seems weird, but we don't want an endless loop - this will make $_GET not empty ;). |
1856 | - if (empty($_GET)) |
|
1857 | - redirectexit('wwwRedirect'); |
|
1858 | - else |
|
1962 | + if (empty($_GET)) { |
|
1963 | + redirectexit('wwwRedirect'); |
|
1964 | + } else |
|
1859 | 1965 | { |
1860 | 1966 | list ($k, $v) = each($_GET); |
1861 | 1967 | |
1862 | - if ($k != 'wwwRedirect') |
|
1863 | - redirectexit('wwwRedirect;' . $k . '=' . $v); |
|
1968 | + if ($k != 'wwwRedirect') { |
|
1969 | + redirectexit('wwwRedirect;' . $k . '=' . $v); |
|
1970 | + } |
|
1864 | 1971 | } |
1865 | 1972 | } |
1866 | 1973 | |
1867 | 1974 | // #3 is just a check for SSL... |
1868 | - if (strtr($detected_url, array('https://' => 'http://')) == $boardurl) |
|
1869 | - $do_fix = true; |
|
1975 | + if (strtr($detected_url, array('https://' => 'http://')) == $boardurl) { |
|
1976 | + $do_fix = true; |
|
1977 | + } |
|
1870 | 1978 | |
1871 | 1979 | // Okay, #4 - perhaps it's an IP address? We're gonna want to use that one, then. (assuming it's the IP or something...) |
1872 | 1980 | if (!empty($do_fix) || preg_match('~^http[s]?://(?:[\d\.:]+|\[[\d:]+\](?::\d+)?)(?:$|/)~', $detected_url) == 1) |
@@ -1900,8 +2008,9 @@ discard block |
||
1900 | 2008 | $board_info['moderators'][$k]['link'] = strtr($dummy['link'], array('"' . $oldurl => '"' . $boardurl)); |
1901 | 2009 | } |
1902 | 2010 | } |
1903 | - foreach ($context['linktree'] as $k => $dummy) |
|
1904 | - $context['linktree'][$k]['url'] = strtr($dummy['url'], array($oldurl => $boardurl)); |
|
2011 | + foreach ($context['linktree'] as $k => $dummy) { |
|
2012 | + $context['linktree'][$k]['url'] = strtr($dummy['url'], array($oldurl => $boardurl)); |
|
2013 | + } |
|
1905 | 2014 | } |
1906 | 2015 | } |
1907 | 2016 | // Set up the contextual user array. |
@@ -1920,16 +2029,16 @@ discard block |
||
1920 | 2029 | 'email' => $user_info['email'], |
1921 | 2030 | 'ignoreusers' => $user_info['ignoreusers'], |
1922 | 2031 | ); |
1923 | - if (!$context['user']['is_guest']) |
|
1924 | - $context['user']['name'] = $user_info['name']; |
|
1925 | - elseif ($context['user']['is_guest'] && !empty($txt['guest_title'])) |
|
1926 | - $context['user']['name'] = $txt['guest_title']; |
|
2032 | + if (!$context['user']['is_guest']) { |
|
2033 | + $context['user']['name'] = $user_info['name']; |
|
2034 | + } elseif ($context['user']['is_guest'] && !empty($txt['guest_title'])) { |
|
2035 | + $context['user']['name'] = $txt['guest_title']; |
|
2036 | + } |
|
1927 | 2037 | |
1928 | 2038 | // Determine the current smiley set. |
1929 | 2039 | $user_info['smiley_set'] = (!in_array($user_info['smiley_set'], explode(',', $modSettings['smiley_sets_known'])) && $user_info['smiley_set'] != 'none') || empty($modSettings['smiley_sets_enable']) ? (!empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default']) : $user_info['smiley_set']; |
1930 | 2040 | $context['user']['smiley_set'] = $user_info['smiley_set']; |
1931 | - } |
|
1932 | - else |
|
2041 | + } else |
|
1933 | 2042 | { |
1934 | 2043 | $context['user'] = array( |
1935 | 2044 | 'id' => -1, |
@@ -1945,18 +2054,24 @@ discard block |
||
1945 | 2054 | } |
1946 | 2055 | |
1947 | 2056 | // Some basic information... |
1948 | - if (!isset($context['html_headers'])) |
|
1949 | - $context['html_headers'] = ''; |
|
1950 | - if (!isset($context['javascript_files'])) |
|
1951 | - $context['javascript_files'] = array(); |
|
1952 | - if (!isset($context['css_files'])) |
|
1953 | - $context['css_files'] = array(); |
|
1954 | - if (!isset($context['css_header'])) |
|
1955 | - $context['css_header'] = array(); |
|
1956 | - if (!isset($context['javascript_inline'])) |
|
1957 | - $context['javascript_inline'] = array('standard' => array(), 'defer' => array()); |
|
1958 | - if (!isset($context['javascript_vars'])) |
|
1959 | - $context['javascript_vars'] = array(); |
|
2057 | + if (!isset($context['html_headers'])) { |
|
2058 | + $context['html_headers'] = ''; |
|
2059 | + } |
|
2060 | + if (!isset($context['javascript_files'])) { |
|
2061 | + $context['javascript_files'] = array(); |
|
2062 | + } |
|
2063 | + if (!isset($context['css_files'])) { |
|
2064 | + $context['css_files'] = array(); |
|
2065 | + } |
|
2066 | + if (!isset($context['css_header'])) { |
|
2067 | + $context['css_header'] = array(); |
|
2068 | + } |
|
2069 | + if (!isset($context['javascript_inline'])) { |
|
2070 | + $context['javascript_inline'] = array('standard' => array(), 'defer' => array()); |
|
2071 | + } |
|
2072 | + if (!isset($context['javascript_vars'])) { |
|
2073 | + $context['javascript_vars'] = array(); |
|
2074 | + } |
|
1960 | 2075 | |
1961 | 2076 | $context['login_url'] = (!empty($modSettings['force_ssl']) && $modSettings['force_ssl'] < 2 ? strtr($scripturl, array('http://' => 'https://')) : $scripturl) . '?action=login2'; |
1962 | 2077 | $context['menu_separator'] = !empty($settings['use_image_buttons']) ? ' ' : ' | '; |
@@ -1968,8 +2083,9 @@ discard block |
||
1968 | 2083 | $context['current_action'] = isset($_REQUEST['action']) ? $smcFunc['htmlspecialchars']($_REQUEST['action']) : null; |
1969 | 2084 | $context['current_subaction'] = isset($_REQUEST['sa']) ? $_REQUEST['sa'] : null; |
1970 | 2085 | $context['can_register'] = empty($modSettings['registration_method']) || $modSettings['registration_method'] != 3; |
1971 | - if (isset($modSettings['load_average'])) |
|
1972 | - $context['load_average'] = $modSettings['load_average']; |
|
2086 | + if (isset($modSettings['load_average'])) { |
|
2087 | + $context['load_average'] = $modSettings['load_average']; |
|
2088 | + } |
|
1973 | 2089 | |
1974 | 2090 | // Detect the browser. This is separated out because it's also used in attachment downloads |
1975 | 2091 | detectBrowser(); |
@@ -1983,8 +2099,9 @@ discard block |
||
1983 | 2099 | // This allows sticking some HTML on the page output - useful for controls. |
1984 | 2100 | $context['insert_after_template'] = ''; |
1985 | 2101 | |
1986 | - if (!isset($txt)) |
|
1987 | - $txt = array(); |
|
2102 | + if (!isset($txt)) { |
|
2103 | + $txt = array(); |
|
2104 | + } |
|
1988 | 2105 | |
1989 | 2106 | $simpleActions = array( |
1990 | 2107 | 'findmember', |
@@ -2030,9 +2147,10 @@ discard block |
||
2030 | 2147 | |
2031 | 2148 | // See if theres any extra param to check. |
2032 | 2149 | $requiresXML = false; |
2033 | - foreach ($extraParams as $key => $extra) |
|
2034 | - if (isset($_REQUEST[$extra])) |
|
2150 | + foreach ($extraParams as $key => $extra) { |
|
2151 | + if (isset($_REQUEST[$extra])) |
|
2035 | 2152 | $requiresXML = true; |
2153 | + } |
|
2036 | 2154 | |
2037 | 2155 | // Output is fully XML, so no need for the index template. |
2038 | 2156 | if (isset($_REQUEST['xml']) && (in_array($context['current_action'], $xmlActions) || $requiresXML)) |
@@ -2047,37 +2165,39 @@ discard block |
||
2047 | 2165 | { |
2048 | 2166 | loadLanguage('index+Modifications'); |
2049 | 2167 | $context['template_layers'] = array(); |
2050 | - } |
|
2051 | - |
|
2052 | - else |
|
2168 | + } else |
|
2053 | 2169 | { |
2054 | 2170 | // Custom templates to load, or just default? |
2055 | - if (isset($settings['theme_templates'])) |
|
2056 | - $templates = explode(',', $settings['theme_templates']); |
|
2057 | - else |
|
2058 | - $templates = array('index'); |
|
2171 | + if (isset($settings['theme_templates'])) { |
|
2172 | + $templates = explode(',', $settings['theme_templates']); |
|
2173 | + } else { |
|
2174 | + $templates = array('index'); |
|
2175 | + } |
|
2059 | 2176 | |
2060 | 2177 | // Load each template... |
2061 | - foreach ($templates as $template) |
|
2062 | - loadTemplate($template); |
|
2178 | + foreach ($templates as $template) { |
|
2179 | + loadTemplate($template); |
|
2180 | + } |
|
2063 | 2181 | |
2064 | 2182 | // ...and attempt to load their associated language files. |
2065 | 2183 | $required_files = implode('+', array_merge($templates, array('Modifications'))); |
2066 | 2184 | loadLanguage($required_files, '', false); |
2067 | 2185 | |
2068 | 2186 | // Custom template layers? |
2069 | - if (isset($settings['theme_layers'])) |
|
2070 | - $context['template_layers'] = explode(',', $settings['theme_layers']); |
|
2071 | - else |
|
2072 | - $context['template_layers'] = array('html', 'body'); |
|
2187 | + if (isset($settings['theme_layers'])) { |
|
2188 | + $context['template_layers'] = explode(',', $settings['theme_layers']); |
|
2189 | + } else { |
|
2190 | + $context['template_layers'] = array('html', 'body'); |
|
2191 | + } |
|
2073 | 2192 | } |
2074 | 2193 | |
2075 | 2194 | // Initialize the theme. |
2076 | 2195 | loadSubTemplate('init', 'ignore'); |
2077 | 2196 | |
2078 | 2197 | // Allow overriding the board wide time/number formats. |
2079 | - if (empty($user_settings['time_format']) && !empty($txt['time_format'])) |
|
2080 | - $user_info['time_format'] = $txt['time_format']; |
|
2198 | + if (empty($user_settings['time_format']) && !empty($txt['time_format'])) { |
|
2199 | + $user_info['time_format'] = $txt['time_format']; |
|
2200 | + } |
|
2081 | 2201 | |
2082 | 2202 | // Set the character set from the template. |
2083 | 2203 | $context['character_set'] = empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']; |
@@ -2085,12 +2205,14 @@ discard block |
||
2085 | 2205 | $context['right_to_left'] = !empty($txt['lang_rtl']); |
2086 | 2206 | |
2087 | 2207 | // Guests may still need a name. |
2088 | - if ($context['user']['is_guest'] && empty($context['user']['name'])) |
|
2089 | - $context['user']['name'] = $txt['guest_title']; |
|
2208 | + if ($context['user']['is_guest'] && empty($context['user']['name'])) { |
|
2209 | + $context['user']['name'] = $txt['guest_title']; |
|
2210 | + } |
|
2090 | 2211 | |
2091 | 2212 | // Any theme-related strings that need to be loaded? |
2092 | - if (!empty($settings['require_theme_strings'])) |
|
2093 | - loadLanguage('ThemeStrings', '', false); |
|
2213 | + if (!empty($settings['require_theme_strings'])) { |
|
2214 | + loadLanguage('ThemeStrings', '', false); |
|
2215 | + } |
|
2094 | 2216 | |
2095 | 2217 | // Make a special URL for the language. |
2096 | 2218 | $settings['lang_images_url'] = $settings['images_url'] . '/' . (!empty($txt['image_lang']) ? $txt['image_lang'] : $user_info['language']); |
@@ -2101,8 +2223,9 @@ discard block |
||
2101 | 2223 | // Here is my luvly Responsive CSS |
2102 | 2224 | loadCSSFile('responsive.css', array('force_current' => false, 'validate' => true, 'minimize' => true), 'smf_responsive'); |
2103 | 2225 | |
2104 | - if ($context['right_to_left']) |
|
2105 | - loadCSSFile('rtl.css', array(), 'smf_rtl'); |
|
2226 | + if ($context['right_to_left']) { |
|
2227 | + loadCSSFile('rtl.css', array(), 'smf_rtl'); |
|
2228 | + } |
|
2106 | 2229 | |
2107 | 2230 | // We allow theme variants, because we're cool. |
2108 | 2231 | $context['theme_variant'] = ''; |
@@ -2110,14 +2233,17 @@ discard block |
||
2110 | 2233 | if (!empty($settings['theme_variants'])) |
2111 | 2234 | { |
2112 | 2235 | // Overriding - for previews and that ilk. |
2113 | - if (!empty($_REQUEST['variant'])) |
|
2114 | - $_SESSION['id_variant'] = $_REQUEST['variant']; |
|
2236 | + if (!empty($_REQUEST['variant'])) { |
|
2237 | + $_SESSION['id_variant'] = $_REQUEST['variant']; |
|
2238 | + } |
|
2115 | 2239 | // User selection? |
2116 | - if (empty($settings['disable_user_variant']) || allowedTo('admin_forum')) |
|
2117 | - $context['theme_variant'] = !empty($_SESSION['id_variant']) ? $_SESSION['id_variant'] : (!empty($options['theme_variant']) ? $options['theme_variant'] : ''); |
|
2240 | + if (empty($settings['disable_user_variant']) || allowedTo('admin_forum')) { |
|
2241 | + $context['theme_variant'] = !empty($_SESSION['id_variant']) ? $_SESSION['id_variant'] : (!empty($options['theme_variant']) ? $options['theme_variant'] : ''); |
|
2242 | + } |
|
2118 | 2243 | // If not a user variant, select the default. |
2119 | - if ($context['theme_variant'] == '' || !in_array($context['theme_variant'], $settings['theme_variants'])) |
|
2120 | - $context['theme_variant'] = !empty($settings['default_variant']) && in_array($settings['default_variant'], $settings['theme_variants']) ? $settings['default_variant'] : $settings['theme_variants'][0]; |
|
2244 | + if ($context['theme_variant'] == '' || !in_array($context['theme_variant'], $settings['theme_variants'])) { |
|
2245 | + $context['theme_variant'] = !empty($settings['default_variant']) && in_array($settings['default_variant'], $settings['theme_variants']) ? $settings['default_variant'] : $settings['theme_variants'][0]; |
|
2246 | + } |
|
2121 | 2247 | |
2122 | 2248 | // Do this to keep things easier in the templates. |
2123 | 2249 | $context['theme_variant'] = '_' . $context['theme_variant']; |
@@ -2126,20 +2252,23 @@ discard block |
||
2126 | 2252 | if (!empty($context['theme_variant'])) |
2127 | 2253 | { |
2128 | 2254 | loadCSSFile('index' . $context['theme_variant'] . '.css', array(), 'smf_index' . $context['theme_variant']); |
2129 | - if ($context['right_to_left']) |
|
2130 | - loadCSSFile('rtl' . $context['theme_variant'] . '.css', array(), 'smf_rtl' . $context['theme_variant']); |
|
2255 | + if ($context['right_to_left']) { |
|
2256 | + loadCSSFile('rtl' . $context['theme_variant'] . '.css', array(), 'smf_rtl' . $context['theme_variant']); |
|
2257 | + } |
|
2131 | 2258 | } |
2132 | 2259 | } |
2133 | 2260 | |
2134 | 2261 | // Let's be compatible with old themes! |
2135 | - if (!function_exists('template_html_above') && in_array('html', $context['template_layers'])) |
|
2136 | - $context['template_layers'] = array('main'); |
|
2262 | + if (!function_exists('template_html_above') && in_array('html', $context['template_layers'])) { |
|
2263 | + $context['template_layers'] = array('main'); |
|
2264 | + } |
|
2137 | 2265 | |
2138 | 2266 | $context['tabindex'] = 1; |
2139 | 2267 | |
2140 | 2268 | // Compatibility. |
2141 | - if (!isset($settings['theme_version'])) |
|
2142 | - $modSettings['memberCount'] = $modSettings['totalMembers']; |
|
2269 | + if (!isset($settings['theme_version'])) { |
|
2270 | + $modSettings['memberCount'] = $modSettings['totalMembers']; |
|
2271 | + } |
|
2143 | 2272 | |
2144 | 2273 | // Default JS variables for use in every theme |
2145 | 2274 | $context['javascript_vars'] = array( |
@@ -2158,18 +2287,18 @@ discard block |
||
2158 | 2287 | ); |
2159 | 2288 | |
2160 | 2289 | // Add the JQuery library to the list of files to load. |
2161 | - if (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'cdn') |
|
2162 | - loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery'); |
|
2163 | - |
|
2164 | - elseif (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'local') |
|
2165 | - loadJavaScriptFile('jquery-3.1.1.min.js', array('seed' => false), 'smf_jquery'); |
|
2166 | - |
|
2167 | - elseif (isset($modSettings['jquery_source'], $modSettings['jquery_custom']) && $modSettings['jquery_source'] == 'custom') |
|
2168 | - loadJavaScriptFile($modSettings['jquery_custom'], array('external' => true), 'smf_jquery'); |
|
2290 | + if (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'cdn') { |
|
2291 | + loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery'); |
|
2292 | + } elseif (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'local') { |
|
2293 | + loadJavaScriptFile('jquery-3.1.1.min.js', array('seed' => false), 'smf_jquery'); |
|
2294 | + } elseif (isset($modSettings['jquery_source'], $modSettings['jquery_custom']) && $modSettings['jquery_source'] == 'custom') { |
|
2295 | + loadJavaScriptFile($modSettings['jquery_custom'], array('external' => true), 'smf_jquery'); |
|
2296 | + } |
|
2169 | 2297 | |
2170 | 2298 | // Auto loading? template_javascript() will take care of the local half of this. |
2171 | - else |
|
2172 | - loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery'); |
|
2299 | + else { |
|
2300 | + loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery'); |
|
2301 | + } |
|
2173 | 2302 | |
2174 | 2303 | // Queue our JQuery plugins! |
2175 | 2304 | loadJavaScriptFile('smf_jquery_plugins.js', array('minimize' => true), 'smf_jquery_plugins'); |
@@ -2192,12 +2321,12 @@ discard block |
||
2192 | 2321 | require_once($sourcedir . '/ScheduledTasks.php'); |
2193 | 2322 | |
2194 | 2323 | // What to do, what to do?! |
2195 | - if (empty($modSettings['next_task_time']) || $modSettings['next_task_time'] < time()) |
|
2196 | - AutoTask(); |
|
2197 | - else |
|
2198 | - ReduceMailQueue(); |
|
2199 | - } |
|
2200 | - else |
|
2324 | + if (empty($modSettings['next_task_time']) || $modSettings['next_task_time'] < time()) { |
|
2325 | + AutoTask(); |
|
2326 | + } else { |
|
2327 | + ReduceMailQueue(); |
|
2328 | + } |
|
2329 | + } else |
|
2201 | 2330 | { |
2202 | 2331 | $type = empty($modSettings['next_task_time']) || $modSettings['next_task_time'] < time() ? 'task' : 'mailq'; |
2203 | 2332 | $ts = $type == 'mailq' ? $modSettings['mail_next_send'] : $modSettings['next_task_time']; |
@@ -2248,8 +2377,9 @@ discard block |
||
2248 | 2377 | foreach ($theme_includes as $include) |
2249 | 2378 | { |
2250 | 2379 | $include = strtr(trim($include), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir'])); |
2251 | - if (file_exists($include)) |
|
2252 | - require_once($include); |
|
2380 | + if (file_exists($include)) { |
|
2381 | + require_once($include); |
|
2382 | + } |
|
2253 | 2383 | } |
2254 | 2384 | } |
2255 | 2385 | |
@@ -2279,16 +2409,19 @@ discard block |
||
2279 | 2409 | // Do any style sheets first, cause we're easy with those. |
2280 | 2410 | if (!empty($style_sheets)) |
2281 | 2411 | { |
2282 | - if (!is_array($style_sheets)) |
|
2283 | - $style_sheets = array($style_sheets); |
|
2412 | + if (!is_array($style_sheets)) { |
|
2413 | + $style_sheets = array($style_sheets); |
|
2414 | + } |
|
2284 | 2415 | |
2285 | - foreach ($style_sheets as $sheet) |
|
2286 | - loadCSSFile($sheet . '.css', array(), $sheet); |
|
2416 | + foreach ($style_sheets as $sheet) { |
|
2417 | + loadCSSFile($sheet . '.css', array(), $sheet); |
|
2418 | + } |
|
2287 | 2419 | } |
2288 | 2420 | |
2289 | 2421 | // No template to load? |
2290 | - if ($template_name === false) |
|
2291 | - return true; |
|
2422 | + if ($template_name === false) { |
|
2423 | + return true; |
|
2424 | + } |
|
2292 | 2425 | |
2293 | 2426 | $loaded = false; |
2294 | 2427 | foreach ($settings['template_dirs'] as $template_dir) |
@@ -2303,12 +2436,14 @@ discard block |
||
2303 | 2436 | |
2304 | 2437 | if ($loaded) |
2305 | 2438 | { |
2306 | - if ($db_show_debug === true) |
|
2307 | - $context['debug']['templates'][] = $template_name . ' (' . basename($template_dir) . ')'; |
|
2439 | + if ($db_show_debug === true) { |
|
2440 | + $context['debug']['templates'][] = $template_name . ' (' . basename($template_dir) . ')'; |
|
2441 | + } |
|
2308 | 2442 | |
2309 | 2443 | // If they have specified an initialization function for this template, go ahead and call it now. |
2310 | - if (function_exists('template_' . $template_name . '_init')) |
|
2311 | - call_user_func('template_' . $template_name . '_init'); |
|
2444 | + if (function_exists('template_' . $template_name . '_init')) { |
|
2445 | + call_user_func('template_' . $template_name . '_init'); |
|
2446 | + } |
|
2312 | 2447 | } |
2313 | 2448 | // Hmmm... doesn't exist?! I don't suppose the directory is wrong, is it? |
2314 | 2449 | elseif (!file_exists($settings['default_theme_dir']) && file_exists($boarddir . '/Themes/default')) |
@@ -2328,13 +2463,14 @@ discard block |
||
2328 | 2463 | loadTemplate($template_name); |
2329 | 2464 | } |
2330 | 2465 | // Cause an error otherwise. |
2331 | - elseif ($template_name != 'Errors' && $template_name != 'index' && $fatal) |
|
2332 | - fatal_lang_error('theme_template_error', 'template', array((string) $template_name)); |
|
2333 | - elseif ($fatal) |
|
2334 | - die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load Themes/default/%s.template.php!', (string) $template_name), 'template')); |
|
2335 | - else |
|
2336 | - return false; |
|
2337 | -} |
|
2466 | + elseif ($template_name != 'Errors' && $template_name != 'index' && $fatal) { |
|
2467 | + fatal_lang_error('theme_template_error', 'template', array((string) $template_name)); |
|
2468 | + } elseif ($fatal) { |
|
2469 | + die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load Themes/default/%s.template.php!', (string) $template_name), 'template')); |
|
2470 | + } else { |
|
2471 | + return false; |
|
2472 | + } |
|
2473 | + } |
|
2338 | 2474 | |
2339 | 2475 | /** |
2340 | 2476 | * Load a sub-template. |
@@ -2352,17 +2488,19 @@ discard block |
||
2352 | 2488 | { |
2353 | 2489 | global $context, $txt, $db_show_debug; |
2354 | 2490 | |
2355 | - if ($db_show_debug === true) |
|
2356 | - $context['debug']['sub_templates'][] = $sub_template_name; |
|
2491 | + if ($db_show_debug === true) { |
|
2492 | + $context['debug']['sub_templates'][] = $sub_template_name; |
|
2493 | + } |
|
2357 | 2494 | |
2358 | 2495 | // Figure out what the template function is named. |
2359 | 2496 | $theme_function = 'template_' . $sub_template_name; |
2360 | - if (function_exists($theme_function)) |
|
2361 | - $theme_function(); |
|
2362 | - elseif ($fatal === false) |
|
2363 | - fatal_lang_error('theme_template_error', 'template', array((string) $sub_template_name)); |
|
2364 | - elseif ($fatal !== 'ignore') |
|
2365 | - die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load the %s sub template!', (string) $sub_template_name), 'template')); |
|
2497 | + if (function_exists($theme_function)) { |
|
2498 | + $theme_function(); |
|
2499 | + } elseif ($fatal === false) { |
|
2500 | + fatal_lang_error('theme_template_error', 'template', array((string) $sub_template_name)); |
|
2501 | + } elseif ($fatal !== 'ignore') { |
|
2502 | + die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load the %s sub template!', (string) $sub_template_name), 'template')); |
|
2503 | + } |
|
2366 | 2504 | |
2367 | 2505 | // Are we showing debugging for templates? Just make sure not to do it before the doctype... |
2368 | 2506 | if (allowedTo('admin_forum') && isset($_REQUEST['debug']) && !in_array($sub_template_name, array('init', 'main_below')) && ob_get_length() > 0 && !isset($_REQUEST['xml'])) |
@@ -2399,8 +2537,9 @@ discard block |
||
2399 | 2537 | $params['validate'] = isset($params['validate']) ? $params['validate'] : true; |
2400 | 2538 | |
2401 | 2539 | // If this is an external file, automatically set this to false. |
2402 | - if (!empty($params['external'])) |
|
2403 | - $params['minimize'] = false; |
|
2540 | + if (!empty($params['external'])) { |
|
2541 | + $params['minimize'] = false; |
|
2542 | + } |
|
2404 | 2543 | |
2405 | 2544 | // Account for shorthand like admin.css?alp21 filenames |
2406 | 2545 | $has_seed = strpos($fileName, '.css?'); |
@@ -2417,13 +2556,10 @@ discard block |
||
2417 | 2556 | { |
2418 | 2557 | $fileUrl = $settings['default_theme_url'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']); |
2419 | 2558 | $filePath = $settings['default_theme_dir'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']); |
2559 | + } else { |
|
2560 | + $fileUrl = false; |
|
2420 | 2561 | } |
2421 | - |
|
2422 | - else |
|
2423 | - $fileUrl = false; |
|
2424 | - } |
|
2425 | - |
|
2426 | - else |
|
2562 | + } else |
|
2427 | 2563 | { |
2428 | 2564 | $fileUrl = $settings[$themeRef . '_url'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']); |
2429 | 2565 | $filePath = $settings[$themeRef . '_dir'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']); |
@@ -2438,12 +2574,14 @@ discard block |
||
2438 | 2574 | } |
2439 | 2575 | |
2440 | 2576 | // Add it to the array for use in the template |
2441 | - if (!empty($fileName)) |
|
2442 | - $context['css_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params); |
|
2577 | + if (!empty($fileName)) { |
|
2578 | + $context['css_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params); |
|
2579 | + } |
|
2443 | 2580 | |
2444 | - if (!empty($context['right_to_left']) && !empty($params['rtl'])) |
|
2445 | - loadCSSFile($params['rtl'], array_diff_key($params, array('rtl' => 0))); |
|
2446 | -} |
|
2581 | + if (!empty($context['right_to_left']) && !empty($params['rtl'])) { |
|
2582 | + loadCSSFile($params['rtl'], array_diff_key($params, array('rtl' => 0))); |
|
2583 | + } |
|
2584 | + } |
|
2447 | 2585 | |
2448 | 2586 | /** |
2449 | 2587 | * Add a block of inline css code to be executed later |
@@ -2460,8 +2598,9 @@ discard block |
||
2460 | 2598 | global $context; |
2461 | 2599 | |
2462 | 2600 | // Gotta add something... |
2463 | - if (empty($css)) |
|
2464 | - return false; |
|
2601 | + if (empty($css)) { |
|
2602 | + return false; |
|
2603 | + } |
|
2465 | 2604 | |
2466 | 2605 | $context['css_header'][] = $css; |
2467 | 2606 | } |
@@ -2496,8 +2635,9 @@ discard block |
||
2496 | 2635 | $params['validate'] = isset($params['validate']) ? $params['validate'] : true; |
2497 | 2636 | |
2498 | 2637 | // If this is an external file, automatically set this to false. |
2499 | - if (!empty($params['external'])) |
|
2500 | - $params['minimize'] = false; |
|
2638 | + if (!empty($params['external'])) { |
|
2639 | + $params['minimize'] = false; |
|
2640 | + } |
|
2501 | 2641 | |
2502 | 2642 | // Account for shorthand like admin.js?alp21 filenames |
2503 | 2643 | $has_seed = strpos($fileName, '.js?'); |
@@ -2514,16 +2654,12 @@ discard block |
||
2514 | 2654 | { |
2515 | 2655 | $fileUrl = $settings['default_theme_url'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']); |
2516 | 2656 | $filePath = $settings['default_theme_dir'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']); |
2517 | - } |
|
2518 | - |
|
2519 | - else |
|
2657 | + } else |
|
2520 | 2658 | { |
2521 | 2659 | $fileUrl = false; |
2522 | 2660 | $filePath = false; |
2523 | 2661 | } |
2524 | - } |
|
2525 | - |
|
2526 | - else |
|
2662 | + } else |
|
2527 | 2663 | { |
2528 | 2664 | $fileUrl = $settings[$themeRef . '_url'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']); |
2529 | 2665 | $filePath = $settings[$themeRef . '_dir'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']); |
@@ -2538,9 +2674,10 @@ discard block |
||
2538 | 2674 | } |
2539 | 2675 | |
2540 | 2676 | // Add it to the array for use in the template |
2541 | - if (!empty($fileName)) |
|
2542 | - $context['javascript_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params); |
|
2543 | -} |
|
2677 | + if (!empty($fileName)) { |
|
2678 | + $context['javascript_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params); |
|
2679 | + } |
|
2680 | + } |
|
2544 | 2681 | |
2545 | 2682 | /** |
2546 | 2683 | * Add a Javascript variable for output later (for feeding text strings and similar to JS) |
@@ -2554,9 +2691,10 @@ discard block |
||
2554 | 2691 | { |
2555 | 2692 | global $context; |
2556 | 2693 | |
2557 | - if (!empty($key) && (!empty($value) || $value === '0')) |
|
2558 | - $context['javascript_vars'][$key] = !empty($escape) ? JavaScriptEscape($value) : $value; |
|
2559 | -} |
|
2694 | + if (!empty($key) && (!empty($value) || $value === '0')) { |
|
2695 | + $context['javascript_vars'][$key] = !empty($escape) ? JavaScriptEscape($value) : $value; |
|
2696 | + } |
|
2697 | + } |
|
2560 | 2698 | |
2561 | 2699 | /** |
2562 | 2700 | * Add a block of inline Javascript code to be executed later |
@@ -2573,8 +2711,9 @@ discard block |
||
2573 | 2711 | { |
2574 | 2712 | global $context; |
2575 | 2713 | |
2576 | - if (empty($javascript)) |
|
2577 | - return false; |
|
2714 | + if (empty($javascript)) { |
|
2715 | + return false; |
|
2716 | + } |
|
2578 | 2717 | |
2579 | 2718 | $context['javascript_inline'][($defer === true ? 'defer' : 'standard')][] = $javascript; |
2580 | 2719 | } |
@@ -2595,15 +2734,18 @@ discard block |
||
2595 | 2734 | static $already_loaded = array(); |
2596 | 2735 | |
2597 | 2736 | // Default to the user's language. |
2598 | - if ($lang == '') |
|
2599 | - $lang = isset($user_info['language']) ? $user_info['language'] : $language; |
|
2737 | + if ($lang == '') { |
|
2738 | + $lang = isset($user_info['language']) ? $user_info['language'] : $language; |
|
2739 | + } |
|
2600 | 2740 | |
2601 | 2741 | // Do we want the English version of language file as fallback? |
2602 | - if (empty($modSettings['disable_language_fallback']) && $lang != 'english') |
|
2603 | - loadLanguage($template_name, 'english', false); |
|
2742 | + if (empty($modSettings['disable_language_fallback']) && $lang != 'english') { |
|
2743 | + loadLanguage($template_name, 'english', false); |
|
2744 | + } |
|
2604 | 2745 | |
2605 | - if (!$force_reload && isset($already_loaded[$template_name]) && $already_loaded[$template_name] == $lang) |
|
2606 | - return $lang; |
|
2746 | + if (!$force_reload && isset($already_loaded[$template_name]) && $already_loaded[$template_name] == $lang) { |
|
2747 | + return $lang; |
|
2748 | + } |
|
2607 | 2749 | |
2608 | 2750 | // Make sure we have $settings - if not we're in trouble and need to find it! |
2609 | 2751 | if (empty($settings['default_theme_dir'])) |
@@ -2614,8 +2756,9 @@ discard block |
||
2614 | 2756 | |
2615 | 2757 | // What theme are we in? |
2616 | 2758 | $theme_name = basename($settings['theme_url']); |
2617 | - if (empty($theme_name)) |
|
2618 | - $theme_name = 'unknown'; |
|
2759 | + if (empty($theme_name)) { |
|
2760 | + $theme_name = 'unknown'; |
|
2761 | + } |
|
2619 | 2762 | |
2620 | 2763 | // For each file open it up and write it out! |
2621 | 2764 | foreach (explode('+', $template_name) as $template) |
@@ -2657,8 +2800,9 @@ discard block |
||
2657 | 2800 | $found = true; |
2658 | 2801 | |
2659 | 2802 | // setlocale is required for basename() & pathinfo() to work properly on the selected language |
2660 | - if (!empty($txt['lang_locale']) && !empty($modSettings['global_character_set'])) |
|
2661 | - setlocale(LC_CTYPE, $txt['lang_locale'] . '.' . $modSettings['global_character_set']); |
|
2803 | + if (!empty($txt['lang_locale']) && !empty($modSettings['global_character_set'])) { |
|
2804 | + setlocale(LC_CTYPE, $txt['lang_locale'] . '.' . $modSettings['global_character_set']); |
|
2805 | + } |
|
2662 | 2806 | |
2663 | 2807 | break; |
2664 | 2808 | } |
@@ -2698,8 +2842,9 @@ discard block |
||
2698 | 2842 | } |
2699 | 2843 | |
2700 | 2844 | // Keep track of what we're up to soldier. |
2701 | - if ($db_show_debug === true) |
|
2702 | - $context['debug']['language_files'][] = $template_name . '.' . $lang . ' (' . $theme_name . ')'; |
|
2845 | + if ($db_show_debug === true) { |
|
2846 | + $context['debug']['language_files'][] = $template_name . '.' . $lang . ' (' . $theme_name . ')'; |
|
2847 | + } |
|
2703 | 2848 | |
2704 | 2849 | // Remember what we have loaded, and in which language. |
2705 | 2850 | $already_loaded[$template_name] = $lang; |
@@ -2745,8 +2890,9 @@ discard block |
||
2745 | 2890 | ) |
2746 | 2891 | ); |
2747 | 2892 | // In the EXTREMELY unlikely event this happens, give an error message. |
2748 | - if ($smcFunc['db_num_rows']($result) == 0) |
|
2749 | - fatal_lang_error('parent_not_found', 'critical'); |
|
2893 | + if ($smcFunc['db_num_rows']($result) == 0) { |
|
2894 | + fatal_lang_error('parent_not_found', 'critical'); |
|
2895 | + } |
|
2750 | 2896 | while ($row = $smcFunc['db_fetch_assoc']($result)) |
2751 | 2897 | { |
2752 | 2898 | if (!isset($boards[$row['id_board']])) |
@@ -2763,8 +2909,8 @@ discard block |
||
2763 | 2909 | ); |
2764 | 2910 | } |
2765 | 2911 | // If a moderator exists for this board, add that moderator for all children too. |
2766 | - if (!empty($row['id_moderator'])) |
|
2767 | - foreach ($boards as $id => $dummy) |
|
2912 | + if (!empty($row['id_moderator'])) { |
|
2913 | + foreach ($boards as $id => $dummy) |
|
2768 | 2914 | { |
2769 | 2915 | $boards[$id]['moderators'][$row['id_moderator']] = array( |
2770 | 2916 | 'id' => $row['id_moderator'], |
@@ -2772,11 +2918,12 @@ discard block |
||
2772 | 2918 | 'href' => $scripturl . '?action=profile;u=' . $row['id_moderator'], |
2773 | 2919 | 'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_moderator'] . '">' . $row['real_name'] . '</a>' |
2774 | 2920 | ); |
2921 | + } |
|
2775 | 2922 | } |
2776 | 2923 | |
2777 | 2924 | // If a moderator group exists for this board, add that moderator group for all children too |
2778 | - if (!empty($row['id_moderator_group'])) |
|
2779 | - foreach ($boards as $id => $dummy) |
|
2925 | + if (!empty($row['id_moderator_group'])) { |
|
2926 | + foreach ($boards as $id => $dummy) |
|
2780 | 2927 | { |
2781 | 2928 | $boards[$id]['moderator_groups'][$row['id_moderator_group']] = array( |
2782 | 2929 | 'id' => $row['id_moderator_group'], |
@@ -2784,6 +2931,7 @@ discard block |
||
2784 | 2931 | 'href' => $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'], |
2785 | 2932 | 'link' => '<a href="' . $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'] . '">' . $row['group_name'] . '</a>' |
2786 | 2933 | ); |
2934 | + } |
|
2787 | 2935 | } |
2788 | 2936 | } |
2789 | 2937 | $smcFunc['db_free_result']($result); |
@@ -2810,23 +2958,27 @@ discard block |
||
2810 | 2958 | if (!$use_cache || ($context['languages'] = cache_get_data('known_languages', !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] < 1 ? 86400 : 3600)) == null) |
2811 | 2959 | { |
2812 | 2960 | // If we don't have our ucwords function defined yet, let's load the settings data. |
2813 | - if (empty($smcFunc['ucwords'])) |
|
2814 | - reloadSettings(); |
|
2961 | + if (empty($smcFunc['ucwords'])) { |
|
2962 | + reloadSettings(); |
|
2963 | + } |
|
2815 | 2964 | |
2816 | 2965 | // If we don't have our theme information yet, let's get it. |
2817 | - if (empty($settings['default_theme_dir'])) |
|
2818 | - loadTheme(0, false); |
|
2966 | + if (empty($settings['default_theme_dir'])) { |
|
2967 | + loadTheme(0, false); |
|
2968 | + } |
|
2819 | 2969 | |
2820 | 2970 | // Default language directories to try. |
2821 | 2971 | $language_directories = array( |
2822 | 2972 | $settings['default_theme_dir'] . '/languages', |
2823 | 2973 | ); |
2824 | - if (!empty($settings['actual_theme_dir']) && $settings['actual_theme_dir'] != $settings['default_theme_dir']) |
|
2825 | - $language_directories[] = $settings['actual_theme_dir'] . '/languages'; |
|
2974 | + if (!empty($settings['actual_theme_dir']) && $settings['actual_theme_dir'] != $settings['default_theme_dir']) { |
|
2975 | + $language_directories[] = $settings['actual_theme_dir'] . '/languages'; |
|
2976 | + } |
|
2826 | 2977 | |
2827 | 2978 | // We possibly have a base theme directory. |
2828 | - if (!empty($settings['base_theme_dir'])) |
|
2829 | - $language_directories[] = $settings['base_theme_dir'] . '/languages'; |
|
2979 | + if (!empty($settings['base_theme_dir'])) { |
|
2980 | + $language_directories[] = $settings['base_theme_dir'] . '/languages'; |
|
2981 | + } |
|
2830 | 2982 | |
2831 | 2983 | // Remove any duplicates. |
2832 | 2984 | $language_directories = array_unique($language_directories); |
@@ -2840,20 +2992,21 @@ discard block |
||
2840 | 2992 | foreach ($language_directories as $language_dir) |
2841 | 2993 | { |
2842 | 2994 | // Can't look in here... doesn't exist! |
2843 | - if (!file_exists($language_dir)) |
|
2844 | - continue; |
|
2995 | + if (!file_exists($language_dir)) { |
|
2996 | + continue; |
|
2997 | + } |
|
2845 | 2998 | |
2846 | 2999 | $dir = dir($language_dir); |
2847 | 3000 | while ($entry = $dir->read()) |
2848 | 3001 | { |
2849 | 3002 | // Look for the index language file... For good measure skip any "index.language-utf8.php" files |
2850 | - if (!preg_match('~^index\.(.+[^-utf8])\.php$~', $entry, $matches)) |
|
2851 | - continue; |
|
2852 | - |
|
2853 | - if (!empty($langList) && !empty($langList[$matches[1]])) |
|
2854 | - $langName = $langList[$matches[1]]; |
|
3003 | + if (!preg_match('~^index\.(.+[^-utf8])\.php$~', $entry, $matches)) { |
|
3004 | + continue; |
|
3005 | + } |
|
2855 | 3006 | |
2856 | - else |
|
3007 | + if (!empty($langList) && !empty($langList[$matches[1]])) { |
|
3008 | + $langName = $langList[$matches[1]]; |
|
3009 | + } else |
|
2857 | 3010 | { |
2858 | 3011 | $langName = $smcFunc['ucwords'](strtr($matches[1], array('_' => ' '))); |
2859 | 3012 | |
@@ -2894,12 +3047,14 @@ discard block |
||
2894 | 3047 | } |
2895 | 3048 | |
2896 | 3049 | // Do we need to store the lang list? |
2897 | - if (empty($langList)) |
|
2898 | - updateSettings(array('langList' => $smcFunc['json_encode']($catchLang))); |
|
3050 | + if (empty($langList)) { |
|
3051 | + updateSettings(array('langList' => $smcFunc['json_encode']($catchLang))); |
|
3052 | + } |
|
2899 | 3053 | |
2900 | 3054 | // Let's cash in on this deal. |
2901 | - if (!empty($modSettings['cache_enable'])) |
|
2902 | - cache_put_data('known_languages', $context['languages'], !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] < 1 ? 86400 : 3600); |
|
3055 | + if (!empty($modSettings['cache_enable'])) { |
|
3056 | + cache_put_data('known_languages', $context['languages'], !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] < 1 ? 86400 : 3600); |
|
3057 | + } |
|
2903 | 3058 | } |
2904 | 3059 | |
2905 | 3060 | return $context['languages']; |
@@ -2922,8 +3077,9 @@ discard block |
||
2922 | 3077 | global $modSettings, $options, $txt; |
2923 | 3078 | static $censor_vulgar = null, $censor_proper; |
2924 | 3079 | |
2925 | - if ((!empty($options['show_no_censored']) && !empty($modSettings['allow_no_censored']) && !$force) || empty($modSettings['censor_vulgar']) || trim($text) === '') |
|
2926 | - return $text; |
|
3080 | + if ((!empty($options['show_no_censored']) && !empty($modSettings['allow_no_censored']) && !$force) || empty($modSettings['censor_vulgar']) || trim($text) === '') { |
|
3081 | + return $text; |
|
3082 | + } |
|
2927 | 3083 | |
2928 | 3084 | // If they haven't yet been loaded, load them. |
2929 | 3085 | if ($censor_vulgar == null) |
@@ -2951,9 +3107,9 @@ discard block |
||
2951 | 3107 | { |
2952 | 3108 | $func = !empty($modSettings['censorIgnoreCase']) ? 'str_ireplace' : 'str_replace'; |
2953 | 3109 | $text = $func($censor_vulgar, $censor_proper, $text); |
3110 | + } else { |
|
3111 | + $text = preg_replace($censor_vulgar, $censor_proper, $text); |
|
2954 | 3112 | } |
2955 | - else |
|
2956 | - $text = preg_replace($censor_vulgar, $censor_proper, $text); |
|
2957 | 3113 | |
2958 | 3114 | return $text; |
2959 | 3115 | } |
@@ -2979,38 +3135,42 @@ discard block |
||
2979 | 3135 | @ini_set('track_errors', '1'); |
2980 | 3136 | |
2981 | 3137 | // Don't include the file more than once, if $once is true. |
2982 | - if ($once && in_array($filename, $templates)) |
|
2983 | - return; |
|
3138 | + if ($once && in_array($filename, $templates)) { |
|
3139 | + return; |
|
3140 | + } |
|
2984 | 3141 | // Add this file to the include list, whether $once is true or not. |
2985 | - else |
|
2986 | - $templates[] = $filename; |
|
3142 | + else { |
|
3143 | + $templates[] = $filename; |
|
3144 | + } |
|
2987 | 3145 | |
2988 | 3146 | // Are we going to use eval? |
2989 | 3147 | if (empty($modSettings['disableTemplateEval'])) |
2990 | 3148 | { |
2991 | 3149 | $file_found = file_exists($filename) && eval('?' . '>' . rtrim(file_get_contents($filename))) !== false; |
2992 | 3150 | $settings['current_include_filename'] = $filename; |
2993 | - } |
|
2994 | - else |
|
3151 | + } else |
|
2995 | 3152 | { |
2996 | 3153 | $file_found = file_exists($filename); |
2997 | 3154 | |
2998 | - if ($once && $file_found) |
|
2999 | - require_once($filename); |
|
3000 | - elseif ($file_found) |
|
3001 | - require($filename); |
|
3155 | + if ($once && $file_found) { |
|
3156 | + require_once($filename); |
|
3157 | + } elseif ($file_found) { |
|
3158 | + require($filename); |
|
3159 | + } |
|
3002 | 3160 | } |
3003 | 3161 | |
3004 | 3162 | if ($file_found !== true) |
3005 | 3163 | { |
3006 | 3164 | ob_end_clean(); |
3007 | - if (!empty($modSettings['enableCompressedOutput'])) |
|
3008 | - @ob_start('ob_gzhandler'); |
|
3009 | - else |
|
3010 | - ob_start(); |
|
3165 | + if (!empty($modSettings['enableCompressedOutput'])) { |
|
3166 | + @ob_start('ob_gzhandler'); |
|
3167 | + } else { |
|
3168 | + ob_start(); |
|
3169 | + } |
|
3011 | 3170 | |
3012 | - if (isset($_GET['debug'])) |
|
3013 | - header('Content-Type: application/xhtml+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
|
3171 | + if (isset($_GET['debug'])) { |
|
3172 | + header('Content-Type: application/xhtml+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
|
3173 | + } |
|
3014 | 3174 | |
3015 | 3175 | // Don't cache error pages!! |
3016 | 3176 | header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); |
@@ -3029,12 +3189,13 @@ discard block |
||
3029 | 3189 | echo '<!DOCTYPE html> |
3030 | 3190 | <html', !empty($context['right_to_left']) ? ' dir="rtl"' : '', '> |
3031 | 3191 | <head>'; |
3032 | - if (isset($context['character_set'])) |
|
3033 | - echo ' |
|
3192 | + if (isset($context['character_set'])) { |
|
3193 | + echo ' |
|
3034 | 3194 | <meta charset="', $context['character_set'], '">'; |
3195 | + } |
|
3035 | 3196 | |
3036 | - if (!empty($maintenance) && !allowedTo('admin_forum')) |
|
3037 | - echo ' |
|
3197 | + if (!empty($maintenance) && !allowedTo('admin_forum')) { |
|
3198 | + echo ' |
|
3038 | 3199 | <title>', $mtitle, '</title> |
3039 | 3200 | </head> |
3040 | 3201 | <body> |
@@ -3042,8 +3203,8 @@ discard block |
||
3042 | 3203 | ', $mmessage, ' |
3043 | 3204 | </body> |
3044 | 3205 | </html>'; |
3045 | - elseif (!allowedTo('admin_forum')) |
|
3046 | - echo ' |
|
3206 | + } elseif (!allowedTo('admin_forum')) { |
|
3207 | + echo ' |
|
3047 | 3208 | <title>', $txt['template_parse_error'], '</title> |
3048 | 3209 | </head> |
3049 | 3210 | <body> |
@@ -3051,16 +3212,18 @@ discard block |
||
3051 | 3212 | ', $txt['template_parse_error_message'], ' |
3052 | 3213 | </body> |
3053 | 3214 | </html>'; |
3054 | - else |
|
3215 | + } else |
|
3055 | 3216 | { |
3056 | 3217 | require_once($sourcedir . '/Subs-Package.php'); |
3057 | 3218 | |
3058 | 3219 | $error = fetch_web_data($boardurl . strtr($filename, array($boarddir => '', strtr($boarddir, '\\', '/') => ''))); |
3059 | 3220 | $error_array = error_get_last(); |
3060 | - if (empty($error) && ini_get('track_errors') && !empty($error_array)) |
|
3061 | - $error = $error_array['message']; |
|
3062 | - if (empty($error)) |
|
3063 | - $error = $txt['template_parse_errmsg']; |
|
3221 | + if (empty($error) && ini_get('track_errors') && !empty($error_array)) { |
|
3222 | + $error = $error_array['message']; |
|
3223 | + } |
|
3224 | + if (empty($error)) { |
|
3225 | + $error = $txt['template_parse_errmsg']; |
|
3226 | + } |
|
3064 | 3227 | |
3065 | 3228 | $error = strtr($error, array('<b>' => '<strong>', '</b>' => '</strong>')); |
3066 | 3229 | |
@@ -3071,11 +3234,12 @@ discard block |
||
3071 | 3234 | <h3>', $txt['template_parse_error'], '</h3> |
3072 | 3235 | ', sprintf($txt['template_parse_error_details'], strtr($filename, array($boarddir => '', strtr($boarddir, '\\', '/') => ''))); |
3073 | 3236 | |
3074 | - if (!empty($error)) |
|
3075 | - echo ' |
|
3237 | + if (!empty($error)) { |
|
3238 | + echo ' |
|
3076 | 3239 | <hr> |
3077 | 3240 | |
3078 | 3241 | <div style="margin: 0 20px;"><pre>', strtr(strtr($error, array('<strong>' . $boarddir => '<strong>...', '<strong>' . strtr($boarddir, '\\', '/') => '<strong>...')), '\\', '/'), '</pre></div>'; |
3242 | + } |
|
3079 | 3243 | |
3080 | 3244 | // I know, I know... this is VERY COMPLICATED. Still, it's good. |
3081 | 3245 | if (preg_match('~ <strong>(\d+)</strong><br( /)?' . '>$~i', $error, $match) != 0) |
@@ -3085,10 +3249,11 @@ discard block |
||
3085 | 3249 | $data2 = preg_split('~\<br( /)?\>~', $data2); |
3086 | 3250 | |
3087 | 3251 | // Fix the PHP code stuff... |
3088 | - if (!isBrowser('gecko')) |
|
3089 | - $data2 = str_replace("\t", '<span style="white-space: pre;">' . "\t" . '</span>', $data2); |
|
3090 | - else |
|
3091 | - $data2 = str_replace('<pre style="display: inline;">' . "\t" . '</pre>', "\t", $data2); |
|
3252 | + if (!isBrowser('gecko')) { |
|
3253 | + $data2 = str_replace("\t", '<span style="white-space: pre;">' . "\t" . '</span>', $data2); |
|
3254 | + } else { |
|
3255 | + $data2 = str_replace('<pre style="display: inline;">' . "\t" . '</pre>', "\t", $data2); |
|
3256 | + } |
|
3092 | 3257 | |
3093 | 3258 | // Now we get to work around a bug in PHP where it doesn't escape <br>s! |
3094 | 3259 | $j = -1; |
@@ -3096,8 +3261,9 @@ discard block |
||
3096 | 3261 | { |
3097 | 3262 | $j++; |
3098 | 3263 | |
3099 | - if (substr_count($line, '<br>') == 0) |
|
3100 | - continue; |
|
3264 | + if (substr_count($line, '<br>') == 0) { |
|
3265 | + continue; |
|
3266 | + } |
|
3101 | 3267 | |
3102 | 3268 | $n = substr_count($line, '<br>'); |
3103 | 3269 | for ($i = 0; $i < $n; $i++) |
@@ -3116,38 +3282,42 @@ discard block |
||
3116 | 3282 | // Figure out what the color coding was before... |
3117 | 3283 | $line = max($match[1] - 9, 1); |
3118 | 3284 | $last_line = ''; |
3119 | - for ($line2 = $line - 1; $line2 > 1; $line2--) |
|
3120 | - if (strpos($data2[$line2], '<') !== false) |
|
3285 | + for ($line2 = $line - 1; $line2 > 1; $line2--) { |
|
3286 | + if (strpos($data2[$line2], '<') !== false) |
|
3121 | 3287 | { |
3122 | 3288 | if (preg_match('~(<[^/>]+>)[^<]*$~', $data2[$line2], $color_match) != 0) |
3123 | 3289 | $last_line = $color_match[1]; |
3290 | + } |
|
3124 | 3291 | break; |
3125 | 3292 | } |
3126 | 3293 | |
3127 | 3294 | // Show the relevant lines... |
3128 | 3295 | for ($n = min($match[1] + 4, count($data2) + 1); $line <= $n; $line++) |
3129 | 3296 | { |
3130 | - if ($line == $match[1]) |
|
3131 | - echo '</pre><div style="background-color: #ffb0b5;"><pre style="margin: 0;">'; |
|
3297 | + if ($line == $match[1]) { |
|
3298 | + echo '</pre><div style="background-color: #ffb0b5;"><pre style="margin: 0;">'; |
|
3299 | + } |
|
3132 | 3300 | |
3133 | 3301 | echo '<span style="color: black;">', sprintf('%' . strlen($n) . 's', $line), ':</span> '; |
3134 | - if (isset($data2[$line]) && $data2[$line] != '') |
|
3135 | - echo substr($data2[$line], 0, 2) == '</' ? preg_replace('~^</[^>]+>~', '', $data2[$line]) : $last_line . $data2[$line]; |
|
3302 | + if (isset($data2[$line]) && $data2[$line] != '') { |
|
3303 | + echo substr($data2[$line], 0, 2) == '</' ? preg_replace('~^</[^>]+>~', '', $data2[$line]) : $last_line . $data2[$line]; |
|
3304 | + } |
|
3136 | 3305 | |
3137 | 3306 | if (isset($data2[$line]) && preg_match('~(<[^/>]+>)[^<]*$~', $data2[$line], $color_match) != 0) |
3138 | 3307 | { |
3139 | 3308 | $last_line = $color_match[1]; |
3140 | 3309 | echo '</', substr($last_line, 1, 4), '>'; |
3310 | + } elseif ($last_line != '' && strpos($data2[$line], '<') !== false) { |
|
3311 | + $last_line = ''; |
|
3312 | + } elseif ($last_line != '' && $data2[$line] != '') { |
|
3313 | + echo '</', substr($last_line, 1, 4), '>'; |
|
3141 | 3314 | } |
3142 | - elseif ($last_line != '' && strpos($data2[$line], '<') !== false) |
|
3143 | - $last_line = ''; |
|
3144 | - elseif ($last_line != '' && $data2[$line] != '') |
|
3145 | - echo '</', substr($last_line, 1, 4), '>'; |
|
3146 | 3315 | |
3147 | - if ($line == $match[1]) |
|
3148 | - echo '</pre></div><pre style="margin: 0;">'; |
|
3149 | - else |
|
3150 | - echo "\n"; |
|
3316 | + if ($line == $match[1]) { |
|
3317 | + echo '</pre></div><pre style="margin: 0;">'; |
|
3318 | + } else { |
|
3319 | + echo "\n"; |
|
3320 | + } |
|
3151 | 3321 | } |
3152 | 3322 | |
3153 | 3323 | echo '</pre></div>'; |
@@ -3171,8 +3341,9 @@ discard block |
||
3171 | 3341 | global $db_type, $db_name, $ssi_db_user, $ssi_db_passwd, $sourcedir, $db_prefix, $db_port; |
3172 | 3342 | |
3173 | 3343 | // Figure out what type of database we are using. |
3174 | - if (empty($db_type) || !file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php')) |
|
3175 | - $db_type = 'mysql'; |
|
3344 | + if (empty($db_type) || !file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php')) { |
|
3345 | + $db_type = 'mysql'; |
|
3346 | + } |
|
3176 | 3347 | |
3177 | 3348 | // Load the file for the database. |
3178 | 3349 | require_once($sourcedir . '/Subs-Db-' . $db_type . '.php'); |
@@ -3180,8 +3351,9 @@ discard block |
||
3180 | 3351 | $db_options = array(); |
3181 | 3352 | |
3182 | 3353 | // Add in the port if needed |
3183 | - if (!empty($db_port)) |
|
3184 | - $db_options['port'] = $db_port; |
|
3354 | + if (!empty($db_port)) { |
|
3355 | + $db_options['port'] = $db_port; |
|
3356 | + } |
|
3185 | 3357 | |
3186 | 3358 | // If we are in SSI try them first, but don't worry if it doesn't work, we have the normal username and password we can use. |
3187 | 3359 | if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd)) |
@@ -3200,13 +3372,15 @@ discard block |
||
3200 | 3372 | } |
3201 | 3373 | |
3202 | 3374 | // Safe guard here, if there isn't a valid connection lets put a stop to it. |
3203 | - if (!$db_connection) |
|
3204 | - display_db_error(); |
|
3375 | + if (!$db_connection) { |
|
3376 | + display_db_error(); |
|
3377 | + } |
|
3205 | 3378 | |
3206 | 3379 | // If in SSI mode fix up the prefix. |
3207 | - if (SMF == 'SSI') |
|
3208 | - db_fix_prefix($db_prefix, $db_name); |
|
3209 | -} |
|
3380 | + if (SMF == 'SSI') { |
|
3381 | + db_fix_prefix($db_prefix, $db_name); |
|
3382 | + } |
|
3383 | + } |
|
3210 | 3384 | |
3211 | 3385 | /** |
3212 | 3386 | * Try to load up a supported caching method. This is saved in $cacheAPI if we are not overriding it. |
@@ -3220,10 +3394,11 @@ discard block |
||
3220 | 3394 | global $sourcedir, $cacheAPI, $cache_accelerator; |
3221 | 3395 | |
3222 | 3396 | // Not overriding this and we have a cacheAPI, send it back. |
3223 | - if (empty($overrideCache) && is_object($cacheAPI)) |
|
3224 | - return $cacheAPI; |
|
3225 | - elseif (is_null($cacheAPI)) |
|
3226 | - $cacheAPI = false; |
|
3397 | + if (empty($overrideCache) && is_object($cacheAPI)) { |
|
3398 | + return $cacheAPI; |
|
3399 | + } elseif (is_null($cacheAPI)) { |
|
3400 | + $cacheAPI = false; |
|
3401 | + } |
|
3227 | 3402 | |
3228 | 3403 | // Make sure our class is in session. |
3229 | 3404 | require_once($sourcedir . '/Class-CacheAPI.php'); |
@@ -3244,8 +3419,9 @@ discard block |
||
3244 | 3419 | if (!$testAPI->isSupported()) |
3245 | 3420 | { |
3246 | 3421 | // Can we save ourselves? |
3247 | - if (!empty($fallbackSMF) && is_null($overrideCache) && $tryAccelerator != 'smf') |
|
3248 | - return loadCacheAccelerator(null, false); |
|
3422 | + if (!empty($fallbackSMF) && is_null($overrideCache) && $tryAccelerator != 'smf') { |
|
3423 | + return loadCacheAccelerator(null, false); |
|
3424 | + } |
|
3249 | 3425 | return false; |
3250 | 3426 | } |
3251 | 3427 | |
@@ -3257,9 +3433,9 @@ discard block |
||
3257 | 3433 | { |
3258 | 3434 | $cacheAPI = $testAPI; |
3259 | 3435 | return $cacheAPI; |
3436 | + } else { |
|
3437 | + return $testAPI; |
|
3260 | 3438 | } |
3261 | - else |
|
3262 | - return $testAPI; |
|
3263 | 3439 | } |
3264 | 3440 | } |
3265 | 3441 | |
@@ -3279,8 +3455,9 @@ discard block |
||
3279 | 3455 | |
3280 | 3456 | // @todo Why are we doing this if caching is disabled? |
3281 | 3457 | |
3282 | - if (function_exists('call_integration_hook')) |
|
3283 | - call_integration_hook('pre_cache_quick_get', array(&$key, &$file, &$function, &$params, &$level)); |
|
3458 | + if (function_exists('call_integration_hook')) { |
|
3459 | + call_integration_hook('pre_cache_quick_get', array(&$key, &$file, &$function, &$params, &$level)); |
|
3460 | + } |
|
3284 | 3461 | |
3285 | 3462 | /* Refresh the cache if either: |
3286 | 3463 | 1. Caching is disabled. |
@@ -3294,16 +3471,19 @@ discard block |
||
3294 | 3471 | require_once($sourcedir . '/' . $file); |
3295 | 3472 | $cache_block = call_user_func_array($function, $params); |
3296 | 3473 | |
3297 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= $level) |
|
3298 | - cache_put_data($key, $cache_block, $cache_block['expires'] - time()); |
|
3474 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= $level) { |
|
3475 | + cache_put_data($key, $cache_block, $cache_block['expires'] - time()); |
|
3476 | + } |
|
3299 | 3477 | } |
3300 | 3478 | |
3301 | 3479 | // Some cached data may need a freshening up after retrieval. |
3302 | - if (!empty($cache_block['post_retri_eval'])) |
|
3303 | - eval($cache_block['post_retri_eval']); |
|
3480 | + if (!empty($cache_block['post_retri_eval'])) { |
|
3481 | + eval($cache_block['post_retri_eval']); |
|
3482 | + } |
|
3304 | 3483 | |
3305 | - if (function_exists('call_integration_hook')) |
|
3306 | - call_integration_hook('post_cache_quick_get', array(&$cache_block)); |
|
3484 | + if (function_exists('call_integration_hook')) { |
|
3485 | + call_integration_hook('post_cache_quick_get', array(&$cache_block)); |
|
3486 | + } |
|
3307 | 3487 | |
3308 | 3488 | return $cache_block['data']; |
3309 | 3489 | } |
@@ -3330,8 +3510,9 @@ discard block |
||
3330 | 3510 | global $smcFunc, $cache_enable, $cacheAPI; |
3331 | 3511 | global $cache_hits, $cache_count, $db_show_debug; |
3332 | 3512 | |
3333 | - if (empty($cache_enable) || empty($cacheAPI)) |
|
3334 | - return; |
|
3513 | + if (empty($cache_enable) || empty($cacheAPI)) { |
|
3514 | + return; |
|
3515 | + } |
|
3335 | 3516 | |
3336 | 3517 | $cache_count = isset($cache_count) ? $cache_count + 1 : 1; |
3337 | 3518 | if (isset($db_show_debug) && $db_show_debug === true) |
@@ -3344,12 +3525,14 @@ discard block |
||
3344 | 3525 | $value = $value === null ? null : (isset($smcFunc['json_encode']) ? $smcFunc['json_encode']($value) : json_encode($value)); |
3345 | 3526 | $cacheAPI->putData($key, $value, $ttl); |
3346 | 3527 | |
3347 | - if (function_exists('call_integration_hook')) |
|
3348 | - call_integration_hook('cache_put_data', array(&$key, &$value, &$ttl)); |
|
3528 | + if (function_exists('call_integration_hook')) { |
|
3529 | + call_integration_hook('cache_put_data', array(&$key, &$value, &$ttl)); |
|
3530 | + } |
|
3349 | 3531 | |
3350 | - if (isset($db_show_debug) && $db_show_debug === true) |
|
3351 | - $cache_hits[$cache_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
3352 | -} |
|
3532 | + if (isset($db_show_debug) && $db_show_debug === true) { |
|
3533 | + $cache_hits[$cache_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
3534 | + } |
|
3535 | + } |
|
3353 | 3536 | |
3354 | 3537 | /** |
3355 | 3538 | * Gets the value from the cache specified by key, so long as it is not older than ttl seconds. |
@@ -3365,8 +3548,9 @@ discard block |
||
3365 | 3548 | global $smcFunc, $cache_enable, $cacheAPI; |
3366 | 3549 | global $cache_hits, $cache_count, $cache_misses, $cache_count_misses, $db_show_debug; |
3367 | 3550 | |
3368 | - if (empty($cache_enable) || empty($cacheAPI)) |
|
3369 | - return; |
|
3551 | + if (empty($cache_enable) || empty($cacheAPI)) { |
|
3552 | + return; |
|
3553 | + } |
|
3370 | 3554 | |
3371 | 3555 | $cache_count = isset($cache_count) ? $cache_count + 1 : 1; |
3372 | 3556 | if (isset($db_show_debug) && $db_show_debug === true) |
@@ -3386,16 +3570,18 @@ discard block |
||
3386 | 3570 | |
3387 | 3571 | if (empty($value)) |
3388 | 3572 | { |
3389 | - if (!is_array($cache_misses)) |
|
3390 | - $cache_misses = array(); |
|
3573 | + if (!is_array($cache_misses)) { |
|
3574 | + $cache_misses = array(); |
|
3575 | + } |
|
3391 | 3576 | |
3392 | 3577 | $cache_count_misses = isset($cache_count_misses) ? $cache_count_misses + 1 : 1; |
3393 | 3578 | $cache_misses[$cache_count_misses] = array('k' => $original_key, 'd' => 'get'); |
3394 | 3579 | } |
3395 | 3580 | } |
3396 | 3581 | |
3397 | - if (function_exists('call_integration_hook') && isset($value)) |
|
3398 | - call_integration_hook('cache_get_data', array(&$key, &$ttl, &$value)); |
|
3582 | + if (function_exists('call_integration_hook') && isset($value)) { |
|
3583 | + call_integration_hook('cache_get_data', array(&$key, &$ttl, &$value)); |
|
3584 | + } |
|
3399 | 3585 | |
3400 | 3586 | return empty($value) ? null : (isset($smcFunc['json_encode']) ? $smcFunc['json_decode']($value, true) : smf_json_decode($value, true)); |
3401 | 3587 | } |
@@ -3417,8 +3603,9 @@ discard block |
||
3417 | 3603 | global $cacheAPI; |
3418 | 3604 | |
3419 | 3605 | // If we can't get to the API, can't do this. |
3420 | - if (empty($cacheAPI)) |
|
3421 | - return; |
|
3606 | + if (empty($cacheAPI)) { |
|
3607 | + return; |
|
3608 | + } |
|
3422 | 3609 | |
3423 | 3610 | // Ask the API to do the heavy lifting. cleanCache also calls invalidateCache to be sure. |
3424 | 3611 | $cacheAPI->cleanCache($type); |
@@ -3443,8 +3630,9 @@ discard block |
||
3443 | 3630 | global $modSettings, $boardurl, $smcFunc, $image_proxy_enabled, $image_proxy_secret; |
3444 | 3631 | |
3445 | 3632 | // Come on! |
3446 | - if (empty($data)) |
|
3447 | - return array(); |
|
3633 | + if (empty($data)) { |
|
3634 | + return array(); |
|
3635 | + } |
|
3448 | 3636 | |
3449 | 3637 | // Set a nice default var. |
3450 | 3638 | $image = ''; |
@@ -3452,11 +3640,11 @@ discard block |
||
3452 | 3640 | // Gravatar has been set as mandatory! |
3453 | 3641 | if (!empty($modSettings['gravatarOverride'])) |
3454 | 3642 | { |
3455 | - if (!empty($modSettings['gravatarAllowExtraEmail']) && !empty($data['avatar']) && stristr($data['avatar'], 'gravatar://')) |
|
3456 | - $image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11)); |
|
3457 | - |
|
3458 | - else if (!empty($data['email'])) |
|
3459 | - $image = get_gravatar_url($data['email']); |
|
3643 | + if (!empty($modSettings['gravatarAllowExtraEmail']) && !empty($data['avatar']) && stristr($data['avatar'], 'gravatar://')) { |
|
3644 | + $image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11)); |
|
3645 | + } else if (!empty($data['email'])) { |
|
3646 | + $image = get_gravatar_url($data['email']); |
|
3647 | + } |
|
3460 | 3648 | } |
3461 | 3649 | |
3462 | 3650 | // Look if the user has a gravatar field or has set an external url as avatar. |
@@ -3468,54 +3656,60 @@ discard block |
||
3468 | 3656 | // Gravatar. |
3469 | 3657 | if (stristr($data['avatar'], 'gravatar://')) |
3470 | 3658 | { |
3471 | - if ($data['avatar'] == 'gravatar://') |
|
3472 | - $image = get_gravatar_url($data['email']); |
|
3473 | - |
|
3474 | - elseif (!empty($modSettings['gravatarAllowExtraEmail'])) |
|
3475 | - $image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11)); |
|
3659 | + if ($data['avatar'] == 'gravatar://') { |
|
3660 | + $image = get_gravatar_url($data['email']); |
|
3661 | + } elseif (!empty($modSettings['gravatarAllowExtraEmail'])) { |
|
3662 | + $image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11)); |
|
3663 | + } |
|
3476 | 3664 | } |
3477 | 3665 | |
3478 | 3666 | // External url. |
3479 | 3667 | else |
3480 | 3668 | { |
3481 | 3669 | // Using ssl? |
3482 | - if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($data['avatar'], 'http://') !== false) |
|
3483 | - $image = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($data['avatar']) . '&hash=' . md5($data['avatar'] . $image_proxy_secret); |
|
3670 | + if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($data['avatar'], 'http://') !== false) { |
|
3671 | + $image = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($data['avatar']) . '&hash=' . md5($data['avatar'] . $image_proxy_secret); |
|
3672 | + } |
|
3484 | 3673 | |
3485 | 3674 | // Just a plain external url. |
3486 | - else |
|
3487 | - $image = (stristr($data['avatar'], 'http://') || stristr($data['avatar'], 'https://')) ? $data['avatar'] : $modSettings['avatar_url'] . '/' . $data['avatar']; |
|
3675 | + else { |
|
3676 | + $image = (stristr($data['avatar'], 'http://') || stristr($data['avatar'], 'https://')) ? $data['avatar'] : $modSettings['avatar_url'] . '/' . $data['avatar']; |
|
3677 | + } |
|
3488 | 3678 | } |
3489 | 3679 | } |
3490 | 3680 | |
3491 | 3681 | // Perhaps this user has an attachment as avatar... |
3492 | - else if (!empty($data['filename'])) |
|
3493 | - $image = $modSettings['custom_avatar_url'] . '/' . $data['filename']; |
|
3682 | + else if (!empty($data['filename'])) { |
|
3683 | + $image = $modSettings['custom_avatar_url'] . '/' . $data['filename']; |
|
3684 | + } |
|
3494 | 3685 | |
3495 | 3686 | // Right... no avatar... use our default image. |
3496 | - else |
|
3497 | - $image = $modSettings['avatar_url'] . '/default.png'; |
|
3687 | + else { |
|
3688 | + $image = $modSettings['avatar_url'] . '/default.png'; |
|
3689 | + } |
|
3498 | 3690 | } |
3499 | 3691 | |
3500 | 3692 | call_integration_hook('integrate_set_avatar_data', array(&$image, &$data)); |
3501 | 3693 | |
3502 | 3694 | // At this point in time $image has to be filled unless you chose to force gravatar and the user doesn't have the needed data to retrieve it... thus a check for !empty() is still needed. |
3503 | - if (!empty($image)) |
|
3504 | - return array( |
|
3695 | + if (!empty($image)) { |
|
3696 | + return array( |
|
3505 | 3697 | 'name' => !empty($data['avatar']) ? $data['avatar'] : '', |
3506 | 3698 | 'image' => '<img class="avatar" src="' . $image . '" />', |
3507 | 3699 | 'href' => $image, |
3508 | 3700 | 'url' => $image, |
3509 | 3701 | ); |
3702 | + } |
|
3510 | 3703 | |
3511 | 3704 | // Fallback to make life easier for everyone... |
3512 | - else |
|
3513 | - return array( |
|
3705 | + else { |
|
3706 | + return array( |
|
3514 | 3707 | 'name' => '', |
3515 | 3708 | 'image' => '', |
3516 | 3709 | 'href' => '', |
3517 | 3710 | 'url' => '', |
3518 | 3711 | ); |
3519 | -} |
|
3712 | + } |
|
3713 | + } |
|
3520 | 3714 | |
3521 | 3715 | ?> |
3522 | 3716 | \ No newline at end of file |