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)
  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.