How to install modules that change the database structure and the files

26.3.3. How to install modules that change the database structure and the files

There are module that, in order to function properly, require the addition of functions in the original files of PHP-Nuke. These modules will overwrite mainfile.php, modules.php, or some other file.

Caution Beware of subsequent installations!

If you install a module that changes PHP-Nuke's original files, you may not be able to conduct the installation of another one that requires changes in those files too! The new module's installation script may not find the expected code to modify, since it will have been changed by the previous one.

For example, in PHP-Nuke 6.0 there were two interesting add-on modules, Indy News and Groups, that both required changes to be made in mainfile.php. In order to get them both to work, we had to do the changes in mainfile.php by hand, resulting in a file that contained a mix of modifications by both modules.

Warning Automatic upgrades may not work any more!

In case you had to change the original tables of PHP-Nuke (i.e. you had not just to append some new tables to the database, but to change existing ones), then you may find out the next time you want to upgrade, the automatic upgrade scripts that come with each new PHP-Nuke version (see Chapter 4) do not work any more!

This is because the scripts will search for the original table structure to upgrade, but will find some new one instead. In this case it is recommended to have a look at the upgrade scripts and do the changes manually, using either a graphical frontend, like phpMyAdmin (Section 3.3) or the MySQL command line (Section 3.2.4).

The same warning applies to file changes during upgrades: it is best to make the changes in the files by hand, also for those files of the new modules. Such a procedure can be very painful and time-consuming. It is recommended that you use a local test server for all these changes and that you do not upload the modified files, until you have tested them thoroughly and made all backups of the production system. (See Figure 26-2 and Section 7.1, for PHP-Nuke's own backup function, Section 3.3 for phpMyAdmin's functionality, which also includes a very good web interface to database backups and Section 27.16, for home-made scripts that automate the backup work for you).


Site Info v2.2.2

Last SeenLast Seen
Server TrafficServer Traffic
  • Total: 338,956,983
  • Today: 54,901
Server InfoServer Info
  • Oct 18, 2017
  • 06:48 pm PDT

Daily Inspiration