Zeile 882 | Zeile 882 |
---|
admin_redirect("index.php?module=config-settings"); }
|
admin_redirect("index.php?module=config-settings"); }
|
// If we are changing the hidden captcha, make sure it doesn't conflict with another registration field if(isset($mybb->input['upsetting']['hiddencaptchaimagefield'])) { // Not allowed to be hidden captcha fields $disallowed_fields = array( 'username', 'password', 'password2', 'email', 'email2', 'imagestring', 'imagehash', 'answer', 'question_id', 'allownotices', 'hideemail', 'receivepms', 'pmnotice', 'emailpmnotify', 'invisible', 'subscriptionmethod', 'timezoneoffset', 'dstcorrection', 'language', 'step', 'action', 'agree', 'regtime', 'regcheck1', 'regcheck2', 'regsubmit' );
if(in_array($mybb->input['upsetting']['hiddencaptchaimagefield'], $disallowed_fields))
| // Not allowed to be hidden captcha fields $disallowed_fields = array( 'username', 'password', 'password2', 'email', 'email2', 'imagestring', 'imagehash', 'answer', 'question_id', 'allownotices', 'hideemail', 'receivepms', 'pmnotice', 'emailpmnotify', 'invisible', 'subscriptionmethod', 'timezoneoffset', 'dstcorrection', 'language', 'step', 'action', 'agree', 'regtime', 'regcheck1', 'regcheck2', 'regsubmit' );
$is_current_hiddencaptcha_wrong = in_array($mybb->settings['hiddencaptchaimagefield'], $disallowed_fields); if(in_array($mybb->input['upsetting']['hiddencaptchaimagefield'], $disallowed_fields) || $is_current_hiddencaptcha_wrong) { if(isset($mybb->input['upsetting']['hiddencaptchaimagefield']) && $mybb->input['upsetting']['hiddencaptchaimagefield'] != $mybb->settings['hiddencaptchaimagefield'] && !$is_current_hiddencaptcha_wrong) { $wrong_value = $mybb->input['upsetting']['hiddencaptchaimagefield']; $mybb->input['upsetting']['hiddencaptchaimagefield'] = $mybb->settings['hiddencaptchaimagefield']; } else
|
{
|
{
|
// Whoopsies, you can't do that! $error_message = $lang->sprintf($lang->error_hidden_captcha_conflict, htmlspecialchars_uni($mybb->input['upsetting']['hiddencaptchaimagefield']));
flash_message($error_message, 'error'); admin_redirect("index.php?module=config-settings&action=change&gid=9");
| $wrong_value = $mybb->settings['hiddencaptchaimagefield']; $mybb->input['upsetting']['hiddencaptchaimagefield'] = 'email3';
|
}
|
}
|
| $lang->success_settings_updated .= $lang->sprintf($lang->success_settings_updated_hiddencaptchaimage, htmlspecialchars_uni($mybb->input['upsetting']['hiddencaptchaimagefield']), htmlspecialchars_uni($wrong_value)); }
// Have we opted for a reCAPTCHA and not set a public/private key? if((isset($mybb->input['upsetting']['captchaimage']) && in_array($mybb->input['upsetting']['captchaimage'], array(4, 5)) && (!$mybb->input['upsetting']['captchaprivatekey'] || !$mybb->input['upsetting']['captchapublickey'])) || (in_array($mybb->settings['captchaimage'], array(4, 5)) && (!$mybb->settings['captchaprivatekey'] || !$mybb->settings['captchapublickey']))) { $mybb->input['upsetting']['captchaimage'] = 1; $lang->success_settings_updated .= $lang->success_settings_updated_captchaimage;
|
}
// Get settings which optionscode is a forum/group select, checkbox or numeric // We cannot rely on user input to decide this $checkbox_settings = $forum_group_select = array();
|
}
// Get settings which optionscode is a forum/group select, checkbox or numeric // We cannot rely on user input to decide this $checkbox_settings = $forum_group_select = array();
|
$query = $db->simple_select('settings', 'name, optionscode', "optionscode IN('forumselect', 'groupselect', 'numeric') OR optionscode LIKE 'checkbox%'");
| $query = $db->simple_select('settings', 'name, optionscode', "optionscode IN('forumselect', 'groupselect') OR optionscode LIKE 'checkbox%' OR optionscode LIKE 'numeric%'");
|
while($multisetting = $db->fetch_array($query)) {
|
while($multisetting = $db->fetch_array($query)) {
|
| $options = array();
|
if(substr($multisetting['optionscode'], 0, 8) == 'checkbox') { $checkbox_settings[] = $multisetting['name'];
|
if(substr($multisetting['optionscode'], 0, 8) == 'checkbox') { $checkbox_settings[] = $multisetting['name'];
|
|
|
// All checkboxes deselected = no $mybb->input['upsetting'] for them, we need to initialize it manually then, but only on pages where the setting is shown if(empty($mybb->input['upsetting'][$multisetting['name']]) && isset($mybb->input["isvisible_{$multisetting['name']}"])) { $mybb->input['upsetting'][$multisetting['name']] = array(); } }
|
// All checkboxes deselected = no $mybb->input['upsetting'] for them, we need to initialize it manually then, but only on pages where the setting is shown if(empty($mybb->input['upsetting'][$multisetting['name']]) && isset($mybb->input["isvisible_{$multisetting['name']}"])) { $mybb->input['upsetting'][$multisetting['name']] = array(); } }
|
elseif($multisetting['optionscode'] == 'numeric')
| elseif(substr($multisetting['optionscode'], 0, 7) == 'numeric')
|
{ if(isset($mybb->input['upsetting'][$multisetting['name']]))
|
{ if(isset($mybb->input['upsetting'][$multisetting['name']]))
|
{ $mybb->input['upsetting'][$multisetting['name']] = (int)$mybb->input['upsetting'][$multisetting['name']];
| { $type = explode("\n", $multisetting['optionscode']); for($i=1; $i < count($type); $i++) { $optionsexp = explode("=", $type[$i]); $opt = array_map('trim', $optionsexp); if(in_array($opt[0], array('min', 'max', 'step'))) { if($opt[0] != 'step' || $opt[1] != 'any') { $opt[1] = (float)$opt[1]; } $options[$opt[0]] = $opt[1]; } }
$value = (float)$mybb->input['upsetting'][$multisetting['name']];
if(isset($options['min'])) { $value = max($value, $options['min']); }
if(isset($options['max'])) { $value = min($value, $options['max']); }
$mybb->input['upsetting'][$multisetting['name']] = $value;
|
}
|
}
|
}
| } else { $forum_group_select[] = $multisetting['name']; } }
// Administrator is changing the login method. if($mybb->settings['username_method'] == 1 || $mybb->settings['username_method'] == 2 || $mybb->input['upsetting']['username_method'] == 1 || $mybb->input['upsetting']['username_method'] == 2) { $query = $db->simple_select('users', 'email', "email != ''", array('group_by' => 'email HAVING COUNT(email)>1')); if($db->num_rows($query)) { $mybb->input['upsetting']['username_method'] = 0; $lang->success_settings_updated .= $lang->success_settings_updated_username_method; }
|
else {
|
else {
|
$forum_group_select[] = $multisetting['name'];
| $mybb->input['upsetting']['allowmultipleemails'] = 0; $lang->success_settings_updated .= $lang->success_settings_updated_allowmultipleemails;
|
} }
|
} }
|
|
|
if(is_array($mybb->input['upsetting'])) { foreach($mybb->input['upsetting'] as $name => $value)
| if(is_array($mybb->input['upsetting'])) { foreach($mybb->input['upsetting'] as $name => $value)
|
Zeile 962 | Zeile 1019 |
---|
if($forum_group_select && in_array($name, $forum_group_select)) { if($value == 'all')
|
if($forum_group_select && in_array($name, $forum_group_select)) { if($value == 'all')
|
{
| {
|
$value = -1; } elseif($value == 'custom')
| $value = -1; } elseif($value == 'custom')
|
Zeile 985 | Zeile 1042 |
---|
else { $value = '';
|
else { $value = '';
|
}
| }
|
} elseif($checkbox_settings && in_array($name, $checkbox_settings)) { $value = '';
|
} elseif($checkbox_settings && in_array($name, $checkbox_settings)) { $value = '';
|
|
|
if(is_array($mybb->input['upsetting'][$name])) { $value = implode(',', $mybb->input['upsetting'][$name]); } }
|
if(is_array($mybb->input['upsetting'][$name])) { $value = implode(',', $mybb->input['upsetting'][$name]); } }
|
|
|
$db->update_query("settings", array('value' => $db->escape_string($value)), "name='".$db->escape_string($name)."'"); } }
// Check if we need to create our fulltext index after changing the search mode if($mybb->settings['searchtype'] != $mybb->input['upsetting']['searchtype'] && $mybb->input['upsetting']['searchtype'] == "fulltext")
|
$db->update_query("settings", array('value' => $db->escape_string($value)), "name='".$db->escape_string($name)."'"); } }
// Check if we need to create our fulltext index after changing the search mode if($mybb->settings['searchtype'] != $mybb->input['upsetting']['searchtype'] && $mybb->input['upsetting']['searchtype'] == "fulltext")
|
{
| {
|
if(!$db->is_fulltext("posts") && $db->supports_fulltext_boolean("posts"))
|
if(!$db->is_fulltext("posts") && $db->supports_fulltext_boolean("posts"))
|
{
| {
|
$db->create_fulltext_index("posts", "message"); } if(!$db->is_fulltext("posts") && $db->supports_fulltext("threads"))
|
$db->create_fulltext_index("posts", "message"); } if(!$db->is_fulltext("posts") && $db->supports_fulltext("threads"))
|
{
| {
|
$db->create_fulltext_index("threads", "subject"); } }
// If the delayedthreadviews setting was changed, enable or disable the tasks for it. if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews'])
|
$db->create_fulltext_index("threads", "subject"); } }
// If the delayedthreadviews setting was changed, enable or disable the tasks for it. if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews'])
|
{ if($mybb->input['upsetting']['delayedthreadviews'] == 0) { $updated_task = array( "enabled" => 0 ); } else { $updated_task = array( "enabled" => 1 ); } $db->update_query("tasks", $updated_task, "file='threadviews'");
| { $db->update_query("tasks", array('enabled' => (int)$mybb->input['upsetting']['delayedthreadviews']), "file='threadviews'");
|
}
// Have we changed our cookie prefix? If so, update our adminsid so we're not logged out
|
}
// Have we changed our cookie prefix? If so, update our adminsid so we're not logged out
|
if($mybb->input['upsetting']['cookieprefix'] && $mybb->input['upsetting']['cookieprefix'] != $mybb->settings['cookieprefix'])
| if(isset($mybb->input['upsetting']['cookieprefix']) && $mybb->input['upsetting']['cookieprefix'] != $mybb->settings['cookieprefix'])
|
{ my_unsetcookie("adminsid"); $mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];
|
{ my_unsetcookie("adminsid"); $mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];
|
my_setcookie("adminsid", $admin_session['sid'], '', true);
| my_setcookie("adminsid", $admin_session['sid'], '', true, "lax");
|
}
|
}
|
// Have we opted for a reCAPTCHA and not set a public/private key? if($mybb->input['upsetting']['captchaimage'] == 2 && !$mybb->input['upsetting']['captchaprivatekey'] && !$mybb->input['upsetting']['captchapublickey'])
| if(isset($mybb->input['upsetting']['statstopreferrer']) && $mybb->input['upsetting']['statstopreferrer'] != $mybb->settings['statstopreferrer'])
|
{
|
{
|
$db->update_query("settings", array("value" => 1), "name = 'captchaimage'");
| $cache->update_statistics();
|
}
|
}
|
rebuild_settings();
$plugins->run_hooks("admin_config_settings_change_commit");
| $statslimit = $mybb->settings['statslimit'];
|
|
|
// If we have changed our report reasons recache them if(isset($mybb->input['upsetting']['reportreasons']))
| rebuild_settings();
if(isset($mybb->input['upsetting']['statslimit']) && $mybb->input['upsetting']['statslimit'] != $statslimit)
|
{
|
{
|
$cache->update_reportedposts();
| $cache->update_most_replied_threads(); $cache->update_most_viewed_threads();
|
}
|
}
|
| $plugins->run_hooks("admin_config_settings_change_commit");
|
// Log admin action log_admin_action();
| // Log admin action log_admin_action();
|
Zeile 1124 | Zeile 1170 |
---|
$query = $db->simple_select("settinggroups", "*", "gid = '".$mybb->get_input('gid', MyBB::INPUT_INT)."'"); $groupinfo = $db->fetch_array($query); $cache_groups[$groupinfo['gid']] = $groupinfo;
|
$query = $db->simple_select("settinggroups", "*", "gid = '".$mybb->get_input('gid', MyBB::INPUT_INT)."'"); $groupinfo = $db->fetch_array($query); $cache_groups[$groupinfo['gid']] = $groupinfo;
|
if(!$db->num_rows($query)) {
| if(!$db->num_rows($query)) {
|
$page->output_error($lang->error_invalid_gid2); }
| $page->output_error($lang->error_invalid_gid2); }
|
Zeile 1222 | Zeile 1268 |
---|
} else if($type[0] == "numeric") {
|
} else if($type[0] == "numeric") {
|
$setting_code = $form->generate_numeric_field($element_name, $setting['value'], array('id' => $element_id));
| $field_options = array('id' => $element_id); if(count($type) > 1) { for($i=1; $i < count($type); $i++) { $optionsexp = explode("=", $type[$i]); $opt = array_map('trim', $optionsexp); if(in_array($opt[0], array('min', 'max', 'step'))) { if($opt[0] != 'step' || $opt[1] != 'any') { $opt[1] = (float)$opt[1]; } $field_options[$opt[0]] = $opt[1]; } } } $setting_code = $form->generate_numeric_field($element_name, $setting['value'], $field_options);
|
} else if($type[0] == "textarea") {
| } else if($type[0] == "textarea") {
|
Zeile 1233 | Zeile 1296 |
---|
$setting_code = $form->generate_yes_no_radio($element_name, $setting['value'], true, array('id' => $element_id.'_yes', 'class' => $element_id), array('id' => $element_id.'_no', 'class' => $element_id)); } else if($type[0] == "onoff")
|
$setting_code = $form->generate_yes_no_radio($element_name, $setting['value'], true, array('id' => $element_id.'_yes', 'class' => $element_id), array('id' => $element_id.'_no', 'class' => $element_id)); } else if($type[0] == "onoff")
|
{
| {
|
$setting_code = $form->generate_on_off_radio($element_name, $setting['value'], true, array('id' => $element_id.'_on', 'class' => $element_id), array('id' => $element_id.'_off', 'class' => $element_id)); } else if($type[0] == "cpstyle")
| $setting_code = $form->generate_on_off_radio($element_name, $setting['value'], true, array('id' => $element_id.'_on', 'class' => $element_id), array('id' => $element_id.'_off', 'class' => $element_id)); } else if($type[0] == "cpstyle")
|
Zeile 1251 | Zeile 1314 |
---|
closedir($dir); ksort($folders); $setting_code = $form->generate_select_box($element_name, $folders, $setting['value'], array('id' => $element_id));
|
closedir($dir); ksort($folders); $setting_code = $form->generate_select_box($element_name, $folders, $setting['value'], array('id' => $element_id));
|
}
| }
|
else if($type[0] == "language") { $languages = $lang->get_languages();
| else if($type[0] == "language") { $languages = $lang->get_languages();
|
Zeile 1380 | Zeile 1443 |
---|
else { $typecount = count($type);
|
else { $typecount = count($type);
|
|
|
if($type[0] == 'checkbox') { $multivalue = explode(',', $setting['value']); }
|
if($type[0] == 'checkbox') { $multivalue = explode(',', $setting['value']); }
|
|
|
for($i = 0; $i < $typecount; $i++) { $optionsexp = explode("=", $type[$i]);
| for($i = 0; $i < $typecount; $i++) { $optionsexp = explode("=", $type[$i]);
|
Zeile 1408 | Zeile 1471 |
---|
if($setting['value'] == $optionsexp[0]) { $option_list[$i] = $form->generate_radio_button($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, "checked" => 1, 'class' => $element_id));
|
if($setting['value'] == $optionsexp[0]) { $option_list[$i] = $form->generate_radio_button($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, "checked" => 1, 'class' => $element_id));
|
} else {
| } else {
|
$option_list[$i] = $form->generate_radio_button($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id)); } }
| $option_list[$i] = $form->generate_radio_button($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id)); } }
|
Zeile 1424 | Zeile 1487 |
---|
{ $option_list[$i] = $form->generate_check_box("{$element_name}[]", $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id)); }
|
{ $option_list[$i] = $form->generate_check_box("{$element_name}[]", $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id)); }
|
} }
| } }
|
if($type[0] == "select") { $setting_code = $form->generate_select_box($element_name, $option_list, $setting['value'], array('id' => $element_id));
| if($type[0] == "select") { $setting_code = $form->generate_select_box($element_name, $option_list, $setting['value'], array('id' => $element_id));
|
Zeile 1434 | Zeile 1497 |
---|
else { $setting_code = implode("<br />", $option_list);
|
else { $setting_code = implode("<br />", $option_list);
|
|
|
if($type[0] == 'checkbox') { $setting_code .= $form->generate_hidden_field("isvisible_{$setting['name']}", 1);
| if($type[0] == 'checkbox') { $setting_code .= $form->generate_hidden_field("isvisible_{$setting['name']}", 1);
|
Zeile 1442 | Zeile 1505 |
---|
} $option_list = array(); }
|
} $option_list = array(); }
|
|
|
// Do we have a custom language variable for this title or description? $title_lang = "setting_".$setting['name']; $desc_lang = $title_lang."_desc";
| // Do we have a custom language variable for this title or description? $title_lang = "setting_".$setting['name']; $desc_lang = $title_lang."_desc";
|
Zeile 1639 | Zeile 1702 |
---|
echo '</div>';
echo '
|
echo '</div>';
echo '
|
<script type="text/javascript" src="./jscripts/search.js"></script>
| <script type="text/javascript" src="./jscripts/search.js?ver=1808"></script>
|
<script type="text/javascript"> //<!-- $(document).ready(function(){
| <script type="text/javascript"> //<!-- $(document).ready(function(){
|
Zeile 1677 | Zeile 1740 |
---|
'new Peeker($(".setting_smilieinserter"), $("#row_setting_smilieinsertertot, #row_setting_smilieinsertercols"), 1, true)', 'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_host, #row_setting_smtp_port, #row_setting_smtp_user, #row_setting_smtp_pass, #row_setting_secure_smtp"), "smtp", false)', 'new Peeker($("#setting_mail_handler"), $("#row_setting_mail_parameters"), "mail", false)',
|
'new Peeker($(".setting_smilieinserter"), $("#row_setting_smilieinsertertot, #row_setting_smilieinsertercols"), 1, true)', 'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_host, #row_setting_smtp_port, #row_setting_smtp_user, #row_setting_smtp_pass, #row_setting_secure_smtp"), "smtp", false)', 'new Peeker($("#setting_mail_handler"), $("#row_setting_mail_parameters"), "mail", false)',
|
'new Peeker($("#setting_captchaimage"), $("#row_setting_captchapublickey, #row_setting_captchaprivatekey"), /(2|4)/, false)',
| 'new Peeker($("#setting_captchaimage"), $("#row_setting_captchapublickey, #row_setting_captchaprivatekey"), /(4|5)/, false)',
|
'new Peeker($(".setting_contact"), $("#row_setting_contact_guests, #row_setting_contact_badwords, #row_setting_contact_maxsubjectlength, #row_setting_contact_minmessagelength, #row_setting_contact_maxmessagelength"), 1, true)', 'new Peeker($(".setting_enablepruning"), $("#row_setting_enableprunebyposts, #row_setting_pruneunactived, #row_setting_prunethreads"), 1, true)', 'new Peeker($(".setting_enableprunebyposts"), $("#row_setting_prunepostcount, #row_setting_dayspruneregistered, #row_setting_prunepostcountall"), 1, true)',
| 'new Peeker($(".setting_contact"), $("#row_setting_contact_guests, #row_setting_contact_badwords, #row_setting_contact_maxsubjectlength, #row_setting_contact_minmessagelength, #row_setting_contact_maxmessagelength"), 1, true)', 'new Peeker($(".setting_enablepruning"), $("#row_setting_enableprunebyposts, #row_setting_pruneunactived, #row_setting_prunethreads"), 1, true)', 'new Peeker($(".setting_enableprunebyposts"), $("#row_setting_prunepostcount, #row_setting_dayspruneregistered, #row_setting_prunepostcountall"), 1, true)',
|
Zeile 1698 | Zeile 1761 |
---|
'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errortypemedium"), /^(log|email|both)/, false)', 'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errorloglocation"), /^(log|both)/, false)', 'new Peeker($(".setting_sigmycode"), $("#row_setting_sigcountmycode, #row_setting_sigimgcode"), 1, true)',
|
'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errortypemedium"), /^(log|email|both)/, false)', 'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errorloglocation"), /^(log|both)/, false)', 'new Peeker($(".setting_sigmycode"), $("#row_setting_sigcountmycode, #row_setting_sigimgcode"), 1, true)',
|
'new Peeker($(".setting_pmsallowmycode"), $("#row_setting_pmsallowimgcode, #row_setting_pmsallowvideocode"), 1, true)'
| 'new Peeker($(".setting_pmsallowmycode"), $("#row_setting_pmsallowimgcode, #row_setting_pmsallowvideocode"), 1, true)', 'new Peeker($(".setting_enableshowteam"), $("#row_setting_showaddlgroups, #row_setting_showgroupleaders"), 1, true)'
|
);
$peekers = $plugins->run_hooks("admin_settings_print_peekers", $peekers);
| );
$peekers = $plugins->run_hooks("admin_settings_print_peekers", $peekers);
|