/[docman]/docman.php
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /docman.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by dpavlin, Fri Aug 4 11:23:07 2000 UTC revision 1.20 by dpavlin, Wed Sep 13 08:08:22 2000 UTC
# Line 66  TODO: Line 66  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          retrieve old versions of files (overwritten)          retrieve old versions of files (overwritten)
69            show last lock date
70            
71  */  */
72    
73  //////////////////////////////////////////////////////////////////  //////////////////////////////////////////////////////////////////
# Line 106  TODO: Line 108  TODO:
108                          if ($user[0] == $GLOBALS["PHP_AUTH_USER"]) {                          if ($user[0] == $GLOBALS["PHP_AUTH_USER"]) {
109                                  $gblUserName=$user[1];                                  $gblUserName=$user[1];
110                                  $gblPw=$user[2];                                  $gblPw=$user[2];
111                                    $gblEmail=$user[3];
112                                  continue ;                                  continue ;
113                          }                          }
114                  }                  }
# Line 118  TODO: Line 121  TODO:
121          $gblDateFmt="Y-m-d";          $gblDateFmt="Y-m-d";
122          $gblTimeFmt="H:i:s";          $gblTimeFmt="H:i:s";
123    
124  // Number of backup files to keep          // Number of backup files to keep
125          $gblNumBackups=5;          $gblNumBackups=3;
126    
127            // show red star if newer than ... days
128            $gblModDays=1;
129    
130          // choose GifIcon below unless you have the M$          // choose GifIcon below unless you have the M$
131          // WingDings font installed on your system          // WingDings font installed on your system
# Line 293  echo($fstr) ; ?></TEXTAREA> Line 299  echo($fstr) ; ?></TEXTAREA>
299    
300  <?php  <?php
301          }          }
302          if ( !$file_lock && strstr(join(" ",$gblImages),$ext) ) {            if ( !$file_lock && $ext!="" && strstr(join(' ',$gblImages),$ext) ) {  
303                  $info  = getimagesize($fsPath) ;                  $info  = getimagesize($fsPath) ;
304                  $tstr = "<IMG SRC=\"".urlpath($relPath)."\" BORDER=0 " ;                  $tstr = "<IMG SRC=\"".urlpath($relPath)."\" BORDER=0 " ;
305                  $tstr .= $info[3] . " ALT=\"" . $fn . " - " ;                  $tstr .= $info[3] . " ALT=\"" . $fn . " - " ;
# Line 640  function GifIcon($txt) { Line 646  function GifIcon($txt) {
646    
647  function Navigate($fsRoot,$relDir) {  function Navigate($fsRoot,$relDir) {
648    
649          global $gblEditable, $gblIcon ;          global $gblEditable, $gblIcon, $gblModDays ;
650    
651          $self     = $GLOBALS["PHP_SELF"] ;          $self     = $GLOBALS["PHP_SELF"] ;
652          if (isset($GLOBALS["HTTPS"]) && $GLOBALS["HTTPS"] == "on") {          if (isset($GLOBALS["HTTPS"]) && $GLOBALS["HTTPS"] == "on") {
# Line 689  function Navigate($fsRoot,$relDir) { Line 695  function Navigate($fsRoot,$relDir) {
695                  $text .= ", <a href=$self?D=".urlencode($relDir)."&show_deleted=1>undelete</a>";                  $text .= ", <a href=$self?D=".urlencode($relDir)."&show_deleted=1>undelete</a>";
696          }          }
697          $text .= " or revise files on this web site." ;          $text .= " or revise files on this web site." ;
698            $text .= "<br>Examine list of files <a href=\"$self?A=Ch1\">changed in last day</a> or <a href=\"$self?A=Ch\">all changes</a>.";
699          StartHTML("(Navigate)",$text) ;          StartHTML("(Navigate)",$text) ;
700    
701          echo "<TABLE BORDER=0 CELLPADDING=2          echo "<TABLE BORDER=0 CELLPADDING=2
# Line 755  function Navigate($fsRoot,$relDir) { Line 762  function Navigate($fsRoot,$relDir) {
762    
763                  $info_url=$self."?A=E&F=".urlencode($file)."&D=".urlencode($relDir);                  $info_url=$self."?A=E&F=".urlencode($file)."&D=".urlencode($relDir);
764    
765                  if ( ($mod + 30*86400) > time() ) {                  if ( ($mod + $gblModDays*86400) > time() ) {
766                          $a  = "<SPAN CLASS=RED TITLE=\"Newer" ;                          $a  = "<SPAN CLASS=RED TITLE=\"Newer" ;
767                          $a .= " than 30 days\"> * </SPAN>" ;                          $a .= " than $gblModDays days\"> * </SPAN>" ;
768                  }                  }
769    
770                  $file_lock=CheckLock($path);                  $file_lock=CheckLock($path);
# Line 843  function Navigate($fsRoot,$relDir) { Line 850  function Navigate($fsRoot,$relDir) {
850  <TR><TD></TD><TD COLSPAN=5><HR></TD></TR>  <TR><TD></TD><TD COLSPAN=5><HR></TD></TR>
851    
852  <TR><TD></TD><TD COLSPAN=5>  <TR><TD></TD><TD COLSPAN=5>
853  To just view file without editing, select it's filename (<b>don't edit files which are opened this way!</b>)<br>  <?
854  To <b>edit</b> file select <?= $gblIcon("checkout") ?> to check-out  if (file_exists(".info.inc")) {
855  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");
856  <by>If you select icon left from filename, you will get detailed information  }
857  about file, as well as delete, rename and annotation options.  ?>
858  </TD></TR>  </TD></TR>
859    
860  <TR><TD></TD><TD COLSPAN=5><HR></TD></TR>  <TR><TD></TD><TD COLSPAN=5><HR></TD></TR>
# Line 1098  function safe_rename($from,$to) { Line 1105  function safe_rename($from,$to) {
1105    
1106  //////////////////////////////////////////////////////////////////  //////////////////////////////////////////////////////////////////
1107    
1108    // recursivly delete directory
1109    
1110    function rrmdir($dir) {
1111            $handle=opendir($dir);
1112            while ($file = readdir($handle)) {
1113                    if ($file != "." && $file != "..") {
1114                            if (is_dir("$dir/$file"))
1115                                    rrmdir("$dir/$file");
1116                            else
1117                                    if (! @unlink("$dir/$file")) return(0);
1118                    }
1119            }
1120            closedir($handle);
1121            return @rmdir($dir);
1122    }
1123    
1124    //////////////////////////////////////////////////////////////////
1125    
1126    function ChangeLog($target,$msg) {
1127    
1128            global $gblFsRoot;
1129            $log=fopen("$gblFsRoot/.changelog","a+");
1130            if (substr($target,0,strlen($gblFsRoot)) == $gblFsRoot)
1131                    $target=substr($target,strlen($gblFsRoot),strlen($target)-strlen($gblFsRoot));
1132            fputs($log,time()."\t$target\t$GLOBALS[gblUserName]\t$msg\n");
1133            fclose($log);
1134    
1135    }
1136    
1137    function DisplayChangeLog($day) {
1138    
1139            global $gblFsRoot;
1140            if (!file_exists("$gblFsRoot/.changelog")) return;
1141            $log=fopen("$gblFsRoot/.changelog","r");
1142            $logarr = array();
1143            while($line = fgetcsv($log,255,"\t")) {
1144                    if ($day!=1 || $day==1 && ($line[0]-time() < 24*60)) {
1145                            array_unshift($logarr,array($line[0],$line[1],$line[2],$line[3]));
1146                    }
1147            }
1148            fclose($log);
1149            $cl1=" class=lst"; $cl2="";
1150            print "<table border=0 width=100%>\n";
1151            while ($e = array_shift($logarr)) {
1152                    $cl=$cl1; $cl1=$cl2; $cl2=$cl;
1153                    $date = date("$GLOBALS[gblDateFmt]", $e[0]);
1154                    $time = date("$GLOBALS[gblTimeFmt]", $e[0]);
1155                    $dir = dirname($e[1]);
1156                    $file = basename($e[1]);
1157                    print "<tr><td$cl>$date</td><td$cl>$time</td><td$cl><a href=\"$GLOBALS[PHP_SELF]?D=".urlencode($dir)."\">$dir</a>/$file</td><td$cl>$e[2]</td><td$cl>$e[3]</td></tr>\n";
1158            }
1159            print "</table>";
1160    }
1161    
1162    //////////////////////////////////////////////////////////////////
1163    
1164  // MAIN PROGRAM  // MAIN PROGRAM
1165  // ============  // ============
1166  // query parameters: capital letters  // query parameters: capital letters
# Line 1191  function safe_rename($from,$to) { Line 1254  function safe_rename($from,$to) {
1254                  if (isset($FILENAME)) {                  if (isset($FILENAME)) {
1255                          Unlock($target);                          Unlock($target);
1256                  }                  }
1257                    ChangeLog($target,"updated");
1258                  break ;                  break ;
1259    
1260          case "SAVE" :          case "SAVE" :
1261                  $path = $gblFsRoot . escapeshellcmd($RELPATH) ;                  $path = $gblFsRoot . $RELPATH ;
1262                  $writable = is_writeable($path) ;                  $writable = is_writeable($path) ;
1263                  $legaldir = is_writeable(dirname($path)) ;                  $legaldir = is_writeable(dirname($path)) ;
1264                  $exists   = (file_exists($path)) ? 1 : 0 ;                  $exists   = (file_exists($path)) ? 1 : 0 ;
# Line 1206  function safe_rename($from,$to) { Line 1270  function safe_rename($from,$to) {
1270                  fclose($fh) ;                  fclose($fh) ;
1271                  clearstatcache() ;                  clearstatcache() ;
1272                  Logit($path,"saved changes");                  Logit($path,"saved changes");
1273                    ChangeLog($path,"saved changes");
1274                  break ;                  break ;
1275    
1276          case "CREATE" :          case "CREATE" :
# Line 1236  function safe_rename($from,$to) { Line 1301  function safe_rename($from,$to) {
1301                          }                          }
1302                          $tstr = "$PHP_SELF?A=E&D=".urlencode($relDir)."&F=".urlencode($FN) ;                          $tstr = "$PHP_SELF?A=E&D=".urlencode($relDir)."&F=".urlencode($FN) ;
1303                          header("Location: " . $tstr) ;                          header("Location: " . $tstr) ;
1304                            ChangeLog($target,"created");
1305                          exit ;                          exit ;
1306                  }                  }
1307                  break ;                  break ;
# Line 1268  function safe_rename($from,$to) { Line 1334  function safe_rename($from,$to) {
1334                          }                          }
1335                  }                  }
1336                  else {  // delete directory                  else {  // delete directory
1337                    if ( ! @rmdir($fsDir) ) {                    if ( ! @rrmdir($fsDir) ) {
1338                      Error("Rmdir failed", $tstr . $fsDir) ;                      Error("Rmdir failed", $tstr . $fsDir) ;
1339                    }                    }
1340                    else {                    else {
# Line 1299  function safe_rename($from,$to) { Line 1365  function safe_rename($from,$to) {
1365                  safe_rename("$fsDir/.log/$FN","$fsDir/.log/$NEWNAME");                  safe_rename("$fsDir/.log/$FN","$fsDir/.log/$NEWNAME");
1366                  safe_rename("$fsDir/.note/$FN","$fsDir/.note/$NEWNAME");                  safe_rename("$fsDir/.note/$FN","$fsDir/.note/$NEWNAME");
1367                  safe_rename("$fsDir/.lock/$FN","$fsDir/.lock/$NEWNAME");                  safe_rename("$fsDir/.lock/$FN","$fsDir/.lock/$NEWNAME");
1368                    for($i=0;$i<=$GLOBALS[gblNumBackups];$i++) {
1369                            safe_rename("$fsDir/.bak/$i/$FN","$fsDir/.bak/$i/$NEWNAME");
1370                    }
1371    
1372                  break ;                  break ;
1373    
# Line 1353  function safe_rename($from,$to) { Line 1422  function safe_rename($from,$to) {
1422          case "Co" :          case "Co" :
1423                  // checkout                  // checkout
1424                  Lock("$gblFsRoot/$relDir/$F");                  Lock("$gblFsRoot/$relDir/$F");
1425                    header("Content-Disposition: attachment; filename=$F" );
1426                  Header("Location: ".urlpath("$relDir/$F"));                  Header("Location: ".urlpath("$relDir/$F"));
1427                  exit;                  exit;
1428          case "Ci" :          case "Ci" :
# Line 1368  function safe_rename($from,$to) { Line 1438  function safe_rename($from,$to) {
1438          case "V" :          case "V" :
1439                  // view                  // view
1440                  LogIt("$gblFsRoot/$relDir/$F","viewed");                  LogIt("$gblFsRoot/$relDir/$F","viewed");
1441                    header("Content-Disposition: attachment; filename=$F" );
1442                  Header("Location: ".urlpath("$relDir/$F"));                  Header("Location: ".urlpath("$relDir/$F"));
1443                  exit;                  exit;
1444            case "Ch" :
1445                    StartHTML("(File changes)","All changes chronologicaly...");
1446                    DisplayChangeLog(0);    // all
1447                    EndHTML() ;
1448                    exit;
1449            case "Ch1" :
1450                    StartHTML("(File changes)","Changes to files in last day...");
1451                    DisplayChangeLog(1);
1452                    EndHTML() ;
1453                    exit;
1454          }          }
1455    
1456          // default: display directory $relDir          // default: display directory $relDir

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.26