Upgrading Bonfire

0.8.4 to 0.8.5

Neither 0.8.4 and now 0.8.5 have been made available to github – my bad, just that I do not have the time to learn how to pull and merge what I have done with the original branch. I have had good intentions here (really!) but there are so many projects I'm supporting that need my attention and family also needs a bit of me on occasions.

I have looked at CI 4.x and even installed it twice, however it still lacks the bits I like from Bonfire thus haven't taken the plunge. At this time I can roll up a new site with a new template in weeks, something I could not do with CI 4.

The internet world I interact with is still under siege from those trying to hack all and sundry, one of my projects has sensitive customer data and I do not want anyone, other than those authorised, to gain access. Thus this release is all about introducing 2FA/MFA.

This release now also supports CI 3.11 and PHP 7.3, thus some of the changes below relate to this.

Summary of items / files changed:

/bonfire/

c13/core/Input.php - deal with cookie samesite parameter
    /Security.php - sort out cookie samesite parameter

ci3/helpers/address_helper.php - add location_select()  
    - add location_abbr_to_name()   
    - add location_name_to_abbr()

        /cookie_helper.php - deal with samesite     

ci3/libraries/Session/Session_driver.php - add array[] for cookie options
        /Session.php -  add array[] for cookie options

modules/activities/controllers/Reports.php - change error to danger 

    /builder/controllers/developer.php - change error to danger
        /views/developer/modulebuilder_form.php - change error to danger
              /files/controller.php - change error to danger

    /database/controllers/Developer.php - change error to danger

    /docs/controllers/Docs.php - change error to danger

    /emailer/controllers/Settings.php - change error to danger
            /views/email/_footer.php - change copyright date

    /logs/controllers/Developer.php - change error to danger

    /migrations/config/config.php - bump version to 0.8.5
                /controllers/Developer.php - change error to danger
                /views/developer/index.php - change from nav-tabs to nav-pills

    /permissions/controllers/Settings.php - change error to danger

    /roles/config/config.php - bump version to 0.8.5
            /controllers/Settings.php - change error to danger
            /docs/developer/index.md - introduces 2FA items
            /language/english/roles_lang.php = role mandatory 2FA added
            /models/Role_model.php - mandatory 2FA - also force for admin role
            /views/settings/index.php - mandatory 2FA
                            /role_form.php - mandatory 2FA radio buttons
                    /controllers/Settings.php - change error to danger plus array items for 2FA
                    /views/settings/index.php - change default country, state and add location
                                    /index/extended.php - integrate location / state keyed.
                                          /security.php - 2FA stuff

    /sysinfo/config/config.php - bump version to 0.8.5
        /controllers/Developer.php - fix html
        /views/developer/php_info.php - fix html    

    /translate/controllers/Developer.php - change error to danger

    /ui/controllers/Settings.php - change error to danger

    /users/config/config.php - bump version to 0.8.5
        /controllers/Settings.php - change error to danger, 2FA logic, QR code
                        /Users.php - lots of 2FA logic
        /language/english/users_lang.php - 2FA and other interaction phrases.
        /libraries/Auth.php - 2FA logic
                    /GoogleAuthenticator.php - methods from google to calculate 2FA 
                        - plan to change this, but it was an easy start.
        /models/User_model.php - 2FA stuff
        /views/activate.php, 
                forgot_password.php, 
                login.php, 
                profile.php, 
                register.php, 
                resend_activation.php, 
                reset_password.php, 
                state_location.php, 
                twoFA.php, 
                user_fields.php, 
                user_meta.php
                    - misc changes to work and display better with the templates I use      
            /settings/user_form.php - show the QR code