$[Rename] \$PageName
"); SDV($HandleRenameFmt,array(&$HTMLStartFmt,&$PageRenameFmt,&$HTMLEndFmt)); SDV($HandleActions['rename'],'HandleRename'); SDV($HandleActions['postrename'],'HandlePostRename'); function HandleRename($pagename) { global $HandleRenameFmt; $page = RetrieveAuthPage($pagename,'read'); if (!$page) { Abort("?cannot rename $pagename"); } PrintFmt($pagename,$HandleRenameFmt); } function HandlePostRename($pagename) { global $WikiDir,$HTTP_POST_VARS,$PageTitlePattern,$PageNameSpace, $RedirectToRenameFmt,$PageFileFmt; $newpagetitle = str_replace(' ',$PageNameSpace, ucwords(trim(stripmagic($HTTP_POST_VARS['renametext'])))); if (preg_match("/^($PageTitlePattern)\$/",$newpagetitle)) { $newpagename = FmtPageName('$Group',$pagename) . ".$newpagetitle"; if (PageExists($newpagename)) { Abort("?$newpagename already exists"); } else { Lock(2); $page = RetrieveAuthPage($pagename,"edit"); if (!$page) { Abort("?cannot get $pagename"); } $oldpagefile = FmtPageName($PageFileFmt,$pagename); $newpagefile = FmtPageName($PageFileFmt,$newpagename); @copy("$WikiDir/$oldpagefile","$WikiDir/$newpagefile"); $page['text'] = str_replace('$RenameText',$newpagetitle,$RedirectToRenameFmt); WritePage($pagename,$page); } } else { Abort("?'$newpagetitle' is not a valid page title"); } Redirect($pagename); } ?>