{page$Groupspaced} - Same as {$Groupspaced} within {page$Name} - Same as {$Name} within {page$Namespaced} - Same as {$Namespaced} within {page$FullName} - Same as {$Fullname} within {page$Title} - Same as {$Title} within {page$Titlespaced} - Same as {$Titlespaced} within {page$LastModified} - Same as {$LastModified} within {page$LastModifiedBy} - Same as {$LastModifiedBy} within {page$LastModifiedHost} - Same as {LastModifiedHost} within */ SDV($PageNameChars,'-[:alnum:]'); # {pagename$var} substitutions Markup('{page$fmt}','>{$fmt}', "/{([$PageNameChars\.\/]+?)" . '\\$((Group|Name|Title)(spaced)?|LastModified(By|Host)?|FullName)}/e', "pagevars('$$2','$1')"); function pagevars($var, $pagename) { global $PCache, $EnablePageListProtect; if ($var == '$Title' || $var == '$Titlesapced') $pvar='title'; if ($var == '$LastModified') $pvar='time'; if ($var == '$LastModifiedBy') $pvar='author'; if ($var == '$LastModifiedHost') $pvar='host'; if ($pvar && ! isset($PCache[$pagename][$pvar])) { $page = IsEnabled($EnablePageListProtect, 0) ? RetrieveAuthPage($pagename, 'read', false, READPAGE_CURRENT) : ReadPage($pagename, READPAGE_CURRENT); $PCache[$pagename]= $page; } //Non-existing pages should return blank time, not the current time. if ($var == '$LastModified' && !PageExists($pagename)) return ""; return FmtPageName($var,$pagename); }