$[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 $WikiLibDirs, $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); TestLog("\n --rename $pagename to $newpagename"); $page = RetrieveAuthPage($pagename,"edit"); if (!$page) { Abort("?cannot get $pagename"); } $oldpagefile = FmtPageName($PageFileFmt,$pagename); $newpagefile = FmtPageName($PageFileFmt,$newpagename); ## foreach ($WikiLibDirs as $dir) { $fp = @fopen("$dir/$oldpagefile","r"); /* not $pagefile */ /* TestLog("\n dir: $dir/$pagefile -$fp-"); */ if ($fp) break; } if ($fp) { /* TestLog("\n $dir/$oldpagefile | $WikiDir/$newpagefile"); */ if (!copy("$dir/$oldpagefile","$WikiDir/$newpagefile")) { Abort("copy failed: $dir/$oldpagefile to $WikiDir/$newpagefile") ;} } ## $page['text'] = str_replace('$RenameText',$newpagetitle,$RedirectToRenameFmt); WritePage($pagename,$page); } } else { Abort("?'$newpagetitle' is not a valid page title"); } Redirect($pagename); } ?>