# Variables

This page documents the PHP variables available in PmWiki for local customizations. Much of this documentation is still incomplete but people are working on it now. Feel free to add placeholders for variables you want to have documented if you don't know what the variable does.

The variables documentation is divided into several pages:

The following functions are also controlled by several variables:

• Blocklist - Blocking IP addresses, phrases, and expressions to counteract spam and vandalism.
• Notify - How to receive email messages whenever pages are changed on the whole wiki site, individual groups or selected watchlists of pages
• Basic Variables to provide circular trail

The following variables are used in page markup.

• Page Variables - variables that are associated with pages
• Page TextVariables - Page variables automatically made available through natural or explicit page markup

An complete index of documented PHP variables is given below.

In general, variables with names ending in 'Fmt' (such as $PageLayoutFmt) have their values processed for$-variable substitutions prior to being output. Thus strings such as {$Name} and {$PageUrl} are replaced with the name and URL of the page when the string is printed.

Note: The automatic variable index and link generation is done by scripts/vardoc.php using $VarPagesFmt to find the pages containing trails of pages with the variable documentation. There is a slight discrepancy between index generation and link generation: The index generation finds lines starting with a colon followed by "$" and an uppercase word. In contrast, the automatic link generation works only with WikiWords ($WikiWordPattern) preceded with "$". Therefore all "non WikiWord" variables are shown as link only in the list below, but not elsewhere in PmWiki, as $XL. 'Author', 'Skin', 'pagename' and 'Version' (preceded with a$-sign) are handled correctly.