'.Keep(GotoForm(\$pagename, ParseArgs(PSS('$1'))))");
$HandleActions['goto'] = 'HandleGoto';
## [[?Glossary]] finds [=text=] from RecentChanges
$LinkFormCreateFmt = "\$LinkText";
SDV($NewGlossaryPage, 'Glossary.NewEntry');
Markup('[[?','<[[','/\\[\\[\\?(.*?)\\]\\]/e',
"Keep(MakeFormLink(\$pagename,PSS(\$GLOBALS['NewGlossaryPage']),PSS('$1'),'',\$GLOBALS['LinkFormCreateFmt']),'L')");
function MakeFormLink($pagename,$newentry,$title,$suffix,$fmt) {
$p = RetrieveAuthPage(FmtPageName('$Group.RecentChanges',$newentry),'read');
$wikiname = MakePageName($newentry,$title); $n = array();
foreach (explode("\n*",$p['text']) as $r)
if (preg_match("/\\[\\[([^\\|\\s\\]]+).*?\\[=(.*?)=\\]/",$r,$m)) {
if (MakePageName($newentry,$m[2])==$wikiname) $n[] = $m[1];
}
if (count($n)==0) return MakeLink($pagename, $newentry,
str_replace('"','"',$title), $suffix,
str_replace('$Title',GotoPrompt($newentry,'element','title'),$fmt));
elseif (count($n)==1) return MakeLink($pagename,$n[0],$title,$suffix);
else {
for($i=0;$i '30', 'go' => 'Go',
'new' => FmtPageName('$Group.New$Group', $pagename));
$opt = array_merge($GotoBoxOpt, (array)$opt);
$opt['goto'] = GotoPrompt($opt['new']);
$GotoBoxFmt = "";
return FmtPageName($GotoBoxFmt,$pagename);
}
function HandleGoto($pagename) {
$opt['new'] = FmtPageName('$Group.New$Group',$pagename);
$opt = array_merge($opt, $_REQUEST); $t = $opt['title']; $pg = $opt['new'];
if ($t) {
$wiki = MakePageName($pg, $t);
$page = RetrieveAuthPage(FmtPageName('$Group.RecentChanges',$pg), 'read', true, READPAGE_CURRENT);
foreach(explode("\n*",$page['text']) as $p) {
preg_match('/\\[\\[([^|\\s\\]]+).*?\\[=(.*?)=\\]/',$p,$m);
if (MakePageName($pg,$m[2])==$wiki) Redirect($m[1]);
}
$t[0] = strtoupper($t[0]);
Redirect($opt['new'], '$PageUrl?'.GotoPrompt($pg,'element','title').'='.$t);
} else Redirect($opt['new']);
}
?>