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:
index.php : In order to display the main page
modules.php : In order to include the internal modules.
admin.php : In order to include the administration interface.
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 http://www.yoursite.com/modules.php?name=Topics
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:
auth.php: Manages authentication through the cookies.
mainfile.php: Contains all the necessary functions for the management of PHP-Nuke
header.php: manages the variables that are related to the header (inclusion of metatags, Javascript...)
footer.php: variables related to the footer.
backend.php: manages the output of the news that can be captured from other sites
ultramode.txt: ditto
robots.txt: contains instructions for the search engines informing them which folders not to index