(function(a,e,f,g,b,c,d){a.GoogleAnalyticsObject=b;a[b]=a[b]||function(){(a[b].q=a[b].q||[]).push(arguments)};a[b].l=1*new Date;c=e.createElement(f);d=e.getElementsByTagName(f)[0];c.async=1;c.src=g;d.parentNode.insertBefore(c,d)})(window,document,"script","https://www.google-analytics.com/analytics.js","ga");ga("create","UA-732153-7","auto",{allowLinker:!0,siteSpeedSampleRate:10});ga("set","transport","beacon");ga("set","anonymizeIp",!0);ga("require","linker"); ga("linker:autoLink","askapache.com askapache.net htaccess.io htaccesselite.com askapache.info htaccess.guru".split(" "),!0);ga("send","pageview"); CLASS="BOOK" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" >

PHP-Nuke: Management and Programming

Claudio Erba


Chris Karakas - Conversion from LyX to DocBook SGML, Index generation

Andre Purfield - Translation from italian and translation project coordination

Fortunato Matarazzo - Translation from italian: chapters 7, 8 and 9

Chris Karakas - Translation from italian: chapters 1-6, 10-11

Revision History
Revision 1.22003-05-29Revised by: CK
New logo, CSS stylesheet, HTML validation, footer icons. Incorporated LDP reviewer's comments. Created Aknowledgements and Availability of sources sections.
Revision 1.12003-02-13Revised by: AP
Cleaned up the wording and a few typos.
Revision 1.02003-01-09Revised by: CK
First complete version.

There has always been the necessity to have a definitive guide on PHP-Nuke. This tutorial describes the installation and structure of PHP-Nuke and the details of customizing the front end to suit the users' needs. The architecture of PHP-Nuke, with its modules, blocks, topics and themes is presented in detail, as well as the interplay of PHP and MySQL for the creation of a mighty content management system (CMS).It also delves into more advanced issues, like the programming of PHP-Nuke blocks and modules.

Table of Contents
1. Terms of distribution
1.1. Disclaimer
1.2. Formats
1.3. Licence
1.4. Availability of sources
1.5. Aknowledgements
2. Introduction to PHP-Nuke
2.1. Purpose
2.2. What Is PHP-Nuke
2.3. Short history of PHP-Nuke
2.4. The Nuke Communities
2.5. Why use PHP-Nuke and not static HTML pages
3. Front end structure: user view
3.1. The preinstalled modules
3.2. Other non-installed modules
3.3. The preinstalled blocks
4. Back end structure: administrator view
4.1. The administration functions
4.2. The Preferences Page
5. How to install PHP-Nuke
5.1. Installation process
5.2. How to install PHP-Nuke through PHPMyadmin
6. Architecture and structure
6.1. Directory structure
6.2. Main page management
6.3. Module management
6.4. Administration management
7. Customising PHP-Nuke themes
7.1. Structure of a PHP-Nuke theme
7.2. Modifying the HTML template
7.3. Theme construction: the rules to follow
8. Creating blocks
8.1. The characteristics of the various types of blocks
8.2. How to create a new block
9. Creating modules
9.1. Module structure
9.2. Creating fully compatible modules: the rules to follow
9.3. Module creation, the public part
9.4. Module creation, administrator part
10. Some security precautions
10.1. The permissions on the folders and files
10.2. Cookies - timeout and configuration
11. Programmer's tools
11.1. The database tables
11.2. The syntax of SQL code
11.3. PHPMyadmin, administering MySQL via web
11.4. MySQL Front, how to administer a MySQL DB from Windows
11.5. Foxserv, making PHP-Nuke work on Windows Systems
List of Figures
3-1. PHP-Nuke Homepage
3-2. Classifying articles
3-3. Downloads module
3-4. Private messages
3-5. Search module
3-6. Statistics module
3-7. Your account
3-8. Forum
4-1. Administration panel
4-2. Articles
5-1. PHP-Nuke 6.0 file structure
5-2. PHPMyAdmin start screen
5-3. PHPMyAdmin table selection
5-4. PHPMyAdmin: SQL query
5-5. PHPMyAdmin: table data
5-6. PHPMyAdmin: database dump
8-1. Block example
9-1. PHPMyAdmin: inserting values
9-2. Example module
11-1. PHPMyAdmin start screen
11-2. PHPMyAdmin: table forum_topics
11-3. MySQL Front: Connection
11-4. MySQL Front: export tables
11-5. MySQL Front: SQL Query