Vergleich admin/modules/config/settings.php - 1.8.25 - 1.8.37

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 98Zeile 98
	}

$form_container = new FormContainer($lang->add_new_setting_group);

	}

$form_container = new FormContainer($lang->add_new_setting_group);

	$form_container->output_row($lang->title." <em>*</em>", "", $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title');
$form_container->output_row($lang->description, "", $form->generate_text_area('description', $mybb->input['description'], array('id' => 'description')), 'description');
$form_container->output_row($lang->display_order, "", $form->generate_numeric_field('disporder', $mybb->input['disporder'], array('id' => 'disporder', 'min' => 0)), 'disporder');
$form_container->output_row($lang->name." <em>*</em>", $lang->group_name_desc, $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name');

	$form_container->output_row($lang->title." <em>*</em>", "", $form->generate_text_box('title', $mybb->get_input('title'), array('id' => 'title')), 'title');
$form_container->output_row($lang->description, "", $form->generate_text_area('description', $mybb->get_input('description'), array('id' => 'description')), 'description');
$form_container->output_row($lang->display_order, "", $form->generate_numeric_field('disporder', $mybb->get_input('disporder'), array('id' => 'disporder', 'min' => 0)), 'disporder');
$form_container->output_row($lang->name." <em>*</em>", $lang->group_name_desc, $form->generate_text_box('name', $mybb->get_input('name'), array('id' => 'name')), 'name');

	$form_container->end();

$buttons[] = $form->generate_submit_button($lang->insert_new_setting_group);

	$form_container->end();

$buttons[] = $form->generate_submit_button($lang->insert_new_setting_group);

Zeile 118Zeile 118
	$group = $db->fetch_array($query);

// Does the setting not exist?

	$group = $db->fetch_array($query);

// Does the setting not exist?

	if(!$group['gid'])

	if(!$group)

	{
flash_message($lang->error_invalid_gid2, 'error');
admin_redirect("index.php?module=config-settings&action=manage");

	{
flash_message($lang->error_invalid_gid2, 'error');
admin_redirect("index.php?module=config-settings&action=manage");

Zeile 220Zeile 220
	$group = $db->fetch_array($query);

// Does the setting group not exist?

	$group = $db->fetch_array($query);

// Does the setting group not exist?

	if(!$group['gid'])

	if(!$group)

	{
flash_message($lang->error_invalid_gid2, 'error');
admin_redirect("index.php?module=config-settings&action=manage");

	{
flash_message($lang->error_invalid_gid2, 'error');
admin_redirect("index.php?module=config-settings&action=manage");

Zeile 233Zeile 233
	}

// User clicked no

	}

// User clicked no

	if($mybb->input['no'])

	if($mybb->get_input('no'))

	{
admin_redirect("index.php?module=config-settings&action=manage");
}

	{
admin_redirect("index.php?module=config-settings&action=manage");
}

Zeile 293Zeile 293
		}

// do some type filtering

		}

// do some type filtering

		$mybb->input['type'] = str_replace("\n", "", $mybb->input['type']);
if(strtolower(substr($mybb->input['type'], 0, 3)) == "php")

		$mybb->input['type'] = $mybb->get_input('type');
if(!ctype_alnum($mybb->input['type']) || strtolower($mybb->input['type']) == "php")

		{
$mybb->input['type'] = "";
}

		{
$mybb->input['type'] = "";
}

Zeile 306Zeile 306

if(!$errors)
{


if(!$errors)
{

			if($mybb->input['type'] == "custom")
{
$options_code = $mybb->input['extra'];
}
else if($mybb->input['extra'])

			if($mybb->input['extra'])





			{
$options_code = "{$mybb->input['type']}\n{$mybb->input['extra']}";

			{
$options_code = "{$mybb->input['type']}\n{$mybb->input['extra']}";

			}
else

			}
else

			{
$options_code = $mybb->input['type'];
}

			{
$options_code = $mybb->input['type'];
}

Zeile 324Zeile 320
			$mybb->input['name'] = str_replace("'", '', $mybb->input['name']);

if($options_code == "numeric")

			$mybb->input['name'] = str_replace("'", '', $mybb->input['name']);

if($options_code == "numeric")

			{

			{

				$value = $mybb->get_input('value', MyBB::INPUT_INT);

				$value = $mybb->get_input('value', MyBB::INPUT_INT);

			}

			}

			else
{
$value = $db->escape_string($mybb->input['value']);
}

			else
{
$value = $db->escape_string($mybb->input['value']);
}





			$new_setting = array(
"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),

			$new_setting = array(
"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),

Zeile 386Zeile 382
	if($errors)
{
$page->output_inline_error($errors);

	if($errors)
{
$page->output_inline_error($errors);

	}

$form_container = new FormContainer($lang->add_new_setting);
$form_container->output_row($lang->title." <em>*</em>", "", $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title');
$form_container->output_row($lang->description, "", $form->generate_text_area('description', $mybb->input['description'], array('id' => 'description')), 'description');

	}

$form_container = new FormContainer($lang->add_new_setting);
$form_container->output_row($lang->title." <em>*</em>", "", $form->generate_text_box('title', $mybb->get_input('title'), array('id' => 'title')), 'title');
$form_container->output_row($lang->description, "", $form->generate_text_area('description', $mybb->get_input('description'), array('id' => 'description')), 'description');


$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))
{
$group_lang_var = "setting_group_{$group['name']}";


$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))
{
$group_lang_var = "setting_group_{$group['name']}";

		if($lang->$group_lang_var)

		if(!empty($lang->$group_lang_var))

		{
$options[$group['gid']] = htmlspecialchars_uni($lang->$group_lang_var);
}

		{
$options[$group['gid']] = htmlspecialchars_uni($lang->$group_lang_var);
}

Zeile 405Zeile 401
			$options[$group['gid']] = htmlspecialchars_uni($group['title']);
}
}

			$options[$group['gid']] = htmlspecialchars_uni($group['title']);
}
}

	$form_container->output_row($lang->group." <em>*</em>", "", $form->generate_select_box("gid", $options, $mybb->input['gid'], array('id' => 'gid')), 'gid');
$form_container->output_row($lang->display_order, "", $form->generate_numeric_field('disporder', $mybb->input['disporder'], array('id' => 'disporder', 'min' => 0)), 'disporder');

	$form_container->output_row($lang->group." <em>*</em>", "", $form->generate_select_box("gid", $options, $mybb->get_input('gid'), array('id' => 'gid')), 'gid');
$form_container->output_row($lang->display_order, "", $form->generate_numeric_field('disporder', $mybb->get_input('disporder'), array('id' => 'disporder', 'min' => 0)), 'disporder');





	$form_container->output_row($lang->name." <em>*</em>", $lang->name_desc, $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name');

	$form_container->output_row($lang->name." <em>*</em>", $lang->name_desc, $form->generate_text_box('name', $mybb->get_input('name'), array('id' => 'name')), 'name');


$setting_types = array(
"text" => $lang->text,


$setting_types = array(
"text" => $lang->text,

Zeile 430Zeile 426
		//"php" => $lang->php // Internal Use Only
);


		//"php" => $lang->php // Internal Use Only
);


	$form_container->output_row($lang->type." <em>*</em>", "", $form->generate_select_box("type", $setting_types, $mybb->input['type'], array('id' => 'type')), 'type');
$form_container->output_row($lang->extra, $lang->extra_desc, $form->generate_text_area('extra', $mybb->input['extra'], array('id' => 'extra')), 'extra', array(), array('id' => 'row_extra'));
$form_container->output_row($lang->value, "", $form->generate_text_area('value', $mybb->input['value'], array('id' => 'value')), 'value');

	$form_container->output_row($lang->type." <em>*</em>", "", $form->generate_select_box("type", $setting_types, $mybb->get_input('type'), array('id' => 'type')), 'type');
$form_container->output_row($lang->extra, $lang->extra_desc, $form->generate_text_area('extra', $mybb->get_input('extra'), array('id' => 'extra')), 'extra', array(), array('id' => 'row_extra'));
$form_container->output_row($lang->value, "", $form->generate_text_area('value', $mybb->get_input('value'), array('id' => 'value')), 'value');

	$form_container->end();

$buttons[] = $form->generate_submit_button($lang->insert_new_setting);

	$form_container->end();

$buttons[] = $form->generate_submit_button($lang->insert_new_setting);

Zeile 458Zeile 454
	$setting = $db->fetch_array($query);

// Does the setting not exist?

	$setting = $db->fetch_array($query);

// Does the setting not exist?

	if(!$setting['sid'])

	if(!$setting)

	{
flash_message($lang->error_invalid_sid, 'error');
admin_redirect("index.php?module=config-settings");

	{
flash_message($lang->error_invalid_sid, 'error');
admin_redirect("index.php?module=config-settings");

Zeile 476Zeile 472
	$type = explode("\n", $setting['optionscode'], 2);
$type = trim($type[0]);
if($type == "php")

	$type = explode("\n", $setting['optionscode'], 2);
$type = trim($type[0]);
if($type == "php")

	{
flash_message($lang->error_cannot_edit_php, 'error');
admin_redirect("index.php?module=config-settings&action=manage");
}


	{
flash_message($lang->error_cannot_edit_php, 'error');
admin_redirect("index.php?module=config-settings&action=manage");
}


	if($mybb->request_method == "post")
{
if(!trim($mybb->input['title']))

	if($mybb->request_method == "post")
{
if(!trim($mybb->input['title']))

Zeile 500Zeile 496
		}

// do some type filtering

		}

// do some type filtering

		$mybb->input['type'] = str_replace("\n", "", $mybb->input['type']);
if(strtolower(substr($mybb->input['type'], 0, 3)) == "php")

		$mybb->input['type'] = $mybb->get_input('type');
if(!ctype_alnum($mybb->input['type']) || strtolower($mybb->input['type']) == "php")

		{
$mybb->input['type'] = "";
}

		{
$mybb->input['type'] = "";
}

Zeile 513Zeile 509

if(!$errors)
{


if(!$errors)
{

			if($mybb->input['type'] == "custom")
{
$options_code = $mybb->input['extra'];
}
else if($mybb->input['extra'])

			if($mybb->input['extra'])





			{
$options_code = "{$mybb->input['type']}\n{$mybb->input['extra']}";
}

			{
$options_code = "{$mybb->input['type']}\n{$mybb->input['extra']}";
}

Zeile 602Zeile 594
		$setting_data = $setting;
$type = explode("\n", $setting['optionscode'], 2);
$setting_data['type'] = trim($type[0]);

		$setting_data = $setting;
$type = explode("\n", $setting['optionscode'], 2);
$setting_data['type'] = trim($type[0]);

		$setting_data['extra'] = trim($type[1]);






if(isset($type[1]))
{
$setting_data['extra'] = trim($type[1]);
}

	}

$form_container = new FormContainer($lang->modify_setting);

	}

$form_container = new FormContainer($lang->modify_setting);

Zeile 613Zeile 609
	while($group = $db->fetch_array($query))
{
$group_lang_var = "setting_group_{$group['name']}";

	while($group = $db->fetch_array($query))
{
$group_lang_var = "setting_group_{$group['name']}";

		if($lang->$group_lang_var)

		if(!empty($lang->$group_lang_var))

		{
$options[$group['gid']] = htmlspecialchars_uni($lang->$group_lang_var);
}

		{
$options[$group['gid']] = htmlspecialchars_uni($lang->$group_lang_var);
}

Zeile 647Zeile 643
		"cpstyle" => $lang->cpstyle,
"prefixselect" => $lang->prefix_selection_box
//"php" => $lang->php // Internal Use Only

		"cpstyle" => $lang->cpstyle,
"prefixselect" => $lang->prefix_selection_box
//"php" => $lang->php // Internal Use Only

	);


	);


	$form_container->output_row($lang->type." <em>*</em>", "", $form->generate_select_box("type", $setting_types, $setting_data['type'], array('id' => 'type')), 'type');

	$form_container->output_row($lang->type." <em>*</em>", "", $form->generate_select_box("type", $setting_types, $setting_data['type'], array('id' => 'type')), 'type');

	$form_container->output_row($lang->extra, $lang->extra_desc, $form->generate_text_area('extra', $setting_data['extra'], array('id' => 'extra')), 'extra', array(), array('id' => 'row_extra'));

	$form_container->output_row($lang->extra, $lang->extra_desc, $form->generate_text_area('extra', !empty($setting_data['extra']) ? $setting_data['extra'] : null, array('id' => 'extra')), 'extra', array(), array('id' => 'row_extra'));

	$form_container->output_row($lang->value, '', $form->generate_text_area('value', $setting_data['value'], array('id' => 'value')), 'value');
$form_container->end();


	$form_container->output_row($lang->value, '', $form->generate_text_area('value', $setting_data['value'], array('id' => 'value')), 'value');
$form_container->end();


Zeile 677Zeile 673
	$setting = $db->fetch_array($query);

// Does the setting not exist?

	$setting = $db->fetch_array($query);

// Does the setting not exist?

	if(!$setting['sid'])

	if(!$setting)

	{
flash_message($lang->error_invalid_sid, 'error');
admin_redirect("index.php?module=config-settings&action=manage");

	{
flash_message($lang->error_invalid_sid, 'error');
admin_redirect("index.php?module=config-settings&action=manage");

Zeile 691Zeile 687
	}

// User clicked no

	}

// User clicked no

	if($mybb->input['no'])

	if($mybb->get_input('no'))

	{
admin_redirect("index.php?module=config-settings&action=manage");
}

	{
admin_redirect("index.php?module=config-settings&action=manage");
}

Zeile 805Zeile 801
		// Make setting group row
// Translated?
$group_lang_var = "setting_group_{$group['name']}";

		// Make setting group row
// Translated?
$group_lang_var = "setting_group_{$group['name']}";

		if($lang->$group_lang_var)

		if(!empty($lang->$group_lang_var))

		{
$group_title = htmlspecialchars_uni($lang->$group_lang_var);
}

		{
$group_title = htmlspecialchars_uni($lang->$group_lang_var);
}

Zeile 830Zeile 826
		$table->construct_row(array('class' => 'alt_row', 'no_alt_row' => 1));

// Make rows for each setting in the group

		$table->construct_row(array('class' => 'alt_row', 'no_alt_row' => 1));

// Make rows for each setting in the group

		if(is_array($settings_cache[$group['gid']]))

		if(isset($settings_cache[$group['gid']]) && is_array($settings_cache[$group['gid']]))

		{
foreach($settings_cache[$group['gid']] as $setting)
{
$setting_lang_var = "setting_{$setting['name']}";

		{
foreach($settings_cache[$group['gid']] as $setting)
{
$setting_lang_var = "setting_{$setting['name']}";

				if($lang->$setting_lang_var)

				if(!empty($lang->$setting_lang_var))

				{
$setting_title = htmlspecialchars_uni($lang->$setting_lang_var);
}

				{
$setting_title = htmlspecialchars_uni($lang->$setting_lang_var);
}

Zeile 915Zeile 911
		);

$is_current_hiddencaptcha_wrong = in_array($mybb->settings['hiddencaptchaimagefield'], $disallowed_fields);

		);

$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']) && 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)
{

		{
if(isset($mybb->input['upsetting']['hiddencaptchaimagefield']) && $mybb->input['upsetting']['hiddencaptchaimagefield'] != $mybb->settings['hiddencaptchaimagefield'] && !$is_current_hiddencaptcha_wrong)
{

Zeile 958Zeile 957
			}
}


			}
}


		// Have we opted for a reCAPTCHA or hCaptcha 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']['recaptchaprivatekey'] || !$mybb->input['upsetting']['recaptchapublickey']))
|| (in_array($mybb->settings['captchaimage'], array(4, 5)) && (!$mybb->settings['recaptchaprivatekey'] || !$mybb->settings['recaptchapublickey']))
|| (isset($mybb->input['upsetting']['captchaimage']) && in_array($mybb->input['upsetting']['captchaimage'], array(8)) && (!$mybb->input['upsetting']['recaptchaprivatekey'] || !$mybb->input['upsetting']['recaptchapublickey'] || !$mybb->input['upsetting']['recaptchascore']))
|| (in_array($mybb->settings['captchaimage'], array(8)) && (!$mybb->settings['recaptchaprivatekey'] || !$mybb->settings['recaptchapublickey'] || !$mybb->settings['recaptchascore']))
|| (isset($mybb->input['upsetting']['captchaimage']) && in_array($mybb->input['upsetting']['captchaimage'], array(6, 7)) && (!$mybb->input['upsetting']['hcaptchaprivatekey'] || !$mybb->input['upsetting']['hcaptchapublickey']))
|| (in_array($mybb->settings['captchaimage'], array(6, 7)) && (!$mybb->settings['hcaptchaprivatekey'] || !$mybb->settings['hcaptchapublickey'])))

		// Validate minnamelength, maxnamelength, minpasswordlength (complex and regular) and maxpasswordlength
if ($gid == 9)






		{

		{

			$mybb->input['upsetting']['captchaimage'] = 1;





















































































			if (
isset($mybb->input['upsetting']['minnamelength'], $mybb->input['upsetting']['maxnamelength']) &&
$mybb->input['upsetting']['minnamelength'] > 0 && $mybb->input['upsetting']['maxnamelength'] > 0 &&
$mybb->input['upsetting']['minnamelength'] > $mybb->input['upsetting']['maxnamelength'])
{
flash_message($lang->error_field_minnamelength, 'error');
admin_redirect("index.php?module=config-settings&action=change&gid=".$gid);
}

if (
isset($mybb->input['upsetting']['minpasswordlength'], $mybb->input['upsetting']['maxpasswordlength']) &&
$mybb->input['upsetting']['minpasswordlength'] > 0 && $mybb->input['upsetting']['maxpasswordlength'] > 0 &&
$mybb->input['upsetting']['minpasswordlength'] > $mybb->input['upsetting']['maxpasswordlength']
)
{
flash_message($lang->error_field_minpasswordlength, 'error');
admin_redirect("index.php?module=config-settings&action=change&gid=".$gid);
}

if (
isset($mybb->input['upsetting']['minpasswordlength'], $mybb->input['upsetting']['requirecomplexpasswords']) &&
$mybb->input['upsetting']['requirecomplexpasswords'] && $mybb->input['upsetting']['minpasswordlength'] < 3
)
{
flash_message($lang->error_field_minpasswordlength_complex, 'error');
admin_redirect("index.php?module=config-settings&action=change&gid=".$gid);
}
}

require_once MYBB_ROOT.'inc/class_captcha.php';

// Have we opted for a reCAPTCHA or hCaptcha and not set a public/private key in input?
$set_captcha_image = false;
if(isset(
$mybb->input['upsetting']['captchaimage'],
$mybb->input['upsetting']['recaptchaprivatekey'],
$mybb->input['upsetting']['recaptchapublickey'],
$mybb->input['upsetting']['recaptchascore'],
$mybb->input['upsetting']['hcaptchaprivatekey'],
$mybb->input['upsetting']['hcaptchapublickey']
))
{
$captchaimage = $mybb->input['upsetting']['captchaimage'];
$recaptchaprivatekey = $mybb->input['upsetting']['recaptchaprivatekey'];
$recaptchapublickey = $mybb->input['upsetting']['recaptchapublickey'];
$recaptchascore = $mybb->input['upsetting']['recaptchascore'];
$hcaptchaprivatekey = $mybb->input['upsetting']['hcaptchaprivatekey'];
$hcaptchapublickey = $mybb->input['upsetting']['hcaptchapublickey'];

if(in_array($captchaimage, array(captcha::NOCAPTCHA_RECAPTCHA, captcha::RECAPTCHA_INVISIBLE)) && (!$recaptchaprivatekey || !$recaptchapublickey))
{
$set_captcha_image = true;
}
else if(in_array($captchaimage, array(captcha::RECAPTCHA_V3)) && (!$recaptchaprivatekey || !$recaptchapublickey || !$recaptchascore))
{
$set_captcha_image = true;
}
else if(in_array($captchaimage, array(captcha::HCAPTCHA, captcha::HCAPTCHA_INVISIBLE)) && (!$hcaptchaprivatekey || !$hcaptchapublickey))
{
$set_captcha_image = true;
}
}

//Checking settings for reCAPTCHA or hCaptcha and public/private key not set?
$captchaimage = $mybb->settings['captchaimage'];
$recaptchaprivatekey = $mybb->settings['recaptchaprivatekey'];
$recaptchapublickey = $mybb->settings['recaptchapublickey'];
$recaptchascore = $mybb->settings['recaptchascore'];
$hcaptchaprivatekey = $mybb->settings['hcaptchaprivatekey'];
$hcaptchapublickey = $mybb->settings['hcaptchapublickey'];

if(in_array($captchaimage, array(captcha::NOCAPTCHA_RECAPTCHA, captcha::RECAPTCHA_INVISIBLE)) && (!$recaptchaprivatekey || !$recaptchapublickey))
{
$set_captcha_image = true;
}
else if(in_array($captchaimage, array(captcha::RECAPTCHA_V3)) && (!$recaptchaprivatekey || !$recaptchapublickey || !$recaptchascore))
{
$set_captcha_image = true;
}
else if(in_array($captchaimage, array(captcha::HCAPTCHA, captcha::HCAPTCHA_INVISIBLE)) && (!$hcaptchaprivatekey || !$hcaptchapublickey))
{
$set_captcha_image = true;
}
if($set_captcha_image){
$mybb->input['upsetting']['captchaimage'] = captcha::DEFAULT_CAPTCHA;

			$lang->success_settings_updated .= $lang->success_settings_updated_captchaimage;
}


			$lang->success_settings_updated .= $lang->success_settings_updated_captchaimage;
}


Zeile 1050Zeile 1128
		}

// Administrator is changing the login method.

		}

// 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)

		if(isset($mybb->input['upsetting']['username_method']) && (int)$mybb->input['upsetting']['username_method'] > 0)

		{

		{

			$query = $db->simple_select('users', 'email', "email != ''", array('group_by' => 'email HAVING COUNT(email)>1'));
if($db->num_rows($query))

			if((int)$mybb->settings['allowmultipleemails'] == 1)


			{
$mybb->input['upsetting']['username_method'] = 0;

			{
$mybb->input['upsetting']['username_method'] = 0;

				$lang->success_settings_updated .= $lang->success_settings_updated_username_method;

				$lang->success_settings_updated .= $lang->success_settings_updated_username_method_conflict;

			}
else

			}
else

 
			{
$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;
}
}
}

if(isset($mybb->input['upsetting']['username_method'], $mybb->input['upsetting']['allowmultipleemails']))
{
// Administrator is changing registration email allowance
if((int)$mybb->settings['username_method'] > 0 && (int)$mybb->input['upsetting']['allowmultipleemails'] !== 0)

			{
$mybb->input['upsetting']['allowmultipleemails'] = 0;
$lang->success_settings_updated .= $lang->success_settings_updated_allowmultipleemails;

			{
$mybb->input['upsetting']['allowmultipleemails'] = 0;
$lang->success_settings_updated .= $lang->success_settings_updated_allowmultipleemails;

 
			}

// Reset conflict silently, if by chance
if((int)$mybb->settings['username_method'] > 0 && (int)$mybb->settings['allowmultipleemails'] == 1)
{
$mybb->input['upsetting']['allowmultipleemails'] = 0;

			}
}


			}
}


Zeile 1070Zeile 1167
			'uploadspath',
'cdnpath',
'avataruploadpath',

			'uploadspath',
'cdnpath',
'avataruploadpath',

		);


		);


		$dynamic_include_directories = array(
MYBB_ROOT.'cache/',
MYBB_ROOT.'inc/plugins/',

		$dynamic_include_directories = array(
MYBB_ROOT.'cache/',
MYBB_ROOT.'inc/plugins/',

Zeile 1081Zeile 1178
		$dynamic_include_directories_realpath = array_map('realpath', $dynamic_include_directories);

foreach($fields as $field)

		$dynamic_include_directories_realpath = array_map('realpath', $dynamic_include_directories);

foreach($fields as $field)

		{
if(
isset($mybb->input['upsetting'][$field]) &&
is_string($mybb->input['upsetting'][$field]) &&
strpos($mybb->input['upsetting'][$field], '://') !== false)
{
unset($mybb->input['upsetting'][$field]);
continue;
}

$realpath = realpath(MYBB_ROOT.$mybb->input['upsetting'][$field]);

if ($realpath === false) {
unset($mybb->input['upsetting'][$field]);
continue;
}

foreach ($dynamic_include_directories_realpath as $forbidden_realpath)

		{
if(isset($mybb->input['upsetting'][$field]))

















			{

			{

				if ($realpath === $forbidden_realpath || strpos($realpath, $forbidden_realpath.DIRECTORY_SEPARATOR) === 0)



				if(
is_string($mybb->input['upsetting'][$field]) &&
strpos($mybb->input['upsetting'][$field], '://') !== false)

				{
unset($mybb->input['upsetting'][$field]);

				{
unset($mybb->input['upsetting'][$field]);

					continue 2;

					continue;

				}

				}

			}
}



















$realpath = realpath(mk_path_abs($mybb->input['upsetting'][$field]));

if ($realpath === false)
{
unset($mybb->input['upsetting'][$field]);
continue;
}

foreach ($dynamic_include_directories_realpath as $forbidden_realpath)
{
if ($realpath === $forbidden_realpath || strpos($realpath, $forbidden_realpath.DIRECTORY_SEPARATOR) === 0)
{
unset($mybb->input['upsetting'][$field]);
continue 2;
}
}
}
}



if(is_array($mybb->input['upsetting']))



if(is_array($mybb->input['upsetting']))

Zeile 1139Zeile 1239
					else
{
$value = '';

					else
{
$value = '';

					}
}

					}
}

				elseif($checkbox_settings && in_array($name, $checkbox_settings))
{
$value = '';

				elseif($checkbox_settings && in_array($name, $checkbox_settings))
{
$value = '';

Zeile 1156Zeile 1256
		}

// Check if we need to create our fulltext index after changing the search mode

		}

// 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(
isset($mybb->input['upsetting']['searchtype']) &&
$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("threads") && $db->supports_fulltext("threads"))

		{
if(!$db->is_fulltext("posts") && $db->supports_fulltext_boolean("posts"))
{
$db->create_fulltext_index("posts", "message");
}
if(!$db->is_fulltext("threads") && $db->supports_fulltext("threads"))

			{

			{

				$db->create_fulltext_index("threads", "subject");
}

				$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 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->update_query("tasks", array('enabled' => (int)$mybb->input['upsetting']['delayedthreadviews']), "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
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, "lax");
}


			my_setcookie("adminsid", $admin_session['sid'], '', true, "strict");
}


		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'];

		}

$statslimit = $mybb->settings['statslimit'];


rebuild_settings();



rebuild_settings();


Zeile 1195Zeile 1299
		{
$cache->update_most_replied_threads();
$cache->update_most_viewed_threads();

		{
$cache->update_most_replied_threads();
$cache->update_most_viewed_threads();

		}

$plugins->run_hooks("admin_config_settings_change_commit");


		}

$plugins->run_hooks("admin_config_settings_change_commit");


		// Log admin action
log_admin_action();


		// Log admin action
log_admin_action();


Zeile 1231Zeile 1335
					{
$search_in .= ' ' . $lang->$search_in_lang_key;
}

					{
$search_in .= ' ' . $lang->$search_in_lang_key;
}

				}

				}

				if(my_stripos($search_in, $search) !== false)
{
$cache_settings[$setting['gid']][$setting['sid']] = $setting;

				if(my_stripos($search_in, $search) !== false)
{
$cache_settings[$setting['gid']][$setting['sid']] = $setting;

Zeile 1268Zeile 1372
			$page->output_header($lang->board_settings." - {$lang->settings_search}");
}
}

			$page->output_header($lang->board_settings." - {$lang->settings_search}");
}
}

	elseif($mybb->input['gid'])

	elseif(($mybb->get_input('gid')))

	{
// Group listing
// Cache groups

	{
// Group listing
// Cache groups

Zeile 1299Zeile 1403
		{
$groupinfo['title'] = $lang->$group_lang_var;
}

		{
$groupinfo['title'] = $lang->$group_lang_var;
}

 

$groupinfo['title'] = htmlspecialchars_uni($groupinfo['title']);


// Page header
$page->add_breadcrumb_item($groupinfo['title']);


// Page header
$page->add_breadcrumb_item($groupinfo['title']);

Zeile 1343Zeile 1449
			$groupinfo['title'] = $lang->$group_lang_var;
}


			$groupinfo['title'] = $lang->$group_lang_var;
}


		$form_container = new FormContainer($groupinfo['title']);



		$groupinfo['title'] = htmlspecialchars_uni($groupinfo['title']);

$form_container = new FormContainer($groupinfo['title']);


if(empty($cache_settings[$groupinfo['gid']]))


if(empty($cache_settings[$groupinfo['gid']]))

		{

		{

			$form_container->output_cell($lang->error_no_settings_found);
$form_container->construct_row();

$form_container->end();
echo '<br />';

			$form_container->output_cell($lang->error_no_settings_found);
$form_container->construct_row();

$form_container->end();
echo '<br />';





			continue;
}

foreach($cache_settings[$groupinfo['gid']] as $setting)
{

			continue;
}

foreach($cache_settings[$groupinfo['gid']] as $setting)
{

 
			$setting['name'] = htmlspecialchars_uni($setting['name']);


			$options = "";
$type = explode("\n", $setting['optionscode']);
$type[0] = trim($type[0]);

			$options = "";
$type = explode("\n", $setting['optionscode']);
$type[0] = trim($type[0]);

Zeile 1407Zeile 1517
				$folders = array();
while($folder = readdir($dir))
{

				$folders = array();
while($folder = readdir($dir))
{

					if($file != "." && $file != ".." && @file_exists(MYBB_ROOT.$config['admin_dir']."/styles/$folder/main.css"))

					if($folder != "." && $folder != ".." && @file_exists(MYBB_ROOT.$config['admin_dir']."/styles/$folder/main.css"))

					{
$folders[$folder] = ucfirst($folder);
}

					{
$folders[$folder] = ucfirst($folder);
}

Zeile 1447Zeile 1557
						$value = (int)$value;
}
unset($value);

						$value = (int)$value;
}
unset($value);

				}


				}


				$forum_checked = array('all' => '', 'custom' => '', 'none' => '');
if($setting['value'] == -1)
{

				$forum_checked = array('all' => '', 'custom' => '', 'none' => '');
if($setting['value'] == -1)
{

Zeile 1485Zeile 1595
			}
else if($type[0] == "forumselectsingle")
{

			}
else if($type[0] == "forumselectsingle")
{

				$selected_value = (int)$setting['value']; // No need to check if empty, int will give 0
$setting_code = $form->generate_forum_select($element_name, $selected_value, array('id' => $element_id, 'main_option' => $lang->none));
}
else if($type[0] == "groupselect")
{

				$selected_value = (int)$setting['value']; // No need to check if empty, int will give 0
$setting_code = $form->generate_forum_select($element_name, $selected_value, array('id' => $element_id, 'main_option' => $lang->none));
}
else if($type[0] == "groupselect")
{

				$selected_values = '';
if($setting['value'] != '' && $setting['value'] != -1)
{

				$selected_values = '';
if($setting['value'] != '' && $setting['value'] != -1)
{

Zeile 1527Zeile 1637
							<tr>
<td valign=\"top\"><small>{$lang->groups_colon}</small></td>
<td>".$form->generate_group_select('select['.$setting['name'].'][]', $selected_values, array('id' => $element_id, 'multiple' => true, 'size' => 5))."</td>

							<tr>
<td valign=\"top\"><small>{$lang->groups_colon}</small></td>
<td>".$form->generate_group_select('select['.$setting['name'].'][]', $selected_values, array('id' => $element_id, 'multiple' => true, 'size' => 5))."</td>

							</tr>
</table>
</dd>

							</tr>
</table>
</dd>

					<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$group_checked['none']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->none}</strong></label></dt>
</dl>
<script type=\"text/javascript\">

					<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$group_checked['none']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->none}</strong></label></dt>
</dl>
<script type=\"text/javascript\">

Zeile 1594Zeile 1704
					$multivalue = explode(',', $setting['value']);
}


					$multivalue = explode(',', $setting['value']);
}


 
				$option_list = array();

				for($i = 0; $i < $typecount; $i++)
{
$optionsexp = explode("=", $type[$i]);

				for($i = 0; $i < $typecount; $i++)
{
$optionsexp = explode("=", $type[$i]);

Zeile 1648Zeile 1759
						$setting_code .= $form->generate_hidden_field("isvisible_{$setting['name']}", 1);
}
}

						$setting_code .= $form->generate_hidden_field("isvisible_{$setting['name']}", 1);
}
}

				$option_list = array();

 
			}

// Do we have a custom language variable for this title or description?

			}

// Do we have a custom language variable for this title or description?

Zeile 1818Zeile 1928
		while($group = $db->fetch_array($query))
{
$group_lang_var = "setting_group_{$group['name']}";

		while($group = $db->fetch_array($query))
{
$group_lang_var = "setting_group_{$group['name']}";

			if($lang->$group_lang_var)

			if(isset($lang->$group_lang_var))

			{
$group_title = htmlspecialchars_uni($lang->$group_lang_var);
}

			{
$group_title = htmlspecialchars_uni($lang->$group_lang_var);
}

Zeile 1828Zeile 1938
			}

$group_desc_lang_var = "setting_group_{$group['name']}_desc";

			}

$group_desc_lang_var = "setting_group_{$group['name']}_desc";

			if($lang->$group_desc_lang_var)

			if(isset($lang->$group_desc_lang_var))

			{
$group_desc = htmlspecialchars_uni($lang->$group_desc_lang_var);
}

			{
$group_desc = htmlspecialchars_uni($lang->$group_desc_lang_var);
}