'.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 = "
{$opt['goto']}:
"; 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']); } ?>