phpBB3 MODifications Database policy

The MODDB at phpBB.com has some requirements that must be met before a MOD is accepted to the MODDB.

Below are all of the requirements. If you have any questions or suggestions about this policy please create a topic in the [3.0.x] MOD writers Discussion forum.

Required changes to languages and templates

All MODs must include changes for the prosilver style and the English language. These changes should be placed in the install.xml file (See packaging guidelines).

subsilver2 isn't required.

What shouldn't be included?

It is not allowed to include pre-modded files in your MOD. This includes files within the contrib directory. Pre-modded files are core phpBB files with changes applied to them.

Function usage

Only functions that exist before and in PHP 4.3.3 may be used by default. If you want to use functions that were added in a later version of PHP you need to mention this requirement within the author notes.

Database specific functions should not be used (e.g. mysql_* etc.). Use phpBB's DBAL instead.

To retrieve a value from $_POST/$_GET you should always use phpBB3's request_var function. You should not access $_POST/$_GET directly. An exception is checking whether a variable is set, such as isset($_POST['submit']).

The second parameter for request_var must be set to the correct variable type (int, string, double etc.). The second parameter is the default value that is returned if the value doesn't exist. This default value is used to type cast the value that is returned. If you want an integer you can use 0 (without quotes!) as the second parameter in request_var.

Coding guidelines

The phpBB3 coding guidelines should be followed as much as possible. This means that all files should follow these, including installers, JavaScript, and HTML files. This is to ensure maximum readability by the phpBB Modifications Team. Third party libraries are excepted, and do not have to follow the coding guidelines.

MODX usage

MODX is required for phpBB3 MODs. See our MODX Resource Center for more information about how to use and write MODX.

The latest MODX release should be used. This is currently 1.2.1. When you submit a new MOD or an update you always should check that you are using the latest version of MODX and the XSL.

You may edit the XSL but the preferred method is to use the prosilver XSL that we provide. For exact packaging see the packaging guidelines of this document.

MOD license

The submitted MOD should be submitted under the GPL v2. Submitting MODs GPL v3 isn't allowed because phpBB3 is released under GPL v2 only and the GPL v3 isn't compatible with v2.

You are also allowed to submit it under a license compatible with GPL v2. Be sure to change the license within the MODX install files and include a copy of the license in license.txt.

MOD packaging

The MODX packaging is completely new starting with MODX 1.2.0. These changes make the requirements less strict.

The following files must be included in your MOD:

  • install.xml or other variations as long as it has the word install in it. This is the main install file.
  • license.txt, the license of the MOD, so in most cases a copy of the GPL v2.
  • modx.prosilver.en.xsl, the prosilver xsl for displaying the MOD in the browser of the user. This file must be included in either the directory containing the MODX xml file, or a subdirectory of that directory.

Both the install.xml and the license.txt should be in the root of your zip file. modx.prosilver.en.xsl may be placed also in another directory, see below.

All changes to the phpBB core files should be placed in the install.xml file. Changes for non-English languages and non-prosilver templates should not be placed in this file. These should have a separate XML file, but should be linked to from the main install file using the link tag.

New files should always be placed in the root/ directory, including the non-English languages and non-prosilver templates.

Optional install files or instructions should be placed within the contrib directory. Additional required instructions should be placed in the root directory or in directory called named xml/

XSL file

A security change in Firefox 3 has caused MODX xml files to display incorrectly when the xsl file is located outside of the directory containing the xml file. Due to this issue, we need to require that the xsl file is placed in either the same directory as the xml file, or a subdirectory within that directory. For the time being, we will repack all MODs that have not yet complied with this requirement.

Insta deny

All MODs are checked by an automated tool after being submitted to be sure it follows this policy and some basic security checks. In case that a MOD fails these checks, the MOD will be insta denied within the first 24 hours after being submitted. If you don't get a deny message from the MOD Team within 24 hours after you submitted your MOD, then it has passed this initial check and will be validated fully.

Times of validation

The MOD team can't give an exact time of how long the validation takes. The statistics page can give you the average number of days for the MODs currently in the queue. This can give you an idea on when your MOD will be looked at. Please note that this only an average and not an exact timeframe.

We try always to get your MOD validated within 2 weeks, with a maximum time of 4 weeks. If you haven't heard anything from us after 4 weeks you should contact us by sending a message in the discussion part of the MOD Database. This can be found under My Modifications, and then the discussion icon.