/[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.26 by dpavlin, Mon Jul 29 10:29:04 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 1211  function Download($path,$force=0) { Line 1224  function Download($path,$force=0) {
1224    
1225          $ext_arr = explode(".",$file);          $ext_arr = explode(".",$file);
1226          $ext = array_pop($ext_arr);          $ext = array_pop($ext_arr);
1227          if ($encoding_ext[$ext]) {          if (isset($encoding_ext[$ext])) {
1228                  $encoding = $encoding_ext[$ext];                  $encoding = $encoding_ext[$ext];
1229                  $ext = array_pop($ext_arr);                  $ext = array_pop($ext_arr);
1230          }          }
# Line 1223  function Download($path,$force=0) { Line 1236  function Download($path,$force=0) {
1236          }          }
1237    
1238          // IE5.5 just downloads index.php if we don't do this          // IE5.5 just downloads index.php if we don't do this
1239          if(preg_match("/MSIE 5.5/", $HTTP_SERVER_VARS[HTTP_USER_AGENT])) {          if(preg_match("/MSIE 5.5/", $HTTP_SERVER_VARS["HTTP_USER_AGENT"])) {
1240                  header("Content-Disposition: filename=$file");                  header("Content-Disposition: filename=$file");
1241          } else {          } else {
1242                  header("Content-Disposition: attachment; filename=$file");                  header("Content-Disposition: attachment; filename=$file");
# Line 1450  $debug.=" O($one_level) "; Line 1463  $debug.=" O($one_level) ";
1463    
1464                  if (isset($tr)) {                  if (isset($tr)) {
1465                          // first apply trustee for all                          // first apply trustee for all
1466                          if (isset($tr['*'])) {                          if (isset($tr['*']) && $user!="anonymous") {
1467                                  $perm = unroll_perm($user,$tr['*'],$perm, $one_level);                                  $perm = unroll_perm($user,$tr['*'],$perm, $one_level);
1468                                  unset($tr['*']);                                  unset($tr['*']);
1469                          }                          }
# 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.26

  ViewVC Help
Powered by ViewVC 1.1.26