--- loncom/interface/loncommon.pm 2009/08/14 07:49:01 1.692.4.7
+++ loncom/interface/loncommon.pm 2009/03/04 12:43:31 1.762
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.692.4.7 2009/08/14 07:49:01 raeburn Exp $
+# $Id: loncommon.pm,v 1.762 2009/03/04 12:43:31 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -271,7 +271,7 @@ BEGIN {
}
}
&Apache::lonnet::logthis(
- "INFO: Read file types");
+ "INFO: Read file types");
$readit=1;
} # end of unless($readit)
@@ -406,10 +406,9 @@ sub studentbrowser_javascript {
|| ($env{'request.role'}=~/^(au|dc|su)/)
) { return ''; }
return (<<'ENDSTDBRW');
-
ENDSTDBRW
}
sub selectstudent_link {
- my ($form,$unameele,$udomele,$courseadvonly)=@_;
- my $callargs = "'".$form."','".$unameele."','".$udomele."'";
+ my ($form,$unameele,$udomele)=@_;
if ($env{'request.course.id'}) {
if (!&Apache::lonnet::allowed('srm',$env{'request.course.id'})
&& !&Apache::lonnet::allowed('srm',$env{'request.course.id'}.
'/'.$env{'request.course.sec'})) {
return '';
}
- if ($courseadvonly) {
- $callargs .= ",'',1,1";
- }
- return ''.
- ''.
- &mt('Select User').'';
+ return "".&mt('Select User')."";
}
if ($env{'request.role'}=~/^(au|dc|su)/) {
- $callargs .= ",1";
- return ''.
- ''.
- &mt('Select User').'';
+ return "".&mt('Select User')."";
}
return '';
}
@@ -463,7 +453,6 @@ sub selectstudent_link {
sub authorbrowser_javascript {
return <<"ENDAUTHORBRW";
ENDAUTHORBRW
}
sub coursebrowser_javascript {
my ($domainfilter,$sec_element,$formname)=@_;
- my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Community - for which you wish to add/modify a user role');
+ my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Group - for which you wish to add/modify a user role');
my $output = '
-';
return $output;
}
@@ -620,17 +602,8 @@ function setSect(sectionlist) {
sub selectcourse_link {
my ($form,$unameele,$udomele,$desc,$extra_element,$multflag,$selecttype)=@_;
- my $linktext = &mt('Select Course');
- if ($selecttype eq 'Community') {
- $linktext = &mt('Select Community');
- }
- return ''
- ."".$linktext.''
- .'';
+ return "".&mt('Select Course')."";
}
sub selectauthor_link {
@@ -737,21 +710,6 @@ sub select_datelocale {
return $output;
}
-sub select_language {
- my ($name,$selected,$includeempty) = @_;
- my %langchoices;
- if ($includeempty) {
- %langchoices = ('' => 'No language preference');
- }
- foreach my $id (&languageids()) {
- my $code = &supportedlanguagecode($id);
- if ($code) {
- $langchoices{$code} = &plainlanguagedescription($id);
- }
- }
- return &select_form($selected,$name,%langchoices);
-}
-
=pod
=item * &linked_select_forms(...)
@@ -838,8 +796,7 @@ sub linked_select_forms {
my $first = "document.$formname.$firstselectname";
# output the javascript to do the changing
my $result = '';
- $result.='
END
# output the initial values for the selection lists
@@ -967,21 +923,17 @@ sub help_open_topic {
}
# Add the text
- if ($text ne "") {
- $template .=
- "
".
- "
$text";
+ if ($text ne "") {
+ $template.="$text";
}
# Add the graphic
my $title = &mt('Online Help');
my $helpicon=&lonhttpdurl("/adm/help/help.png");
- $template .= ''.
- '';
- if ($text ne '') {
- $template.='
'."\n";;
}
@@ -6185,7 +6510,7 @@ sub get_users_function {
if ($env{'request.role'}=~/^(su|dc|ad|li)/) {
$function='admin';
}
- if (($env{'request.role'}=~/^(au|ca|aa)/) ||
+ if (($env{'request.role'}=~/^(au|ca)/) ||
($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) {
$function='author';
}
@@ -6196,37 +6521,6 @@ sub get_users_function {
=pod
-=item * &show_course()
-
-Used by lonmenu.pm and lonroles.pm to determine whether to use the word
-'Courses' or 'Roles' in inline navigation and on screen displaying user's roles.
-Inputs:
-None
-
-Outputs:
-Scalar: 1 if 'Course' to be used, 0 otherwise.
-
-=cut
-
-###############################################
-sub show_course {
- my $course = !$env{'user.adv'};
- if (!$env{'user.adv'}) {
- foreach my $env (keys(%env)) {
- next if ($env !~ m/^user\.priv\./);
- if ($env !~ m/^user\.priv\.(?:st|cm)/) {
- $course = 0;
- last;
- }
- }
- }
- return $course;
-}
-
-###############################################
-
-=pod
-
=item * &check_user_status()
Determines current status of supplied role for a
@@ -6742,7 +7036,7 @@ sub default_quota {
['quotas'],$udom);
if (ref($quotahash{'quotas'}) eq 'HASH') {
if ($inststatus ne '') {
- my @statuses = map { &unescape($_); } split(/:/,$inststatus);
+ my @statuses = split(/:/,$inststatus);
foreach my $item (@statuses) {
if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') {
if ($quotahash{'quotas'}{'defaultquota'}{$item} ne '') {
@@ -6921,14 +7215,12 @@ sub user_picker {
if ($cancreate) {
$new_user_create = '
';
} else {
- my $helplink = 'javascript:helpMenu('."'display'".')';
+ my $helplink = ' href="javascript:helpMenu('."'display'".')"';
my %usertypetext = (
official => 'institutional',
unofficial => 'non-institutional',
);
- $new_user_create = '
'.
- &mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.").' '.
- &mt('Please contact the [_1]helpdesk[_2] for assistance.','','').'
';
+ $new_user_create = ' '.&mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.").' '.&mt('Contact the helpdesk for assistance.',$helplink).'
';
}
}
}
@@ -6965,7 +7257,6 @@ ENDSCRIPT
my $output = <<"END_BLOCK";
$new_user_create
@@ -7212,7 +7502,6 @@ sub personal_data_fieldtitles {
middlename => 'Middle Name',
generation => 'Generation',
gen => 'Generation',
- inststatus => 'Affiliation',
);
return %fieldtitles;
}
@@ -7282,56 +7571,6 @@ sub get_institutional_codes {
=pod
-=head1 Slot Helpers
-
-=over 4
-
-=item * sorted_slots()
-
-Sorts an array of slot names in order of slot start time (earliest first).
-
-Inputs:
-
-=over 4
-
-slotsarr - Reference to array of unsorted slot names.
-
-slots - Reference to hash of hash, where outer hash keys are slot names.
-
-=back
-
-Returns:
-
-=over 4
-
-sorted - An array of slot names sorted by the start time of the slot.
-
-=back
-
-=back
-
-=cut
-
-
-sub sorted_slots {
- my ($slotsarr,$slots) = @_;
- my @sorted;
- if ((ref($slotsarr) eq 'ARRAY') && (ref($slots) eq 'HASH')) {
- @sorted =
- sort {
- if (ref($slots->{$a}) && ref($slots->{$b})) {
- return $slots->{$a}{'starttime'} <=> $slots->{$b}{'starttime'}
- }
- if (ref($slots->{$a})) { return -1;}
- if (ref($slots->{$b})) { return 1;}
- return 0;
- } @{$slotsarr};
- }
- return @sorted;
-}
-
-=pod
-
=back
=head1 HTTP Helpers
@@ -7623,9 +7862,9 @@ sub upload_embedded {
' '.
$orig_uploaded_filename.' ';
} else {
- $output .= ''.
+ $output .= ''.
&mt('View embedded file: [_1]',''.
- $orig_uploaded_filename.'').' ';
+ $orig_uploaded_filename.'').' ';
}
}
close($fh);
@@ -7930,8 +8169,7 @@ sub csv_print_samples {
$r->print(&mt('Samples').' '.&start_data_table().
&start_data_table_header_row());
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) {
- $r->print('
'.&mt('Column [_1]',($sample+1)).'
');
- }
+ $r->print('
'.&mt('Column [_1]',($sample+1)).'
'); }
$r->print(&end_data_table_header_row());
foreach my $hash (@$samples) {
$r->print(&start_data_table_row());
@@ -8629,10 +8867,9 @@ sub restore_settings {
=item * &build_recipient_list()
-Build recipient lists for four types of e-mail:
-(a) Error Reports, (b) Package Updates, (c) lonstatus warnings/errors
-(d) Help requests, generated by
-lonerrorhandler.pm, CHECKRPMS, loncron, and lonsupportreq.pm respectively.
+Build recipient lists for three types of e-mail:
+(a) Error Reports, (b) Package Updates, (c) Help requests, generated by
+lonerrorhandler.pm, CHECKRPMS and lonsupportreq.pm respectively.
Inputs:
defmail (scalar - email address of default recipient),
@@ -8656,21 +8893,17 @@ sub build_recipient_list {
my %domconfig =
&Apache::lonnet::get_dom('configuration',['contacts'],$defdom);
if (ref($domconfig{'contacts'}) eq 'HASH') {
- if (exists($domconfig{'contacts'}{$mailing})) {
- if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') {
- my @contacts = ('adminemail','supportemail');
- foreach my $item (@contacts) {
- if ($domconfig{'contacts'}{$mailing}{$item}) {
- my $addr = $domconfig{'contacts'}{$item};
- if (!grep(/^\Q$addr\E$/,@recipients)) {
- push(@recipients,$addr);
- }
+ if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') {
+ my @contacts = ('adminemail','supportemail');
+ foreach my $item (@contacts) {
+ if ($domconfig{'contacts'}{$mailing}{$item}) {
+ my $addr = $domconfig{'contacts'}{$item};
+ if (!grep(/^\Q$addr\E$/,@recipients)) {
+ push(@recipients,$addr);
}
- $otheremails = $domconfig{'contacts'}{$mailing}{'others'};
}
+ $otheremails = $domconfig{'contacts'}{$mailing}{'others'};
}
- } elsif ($origmail ne '') {
- push(@recipients,$origmail);
}
} elsif ($origmail ne '') {
push(@recipients,$origmail);
@@ -9579,8 +9812,8 @@ sub course_type {
sub group_term {
my $crstype = &course_type();
my %names = (
- 'Course' => 'group',
- 'Community' => 'group',
+ 'Course' => 'group',
+ 'Group' => 'team',
);
return $names{$crstype};
}
@@ -9644,22 +9877,6 @@ sub escape_url {
return join('/',@urlslices).'/'.$lastitem;
}
-sub compare_arrays {
- my ($arrayref1,$arrayref2) = @_;
- my (@difference,%count);
- @difference = ();
- %count = ();
- if ((ref($arrayref1) eq 'ARRAY') && (ref($arrayref2) eq 'ARRAY')) {
- foreach my $element (@{$arrayref1}, @{$arrayref2}) { $count{$element}++; }
- foreach my $element (keys(%count)) {
- if ($count{$element} == 1) {
- push(@difference,$element);
- }
- }
- }
- return @difference;
-}
-
# -------------------------------------------------------- Initliaze user login
sub init_user_environment {
my ($r, $username, $domain, $authhost, $form, $args) = @_;
@@ -9791,16 +10008,10 @@ sub init_user_environment {
}
foreach my $tool ('aboutme','blog','portfolio') {
- $userenv{'availabletools.'.$tool} =
+ $userenv{'availabletools.'.$tool} =
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload');
}
- foreach my $crstype ('official','unofficial','community') {
- $userenv{'canrequest.'.$crstype} =
- &Apache::lonnet::usertools_access($username,$domain,$crstype,
- 'reload','requestcourses');
- }
-
$env{'user.environment'} = "$lonids/$cookie.id";
if (tie(my %disk_env,'GDBM_File',"$lonids/$cookie.id",
@@ -9813,8 +10024,8 @@ sub init_user_environment {
}
untie(%disk_env);
} else {
- &Apache::lonnet::logthis("WARNING: ".
- 'Could not create environment storage in lonauth: '.$!.'');
+ &Apache::lonnet::logthis("WARNING: ".
+ 'Could not create environment storage in lonauth: '.$!.'');
return 'error: '.$!;
}
}