@@ -752,7 +752,7 @@ discard block |
||
752 | 752 | } |
753 | 753 | } |
754 | 754 | // This sort works decently well to ensure widely used scripts are ranked before rare scripts. |
755 | -uasort($funcs['utf8_regex_joining_type']['data'], function ($a, $b) |
|
755 | +uasort($funcs['utf8_regex_joining_type']['data'], function($a, $b) |
|
756 | 756 | { |
757 | 757 | if ($a['stats']['age'] == $b['stats']['age']) |
758 | 758 | { |
@@ -828,7 +828,7 @@ discard block |
||
828 | 828 | } |
829 | 829 | } |
830 | 830 | // Again, sort commonly used scripts before rare scripts. |
831 | -uasort($funcs['utf8_regex_indic']['data'], function ($a, $b) |
|
831 | +uasort($funcs['utf8_regex_indic']['data'], function($a, $b) |
|
832 | 832 | { |
833 | 833 | if ($a['stats']['age'] == $b['stats']['age']) |
834 | 834 | { |
@@ -156,7 +156,6 @@ discard block |
||
156 | 156 | $diff = $cur_profile['date_registered'] - strtotime(smf_strftime('%Y-%m-%d', $cur_profile['date_registered'])); |
157 | 157 | $value = $value + $diff; |
158 | 158 | } |
159 | - |
|
160 | 159 | else |
161 | 160 | $value = $cur_profile['date_registered']; |
162 | 161 | |
@@ -507,7 +506,7 @@ discard block |
||
507 | 506 | log_error(sprintf($txt['smiley_set_dir_not_found'], $set_names[array_search($set, $context['smiley_sets'])])); |
508 | 507 | |
509 | 508 | $context['smiley_sets'] = array_filter($context['smiley_sets'], function($v) use ($set) |
510 | - { |
|
509 | + { |
|
511 | 510 | return $v != $set; |
512 | 511 | }); |
513 | 512 | } |
@@ -3518,7 +3517,6 @@ discard block |
||
3518 | 3517 | } |
3519 | 3518 | } |
3520 | 3519 | } |
3521 | - |
|
3522 | 3520 | elseif (($value == 'upload' && allowedTo('profile_upload_avatar')) || $downloadedExternalAvatar) |
3523 | 3521 | { |
3524 | 3522 | if ((isset($_FILES['attachment']['name']) && $_FILES['attachment']['name'] != '') || $downloadedExternalAvatar) |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | return false; |
93 | 93 | }, |
94 | 94 | 'utf8_version' => '8.0', |
95 | - 'utf8_version_check' => function (){ |
|
95 | + 'utf8_version_check' => function() { |
|
96 | 96 | global $db_connection; |
97 | 97 | $request = pg_query($db_connection, 'SELECT version()'); |
98 | 98 | list ($version) = pg_fetch_row($request); |
@@ -987,7 +987,7 @@ discard block |
||
987 | 987 | $incontext['continue'] = 1; |
988 | 988 | |
989 | 989 | // Check Postgres setting |
990 | - if ( $db_type === 'postgresql') |
|
990 | + if ($db_type === 'postgresql') |
|
991 | 991 | { |
992 | 992 | load_database(); |
993 | 993 | $result = $smcFunc['db_query']('', ' |
@@ -40,7 +40,8 @@ discard block |
||
40 | 40 | 'mysql' => array( |
41 | 41 | 'name' => 'MySQL', |
42 | 42 | 'version' => '5.6.0', |
43 | - 'version_check' => function() { |
|
43 | + 'version_check' => function() |
|
44 | + { |
|
44 | 45 | global $db_connection; |
45 | 46 | if (!function_exists('mysqli_fetch_row')) |
46 | 47 | return false; |
@@ -56,7 +57,8 @@ discard block |
||
56 | 57 | return true; |
57 | 58 | }, |
58 | 59 | 'utf8_version' => '5.0.22', |
59 | - 'utf8_version_check' => function() { |
|
60 | + 'utf8_version_check' => function() |
|
61 | + { |
|
60 | 62 | global $db_connection; |
61 | 63 | return mysqli_get_server_info($db_connection); |
62 | 64 | }, |
@@ -70,7 +72,8 @@ discard block |
||
70 | 72 | 'postgresql' => array( |
71 | 73 | 'name' => 'PostgreSQL', |
72 | 74 | 'version' => '9.6', |
73 | - 'version_check' => function() { |
|
75 | + 'version_check' => function() |
|
76 | + { |
|
74 | 77 | global $db_connection; |
75 | 78 | $request = pg_query($db_connection, 'SELECT version()'); |
76 | 79 | list ($version) = pg_fetch_row($request); |
@@ -92,7 +95,8 @@ discard block |
||
92 | 95 | return false; |
93 | 96 | }, |
94 | 97 | 'utf8_version' => '8.0', |
95 | - 'utf8_version_check' => function (){ |
|
98 | + 'utf8_version_check' => function () |
|
99 | + { |
|
96 | 100 | global $db_connection; |
97 | 101 | $request = pg_query($db_connection, 'SELECT version()'); |
98 | 102 | list ($version) = pg_fetch_row($request); |
@@ -1001,7 +1005,7 @@ discard block |
||
1001 | 1005 | { |
1002 | 1006 | $row = $smcFunc['db_fetch_assoc']($result); |
1003 | 1007 | if ($row['standard_conforming_strings'] !== 'on') |
1004 | - { |
|
1008 | + { |
|
1005 | 1009 | $incontext['continue'] = 0; |
1006 | 1010 | $incontext['error'] = $txt['error_pg_scs']; |
1007 | 1011 | } |
@@ -3304,7 +3304,7 @@ discard block |
||
3304 | 3304 | // Deleting an existing label? |
3305 | 3305 | elseif (isset($_POST['delete'], $_POST['delete_label'])) |
3306 | 3306 | { |
3307 | - foreach ($_POST['delete_label'] AS $label => $dummy) |
|
3307 | + foreach ($_POST['delete_label'] as $label => $dummy) |
|
3308 | 3308 | { |
3309 | 3309 | unset($the_labels[$label]); |
3310 | 3310 | $labels_to_remove[] = $label; |
@@ -3345,7 +3345,7 @@ discard block |
||
3345 | 3345 | if (!empty($labels_to_add)) |
3346 | 3346 | { |
3347 | 3347 | $inserts = array(); |
3348 | - foreach ($labels_to_add AS $label) |
|
3348 | + foreach ($labels_to_add as $label) |
|
3349 | 3349 | $inserts[] = array($user_info['id'], $label); |
3350 | 3350 | |
3351 | 3351 | $smcFunc['db_insert']('', '{db_prefix}pm_labels', array('id_member' => 'int', 'name' => 'string-30'), $inserts, array()); |
@@ -3354,7 +3354,7 @@ discard block |
||
3354 | 3354 | // Update existing labels as needed |
3355 | 3355 | if (!empty($label_updates)) |
3356 | 3356 | { |
3357 | - foreach ($label_updates AS $id => $name) |
|
3357 | + foreach ($label_updates as $id => $name) |
|
3358 | 3358 | { |
3359 | 3359 | $smcFunc['db_query']('', ' |
3360 | 3360 | UPDATE {db_prefix}pm_labels |
@@ -93,14 +93,14 @@ discard block |
||
93 | 93 | ), |
94 | 94 | 'ignore' => array( |
95 | 95 | 'label' => $report['ignore'] ? $txt['mc_reportedp_unignore'] : $txt['mc_reportedp_ignore'], |
96 | - 'href' => $scripturl.'?action=moderate;area=reported'.$context['report_type'].';sa=handle;ignore='.(int)!$report['ignore'].';rid='.$report['id'].';start='.$context['start'].';'.$context['session_var'].'='.$context['session_id'].';'.$context['mod-report-ignore_token_var'].'='.$context['mod-report-ignore_token'], |
|
96 | + 'href' => $scripturl . '?action=moderate;area=reported' . $context['report_type'] . ';sa=handle;ignore=' . (int) !$report['ignore'] . ';rid=' . $report['id'] . ';start=' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';' . $context['mod-report-ignore_token_var'] . '=' . $context['mod-report-ignore_token'], |
|
97 | 97 | 'javascript' => !$report['ignore'] ? ' data-confirm="' . $txt['mc_reportedp_ignore_confirm'] . '"' : '', |
98 | 98 | 'class' => 'you_sure', |
99 | 99 | 'icon' => 'ignore' |
100 | 100 | ), |
101 | 101 | 'close' => array( |
102 | 102 | 'label' => $context['view_closed'] ? $txt['mc_reportedp_open'] : $txt['mc_reportedp_close'], |
103 | - 'href' => $scripturl.'?action=moderate;area=reported'.$context['report_type'].';sa=handle;closed='.(int)!$report['closed'].';rid='.$report['id'].';start='.$context['start'].';'.$context['session_var'].'='.$context['session_id'].';'.$context['mod-report-closed_token_var'].'='.$context['mod-report-closed_token'], |
|
103 | + 'href' => $scripturl . '?action=moderate;area=reported' . $context['report_type'] . ';sa=handle;closed=' . (int) !$report['closed'] . ';rid=' . $report['id'] . ';start=' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';' . $context['mod-report-closed_token_var'] . '=' . $context['mod-report-closed_token'], |
|
104 | 104 | 'icon' => $context['view_closed'] ? 'folder' : 'close', |
105 | 105 | ), |
106 | 106 | ); |
@@ -109,8 +109,8 @@ discard block |
||
109 | 109 | if ($context['report_type'] == 'posts') |
110 | 110 | $context['reports'][$key]['quickbuttons']['delete'] = array( |
111 | 111 | 'label' => $txt['mc_reportedp_delete'], |
112 | - 'href' => $scripturl.'?action=deletemsg;topic='.$report['topic']['id'].'.0;msg='.$report['topic']['id_msg'].';modcenter;'.$context['session_var'].'='.$context['session_id'], |
|
113 | - 'javascript' => 'data-confirm="'.$txt['mc_reportedp_delete_confirm'].'"', |
|
112 | + 'href' => $scripturl . '?action=deletemsg;topic=' . $report['topic']['id'] . '.0;msg=' . $report['topic']['id_msg'] . ';modcenter;' . $context['session_var'] . '=' . $context['session_id'], |
|
113 | + 'javascript' => 'data-confirm="' . $txt['mc_reportedp_delete_confirm'] . '"', |
|
114 | 114 | 'class' => 'you_sure', |
115 | 115 | 'icon' => 'delete', |
116 | 116 | 'show' => !$report['closed'] && (is_array($context['report_remove_any_boards']) && in_array($report['topic']['id_board'], $context['report_remove_any_boards'])) |
@@ -118,9 +118,9 @@ discard block |
||
118 | 118 | |
119 | 119 | // Ban reported member/post author link |
120 | 120 | if ($context['report_type'] == 'members') |
121 | - $ban_link = $scripturl.'?action=admin;area=ban;sa=add;u='.$report['user']['id'].';'.$context['session_var'].'='.$context['session_id']; |
|
121 | + $ban_link = $scripturl . '?action=admin;area=ban;sa=add;u=' . $report['user']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']; |
|
122 | 122 | else |
123 | - $ban_link = $scripturl.'?action=admin;area=ban;sa=add'.(!empty($report['author']['id']) ? ';u='.$report['author']['id'] : ';msg='.$report['topic']['id_msg']).';'.$context['session_var'].'='.$context['session_id']; |
|
123 | + $ban_link = $scripturl . '?action=admin;area=ban;sa=add' . (!empty($report['author']['id']) ? ';u=' . $report['author']['id'] : ';msg=' . $report['topic']['id_msg']) . ';' . $context['session_var'] . '=' . $context['session_id']; |
|
124 | 124 | |
125 | 125 | $context['reports'][$key]['quickbuttons'] += array( |
126 | 126 | 'ban' => array( |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | ), |
132 | 132 | 'quickmod' => array( |
133 | 133 | 'class' => 'inline_mod_check', |
134 | - 'content' => '<input type="checkbox" name="close[]" value="'.$report['id'].'">', |
|
134 | + 'content' => '<input type="checkbox" name="close[]" value="' . $report['id'] . '">', |
|
135 | 135 | 'show' => !$context['view_closed'] && !empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 |
136 | 136 | ) |
137 | 137 | ); |
@@ -758,7 +758,7 @@ discard block |
||
758 | 758 | // Filter out any redundant separators before we start the loop |
759 | 759 | $context['config_vars'] = array_filter( |
760 | 760 | $context['config_vars'], |
761 | - function ($v) use ($context) |
|
761 | + function($v) use ($context) |
|
762 | 762 | { |
763 | 763 | static $config_vars, $prev; |
764 | 764 | |
@@ -1659,7 +1659,7 @@ discard block |
||
1659 | 1659 | echo ' |
1660 | 1660 | <form action="' . $scripturl . '?action=admin;area=search" method="post" accept-charset="' . $context['character_set'] . '" class="admin_search"> |
1661 | 1661 | <span class="main_icons filter centericon"></span> |
1662 | - <input type="search" name="search_term" placeholder="', $txt['admin_search'], '"', isset($context['search_term']) ? ' value="' . $context['search_term'] . '"' : '','> |
|
1662 | + <input type="search" name="search_term" placeholder="', $txt['admin_search'], '"', isset($context['search_term']) ? ' value="' . $context['search_term'] . '"' : '', '> |
|
1663 | 1663 | <select name="search_type"> |
1664 | 1664 | <option value="internal"', (empty($context['admin_preferences']['sb']) || $context['admin_preferences']['sb'] == 'internal' ? ' selected' : ''), '>', $txt['admin_search_type_internal'], '</option> |
1665 | 1665 | <option value="member"', (!empty($context['admin_preferences']['sb']) && $context['admin_preferences']['sb'] == 'member' ? ' selected' : ''), '>', $txt['admin_search_type_member'], '</option> |
@@ -853,7 +853,7 @@ discard block |
||
853 | 853 | 'filename' => empty($user_settings['filename']) ? '' : $user_settings['filename'], |
854 | 854 | 'custom_dir' => !empty($user_settings['attachment_type']) && $user_settings['attachment_type'] == 1, |
855 | 855 | 'id_attach' => isset($user_settings['id_attach']) ? $user_settings['id_attach'] : 0, |
856 | - 'width' => isset($user_settings['attachment_width']) > 0 ? $user_settings['attachment_width']: 0, |
|
856 | + 'width' => isset($user_settings['attachment_width']) > 0 ? $user_settings['attachment_width'] : 0, |
|
857 | 857 | 'height' => isset($user_settings['attachment_height']) > 0 ? $user_settings['attachment_height'] : 0, |
858 | 858 | ), |
859 | 859 | 'smiley_set' => isset($user_settings['smiley_set']) ? $user_settings['smiley_set'] : '', |
@@ -2539,7 +2539,7 @@ discard block |
||
2539 | 2539 | ); |
2540 | 2540 | |
2541 | 2541 | // Add the JQuery library to the list of files to load. |
2542 | - $jQueryUrls = array ('cdn' => 'https://ajax.googleapis.com/ajax/libs/jquery/'. JQUERY_VERSION . '/jquery.min.js', 'jquery_cdn' => 'https://code.jquery.com/jquery-'. JQUERY_VERSION . '.min.js', 'microsoft_cdn' => 'https://ajax.aspnetcdn.com/ajax/jQuery/jquery-'. JQUERY_VERSION . '.min.js'); |
|
2542 | + $jQueryUrls = array('cdn' => 'https://ajax.googleapis.com/ajax/libs/jquery/' . JQUERY_VERSION . '/jquery.min.js', 'jquery_cdn' => 'https://code.jquery.com/jquery-' . JQUERY_VERSION . '.min.js', 'microsoft_cdn' => 'https://ajax.aspnetcdn.com/ajax/jQuery/jquery-' . JQUERY_VERSION . '.min.js'); |
|
2543 | 2543 | |
2544 | 2544 | if (isset($modSettings['jquery_source']) && array_key_exists($modSettings['jquery_source'], $jQueryUrls)) |
2545 | 2545 | loadJavaScriptFile($jQueryUrls[$modSettings['jquery_source']], array('external' => true, 'seed' => false), 'smf_jquery'); |
@@ -2780,8 +2780,7 @@ discard block |
||
2780 | 2780 | $context['css_files_order'] = array(); |
2781 | 2781 | |
2782 | 2782 | $params['seed'] = (!array_key_exists('seed', $params) || (array_key_exists('seed', $params) && $params['seed'] === true)) ? |
2783 | - (array_key_exists('browser_cache', $context) ? $context['browser_cache'] : '') : |
|
2784 | - (is_string($params['seed']) ? '?' . ltrim($params['seed'], '?') : ''); |
|
2783 | + (array_key_exists('browser_cache', $context) ? $context['browser_cache'] : '') : (is_string($params['seed']) ? '?' . ltrim($params['seed'], '?') : ''); |
|
2785 | 2784 | $params['force_current'] = isset($params['force_current']) ? $params['force_current'] : false; |
2786 | 2785 | $themeRef = !empty($params['default_theme']) ? 'default_theme' : 'theme'; |
2787 | 2786 | $params['minimize'] = isset($params['minimize']) ? $params['minimize'] : true; |
@@ -2896,8 +2895,7 @@ discard block |
||
2896 | 2895 | global $settings, $context, $modSettings; |
2897 | 2896 | |
2898 | 2897 | $params['seed'] = (!array_key_exists('seed', $params) || (array_key_exists('seed', $params) && $params['seed'] === true)) ? |
2899 | - (array_key_exists('browser_cache', $context) ? $context['browser_cache'] : '') : |
|
2900 | - (is_string($params['seed']) ? '?' . ltrim($params['seed'], '?') : ''); |
|
2898 | + (array_key_exists('browser_cache', $context) ? $context['browser_cache'] : '') : (is_string($params['seed']) ? '?' . ltrim($params['seed'], '?') : ''); |
|
2901 | 2899 | $params['force_current'] = isset($params['force_current']) ? $params['force_current'] : false; |
2902 | 2900 | $themeRef = !empty($params['default_theme']) ? 'default_theme' : 'theme'; |
2903 | 2901 | $params['async'] = isset($params['async']) ? $params['async'] : false; |
@@ -3687,8 +3685,7 @@ discard block |
||
3687 | 3685 | |
3688 | 3686 | // What accelerator we are going to try. |
3689 | 3687 | $cache_class_name = !empty($cache_accelerator) ? $cache_accelerator : CacheApi::APIS_DEFAULT; |
3690 | - $fully_qualified_class_name = !empty($overrideCache) ? $overrideCache : |
|
3691 | - CacheApi::APIS_NAMESPACE . $cache_class_name; |
|
3688 | + $fully_qualified_class_name = !empty($overrideCache) ? $overrideCache : CacheApi::APIS_NAMESPACE . $cache_class_name; |
|
3692 | 3689 | |
3693 | 3690 | // Do some basic tests. |
3694 | 3691 | if (class_exists($fully_qualified_class_name)) |
@@ -3992,7 +3989,7 @@ discard block |
||
3992 | 3989 | $auth_secret = hash_file('sha256', $boarddir . '/Settings.php'); |
3993 | 3990 | |
3994 | 3991 | // Set the last error to now, but only every 15 minutes. Don't need to flood the logs. |
3995 | - if (empty($db_last_error) || ($db_last_error + 60*15) <= time()) |
|
3992 | + if (empty($db_last_error) || ($db_last_error + 60 * 15) <= time()) |
|
3996 | 3993 | { |
3997 | 3994 | updateDbLastError(time()); |
3998 | 3995 | loadLanguage('Errors'); |
@@ -107,7 +107,7 @@ discard block |
||
107 | 107 | // Set a list of common functions. |
108 | 108 | $ent_list = '&(?:#' . (empty($modSettings['disableEntityCheck']) ? '\d{1,7}' : '021') . '|quot|amp|lt|gt|nbsp);'; |
109 | 109 | $ent_check = empty($modSettings['disableEntityCheck']) ? function($string) |
110 | - { |
|
110 | + { |
|
111 | 111 | $string = preg_replace_callback('~(&#(\d{1,7}|x[0-9a-fA-F]{1,6});)~', 'entity_fix__callback', (string) $string); |
112 | 112 | return $string; |
113 | 113 | } : function($string) |
@@ -2422,7 +2422,6 @@ discard block |
||
2422 | 2422 | loadLanguage('index+Modifications'); |
2423 | 2423 | $context['template_layers'] = array(); |
2424 | 2424 | } |
2425 | - |
|
2426 | 2425 | else |
2427 | 2426 | { |
2428 | 2427 | // Custom templates to load, or just default? |
@@ -2976,7 +2975,8 @@ discard block |
||
2976 | 2975 | // Take care of escaping the value for JavaScript? |
2977 | 2976 | if (!empty($escape)) |
2978 | 2977 | { |
2979 | - switch (gettype($value)) { |
|
2978 | + switch (gettype($value)) |
|
2979 | + { |
|
2980 | 2980 | // Illegal. |
2981 | 2981 | case 'resource': |
2982 | 2982 | break; |
@@ -273,7 +273,7 @@ discard block |
||
273 | 273 | ', sprintf($txt['welcome_to_forum'], $context['forum_name_html_safe']), ' |
274 | 274 | </li> |
275 | 275 | <li class="button_login"> |
276 | - <a href="', $scripturl, '?action=login" class="', $context['current_action'] == 'login' ? 'active' : 'open','" onclick="return reqOverlayDiv(this.href, ' . JavaScriptEscape($txt['login']) . ', \'login\');"> |
|
276 | + <a href="', $scripturl, '?action=login" class="', $context['current_action'] == 'login' ? 'active' : 'open', '" onclick="return reqOverlayDiv(this.href, ' . JavaScriptEscape($txt['login']) . ', \'login\');"> |
|
277 | 277 | <span class="main_icons login"></span> |
278 | 278 | <span class="textmenu">', $txt['login'], '</span> |
279 | 279 | </a> |
@@ -282,7 +282,7 @@ discard block |
||
282 | 282 | if ($context['can_register']) |
283 | 283 | echo ' |
284 | 284 | <li class="button_signup"> |
285 | - <a href="', $scripturl, '?action=signup" class="', $context['current_action'] == 'signup' ? 'active' : 'open','"> |
|
285 | + <a href="', $scripturl, '?action=signup" class="', $context['current_action'] == 'signup' ? 'active' : 'open', '"> |
|
286 | 286 | <span class="main_icons regcenter"></span> |
287 | 287 | <span class="textmenu">', $txt['register'], '</span> |
288 | 288 | </a> |
@@ -636,7 +636,7 @@ discard block |
||
636 | 636 | $value['id'] = $key; |
637 | 637 | |
638 | 638 | $button = ' |
639 | - <a class="button button_strip_' . $key . (!empty($value['active']) ? ' active' : '') . (isset($value['class']) ? ' ' . $value['class'] : '') . '" ' . (!empty($value['url']) ? 'href="' . $value['url'] . '"' : '') . ' ' . (isset($value['custom']) ? ' ' . $value['custom'] : '') . '>'.(!empty($value['icon']) ? '<span class="main_icons '.$value['icon'].'"></span>' : '').'' . $txt[$value['text']] . '</a>'; |
|
639 | + <a class="button button_strip_' . $key . (!empty($value['active']) ? ' active' : '') . (isset($value['class']) ? ' ' . $value['class'] : '') . '" ' . (!empty($value['url']) ? 'href="' . $value['url'] . '"' : '') . ' ' . (isset($value['custom']) ? ' ' . $value['custom'] : '') . '>' . (!empty($value['icon']) ? '<span class="main_icons ' . $value['icon'] . '"></span>' : '') . '' . $txt[$value['text']] . '</a>'; |
|
640 | 640 | |
641 | 641 | if (!empty($value['sub_buttons'])) |
642 | 642 | { |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | require_once($sourcedir . '/Subs-Compat.php'); |
83 | 83 | |
84 | 84 | // If $maintenance is set specifically to 2, then we're upgrading or something. |
85 | -if (!empty($maintenance) && 2 === $maintenance) |
|
85 | +if (!empty($maintenance) && 2 === $maintenance) |
|
86 | 86 | { |
87 | 87 | display_maintenance_message(); |
88 | 88 | } |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | * |
99 | 99 | * @param string $class The fully-qualified class name. |
100 | 100 | */ |
101 | -spl_autoload_register(function ($class) use ($sourcedir) |
|
101 | +spl_autoload_register(function($class) use ($sourcedir) |
|
102 | 102 | { |
103 | 103 | $classMap = array( |
104 | 104 | 'ReCaptcha\\' => 'ReCaptcha/', |