Zeile 49 | Zeile 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 100 | Zeile 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_numeric_field('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 114 | Zeile 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 159 | Zeile 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),
|
);
$plugins->run_hooks("admin_config_settings_editgroup_commit");
| );
$plugins->run_hooks("admin_config_settings_editgroup_commit");
|
Zeile 202 | Zeile 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_numeric_field('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 216 | Zeile 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 274 | Zeile 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) {
|
Zeile 325 | Zeile 325 |
---|
if($options_code == "numeric") {
|
if($options_code == "numeric") {
|
$value = (int)$mybb->input['value'];
| $value = $mybb->get_input('value', MyBB::INPUT_INT);
|
} else {
| } else {
|
Zeile 338 | Zeile 338 |
---|
"description" => $db->escape_string($mybb->input['description']), "optionscode" => $db->escape_string($options_code), "value" => $value,
|
"description" => $db->escape_string($mybb->input['description']), "optionscode" => $db->escape_string($options_code), "value" => $value,
|
"disporder" => (int)$mybb->input['disporder'], "gid" => (int)$mybb->input['gid']
| "disporder" => $mybb->get_input('disporder', MyBB::INPUT_INT), "gid" => $mybb->get_input('gid', MyBB::INPUT_INT)
|
);
$sid = $db->insert_query("settings", $new_setting);
| );
$sid = $db->insert_query("settings", $new_setting);
|
Zeile 395 | Zeile 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_numeric_field('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');
| $form_container->output_row($lang->name." <em>*</em>", $lang->name_desc, $form->generate_text_box('name', $mybb->input['name'], array('id' => 'name')), 'name');
|
Zeile 410 | Zeile 418 |
---|
"onoff" => $lang->onoff, "select" => $lang->select, "forumselect" => $lang->forum_selection_box,
|
"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 428 | Zeile 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 443 | Zeile 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 521 | Zeile 532 |
---|
if($options_code == "numeric") {
|
if($options_code == "numeric") {
|
$value = (int)$mybb->input['value'];
| $value = $mybb->get_input('value', MyBB::INPUT_INT);
|
} else {
| } else {
|
Zeile 534 | Zeile 545 |
---|
"description" => $db->escape_string($mybb->input['description']), "optionscode" => $db->escape_string($options_code), "value" => $value,
|
"description" => $db->escape_string($mybb->input['description']), "optionscode" => $db->escape_string($options_code), "value" => $value,
|
"disporder" => (int)$mybb->input['disporder'], "gid" => (int)$mybb->input['gid']
| "disporder" => $mybb->get_input('disporder', MyBB::INPUT_INT), "gid" => $mybb->get_input('gid', MyBB::INPUT_INT)
|
);
$plugins->run_hooks("admin_config_settings_edit_commit");
|
);
$plugins->run_hooks("admin_config_settings_edit_commit");
|
$db->update_query("settings", $updated_setting, "sid='{$mybb->input['sid']}'");
| $db->update_query("settings", $updated_setting, "sid='{$setting['sid']}'");
|
rebuild_settings();
// Log admin action
| rebuild_settings();
// Log admin action
|
Zeile 601 | Zeile 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_numeric_field('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 618 | Zeile 637 |
---|
"onoff" => $lang->onoff, "select" => $lang->select, "forumselect" => $lang->forum_selection_box,
|
"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 636 | Zeile 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 651 | Zeile 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 792 | Zeile 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_numeric_field("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 822 | Zeile 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_numeric_field("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 862 | Zeile 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' );
$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 $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']; } }
// 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);
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']))
|
if(is_array($mybb->input['upsetting']))
|
{
| {
|
foreach($mybb->input['upsetting'] as $name => $value) {
|
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 927 | Zeile 1105 |
---|
} unset($val);
|
} unset($val);
|
$value = implode(',', (array)$mybb->input['select'][$name]);
| $value = implode(',', $mybb->input['select'][$name]);
|
} else {
| } else {
|
Zeile 937 | Zeile 1115 |
---|
else { $value = '';
|
else { $value = '';
|
| } } elseif($checkbox_settings && in_array($name, $checkbox_settings)) { $value = '';
if(is_array($mybb->input['upsetting'][$name])) { $value = implode(',', $mybb->input['upsetting'][$name]);
|
} }
|
} }
|
$value = $db->escape_string($value); $db->update_query("settings", array('value' => $value), "name='".$db->escape_string($name)."'");
| $db->update_query("settings", array('value' => $db->escape_string($value)), "name='".$db->escape_string($name)."'");
|
} }
| } }
|
Zeile 951 | Zeile 1137 |
---|
if(!$db->is_fulltext("posts") && $db->supports_fulltext_boolean("posts")) { $db->create_fulltext_index("posts", "message");
|
if(!$db->is_fulltext("posts") && $db->supports_fulltext_boolean("posts")) { $db->create_fulltext_index("posts", "message");
|
}
| }
|
if(!$db->is_fulltext("posts") && $db->supports_fulltext("threads"))
|
if(!$db->is_fulltext("posts") && $db->supports_fulltext("threads"))
|
{
| {
|
$db->create_fulltext_index("threads", "subject");
|
$db->create_fulltext_index("threads", "subject");
|
}
| }
|
}
// If the delayedthreadviews setting was changed, enable or disable the tasks for it. if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews']) {
|
}
// If the delayedthreadviews setting was changed, enable or disable the tasks for it. if(isset($mybb->input['upsetting']['delayedthreadviews']) && $mybb->settings['delayedthreadviews'] != $mybb->input['upsetting']['delayedthreadviews']) {
|
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'"); }
// 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']) {
| $db->update_query("tasks", array('enabled' => (int)$mybb->input['upsetting']['delayedthreadviews']), "file='threadviews'"); }
// Have we changed our cookie prefix? If so, update our adminsid so we're not logged out if(isset($mybb->input['upsetting']['cookieprefix']) && $mybb->input['upsetting']['cookieprefix'] != $mybb->settings['cookieprefix']) {
|
my_unsetcookie("adminsid"); $mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];
|
my_unsetcookie("adminsid"); $mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix'];
|
my_setcookie("adminsid", $admin_session['sid'], '', true); }
| my_setcookie("adminsid", $admin_session['sid'], '', true, "lax"); }
if(isset($mybb->input['upsetting']['statstopreferrer']) && $mybb->input['upsetting']['statstopreferrer'] != $mybb->settings['statstopreferrer']) { $cache->update_statistics(); }
$statslimit = $mybb->settings['statslimit'];
rebuild_settings();
|
|
|
// 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']['statslimit']) && $mybb->input['upsetting']['statslimit'] != $statslimit)
|
{
|
{
|
$db->update_query("settings", array("value" => 1), "name = 'captchaimage'");
| $cache->update_most_replied_threads(); $cache->update_most_viewed_threads();
|
}
|
}
|
rebuild_settings();
| |
$plugins->run_hooks("admin_config_settings_change_commit");
|
$plugins->run_hooks("admin_config_settings_change_commit");
|
// If we have changed our report reasons recache them if(isset($mybb->input['upsetting']['reportreasons'])) { $cache->update_reportedposts(); }
| |
// Log admin action log_admin_action();
|
// Log admin action log_admin_action();
|
|
|
flash_message($lang->success_settings_updated, 'success'); admin_redirect("index.php?module=config-settings"); }
|
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 1016 | Zeile 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
|
ORDER BY s.disporder
|
");
| ");
|
while($setting = $db->fetch_array($query))
|
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;
|
}
| }
|
else { flash_message($lang->error_no_settings_found, 'error'); admin_redirect("index.php?module=config-settings"); }
|
else { flash_message($lang->error_no_settings_found, 'error'); admin_redirect("index.php?module=config-settings"); }
|
}
| }
|
// Cache groups $groups = array_keys($cache_settings); $groups = implode(',', $groups); $query = $db->simple_select("settinggroups", "*", "gid IN ({$groups})", array('order_by' => 'disporder')); while($group = $db->fetch_array($query))
|
// Cache groups $groups = array_keys($cache_settings); $groups = implode(',', $groups); $query = $db->simple_select("settinggroups", "*", "gid IN ({$groups})", array('order_by' => 'disporder')); while($group = $db->fetch_array($query))
|
{
| {
|
$cache_groups[$group['gid']] = $group;
|
$cache_groups[$group['gid']] = $group;
|
}
| }
|
// Page header only if not AJAX if(!isset($mybb->input['ajax_search'])) { $page->add_breadcrumb_item($lang->settings_search); $page->output_header($lang->board_settings." - {$lang->settings_search}");
|
// Page header only if not AJAX if(!isset($mybb->input['ajax_search'])) { $page->add_breadcrumb_item($lang->settings_search); $page->output_header($lang->board_settings." - {$lang->settings_search}");
|
}
$form = new Form("index.php?module=config-settings&action=change", "post", "change");
echo $form->generate_hidden_field("gid", $group['gid']);
| }
|
} elseif($mybb->input['gid']) { // 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;
|
if(!$db->num_rows($query)) { $page->output_error($lang->error_invalid_gid2); }
// Cache settings $query = $db->simple_select("settings", "*", "gid='".(int)$mybb->input['gid']."'", array('order_by' => 'disporder')); while($setting = $db->fetch_array($query)) {
| if(!$db->num_rows($query)) { $page->output_error($lang->error_invalid_gid2); }
// Cache settings $query = $db->simple_select("settings", "*", "gid='".$mybb->get_input('gid', MyBB::INPUT_INT)."'", array('order_by' => 'disporder')); while($setting = $db->fetch_array($query)) {
|
$cache_settings[$setting['gid']][$setting['sid']] = $setting; }
| $cache_settings[$setting['gid']][$setting['sid']] = $setting; }
|
Zeile 1096 | Zeile 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&action=change", "post", "change");
echo $form->generate_hidden_field("gid", $groupinfo['gid']);
| |
} else {
| } else {
|
Zeile 1126 | Zeile 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&action=change", "post", "change");
| |
}
|
}
|
// Build rest of page $buttons[] = $form->generate_submit_button($lang->save_settings);
| // Build individual forms as per settings group
|
foreach($cache_groups as $groupinfo) {
|
foreach($cache_groups as $groupinfo) {
|
| $form = new Form("index.php?module=config-settings&action=change", "post", "change"); echo $form->generate_hidden_field("gid", $groupinfo['gid']); $buttons = array($form->generate_submit_button($lang->save_settings));
|
$group_lang_var = "setting_group_{$groupinfo['name']}"; if(isset($lang->$group_lang_var)) {
| $group_lang_var = "setting_group_{$groupinfo['name']}"; if(isset($lang->$group_lang_var)) {
|
Zeile 1165 | Zeile 1355 |
---|
$setting_code = $form->generate_text_box($element_name, $setting['value'], array('id' => $element_id)); } else if($type[0] == "numeric")
|
$setting_code = $form->generate_text_box($element_name, $setting['value'], array('id' => $element_id)); } else if($type[0] == "numeric")
|
{ $setting_code = $form->generate_numeric_field($element_name, $setting['value'], array('id' => $element_id));
| { $field_options = array('id' => $element_id); if(count($type) > 1) { for($i=1; $i < count($type); $i++) { $optionsexp = explode("=", $type[$i]); $opt = array_map('trim', $optionsexp); if(in_array($opt[0], array('min', 'max', 'step'))) { if($opt[0] != 'step' || $opt[1] != 'any') { $opt[1] = (float)$opt[1]; } $field_options[$opt[0]] = $opt[1]; } } } $setting_code = $form->generate_numeric_field($element_name, $setting['value'], $field_options);
|
} else if($type[0] == "textarea") {
| } else if($type[0] == "textarea") {
|
Zeile 1216 | Zeile 1423 |
---|
eval("\$setting_code = \"".$setting['optionscode']."\";"); } else if($type[0] == "forumselect")
|
eval("\$setting_code = \"".$setting['optionscode']."\";"); } else if($type[0] == "forumselect")
|
{ $selected_values = ''; if($setting['value'] != '' && $setting['value'] != -1) {
| { $selected_values = ''; if($setting['value'] != '' && $setting['value'] != -1) {
|
$selected_values = explode(',', (string)$setting['value']);
foreach($selected_values as &$value)
| $selected_values = explode(',', (string)$setting['value']);
foreach($selected_values as &$value)
|
Zeile 1262 | Zeile 1469 |
---|
<script type=\"text/javascript\"> checkAction('{$element_id}'); </script>";
|
<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") {
| } else if($type[0] == "groupselect") {
|
Zeile 1269 | Zeile 1481 |
---|
if($setting['value'] != '' && $setting['value'] != -1) { $selected_values = explode(',', (string)$setting['value']);
|
if($setting['value'] != '' && $setting['value'] != -1) { $selected_values = explode(',', (string)$setting['value']);
|
| foreach($selected_values as &$value) { $value = (int)$value; } unset($value); }
$group_checked = array('all' => '', 'custom' => '', 'none' => ''); if($setting['value'] == -1) { $group_checked['all'] = 'checked="checked"'; } elseif($setting['value'] != '') { $group_checked['custom'] = 'checked="checked"'; } else { $group_checked['none'] = 'checked="checked"'; }
print_selection_javascript();
$setting_code = " <dl style=\"margin-top: 0; margin-bottom: 0; width: 100%\"> <dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"all\" {$group_checked['all']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->all_groups}</strong></label></dt> <dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"custom\" {$group_checked['custom']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->select_groups}</strong></label></dt> <dd style=\"margin-top: 4px;\" id=\"{$element_id}_forums_groups_custom\" class=\"{$element_id}_forums_groups\"> <table cellpadding=\"4\"> <tr> <td valign=\"top\"><small>{$lang->groups_colon}</small></td> <td>".$form->generate_group_select('select['.$setting['name'].'][]', $selected_values, array('id' => $element_id, 'multiple' => true, 'size' => 5))."</td> </tr> </table> </dd> <dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$group_checked['none']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->none}</strong></label></dt> </dl> <script type=\"text/javascript\"> checkAction('{$element_id}'); </script>"; } else if($type[0] == "groupselectsingle") { $selected_value = (int)$setting['value']; // No need to check if empty, int will give 0 $setting_code = $form->generate_group_select($element_name, $selected_value, array('id' => $element_id, 'main_option' => $lang->none)); } else if($type[0] == "prefixselect") { $selected_values = ''; if($setting['value'] != '' && $setting['value'] != -1) { $selected_values = explode(',', (string)$setting['value']);
|
foreach($selected_values as &$value) { $value = (int)$value; } unset($value); }
|
foreach($selected_values as &$value) { $value = (int)$value; } unset($value); }
|
$group_checked = array('all' => '', 'custom' => '', 'none' => '');
| $prefix_checked = array('all' => '', 'custom' => '', 'none' => '');
|
if($setting['value'] == -1)
|
if($setting['value'] == -1)
|
{ $group_checked['all'] = 'checked="checked"'; }
| { $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}');
| </dl> <script type=\"text/javascript\"> checkAction('{$element_id}');
|
Zeile 1313 | Zeile 1574 |
---|
} 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 1343 | Zeile 1611 |
---|
} else if($type[0] == "checkbox") {
|
} else if($type[0] == "checkbox") {
|
if($setting['value'] == $optionsexp[0])
| 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));
| $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 1379 | Zeile 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 1432 | Zeile 1707 |
---|
'link' => "index.php?module=config-settings&action=manage", );
|
'link' => "index.php?module=config-settings&action=manage", );
|
$page->output_nav_tabs($sub_tabs, 'change_settings');
| $page->output_nav_tabs($sub_tabs, 'change_settings');
|
// Search form echo "<div style=\"text-align: right; margin-bottom: 3px;\">"; $search = new Form("index.php", 'get', 'settings_search', 0, 'settings_search');
| // Search form echo "<div style=\"text-align: right; margin-bottom: 3px;\">"; $search = new Form("index.php", 'get', 'settings_search', 0, 'settings_search');
|
Zeile 1447 | Zeile 1722 |
---|
echo '<div id="search_results"> </div><div id="group_list">'; $table = new Table; $table->construct_header($lang->setting_groups);
|
echo '<div id="search_results"> </div><div id="group_list">'; $table = new Table; $table->construct_header($lang->setting_groups);
|
|
|
switch($db->type) { case "pgsql":
| switch($db->type) { case "pgsql":
|
Zeile 1456 | Zeile 1731 |
---|
FROM ".TABLE_PREFIX."settinggroups g LEFT JOIN ".TABLE_PREFIX."settings s ON (s.gid=g.gid) WHERE g.isdefault = 1
|
FROM ".TABLE_PREFIX."settinggroups g LEFT JOIN ".TABLE_PREFIX."settings s ON (s.gid=g.gid) WHERE g.isdefault = 1
|
GROUP BY ".$db->build_fields_string("settinggroups", "g.")." ORDER BY g.disporder "); break; default: $query = $db->query(" SELECT g.*, COUNT(s.sid) AS settingcount FROM ".TABLE_PREFIX."settinggroups g LEFT JOIN ".TABLE_PREFIX."settings s ON (s.gid=g.gid) WHERE g.isdefault = 1
| GROUP BY ".$db->build_fields_string("settinggroups", "g.")." ORDER BY g.disporder "); break; default: $query = $db->query(" SELECT g.*, COUNT(s.sid) AS settingcount FROM ".TABLE_PREFIX."settinggroups g LEFT JOIN ".TABLE_PREFIX."settings s ON (s.gid=g.gid) WHERE g.isdefault = 1
|
GROUP BY g.gid ORDER BY g.disporder ");
| GROUP BY g.gid ORDER BY g.disporder ");
|
Zeile 1533 | Zeile 1808 |
---|
if($lang->$group_lang_var) { $group_title = htmlspecialchars_uni($lang->$group_lang_var);
|
if($lang->$group_lang_var) { $group_title = htmlspecialchars_uni($lang->$group_lang_var);
|
} else
| } else
|
{ $group_title = htmlspecialchars_uni($group['title']); }
| { $group_title = htmlspecialchars_uni($group['title']); }
|
Zeile 1559 | Zeile 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 1572 | Zeile 1847 |
---|
$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_errortypemedium, #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_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_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_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_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>'; }
|