PmWiki /
FunctionList
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)
$pagelist 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 $pagelist item must match every pattern from the array.
MatchNames returns an array of the $pagelist 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
This page may have a more recent version on pmwiki.org: PmWiki:FunctionList, and a talk page: PmWiki:FunctionList-Talk.