--- loncom/interface/loncommon.pm 2004/04/21 20:46:58 1.189
+++ loncom/interface/loncommon.pm 2004/07/03 18:49:42 1.193
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.189 2004/04/21 20:46:58 matthew Exp $
+# $Id: loncommon.pm,v 1.193 2004/07/03 18:49:42 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -74,6 +74,7 @@ my $readit;
my %language;
my %supported_language;
my %cprtag;
+my %scprtag;
my %fe; my %fd;
my %category_extensions;
@@ -131,6 +132,20 @@ BEGIN {
close($fh);
}
}
+# ------------------------------------------------------------------ source copyrights
+ {
+ my $sourcecopyrightfile = $Apache::lonnet::perlvar{'lonIncludes'}.
+ '/source_copyright.tab';
+ if ( open (my $fh,"<$sourcecopyrightfile") ) {
+ while (<$fh>) {
+ next if /^\#/;
+ chomp;
+ my ($key,$val)=(split(/\s+/,$_,2));
+ $scprtag{$key}=$val;
+ }
+ close($fh);
+ }
+ }
# -------------------------------------------------------------- domain designs
@@ -622,6 +637,73 @@ sub helpLatexCheatsheet {
.'';
}
+sub help_open_menu {
+ my ($color,$topic,$component_help,$function,$faq,$bug,$stayOnPage,$width,$height,$text) = @_;
+ $text = "" if (not defined $text);
+ $stayOnPage = 0 if (not defined $stayOnPage);
+ if ($ENV{'browser.interface'} eq 'textual' ||
+ $ENV{'environment.remote'} eq 'off' ) {
+ $stayOnPage=1;
+ }
+ $width = 620 if (not defined $width);
+ $height = 600 if (not defined $height);
+ my $link='';
+ my $title = &mt('Choose your help');
+ my $origurl = $ENV{'REQUEST_URI'};
+ my $timestamp = time;
+ my %formhash = ();
+ if ($ENV{'request.course.fn'}) {
+ open(FILE,">$ENV{'request.course.fn'}.formdata");
+ &get_unprocessed_cgi($ENV{'QUERY_STRING'},undef);
+ foreach (keys %ENV) {
+ if ($_ =~ m/^form\.(.+)$/) {
+ if (ref($ENV{$_}) eq 'ARRAY') {
+ my $valstr = join(",",@{$ENV{$_}});
+ print FILE "$1 = $valstr\n";
+ } else {
+ print FILE "$1 = $ENV{$_}\n";
+ }
+ }
+ }
+ close(FILE);
+ }
+ foreach (\$color,\$function,\$topic,\$component_help,\$faq,\$bug,\$origurl) {
+ $$_ = &Apache::lonnet::escape($$_);
+ }
+
+ if (!$stayOnPage)
+ {
+ $link = "javascript:helpMenu('open')";
+ }
+ else
+ {
+ $link = "javascript:helpMenu('display')";
+ }
+ my $banner_link = "/adm/helpmenu?page=banner&color=$color&function=$function&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp";
+ my $details_link = "/adm/helpmenu?page=body&color=$color&function=$function&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp";
+ my $template .= <<"ENDTEMPLATE";
+
+
+ENDTEMPLATE
+ return $template;
+}
+
sub help_open_bug {
my ($topic, $text, $stayOnPage, $width, $height) = @_;
unless ($ENV{'user.adv'}) { return ''; }
@@ -907,21 +989,27 @@ sub domain_select {
} &get_domains;
if ($multiple) {
$domains{''}=&mt('Any domain');
- return &multiple_select_form($name,$value,%domains);
+ return &multiple_select_form($name,$value,4,%domains);
} else {
return &select_form($name,$value,%domains);
}
}
sub multiple_select_form {
- my ($name,$value,%hash)=@_;
+ my ($name,$value,$size,%hash)=@_;
my %selected = map { $_ => 1 } ref($value)?@{$value}:($value);
my $output='';
- my $size =(scalar keys %hash<4?scalar keys %hash:4);
+ if (! defined($size)) {
+ $size = 4;
+ if (scalar(keys(%hash))<4) {
+ $size = scalar(keys(%hash));
+ }
+ }
$output.="\n\n";
return $output;
@@ -1651,6 +1739,7 @@ sub plainname {
$names{'lastname'}.' '.$names{'generation'};
$name=~s/\s+$//;
$name=~s/\s+/ /g;
+ if ($name !~ /\S/) { $name=$uname.'@'.$udom; }
return $name;
}
@@ -1804,6 +1893,27 @@ returns description of a specified copyr
sub copyrightdescription {
return &mt($cprtag{shift(@_)});
}
+=item * source_copyrightids()
+
+returns list of all source copyrights
+
+=cut
+
+sub source_copyrightids {
+ return sort(keys(%scprtag));
+}
+
+=pod
+
+=item * source_copyrightdescription()
+
+returns description of a specified source copyright id
+
+=cut
+
+sub source_copyrightdescription {
+ return &mt($scprtag{shift(@_)});
+}
=pod