Zeile 927 | Zeile 927 |
---|
}
$lang->success_settings_updated .= $lang->sprintf($lang->success_settings_updated_hiddencaptchaimage, htmlspecialchars_uni($mybb->input['upsetting']['hiddencaptchaimagefield']), htmlspecialchars_uni($wrong_value));
|
}
$lang->success_settings_updated .= $lang->sprintf($lang->success_settings_updated_hiddencaptchaimage, htmlspecialchars_uni($mybb->input['upsetting']['hiddencaptchaimagefield']), htmlspecialchars_uni($wrong_value));
|
| }
// Validate avatar dimension inputs $gid = (int)$mybb->input['gid']; $dimfields = array( 8 => array('postmaxavatarsize'), 10 => array('useravatardims', 'maxavatardims'), 13 => array('memberlistmaxavatarsize') ); if(in_array($gid, array_keys($dimfields))) { foreach($dimfields[$gid] as $field) { if(isset($mybb->input['upsetting'][$field])) { if(preg_match("/\b\d+[|x]{1}\d+\b/i", $mybb->input['upsetting'][$field]) || ($field == 'maxavatardims' && trim($mybb->input['upsetting'][$field]) == "")) { // If pipe (|) is used normalize to 'x' $mybb->input['upsetting'][$field] = str_replace('|', 'x', my_strtolower($mybb->input['upsetting'][$field])); } else { flash_message($lang->sprintf($lang->error_format_dimension, $lang->{'error_field_'.$field}), 'error'); admin_redirect("index.php?module=config-settings&action=change&gid=".$gid); } } }
|
}
// Have we opted for a reCAPTCHA and not set a public/private key?
|
}
// 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(2, 4)) && (!$mybb->input['upsetting']['captchaprivatekey'] || !$mybb->input['upsetting']['captchapublickey'])) || (in_array($mybb->settings['captchaimage'], array(2, 4)) && (!$mybb->settings['captchaprivatekey'] || !$mybb->settings['captchapublickey'])))
| 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;
|
{ $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'];
// 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']}"]))
|
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(); } }
|
$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
| } } else
|
Zeile 970 | Zeile 1026 |
---|
// 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) {
|
// 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, COUNT(email) AS duplicates', "email!=''", array('group_by' => 'email HAVING duplicates>1'));
| $query = $db->simple_select('users', 'email', "email != ''", array('group_by' => 'email HAVING COUNT(email)>1'));
|
if($db->num_rows($query))
|
if($db->num_rows($query))
|
{
| {
|
$mybb->input['upsetting']['username_method'] = 0; $lang->success_settings_updated .= $lang->success_settings_updated_username_method; }
| $mybb->input['upsetting']['username_method'] = 0; $lang->success_settings_updated .= $lang->success_settings_updated_username_method; }
|
Zeile 1008 | Zeile 1064 |
---|
else { $value = '';
|
else { $value = '';
|
} }
| } }
|
else { $value = '';
|
else { $value = '';
|
} }
| } }
|
elseif($checkbox_settings && in_array($name, $checkbox_settings)) { $value = '';
| elseif($checkbox_settings && in_array($name, $checkbox_settings)) { $value = '';
|
Zeile 1026 | Zeile 1082 |
---|
}
$db->update_query("settings", array('value' => $db->escape_string($value)), "name='".$db->escape_string($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") { if(!$db->is_fulltext("posts") && $db->supports_fulltext_boolean("posts"))
|
// 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"))
|
{
| {
|
$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"))
|
Zeile 1046 | Zeile 1102 |
---|
if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews']) { $db->update_query("tasks", array('enabled' => (int)$mybb->input['upsetting']['delayedthreadviews']), "file='threadviews'");
|
if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews']) { $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 if(isset($mybb->input['upsetting']['cookieprefix']) && $mybb->input['upsetting']['cookieprefix'] != $mybb->settings['cookieprefix']) { my_unsetcookie("adminsid"); $mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];
|
// Have we changed our cookie prefix? If so, update our adminsid so we're not logged out if(isset($mybb->input['upsetting']['cookieprefix']) && $mybb->input['upsetting']['cookieprefix'] != $mybb->settings['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"); }
|
if(isset($mybb->input['upsetting']['statstopreferrer']) && $mybb->input['upsetting']['statstopreferrer'] != $mybb->settings['statstopreferrer'])
|
if(isset($mybb->input['upsetting']['statstopreferrer']) && $mybb->input['upsetting']['statstopreferrer'] != $mybb->settings['statstopreferrer'])
|
{
| {
|
$cache->update_statistics();
|
$cache->update_statistics();
|
}
| }
$statslimit = $mybb->settings['statslimit'];
rebuild_settings();
|
|
|
if(isset($mybb->input['upsetting']['statslimit']) && $mybb->input['upsetting']['statslimit'] != $mybb->settings['statstopreferrer'])
| if(isset($mybb->input['upsetting']['statslimit']) && $mybb->input['upsetting']['statslimit'] != $statslimit)
|
{ $cache->update_most_replied_threads(); $cache->update_most_viewed_threads(); }
|
{ $cache->update_most_replied_threads(); $cache->update_most_viewed_threads(); }
|
rebuild_settings();
| |
$plugins->run_hooks("admin_config_settings_change_commit");
| $plugins->run_hooks("admin_config_settings_change_commit");
|
Zeile 1127 | Zeile 1185 |
---|
$page->add_breadcrumb_item($lang->settings_search); $page->output_header($lang->board_settings." - {$lang->settings_search}"); }
|
$page->add_breadcrumb_item($lang->settings_search); $page->output_header($lang->board_settings." - {$lang->settings_search}"); }
|
$form = new Form("index.php?module=config-settings&action=change", "post", "change");
echo $form->generate_hidden_field("gid", $group['gid']);
| |
} elseif($mybb->input['gid']) {
| } elseif($mybb->input['gid']) {
|
Zeile 1139 | Zeile 1193 |
---|
$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)) { $page->output_error($lang->error_invalid_gid2);
| if(!$db->num_rows($query)) { $page->output_error($lang->error_invalid_gid2);
|
Zeile 1148 | Zeile 1202 |
---|
// Cache settings $query = $db->simple_select("settings", "*", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'", array('order_by' => 'disporder')); while($setting = $db->fetch_array($query))
|
// Cache settings $query = $db->simple_select("settings", "*", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'", array('order_by' => 'disporder')); while($setting = $db->fetch_array($query))
|
{
| {
|
$cache_settings[$setting['gid']][$setting['sid']] = $setting; }
|
$cache_settings[$setting['gid']][$setting['sid']] = $setting; }
|
if(!$db->num_rows($query)) { flash_message($lang->error_no_settings_found, 'error'); admin_redirect("index.php?module=config-settings"); }
$group_lang_var = "setting_group_{$groupinfo['name']}"; if(isset($lang->$group_lang_var))
| if(!$db->num_rows($query)) { flash_message($lang->error_no_settings_found, 'error'); admin_redirect("index.php?module=config-settings"); }
$group_lang_var = "setting_group_{$groupinfo['name']}"; if(isset($lang->$group_lang_var))
|
{ $groupinfo['title'] = $lang->$group_lang_var; }
| { $groupinfo['title'] = $lang->$group_lang_var; }
|
Zeile 1167 | Zeile 1221 |
---|
// Page header $page->add_breadcrumb_item($groupinfo['title']); $page->output_header($lang->board_settings." - {$groupinfo['title']}");
|
// Page header $page->add_breadcrumb_item($groupinfo['title']); $page->output_header($lang->board_settings." - {$groupinfo['title']}");
|
$form = new Form("index.php?module=config-settings&action=change", "post", "change");
echo $form->generate_hidden_field("gid", $groupinfo['gid']);
| |
} else {
| } else {
|
Zeile 1197 | Zeile 1247 |
---|
// Page header $page->add_breadcrumb_item($lang->show_all_settings); $page->output_header($lang->board_settings." - {$lang->show_all_settings}");
|
// Page header $page->add_breadcrumb_item($lang->show_all_settings); $page->output_header($lang->board_settings." - {$lang->show_all_settings}");
|
$form = new Form("index.php?module=config-settings&action=change", "post", "change");
| |
}
|
}
|
// Build rest of page $buttons[] = $form->generate_submit_button($lang->save_settings);
| // Build individual forms as per settings group
|
foreach($cache_groups as $groupinfo) {
|
foreach($cache_groups as $groupinfo) {
|
| $form = new Form("index.php?module=config-settings&action=change", "post", "change"); echo $form->generate_hidden_field("gid", $groupinfo['gid']); $buttons = array($form->generate_submit_button($lang->save_settings));
|
$group_lang_var = "setting_group_{$groupinfo['name']}"; if(isset($lang->$group_lang_var)) { $groupinfo['title'] = $lang->$group_lang_var;
|
$group_lang_var = "setting_group_{$groupinfo['name']}"; if(isset($lang->$group_lang_var)) { $groupinfo['title'] = $lang->$group_lang_var;
|
}
| }
|
$form_container = new FormContainer($groupinfo['title']);
| $form_container = new FormContainer($groupinfo['title']);
|
Zeile 1232 | Zeile 1282 |
---|
$element_name = "upsetting[{$setting['name']}]"; $element_id = "setting_{$setting['name']}"; if($type[0] == "text" || $type[0] == "")
|
$element_name = "upsetting[{$setting['name']}]"; $element_id = "setting_{$setting['name']}"; if($type[0] == "text" || $type[0] == "")
|
{
| {
|
$setting_code = $form->generate_text_box($element_name, $setting['value'], array('id' => $element_id)); } else if($type[0] == "numeric") {
|
$setting_code = $form->generate_text_box($element_name, $setting['value'], array('id' => $element_id)); } 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 1474 | Zeile 1541 |
---|
$form_container->end();
$form->output_submit_wrapper($buttons);
|
$form_container->end();
$form->output_submit_wrapper($buttons);
|
| $form->end();
|
echo '<br />'; }
|
echo '<br />'; }
|
$form->end();
| |
print_setting_peekers();
| print_setting_peekers();
|
Zeile 1692 | Zeile 1759 |
---|
'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 1713 | Zeile 1780 |
---|
'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);
|