%PDF- %PDF-
Direktori : /backups/router/usr/local/www/ |
Current File : //backups/router/usr/local/www/system_advanced_misc.php |
<?php /* * Copyright (C) 2014-2015 Deciso B.V. * Copyright (C) 2005-2007 Scott Ullrich <sullrich@gmail.com> * Copyright (C) 2009 Scott Ullrich <sullrich@gmail.com> * Copyright (C) 2008 Shrew Soft Inc. <mgrooms@shrew.net> * Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ require_once("guiconfig.inc"); require_once("filter.inc"); require_once("system.inc"); require_once("interfaces.inc"); function crypto_modules() { $modules = array( 'hifn' => gettext('Hifn 7751/7951/7811/7955/7956 Crypto Accelerator'), 'padlock' => gettext('Crypto and RNG in VIA C3, C7 and Eden Processors'), 'qat' => gettext('Intel QuickAssist Technology'), 'safe' => gettext('SafeNet Crypto Accelerator'), ); $available = array(); foreach ($modules as $name => $desc) { if (file_exists("/boot/kernel/{$name}.ko")) { $available[$name] = $desc; } } return $available; } function thermal_modules() { $modules = array( 'amdtemp' => gettext('AMD K8, K10 and K11 CPU on-die thermal sensor'), 'coretemp' => gettext('Intel Core* CPU on-die thermal sensor'), ); $available = array(); foreach ($modules as $name => $desc) { if (file_exists("/boot/kernel/{$name}.ko")) { $available[$name] = $desc; } } return $available; } if ($_SERVER['REQUEST_METHOD'] === 'GET') { $pconfig = array(); $pconfig['powerd_enable'] = isset($config['system']['powerd_enable']); $pconfig['crypto_hardware'] = !empty($config['system']['crypto_hardware']) ? explode(',', $config['system']['crypto_hardware']) : []; $pconfig['thermal_hardware'] = !empty($config['system']['thermal_hardware']) ? $config['system']['thermal_hardware'] : null; $pconfig['use_mfs_var'] = isset($config['system']['use_mfs_var']); $pconfig['max_mfs_var'] = $config['system']['max_mfs_var'] ?? null; $pconfig['use_mfs_tmp'] = isset($config['system']['use_mfs_tmp']); $pconfig['max_mfs_tmp'] = $config['system']['max_mfs_tmp'] ?? null; $pconfig['use_swap_file'] = isset($config['system']['use_swap_file']); $pconfig['rrdbackup'] = !empty($config['system']['rrdbackup']) ? $config['system']['rrdbackup'] : null; $pconfig['dhcpbackup'] = !empty($config['system']['dhcpbackup']) ? $config['system']['dhcpbackup'] : null; $pconfig['netflowbackup'] = !empty($config['system']['netflowbackup']) ? $config['system']['netflowbackup'] : null; $pconfig['captiveportalbackup'] = !empty($config['system']['captiveportalbackup']) ? $config['system']['captiveportalbackup'] : null; $pconfig['powerd_ac_mode'] = "hadp"; if (!empty($config['system']['powerd_ac_mode'])) { $pconfig['powerd_ac_mode'] = $config['system']['powerd_ac_mode']; } $pconfig['powerd_battery_mode'] = "hadp"; if (!empty($config['system']['powerd_battery_mode'])) { $pconfig['powerd_battery_mode'] = $config['system']['powerd_battery_mode']; } $pconfig['powerd_normal_mode'] = "hadp"; if (!empty($config['system']['powerd_normal_mode'])) { $pconfig['powerd_normal_mode'] = $config['system']['powerd_normal_mode']; } // System Sounds $pconfig['disablebeep'] = isset($config['system']['disablebeep']); } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { $input_errors = array(); $pconfig = $_POST; if (!empty($pconfig['crypto_hardware'])) { if (count(array_intersect($pconfig['crypto_hardware'], crypto_modules())) == count($pconfig['crypto_hardware'])) { $input_errors[] = gettext('Please select a valid Cryptographic Accelerator.'); } } else { $pconfig['crypto_hardware'] = []; } if (isset($pconfig['max_mfs_var']) && $pconfig['max_mfs_var'] != '') { if (!is_numeric($pconfig['max_mfs_var'])) { $input_errors[] = gettext('Memory usage percentage is not a number.'); } else if ($pconfig['max_mfs_var'] < 0 || $pconfig['max_mfs_var'] > 100) { $input_errors[] = gettext('Memory usage percentage out of bounds.'); } } if (isset($pconfig['max_mfs_tmp']) && $pconfig['max_mfs_tmp'] != '') { if (!is_numeric($pconfig['max_mfs_tmp'])) { $input_errors[] = gettext('Memory usage percentage is not a number.'); } else if ($pconfig['max_mfs_tmp'] < 0 || $pconfig['max_mfs_tmp'] > 100) { $input_errors[] = gettext('Memory usage percentage out of bounds.'); } } if (!empty($pconfig['thermal_hardware']) && !array_key_exists($pconfig['thermal_hardware'], thermal_modules())) { $input_errors[] = gettext("Please select a valid Thermal Hardware Sensor."); } if (count($input_errors) == 0) { if (!empty($pconfig['powerd_enable'])) { $config['system']['powerd_enable'] = true; } elseif (isset($config['system']['powerd_enable'])) { unset($config['system']['powerd_enable']); } $config['system']['powerd_ac_mode'] = $pconfig['powerd_ac_mode']; $config['system']['powerd_battery_mode'] = $pconfig['powerd_battery_mode']; $config['system']['powerd_normal_mode'] = $pconfig['powerd_normal_mode']; if (!empty($pconfig['crypto_hardware'])) { $config['system']['crypto_hardware'] = implode(',', $pconfig['crypto_hardware']); } elseif (isset($config['system']['crypto_hardware'])) { unset($config['system']['crypto_hardware']); } if (!empty($pconfig['thermal_hardware'])) { $config['system']['thermal_hardware'] = $pconfig['thermal_hardware']; } elseif (isset($config['system']['thermal_hardware'])) { unset($config['system']['thermal_hardware']); } if (!empty($pconfig['use_mfs_var'])) { $config['system']['use_mfs_var'] = true; } elseif (isset($config['system']['use_mfs_var'])) { unset($config['system']['use_mfs_var']); } if (isset($pconfig['max_mfs_var']) && $pconfig['max_mfs_var'] != '') { $pconfig['max_mfs_var'] = trim($pconfig['max_mfs_var']); $config['system']['max_mfs_var'] = $pconfig['max_mfs_var']; } elseif (isset($config['system']['max_mfs_var'])) { unset($config['system']['max_mfs_var']); } if (!empty($pconfig['use_mfs_tmp'])) { $config['system']['use_mfs_tmp'] = true; } elseif (isset($config['system']['use_mfs_tmp'])) { unset($config['system']['use_mfs_tmp']); } if (isset($pconfig['max_mfs_tmp']) && $pconfig['max_mfs_tmp'] != '') { $pconfig['max_mfs_tmp'] = trim($pconfig['max_mfs_tmp']); $config['system']['max_mfs_tmp'] = $pconfig['max_mfs_tmp']; } elseif (isset($config['system']['max_mfs_tmp'])) { unset($config['system']['max_mfs_tmp']); } if (!empty($pconfig['use_swap_file'])) { /* set explicit value here in case we want to make it flexible */ $config['system']['use_swap_file'] = 2048; } elseif (isset($config['system']['use_swap_file'])) { unset($config['system']['use_swap_file']); } if (!empty($pconfig['rrdbackup'])) { $config['system']['rrdbackup'] = $pconfig['rrdbackup']; } elseif (isset($config['system']['rrdbackup'])) { unset($config['system']['rrdbackup']); } if (!empty($pconfig['dhcpbackup'])) { $config['system']['dhcpbackup'] = $pconfig['dhcpbackup']; } elseif (isset($config['system']['dhcpbackup'])) { unset($config['system']['dhcpbackup']); } if (!empty($pconfig['netflowbackup'])) { $config['system']['netflowbackup'] = $pconfig['netflowbackup']; } elseif (isset($config['system']['netflowbackup'])) { unset($config['system']['netflowbackup']); } if (!empty($pconfig['captiveportalbackup'])) { $config['system']['captiveportalbackup'] = $pconfig['captiveportalbackup']; } elseif (isset($config['system']['captiveportalbackup'])) { unset($config['system']['captiveportalbackup']); } if (!empty($pconfig['disablebeep'])) { $config['system']['disablebeep'] = true; } elseif (isset($config['system']['disablebeep'])) { unset($config['system']['disablebeep']); } write_config(); system_resolver_configure(); system_cron_configure(); system_powerd_configure(); system_kernel_configure(); $savemsg = get_std_save_message(); } } legacy_html_escape_form_data($pconfig); include("head.inc"); ?> <body> <?php include("fbegin.inc"); ?> <section class="page-content-main"> <div class="container-fluid"> <div class="row"> <?php if (isset($input_errors) && count($input_errors) > 0) { print_input_errors($input_errors); } if (isset($savemsg)) { print_info_box($savemsg); } ?> <section class="col-xs-12"> <form method="post" name="iform" id="iform"> <div class="content-box tab-content table-responsive __mb"> <table class="table table-striped opnsense_standard_table_form"> <tr> <td style="width:22%"><strong><?= gettext('Cryptography settings') ?></strong></td> <td style="width:78%; text-align:right"> <small><?=gettext("full help"); ?> </small> <i class="fa fa-toggle-off text-danger" style="cursor: pointer;" id="show_all_help_page"></i> </td> </tr> <tr> <td><a id="help_for_crypto_hardware" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?= gettext('Hardware acceleration') ?></td> <td> <select name="crypto_hardware[]" id="crypto_hardware" class="selectpicker" multiple="multiple" data-style="btn-default" title="<?= html_safe(gettext('None')) ?>"> <?php foreach (crypto_modules() as $cryptomod_name => $cryptomod_descr): ?> <option value="<?= html_safe($cryptomod_name) ?>" <?= in_array($cryptomod_name, $pconfig['crypto_hardware']) ? 'selected="selected"' : '' ?>> <?="{$cryptomod_descr} ({$cryptomod_name})"; ?> </option> <?php endforeach ?> </select> <div class="hidden" data-for="help_for_crypto_hardware"> <?=gettext("A cryptographic accelerator module will use hardware support to speed up some " . "cryptographic functions on systems which have the chip. Do not enable this " . "option if you have a Hifn cryptographic acceleration card, as this will take " . "precedence and the Hifn card will not be used. Acceleration should be automatic " . "for IPsec when using a cipher supported by your chip, such as AES-128.") ?> <br /><br /> <?=gettext("If you do not have a crypto chip in your system, this option will have no " . "effect. To unload the selected module, set this option to 'none' and then reboot."); ?> </div> </td> </tr> </table> </div> <div class="content-box tab-content table-responsive __mb"> <table class="table table-striped opnsense_standard_table_form"> <tr> <td style="width:22%"><strong><?= gettext('Thermal Sensors') ?></strong></td> <td style="width:78%"></td> </tr> <tr> <td><a id="help_for_thermal_hardware" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Hardware");?> </td> <td> <select name="thermal_hardware" class="selectpicker" data-style="btn-default"> <option value=""><?=gettext("None/ACPI"); ?></option> <?php foreach (thermal_modules() as $themalmod_name => $themalmod_descr): ?> <option value="<?= html_safe($themalmod_name) ?>" <?=$pconfig['thermal_hardware'] == $themalmod_name ? " selected=\"selected\"" :"";?>> <?="{$themalmod_descr} ({$themalmod_name})"; ?> </option> <?php endforeach ?> </select> <div class="hidden" data-for="help_for_thermal_hardware"> <?=gettext("If you have a supported CPU, selecting a themal sensor will load the appropriate " . "driver to read its temperature. Setting this to 'None' will attempt to read the " . "temperature from an ACPI-compliant motherboard sensor instead, if one is present."); ?> <br /><br /> <?=gettext("If you do not have a supported thermal sensor chip in your system, this option will have no " . "effect. To unload the selected module, set this option to 'none' and then reboot."); ?> </div> </td> </tr> </table> </div> <div class="content-box tab-content table-responsive __mb"> <table class="table table-striped opnsense_standard_table_form"> <tr> <td style="width:22%"><strong><?= gettext('Periodic Backups') ?></strong></td> <td style="width:78%"></td> </tr> <tr> <td><a id="help_for_rrdbackup" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Periodic RRD Backup");?></td> <td> <select name="rrdbackup" class="selectpicker" data-style="btn-default" id="rrdbackup"> <option value='0' <?= $pconfig['rrdbackup'] == 0 ? 'selected="selected"' : '' ?>><?= gettext('Power off') ?></option> <?php for ($x = 1; $x <= 24; $x++): ?> <option value="<?= $x ?>" <?= $pconfig['rrdbackup'] == $x ? 'selected="selected"' : ''; ?>> <?= $x == 1 ? gettext('1 hour') : sprintf(gettext('%s hours'), $x) ?> </option> <?php endfor ?> <option value='-1' <?= $pconfig['rrdbackup'] == -1 ? 'selected="selected"' : '' ?>><?=gettext('Disabled') ?></option> </select> <br /> <div class="hidden" data-for="help_for_rrdbackup"> <?=gettext("This will periodically backup the RRD data so it can be restored automatically on the next boot.");?> </div> </td> </tr> <tr> <td><a id="help_for_dhcpbackup" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Periodic DHCP Leases Backup");?></td> <td> <select name="dhcpbackup" class="selectpicker" data-style="btn-default" id="dhcpbackup"> <option value='0' <?= $pconfig['dhcpbackup'] == 0 ? "selected='selected'" : '' ?>><?= gettext('Power off') ?></option> <?php for ($x = 1; $x <= 24; $x++): ?> <option value="<?= $x ?>" <?= $pconfig['dhcpbackup'] == $x ? 'selected="selected"' : '';?>> <?= $x == 1 ? gettext('1 hour') : sprintf(gettext('%s hours'), $x) ?> </option> <?php endfor ?> <option value='-1' <?= $pconfig['dhcpbackup'] == -1 ? "selected='selected'" : '' ?>><?= gettext('Disabled') ?></option> </select> <div class="hidden" data-for="help_for_dhcpbackup"> <?=gettext("This will periodically backup the DHCP leases data so it can be restored automatically on the next boot.");?> </div> </td> </tr> <tr> <td><a id="help_for_netflowbackup" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Periodic NetFlow Backup");?></td> <td> <select name="netflowbackup" class="selectpicker" data-style="btn-default" id="netflowbackup"> <option value='0' <?= $pconfig['netflowbackup'] == 0 ? 'selected="selected"' : '' ?>><?= gettext('Power off') ?></option> <?php for ($x = 1; $x <= 24; $x++): ?> <option value="<?= $x ?>" <?= $pconfig['netflowbackup'] == $x ? 'selected="selected"' : '';?>> <?= $x == 1 ? gettext('1 hour') : sprintf(gettext('%s hours'), $x) ?> </option> <?php endfor ?> <option value='-1' <?= $pconfig['netflowbackup'] == -1 ? 'selected="selected"' : '' ?>><?= gettext('Disabled') ?></option> </select> <div class="hidden" data-for="help_for_netflowbackup"> <?=gettext("This will periodically backup the NetFlow data aggregation so it can be restored automatically on the next boot.");?> </div> </td> </tr> <tr> <td><a id="help_for_captiveportalbackup" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Periodic Captive Portal Backup");?></td> <td> <select name="captiveportalbackup" class="selectpicker" data-style="btn-default" id="captiveportalbackup"> <option value='0' <?= $pconfig['captiveportalbackup'] == 0 ? 'selected="selected"' : '' ?>><?= gettext('Power off') ?></option> <?php for ($x = 1; $x <= 24; $x++): ?> <option value="<?= $x ?>" <?= $pconfig['captiveportalbackup'] == $x ? 'selected="selected"' : '';?>> <?= $x == 1 ? gettext('1 hour') : sprintf(gettext('%s hours'), $x) ?> </option> <?php endfor ?> <option value='-1' <?= $pconfig['captiveportalbackup'] == -1 ? 'selected="selected"' : '' ?>><?= gettext('Disabled') ?></option> </select> <div class="hidden" data-for="help_for_captiveportalbackup"> <?=gettext("This will periodically backup the captive portal session data so it can be restored automatically on the next boot.");?> </div> </td> </tr> </table> </div> <div class="content-box tab-content table-responsive __mb"> <table class="table table-striped opnsense_standard_table_form"> <tr> <td style="width:22%"><strong><?= gettext('Power Savings') ?></strong></td> <td style="width:78%"></td> </tr> <tr> <td><a id="help_for_powerd_enable" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Use PowerD"); ?></td> <td> <input name="powerd_enable" type="checkbox" id="powerd_enable" value="yes" <?=!empty($pconfig['powerd_enable']) ? "checked=\"checked\"" : "";?> /> <div class="hidden" data-for="help_for_powerd_enable"> <?=gettext("The powerd utility monitors the system state and sets various power control " . "options accordingly. It offers four modes (maximum, minimum, adaptive " . "and hiadaptive) that can be individually selected while on AC power or batteries. " . "The modes maximum, minimum, adaptive and hiadaptive may be abbreviated max, " . "min, adp, hadp. Maximum mode chooses the highest performance values. Minimum " . "mode selects the lowest performance values to get the most power savings. " . "Adaptive mode attempts to strike a balance by degrading performance when " . "the system appears idle and increasing it when the system is busy. It " . "offers a good balance between a small performance loss for greatly " . "increased power savings. Hiadaptive mode is alike adaptive mode, but " . "tuned for systems where performance and interactivity are more important " . "than power consumption. It raises frequency faster, drops slower and " . "keeps twice lower CPU load."); ?> </div> </td> </tr> <tr> <td><i class="fa fa-info-circle text-muted"></i> <?=gettext('On AC Power Mode') ?></td> <td> <select name="powerd_ac_mode" class="selectpicker" data-style="btn-default"> <option value="hadp" <?=$pconfig['powerd_ac_mode']=="hadp" ? "selected=\"selected\"" : "";?>> <?=gettext("Hiadaptive");?> </option> <option value="adp" <?=$pconfig['powerd_ac_mode']=="adp" ? "selected=\"selected\"" : "";?>> <?=gettext("Adaptive");?> </option> <option value="min" <?=$pconfig['powerd_ac_mode']=="min" ? "selected=\"selected\"" : "";?>> <?=gettext("Minimum");?> </option> <option value="max" <?=$pconfig['powerd_ac_mode']=="max" ? " selected=\"selected\"" : "";?>> <?=gettext("Maximum");?> </option> </select> </td> <tr> <td><i class="fa fa-info-circle text-muted"></i> <?=gettext('On Battery Power Mode') ?></td> <td> <select name="powerd_battery_mode" class="selectpicker" data-style="btn-default"> <option value="hadp"<?=$pconfig['powerd_battery_mode']=="hadp" ? "selected=\"selected\"" : "";?>> <?=gettext("Hiadaptive");?> </option> <option value="adp" <?=$pconfig['powerd_battery_mode']=="adp" ? "selected=\"selected\"" : "";?>> <?=gettext("Adaptive");?> </option> <option value="min" <?=$pconfig['powerd_battery_mode']=="min" ? "selected=\"selected\"" :"";?>> <?=gettext("Minimum");?> </option> <option value="max" <?=$pconfig['powerd_battery_mode']=="max" ? "selected=\"selected\"" : "";?>> <?=gettext("Maximum");?> </option> </select> </td> </tr> <tr> <td><a id="help_for_powerd_normal_mode" href="#" class="showhelp"><i class="fa fa-info-circle text-circle"></i></a> <?=gettext('On Normal Power Mode'); ?></td> <td> <select name="powerd_normal_mode" class="selectpicker" data-style="btn-default"> <option value="hadp"<?=$pconfig['powerd_normal_mode']=="hadp" ? "selected=\"selected\"" : "";?>> <?=gettext("Hiadaptive");?> </option> <option value="adp" <?=$pconfig['powerd_normal_mode']=="adp" ? "selected=\"selected\"" : "";?>> <?=gettext("Adaptive");?> </option> <option value="min" <?=$pconfig['powerd_normal_mode']=="min" ? "selected=\"selected\"" :"";?>> <?=gettext("Minimum");?> </option> <option value="max" <?=$pconfig['powerd_normal_mode']=="max" ? "selected=\"selected\"" : "";?>> <?=gettext("Maximum");?> </option> </select> <div class="hidden" data-for="help_for_powerd_normal_mode"> <?=gettext("If the powerd utility can not determine the power state it uses \"normal\" for control."); ?> </div> </td> </tr> </table> </div> <div class="content-box tab-content table-responsive __mb"> <table class="table table-striped opnsense_standard_table_form"> <tr> <td colspan="2"><strong><?= gettext('Disk / Memory Settings (reboot to apply changes)') ?></strong></td> </tr> <tr> <td style="width:22%"><i class="fa fa-info-circle text-muted"></i> <?=gettext('Swap file'); ?></td> <td style="width=78%"> <input name="use_swap_file" type="checkbox" id="use_swap_file" value="yes" <?=!empty($pconfig['use_swap_file']) ? 'checked="checked"' : '';?>/> <?= gettext('Add a 2 GB swap file to the system') ?> </td> </tr> <tr> <td><a id="help_for_use_mfs_var" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext('/var/log RAM disk'); ?></td> <td> <input name="use_mfs_var" type="checkbox" id="use_mfs_var" value="yes" <?= !empty($pconfig['use_mfs_var']) ? 'checked="checked"' : '' ?>/> <?= gettext('Use memory file system for /var/log') ?> <div class="hidden" data-for="help_for_use_mfs_var"> <?= gettext('Set this if you wish to use /var/log as a RAM disk (memory file system disks) ' . 'rather than using the hard disk. Setting this will cause the log data to be lost on reboot.') ?> </div> </td> </tr> <tr> <td><a id="help_for_max_mfs_var" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext('/var/log RAM usage'); ?></td> <td> <input name="max_mfs_var" type="text" id="max_mfs_var" placeholder="50" value="<?= html_safe($pconfig['max_mfs_var']) ?>"/> <div class="hidden" data-for="help_for_max_mfs_var"> <?= gettext('Percentage of RAM used for the respective memory disk. A value of "0" means unlimited, which will additionally include all swap space.') ?> </div> </td> </tr> <tr> <td><a id="help_for_use_mfs_tmp" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext('/tmp RAM disk'); ?></td> <td> <input name="use_mfs_tmp" type="checkbox" id="use_mfs_tmp" value="yes" <?=!empty($pconfig['use_mfs_tmp']) ? 'checked="checked"' : '';?>/> <?=gettext('Use memory file system for /tmp'); ?> <div class="hidden" data-for="help_for_use_mfs_tmp"> <?= gettext('Set this if you wish to use /tmp as a RAM disk (memory file system disk) rather than using the hard disk.') ?> </div> </td> </tr> <tr> <td><a id="help_for_max_mfs_tmp" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext('/tmp RAM usage'); ?></td> <td> <input name="max_mfs_tmp" type="text" id="max_mfs_tmp" placeholder="50" value="<?= html_safe($pconfig['max_mfs_tmp']) ?>"/> <div class="hidden" data-for="help_for_max_mfs_tmp"> <?= gettext('Percentage of RAM used for the respective memory disk. A value of "0" means unlimited, which will additionally include all swap space.') ?> </div> </td> </tr> </table> </div> <div class="content-box tab-content table-responsive __mb"> <table class="table table-striped opnsense_standard_table_form"> <tr> <td style="width:22%"><strong><?= gettext('System Sounds') ?></strong></td> <td style="width:78%"></td> </tr> <tr> <td><a id="help_for_disablebeep" href="#" class="showhelp"><i class="fa fa-info-circle"></i></a> <?=gettext("Startup/Shutdown Sound"); ?></td> <td> <input name="disablebeep" type="checkbox" id="disablebeep" value="yes" <?=!empty($pconfig['disablebeep']) ? 'checked="checked"' : '';?>/> <?=gettext("Disable the startup/shutdown beep"); ?> <div class="hidden" data-for="help_for_disablebeep"> <?=gettext("When this is checked, startup and shutdown sounds will no longer play."); ?> </div> </td> </tr> </table> </div> <div class="content-box tab-content table-responsive"> <table class="table table-striped opnsense_standard_table_form"> <tr> <td style="width:22%"></td> <td style="width:78%"> <input name="Submit" type="submit" class="btn btn-primary" value="<?=html_safe(gettext('Save'));?>" /> </td> </tr> </table> </div> </form> </section> </div> </div> </section> <?php include("foot.inc");