Function List

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

This page may have a more recent version on pmwiki.org: PmWiki:FunctionList, and a talk page: PmWiki:FunctionList-Talk.