Diff for /loncom/publisher/lonpubdir.pm between versions 1.152 and 1.156

version 1.152, 2014/04/21 21:26:41 version 1.156, 2014/06/23 03:22:39
Line 40  use Apache::lonlocal; Line 40  use Apache::lonlocal;
 use Apache::lonmsg;  use Apache::lonmsg;
 use Apache::lonmenu;  use Apache::lonmenu;
 use Apache::lonnet;  use Apache::lonnet;
 use LONCAPA;  use LONCAPA qw(:DEFAULT :match);
   
 sub handler {  sub handler {
   
Line 48  sub handler { Line 48  sub handler {
   
     # Validate access to the construction space and get username:domain.      # Validate access to the construction space and get username:domain.
   
     my $uname;      my ($uname,$udom)=&Apache::lonnet::constructaccess($r->uri); 
     my $udom;  
   
     ($uname,$udom)=&Apache::lonnet::constructaccess($r->uri);   
     unless (($uname) && ($udom)) {      unless (($uname) && ($udom)) {
         return HTTP_NOT_ACCEPTABLE;          return HTTP_NOT_ACCEPTABLE;
     }      }
Line 63  sub handler { Line 60  sub handler {
     my $thisdisfn=$fn;      my $thisdisfn=$fn;
   
     my $docroot=$r->dir_config('lonDocRoot');     # Apache  londocument root.      my $docroot=$r->dir_config('lonDocRoot');     # Apache  londocument root.
       if ($thisdisfn eq "$docroot/priv/$udom") {
           if ((-d "/home/$uname/public_html/") && (!-e "$docroot/priv/$udom/$uname")) {
               my ($version) = ($r->dir_config('lonVersion') =~ /^\'?(\d+\.\d+)\./);
               &Apache::loncommon::content_type($r,'text/html');
               $r->send_http_header;
   
               &Apache::lonhtmlcommon::clear_breadcrumbs();
               $r->print(&Apache::loncommon::start_page('Authoring Space').
                         '<div class="LC_error">'.
                         '<br /><p>'.
                         &mt('Your Authoring Space is currently in the location used by LON-CAPA version 2.10 and older, but your domain is using a newer LON-CAPA version ([_1]).',$version).'</p>'.
                         '<p>'.
                         &mt('Please ask your Domain Coordinator to move your Authoring Space to the new location.').
                         '</p>'.
                         '</div>'.
                         &Apache::loncommon::end_page());
               return OK;
           }
       }
     $thisdisfn=~s/^\Q$docroot\E\/priv//;      $thisdisfn=~s/^\Q$docroot\E\/priv//;
           
     my $resdir=$docroot.'/res'.$thisdisfn; # Resource directory      my $resdir=$docroot.'/res'.$thisdisfn; # Resource directory
Line 90  sub handler { Line 106  sub handler {
     my $sortby = $env{'form.sortby'};      my $sortby = $env{'form.sortby'};
     my $sortorder = $env{'form.sortorder'};      my $sortorder = $env{'form.sortorder'};
   
       opendir(DIR,$fn);
       my @files = readdir(DIR);
       closedir(DIR);
   
       if ((@files == 0) && ($thisdisfn =~ m{^/$match_domain/$match_username})) {
           $r->print('<p class="LC_info">'.&mt('This Authoring Space is currently empty.').'</p>');
           $r->print(&Apache::loncommon::end_page());
           return OK;
       }
   
     # Start off the directory table.      # Start off the directory table.
     $r->print(&Apache::loncommon::start_data_table()      $r->print(&Apache::loncommon::start_data_table()
         .&Apache::loncommon::start_data_table_header_row()          .&Apache::loncommon::start_data_table_header_row()
Line 122  sub handler { Line 148  sub handler {
     );      );
   
     my $dirptr=16384; # Mask indicating a directory in stat.cmode.      my $dirptr=16384; # Mask indicating a directory in stat.cmode.
   
     opendir(DIR,$fn);  
     my $filehash = {};      my $filehash = {};
     my @files= readdir(DIR);  
     foreach my $filename (@files) {      foreach my $filename (@files) {
         # Skip .DS_Store and hidden files          # Skip .DS_Store and hidden files
         my ($extension) = ($filename=~/\.(\w+)$/);          my ($extension) = ($filename=~/\.(\w+)$/);
         next if (($filename eq '.DS_Store')           next if (($filename eq '.DS_Store')
                 || &Apache::loncommon::fileembstyle($extension) eq 'hdn');                  || (&Apache::loncommon::fileembstyle($extension) eq 'hdn')
                   || ($filename =~ /^\._/));
   
         my ($cmode,$csize,$cmtime)=(stat($fn.'/'.$filename))[2,7,9];          my ($cmode,$csize,$cmtime)=(stat($fn.'/'.$filename))[2,7,9];
         my $linkfilename = &HTML::Entities::encode('/priv'.$thisdisfn.'/'.$filename,'<>&"');          my $linkfilename = &HTML::Entities::encode('/priv'.$thisdisfn.'/'.$filename,'<>&"');
Line 224  sub handler { Line 248  sub handler {
         }          }
     }      }
   
     closedir(DIR);  
   
     $r->print( &Apache::loncommon::end_data_table()      $r->print( &Apache::loncommon::end_data_table()
         .&Apache::loncommon::end_page() );          .&Apache::loncommon::end_page() );
   
     return OK;        return OK;
 }  }
   
   
Line 262  sub startpage { Line 284  sub startpage {
     # in start_page->bodytag->innerregister      # in start_page->bodytag->innerregister
   
     $env{'request.noversionuri'}=$formaction;      $env{'request.noversionuri'}=$formaction;
     $r->print(&Apache::loncommon::start_page('Authoring Space',undef));      $r->print(&Apache::loncommon::start_page('Authoring Space'));
   
     my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'};      my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'};
     my $current_disk_usage = &Apache::lonnet::diskusage($udom,$uname,"$londocroot/priv/$udom/$uname");      my $current_disk_usage = &Apache::lonnet::diskusage($udom,$uname,"$londocroot/priv/$udom/$uname");
     my $disk_quota = &Apache::loncommon::get_user_quota($uname,$udom,'author'); #expressed in Mb      my $disk_quota = &Apache::loncommon::get_user_quota($uname,$udom,'author'); #expressed in MB
     $disk_quota = 1000 * $disk_quota; # convert from Mb to kb      $disk_quota = 1000 * $disk_quota; # convert from MB to kB
   
     $r->print(&Apache::loncommon::head_subbox(      $r->print(&Apache::loncommon::head_subbox(
                      '<div style="float:right;padding-top:0;margin-top;0">'                       '<div style="float:right;padding-top:0;margin-top;0">'
Line 630  sub putdirectory { Line 652  sub putdirectory {
           '<td></td>'.            '<td></td>'.
   "</tr>\n");    "</tr>\n");
     }      }
     return OK;      return;
 }  }
   
 sub getTitle {  sub getTitle {
Line 776  sub putresource { Line 798  sub putresource {
               '<td class="LC_browser_file_'.$pubstatus.'">&nbsp;&nbsp;</td>'. # Display publication status                '<td class="LC_browser_file_'.$pubstatus.'">&nbsp;&nbsp;</td>'. # Display publication status
               '<td>'.$status.'</td>'.                '<td>'.$status.'</td>'.
       '<td>'.&Apache::lonlocal::locallocaltime($cmtime).'</td>'.        '<td>'.&Apache::lonlocal::locallocaltime($cmtime).'</td>'.
       '<td>'.sprintf "%.1f", $size.'</td>'.        '<td>'.sprintf("%.1f",$size).'</td>'.
       &Apache::loncommon::end_data_table_row()        &Apache::loncommon::end_data_table_row()
     );      );
     return OK;      return;
 }  }
   
 sub create_pubselect {  sub create_pubselect {
Line 832  sub check_for_versions { Line 854  sub check_for_versions {
             $versions ++;                      $versions ++;        
         }          }
     }      }
       closedir(DIR);
     return $versions;      return $versions;
 }  }
   

Removed from v.1.152  
changed lines
  Added in v.1.156


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>