";
    $PageHeaderFmt = "
From $WikiTitle
       
       ";
    $PageFooterFmt = array("
",
                           "function:PrintEndnotes #",
      "
");
    $GroupHeaderFmt = '$Group.GroupPrintHeader';
    $GroupFooterFmt = '$Group.GroupPrintFooter';
    $DoubleBrackets["/\\[\\[mailto:($UrlPathPattern)(.*?)\\]\\]/"] =
      "''$2'' [[[mailto:$1 $1]]]";
    $WikiPageExistsFmt = 
      "\$LinkText";
    $WikiPageCreateFmt = 
      "\$LinkText";
    $WikiPageCreateSpaceFmt =
      "\$LinkText";
    $UrlLinkTextFmt = "\$LinkText [\$Url]";
    $FmtUrlLink = 'FmtUrlLinkPublish';
    $TrailLinkPattern = 
      "(?:($GroupNamePattern)([\\/.]))?(($WikiWordPattern)|($FreeLinkPattern))";
    $DoubleBrackets["/<<\\|($TrailLinkPattern)\\|>>/"] = "$1";
    $DoubleBrackets["/\\^\\|($TrailLinkPattern)\\|\\^/"] = '';
    $DoubleBrackets["/<\\|($TrailLinkPattern)\\|>/"] = '';
    $InlineReplacements['/\\[\\[\\$Publish\\]\\]/'] = '';
    $SpaceWikiWords = 1;
    $hide = 1;
} else
    $PageFooterFmt = str_replace("
",
    " - $[Printable Version]
",
        $PageFooterFmt);
SDV($HandleActions['publish'],'HandlePublish');
$include = $HTTP_GET_VARS['include'];
SDV($HandlePublishFmt,array(&$HTMLStartFmt,&$PageHeaderFmt,
                            "wiki:$GroupHeaderFmt",
                            &$PublishList,
                            "wiki:$GroupFooterFmt",
                            &$PageFooterFmt,&$HTMLEndFmt));
SDV($PublishPageNotFoundFmt,'Page \'\'$Tlink\'\' does not exist.');
SDV($PublishPageNameFmt,"\$Titlespaced:");
if (isset($EnablePathInfo) && !$EnablePathInfo) 
   SDV($PublishTagFmt,"");
SDV($PublishTagFmt,"");
SDV($InlineReplacements['/\\[\\[\\$Publish(nodate)?(:(.*?))?\\]\\]/e'],
   "FmtPublishName(\$GLOBALS['PublishTagFmt'],\$pagename,'\$3')");
$DoubleBrackets['/\\[\\[\\$Publish:(.*?)\\]\\]/e'] =
   'ValidatePublish("$pagename","$1");';
if (!isset($IncludeModifiedDate)) $IncludeModifiedDate = true;
function ValidatePublish($pagename,$publishpage) {
  global $GroupNamePattern,$PageTitlePattern;
  $delimiter = '/';
  if (preg_match("/^$GroupNamePattern([\\/.])$PageTitlePattern\$/",
      $publishpage,$match))
      $delimiter = $match[1];
  else
      $publishpage = FmtPageName('$Group',$pagename)."/$publishpage";
  if (PageExists($publishpage)) return "[[\$Publish:" . AsSpaced($publishpage) . "]]";
  else return str_replace($delimiter,"$delimiter{{",$publishpage) . "}} not found.";
}
function FmtPublishName($fmt,$pagename,$publishpage) {
  global $PublishPageNameFmt;
  if ($publishpage) {
     $publishpage = str_replace(" ","",$publishpage);
     $r = FmtPageName($PublishPageNameFmt,$publishpage);
  } else 
     $publishpage = $pagename;
  return str_replace('$PublishName',$r,FmtPageName($fmt,$publishpage));
}
function HandlePublish($pagename) {
  global $HandlePublishFmt,$TrailLinkPattern,$PublishPageNotFoundFmt;
  global $include,$HTMLTitle,$GCount,$LastModified,$IncludeModifiedDate;
  $trailname = FmtWikiLink('',$pagename,NULL,'PageName');
  $trailpage = ReadPage($trailname);
  if ($trailpage) {
    $LastModified = $trailpage['timefmt'];
    if (strstr($trailpage['text'],'[[$Publishnodate]]')) $IncludeModifiedDate = false;
    $trailgroup = FmtPageName('$Group',$trailname);
    foreach(explode("\n",$trailpage['text']) as $x) {
      if (preg_match("/^T?([#*:]+)\\s*(.*)/",$x,$match)) {
          $match[1] = str_replace(':#',':',$match[1]);
          $depth[] = strlen($match[1]);
          if (preg_match("/^(\\[\\[)?($TrailLinkPattern)/",$match[2],$text)) {
              $pg = ($text[3]>'')?$text[2]: $trailgroup.'/'.$text[2];
              $pages[] = FmtWikiLink('',$pg,NULL,'PageName',$trailpage);
              if (preg_match("/^\\[\\[($TrailLinkPattern)((?:\\s.*?)\\]\\])/",
                               $match[2],$dbm))
                  $links[] = "[[".$pg.array_pop($dbm);
              else
                  $links[] = $pg;
          } elseif (!strstr($match[1],":")) {
              $pages[] = "textonly";
              $links[] = $match[2];
          }
      }
    }
    if (isset($include)) {
        $PublishList[] = "function:PrintThisPage $pagename";
    }
    for($i=0;$i$s) {
    if (strstr($text,$p)) $text = str_replace($p,eval($s),$text);
  }
  return $text;
}
function PrintEndnotes($pagename,$urltext) {
  $etext = Endnote($urltext);
  if ($etext!="") PrintText($pagename,$etext);
}
function Endnote($urltext) {
  static $endcount, $endtext;
  if ($urltext == "#") {
     $r = "$endtext";
     if ($endcount>0) $r = "!Links\n$r";
     $endcount = 0;
     $endtext = '';
  } else {
     $endcount++;
     $r = "$endcount";
     $urltext = str_replace('&','&',stripslashes($urltext));
     $endtext .= "# [[#end$endcount]]$urltext\n";
  }
  return $r;
}
function FmtUrlLinkPublish($pat,$ref,$btext) {
  if (!is_null($btext)) { $ref = Endnote($ref); }
  return FmtUrlLink($pat,$ref,$btext);
}
?>