Vergleich admin/modules/config/settings.php - 1.8.0 - 1.8.26

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 49Zeile 49
				"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),
"description" => $db->escape_string($mybb->input['description']),

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

				"disporder" => (int)$mybb->input['disporder'],

				"disporder" => $mybb->get_input('disporder', MyBB::INPUT_INT),

				"isdefault" => 0
);
$gid = $db->insert_query("settinggroups", $new_setting_group);

				"isdefault" => 0
);
$gid = $db->insert_query("settinggroups", $new_setting_group);

Zeile 100Zeile 100
	$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 = 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_text_box('disporder', $mybb->input['disporder'], array('id' => 'disporder')), 'disporder');

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


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


Zeile 114Zeile 114
// Edit setting group
if($mybb->input['action'] == "editgroup")
{

// Edit setting group
if($mybb->input['action'] == "editgroup")
{

	$query = $db->simple_select("settinggroups", "*", "gid='".(int)$mybb->input['gid']."'");

	$query = $db->simple_select("settinggroups", "*", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'");

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

// Does the setting not exist?

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

// Does the setting not exist?

Zeile 159Zeile 159
				"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),
"description" => $db->escape_string($mybb->input['description']),

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

				"disporder" => (int)$mybb->input['disporder'],

				"disporder" => $mybb->get_input('disporder', MyBB::INPUT_INT),

			);


			);


			$db->update_query("settinggroups", $update_setting_group, "gid='{$group['gid']}'");

$plugins->run_hooks("admin_config_settings_editgroup_commit");

			$plugins->run_hooks("admin_config_settings_editgroup_commit");

$db->update_query("settinggroups", $update_setting_group, "gid='{$group['gid']}'");


// Log admin action
log_admin_action($group['gid'], $mybb->input['name']);


// Log admin action
log_admin_action($group['gid'], $mybb->input['name']);

Zeile 176Zeile 176

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


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





	$sub_tabs['edit_setting_group'] = array(
'title' => $lang->edit_setting_group,
'link' => "index.php?module=config-settings&amp;action=editgroup&amp;gid={$group['gid']}",
'description' => $lang->edit_setting_group_desc
);

	$sub_tabs['edit_setting_group'] = array(
'title' => $lang->edit_setting_group,
'link' => "index.php?module=config-settings&amp;action=editgroup&amp;gid={$group['gid']}",
'description' => $lang->edit_setting_group_desc
);





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

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

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

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

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

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

	$form_container->output_row($lang->display_order, "", $form->generate_text_box('disporder', $group_data['disporder'], array('id' => 'disporder')), 'disporder');

	$form_container->output_row($lang->display_order, "", $form->generate_numeric_field('disporder', $group_data['disporder'], array('id' => 'disporder', 'min' => 0)), 'disporder');

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


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


Zeile 216Zeile 216
// Delete Setting Group
if($mybb->input['action'] == "deletegroup")
{

// Delete Setting Group
if($mybb->input['action'] == "deletegroup")
{

	$query = $db->simple_select("settinggroups", "*", "gid='".(int)$mybb->input['gid']."'");

	$query = $db->simple_select("settinggroups", "*", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'");

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

// Does the setting group not exist?

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

// Does the setting group not exist?

Zeile 245Zeile 245
		// Delete the setting group and its settings
$db->delete_query("settinggroups", "gid='{$group['gid']}'");
$db->delete_query("settings", "gid='{$group['gid']}'");

		// Delete the setting group and its settings
$db->delete_query("settinggroups", "gid='{$group['gid']}'");
$db->delete_query("settings", "gid='{$group['gid']}'");





		rebuild_settings();

$plugins->run_hooks("admin_config_settings_deletegroup_commit");

		rebuild_settings();

$plugins->run_hooks("admin_config_settings_deletegroup_commit");

Zeile 266Zeile 266
if($mybb->input['action'] == "add")
{
$plugins->run_hooks("admin_config_settings_add");

if($mybb->input['action'] == "add")
{
$plugins->run_hooks("admin_config_settings_add");





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

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

Zeile 274Zeile 274
			$errors[] = $lang->error_missing_title;
}


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


		$query = $db->simple_select("settinggroups", "gid", "gid='".(int)$mybb->input['gid']."'");

		$query = $db->simple_select("settinggroups", "gid", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'");

		$gid = $db->fetch_field($query, 'gid');
if(!$gid)

		$gid = $db->fetch_field($query, 'gid');
if(!$gid)

		{

		{

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


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


Zeile 287Zeile 287
		}
$query = $db->simple_select("settings", "title", "name='".$db->escape_string($mybb->input['name'])."'");
if($db->num_rows($query) > 0)

		}
$query = $db->simple_select("settings", "title", "name='".$db->escape_string($mybb->input['name'])."'");
if($db->num_rows($query) > 0)

		{

		{

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

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

Zeile 322Zeile 322
			$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")
{
$value = $mybb->get_input('value', MyBB::INPUT_INT);
}
else
{
$value = $db->escape_string($mybb->input['value']);
}


$new_setting = array(


$new_setting = array(

				"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),
"description" => $db->escape_string($mybb->input['description']),
"optionscode" => $db->escape_string($options_code),
"value" => $db->escape_string($mybb->input['value']),
"disporder" => (int)$mybb->input['disporder'],
"gid" => (int)$mybb->input['gid']
);

				"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),
"description" => $db->escape_string($mybb->input['description']),
"optionscode" => $db->escape_string($options_code),
"value" => $value,
"disporder" => $mybb->get_input('disporder', MyBB::INPUT_INT),
"gid" => $mybb->get_input('gid', MyBB::INPUT_INT)
);


$sid = $db->insert_query("settings", $new_setting);
rebuild_settings();

$plugins->run_hooks("admin_config_settings_add_commit");


$sid = $db->insert_query("settings", $new_setting);
rebuild_settings();

$plugins->run_hooks("admin_config_settings_add_commit");





			// Log admin action
log_admin_action($sid, $mybb->input['title']);


			// Log admin action
log_admin_action($sid, $mybb->input['title']);


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

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





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

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

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

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


$sub_tabs['add_setting'] = array(
'title' => $lang->add_new_setting,

Zeile 386Zeile 395
	$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))
{

	$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))
{

		$options[$group['gid']] = $group['title'];









		$group_lang_var = "setting_group_{$group['name']}";
if($lang->$group_lang_var)
{
$options[$group['gid']] = htmlspecialchars_uni($lang->$group_lang_var);
}
else
{
$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->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_text_box('disporder', $mybb->input['disporder'], array('id' => 'disporder')), 'disporder');

	$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->name_desc, $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name');

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


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

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

 
		"numeric" => $lang->numeric_text,

		"textarea" => $lang->textarea,
"yesno" => $lang->yesno,
"onoff" => $lang->onoff,
"select" => $lang->select,
"forumselect" => $lang->forum_selection_box,

		"textarea" => $lang->textarea,
"yesno" => $lang->yesno,
"onoff" => $lang->onoff,
"select" => $lang->select,
"forumselect" => $lang->forum_selection_box,

 
		"forumselectsingle" => $lang->forum_selection_single,

		"groupselect" => $lang->group_selection_box,

		"groupselect" => $lang->group_selection_box,

 
		"groupselectsingle" => $lang->group_selection_single,

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

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

 
		"prefixselect" => $lang->prefix_selection_box

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


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


Zeile 418Zeile 439
	$form->output_submit_wrapper($buttons);
$form->end();


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


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

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

	<script type="text/javascript">

	<script type="text/javascript">

		$(document).ready(function() {
var peeker = new Peeker($("#type"), $("#row_extra"), /select|radio|checkbox|php/, false);

		$(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
add_star("row_extra");

		});
// Add a star to the extra row since the "extra" is required if the box is shown
add_star("row_extra");

Zeile 433Zeile 454
// Editing a particular setting
if($mybb->input['action'] == "edit")
{

// Editing a particular setting
if($mybb->input['action'] == "edit")
{

	$query = $db->simple_select("settings", "*", "sid='".$mybb->get_input('sid', 1)."'");

	$query = $db->simple_select("settings", "*", "sid='".$mybb->get_input('sid', MyBB::INPUT_INT)."'");

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

// Does the setting not exist?

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

// Does the setting not exist?

Zeile 495Zeile 516
			if($mybb->input['type'] == "custom")
{
$options_code = $mybb->input['extra'];

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

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

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

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

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

			}

			}


$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")
{
$value = $mybb->get_input('value', MyBB::INPUT_INT);
}
else
{
$value = $db->escape_string($mybb->input['value']);
}


			$updated_setting = array(
"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),
"description" => $db->escape_string($mybb->input['description']),
"optionscode" => $db->escape_string($options_code),

			$updated_setting = array(
"name" => $db->escape_string($mybb->input['name']),
"title" => $db->escape_string($mybb->input['title']),
"description" => $db->escape_string($mybb->input['description']),
"optionscode" => $db->escape_string($options_code),

				"value" => $db->escape_string($mybb->input['value']),
"disporder" => (int)$mybb->input['disporder'],
"gid" => (int)$mybb->input['gid']

				"value" => $value,
"disporder" => $mybb->get_input('disporder', MyBB::INPUT_INT),
"gid" => $mybb->get_input('gid', MyBB::INPUT_INT)

			);

			);

			$db->update_query("settings", $updated_setting, "sid='{$mybb->input['sid']}'");





$plugins->run_hooks("admin_config_settings_edit_commit");

$db->update_query("settings", $updated_setting, "sid='{$setting['sid']}'");

			rebuild_settings();

			rebuild_settings();


$plugins->run_hooks("admin_config_settings_edit_commit");

 

// Log admin action
log_admin_action($setting['sid'], $mybb->input['title']);


// Log admin action
log_admin_action($setting['sid'], $mybb->input['title']);





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

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

Zeile 565Zeile 596
	{
$setting_data = $mybb->input;
$page->output_inline_error($errors);

	{
$setting_data = $mybb->input;
$page->output_inline_error($errors);

	}
else

	}
else

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

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





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

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

Zeile 581Zeile 612
	$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))
{

	$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))
{

		$options[$group['gid']] = $group['title'];









		$group_lang_var = "setting_group_{$group['name']}";
if($lang->$group_lang_var)
{
$options[$group['gid']] = htmlspecialchars_uni($lang->$group_lang_var);
}
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->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_text_box('disporder', $setting_data['disporder'], array('id' => 'disporder')), 'disporder');

	$form_container->output_row($lang->display_order, "", $form->generate_numeric_field('disporder', $setting_data['disporder'], array('id' => 'disporder', 'min' => 0)), 'disporder');

	$form_container->end();

$form_container = new FormContainer($lang->setting_configuration, 1);

	$form_container->end();

$form_container = new FormContainer($lang->setting_configuration, 1);

Zeile 592Zeile 631

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


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

 
		"numeric" => $lang->numeric_text,

		"textarea" => $lang->textarea,
"yesno" => $lang->yesno,
"onoff" => $lang->onoff,
"select" => $lang->select,
"forumselect" => $lang->forum_selection_box,

		"textarea" => $lang->textarea,
"yesno" => $lang->yesno,
"onoff" => $lang->onoff,
"select" => $lang->select,
"forumselect" => $lang->forum_selection_box,

 
		"forumselectsingle" => $lang->forum_selection_single,

		"groupselect" => $lang->group_selection_box,

		"groupselect" => $lang->group_selection_box,

 
		"groupselectsingle" => $lang->group_selection_single,

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

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

 
		"prefixselect" => $lang->prefix_selection_box

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


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


Zeile 615Zeile 658
	$form->output_submit_wrapper($buttons);
$form->end();


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


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

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

	<script type="text/javascript">

	<script type="text/javascript">

		$(document).ready(function() {
var peeker = new Peeker($("#type"), $("#row_extra"), /select|radio|checkbox|php/, false);

		$(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
add_star("row_extra");

		});
// Add a star to the extra row since the "extra" is required if the box is shown
add_star("row_extra");

Zeile 630Zeile 673
// Delete Setting
if($mybb->input['action'] == "delete")
{

// Delete Setting
if($mybb->input['action'] == "delete")
{

	$query = $db->simple_select("settings", "*", "sid='".$mybb->get_input('sid', 1)."'");

	$query = $db->simple_select("settings", "*", "sid='".$mybb->get_input('sid', MyBB::INPUT_INT)."'");

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

// Does the setting not exist?

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

// Does the setting not exist?

Zeile 654Zeile 697
	}

$plugins->run_hooks("admin_config_settings_delete");

	}

$plugins->run_hooks("admin_config_settings_delete");





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

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

	{

	{

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

rebuild_settings();

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

rebuild_settings();





		$plugins->run_hooks("admin_config_settings_delete_commit");

		$plugins->run_hooks("admin_config_settings_delete_commit");





		// Log admin action
log_admin_action($setting['sid'], $setting['title']);


		// Log admin action
log_admin_action($setting['sid'], $setting['title']);


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

	else
{
$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 695Zeile 738
		}

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

		}

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

		{

		{

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

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

Zeile 704Zeile 747
			}
}


			}
}


		$plugins->run_hooks("admin_config_settings_manage_commit");


		$plugins->run_hooks("admin_config_settings_manage_commit");


		// Log admin action
log_admin_action();

		// Log admin action
log_admin_action();





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

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

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

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





	$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 729Zeile 772
	$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');

// Cache settings

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

// Cache settings

Zeile 771Zeile 814
			$group_title = htmlspecialchars_uni($group['title']);
}
$table->construct_cell("<strong>{$group_title}</strong>", array('id' => "group{$group['gid']}"));

			$group_title = htmlspecialchars_uni($group['title']);
}
$table->construct_cell("<strong>{$group_title}</strong>", array('id' => "group{$group['gid']}"));

		$table->construct_cell($form->generate_text_box("group_disporder[{$group['gid']}]", $group['disporder'], array('style' => 'width: 80%; font-weight: bold', 'class' => 'align_center')));

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

		// Only show options if not a default setting group
if($group['isdefault'] != 1)
{

Zeile 801Zeile 844
					$setting_title = htmlspecialchars_uni($setting['title']);
}
$table->construct_cell($setting_title, array('style' => 'padding-left: 40px;'));

					$setting_title = htmlspecialchars_uni($setting['title']);
}
$table->construct_cell($setting_title, array('style' => 'padding-left: 40px;'));

				$table->construct_cell($form->generate_text_box("setting_disporder[{$setting['sid']}]", $setting['disporder'], array('style' => 'width: 80%', 'class' => 'align_center')));

				$table->construct_cell($form->generate_numeric_field("setting_disporder[{$setting['sid']}]", $setting['disporder'], array('style' => 'width: 80%', 'class' => 'align_center', 'min' => 0)));

				// Only show options if not a default setting group or is a custom setting
if($group['isdefault'] != 1 || $setting['isdefault'] != 1)
{

				// Only show options if not a default setting group or is a custom setting
if($group['isdefault'] != 1 || $setting['isdefault'] != 1)
{

Zeile 838Zeile 881
		if(!is_writable(MYBB_ROOT.'inc/settings.php'))
{
flash_message($lang->error_chmod_settings_file, 'error');

		if(!is_writable(MYBB_ROOT.'inc/settings.php'))
{
flash_message($lang->error_chmod_settings_file, 'error');

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





































































































































































































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

// Not allowed to be hidden captcha fields
$disallowed_fields = array(
'username',
'password',
'password2',
'email',
'email2',
'imagestring',
'imagehash',
'answer',
'question_id',
'allownotices',
'hideemail',
'receivepms',
'pmnotice',
'emailpmnotify',
'invisible',
'subscriptionmethod',
'timezoneoffset',
'dstcorrection',
'language',
'step',
'action',
'agree',
'regtime',
'regcheck1',
'regcheck2',
'regsubmit'
);

$is_current_hiddencaptcha_wrong = in_array($mybb->settings['hiddencaptchaimagefield'], $disallowed_fields);
if(in_array($mybb->input['upsetting']['hiddencaptchaimagefield'], $disallowed_fields) || $is_current_hiddencaptcha_wrong)
{
if(isset($mybb->input['upsetting']['hiddencaptchaimagefield']) && $mybb->input['upsetting']['hiddencaptchaimagefield'] != $mybb->settings['hiddencaptchaimagefield'] && !$is_current_hiddencaptcha_wrong)
{
$wrong_value = $mybb->input['upsetting']['hiddencaptchaimagefield'];
$mybb->input['upsetting']['hiddencaptchaimagefield'] = $mybb->settings['hiddencaptchaimagefield'];
}
else
{
$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));
}

// Validate avatar dimension inputs
$gid = (int)$mybb->input['gid'];
$dimfields = array(
8 => array('postmaxavatarsize'),
10 => array('useravatardims', 'maxavatardims'),
13 => array('memberlistmaxavatarsize')
);
if(in_array($gid, array_keys($dimfields)))
{
foreach($dimfields[$gid] as $field)
{
if(isset($mybb->input['upsetting'][$field]))
{
if(preg_match("/\b\d+[|x]{1}\d+\b/i", $mybb->input['upsetting'][$field]) || ($field == 'maxavatardims' && trim($mybb->input['upsetting'][$field]) == ""))
{
// If pipe (|) is used normalize to 'x'
$mybb->input['upsetting'][$field] = str_replace('|', 'x', my_strtolower($mybb->input['upsetting'][$field]));
}
else
{
flash_message($lang->sprintf($lang->error_format_dimension, $lang->{'error_field_'.$field}), 'error');
admin_redirect("index.php?module=config-settings&action=change&gid=".$gid);
}
}
}
}

// Have we opted for a reCAPTCHA 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'])))
{
$mybb->input['upsetting']['captchaimage'] = 1;
$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
$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))
{
$options = array();

if(substr($multisetting['optionscode'], 0, 8) == 'checkbox')
{
$checkbox_settings[] = $multisetting['name'];

// All checkboxes deselected = no $mybb->input['upsetting'] for them, we need to initialize it manually then, but only on pages where the setting is shown
if(empty($mybb->input['upsetting'][$multisetting['name']]) && isset($mybb->input["isvisible_{$multisetting['name']}"]))
{
$mybb->input['upsetting'][$multisetting['name']] = array();
}
}
elseif(substr($multisetting['optionscode'], 0, 7) == 'numeric')
{
if(isset($mybb->input['upsetting'][$multisetting['name']]))
{
$type = explode("\n", $multisetting['optionscode']);
for($i=1; $i < count($type); $i++)
{
$optionsexp = explode("=", $type[$i]);
$opt = array_map('trim', $optionsexp);
if(in_array($opt[0], array('min', 'max', 'step')))
{
if($opt[0] != 'step' || $opt[1] != 'any')
{
$opt[1] = (float)$opt[1];
}
$options[$opt[0]] = $opt[1];
}
}

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

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

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

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

// 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.
if($mybb->settings['username_method'] == 1 || $mybb->settings['username_method'] == 2 || $mybb->input['upsetting']['username_method'] == 1 || $mybb->input['upsetting']['username_method'] == 2)
{
$query = $db->simple_select('users', 'email', "email != ''", array('group_by' => 'email HAVING COUNT(email)>1'));
if($db->num_rows($query))
{
$mybb->input['upsetting']['username_method'] = 0;
$lang->success_settings_updated .= $lang->success_settings_updated_username_method;
}
else
{
$mybb->input['upsetting']['allowmultipleemails'] = 0;
$lang->success_settings_updated .= $lang->success_settings_updated_allowmultipleemails;
}
}

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





		// If we are changing the hidden captcha, make sure it doesn't conflict with another registration field
if(isset($mybb->input['upsetting']['hiddencaptchaimagefield']))

		foreach($fields as $field)


		{

		{

			// Not allowed to be hidden captcha fields
$disallowed_fields = array(
'username',
'password',
'password2',
'email',
'email2',
'imagestring',
'allownotices',
'hideemail',
'receivepms',
'pmnotice',
'emailpmnotify',
'invisible',
'subscriptionmethod',
'timezoneoffset',
'dstcorrection',
'language',
'step',
'action',
'regsubmit'
);

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












			if(in_array($mybb->input['upsetting']['hiddencaptchaimagefield'], $disallowed_fields))

			foreach ($dynamic_include_directories_realpath as $forbidden_realpath)

			{

			{

				// Whoopsies, you can't do that!
$error_message = $lang->sprintf($lang->error_hidden_captcha_conflict, htmlspecialchars_uni($mybb->input['upsetting']['hiddencaptchaimagefield']));

flash_message($error_message, 'error');
admin_redirect("index.php?module=config-settings&action=change&gid=9");

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

			}
}


			}
}


		// Get settings which optionscode is a forum/group select
// We cannot rely on user input to decide this
$forum_group_select = array();
$query = $db->simple_select('settings', 'name', 'optionscode IN (\'forumselect\', \'groupselect\')');
while($name = $db->fetch_field($query, 'name'))
{
$forum_group_select[] = $name;
}

 

if(is_array($mybb->input['upsetting']))
{
foreach($mybb->input['upsetting'] as $name => $value)
{


if(is_array($mybb->input['upsetting']))
{
foreach($mybb->input['upsetting'] as $name => $value)
{

				if(!empty($forum_group_select) && in_array($name, $forum_group_select))

				if($forum_group_select && in_array($name, $forum_group_select))

				{
if($value == 'all')
{

				{
if($value == 'all')
{

Zeile 906Zeile 1129
							}
unset($val);


							}
unset($val);


							$value = implode(',', (array)$mybb->input['select'][$name]);

							$value = implode(',', $mybb->input['select'][$name]);

						}
else
{

						}
else
{

Zeile 918Zeile 1141
						$value = '';
}
}

						$value = '';
}
}


$value = $db->escape_string($value);
$db->update_query("settings", array('value' => $value), "name='".$db->escape_string($name)."'");
}
}









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

if(is_array($mybb->input['upsetting'][$name]))
{
$value = implode(',', $mybb->input['upsetting'][$name]);
}
}

$db->update_query("settings", array('value' => $db->escape_string($value)), "name='".$db->escape_string($name)."'");
}
}


// Check if we need to create our fulltext index after changing the search mode
if($mybb->settings['searchtype'] != $mybb->input['upsetting']['searchtype'] && $mybb->input['upsetting']['searchtype'] == "fulltext")


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

Zeile 931Zeile 1162
			{
$db->create_fulltext_index("posts", "message");
}

			{
$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 939Zeile 1170

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

		{
if($mybb->input['upsetting']['delayedthreadviews'] == 0)
{
$updated_task = array(
"enabled" => 0
);
}
else
{
$updated_task = array(
"enabled" => 1
);
}
$db->update_query("tasks", $updated_task, "file='threadviews'");
}


		{
$db->update_query("tasks", array('enabled' => (int)$mybb->input['upsetting']['delayedthreadviews']), "file='threadviews'");
}














		// Have we changed our cookie prefix? If so, update our adminsid so we're not logged out

		// Have we changed our cookie prefix? If so, update our adminsid so we're not logged out

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

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

			my_unsetcookie("adminsid");

			my_unsetcookie("adminsid");

			$mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];
my_setcookie("adminsid", $admin_session['sid']);
}

// Have we opted for a reCAPTCHA and not set a public/private key?
if($mybb->input['upsetting']['captchaimage'] == 2 && !$mybb->input['upsetting']['captchaprivatekey'] && !$mybb->input['upsetting']['captchapublickey'])
{
$db->update_query("settings", array("value" => 1), "name = 'captchaimage'");
}

rebuild_settings();

// If we have changed our report reasons recache them
if(isset($mybb->input['upsetting']['reportreasons']))
{
$cache->update_reportedposts();
}


			$mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];
my_setcookie("adminsid", $admin_session['sid'], '', true, "lax");
}

if(isset($mybb->input['upsetting']['statstopreferrer']) && $mybb->input['upsetting']['statstopreferrer'] != $mybb->settings['statstopreferrer'])
{
$cache->update_statistics();
}

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

rebuild_settings();

if(isset($mybb->input['upsetting']['statslimit']) && $mybb->input['upsetting']['statslimit'] != $statslimit)
{
$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();

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

		// Log admin action
log_admin_action();

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





	// What type of page
$cache_groups = $cache_settings = array();
if(isset($mybb->input['search']))

	// What type of page
$cache_groups = $cache_settings = array();
if(isset($mybb->input['search']))

Zeile 993Zeile 1213
		// 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))

		$search = trim($mybb->input['search']);
if(!empty($search))








		{

		{

			$cache_settings[$setting['gid']][$setting['sid']] = $setting;





















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

Zeile 1035Zeile 1267
			$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'])
{
// Group listing
// Cache groups

	}
elseif($mybb->input['gid'])
{
// Group listing
// Cache groups

		$query = $db->simple_select("settinggroups", "*", "gid = '".(int)$mybb->input['gid']."'");

		$query = $db->simple_select("settinggroups", "*", "gid = '".$mybb->get_input('gid', MyBB::INPUT_INT)."'");

		$groupinfo = $db->fetch_array($query);
$cache_groups[$groupinfo['gid']] = $groupinfo;


		$groupinfo = $db->fetch_array($query);
$cache_groups[$groupinfo['gid']] = $groupinfo;


Zeile 1054Zeile 1282
		}

// Cache settings

		}

// Cache settings

		$query = $db->simple_select("settings", "*", "gid='".(int)$mybb->input['gid']."'", array('order_by' => 'disporder'));

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

		while($setting = $db->fetch_array($query))
{
$cache_settings[$setting['gid']][$setting['sid']] = $setting;

		while($setting = $db->fetch_array($query))
{
$cache_settings[$setting['gid']][$setting['sid']] = $setting;

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

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

		}


		}


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

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

		{

		{

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

// Page header
$page->add_breadcrumb_item($groupinfo['title']);
$page->output_header($lang->board_settings." - {$groupinfo['title']}");

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

// 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 1086Zeile 1310
		// Cache groups
$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))

		// Cache groups
$query = $db->simple_select("settinggroups", "*", "", array('order_by' => 'disporder'));
while($group = $db->fetch_array($query))

		{

		{

			$cache_groups[$group['gid']] = $group;

			$cache_groups[$group['gid']] = $group;

		}

		}


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", "*", "", array('order_by' => 'disporder'));


// Cache settings
$query = $db->simple_select("settings", "*", "", array('order_by' => 'disporder'));

Zeile 1105Zeile 1329
		// 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 1142Zeile 1366
			if($type[0] == "text" || $type[0] == "")
{
$setting_code = $form->generate_text_box($element_name, $setting['value'], array('id' => $element_id));

			if($type[0] == "text" || $type[0] == "")
{
$setting_code = $form->generate_text_box($element_name, $setting['value'], array('id' => $element_id));

 
			}
else if($type[0] == "numeric")
{
$field_options = array('id' => $element_id);
if(count($type) > 1)
{
for($i=1; $i < count($type); $i++)
{
$optionsexp = explode("=", $type[$i]);
$opt = array_map('trim', $optionsexp);
if(in_array($opt[0], array('min', 'max', 'step')))
{
if($opt[0] != 'step' || $opt[1] != 'any')
{
$opt[1] = (float)$opt[1];
}
$field_options[$opt[0]] = $opt[1];
}
}
}
$setting_code = $form->generate_numeric_field($element_name, $setting['value'], $field_options);

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

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

Zeile 1170Zeile 1415
				closedir($dir);
ksort($folders);
$setting_code = $form->generate_select_box($element_name, $folders, $setting['value'], array('id' => $element_id));

				closedir($dir);
ksort($folders);
$setting_code = $form->generate_select_box($element_name, $folders, $setting['value'], array('id' => $element_id));

			}

			}

			else if($type[0] == "language")
{
$languages = $lang->get_languages();

			else if($type[0] == "language")
{
$languages = $lang->get_languages();

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

							<tr>
<td valign=\"top\"><small>{$lang->forums_colon}</small></td>
<td>".$form->generate_forum_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\" {$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>";
}

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

			else if($type[0] == "groupselect")



























































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

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

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

				elseif($setting['value'] != '')

				elseif($setting['value'] != '')

				{
$group_checked['custom'] = 'checked="checked"';
}
else
{
$group_checked['none'] = 'checked="checked"';

				{
$prefix_checked['custom'] = 'checked="checked"';
}
else
{
$prefix_checked['none'] = 'checked="checked"';

				}

				}



 
				print_selection_javascript();

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

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

Zeile 1288Zeile 1587
			}
else
{

			}
else
{

				for($i=0; $i < count($type); $i++)








				$typecount = count($type);

if($type[0] == 'checkbox')
{
$multivalue = explode(',', $setting['value']);
}

for($i = 0; $i < $typecount; $i++)

				{
$optionsexp = explode("=", $type[$i]);
if(!isset($optionsexp[1]))

				{
$optionsexp = explode("=", $type[$i]);
if(!isset($optionsexp[1]))

Zeile 1318Zeile 1624
					}
else if($type[0] == "checkbox")
{

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

						if($setting['value'] == $optionsexp[0])
{
$option_list[$i] = $form->generate_check_box($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, "checked" => 1, 'class' => $element_id));
}

						if(in_array($optionsexp[0], $multivalue))
{
$option_list[$i] = $form->generate_check_box("{$element_name}[]", $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, "checked" => 1, 'class' => $element_id));
}

						else
{

						else
{

							$option_list[$i] = $form->generate_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")

				{

				{

					$setting_code = $form->generate_select_box($element_name, $option_list, $setting['value'], array('id' => $element_id));

					$setting_code = $form->generate_select_box($element_name, $option_list, $setting['value'], array('id' => $element_id));

				}

				}

				else
{
$setting_code = implode("<br />", $option_list);

				else
{
$setting_code = implode("<br />", $option_list);

 

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

				}
$option_list = array();
}

				}
$option_list = array();
}

 


			// Do we have a custom language variable for this title or description?
$title_lang = "setting_".$setting['name'];
$desc_lang = $title_lang."_desc";

			// Do we have a custom language variable for this title or description?
$title_lang = "setting_".$setting['name'];
$desc_lang = $title_lang."_desc";

Zeile 1354Zeile 1667
		$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 1534Zeile 1847
	echo '</div>';

echo '

	echo '</div>';

echo '

<script type="text/javascript" src="./jscripts/search.js"></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 1547Zeile 1860
	$page->output_footer();
}


	$page->output_footer();
}


 
/**
* Print all the peekers for all of the default settings
*/

function print_setting_peekers()
{
global $plugins;

$peekers = array(

function print_setting_peekers()
{
global $plugins;

$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"), /1/, true)',
'new Peeker($(".setting_useerrorhandling"), $("#row_setting_errortypemedium"), /1/, true)',
'new Peeker($(".setting_useerrorhandling"), $("#row_setting_errorloglocation"), /1/, true)',

		'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_errorloglocation"), 1, true)',



		'new Peeker($("#setting_subforumsindex"), $("#row_setting_subforumsstatusicons"), /[^0+|]/, false)',

		'new Peeker($("#setting_subforumsindex"), $("#row_setting_subforumsstatusicons"), /[^0+|]/, false)',

		'new Peeker($(".setting_showsimilarthreads"), $("#row_setting_similarityrating"), /1/, true)',
'new Peeker($(".setting_showsimilarthreads"), $("#row_setting_similarlimit"), /1/, true)',
'new Peeker($(".setting_disableregs"), $("#row_setting_regtype"), /0/, true)',
'new Peeker($(".setting_hiddencaptchaimage"), $("#row_setting_hiddencaptchaimagefield"), /1/, true)',
'new Peeker($("#setting_failedlogincount"), $("#row_setting_failedlogintime"), /[^0+|]/, false)',
'new Peeker($("#setting_failedlogincount"), $("#row_setting_failedlogintext"), /[^0+|]/, false)',
'new Peeker($(".setting_postfloodcheck"), $("#row_setting_postfloodsecs"), /1/, true)',
'new Peeker($("#setting_postmergemins"), $("#row_setting_postmergefignore"), /[^0+|]/, false)',
'new Peeker($("#setting_postmergemins"), $("#row_setting_postmergeuignore"), /[^0+|]/, false)',
'new Peeker($("#setting_postmergemins"), $("#row_setting_postmergesep"), /[^0+|][\d*]/, false)',
'new Peeker($(".setting_enablememberlist"), $("#row_setting_membersperpage"), /1/, true)',
'new Peeker($(".setting_enablememberlist"), $("#row_setting_default_memberlist_sortby"), /1/, true)',
'new Peeker($(".setting_enablememberlist"), $("#row_setting_default_memberlist_order"), /1/, true)',
'new Peeker($(".setting_enablereputation"), $("#row_setting_repsperpage"), /1/, true)',
'new Peeker($(".setting_enablewarningsystem"), $("#row_setting_allowcustomwarnings"), /1/, true)',
'new Peeker($(".setting_enablewarningsystem"), $("#row_setting_canviewownwarning"), /1/, true)',
'new Peeker($(".setting_enablewarningsystem"), $("#row_setting_maxwarningpoints"), /1/, true)',
'new Peeker($(".setting_enablepms"), $("#row_setting_pmsallowhtml"), /1/, true)',
'new Peeker($(".setting_enablepms"), $("#row_setting_pmsallowmycode"), /1/, true)',
'new Peeker($(".setting_enablepms"), $("#row_setting_pmsallowsmilies"), /1/, true)',
'new Peeker($(".setting_enablepms"), $("#row_setting_pmsallowimgcode"), /1/, true)',
'new Peeker($(".setting_enablepms"), $("#row_setting_pmsallowvideocode"), /1/, true)',
'new Peeker($(".setting_smilieinserter"), $("#row_setting_smilieinsertertot"), /1/, true)',
'new Peeker($(".setting_smilieinserter"), $("#row_setting_smilieinsertercols"), /1/, true)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_host"), /smtp/, false)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_port"), /smtp/, false)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_user"), /smtp/, false)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_pass"), /smtp/, false)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_secure_smtp"), /smtp/, false)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_mail_parameters"), /mail/, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_captchapublickey"), 2, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_captchaprivatekey"), 2, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_ayahpublisherkey"), 3, false)',
'new Peeker($("#setting_captchaimage"), $("#row_setting_ayahscoringkey"), 3, false)',
'new Peeker($(".setting_contact"), $("#row_setting_contact_guests"), /1/, true)',
'new Peeker($(".setting_contact"), $("#row_setting_contact_badwords"), /1/, true)',
'new Peeker($(".setting_contact"), $("#row_setting_contact_maxsubjectlength"), /1/, true)',
'new Peeker($(".setting_contact"), $("#row_setting_contact_minmessagelength"), /1/, true)',
'new Peeker($(".setting_contact"), $("#row_setting_contact_maxmessagelength"), /1/, true)',



		'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_hiddencaptchaimage"), $("#row_setting_hiddencaptchaimagefield"), 1, true)',
'new Peeker($("#setting_failedlogincount"), $("#row_setting_failedlogintime, #row_setting_failedlogintext"), /[^0+|]/, false)',
'new Peeker($(".setting_postfloodcheck"), $("#row_setting_postfloodsecs"), 1, true)',
'new Peeker($("#setting_postmergemins"), $("#row_setting_postmergefignore, #row_setting_postmergeuignore, #row_setting_postmergesep"), /[^0+|]/, false)',
'new Peeker($(".setting_enablememberlist"), $("#row_setting_membersperpage, #row_setting_default_memberlist_sortby, #row_setting_default_memberlist_order, #row_setting_memberlistmaxavatarsize"), 1, true)',
'new Peeker($(".setting_enablereputation"), $("#row_setting_repsperpage, #row_setting_posrep, #row_setting_neurep, #row_setting_negrep, #row_setting_postrep, #row_setting_multirep, #row_setting_maxreplength, #row_setting_minreplength"), 1, true)',
'new Peeker($(".setting_enablewarningsystem"), $("#row_setting_allowcustomwarnings, #row_setting_canviewownwarning, #row_setting_maxwarningpoints, #row_setting_allowanonwarningpms"), 1, true)',
'new Peeker($(".setting_enablepms"), $("#row_setting_pmsallowhtml, #row_setting_pmsallowmycode, #row_setting_pmsallowsmilies, #row_setting_pmsallowimgcode, #row_setting_pmsallowvideocode, #row_setting_pmquickreply, #row_setting_pmfloodsecs, #row_setting_showpmip, #row_setting_maxpmquotedepth"), 1, true)',
'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_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_pruneunactived"), $("#row_setting_dayspruneunactivated"), 1, true)',
'new Peeker($(".setting_statsenabled"), $("#row_setting_statscachetime, #row_setting_statslimit, #row_setting_statstopreferrer"), 1, true)',
'new Peeker($(".setting_purgespammergroups_forums_groups_check"), $("#row_setting_purgespammerpostlimit, #row_setting_purgespammerbandelete, #row_setting_purgespammerapikey"), /^(?!none)/, true)',
'new Peeker($(".setting_purgespammerbandelete"),$("#row_setting_purgespammerbangroup, #row_setting_purgespammerbanreason"), "ban", true)',
'new Peeker($("#setting_maxloginattempts"), $("#row_setting_loginattemptstimeout"), /[^0+|]/, false)',
'new Peeker($(".setting_bbcodeinserter"), $("#row_setting_partialmode, #row_setting_smilieinserter"), 1, true)',
'new Peeker($(".setting_portal"), $("#row_setting_portal_announcementsfid, #row_setting_portal_showwelcome, #row_setting_portal_showpms, #row_setting_portal_showstats, #row_setting_portal_showwol, #row_setting_portal_showsearch, #row_setting_portal_showdiscussions"), 1, true)',
'new Peeker($(".setting_portal_announcementsfid_forums_groups_check"), $("#row_setting_portal_numannouncements"), /^(?!none)/, true)',
'new Peeker($(".setting_portal_showdiscussions"), $("#row_setting_portal_showdiscussionsnum, #row_setting_portal_excludediscussion"), 1, true)',
'new Peeker($(".setting_enableattachments"), $("#row_setting_maxattachments, #row_setting_attachthumbnails"), 1, true)',
'new Peeker($(".setting_attachthumbnails"), $("#row_setting_attachthumbh, #row_setting_attachthumbw"), "yes", 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_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_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"></script>

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

	<script type="text/javascript">

	<script type="text/javascript">

		$(document).ready(function() {
loadPeekers();

		$(function() {
' . $setting_peekers . '

		});

		});

		function loadPeekers() {
' . $setting_peekers . '
}

 
	</script>';
}

	</script>';
}