715 |
|
|
716 |
$dir = $dirList[$key]; |
$dir = $dirList[$key]; |
717 |
|
|
718 |
$info_url=self_args(array("A" => "A=E", "F" => "F=".urlencode($dir))); |
$info_url=self_args(array("A"=>"A=E", "F"=>"F=".urlencode($dir), "D"=>$D)); |
719 |
$dir_url=$self."?D=".urlencode($relDir.$dir); |
$dir_url=$self."?D=".urlencode($relDir."/".$dir); |
720 |
include("$html/Navigate-dirEntry.html"); |
include("$html/Navigate-dirEntry.html"); |
721 |
|
|
722 |
} // iterate over dirs |
} // iterate over dirs |
939 |
|
|
940 |
////////////////////////////////////////////////////////////////// |
////////////////////////////////////////////////////////////////// |
941 |
|
|
942 |
function LogIt($target,$msg) { |
function LogIt($target,$msg, $changelog=0) { |
943 |
|
|
944 |
$dir=dirname($target); |
$dir=dirname($target); |
945 |
if (! file_exists($dir."/.log")) { |
if (! file_exists($dir."/.log")) { |
952 |
"\t$GLOBALS[gblUserName]\t$msg\n"); |
"\t$GLOBALS[gblUserName]\t$msg\n"); |
953 |
fclose($log); |
fclose($log); |
954 |
|
|
955 |
|
if (! $changelog) return; |
956 |
|
|
957 |
|
global $gblFsRoot; |
958 |
|
$log=fopen("$gblFsRoot/.changelog","a+"); |
959 |
|
if (substr($target,0,strlen($gblFsRoot)) == $gblFsRoot) |
960 |
|
$target=substr($target,strlen($gblFsRoot),strlen($target)-strlen($gblFsRoot)); |
961 |
|
$msg=str_replace("\t"," ",$msg); |
962 |
|
fputs($log,time()."\t$target\t$GLOBALS[gblUserName]\t$msg\n"); |
963 |
|
fclose($log); |
964 |
|
|
965 |
|
// FIX: implement e-mail notification based on $changelog |
966 |
|
// permission |
967 |
} |
} |
968 |
|
|
969 |
|
|
982 |
fputs($note,"$msg\n"); |
fputs($note,"$msg\n"); |
983 |
fclose($note); |
fclose($note); |
984 |
|
|
985 |
Logit($target,"added note $msg"); |
LogIt($target,"added note $msg"); |
986 |
|
|
987 |
} |
} |
988 |
|
|
1027 |
$file=basename($target); |
$file=basename($target); |
1028 |
|
|
1029 |
if (file_exists("$dir/.lock/$file")) { |
if (file_exists("$dir/.lock/$file")) { |
1030 |
Logit($target,"attempt to locked allready locked file!"); |
LogIt($target,"attempt to locked allready locked file!"); |
1031 |
} else { |
} else { |
1032 |
$lock=fopen("$dir/.lock/$file","w"); |
$lock=fopen("$dir/.lock/$file","w"); |
1033 |
fputs($lock,"$GLOBALS[gblUserName]\n"); |
fputs($lock,"$GLOBALS[gblUserName]\n"); |
1034 |
fclose($lock); |
fclose($lock); |
1035 |
|
|
1036 |
Logit($target,"file locked"); |
LogIt($target,"file locked"); |
1037 |
} |
} |
1038 |
|
|
1039 |
} |
} |
1060 |
$file=basename($target); |
$file=basename($target); |
1061 |
if (file_exists($dir."/.lock/$file")) { |
if (file_exists($dir."/.lock/$file")) { |
1062 |
unlink("$dir/.lock/$file"); |
unlink("$dir/.lock/$file"); |
1063 |
Logit($target,"file unlocked"); |
LogIt($target,"file unlocked"); |
1064 |
} else { |
} else { |
1065 |
Logit($target,"attempt to unlocked non-locked file!"); |
LogIt($target,"attempt to unlocked non-locked file!"); |
1066 |
} |
} |
1067 |
|
|
1068 |
} |
} |
1132 |
|
|
1133 |
////////////////////////////////////////////////////////////////// |
////////////////////////////////////////////////////////////////// |
1134 |
|
|
|
function ChangeLog($target,$msg) { |
|
|
|
|
|
global $gblFsRoot; |
|
|
$log=fopen("$gblFsRoot/.changelog","a+"); |
|
|
if (substr($target,0,strlen($gblFsRoot)) == $gblFsRoot) |
|
|
$target=substr($target,strlen($gblFsRoot),strlen($target)-strlen($gblFsRoot)); |
|
|
$msg=str_replace("\t"," ",$msg); |
|
|
fputs($log,time()."\t$target\t$GLOBALS[gblUserName]\t$msg\n"); |
|
|
fclose($log); |
|
|
|
|
|
} |
|
|
|
|
1135 |
function DisplayChangeLog($day) { |
function DisplayChangeLog($day) { |
1136 |
|
|
1137 |
global $gblFsRoot; |
global $gblFsRoot; |
1581 |
copy($source,$target) ; |
copy($source,$target) ; |
1582 |
chmod($target,$gblFilePerms) ; |
chmod($target,$gblFilePerms) ; |
1583 |
clearstatcache() ; |
clearstatcache() ; |
|
Logit($target,"uploaded"); |
|
1584 |
if (isset($FILENAME)) { |
if (isset($FILENAME)) { |
1585 |
|
LogIt($target,"check-in",trperm_r | trperm_w); |
1586 |
Unlock($target); |
Unlock($target); |
1587 |
|
} else { |
1588 |
|
LogIt($target,"uploaded",trperm_r | trperm_w); |
1589 |
} |
} |
|
ChangeLog($target,"updated"); |
|
1590 |
break ; |
break ; |
1591 |
|
|
1592 |
case "SAVE" : |
case "SAVE" : |
1603 |
fwrite($fh,$FILEDATA) ; |
fwrite($fh,$FILEDATA) ; |
1604 |
fclose($fh) ; |
fclose($fh) ; |
1605 |
clearstatcache() ; |
clearstatcache() ; |
1606 |
Logit($path,"saved changes"); |
LogIt($path,"saved changes",trperm_r); |
|
ChangeLog($path,"saved changes"); |
|
1607 |
break ; |
break ; |
1608 |
|
|
1609 |
case "CREATE" : |
case "CREATE" : |
1616 |
case "D" : // create a directory |
case "D" : // create a directory |
1617 |
if ( ! @mkdir($path,$gblDirPerms) ) |
if ( ! @mkdir($path,$gblDirPerms) ) |
1618 |
Error("Mkdir failed",$relPath) ; // eg. if it exists |
Error("Mkdir failed",$relPath) ; // eg. if it exists |
1619 |
|
else |
1620 |
|
LogIt($path."/","dir created",trperm_w); |
1621 |
clearstatcache() ; |
clearstatcache() ; |
1622 |
break ; |
break ; |
1623 |
case "F" : // create a new file |
case "F" : // create a new file |
1630 |
if ($fh) { |
if ($fh) { |
1631 |
fputs($fh,"\n"); |
fputs($fh,"\n"); |
1632 |
fclose($fh) ; |
fclose($fh) ; |
1633 |
LogIt($path,"file created"); |
LogIt($path,"file created",trperm_r | trperm_w); |
1634 |
} else { |
} else { |
1635 |
Error("Creation of file $relPath failed -- $path"); |
Error("Creation of file $relPath failed -- $path"); |
1636 |
} |
} |
1637 |
$tstr = "$PHP_SELF?A=E&D=".urlencode($relDir)."&F=".urlencode($FN) ; |
$tstr = "$PHP_SELF?A=E&D=".urlencode($relDir)."&F=".urlencode($FN) ; |
1638 |
header("Location: " . $tstr) ; |
header("Location: " . $tstr) ; |
|
ChangeLog($target,"created"); |
|
1639 |
exit ; |
exit ; |
1640 |
} |
} |
1641 |
break ; |
break ; |
1658 |
// if ( ! @unlink($path) ) { |
// if ( ! @unlink($path) ) { |
1659 |
if ( ! rename($path,"$dir/.del/$file") ) { |
if ( ! rename($path,"$dir/.del/$file") ) { |
1660 |
Error("File delete failed", $tstr . $path) ; |
Error("File delete failed", $tstr . $path) ; |
1661 |
Logit($path,"file delete failed"); |
LogIt($path,"file delete failed"); |
1662 |
exit ; |
exit ; |
1663 |
} else { |
} else { |
1664 |
Logit($path,"file deleted"); |
LogIt($path,"file deleted",trperm_w); |
1665 |
MoveTo("$dir/.log/$file","$dir/.del/.log/"); |
MoveTo("$dir/.log/$file","$dir/.del/.log/"); |
1666 |
MoveTo("$dir/.note/$file","$dir/.del/.note/"); |
MoveTo("$dir/.note/$file","$dir/.del/.note/"); |
1667 |
MoveTo("$dir/.lock/$file","$dir/.del/.lock/"); |
MoveTo("$dir/.lock/$file","$dir/.del/.lock/"); |
1668 |
} |
} |
1669 |
} |
} else { // delete directory |
1670 |
else { // delete directory |
if ( ! @rrmdir($fsDir) ) { |
1671 |
if ( ! @rrmdir($fsDir) ) { |
Error("Rmdir failed", $tstr . $fsDir) ; |
1672 |
Error("Rmdir failed", $tstr . $fsDir) ; |
} else { |
1673 |
} |
LogIt($path,"dir deleted",trperm_w); |
1674 |
else { |
$relDir = dirname($relDir) ; // move up |
1675 |
$relDir = dirname($relDir) ; // move up |
} |
|
} |
|
1676 |
} |
} |
1677 |
break ; |
break ; |
1678 |
|
|
1682 |
if (substr($FN,0,4) != ".del") break ; |
if (substr($FN,0,4) != ".del") break ; |
1683 |
$file=substr($FN,4,strlen($FN)-4); |
$file=substr($FN,4,strlen($FN)-4); |
1684 |
|
|
1685 |
Logit("$fsDir/.del/$file","undeleted"); |
LogIt("$fsDir/.del/$file","undeleted",trperm_w); |
1686 |
MoveTo("$fsDir/.del/$file","$fsDir/"); |
MoveTo("$fsDir/.del/$file","$fsDir/"); |
1687 |
MoveTo("$fsDir/.del/.log/$file","$fsDir/.log/"); |
MoveTo("$fsDir/.del/.log/$file","$fsDir/.log/"); |
1688 |
MoveTo("$fsDir/.del/.note/$file","$fsDir/.note/"); |
MoveTo("$fsDir/.del/.note/$file","$fsDir/.note/"); |
1693 |
case "RENAME" : |
case "RENAME" : |
1694 |
if ( $CONFIRM != "on" ) break ; |
if ( $CONFIRM != "on" ) break ; |
1695 |
|
|
1696 |
Logit("$fsDir/$FN","renamed $FN to $NEWNAME"); |
LogIt("$fsDir/$FN","renamed $FN to $NEWNAME",trperm_r); |
1697 |
safe_rename($fsDir,$FN,$NEWNAME); |
safe_rename($fsDir,$FN,$NEWNAME); |
1698 |
break ; |
break ; |
1699 |
|
|