Chapter 6. Architecture and structure

Table of Contents
Directory structure
Main page management
Module management
Administration management

The structure of PHP-Nuke is organized in to modules, all the files are managed by other files that are located in the PHP-Nuke root directory and include, according to the parameters passed to them, the intended module.

These tasks are carried out from only 3 pages:

It's not possible to call a module by calling a direct path to it. This is so in order to make installation easier, render the graphics management more independent (otherwise we would have to change the path of the images each time we position ourselves in an internal directory), have only a few files in the root directory and render the system more secure.

Everything is being called, as I said, through parameters (strings) passed to the "modules.php" file which specify which files are to be included. If for example we want to call the Topics module, the string to be passed should be

The command that is sent this way is "includes in the page created by modules.php the output of the file index.php that is found in the folder modules/Topics/".

The other files present in the PHP-Nuke root directory are:

Directory structure


Contains 4 subdirectories (links, language, case, modules) that manage the various administration modules. The folder that accommodates the operating files is modules/admin/ .


Contains all the block files for all of our available blocks.


Contains all the images relating to PHP-Nuke, for example in the folder "topics" we will find archived the images of the topics that will appear in the news, in "banners" all banners in rotation etc...

In includes

are all the files that are necessary to particular management situations, these files do not work independently but are included in other files, mainly in mainfile.php and header.php. The files are:


contains translation files for the basic PHP-Nuke module. The language file naming convention is lang-english.php.


The translation of the modules must be inserted in the appropriate folders (modules/languange) and not appended to these files, as it was done till now.


The modules of PHP-Nuke comprise all the functionality that one can add to it.. In the Modules folder we insert the folders of every new module.


Here we add the graphical interfaces known as "Themes", every folder has the name of the corresponding theme and contains a main file called theme.php and all other support files.


contains only the files that serve to upgrade the system from a previous version to a newer one..