Vergleich admin/modules/config/settings.php - 1.8.7 - 1.8.22

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 425Zeile 425
		"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
);


Zeile 438Zeile 439
	$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 643Zeile 644
		"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
);


Zeile 656Zeile 658
	$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 882Zeile 884
			admin_redirect("index.php?module=config-settings");
}


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


		// If we are changing the hidden captcha, make sure it doesn't conflict with another registration field
if(isset($mybb->input['upsetting']['hiddencaptchaimagefield']))
{
// Not allowed to be hidden captcha fields
$disallowed_fields = array(
'username',
'password',
'password2',
'email',
'email2',
'imagestring',
'imagehash',
'answer',
'question_id',
'allownotices',
'hideemail',
'receivepms',
'pmnotice',
'emailpmnotify',
'invisible',
'subscriptionmethod',
'timezoneoffset',
'dstcorrection',
'language',
'step',
'action',
'agree',
'regtime',
'regcheck1',
'regcheck2',
'regsubmit'
);

if(in_array($mybb->input['upsetting']['hiddencaptchaimagefield'], $disallowed_fields))
{
// 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");
}
}









































		// 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 and not set a public/private key?
if((isset($mybb->input['upsetting']['captchaimage']) && in_array($mybb->input['upsetting']['captchaimage'], array(4, 5)) && (!$mybb->input['upsetting']['captchaprivatekey'] || !$mybb->input['upsetting']['captchapublickey']))
|| (in_array($mybb->settings['captchaimage'], array(4, 5)) && (!$mybb->settings['captchaprivatekey'] || !$mybb->settings['captchapublickey'])))
{
$mybb->input['upsetting']['captchaimage'] = 1;
$lang->success_settings_updated .= $lang->success_settings_updated_captchaimage;
}


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

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

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


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

 
			$options = array();


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

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

				



				// All checkboxes deselected = no $mybb->input['upsetting'] for them, we need to initialize it manually then, but only on pages where the setting is shown
if(empty($mybb->input['upsetting'][$multisetting['name']]) && isset($mybb->input["isvisible_{$multisetting['name']}"]))
{
$mybb->input['upsetting'][$multisetting['name']] = array();
}
}

				// All checkboxes deselected = no $mybb->input['upsetting'] for them, we need to initialize it manually then, but only on pages where the setting is shown
if(empty($mybb->input['upsetting'][$multisetting['name']]) && isset($mybb->input["isvisible_{$multisetting['name']}"]))
{
$mybb->input['upsetting'][$multisetting['name']] = array();
}
}

			elseif($multisetting['optionscode'] == 'numeric')

			elseif(substr($multisetting['optionscode'], 0, 7) == 'numeric')

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

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

				{
$mybb->input['upsetting'][$multisetting['name']] = (int)$mybb->input['upsetting'][$multisetting['name']];
}
}











































				{
$type = explode("\n", $multisetting['optionscode']);
for($i=1; $i < count($type); $i++)
{
$optionsexp = explode("=", $type[$i]);
$opt = array_map('trim', $optionsexp);
if(in_array($opt[0], array('min', 'max', 'step')))
{
if($opt[0] != 'step' || $opt[1] != 'any')
{
$opt[1] = (float)$opt[1];
}
$options[$opt[0]] = $opt[1];
}
}

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

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

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

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

// Administrator is changing the login method.
if($mybb->settings['username_method'] == 1 || $mybb->settings['username_method'] == 2 || $mybb->input['upsetting']['username_method'] == 1 || $mybb->input['upsetting']['username_method'] == 2)
{
$query = $db->simple_select('users', 'email', "email != ''", array('group_by' => 'email HAVING COUNT(email)>1'));
if($db->num_rows($query))
{
$mybb->input['upsetting']['username_method'] = 0;
$lang->success_settings_updated .= $lang->success_settings_updated_username_method;
}

			else
{

			else
{

				$forum_group_select[] = $multisetting['name'];













































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

// 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]) &&
is_string($mybb->input['upsetting'][$field]) &&
strpos($mybb->input['upsetting'][$field], '://') !== false)
{
unset($mybb->input['upsetting'][$field]);
continue;
}

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

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

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

			}
}

			}
}







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

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

Zeile 962Zeile 1092
				if($forum_group_select && in_array($name, $forum_group_select))
{
if($value == 'all')

				if($forum_group_select && in_array($name, $forum_group_select))
{
if($value == 'all')

					{

					{

						$value = -1;
}
elseif($value == 'custom')

						$value = -1;
}
elseif($value == 'custom')

Zeile 985Zeile 1115
					else
{
$value = '';

					else
{
$value = '';

					}
}

					}
}

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

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

					



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

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

				



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

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

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

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

		{

		{

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

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

			{

			{

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

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

			{

			{

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

// If the delayedthreadviews setting was changed, enable or disable the tasks for it.
if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews'])

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

// If the delayedthreadviews setting was changed, enable or disable the tasks for it.
if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews'])

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

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













		}

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

		}

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

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

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

		{
my_unsetcookie("adminsid");
$mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];

		{
my_unsetcookie("adminsid");
$mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];

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

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

		}


		}


		// Have we opted for a reCAPTCHA and not set a public/private key?
if($mybb->input['upsetting']['captchaimage'] == 2 && !$mybb->input['upsetting']['captchaprivatekey'] && !$mybb->input['upsetting']['captchapublickey'])

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


		{

		{

			$db->update_query("settings", array("value" => 1), "name = 'captchaimage'");

			$cache->update_statistics();

		}


		}


		rebuild_settings();

$plugins->run_hooks("admin_config_settings_change_commit");

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







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


		rebuild_settings();

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

		{

		{

			$cache->update_reportedposts();


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

		}

		}

 

$plugins->run_hooks("admin_config_settings_change_commit");


// Log admin action
log_admin_action();


// Log admin action
log_admin_action();

Zeile 1072Zeile 1191
		// Search for settings
$search = $db->escape_string_like($mybb->input['search']);
$query = $db->query("

		// Search for settings
$search = $db->escape_string_like($mybb->input['search']);
$query = $db->query("

			SELECT s.*

			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)

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

			ORDER BY s.disporder
");
while($setting = $db->fetch_array($query))
{

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


























			$lang_var = "setting_{$setting['name']}";
if(isset($lang->$lang_var))
{
$setting["title"] = $lang->$lang_var;
}
$lang_var = "setting_{$setting['name']}_desc";
if(isset($lang->$lang_var))
{
$setting["description"] = $lang->$lang_var;
}
$lang_var = "setting_group_{$setting['gname']}";
if(isset($lang->$lang_var))
{
$setting["gtitle"] = $lang->$lang_var;
}
$lang_var = "setting_group_{$setting['gname']}_desc";
if(isset($lang->$lang_var))
{
$setting["gdescription"] = $lang->$lang_var;
}
$lang_var = $setting["title"] . " " . $setting["description"] . " " . $setting["gtitle"] . " " . $setting["gdescription"];
$search = mb_convert_encoding($search, mb_detect_encoding($setting["title"], "auto"));
if (mb_stripos($lang_var, $search))
{
$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 1111Zeile 1253
		{
$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->input['gid'])
{

Zeile 1132Zeile 1270

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

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

if(!$db->num_rows($query))
{

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

if(!$db->num_rows($query))
{

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

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

Zeile 1152Zeile 1290
		// 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 1168Zeile 1302
		}

if(!$db->num_rows($query))

		}

if(!$db->num_rows($query))

		{

		{

			$page->output_error($lang->error_invalid_gid2);
}


			$page->output_error($lang->error_invalid_gid2);
}


Zeile 1182Zeile 1316
		// 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 1222Zeile 1356
			}
else if($type[0] == "numeric")
{

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

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


















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

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

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

Zeile 1233Zeile 1384
				$setting_code = $form->generate_yes_no_radio($element_name, $setting['value'], true, array('id' => $element_id.'_yes', 'class' => $element_id), array('id' => $element_id.'_no', 'class' => $element_id));
}
else if($type[0] == "onoff")

				$setting_code = $form->generate_yes_no_radio($element_name, $setting['value'], true, array('id' => $element_id.'_yes', 'class' => $element_id), array('id' => $element_id.'_no', 'class' => $element_id));
}
else if($type[0] == "onoff")

			{

			{

				$setting_code = $form->generate_on_off_radio($element_name, $setting['value'], true, array('id' => $element_id.'_on', 'class' => $element_id), array('id' => $element_id.'_off', 'class' => $element_id));
}
else if($type[0] == "cpstyle")

				$setting_code = $form->generate_on_off_radio($element_name, $setting['value'], true, array('id' => $element_id.'_on', 'class' => $element_id), array('id' => $element_id.'_off', 'class' => $element_id));
}
else if($type[0] == "cpstyle")

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

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

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

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

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

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

Zeile 1265Zeile 1416
			else if($type[0] == "passwordbox")
{
$setting_code = $form->generate_password_box($element_name, $setting['value'], array('id' => $element_id));

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

			}

			}

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

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

			{

			{

				$setting['optionscode'] = substr($setting['optionscode'], 3);
eval("\$setting_code = \"".$setting['optionscode']."\";");

				$setting['optionscode'] = substr($setting['optionscode'], 3);
eval("\$setting_code = \"".$setting['optionscode']."\";");

			}

			}

			else if($type[0] == "forumselect")
{
$selected_values = '';

			else if($type[0] == "forumselect")
{
$selected_values = '';

Zeile 1285Zeile 1436
					unset($value);
}


					unset($value);
}


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






















































				$forum_checked = array('all' => '', 'custom' => '', 'none' => '');
if($setting['value'] == -1)
{
$forum_checked['all'] = 'checked="checked"';
}
elseif($setting['value'] != '')
{
$forum_checked['custom'] = 'checked="checked"';
}
else
{
$forum_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\" {$forum_checked['all']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->all_forums}</strong></label></dt>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"custom\" {$forum_checked['custom']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->select_forums}</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->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>
<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] == "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)

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

				{
$forum_checked['all'] = 'checked="checked"';

				{
$group_checked['all'] = 'checked="checked"';

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

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

					$forum_checked['custom'] = 'checked="checked"';

					$group_checked['custom'] = 'checked="checked"';

				}
else
{

				}
else
{

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

					$group_checked['none'] = 'checked="checked"';

				}

print_selection_javascript();

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

				}

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\" {$forum_checked['all']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->all_forums}</strong></label></dt>
<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"custom\" {$forum_checked['custom']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->select_forums}</strong></label></dt>

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

					<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->forums_colon}</small></td>
<td>".$form->generate_forum_select('select['.$setting['name'].'][]', $selected_values, array('id' => $element_id, 'multiple' => true, 'size' => 5))."</td>

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

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

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

					<dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$forum_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\" {$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>";
}

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

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

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

			{
$selected_value = (int)$setting['value']; // No need to check if empty, int will give 0

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

				$setting_code = $form->generate_group_select($element_name, $selected_value, array('id' => $element_id, 'main_option' => $lang->none));

			}

			}

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

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

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

				else
{

				else
{

					$group_checked['none'] = 'checked="checked"';

					$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}');
</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
{
$typecount = count($type);

			}
else
{
$typecount = count($type);

				



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

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

				



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

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

Zeile 1395Zeile 1590
					}
$title_lang = "setting_{$setting['name']}_{$optionsexp[0]}";
if(isset($lang->$title_lang))

					}
$title_lang = "setting_{$setting['name']}_{$optionsexp[0]}";
if(isset($lang->$title_lang))

					{

					{

						$optionsexp[1] = $lang->$title_lang;
}


						$optionsexp[1] = $lang->$title_lang;
}


Zeile 1419Zeile 1614
						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));

						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
{
$option_list[$i] = $form->generate_check_box("{$element_name}[]", $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id));
}
}
}

						else
{
$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));
}
else
{
$setting_code = implode("<br />", $option_list);

					$setting_code = $form->generate_select_box($element_name, $option_list, $setting['value'], array('id' => $element_id));
}
else
{
$setting_code = implode("<br />", $option_list);

					



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

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

Zeile 1442Zeile 1637
				}
$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 1459Zeile 1654
		$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 1639Zeile 1834
	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 1677Zeile 1872
		'new Peeker($(".setting_smilieinserter"), $("#row_setting_smilieinsertertot, #row_setting_smilieinsertercols"), 1, true)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_host, #row_setting_smtp_port, #row_setting_smtp_user, #row_setting_smtp_pass, #row_setting_secure_smtp"), "smtp", false)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_mail_parameters"), "mail", false)',

		'new Peeker($(".setting_smilieinserter"), $("#row_setting_smilieinsertertot, #row_setting_smilieinsertercols"), 1, true)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_smtp_host, #row_setting_smtp_port, #row_setting_smtp_user, #row_setting_smtp_pass, #row_setting_secure_smtp"), "smtp", false)',
'new Peeker($("#setting_mail_handler"), $("#row_setting_mail_parameters"), "mail", false)',

		'new Peeker($("#setting_captchaimage"), $("#row_setting_captchapublickey, #row_setting_captchaprivatekey"), /(2|4)/, false)',

		'new Peeker($("#setting_captchaimage"), $("#row_setting_captchapublickey, #row_setting_captchaprivatekey"), /(4|5)/, false)',

		'new Peeker($(".setting_contact"), $("#row_setting_contact_guests, #row_setting_contact_badwords, #row_setting_contact_maxsubjectlength, #row_setting_contact_minmessagelength, #row_setting_contact_maxmessagelength"), 1, true)',
'new Peeker($(".setting_enablepruning"), $("#row_setting_enableprunebyposts, #row_setting_pruneunactived, #row_setting_prunethreads"), 1, true)',
'new Peeker($(".setting_enableprunebyposts"), $("#row_setting_prunepostcount, #row_setting_dayspruneregistered, #row_setting_prunepostcountall"), 1, true)',

		'new Peeker($(".setting_contact"), $("#row_setting_contact_guests, #row_setting_contact_badwords, #row_setting_contact_maxsubjectlength, #row_setting_contact_minmessagelength, #row_setting_contact_maxmessagelength"), 1, true)',
'new Peeker($(".setting_enablepruning"), $("#row_setting_enableprunebyposts, #row_setting_pruneunactived, #row_setting_prunethreads"), 1, true)',
'new Peeker($(".setting_enableprunebyposts"), $("#row_setting_prunepostcount, #row_setting_dayspruneregistered, #row_setting_prunepostcountall"), 1, true)',

Zeile 1698Zeile 1893
		'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errortypemedium"), /^(log|email|both)/, false)',
'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errorloglocation"), /^(log|both)/, false)',
'new Peeker($(".setting_sigmycode"), $("#row_setting_sigcountmycode, #row_setting_sigimgcode"), 1, true)',

		'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errortypemedium"), /^(log|email|both)/, false)',
'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errorloglocation"), /^(log|both)/, false)',
'new Peeker($(".setting_sigmycode"), $("#row_setting_sigcountmycode, #row_setting_sigimgcode"), 1, true)',

		'new Peeker($(".setting_pmsallowmycode"), $("#row_setting_pmsallowimgcode, #row_setting_pmsallowvideocode"), 1, true)'



		'new Peeker($(".setting_pmsallowmycode"), $("#row_setting_pmsallowimgcode, #row_setting_pmsallowvideocode"), 1, true)',
'new Peeker($(".setting_enableshowteam"), $("#row_setting_showaddlgroups, #row_setting_showgroupleaders"), 1, true)',
'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>';