Zeile 441 | Zeile 441 |
---|
echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script> <script type="text/javascript"> $(document).ready(function() {
|
echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script> <script type="text/javascript"> $(document).ready(function() {
|
var peeker = new Peeker($("#type"), $("#row_extra"), /select|radio|checkbox|php/, false);
| 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 550 | Zeile 550 |
---|
$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 659 | Zeile 659 |
---|
echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script> <script type="text/javascript"> $(document).ready(function() {
|
echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script> <script type="text/javascript"> $(document).ready(function() {
|
var peeker = new Peeker($("#type"), $("#row_extra"), /select|radio|checkbox|php/, false);
| 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 882 | Zeile 882 |
---|
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', 'allownotices', 'hideemail', 'receivepms', 'pmnotice', 'emailpmnotify', 'invisible', 'subscriptionmethod', 'timezoneoffset', 'dstcorrection', 'language', 'step', 'action', '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"); } }
// Get settings which optionscode is a forum/group select
| // 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)); }
// 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(2, 4)) && (!$mybb->input['upsetting']['captchaprivatekey'] || !$mybb->input['upsetting']['captchapublickey'])) || (in_array($mybb->settings['captchaimage'], array(2, 4)) && (!$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
|
// 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'))
| $checkbox_settings = $forum_group_select = array(); $query = $db->simple_select('settings', 'name, optionscode', "optionscode IN('forumselect', 'groupselect') OR optionscode LIKE 'checkbox%' OR optionscode LIKE 'numeric%'");
while($multisetting = $db->fetch_array($query)) { 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)
|
{
|
{
|
$forum_group_select[] = $name;
| $query = $db->simple_select('users', 'email, COUNT(email) AS duplicates', "email!=''", array('group_by' => 'email HAVING duplicates>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; }
|
}
if(is_array($mybb->input['upsetting'])) { foreach($mybb->input['upsetting'] as $name => $value) {
|
}
if(is_array($mybb->input['upsetting'])) { foreach($mybb->input['upsetting'] as $name => $value) {
|
if(!empty($forum_group_select) && in_array($name, $forum_group_select))
| if($forum_group_select && in_array($name, $forum_group_select))
|
{ if($value == 'all') {
| { if($value == 'all') {
|
Zeile 947 | Zeile 1030 |
---|
} unset($val);
|
} unset($val);
|
$value = implode(',', (array)$mybb->input['select'][$name]);
| $value = implode(',', $mybb->input['select'][$name]);
|
} else {
| } else {
|
Zeile 959 | Zeile 1042 |
---|
$value = ''; } }
|
$value = ''; } }
|
| elseif($checkbox_settings && in_array($name, $checkbox_settings)) { $value = '';
|
|
|
$value = $db->escape_string($value); $db->update_query("settings", array('value' => $value), "name='".$db->escape_string($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)."'");
|
} }
| } }
|
Zeile 975 | Zeile 1066 |
---|
if(!$db->is_fulltext("posts") && $db->supports_fulltext("threads")) { $db->create_fulltext_index("threads", "subject");
|
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'])
|
}
// 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_setcookie("adminsid", $admin_session['sid'], '', true);
|
{ my_unsetcookie("adminsid"); $mybb->settings['cookieprefix'] = $mybb->input['upsetting']['cookieprefix']; my_setcookie("adminsid", $admin_session['sid'], '', true);
|
}
// 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']) { $cache->update_statistics(); }
if(isset($mybb->input['upsetting']['statslimit']) && $mybb->input['upsetting']['statslimit'] != $mybb->settings['statstopreferrer'])
|
{
|
{
|
$db->update_query("settings", array("value" => 1), "name = 'captchaimage'");
| $cache->update_most_replied_threads(); $cache->update_most_viewed_threads();
|
}
rebuild_settings();
|
}
rebuild_settings();
|
$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(); }
| $plugins->run_hooks("admin_config_settings_change_commit");
|
// Log admin action log_admin_action();
| // Log admin action log_admin_action();
|
Zeile 1042 | Zeile 1120 |
---|
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 ");
|
WHERE s.name LIKE '%{$search}%' OR s.title LIKE '%{$search}%' OR s.description LIKE '%{$search}%' OR g.name LIKE '%{$search}%' OR g.title LIKE '%{$search}%' OR g.description LIKE '%{$search}%' ORDER BY s.disporder ");
|
while($setting = $db->fetch_array($query)) { $cache_settings[$setting['gid']][$setting['sid']] = $setting; }
| while($setting = $db->fetch_array($query)) { $cache_settings[$setting['gid']][$setting['sid']] = $setting; }
|
if(!$db->num_rows($query)) { if(isset($mybb->input['ajax_search']))
| if(!$db->num_rows($query)) { if(isset($mybb->input['ajax_search']))
|
Zeile 1158 | Zeile 1236 |
---|
if(isset($lang->$group_lang_var)) { $groupinfo['title'] = $lang->$group_lang_var;
|
if(isset($lang->$group_lang_var)) { $groupinfo['title'] = $lang->$group_lang_var;
|
}
$form_container = new FormContainer($groupinfo['title']);
| }
$form_container = new FormContainer($groupinfo['title']);
|
if(empty($cache_settings[$groupinfo['gid']])) {
| if(empty($cache_settings[$groupinfo['gid']])) {
|
Zeile 1186 | Zeile 1264 |
---|
} 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 1274 | Zeile 1369 |
---|
<tr> <td valign=\"top\"><small>{$lang->forums_colon}</small></td> <td>".$form->generate_forum_select('select['.$setting['name'].'][]', $selected_values, array('id' => $element_id, 'multiple' => true, 'size' => 5))."</td>
|
<tr> <td valign=\"top\"><small>{$lang->forums_colon}</small></td> <td>".$form->generate_forum_select('select['.$setting['name'].'][]', $selected_values, array('id' => $element_id, 'multiple' => true, 'size' => 5))."</td>
|
</tr> </table>
| </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>
| </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>
|
Zeile 1343 | Zeile 1438 |
---|
} 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])) { continue;
|
{ $optionsexp = explode("=", $type[$i]); if(!isset($optionsexp[1])) { continue;
|
}
| }
|
$title_lang = "setting_{$setting['name']}_{$optionsexp[0]}"; if(isset($lang->$title_lang)) { $optionsexp[1] = $lang->$title_lang;
|
$title_lang = "setting_{$setting['name']}_{$optionsexp[0]}"; if(isset($lang->$title_lang)) { $optionsexp[1] = $lang->$title_lang;
|
}
| }
|
if($type[0] == "select") { $option_list[$optionsexp[0]] = htmlspecialchars_uni($optionsexp[1]); } else if($type[0] == "radio")
|
if($type[0] == "select") { $option_list[$optionsexp[0]] = htmlspecialchars_uni($optionsexp[1]); } else if($type[0] == "radio")
|
{
| {
|
if($setting['value'] == $optionsexp[0])
|
if($setting['value'] == $optionsexp[0])
|
{
| {
|
$option_list[$i] = $form->generate_radio_button($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, "checked" => 1, 'class' => $element_id));
|
$option_list[$i] = $form->generate_radio_button($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_radio_button($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id)); } } else if($type[0] == "checkbox")
|
$option_list[$i] = $form->generate_radio_button($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id)); } } else if($type[0] == "checkbox")
|
{ if($setting['value'] == $optionsexp[0]) { $option_list[$i] = $form->generate_check_box($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, "checked" => 1, 'class' => $element_id)); }
| { if(in_array($optionsexp[0], $multivalue)) { $option_list[$i] = $form->generate_check_box("{$element_name}[]", $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, "checked" => 1, 'class' => $element_id)); }
|
else {
|
else {
|
$option_list[$i] = $form->generate_check_box($element_name, $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id));
| $option_list[$i] = $form->generate_check_box("{$element_name}[]", $optionsexp[0], htmlspecialchars_uni($optionsexp[1]), array('id' => $element_id.'_'.$i, 'class' => $element_id));
|
}
|
}
|
}
| }
|
}
|
}
|
|
|
if($type[0] == "select") { $setting_code = $form->generate_select_box($element_name, $option_list, $setting['value'], array('id' => $element_id));
| if($type[0] == "select") { $setting_code = $form->generate_select_box($element_name, $option_list, $setting['value'], array('id' => $element_id));
|
Zeile 1390 | Zeile 1493 |
---|
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 1589 | Zeile 1698 |
---|
echo '</div>';
echo '
|
echo '</div>';
echo '
|
<script type="text/javascript" src="./jscripts/search.js"></script>
| <script type="text/javascript" src="./jscripts/search.js?ver=1808"></script>
|
<script type="text/javascript"> //<!-- $(document).ready(function(){
| <script type="text/javascript"> //<!-- $(document).ready(function(){
|
Zeile 1602 | Zeile 1711 |
---|
$page->output_footer(); }
|
$page->output_footer(); }
|
| /** * Print all the peekers for all of the default settings */
|
function print_setting_peekers() { global $plugins;
| function print_setting_peekers() { global $plugins;
|
Zeile 1625 | Zeile 1737 |
---|
'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_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_ayahpublisherkey, #row_setting_ayahscoringkey"), 3, 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)',
|