--- loncom/interface/portfolio.pm 2008/11/17 17:04:20 1.196 +++ loncom/interface/portfolio.pm 2009/01/03 19:39:37 1.196.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network # portfolio browser # -# $Id: portfolio.pm,v 1.196 2008/11/17 17:04:20 schafran Exp $ +# $Id: portfolio.pm,v 1.196.2.2 2009/01/03 19:39:37 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -80,7 +80,7 @@ sub make_anchor { my $dirptr=16384; sub display_common { - my ($r,$url,$current_path,$is_empty,$dir_list,$can_upload)=@_; + my ($r,$url,$current_path,$is_empty,$dir_list,$can_upload,$group)=@_; my $namespace = &get_namespace(); my $port_path = &get_port_path(); if ($can_upload) { @@ -99,10 +99,8 @@ sub display_common { my $escuri = &HTML::Entities::encode($r->uri,'&<>"'); my $help_fileupload = &Apache::loncommon::help_open_topic('Portfolio AddFiles'); my $help_createdir = &Apache::loncommon::help_open_topic('Portfolio CreateDirectory'); - - # FIXME: This line should be deleted once Portfolio uses breadcrumbs - $r->print(&Apache::loncommon::help_open_topic('Portfolio About', &mt('Help on the portfolio'))); - + my $help_portfolio = &Apache::loncommon::help_open_topic('Portfolio About', &mt('Help on the portfolio')); + $r->print(&display_usage($group)); my $parse_check; if (!&suppress_embed_prompt()) { $parse_check = <<"END"; @@ -114,7 +112,8 @@ sub display_common { END } - $r->print(<<"TABLE"); + $r->print(<<"TABLE"); +$help_portfolio '); $r->print(''); if ($select_mode ne 'true') { - $r->print(''.$role_selects.''); + $r->print(''.$role_selects.''); } $r->print('
@@ -140,7 +139,7 @@ $parse_check
- $groupitem + $groupitem @@ -185,6 +184,48 @@ TABLE $r->print("
"); } +sub display_usage { + my ($group) = @_; + my $disk_quota = &get_quota($group); + my $getpropath = 1; + my $portfolio_root = &get_portfolio_root(); + my ($uname,$udom) = &get_name_dom($group); + my $current_disk_usage = + &Apache::lonnet::diskusage($udom,$uname,$portfolio_root,$getpropath); + my $usage = $current_disk_usage/1000; + my $quota = $disk_quota/1000; + my $percent; + if ($disk_quota == 0) { + $percent = 100.0; + } else { + $percent = 100*($current_disk_usage/$disk_quota); + } + $usage = sprintf("%.2f",$usage); + $quota = sprintf("%.2f",$quota); + $percent = sprintf("%.0f",$percent); + my ($color,$cssclass); + if ($percent <= 60) { + $color = '#00A000'; + } elsif ($percent > 60 && $percent < 90) { + $color = '#FFD300'; + $cssclass = 'class="LC_warning"'; + } elsif( $percent >= 90) { + $color = '#FF0000'; + $cssclass = 'class="LC_error"'; + } + my $prog_width = $percent; + if ($prog_width > 100) { + $prog_width = 100; + } + my $disk_meter = ' +
'.&mt('Currently using [_1] of the [_2] available.',$usage.' MB ('.$percent.'%)',$quota.' MB')."\n". +'
'."\n". +'
'."\n". +'
'."\n". +'

'; + return $disk_meter; +} + sub display_directory_line { my ($r,$select_mode, $filename, $mtime, $size, $css_class, $line, $access_controls, $curr_access, $now, $version_flag, @@ -227,7 +268,7 @@ sub display_directory_line { $r->print('
'.$size.''.&Apache::lonlocal::locallocaltime($mtime).''. + $r->print(''. &mt($curr_access).'   '); my %anchor_fields = ( 'access' => $filename, @@ -668,7 +709,7 @@ sub rename { } else { &open_form($r,$url); $r->print('

'.&mt('Rename [_1] to [_2]?', &display_file() - , '').'

'); + , '').'

'); &close_form($r,$url); } } @@ -775,13 +816,13 @@ sub display_access { $info .= '
  • '.&mt('Passphrase-protected files do not require log-in, but will require the viewer to enter the passphrase you set.'); $info .= '
  • '.&explain_conditionals(); $info .= '
  • '. - &mt('A listing of files viewable without log-in is available at: ')."http://$ENV{'SERVER_NAME'}/adm/$udom/$uname/aboutme/portfolio.
    "; + &mt('A listing of files viewable without log-in is available at: ')."".&Apache::lonnet::absolute_url($ENV{'SERVER_NAME'})."/adm/$udom/$uname/aboutme/portfolio.
    "; if ($group eq '') { $info .= &mt("For logged in users a 'Display file listing' link will also appear (when there are viewable files) on your personal information page:"); } else { $info .= &mt("For logged in users a 'Display file listing' link will also appear (when there are viewable files) on the course information page:"); } - $info .= "
    http://$ENV{'SERVER_NAME'}/adm/$udom/$uname/aboutme
    "; + $info .= "
    ".&Apache::lonnet::absolute_url($ENV{'SERVER_NAME'})."/adm/$udom/$uname/aboutme
    "; if ($group ne '') { $info .= &mt("Users with privileges to edit course contents may add a course information page to a course using the 'Course Info' button in DOCS").'
    '; } @@ -1474,7 +1515,7 @@ sub course_row { } $max_id ++; my $role_selects = &role_selectors($num,$role_id,$type,$content,'display'); - $r->print('


    '); } @@ -1549,7 +1590,7 @@ sub additional_item { sub actionbox { my ($status,$num,$scope) = @_; - my $output = '
    '. '