[LON-CAPA-cvs] cvs: loncom /interface portfolio.pm
raeburn
raeburn@source.lon-capa.org
Sat, 03 Jan 2009 19:34:21 -0000
raeburn Sat Jan 3 19:34:21 2009 EDT
Modified files:
/loncom/interface portfolio.pm
Log:
Bug 5861.
- &display_usage() provides information about quota usage (in MB).
- Link to item: "Portfolio About" moved.
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.205 loncom/interface/portfolio.pm:1.206
--- loncom/interface/portfolio.pm:1.205 Sat Jan 3 19:28:53 2009
+++ loncom/interface/portfolio.pm Sat Jan 3 19:34:21 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network
# portfolio browser
#
-# $Id: portfolio.pm,v 1.205 2009/01/03 19:28:53 raeburn Exp $
+# $Id: portfolio.pm,v 1.206 2009/01/03 19:34:21 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -80,7 +80,7 @@
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) {
@@ -98,10 +98,8 @@
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,7 @@
END
}
- $r->print('<div>');
+ $r->print('<div>'.$help_portfolio);
# Upload File
$r->print('<div class="LC_left_float">'
.'<form method="post" enctype="multipart/form-data" action="'.$escuri.'">'
@@ -185,6 +183,48 @@
$r->print("</form>");
}
+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 = '
+ <div id="meter1" align="left" '.$cssclass.'>'.&mt('Currently using [_1] of the [_2] available.',$usage.' MB <span style="font-weight:bold;">('.$percent.'%)</span>',$quota.' MB')."\n".
+' <div id="meter2" style="display:block; margin-top:5px; margin-bottom:5px; margin-left:0px; margin-right:0px; width:400px; border:1px solid #000000; height:10px;">'."\n".
+' <div id="meter3" style="display:block; background-color:'.$color.'; width:'.$prog_width.'%; height:10px; color:#000000; margin:0px;"></div>'."\n".
+' </div>'."\n".
+' </div>';
+ return $disk_meter;
+}
+
sub display_directory_line {
my ($r,$select_mode, $filename, $mtime, $size, $css_class,
$line, $access_controls, $curr_access, $now, $version_flag,
@@ -2404,7 +2444,7 @@
# need to know if directory is empty so it can be removed if desired
my $is_empty=(@dir_list == 2);
&display_common($r,$url,$current_path,$is_empty,\@dir_list,
- $can_upload);
+ $can_upload,$group);
&display_directory($r,$url,$current_path,$is_empty,\@dir_list,$group,
$can_upload,$can_modify,$can_delete,$can_setacl);
$r->print(&Apache::loncommon::end_page());