New iOS versions doe autocapitalisation, autocrrection and/or autocomplete. All three can be annoying when entering always changing usernames with sometimes lower-case first characters, as in the Captive Portal Vouchers usernames.
This should fix the behaviour and make the portal more graceful towards iOS devices.
Note that require_once is bad as well here, because it throws another
uncatched error as opposed to a warning when a file has not been found.
Now it is better in recovery, although 99% of the time this is supposed
to deal with syntax errors during bad core/plugin updates or manual
user edits.
It's also useful to note that the errors/warnings still make their way
to the crash reporter so we can do something about them.
Suggested by: @fabianfrz
simply eval() it and log the error instead of stopping execution.
We don't get to source the code, but since for strict plugins
there is no direct code execution the plugin acts as if it was
deinstalled.
As the plugin scope is growing rapidly, we need this to be able to
guarantee error-free execution in the widest possible sense. This
doesn't currently protect function calls, but the same thing must
be done there as well.
We have a function pair rrd_import() / rrd_export() now, which do
wildly different things even though they've been used for a single
purpose:
(1) rrd_export() writes a string, appends it to the config.xml
(2) rrd_import() takes a parsed config portion, but not as an
argument, rather as a global config element
(3) There was also an older backup clue which exported files, but
simply packed them up for restore after boot
If we can get the system to unify the usage we'll end up with a
neat way of backing, restoring and migrating RRD data, although
I'm not sure if this can be fully compatible with the old files.
The admins group has this now, it makes more sense there as several
people ran into the issue of "my user is admin, but cannot login".
Besides, the privilege sets /bin/csh as the user shell, which we don't
use for root as we have /usr/local/etc/rc.initial there.