65 |
TODO: |
TODO: |
66 |
mixed file/directory output (add type to each entry, |
mixed file/directory output (add type to each entry, |
67 |
real support for links) |
real support for links) |
68 |
add more content-management (like cms.sourceforge.net): |
retrieve old versions of files (overwritten) |
69 |
check-out/check-in/reserve |
show last lock date |
70 |
comments to files |
|
71 |
*/ |
*/ |
72 |
|
|
73 |
////////////////////////////////////////////////////////////////// |
////////////////////////////////////////////////////////////////// |
194 |
</small> |
</small> |
195 |
</P> |
</P> |
196 |
<BR> |
<BR> |
197 |
<? include(".debug.inc") ?> |
<? //include(".debug.inc") ?> |
198 |
<BR><BR></BODY></HTML> |
<BR><BR></BODY></HTML> |
199 |
|
|
200 |
<?php |
<?php |
294 |
</FORM> |
</FORM> |
295 |
|
|
296 |
<?php |
<?php |
297 |
} else if ( strstr( join(" ",$gblImages), $ext ) ) { |
} |
298 |
|
if ( !$file_lock && strstr(join(" ",$gblImages),$ext) ) { |
299 |
$info = getimagesize($fsPath) ; |
$info = getimagesize($fsPath) ; |
300 |
$tstr = "<IMG SRC=\"". $relPath . "\" BORDER=0 " ; |
$tstr = "<IMG SRC=\"".urlpath($relPath)."\" BORDER=0 " ; |
301 |
$tstr .= $info[3] . " ALT=\"" . $fn . " - " ; |
$tstr .= $info[3] . " ALT=\"" . $fn . " - " ; |
302 |
$tstr .= (int)(($fsize+1023)/1024) . "Kb\">" ; |
$tstr .= (int)(($fsize+1023)/1024) . "Kb\">" ; |
303 |
echo htmlentities($tstr) . "<BR><BR>" . $tstr ; |
// echo htmlentities($tstr) . "<BR><BR>" . $tstr ; |
304 |
|
echo $tstr ; |
305 |
} |
} |
306 |
|
|
307 |
?> |
?> |
364 |
|
|
365 |
<?php |
<?php |
366 |
|
|
367 |
|
$name=basename("$fsDir/$fn"); |
368 |
$logname=dirname("$fsDir/$fn")."/.log/".basename("$fsDir/$fn"); |
$logname=dirname("$fsDir/$fn")."/.log/$name"; |
369 |
|
$bakdir=dirname("$fsDir/$fn")."/.bak"; |
370 |
if (file_exists($logname)) { |
if (file_exists($logname)) { |
|
print "<hr><br><b>CHANGES TO THIS FILE</b><br><table border=0 width=100%>\n"; |
|
371 |
$log=fopen($logname,"r"); |
$log=fopen($logname,"r"); |
372 |
$cl1=" class=lst"; $cl2=""; |
$cl1=" class=lst"; $cl2=""; |
373 |
|
$logarr = array(); |
374 |
while($line = fgetcsv($log,255,"\t")) { |
while($line = fgetcsv($log,255,"\t")) { |
375 |
$cl=$cl1; $cl1=$cl2; $cl2=$cl; |
$cl=$cl1; $cl1=$cl2; $cl2=$cl; |
376 |
print "<tr><td$cl>$line[0]</td><td$cl>$line[1]</td><td$cl>$line[2]</td><td$cl>$line[3]</td></tr>\n"; |
array_unshift($logarr,array($cl,$line[0],$line[1],$line[2],$line[3])); |
377 |
} |
} |
378 |
fclose($log); |
fclose($log); |
379 |
|
print "<hr><br><b>CHANGES TO THIS FILE</b><br><table border=0 width=100%>\n"; |
380 |
|
$bakcount = 0; // start from 0, skip fist backup (it's current) |
381 |
|
while ($e = array_shift($logarr)) { |
382 |
|
if (strstr($e[4],"upload")) { |
383 |
|
if (file_exists("$bakdir/$bakcount/$name")) { |
384 |
|
$e[4]="<a href=\"".dirname($relPath)."/.bak/$bakcount/$name\">$e[4]</a>"; |
385 |
|
} |
386 |
|
$bakcount++; |
387 |
|
} |
388 |
|
print "<tr><td$e[0]>$e[1]</td><td$e[0]>$e[2]</td><td$e[0]>$e[3]</td><td$e[0]>$e[4]</td></tr>\n"; |
389 |
|
} |
390 |
print "</table>"; |
print "</table>"; |
391 |
} |
} |
392 |
|
|
845 |
<TR><TD></TD><TD COLSPAN=5><HR></TD></TR> |
<TR><TD></TD><TD COLSPAN=5><HR></TD></TR> |
846 |
|
|
847 |
<TR><TD></TD><TD COLSPAN=5> |
<TR><TD></TD><TD COLSPAN=5> |
848 |
To just view file without editing, select it's filename (<b>don't edit files which are opened this way!</b>)<br> |
<? |
849 |
To <b>edit</b> file select <?= $gblIcon("checkout") ?> to check-out |
if (file_exists(".info.inc")) { |
850 |
and edit it locally. After editing is over, select filename or <?= $gblIcon("checkin") ?> to check-in (update copy of file on server).<br> |
include(".info.inc"); |
851 |
<by>If you select icon left from filename, you will get detailed information |
} |
852 |
about file, as well as delete, rename and annotation options. |
?> |
853 |
</TD></TR> |
</TD></TR> |
854 |
|
|
855 |
<TR><TD></TD><TD COLSPAN=5><HR></TD></TR> |
<TR><TD></TD><TD COLSPAN=5><HR></TD></TR> |
862 |
<INPUT TYPE="HIDDEN" NAME="POSTACTION" VALUE="CREATE"> |
<INPUT TYPE="HIDDEN" NAME="POSTACTION" VALUE="CREATE"> |
863 |
<INPUT TYPE="HIDDEN" NAME="DIR" VALUE="<?= $relDir ?>"> |
<INPUT TYPE="HIDDEN" NAME="DIR" VALUE="<?= $relDir ?>"> |
864 |
<INPUT TYPE="SUBMIT" VALUE="CREATE"></NOBR> |
<INPUT TYPE="SUBMIT" VALUE="CREATE"></NOBR> |
865 |
<NOBR>OR <A HREF="<?= $self |
<NOBR>OR <A HREF="<?= $self ?>?A=U&D=<?= urlencode($relDir) ?>">UPLOAD</A> A FILE |
|
?>?A=U&D=<?= urlencode($relDir) ?>">UPLOAD</A> A FILE |
|
866 |
</NOBR> |
</NOBR> |
867 |
</TD></TR> |
</TD></TR> |
868 |
</FORM> |
</FORM> |
1083 |
|
|
1084 |
////////////////////////////////////////////////////////////////// |
////////////////////////////////////////////////////////////////// |
1085 |
|
|
1086 |
|
function urlpath($url) { |
1087 |
|
$url=urlencode(StripSlashes("$url")); |
1088 |
|
$url=str_replace("%2F","/",$url); |
1089 |
|
$url=str_replace("+","%20",$url); |
1090 |
|
return($url); |
1091 |
|
} |
1092 |
|
|
1093 |
|
////////////////////////////////////////////////////////////////// |
1094 |
|
|
1095 |
|
function safe_rename($from,$to) { |
1096 |
|
if (file_exists($from) && is_writable(dirname($to))) { |
1097 |
|
rename($from,$to); |
1098 |
|
} |
1099 |
|
} |
1100 |
|
|
1101 |
|
////////////////////////////////////////////////////////////////// |
1102 |
|
|
1103 |
// MAIN PROGRAM |
// MAIN PROGRAM |
1104 |
// ============ |
// ============ |
1105 |
// query parameters: capital letters |
// query parameters: capital letters |
1297 |
if ( $CONFIRM != "on" ) break ; |
if ( $CONFIRM != "on" ) break ; |
1298 |
|
|
1299 |
Logit("$fsDir/$FN","renamed $FN to $NEWNAME"); |
Logit("$fsDir/$FN","renamed $FN to $NEWNAME"); |
1300 |
rename("$fsDir/$FN","$fsDir/$NEWNAME"); |
safe_rename("$fsDir/$FN","$fsDir/$NEWNAME"); |
1301 |
rename("$fsDir/.log/$FN","$fsDir/.log/$NEWNAME"); |
safe_rename("$fsDir/.log/$FN","$fsDir/.log/$NEWNAME"); |
1302 |
rename("$fsDir/.note/$FN","$fsDir/.note/$NEWNAME"); |
safe_rename("$fsDir/.note/$FN","$fsDir/.note/$NEWNAME"); |
1303 |
rename("$fsDir/.lock/$FN","$fsDir/.lock/$NEWNAME"); |
safe_rename("$fsDir/.lock/$FN","$fsDir/.lock/$NEWNAME"); |
1304 |
|
for($i=0;$i<=$GLOBALS[gblNumBackups];$i++) { |
1305 |
|
safe_rename("$fsDir/.bak/$i/$FN","$fsDir/.bak/$i/$NEWNAME"); |
1306 |
|
} |
1307 |
|
|
1308 |
break ; |
break ; |
1309 |
|
|
1358 |
case "Co" : |
case "Co" : |
1359 |
// checkout |
// checkout |
1360 |
Lock("$gblFsRoot/$relDir/$F"); |
Lock("$gblFsRoot/$relDir/$F"); |
1361 |
$url="$relDir/$F"; $url=str_replace(" ","%20",$url); |
header("Content-Disposition: attachment; filename=$F" ); |
1362 |
Header("Location: $url"); |
Header("Location: ".urlpath("$relDir/$F")); |
1363 |
exit; |
exit; |
1364 |
case "Ci" : |
case "Ci" : |
1365 |
// upload && update to $relDir |
// upload && update to $relDir |
1373 |
exit ; |
exit ; |
1374 |
case "V" : |
case "V" : |
1375 |
// view |
// view |
1376 |
Log("viewed"); |
LogIt("$gblFsRoot/$relDir/$F","viewed"); |
1377 |
$url="$relDir/$F"; $url=str_replace(" ","%20",$url); |
header("Content-Disposition: attachment; filename=$F" ); |
1378 |
Header("Location: $url"); |
Header("Location: ".urlpath("$relDir/$F")); |
1379 |
exit; |
exit; |
1380 |
} |
} |
1381 |
|
|