Upgrading Bonfire

0.8.3 to 0.8.4

– really need to do a fresh install as MUCH has changed and I have not done the migrations to allow for this, rather start fresh and role in your modules and code bit by bit, making the changes needed to deal with all the jQuery, bootstrap, CI and php changes necessary.

As the internet seems to be under siege from those trying to hack all and sundry, one of the motivations for the upgrades described here is to take advantage of recent and more likely to be maintained core elements - so read on.

This release was made with the objective of removing CI 2.x specific code and only allowing for CI 3.x.

Also the desire to painlessly take advantage of CI 3.x updates as they are released. Not entirely possible as the hooks between BF and CI need to be inserted - more on this below.

BF uses jQuery and bootstrap - no plans to change this at this point, however we will try to make sure we are using the near latest releases of these helper tools.

We have moved from:

jQuery 1.9.1 

to

jQuery 3.3.1

and from

bootstrap 2.3.2 

to

bootstrap 4.2.1

Finally, the PHP version required to run Bonfire. After looking at the age and end-of-life dates, it was decided to aim at PHP 7.x. Currently development is being done on a server with 7.2.14. As PHP 7.3 is only a month old as at this writing, lets wait for the dust to settle before we tackle this.

Summary of items / files changed:

/bonfire
    /libraries/Assets.php 

– altered writing out of js files – we do not need type=”text/javascript”

/migrations/    - 001_Install_initial_tables.php – alter email index in users tables to be unique, added a unique index on username
                    - 003_Permission_system_upgrade.php – added unique index on column name in the permissions table
                    - 013_Move_settings_into_db.php – added an index on the module column in the settings table
                    - 043_Add_ci_sessions.php – on use ci_sessions as the table name.

Note - designed for clean install of all tables not an incremental update!

/modules/activities/views/reports – view.php remove classes `fade` and `in` from alert html divs etc. - quite a number of these.

/modules/builder/views/developer – modulebuilder_form.php – ditto 7 times
                            /files - -view_default.php – ditto

/modules/databse/views/developer – backup.php – ditto
                                            - menu.php – altered html template for the menu to comply with updated bootstrap requirements, also we have dropped the hover for submenus and make them indent and show on the initial dropdown – much better for touch devices.

/modules/emailer/views/settings – create.php - `fade` and `in` classes dropped. Also alter label classes to badge classes in alignment with updated bootstrap.
                      - emails.php – ditto
                    - menu.php – updated html for new bootstrap menus
                    - test.php – ditto

/modules/logs/views/developer – index.php – 3 time `fade` and `in`
                    - settings.php – ditto 2x
                    - view.php – ditto 2x

/modules/migrations/views/developer – index.php – ditto 5x
                    - migrate_to.php – ditto

/modules/roles/views/settings – permission_matrix.php – ditto
                    - role_form.php – ditto

/modules/emailer/views/settings/views/settings – index.php – ditto

/modules/translate/views/developer – index.php – ditto

/modules/ui/libraries/ - Context.php – altered to deal with new bootstrap menus structures.

/modules/ui/views/settings/ - index.php – ditto

/modules/users/controllers/Settings.php – added code to populate and display the ban_message field from the users table.

/modules/users/language/english/ - users_lang.php – added some lines

/modules/users/views/ - activate.php – ditto
                - forgot_password.php – ditto 2x
                - login.php – ditto
                - register.php – ditto 2x
                - resend_activation.php – ditto
                - reset_password – 2x

/modules/users/views/settings/ - index.php – add some classes to color items.
                    - user_form.php – ditto plus deal with ban_message.

Most of the above deal with changed classes for bootstrap.

/public/
    /themes/
        /admin/ - footer.php
            - header.php
            - index.php

All these tweaked to deal with jQuery and bootstrap changes. Also shifted the screen.css and screen-rtl.css into the css folder.

    /default/   - _sitenave.php
            - footer.php
            - header.php

All updated to deal with jQuery and bootstrap changes.
Also shifted screen.css to the css folder.