Vergleich admin/modules/config/settings.php - 1.8.16 - 1.8.30

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

Zeile 361Zeile 357
	$sub_tabs['change_settings'] = array(
'title' => $lang->change_settings,
'link' => "index.php?module=config-settings"

	$sub_tabs['change_settings'] = array(
'title' => $lang->change_settings,
'link' => "index.php?module=config-settings"

	);


	);


	$sub_tabs['add_setting'] = array(
'title' => $lang->add_new_setting,
'link' => "index.php?module=config-settings&amp;action=add",
'description' => $lang->add_new_setting_desc

	$sub_tabs['add_setting'] = array(
'title' => $lang->add_new_setting,
'link' => "index.php?module=config-settings&amp;action=add",
'description' => $lang->add_new_setting_desc

	);


	);


	$sub_tabs['add_setting_group'] = array(
'title' => $lang->add_new_setting_group,
'link' => "index.php?module=config-settings&amp;action=addgroup"

	$sub_tabs['add_setting_group'] = array(
'title' => $lang->add_new_setting_group,
'link' => "index.php?module=config-settings&amp;action=addgroup"

	);

	);


$sub_tabs['modify_setting'] = array(
'title' => $lang->modify_existing_settings,
'link' => "index.php?module=config-settings&amp;action=manage"


$sub_tabs['modify_setting'] = array(
'title' => $lang->modify_existing_settings,
'link' => "index.php?module=config-settings&amp;action=manage"

	);


	);


	$page->output_nav_tabs($sub_tabs, 'add_setting');

$form = new Form("index.php?module=config-settings&amp;action=add", "post", "add");

	$page->output_nav_tabs($sub_tabs, 'add_setting');

$form = new Form("index.php?module=config-settings&amp;action=add", "post", "add");

Zeile 389Zeile 385
	}

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

	}

$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->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 425Zeile 421
		"checkbox" => $lang->checkbox,
"language" => $lang->language_selection_box,
"adminlanguage" => $lang->adminlanguage,

		"checkbox" => $lang->checkbox,
"language" => $lang->language_selection_box,
"adminlanguage" => $lang->adminlanguage,

		"cpstyle" => $lang->cpstyle


		"cpstyle" => $lang->cpstyle,
"prefixselect" => $lang->prefix_selection_box

		//"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->output_submit_wrapper($buttons);
$form->end();


	$form_container->end();

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


	echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script>

	echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1821"></script>

	<script type="text/javascript">

	<script type="text/javascript">

		$(document).ready(function() {

		$(function() {

			new Peeker($("#type"), $("#row_extra"), /^(select|radio|checkbox|php)$/, false);
});
// Add a star to the extra row since the "extra" is required if the box is shown

			new Peeker($("#type"), $("#row_extra"), /^(select|radio|checkbox|php)$/, false);
});
// Add a star to the extra row since the "extra" is required if the box is shown

Zeile 458Zeile 455

// Does the setting not exist?
if(!$setting['sid'])


// Does the setting not exist?
if(!$setting['sid'])

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

// Prevent editing of default
if($setting['isdefault'] == 1)
{
flash_message($lang->error_cannot_edit_default, 'error');
admin_redirect("index.php?module=config-settings&action=manage");
}

$plugins->run_hooks("admin_config_settings_edit");

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

// Prevent editing of default
if($setting['isdefault'] == 1)
{
flash_message($lang->error_cannot_edit_default, 'error');
admin_redirect("index.php?module=config-settings&action=manage");
}

$plugins->run_hooks("admin_config_settings_edit");


$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");
}

Zeile 485Zeile 482
		if(!trim($mybb->input['title']))
{
$errors[] = $lang->error_missing_title;

		if(!trim($mybb->input['title']))
{
$errors[] = $lang->error_missing_title;

		}


		}


		if(!trim($mybb->input['name']))
{
$errors[] = $lang->error_missing_name;
}
$query = $db->simple_select("settings", "title", "name='".$db->escape_string($mybb->input['name'])."' AND sid != '{$setting['sid']}'");
if($db->num_rows($query) > 0)

		if(!trim($mybb->input['name']))
{
$errors[] = $lang->error_missing_name;
}
$query = $db->simple_select("settings", "title", "name='".$db->escape_string($mybb->input['name'])."' AND sid != '{$setting['sid']}'");
if($db->num_rows($query) > 0)

		{

		{

			$dup_setting_title = $db->fetch_field($query, 'title');
$errors[] = $lang->sprintf($lang->error_duplicate_name, $dup_setting_title);
}

// do some type filtering

			$dup_setting_title = $db->fetch_field($query, 'title');
$errors[] = $lang->sprintf($lang->error_duplicate_name, $dup_setting_title);
}

// 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'] = "";
}

if(!$mybb->input['type'])

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

if(!$mybb->input['type'])

		{

		{

			$errors[] = $lang->error_invalid_type;
}

			$errors[] = $lang->error_invalid_type;
}





		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 527Zeile 520

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


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

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

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


if($options_code == "numeric")
{


if($options_code == "numeric")
{

Zeile 562Zeile 555
	}

$page->add_breadcrumb_item($lang->edit_setting);

	}

$page->add_breadcrumb_item($lang->edit_setting);

	$page->output_header($lang->board_settings." - ".$lang->edit_setting);


	$page->output_header($lang->board_settings." - ".$lang->edit_setting);


	$sub_tabs['change_settings'] = array(
'title' => $lang->change_settings,
'link' => "index.php?module=config-settings",

	$sub_tabs['change_settings'] = array(
'title' => $lang->change_settings,
'link' => "index.php?module=config-settings",

Zeile 601Zeile 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 612Zeile 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);

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

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

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

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

Zeile 643Zeile 640
		"checkbox" => $lang->checkbox,
"language" => $lang->language_selection_box,
"adminlanguage" => $lang->adminlanguage,

		"checkbox" => $lang->checkbox,
"language" => $lang->language_selection_box,
"adminlanguage" => $lang->adminlanguage,

		"cpstyle" => $lang->cpstyle


		"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');

		//"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->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 656Zeile 654
	$form->output_submit_wrapper($buttons);
$form->end();


	$form->output_submit_wrapper($buttons);
$form->end();


	echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script>

	echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1821"></script>

	<script type="text/javascript">

	<script type="text/javascript">

		$(document).ready(function() {

		$(function() {

			new Peeker($("#type"), $("#row_extra"), /^(select|radio|checkbox|php)$/, false);
});
// Add a star to the extra row since the "extra" is required if the box is shown

			new Peeker($("#type"), $("#row_extra"), /^(select|radio|checkbox|php)$/, false);
});
// Add a star to the extra row since the "extra" is required if the box is shown

Zeile 675Zeile 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(empty($setting['sid']))

	{
flash_message($lang->error_invalid_sid, 'error');

	{
flash_message($lang->error_invalid_sid, 'error');

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


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


	// Prevent editing of default
if($setting['isdefault'] == 1)

	// Prevent editing of default
if($setting['isdefault'] == 1)

	{

	{

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


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


	// User clicked no
if($mybb->input['no'])
{
admin_redirect("index.php?module=config-settings&action=manage");
}

$plugins->run_hooks("admin_config_settings_delete");

if($mybb->request_method == "post")
{

	// User clicked no
if($mybb->get_input('no'))
{
admin_redirect("index.php?module=config-settings&action=manage");
}

$plugins->run_hooks("admin_config_settings_delete");

if($mybb->request_method == "post")
{

		// Delete the setting
$db->delete_query("settings", "sid='{$setting['sid']}'");


		// Delete the setting
$db->delete_query("settings", "sid='{$setting['sid']}'");


		rebuild_settings();


		rebuild_settings();


		$plugins->run_hooks("admin_config_settings_delete_commit");

// Log admin action

		$plugins->run_hooks("admin_config_settings_delete_commit");

// Log admin action

Zeile 716Zeile 714
		$page->output_confirm_action("index.php?module=config-settings&amp;action=delete&amp;sid={$setting['sid']}", $lang->confirm_setting_deletion);
}
}

		$page->output_confirm_action("index.php?module=config-settings&amp;action=delete&amp;sid={$setting['sid']}", $lang->confirm_setting_deletion);
}
}





// Modify Existing Settings
if($mybb->input['action'] == "manage")
{
$plugins->run_hooks("admin_config_settings_manage");

// Modify Existing Settings
if($mybb->input['action'] == "manage")
{
$plugins->run_hooks("admin_config_settings_manage");





	// Update orders
if($mybb->request_method == "post")
{

	// Update orders
if($mybb->request_method == "post")
{

Zeile 732Zeile 730
				$gid = (int)$gid;
$update_group = array('disporder' => (int)$new_order);
$db->update_query("settinggroups", $update_group, "gid={$gid}");

				$gid = (int)$gid;
$update_group = array('disporder' => (int)$new_order);
$db->update_query("settinggroups", $update_group, "gid={$gid}");

			}
}


			}
}


		if(is_array($mybb->input['setting_disporder']))
{
foreach($mybb->input['setting_disporder'] as $sid => $new_order)

		if(is_array($mybb->input['setting_disporder']))
{
foreach($mybb->input['setting_disporder'] as $sid => $new_order)

Zeile 770Zeile 768
	$sub_tabs['add_setting_group'] = array(
'title' => $lang->add_new_setting_group,
'link' => "index.php?module=config-settings&amp;action=addgroup"

	$sub_tabs['add_setting_group'] = array(
'title' => $lang->add_new_setting_group,
'link' => "index.php?module=config-settings&amp;action=addgroup"

	);


	);


	$sub_tabs['modify_setting'] = array(
'title' => $lang->modify_existing_settings,
'link' => "index.php?module=config-settings&amp;action=manage",
'description' => $lang->modify_existing_settings_desc
);

	$sub_tabs['modify_setting'] = array(
'title' => $lang->modify_existing_settings,
'link' => "index.php?module=config-settings&amp;action=manage",
'description' => $lang->modify_existing_settings_desc
);





	$page->output_nav_tabs($sub_tabs, 'modify_setting');

	$page->output_nav_tabs($sub_tabs, 'modify_setting');





	// Cache settings
$settings_cache = array();
$query = $db->simple_select("settings", "sid, name, title, disporder, gid, isdefault", "", array('order_by' => 'disporder', 'order_dir' => 'asc'));
while($setting = $db->fetch_array($query))
{
$settings_cache[$setting['gid']][] = $setting;

	// Cache settings
$settings_cache = array();
$query = $db->simple_select("settings", "sid, name, title, disporder, gid, isdefault", "", array('order_by' => 'disporder', 'order_dir' => 'asc'));
while($setting = $db->fetch_array($query))
{
$settings_cache[$setting['gid']][] = $setting;

	}

$form = new Form("index.php?module=config-settings&amp;action=manage", "post", "edit");


	}

$form = new Form("index.php?module=config-settings&amp;action=manage", "post", "edit");


	$table = new Table;

$table->construct_header($lang->setting_group_setting);

	$table = new Table;

$table->construct_header($lang->setting_group_setting);

Zeile 803Zeile 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);

		}
else
{

		}
else
{

			$group_title = htmlspecialchars_uni($group['title']);
}
$table->construct_cell("<strong>{$group_title}</strong>", array('id' => "group{$group['gid']}"));
$table->construct_cell($form->generate_numeric_field("group_disporder[{$group['gid']}]", $group['disporder'], array('style' => 'width: 80%; font-weight: bold', 'class' => 'align_center', 'min' => 0)));
// Only show options if not a default setting group
if($group['isdefault'] != 1)

			$group_title = htmlspecialchars_uni($group['title']);
}
$table->construct_cell("<strong>{$group_title}</strong>", array('id' => "group{$group['gid']}"));
$table->construct_cell($form->generate_numeric_field("group_disporder[{$group['gid']}]", $group['disporder'], array('style' => 'width: 80%; font-weight: bold', 'class' => 'align_center', 'min' => 0)));
// Only show options if not a default setting group
if($group['isdefault'] != 1)

		{

		{

			$popup = new PopupMenu("group_{$group['gid']}", $lang->options);
$popup->add_item($lang->edit_setting_group, "index.php?module=config-settings&amp;action=editgroup&amp;gid={$group['gid']}");
$popup->add_item($lang->delete_setting_group, "index.php?module=config-settings&amp;action=deletegroup&amp;gid={$group['gid']}&amp;my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->confirm_setting_group_deletion}')");
$table->construct_cell($popup->fetch(), array('class' => 'align_center'));

			$popup = new PopupMenu("group_{$group['gid']}", $lang->options);
$popup->add_item($lang->edit_setting_group, "index.php?module=config-settings&amp;action=editgroup&amp;gid={$group['gid']}");
$popup->add_item($lang->delete_setting_group, "index.php?module=config-settings&amp;action=deletegroup&amp;gid={$group['gid']}&amp;my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->confirm_setting_group_deletion}')");
$table->construct_cell($popup->fetch(), array('class' => 'align_center'));

		}

		}

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

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





		// Make rows for each setting in the group

		// 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 913Zeile 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)
{
$wrong_value = $mybb->input['upsetting']['hiddencaptchaimagefield'];
$mybb->input['upsetting']['hiddencaptchaimagefield'] = $mybb->settings['hiddencaptchaimagefield'];

		{
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

			else

			{

			{

				$wrong_value = $mybb->settings['hiddencaptchaimagefield'];
$mybb->input['upsetting']['hiddencaptchaimagefield'] = 'email3';

				$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));


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

// Validate minnamelength, maxnamelength, minpasswordlength (complex and regular) and maxpasswordlength
if ($gid == 9)
{
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;
}
}





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















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

		{

		{

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




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

 
		}

// If using fulltext then enforce minimum word length given by database
if(isset($mybb->input['upsetting']['minsearchword']) && $mybb->input['upsetting']['minsearchword'] > 0 && $mybb->input['upsetting']['searchtype'] == "fulltext" && $db->supports_fulltext_boolean("posts") && $db->supports_fulltext("threads"))
{
// Attempt to determine minimum word length from MySQL for fulltext searches
$query = $db->query("SHOW VARIABLES LIKE 'ft_min_word_len';");
$min_length = $db->fetch_field($query, 'Value');
if(is_numeric($min_length) && $mybb->input['upsetting']['minsearchword'] < $min_length)
{
$mybb->input['upsetting']['minsearchword'] = $min_length;
$lang->success_settings_updated .= $lang->success_settings_updated_minsearchword;
}

		}

// Get settings which optionscode is a forum/group select, checkbox or numeric
// We cannot rely on user input to decide this

		}

// 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') OR optionscode LIKE 'checkbox%' OR optionscode LIKE 'numeric%'");

		$checkbox_settings = $forum_group_select = $prefix_select = array();
$query = $db->simple_select('settings', 'name, optionscode', "optionscode IN('forumselect', 'groupselect', 'prefixselect') OR optionscode LIKE 'checkbox%' OR optionscode LIKE 'numeric%'");


while($multisetting = $db->fetch_array($query))
{


while($multisetting = $db->fetch_array($query))
{

Zeile 973Zeile 1097
							}
$options[$opt[0]] = $opt[1];
}

							}
$options[$opt[0]] = $opt[1];
}

					}

$value = (float)$mybb->input['upsetting'][$multisetting['name']];


					}

$value = (float)$mybb->input['upsetting'][$multisetting['name']];


					if(isset($options['min']))

					if(isset($options['min']))

					{

					{

						$value = max($value, $options['min']);
}

if(isset($options['max']))
{
$value = min($value, $options['max']);

						$value = max($value, $options['min']);
}

if(isset($options['max']))
{
$value = min($value, $options['max']);

					}


					}


					$mybb->input['upsetting'][$multisetting['name']] = $value;
}

					$mybb->input['upsetting'][$multisetting['name']] = $value;
}

			}

			}

			else
{
$forum_group_select[] = $multisetting['name'];
}

			else
{
$forum_group_select[] = $multisetting['name'];
}

 
		}

// Verify for admin email that can't be empty
if(isset($mybb->input['upsetting']['adminemail']) && !validate_email_format($mybb->input['upsetting']['adminemail']))
{
unset($mybb->input['upsetting']['adminemail']);
$lang->success_settings_updated .= $lang->error_admin_email_settings_empty;

		}

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

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















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

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

// reject dangerous/unsupported upload paths
$fields = array(
'uploadspath',
'cdnpath',
'avataruploadpath',
);

$dynamic_include_directories = array(
MYBB_ROOT.'cache/',
MYBB_ROOT.'inc/plugins/',
MYBB_ROOT.'inc/languages/',
MYBB_ROOT.'inc/tasks/',
);
$dynamic_include_directories_realpath = array_map('realpath', $dynamic_include_directories);

foreach($fields as $field)
{
if(isset($mybb->input['upsetting'][$field]))
{
if(
is_string($mybb->input['upsetting'][$field]) &&
strpos($mybb->input['upsetting'][$field], '://') !== false)
{
unset($mybb->input['upsetting'][$field]);
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 1059Zeile 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("posts") && $db->supports_fulltext_boolean("posts"))
{
$db->create_fulltext_index("posts", "message");
}

			if(!$db->is_fulltext("posts") && $db->supports_fulltext("threads"))

			if(!$db->is_fulltext("threads") && $db->supports_fulltext("threads"))

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

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

Zeile 1116Zeile 1317
		// Search

// Search for settings

		// Search

// Search for settings

		$search = $db->escape_string_like($mybb->input['search']);
$query = $db->query("
SELECT s.*
FROM ".TABLE_PREFIX."settings s
LEFT JOIN ".TABLE_PREFIX."settinggroups g ON(s.gid=g.gid)
WHERE s.name LIKE '%{$search}%' OR s.title LIKE '%{$search}%' OR s.description LIKE '%{$search}%' OR g.name LIKE '%{$search}%' OR g.title LIKE '%{$search}%' OR g.description LIKE '%{$search}%'
ORDER BY s.disporder
");
while($setting = $db->fetch_array($query))
{
$cache_settings[$setting['gid']][$setting['sid']] = $setting;














		$search = trim($mybb->input['search']);
if(!empty($search))
{
$query = $db->query("
SELECT s.* , g.name as gname, g.title as gtitle, g.description as gdescription
FROM ".TABLE_PREFIX."settings s
LEFT JOIN ".TABLE_PREFIX."settinggroups g ON(s.gid=g.gid)
ORDER BY s.disporder
");
while($setting = $db->fetch_array($query))
{
$search_in = $setting['name'] . ' ' . $setting['title'] . ' ' . $setting['description'] . ' ' . $setting['gname'] . ' ' . $setting['gtitle'] . ' ' . $setting['gdescription'];
foreach(array("setting_{$setting['name']}", "setting_{$setting['name']}_desc", "setting_group_{$setting['gname']}", "setting_group_{$setting['gname']}_desc") as $search_in_lang_key)
{
if(!empty($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(!$db->num_rows($query))

		if(!count($cache_settings))


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

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

			{

			{

				echo json_encode(array("errors" => array($lang->error_no_settings_found)));
exit;
}

				echo json_encode(array("errors" => array($lang->error_no_settings_found)));
exit;
}

Zeile 1157Zeile 1370
		{
$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&amp;action=change", "post", "change");

echo $form->generate_hidden_field("gid", $group['gid']);

		}





	}

	}

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

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

	{
// Group listing
// Cache groups
$query = $db->simple_select("settinggroups", "*", "gid = '".$mybb->get_input('gid', MyBB::INPUT_INT)."'");
$groupinfo = $db->fetch_array($query);
$cache_groups[$groupinfo['gid']] = $groupinfo;

	{
// Group listing
// Cache groups
$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);
}


// Cache settings
$query = $db->simple_select("settings", "*", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'", array('order_by' => 'disporder'));


// Cache settings
$query = $db->simple_select("settings", "*", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'", array('order_by' => 'disporder'));

Zeile 1186Zeile 1395
		if(!$db->num_rows($query))
{
flash_message($lang->error_no_settings_found, 'error');

		if(!$db->num_rows($query))
{
flash_message($lang->error_no_settings_found, 'error');

			admin_redirect("index.php?module=config-settings");
}


			admin_redirect("index.php?module=config-settings");
}


		$group_lang_var = "setting_group_{$groupinfo['name']}";
if(isset($lang->$group_lang_var))
{

		$group_lang_var = "setting_group_{$groupinfo['name']}";
if(isset($lang->$group_lang_var))
{

Zeile 1198Zeile 1407
		// 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&amp;action=change", "post", "change");

echo $form->generate_hidden_field("gid", $groupinfo['gid']);

 
	}
else
{

	}
else
{

Zeile 1228Zeile 1433
		// 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&amp;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&amp;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))
{

		$group_lang_var = "setting_group_{$groupinfo['name']}";
if(isset($lang->$group_lang_var))
{

Zeile 1251Zeile 1456

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


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





			continue;
}


			continue;
}


Zeile 1305Zeile 1510

$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 1361Zeile 1566
				{
$forum_checked['none'] = 'checked="checked"';
}

				{
$forum_checked['none'] = 'checked="checked"';
}





				print_selection_javascript();

$setting_code = "

				print_selection_javascript();

$setting_code = "

Zeile 1377Zeile 1582
						</table>
</dd>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$forum_checked['none']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->none}</strong></label></dt>

						</table>
</dd>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$forum_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\">
checkAction('{$element_id}');
</script>";
}

				</dl>
<script type=\"text/javascript\">
checkAction('{$element_id}');
</script>";
}

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

				$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 = explode(',', (string)$setting['value']);

			else if($type[0] == "groupselect")
{
$selected_values = '';
if($setting['value'] != '' && $setting['value'] != -1)
{
$selected_values = explode(',', (string)$setting['value']);
























































foreach($selected_values as &$value)
{
$value = (int)$value;
}
unset($value);
}

$group_checked = array('all' => '', 'custom' => '', 'none' => '');
if($setting['value'] == -1)
{
$group_checked['all'] = 'checked="checked"';
}
elseif($setting['value'] != '')
{
$group_checked['custom'] = 'checked="checked"';
}
else
{
$group_checked['none'] = 'checked="checked"';
}

print_selection_javascript();

$setting_code = "
<dl style=\"margin-top: 0; margin-bottom: 0; width: 100%\">
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"all\" {$group_checked['all']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->all_groups}</strong></label></dt>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"custom\" {$group_checked['custom']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->select_groups}</strong></label></dt>
<dd style=\"margin-top: 4px;\" id=\"{$element_id}_forums_groups_custom\" class=\"{$element_id}_forums_groups\">
<table cellpadding=\"4\">
<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>
<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\">
checkAction('{$element_id}');
</script>";
}
else if($type[0] == "groupselectsingle")
{
$selected_value = (int)$setting['value']; // No need to check if empty, int will give 0
$setting_code = $form->generate_group_select($element_name, $selected_value, array('id' => $element_id, 'main_option' => $lang->none));
}
else if($type[0] == "prefixselect")
{
$selected_values = '';
if($setting['value'] != '' && $setting['value'] != -1)
{
$selected_values = explode(',', (string)$setting['value']);

					foreach($selected_values as &$value)
{
$value = (int)$value;
}
unset($value);
}

					foreach($selected_values as &$value)
{
$value = (int)$value;
}
unset($value);
}


$group_checked = array('all' => '', 'custom' => '', 'none' => '');

				$prefix_checked = array('all' => '', 'custom' => '', 'none' => '');


				if($setting['value'] == -1)
{

				if($setting['value'] == -1)
{

					$group_checked['all'] = 'checked="checked"';
}
elseif($setting['value'] != '')
{
$group_checked['custom'] = 'checked="checked"';
}
else
{
$group_checked['none'] = 'checked="checked"';

					$prefix_checked['all'] = 'checked="checked"';









				}

				}


print_selection_javascript();








				elseif($setting['value'] != '')
{
$prefix_checked['custom'] = 'checked="checked"';
}
else
{
$prefix_checked['none'] = 'checked="checked"';
}
print_selection_javascript();

				$setting_code = "
<dl style=\"margin-top: 0; margin-bottom: 0; width: 100%\">

				$setting_code = "
<dl style=\"margin-top: 0; margin-bottom: 0; width: 100%\">

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

					<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"all\" {$prefix_checked['all']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->all_prefix}</strong></label></dt>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"custom\" {$prefix_checked['custom']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->select_prefix}</strong></label></dt>

					<dd style=\"margin-top: 4px;\" id=\"{$element_id}_forums_groups_custom\" class=\"{$element_id}_forums_groups\">
<table cellpadding=\"4\">
<tr>

					<dd style=\"margin-top: 4px;\" id=\"{$element_id}_forums_groups_custom\" class=\"{$element_id}_forums_groups\">
<table cellpadding=\"4\">
<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>

								<td valign=\"top\"><small>{$lang->prefix_colon}</small></td>
<td>".$form->generate_prefix_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>

					<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$prefix_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\">
checkAction('{$element_id}');
</script>";

				</dl>
<script type=\"text/javascript\">
checkAction('{$element_id}');
</script>";

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

 
			}
else
{

			}
else
{

Zeile 1487Zeile 1736
						{
$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")
{


if($type[0] == "select")
{

Zeile 1522Zeile 1771
		$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 1673Zeile 1922
		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 1683Zeile 1932
			}

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

Zeile 1702Zeile 1951
	echo '</div>';

echo '

	echo '</div>';

echo '

<script type="text/javascript" src="./jscripts/search.js?ver=1808"></script>

<script type="text/javascript" src="./jscripts/search.js?ver=1821"></script>

<script type="text/javascript">
//<!--

<script type="text/javascript">
//<!--

$(document).ready(function(){

$(function(){

	SettingSearch.init("'.$lang->settings_search.'","'.$lang->error_ajax_unknown.'");
});
//-->

	SettingSearch.init("'.$lang->settings_search.'","'.$lang->error_ajax_unknown.'");
});
//-->

Zeile 1725Zeile 1974
	$peekers = array(
'new Peeker($(".setting_boardclosed"), $("#row_setting_boardclosed_reason"), 1, true)',
'new Peeker($(".setting_gzipoutput"), $("#row_setting_gziplevel"), 1, true)',

	$peekers = array(
'new Peeker($(".setting_boardclosed"), $("#row_setting_boardclosed_reason"), 1, true)',
'new Peeker($(".setting_gzipoutput"), $("#row_setting_gziplevel"), 1, true)',

		'new Peeker($(".setting_useerrorhandling"), $("#row_setting_errorlogmedium, #row_setting_errortypemedium, #row_setting_errorloglocation"), 1, true)',

		'new Peeker($(".setting_useerrorhandling"), $("#row_setting_errorlogmedium, #row_setting_errorloglocation"), 1, true)',

		'new Peeker($("#setting_subforumsindex"), $("#row_setting_subforumsstatusicons"), /[^0+|]/, false)',
'new Peeker($(".setting_showsimilarthreads"), $("#row_setting_similarityrating, #row_setting_similarlimit"), 1, true)',
'new Peeker($(".setting_disableregs"), $("#row_setting_regtype, #row_setting_securityquestion, #row_setting_regtime, #row_setting_allowmultipleemails, #row_setting_hiddencaptchaimage, #row_setting_betweenregstime"), 0, true)',

		'new Peeker($("#setting_subforumsindex"), $("#row_setting_subforumsstatusicons"), /[^0+|]/, false)',
'new Peeker($(".setting_showsimilarthreads"), $("#row_setting_similarityrating, #row_setting_similarlimit"), 1, true)',
'new Peeker($(".setting_disableregs"), $("#row_setting_regtype, #row_setting_securityquestion, #row_setting_regtime, #row_setting_allowmultipleemails, #row_setting_hiddencaptchaimage, #row_setting_betweenregstime"), 0, true)',

Zeile 1740Zeile 1989
		'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"), /(4|5)/, false)',






		'new Peeker($("#setting_captchaimage"), $("#row_setting_recaptchapublickey, #row_setting_recaptchaprivatekey"), /(4|5|8)/, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_recaptchascore"), /(8)/, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_hcaptchapublickey, #row_setting_hcaptchaprivatekey"), /(6|7)/, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_hcaptchaprivatekey, #row_setting_hcaptchaprivatekey"), /(6|7)/, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_hcaptchatheme"), 6, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_hcaptchasize"), 6, 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 1758Zeile 2012
		'new Peeker($(".setting_showbirthdays"), $("#row_setting_showbirthdayspostlimit"), 1, true)',
'new Peeker($("#setting_betweenregstime"), $("#row_setting_maxregsbetweentime"), /[^0+|]/, false)',
'new Peeker($(".setting_usecdn"), $("#row_setting_cdnurl, #row_setting_cdnpath"), 1, true)',

		'new Peeker($(".setting_showbirthdays"), $("#row_setting_showbirthdayspostlimit"), 1, true)',
'new Peeker($("#setting_betweenregstime"), $("#row_setting_maxregsbetweentime"), /[^0+|]/, false)',
'new Peeker($(".setting_usecdn"), $("#row_setting_cdnurl, #row_setting_cdnpath"), 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_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_enableshowteam"), $("#row_setting_showaddlgroups, #row_setting_showgroupleaders"), 1, true)'


		'new Peeker($(".setting_enableshowteam"), $("#row_setting_showaddlgroups, #row_setting_showgroupleaders"), 1, true)',
'new Peeker($(".setting_usereferrals"), $("#row_setting_referralsperpage"), 1, true)',

	);

$peekers = $plugins->run_hooks("admin_settings_print_peekers", $peekers);

$setting_peekers = implode("\n ", $peekers);


	);

$peekers = $plugins->run_hooks("admin_settings_print_peekers", $peekers);

$setting_peekers = implode("\n ", $peekers);


	echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script>

	echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1821"></script>

	<script type="text/javascript">

	<script type="text/javascript">

		$(document).ready(function() {

		$(function() {

			' . $setting_peekers . '
});
</script>';

			' . $setting_peekers . '
});
</script>';