/[docman2]/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.24 by dpavlin, Mon Jul 29 09:36:22 2002 UTC revision 1.25 by dpavlin, Mon Jul 29 10:17:53 2002 UTC
# Line 188  function DetailPage($fsRoot,$relDir,$fn) Line 188  function DetailPage($fsRoot,$relDir,$fn)
188          $title = "("._("Detail Page").")" ;          $title = "("._("Detail Page").")" ;
189          StartHTML($title, $text) ;          StartHTML($title, $text) ;
190    
191          echo "<H3>" . $relDir . "/" . $fn . "</H3>" ;          print "<H3>".$relDir.$fn."</H3>";
192    
193          if ($exists) {  // get file info          if ($exists) {  // get file info
194                  $fsize = filesize($fsPath) ;                  $fsize = filesize($fsPath) ;
195                  $fmodified = date("$gblDateFmt $gblTimeFmt", filemtime($fsPath)) ;                  $fmodified = date("$gblDateFmt $gblTimeFmt", filemtime($fsPath)) ;
# Line 632  function Navigate($fsRoot,$relDir) { Line 633  function Navigate($fsRoot,$relDir) {
633          if ( HTTP_GET_VAR("show_deleted") == 1 && ($dir = @opendir("$fsDir/.del")) ) {          if ( HTTP_GET_VAR("show_deleted") == 1 && ($dir = @opendir("$fsDir/.del")) ) {
634                  while ($item = readdir($dir)) {                  while ($item = readdir($dir)) {
635                          if ( substr($item,0,1) == "." || strstr($hide_items,",$item,") || !check_perm($relDir.$item,trperm_w) ) continue ;                          if ( substr($item,0,1) == "." || strstr($hide_items,",$item,") || !check_perm($relDir.$item,trperm_w) ) continue ;
636                          $fileList[$item] = ".del/$item" ;                                        if (is_file($fsDir.".del/$item")) {
637                          $fileDate[$item] = filemtime($fsDir.".del/$path") ;                                  $fileList[$item] = ".del/$item" ;              
638                          $fileSize[$item] = filesize($fsDir.".del/$path") ;                                  $fileDate[$item] = filemtime($fsDir.".del/$item") ;
639                          $fileNote[$item] = ReadNote($fsDir.".del/$item");                                  $fileSize[$item] = filesize($fsDir.".del/$item") ;
640                                    $fileNote[$item] = ReadNote($fsDir.".del/$item");
641                            } else {
642                                    $dirList[$item] = ".del/$item" ;                
643                                    $dirNote[$item] = ReadNote($fsDir.".del/$item");
644                            }
645                  }                  }
646                  closedir($dir) ;                  closedir($dir) ;
647          }          }
# Line 733  function Navigate($fsRoot,$relDir) { Line 739  function Navigate($fsRoot,$relDir) {
739                          $dir = $dirList[$key];                          $dir = $dirList[$key];
740    
741                          $info_url=self_args(array("A"=>"A=E", "F"=>"F=".urlencode($dir), "D"=>$D));                          $info_url=self_args(array("A"=>"A=E", "F"=>"F=".urlencode($dir), "D"=>$D));
742                            if (substr($dir,0,5) == ".del/") {
743                                    $dir = substr($dir,5,strlen($dir)-5);
744                                    $deleted = " <a href=\"$info_url#undelete\"><SPAN CLASS=deleted TITLE=\"deleted\">deleted</span></a>";
745                            } else {
746                                    $deleted = "";
747                            }
748            
749                          $dir_url=$self."?D=".urlencode(chopsl($relDir)."/".$dir);                          $dir_url=$self."?D=".urlencode(chopsl($relDir)."/".$dir);
750                          include("$html/Navigate-dirEntry.html");                          include("$html/Navigate-dirEntry.html");
751    
# Line 811  function Navigate($fsRoot,$relDir) { Line 824  function Navigate($fsRoot,$relDir) {
824                  if (substr($file,0,5) != ".del/") {                  if (substr($file,0,5) != ".del/") {
825                          $file_url_html .= $file . "</A>" . $a ;                          $file_url_html .= $file . "</A>" . $a ;
826                  } else {                  } else {
827                          $file_url_html .= substr($file,5,strlen($file)-5) . "</a> <SPAN CLASS=RED TITLE=\"deleted\"> <a href=\"$info_url#undelete\">deleted</a> </span>";                          $file_url_html .= substr($file,5,strlen($file)-5) . "</a> <a href=\"$info_url#undelete\"><SPAN CLASS=deleted TITLE=\"deleted\">deleted</span></a>";
828                  }                  }
829    
830                  $note_html="<a href=\"$info_url#note\">".$gblIcon("note")."</a>".ReadNote($path);                  $note_html="<a href=\"$info_url#note\">".$gblIcon("note")."</a>".ReadNote($path);
# Line 1536  function check_dirname($file) { Line 1549  function check_dirname($file) {
1549    
1550  function check_filename($file) {  function check_filename($file) {
1551          if (strstr($file,"..")) Error("Security violation","No parent dir <tt>..</tt> allowed in file name <tt>$file</tt>",1);          if (strstr($file,"..")) Error("Security violation","No parent dir <tt>..</tt> allowed in file name <tt>$file</tt>",1);
1552            // remove deleted directory (for undelete to work)
1553            $file = str_replace(".del/","",$file);
1554          if (strstr($file,"/")) Error("Security violation","No slashes <tt>/</tt> allowed in file name <tt>$file</tt>",1);          if (strstr($file,"/")) Error("Security violation","No slashes <tt>/</tt> allowed in file name <tt>$file</tt>",1);
1555  }  }
1556    
# Line 1824  HTTP_POST_VAR("FN"); Line 1839  HTTP_POST_VAR("FN");
1839                  break ;                  break ;
1840    
1841          case "DELETE" :            case "DELETE" :  
1842                  if ( $CONFIRM != "on" ) break ;                  if ( $CONFIRM != "on" ) break;
1843    
1844                  $tstr  = "Attempt to delete non-existing object or " ;                  if ( isset($FN) && $FN != "") {
1845                  $tstr .= "insufficient privileges: " ;                          $path=$fsDir."/".$FN;
1846    
1847                            $what = "file";
1848                            if (is_dir($path)) {
1849                                    $what = "dir";
1850                            }
1851    
1852                            if (! check_perm($relDir."/".$FN, trperm_w))
1853                                    Error("Access denied","User <tt>$gblLogin</tt> tried to erase $what <tt>$relDir/$FN</tt> without valid trustee.",1);
1854    
1855                            $tstr  = "Attempt to delete non-existing object or " ;
1856                            $tstr .= "insufficient privileges: " ;
1857    
                 if ( $FN != "") {  // delete file  
                         $path =  $fsDir . "/" . $FN ;  
                   
1858                          $dir=dirname($path);                          $dir=dirname($path);
1859                          $file=basename($path);                          $file=basename($path);
1860                          if (! file_exists("$dir/.del")) {                          if (! file_exists("$dir/.del")) {
# Line 1839  HTTP_POST_VAR("FN"); Line 1862  HTTP_POST_VAR("FN");
1862                          }                          }
1863    
1864  //                      if ( ! @unlink($path) ) {  //                      if ( ! @unlink($path) ) {
1865                          if ( ! rename($path,"$dir/.del/$file") ) {                          if ( ! @rename($path,"$dir/.del/$file") ) {
1866                                  LogIt($path,"file delete failed");                                  LogIt($path,"$what delete failed");
1867                                  Error("File delete failed", $tstr . $path) ;                                  Error("Can't delete $what",$tstr.$relDir."/".$FN) ;
1868                          } else {                          } else {
1869                                  LogIt($path,"file deleted",trperm_w);                                  LogIt($path,"$what deleted",trperm_w);
1870                                  MoveTo("$dir/.log/$file","$dir/.del/.log/");                                  MoveTo("$dir/.log/$file","$dir/.del/.log/");
1871                                  MoveTo("$dir/.note/$file","$dir/.del/.note/");                                  MoveTo("$dir/.note/$file","$dir/.del/.note/");
1872                                  MoveTo("$dir/.lock/$file","$dir/.del/.lock/");                                  MoveTo("$dir/.lock/$file","$dir/.del/.lock/");
1873                          }                          }
1874                  } else {  // delete directory                  } else {
1875                          if ( ! @rrmdir($fsDir) ) {                          Error("Rmdir failed", $tstr . $fsDir) ;
                                 Error("Rmdir failed", $tstr . $fsDir) ;  
                         } else {  
                                 LogIt($path,"dir deleted",trperm_w);  
                                 $relDir = dirname($relDir) ;  // move up  
                         }  
1876                  }                  }
1877                  break ;                  break ;
1878    

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.26