Validation for GUI custom settings. Fixes #8726
Add validation for customizable GUI setting fields and test submittedvalues before allowing them to be stored.Also ensure that dashboardcolumns is an integer before using it in theGUI.
(cherry picked from commit 9ceace2562e718b9b460633847c12050fff96640)
Remove Whitespace
I'm aware this is a very large commit. Let me know if you'd rather have it broken down by file type (ie: PHP/shell scripts) so it would be easier to review.
-RJ
(cherry picked from commit 179377b01cc93b0842e07b3865df9812608c8f2c)
Update the Copyright notice for pfSense.
webgui, option to disable dragging of rules
Hide dashboard update period control. No longer needed with central refresh system
typo
"Networked" not "network" - "Internet of Things" especially.
grammar fix
format %1$s etc in help
Improve the HELP note about what will/won't work if TLD is set to ".local"
For example, some people won't use mDNS and won't know other things might break; also it's not clear that while ".local" is a problem, ".local.lan" isn't.
Revise Dark gray color code for login page
Add "Dark Gray" login page color
Added orange login page choice
Improved login page graphic
Experimental login page designSet your favorite color in System->General->"Login CSS file"
Read default language from globals.inc instead of hardcoding (it was already defined there)
Set default anguage in General Setup to en_US
Since https://github.com/pfsense/pfsense/commit/fdcde31b4a910c4e058513c1e3f68a62e722da6b added German to the top of the get_locale_list() array, if you start with a default system and go to System->General Setup (make some changes to other fields if you like) and press Save, you end up in German because that is what gets selected in the dropdown when the config does not yet have a language in it....
Add user option to sort interface names
Redmine #7381 Disable detail in alias popup
setHelp and gettext for system*
Remove unneeded sprint and gettext in setHelp
Remove unneeded sprintf from setHelp calls
Required fields for System pages
Merge pull request #3376 from phil-davis/multi_dns_servers
Tidy up "<script>" tags
Tidy up <script> tags by adding TYPE attribute
(https://doc.pfsense.org/index.php/Developer_Style_Guide#HTML_Specific_Rules)
Redmine #5549 Allow variable number of DNS Servers
Merge pull request #3367 from derelict-pf/require_state_filter
Merge pull request #3343 from phil-davis/retval1
Add requirestatefilter. Implements #7069.
Etc/GMT timezone text using ngettext()
Make the emphasis stronger when encouraging use of a geographic location time zone.
Ticket #7089 Enhance Etc/GMT timezone descriptions
These work opposite to the way mere mortals expect.Read: https://github.com/eggert/tz/blob/master/etcetera
Based on @phil-davis' patch from https://github.com/pfsense/pfsense/pull/3354
Redmine #7089 Add extra help about timezone
We could also add some text like this to encourage users to choose the "Continent/City" time zones.
Report problems applying changes
1) Strictly keep track of the accumulating $retval from calls to variousfunctions that apply changes.2) Use new function print_apply_result_box() to print a suitable messagein a suitable severity based on $retval
Change wording
Improve - System - General - DNS Server Settings descriptions
- Add missing DNS Resolver references- Nuke PPTP VPN mentions- Use letter case consistently.
The "Disable DNS Forwarder" option naming is rather unfortunate as well (would be much better with something like "Use local DNS server"), but changing that would require documentation changes.
Fix DNS Server Gateway Check
If I enter a DNS server IP address that is on a locally connected network, and choose a gateway for it, this code was supposed to give an error message. But no error was given because $_POST[$dnsgwitem] is actually the name of the gateway, but old line 197 called interface_has_gateway() which was expecting an interface to be passed....
Provide conrol on system.php to allow display of hostname on login banner
Move copyright from ESF to Netgate
Revise widget refresh timing
Added control to set dashboard widget refresh periodStart each widget refresh system after a short random delay to prevent all widgets hitting the server at the exactsame timeFix issues wherein two widgets were resetting the refresh timer from the AJAX call, not the call-back function, thereby risking stepping on themselves
Move to Apache License 2.0
Review license / copyright on all files (final round)
Merge pull request #3018 from phil-davis/usersettings
Always use require_once
The usage of require() and require_once() throughout the system isinconsistent, and "bugs" come up now and then when the order of"requires" is a bit different and some require() happens after theinclude file is already included/required....
Feature #6388 custom GUI preference settings per user
Load actual value of webguihostnamemenu
This is a string from a list of valid values (empty, "hostonly", "fqdn"). So it is not correct to just gather a true/false value here.
Merge pull request #2935 from cfazendin/hostname_menu
Comment typos
I can't resist fixing them when I see them.
Add Compact-RED theme and update system.php to sort available themes by pfSense, then BETA, then user supplied themes.
Revert "Added option to System > General Setup > webConfigurator to change the title of the Help menu in the navbar to either the system hostname or fqdn."
This reverts commit e3c5006b819063863f44fd2314dd635bd26e8a8c.
Added option to System > General Setup > webConfigurator to change the title of the Help menu in the navbar to either the system hostname or fqdn.
WArn user on selecting non pfSense theme/css
System / General Setup - Remove Beta Badges
Remove beta badge from Associated Panels Show/Hide options.Remove beta badge from Left Column Labels option.
System / General Setup - Remove Personalizations
Remove "you" personalizations.
organize assets and put 3rd party into vendor folder
remove beta marking for dashboard columns feature
Status Monitoring - Settings Panel Collapsible
Make the status monitoring settings panel collapsible with page load state configurable in general setup associated panels show/hide.Replace Update button with refresh icon on title bar.
Required by FreeBSD-Ports pull request #78 Status Monitoring - Settings Panel Collapsible.
Initialize variables correctly
1) gmirror.inc: there are two calls to exec(), those calls expect the 2nd parameter to be an array, this commit initializes the variables correctly. 2) system.php: variable dnslist is used as an array without prior type initialization. This is one of the causes for apparent PR #2680 problems (which led to its reversal). Note: After this commit is merged PR #2680 may be safely reapplied for more tough code.
Revert PR 2680
Merge pull request #2678 from TheUbuntuGuy/master
Fix #5916 Do not complain about duplicated blank DNS server entries
Reported by redmine https://redmine.pfsense.org/issues/5916
Fix regression on general setup page preventing save with blank DNS servers
Introduced in f700dc9
Don't allow an IP to be configured multiple times as a DNS server. Ticket #5915
Use consistent webConfigurator spelling
Fix WebConfigurator spelling.
Internationalization of various system*.php
Fix #5690:
- Remove parameters from set_language()- Add a global variable for default language- add env var for LANG, otherwise it won't work
Fixed #5789
Think the term 'associated' may be better here than 'special'.
Use icons instead of text.
Shorten titles to be more consistent with other title bar shortcuts and also match the option setting title.
Apply recommended changes.
Special Panels - Show/Hide
Add configuration option to show or hide special panels.When a panel is hidden a button is displayed on the page title bar to toggle the panel display.
UI Consistency
1) Put the heading "Actions" at the top of all the "Actions" columns -it was on some and not others.2) Some more consistent capitalization of panel titles etc.3) Most interfaces section edit pages had a section titled like "GIFConfiguration", "GRE Configuration". Make them all consistent, e.g....
System / General Setup - Word Spacing
Add space between words.Restore gateway placeholder; now being handled by form input class (PR #2295).
Fix minor typos and correct code standards
Add "BETA" badge to ne UI feature
WebGUI Left Column Labels Hyper
Touch Screen Usability Annoyancehttps://forum.pfsense.org/index.php?topic=104135.0
Clicking the labels in the left column selects/activates the first item. This is the perfectly natural place for scrolling with thumb.
No big problem really for input fields, but check boxes and buttons are inadvertently selected/toggled resulting in unintended configuration changes....
HTML Compliance - System - General Setup
Remove placeholder from dns gateway selector.Close container div tag.
Remove all pfSense_MODULE and pfSense_BUILDER_BINARIES definitions, whatever was the reason they were added, it was never finished and it's not being used
Code style System Advanced
be more concise
clean up webGUI feature help text
Fix css path
Remove deprecated Bootstap decoration from badgesFix quotesMake column selector numeric and add limits
add option to choose number of dashboard columns
make fixed nav a beta option
Simplify logic
Calling all of these "Page" in the privilege name is redundant since they are all pages and the "WebCfg" prefix implies they are pages.
comment out fixed navbar option for now
Adjust body top padding to match header height when top menu is pinned.
Fixed menu scroll in pconfig
Add support for scrolling menu bar (fixed vs static)Now required body padding to prevent page top from being hidden
List CSS file in alpha order
Added use of class autoloading (GUI stuff only)
Any GUI script that loads the guiconfig.inc file will have access tothe autoloader.
Merge pull request #2097 from phil-davis/timeupdateinterval
Remove unused time-update-interval
There is no longer any code for a UI field in 2.3 master.In RELENG_2_2 system.php the code for the field display is commentedout.The commented out code has been removed in the bootstrap conversion.This removes the various bits of leftover processing and validation code...
Better test for webguicss being not set
As discussed in https://github.com/pfsense/pfsense/pull/2094
If webguicss is not yet specified then default to pfSense
On systems where webguicss (the theme) was not yet set in the config, the selection here was defaulting to other than pfSense.Now that pfSense-dark has come along, it happened to be first in the list. When I changed something else in General Setup today, my them went to pfSense-dark because I did not notice the (accidentally) selected value that was in the field....
Moved theme back to system.php