index.php: fix infinite redirect on 0.7 install (#754)
user controller index: consistently use uri->segment(5) to retrieve $offset

to match the way the parameter is passed to the pagination library
(no behaviour change).
Remove extra pair of braces in builder library
users module: simplify filter, fix #727 (can't use pagination with filter)

CI pagination library doesn't link to urls with query strings.  But we were
using query strings to set filter parameters :(.

Simplify filter down to a single method parameter (i.e. a uri segment)
instead.  This prevents combining first_letter filtering with another
filter.  I think it's ok because the other filters will normally have quite
a small subset of all users.

So render_filter_first_letter() needed adapting away from query strings.
The new version would have more parameters but be much shorter...
out-of-tree uses would have to change significantly anwyay... and they'd
be suffering from the same problem we had here.  I've just coded it inline
for now, and dropped the old function.  I don't think it'll hurt for it
to be copy+pasted a bit.
Merge branch 'develop' of github.com:ci-bonfire/Bonfire into develop
install: remove reverse_writeable folders

Obsoleted / should have removed at the same time I removed the initial
chmod().  See

d790afd321a9f3f5aaabe11384308d3f143897bf
migrations library in installer: fix install() for non-core migrations

Copy this regression fix to the installer.
roles permission_matrix(): remove unused 'roles' variable
Don't show deleted roles (issue #764)
users auth library: remove duplicate field in $selects

Pointed out in issue #773.
permission model: remove no-op $purge parameter

The permissions model does not have soft_deletes enabled, there is no
deleted column, and nothing uses the state "deleted" either.  So this
parameter has never worked, and in fact was never used.

Remove the parameter so it doesn't give a false impression.
install: update copies of models

This looks like a lot but it's mainly changes in the style of function
comments.  It shouldn't change the installer's behaviour at all.
Don't disable username validation when !auth.use_usernames (issue #759)

This would have allowed e.g. duplicating a username someone else had
created, which could break logins (if auth.login_type was not
set specifically to 'email').

Also fix the username field to be required when
auth.login_type == 'username' (even if auth.use_usernames is disabled).
install: populate user table *before* running custom migrations

Requested in issue #770
Fix #775 js validation when not setting password

changed indentation, actual code change is line 39. Don't validate the
password until someone types in the password field.
install: remove unreliable check for mod_rewrite (issue #772)

Unfortunately this check doesn't appear to be reliable.  The information
was provided by PHP's apache2handler.  I guess one explanation is that a
different handler was being used (generic cgi/fastcgi).

The removed comment may be confusing, so note that mod_rewrite is an
Apache module and not a PHP extension :).
role model: prevent deleting default role

Undesirable consequences of deleting the default role are mentioned in
issue #767.
Fix #758 core module overrides
install: change default DB driver to 'mysql' (see issue #765)

The current version of CodeIgniter's 'mysqli' driver doesn't support the
backup() method.
install: avoid accidentally re-creating installed.txt (issue #761)

The installer pages aren't as paranoid / robust as they could be.
This commit just tweaks one case that bit me.

If you install, then remove installed.txt, then re-visit
install/index.php/complete (which shows a fair amount of information you
might have been interested in) - it causes installed.txt to be re-created.

Move the code that creates installed.txt so it's somewhat less likely to
be triggered.  With this tweak, you'd have to go back a second time to
the "do_install" url (the method that creates the database, among other
things).