--- loncom/interface/loncommon.pm 2003/12/29 17:11:53 1.166
+++ loncom/interface/loncommon.pm 2004/01/02 19:23:47 1.169
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.166 2003/12/29 17:11:53 www Exp $
+# $Id: loncommon.pm,v 1.169 2004/01/02 19:23:47 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -726,11 +726,40 @@ sub get_domains {
my @domains;
my %seen;
foreach (sort values(%Apache::lonnet::hostdom)) {
- push (@domains,$_) unless $seen{$_}++;
+ push (@domains,$_) unless $seen{$_}++;
}
return @domains;
}
+# ------------------------------------------
+
+sub domain_select {
+ my ($name,$value,$multiple)=@_;
+ my %domains=map {
+ $_ => $_.' '.$Apache::lonnet::domaindescription{$_}
+ } &get_domains;
+ if ($multiple) {
+ $domains{''}=&mt('Any domain');
+ return &multiple_select_form($name,$value,%domains);
+ } else {
+ return &select_form($name,$value,%domains);
+ }
+}
+
+sub multiple_select_form {
+ my ($name,$value,%hash)=@_;
+ my %selected = map { $_ => 1 } ref($value)?@{$value}:($value);
+ my $output='';
+ my $size =(scalar keys %hash<4?scalar keys %hash:4);
+ $output.="\n\n";
+ return $output;
+}
+
#-------------------------------------------
=pod
@@ -762,30 +791,43 @@ sub select_form {
return $selectform;
}
+sub gradeleveldescription {
+ my $gradelevel=shift;
+ my %gradelevels=(0 => 'Not specified',
+ 1 => 'Grade 1',
+ 2 => 'Grade 2',
+ 3 => 'Grade 3',
+ 4 => 'Grade 4',
+ 5 => 'Grade 5',
+ 6 => 'Grade 6',
+ 7 => 'Grade 7',
+ 8 => 'Grade 8',
+ 9 => 'Grade 9',
+ 10 => 'Grade 10',
+ 11 => 'Grade 11',
+ 12 => 'Grade 12',
+ 13 => 'Grade 13',
+ 14 => '100 Level',
+ 15 => '200 Level',
+ 16 => '300 Level',
+ 17 => '400 Level',
+ 18 => 'Graduate Level');
+ return &mt($gradelevels{$gradelevel});
+}
+
sub select_level_form {
my ($deflevel,$name)=@_;
unless ($deflevel) { $deflevel=0; }
- return &select_form($deflevel,$name,(
- 0 => 'Not specified',
- 1 => 'Grade 1',
- 2 => 'Grade 2',
- 3 => 'Grade 3',
- 4 => 'Grade 4',
- 5 => 'Grade 5',
- 6 => 'Grade 6',
- 7 => 'Grade 7',
- 8 => 'Grade 8',
- 9 => 'Grade 9',
- 10 => 'Grade 10',
- 11 => 'Grade 11',
- 12 => 'Grade 12',
- 13 => 'Grade 13',
- 14 => '100 Level',
- 15 => '200 Level',
- 16 => '300 Level',
- 17 => '400 Level',
- 18 => 'Graduate Level'));
+ my $selectform = "";
+ return $selectform;
}
+
#-------------------------------------------
=pod
@@ -1628,6 +1670,14 @@ sub fileembstyle {
return $fe{lc(shift(@_))};
}
+
+sub filecategoryselect {
+ my ($name,$value)=@_;
+ return &select_form($name,$value,
+ '' => &mt('Any category'),
+ map { $_,$_ } sort(keys(%category_extensions)));
+}
+
=pod
=item * filedescription()
@@ -3271,14 +3321,18 @@ sub propath {
sub icon {
my ($file)=@_;
- my @file_ext = split(/\./,$file);
- my $curfext = $file_ext[-1];
- my $iconname="unknown.gif";
+ my $curfext = (split(/\./,$file))[-1];
+ my $iconname=$Apache::lonnet::perlvar{'lonIconsURL'}.'/unknown.gif';
my $embstyle = &Apache::loncommon::fileembstyle($curfext);
- # The unless conditional that follows is a bit of overkill
- $iconname = $curfext.".gif" unless
- (!defined($embstyle) || $embstyle eq 'unk' || $embstyle eq 'hdn');
- return $Apache::lonnet::perlvar{'lonIconsURL'}."/$iconname";
+ if (!(!defined($embstyle) || $embstyle eq 'unk' || $embstyle eq 'hdn')) {
+ if (-e $Apache::lonnet::perlvar{'lonDocRoot'}.'/'.
+ $Apache::lonnet::perlvar{'lonIconsURL'}.'/'.
+ $curfext.".gif") {
+ $iconname=$Apache::lonnet::perlvar{'lonIconsURL'}.'/'.
+ $curfext.".gif";
+ }
+ }
+ return $iconname;
}
=pod