1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php if (!defined('PmWiki')) exit();
- if (file_exists("$WikiDir/.flock") && !is_writable("$WikiDir/.flock"))
- unlink("$WikiDir/.flock");
- $pagefile = FmtPageName("$WikiDir/$PageFileFmt",$pagename);
- if (file_exists($pagefile) && !is_writable($pagefile)) {
- Lock(2);
- @rename($pagefile,"$pagefile,$Now") &&
- @copy("$pagefile,$Now",$pagefile) &&
- @chmod($pagefile,0666 & ~umask());
- Lock(0);
- }
- if ($action=='fixallperms') {
- Lock(2);
- $dfp=opendir($WikiDir);
- $uid=posix_geteuid();
- if ($dfp) {
- while(($pf=readdir($dfp))!=false) {
- if (!preg_match("/^$GroupNamePattern\.$PageTitlePattern\$/",$pf))
- continue;
- $pagefile="$WikiDir/$pf";
- if (fileowner($pagefile)==$uid && is_writable($pagefile)) continue;
- @rename($pagefile,"$pagefile,$Now") &&
- @copy("$pagefile,$Now",$pagefile) &&
- @chmod($pagefile,0666 & ~umask());
- }
- closedir($dfp);
- }
- Lock(0);
- }
- ?>
|