To answer the questions about topics, sections.
Firstly it's important that there are two module types in
PN -
API compliant and non
API compliant. Each of these has different characteristics. non
API compliant is where we are coming from and
API compliant where we are going.
The non
API compliant modules are a legacy from the
PHP-nuke codebase from which
PN forked. These can be identified by urls of the type modules.php?op=modload&name= and via admin.php/index.php files in the module directory.
These modules directly echo
HTML within the module and manually include the header and footer. They offer no easy or standard method for exposing functions for other modules to access. Essentially they're stand-alone applications making use of some basic core functions and header/footer to display things within the site theme.
API compliant modules are the standard to which all
PN modules should be authored and one to which any new developments by the
PN team are being authored. These modules are characterised by urls of the form index.php?module=mymod&type=....&func= Furtyher these modules are characterised by the files pnadmin.php/pnadminapi.php, pnuser.php/pnuserapi.php These modules expose any number of
API functions to gain access to that modules functionality and are called using the pnModAPIFunc core
API.
The example module is the implementation of that definitive standard. The example module will be updated through each release to add demonstations of the new functionality added to the core and modules within that release (i've outlined in another thread changes to this module for .760). However the modules authored using an older example module (or even the previous template module) continue to run but, obviously don't make use of the newer features.
Now i've covered the background.... The topics and sections modules are, at this stage, non
API compliant and thus are not the type of module that you can easiliy interact with. The simplest way would be to talk directly to the database tables. These modules will not be
API compliant in .760 either.
Given the length of this post i'll add a further post about hooks a bit later.
-Mark