Zeile 425 | Zeile 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 438 | 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?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 643 | Zeile 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 656 | 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?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 927 | Zeile 929 |
---|
}
$lang->success_settings_updated .= $lang->sprintf($lang->success_settings_updated_hiddencaptchaimage, htmlspecialchars_uni($mybb->input['upsetting']['hiddencaptchaimagefield']), htmlspecialchars_uni($wrong_value));
|
}
$lang->success_settings_updated .= $lang->sprintf($lang->success_settings_updated_hiddencaptchaimage, htmlspecialchars_uni($mybb->input['upsetting']['hiddencaptchaimagefield']), htmlspecialchars_uni($wrong_value));
|
| }
// Validate avatar dimension inputs $gid = (int)$mybb->input['gid']; $dimfields = array( 8 => array('postmaxavatarsize'), 10 => array('useravatardims', 'maxavatardims'), 13 => array('memberlistmaxavatarsize') ); if(in_array($gid, array_keys($dimfields))) { foreach($dimfields[$gid] as $field) { if(isset($mybb->input['upsetting'][$field])) { if(preg_match("/\b\d+[|x]{1}\d+\b/i", $mybb->input['upsetting'][$field]) || ($field == 'maxavatardims' && trim($mybb->input['upsetting'][$field]) == "")) { // If pipe (|) is used normalize to 'x' $mybb->input['upsetting'][$field] = str_replace('|', 'x', my_strtolower($mybb->input['upsetting'][$field])); } else { flash_message($lang->sprintf($lang->error_format_dimension, $lang->{'error_field_'.$field}), 'error'); admin_redirect("index.php?module=config-settings&action=change&gid=".$gid); } } }
|
}
// Have we opted for a reCAPTCHA and not set a public/private key?
| }
// Have we opted for a reCAPTCHA and not set a public/private key?
|
Zeile 939 | Zeile 968 |
---|
// Get settings which optionscode is a forum/group select, checkbox or numeric // We cannot rely on user input to decide this
|
// Get settings which optionscode is a forum/group select, checkbox or numeric // We cannot rely on user input to decide this
|
$checkbox_settings = $forum_group_select = array(); $query = $db->simple_select('settings', 'name, optionscode', "optionscode IN('forumselect', 'groupselect') OR optionscode LIKE 'checkbox%' OR optionscode LIKE 'numeric%'");
| $checkbox_settings = $forum_group_select = $prefix_select = array(); $query = $db->simple_select('settings', 'name, optionscode', "optionscode IN('forumselect', 'groupselect', 'prefixselect') OR optionscode LIKE 'checkbox%' OR optionscode LIKE 'numeric%'");
|
while($multisetting = $db->fetch_array($query)) {
| while($multisetting = $db->fetch_array($query)) {
|
Zeile 949 | Zeile 978 |
---|
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']}"])) {
| // 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']}"])) {
|
Zeile 986 | Zeile 1015 |
---|
{ $value = min($value, $options['max']); }
|
{ $value = min($value, $options['max']); }
|
|
|
$mybb->input['upsetting'][$multisetting['name']] = $value; } }
| $mybb->input['upsetting'][$multisetting['name']] = $value; } }
|
Zeile 1004 | Zeile 1033 |
---|
{ $mybb->input['upsetting']['username_method'] = 0; $lang->success_settings_updated .= $lang->success_settings_updated_username_method;
|
{ $mybb->input['upsetting']['username_method'] = 0; $lang->success_settings_updated .= $lang->success_settings_updated_username_method;
|
}
| }
|
else
|
else
|
{
| {
|
$mybb->input['upsetting']['allowmultipleemails'] = 0; $lang->success_settings_updated .= $lang->success_settings_updated_allowmultipleemails; } }
|
$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'])) {
| if(is_array($mybb->input['upsetting'])) {
|
Zeile 1118 | 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 "); 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'])) {
|
Zeile 1158 | Zeile 1254 |
---|
$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&action=change", "post", "change");
echo $form->generate_hidden_field("gid", $group['gid']);
| |
} elseif($mybb->input['gid']) {
| } elseif($mybb->input['gid']) {
|
Zeile 1198 | 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 1211 | Zeile 1299 |
---|
while($group = $db->fetch_array($query)) { $cache_groups[$group['gid']] = $group;
|
while($group = $db->fetch_array($query)) { $cache_groups[$group['gid']] = $group;
|
}
| }
|
if(!$db->num_rows($query)) { $page->output_error($lang->error_invalid_gid2);
| if(!$db->num_rows($query)) { $page->output_error($lang->error_invalid_gid2);
|
Zeile 1228 | 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 1377 | Zeile 1465 |
---|
</table> </dd> <dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$forum_checked['none']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->none}</strong></label></dt>
|
</table> </dd> <dt><label style=\"display: block;\"><input type=\"radio\" name=\"{$element_name}\" value=\"none\" {$forum_checked['none']} class=\"{$element_id}_forums_groups_check\" onclick=\"checkAction('{$element_id}');\" style=\"vertical-align: middle;\" /> <strong>{$lang->none}</strong></label></dt>
|
</dl>
| </dl>
|
<script type=\"text/javascript\"> checkAction('{$element_id}'); </script>";
| <script type=\"text/javascript\"> checkAction('{$element_id}'); </script>";
|
Zeile 1399 | Zeile 1487 |
---|
$value = (int)$value; } unset($value);
|
$value = (int)$value; } unset($value);
|
}
$group_checked = array('all' => '', 'custom' => '', 'none' => '');
| }
$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); } $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 {
| } else {
|
Zeile 1522 | 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 1702 | Zeile 1834 |
---|
echo '</div>';
echo '
|
echo '</div>';
echo '
|
<script type="text/javascript" src="./jscripts/search.js?ver=1808"></script>
| <script type="text/javascript" src="./jscripts/search.js?ver=1821"></script>
|
<script type="text/javascript"> //<!--
|
<script type="text/javascript"> //<!--
|
$(document).ready(function(){
| $(function(){
|
SettingSearch.init("'.$lang->settings_search.'","'.$lang->error_ajax_unknown.'"); }); //-->
| SettingSearch.init("'.$lang->settings_search.'","'.$lang->error_ajax_unknown.'"); }); //-->
|
Zeile 1762 | Zeile 1894 |
---|
'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errorloglocation"), /^(log|both)/, false)', 'new Peeker($(".setting_sigmycode"), $("#row_setting_sigcountmycode, #row_setting_sigimgcode"), 1, true)', 'new Peeker($(".setting_pmsallowmycode"), $("#row_setting_pmsallowimgcode, #row_setting_pmsallowvideocode"), 1, true)',
|
'new Peeker($("#setting_errorlogmedium"), $("#row_setting_errorloglocation"), /^(log|both)/, false)', 'new Peeker($(".setting_sigmycode"), $("#row_setting_sigcountmycode, #row_setting_sigimgcode"), 1, true)', 'new Peeker($(".setting_pmsallowmycode"), $("#row_setting_pmsallowimgcode, #row_setting_pmsallowvideocode"), 1, true)',
|
'new Peeker($(".setting_enableshowteam"), $("#row_setting_showaddlgroups, #row_setting_showgroupleaders"), 1, true)'
| 'new Peeker($(".setting_enableshowteam"), $("#row_setting_showaddlgroups, #row_setting_showgroupleaders"), 1, true)', 'new Peeker($(".setting_usereferrals"), $("#row_setting_referralsperpage"), 1, true)',
|
);
$peekers = $plugins->run_hooks("admin_settings_print_peekers", $peekers);
$setting_peekers = implode("\n ", $peekers);
|
);
$peekers = $plugins->run_hooks("admin_settings_print_peekers", $peekers);
$setting_peekers = implode("\n ", $peekers);
|
echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1804"></script>
| echo '<script type="text/javascript" src="./jscripts/peeker.js?ver=1821"></script>
|
<script type="text/javascript">
|
<script type="text/javascript">
|
$(document).ready(function() {
| $(function() {
|
' . $setting_peekers . ' }); </script>';
| ' . $setting_peekers . ' }); </script>';
|