A simple list of the functions provided by PmWiki. Eventually to be fleshed out with more descriptions, and links to appropriate pages.
pmwiki.php:
Helper functions
SDV(&$v,$x)? | "set default value" -- assigns $x to $v only if $v isn't already defined |
SDVA(&$var,$val) | "set default value array" -- assign array $val to $var for undefined elements |
PUE($x) | url encode $x |
IsEnabled(&$var,$f=0) | returns $var if it's set, otherwise returns $f |
mkdirp($dir) | create $dir if it doesn't exist (with appropriate permissions) |
fixperms($fname, $add = 0) | correct file permissions on $fname |
stripmagic($x) | undo any effects of PHP's (broken) magic_quotes setting |
Lock($op) | provide a semaphore for wiki processes (avoid read/write conflicts) |
ParseArgs($x) | parse strings containing lists of arguments |
StopWatch($x) | mark elapsed time in processing |
pmcrypt($pass, $salt) | create or check a password hash |
Markup helper functions
PSS($x) - strip backslashes (added by the /e option to preg_replace) from $x. functions
PVS($x) - Convert \n\n sequences to <:vspace>
PVSE($x) - Convert special characters to HTML entities (excluding quotes) and convert \n\n sequences to <:vspace>
PZZ($x,$y='') - return a null string (used for its side effect of evaluating $x and $y)
PRR($x=NULL) - indicate that we need to restart markup processing
PQA($x) - "prepare quoted arguments" -- quote any attributes in HTML tags
NoCache($x='') - indicate that current page is not to be cached
Markup functions
CompareArgs($arg)
CondAuth($pagename
, $condparm)
CondExpr($pagename
, $condname, $condparm)
SetTmplDisplay($var, $val)
AsSpaced($text)
MatchNames($pagelist, $pat, $caseinsensitive = true)
$list is an array of strings (tokens etc) to be matched. $pat is a pattern string (e.g. "example,exemplar"), or an array of pattern strings (that can include wild cards * and ?). When $pat is an array of patterns, a $list item must match every pattern from the array. MatchNames returns an array of the $list items that match the pattern.
MatchPageNames($pagelist, $pat, $caseinsensitive = true)
FixGlob($x, $rep = '$1*.$2')
ResolvePageName($pagename
) - "normalizes" a pagename based on the current settings of $DefaultPage
and $PagePathFmt
. It's normally used during initialization to fix up any missing or partial pagenames.
MakePageName($basepage,$str) - to convert a string $str into a fully-qualified pagename. If $str doesn't contain a group qualifier, then MakePageName uses $basepage and $PagePathFmt
to determine the group of the returned pagename.
PCache($pagename
, $page)
SetProperty($pagename
, $prop, $value, $sep = NULL)
PageVar($pagename
, $var, $pn = '')
FmtPageName($fmt, $pagename
) - handles internationalization and $Variable substitutions in strings based on the $pagename
argument.
XL($key)
XLSDV($lang,$a)
XLPage($lang,$p)
CmpPageAttr($a, $b)
PageStore($d='$WorkDir
/$FullName', $w=0)
pagefile($pagename
)
read($pagename
, $since=0)
write($pagename
,$page)
exists($pagename
)
delete($pagename
)
ls($pats=NULL)
ReadPage($pagename
, $since=0) - returns array, each element contains a single line split by '=' to array($key => $value)
WritePage($pagename
,$page)
PageExists($pagename
)
ListPages($pat=NULL)
RetrieveAuthPage($pagename
, $level, $authprompt=true, $since=0) - recieve page by using authentication mechanisms (hookable) (reference)
Abort($msg)
Redirect($pagename
,$urlfmt='$PageUrl')
PrintFmt($pagename
,$fmt)
PrintWikiPage($pagename
, $wikilist=NULL, $auth='read')
Keep($x, $pool=NULL) - the $x string is passed on unaltered to the output
CondText($pagename
,$condspec,$condtext)
IncludeText($pagename
, $inclspec)
RedirectMarkup($pagename
, $opt)
Block($b)
FormatTableRow($x)
WikiLink($pagename
, $word)
LinkIMap($pagename
,$imap,$path,$title,$txt,$fmt=NULL)
LinkPage($pagename
,$imap,$path,$title,$txt,$fmt=NULL)
MakeLink($pagename
,$tgt,$txt=NULL,$suffix=NULL,$fmt=NULL) - creates a link with the proper site info, see MakeLink
Markup($id,$cmd,$pat=NULL,$rep=NULL)
DisableMarkup()
mpcmp($a,$b) { return @strcmp($a['seq'].'=',$b['seq'].'='); }
BuildMarkupRules()
MarkupToHTML($pagename
, $text, $opt = NULL)
HandleBrowse($pagename
, $auth = 'read')
EditTemplate($pagename
, &$page, &$new)
RestorePage($pagename
,&$page,&$new,$restore=NULL)
ReplaceOnSave($pagename
,&$page,&$new)
SaveAttributes($pagename
,&$page,&$new)
PostPage($pagename
, &$page, &$new)
PostRecentChanges($pagename
,&$page,&$new)
PreviewPage($pagename
,&$page,&$new)
HandleEdit($pagename
, $auth = 'edit')
HandleSource($pagename
, $auth = 'read')
PmWikiAuth($pagename
, $level, $authprompt=true, $since=0) - recieve page by using authentication mechanisms
IsAuthorized($chal, $source, &$from)
SessionAuth($pagename
, $auth = NULL)
PrintAttrForm($pagename
)
HandleAttr($pagename
, $auth = 'attr')
HandlePostAttr($pagename
, $auth = 'attr')
HandleLogoutA($pagename
, $auth = 'read')
HandleLoginA($pagename
, $auth = 'login')
scripts/author.php:
RequireAuthor($pagename
, &$page, &$new)
scripts/authuser.php:
AuthUserId($pagename
, $id, $pw=NULL)
AuthUserConfig($pagename
, $id, $pw, $pwlist)
AuthUserHtPasswd($pagename
, $id, $pw, $pwlist)
AuthUserLDAP($pagename
, $id, $pw, $pwlist)
_crypt($plain, $salt=null)
scripts/compat1x.php:
ConvertV1WikiD($path) is a that allows pages to be converted
read($pagename
)
UseV1WikiD($path)
ConvertV1WikiD($path)
scripts/crypt.php:
HandleCrypt($pagename
, $auth='read')
scripts/diag.php:
Ruleset()
HandleRuleset($pagename
)
StopWatchHTML()
scripts/draft.php:
EditDraft(&$pagename
, &$page, &$new)
scripts/feeds.php:
HandleFeed($pagename
, $auth = 'read')
RSSEnclosure($pagename
, &$page, $k)
scripts/forms.php:
InputMarkup($pagename
, $type, $args)
scripts/guiedit.php:
GUIButtonCode($pagename
)
scripts/httpauth.php:
HTTPBasicAuthPrompt($pagename
)
scripts/notify.php:
NotifyCheck($pagename
)
PostNotify($pagename
, &$page, &$new)
NotifyUpdate($pagename
, $dir='')
scripts/pagelist.php:
SearchBox($pagename
, $opt)
FmtPageList($outfmt, $pagename
, $opt)
MakePageList($pagename
, $opt, $retpages = 1)
SortPageList(&$matches, $order)
HandleSearchA($pagename
, $level = 'read')
FPLTemplate($pagename
, &$matches, $opt)
PageIndexTerms($terms) - see $PageIndexTermsFunction
PageIndexUpdate($pagelist, $dir = '')
PageIndexGrep($terms, $invert = false)
PostPageIndex($pagename
, &$page, &$new)
scripts/pagerev.php:
LinkSuppress($pagename
,$imap,$path,$title,$txt,$fmt=NULL)
PrintDiff($pagename
)
HandleDiff($pagename
, $auth='read')
scripts/phpdiff.php:
PHPDiff($old,$new)
scripts/simuledit.php:
Merge($newtext,$oldtext,$pagetext)
MergeSimulEdits($pagename
,&$page,&$new)
scripts/skins.php:
SetSkin($pagename
, $skin)
LoadPageTemplate($pagename
,$tfilefmt)
PrintSkin($pagename
, $arg)
Associated with
$PageEndFmt = "function:PrintSkin End"
$PageStartFmt = "function:PrintSkin Start"
scripts/stdmarkup.php:
PreserveText($sigil, $text, $lead)
PrintMetaTags($pagename
, $args)
TrackAnchors($x) { global $SeenAnchor; return @$SeenAnchor[$x]++; }
WSIndent($i)
Cells($name,$attr)
MarkupMarkup($pagename
, $text, $opt = '')
CondDate($condparm)
scripts/trails.php:
ReadTrail($pagename
,$trailname)
MakeTrailStop($pagename
,$trailname)
MakeTrailStopB($pagename
,$trailname)
MakeTrailPath($pagename
,$trailname)
scripts/transition.php:
FPLByGroup($pagename
, &$matches, $opt)
GUIEdit($pagename
, &$page, &$new)
scripts/upload.php:
MakeUploadName($pagename
,$x)
LinkUpload($pagename
, $imap, $path, $title, $txt, $fmt=NULL)
HandleUpload($pagename
, $auth = 'upload')
HandleDownload($pagename
, $auth = 'read')
HandlePostUpload($pagename
, $auth = 'upload')
UploadVerifyBasic($pagename
,$uploadfile,$filepath)
dirsize($dir)
FmtUploadList($pagename
, $args)
AttachExist($pagename
)
scripts/urlapprove.php:
LinkHTTP($pagename
,$imap,$path,$title,$txt,$fmt=NULL)
ReadApprovedUrls($pagename
)
HandleApprove($pagename
, $auth='edit')
BlockUnapprovedPosts($pagename
, &$page, &$new)
scripts/vardoc.php:
VarLink($pagename
,$tgt,$txt)
VarIndexLoad($pagename
)
VarIndexList($pagename
)
scripts/wikistyles.php:
ApplyStyles($x)
scripts/xlpage-utf-8.php:
utf8toupper($x)
Category: PmWiki Internals PmWiki Developer