version 1.692.4.13, 2009/08/14 17:08:48
|
version 1.692.4.21, 2010/01/19 06:01:09
|
Line 481 ENDAUTHORBRW
|
Line 481 ENDAUTHORBRW
|
} |
} |
|
|
sub coursebrowser_javascript { |
sub coursebrowser_javascript { |
my ($domainfilter,$sec_element,$formname)=@_; |
my ($domainfilter,$sec_element,$formname,$role_element)=@_; |
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 Community - for which you wish to add/modify a user role.'); |
my $id_functions = &javascript_index_functions(); |
my $id_functions = &javascript_index_functions(); |
my $output = ' |
my $output = ' |
<script type="text/javascript" language="JavaScript"> |
<script type="text/javascript" language="JavaScript"> |
Line 492 sub coursebrowser_javascript {
|
Line 492 sub coursebrowser_javascript {
|
$output .= <<"ENDSTDBRW"; |
$output .= <<"ENDSTDBRW"; |
function opencrsbrowser(formname,uname,udom,desc,extra_element,multflag,crstype) { |
function opencrsbrowser(formname,uname,udom,desc,extra_element,multflag,crstype) { |
var url = '/adm/pickcourse?'; |
var url = '/adm/pickcourse?'; |
|
var formid = getFormIdByName(formname); |
var domainfilter = getDomainFromSelectbox(formname,udom); |
var domainfilter = getDomainFromSelectbox(formname,udom); |
if (domainfilter != null) { |
if (domainfilter != null) { |
if (domainfilter != '') { |
if (domainfilter != '') { |
Line 542 sub coursebrowser_javascript {
|
Line 543 sub coursebrowser_javascript {
|
} |
} |
$id_functions |
$id_functions |
ENDSTDBRW |
ENDSTDBRW |
if ($sec_element ne '') { |
if (($sec_element ne '') || ($role_element ne '')) { |
$output .= &setsec_javascript($sec_element,$formname); |
$output .= &setsec_javascript($sec_element,$formname,$role_element); |
} |
} |
$output .= ' |
$output .= ' |
// ]]> |
// ]]> |
Line 597 sub userbrowser_javascript {
|
Line 598 sub userbrowser_javascript {
|
my $id_functions = &javascript_index_functions(); |
my $id_functions = &javascript_index_functions(); |
return <<"ENDUSERBRW"; |
return <<"ENDUSERBRW"; |
|
|
function openuserbrowser(formname,uname,udom,ulast,ufirst,uemail,hideudom,crsdom) { |
function openuserbrowser(formname,uname,udom,ulast,ufirst,uemail,hideudom,crsdom,caller) { |
var url = '/adm/pickuser?'; |
var url = '/adm/pickuser?'; |
var userdom = getDomainFromSelectbox(formname,udom); |
var userdom = getDomainFromSelectbox(formname,udom); |
if (userdom != null) { |
if (userdom != null) { |
Line 612 function openuserbrowser(formname,uname,
|
Line 613 function openuserbrowser(formname,uname,
|
'&uemailelement='+uemail+ |
'&uemailelement='+uemail+ |
'&hideudomelement='+hideudom+ |
'&hideudomelement='+hideudom+ |
'&coursedom='+crsdom; |
'&coursedom='+crsdom; |
|
if ((caller != null) && (caller != undefined)) { |
|
url += '&caller='+caller; |
|
} |
var title = 'User_Browser'; |
var title = 'User_Browser'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
options += ',width=700,height=600'; |
options += ',width=700,height=600'; |
Line 619 function openuserbrowser(formname,uname,
|
Line 623 function openuserbrowser(formname,uname,
|
stdeditbrowser.focus(); |
stdeditbrowser.focus(); |
} |
} |
|
|
function fix_domain (formname,udom,origdom) { |
function fix_domain (formname,udom,origdom,uname) { |
var formid = getFormIdByName(formname); |
var formid = getFormIdByName(formname); |
if (formid > -1) { |
if (formid > -1) { |
|
var unameid = getIndexByName(formid,uname); |
var domid = getIndexByName(formid,udom); |
var domid = getIndexByName(formid,udom); |
var hidedomid = getIndexByName(formid,origdom); |
var hidedomid = getIndexByName(formid,origdom); |
if (hidedomid > -1) { |
if (hidedomid > -1) { |
var fixeddom = document.forms[formid].elements[hidedomid].value; |
var fixeddom = document.forms[formid].elements[hidedomid].value; |
if (domid > -1) { |
var unameval = document.forms[formid].elements[unameid].value; |
var slct = document.forms[formid].elements[domid]; |
if ((fixeddom != '') && (fixeddom != undefined) && (fixeddom != null) && (unameval != '') && (unameval != undefined) && (unameval != null)) { |
if (slct.type == 'select-one') { |
if (domid > -1) { |
var i; |
var slct = document.forms[formid].elements[domid]; |
for (i=0;i<slct.length;i++) { |
if (slct.type == 'select-one') { |
if (slct.options[i].value==fixeddom) { slct.selectedIndex=i; } |
var i; |
|
for (i=0;i<slct.length;i++) { |
|
if (slct.options[i].value==fixeddom) { slct.selectedIndex=i; } |
|
} |
|
} |
|
if (slct.type == 'hidden') { |
|
slct.value = fixeddom; |
} |
} |
} |
|
if (slct.type == 'hidden') { |
|
slct.value = fixeddom; |
|
} |
} |
} |
} |
} |
} |
Line 649 ENDUSERBRW
|
Line 657 ENDUSERBRW
|
|
|
|
|
sub setsec_javascript { |
sub setsec_javascript { |
my ($sec_element,$formname) = @_; |
my ($sec_element,$formname,$role_element) = @_; |
|
my (@courserolenames,@communityrolenames,$rolestr,$courserolestr, |
|
$communityrolestr); |
|
if ($role_element ne '') { |
|
my @allroles = ('st','ta','ep','in','ad'); |
|
foreach my $crstype ('Course','Community') { |
|
if ($crstype eq 'Community') { |
|
foreach my $role (@allroles) { |
|
push(@communityrolenames,&Apache::lonnet::plaintext($role,$crstype)); |
|
} |
|
push(@communityrolenames,&Apache::lonnet::plaintext('co')); |
|
} else { |
|
foreach my $role (@allroles) { |
|
push(@courserolenames,&Apache::lonnet::plaintext($role,$crstype)); |
|
} |
|
push(@courserolenames,&Apache::lonnet::plaintext('cc')); |
|
} |
|
} |
|
$rolestr = '"'.join('","',@allroles).'"'; |
|
$courserolestr = '"'.join('","',@courserolenames).'"'; |
|
$communityrolestr = '"'.join('","',@communityrolenames).'"'; |
|
} |
my $setsections = qq| |
my $setsections = qq| |
function setSect(sectionlist) { |
function setSect(sectionlist) { |
var sectionsArray = new Array(); |
var sectionsArray = new Array(); |
Line 683 function setSect(sectionlist) {
|
Line 712 function setSect(sectionlist) {
|
} |
} |
} |
} |
} |
} |
|
|
|
function setRole(crstype) { |
|; |
|; |
|
if ($role_element eq '') { |
|
$setsections .= ' return; |
|
} |
|
'; |
|
} else { |
|
$setsections .= qq| |
|
var elementLength = document.$formname.$role_element.length; |
|
var allroles = Array($rolestr); |
|
var courserolenames = Array($courserolestr); |
|
var communityrolenames = Array($communityrolestr); |
|
if (elementLength != undefined) { |
|
if (document.$formname.$role_element.options[5].value == 'cc') { |
|
if (crstype == 'Course') { |
|
return; |
|
} else { |
|
allroles[5] = 'co'; |
|
for (var i=0; i<6; i++) { |
|
document.$formname.$role_element.options[i].value = allroles[i]; |
|
document.$formname.$role_element.options[i].text = communityrolenames[i]; |
|
} |
|
} |
|
} else { |
|
if (crstype == 'Community') { |
|
return; |
|
} else { |
|
allroles[5] = 'cc'; |
|
for (var i=0; i<6; i++) { |
|
document.$formname.$role_element.options[i].value = allroles[i]; |
|
document.$formname.$role_element.options[i].text = courserolenames[i]; |
|
} |
|
} |
|
} |
|
} |
|
return; |
|
} |
|
|; |
|
} |
return $setsections; |
return $setsections; |
} |
} |
|
|
|
|
sub selectcourse_link { |
sub selectcourse_link { |
my ($form,$unameele,$udomele,$desc,$extra_element,$multflag,$selecttype)=@_; |
my ($form,$unameele,$udomele,$desc,$extra_element,$multflag,$selecttype)=@_; |
my $linktext = &mt('Select Course'); |
my $linktext = &mt('Select Course'); |
Line 711 sub selectauthor_link {
|
Line 778 sub selectauthor_link {
|
|
|
sub selectuser_link { |
sub selectuser_link { |
my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem, |
my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem, |
$coursedom,$linktext) = @_; |
$coursedom,$linktext,$caller) = @_; |
return '<a href="javascript:openuserbrowser('."'$form','$unameelem','$domelem',". |
return '<a href="javascript:openuserbrowser('."'$form','$unameelem','$domelem',". |
"'$lastelem','$firstelem','$emailelem','$hdomelem','$coursedom'". |
"'$lastelem','$firstelem','$emailelem','$hdomelem','$coursedom','$caller'". |
');">'.$linktext.'</a>'; |
');">'.$linktext.'</a>'; |
} |
} |
|
|
Line 2971 sub syllabuswrapper {
|
Line 3038 sub syllabuswrapper {
|
} |
} |
|
|
sub track_student_link { |
sub track_student_link { |
my ($linktext,$sname,$sdom,$target,$start) = @_; |
my ($linktext,$sname,$sdom,$target,$start,$only_body) = @_; |
my $link ="/adm/trackstudent?"; |
my $link ="/adm/trackstudent?"; |
my $title = 'View recent activity'; |
my $title = 'View recent activity'; |
if (defined($sname) && $sname !~ /^\s*$/ && |
if (defined($sname) && $sname !~ /^\s*$/ && |
Line 2985 sub track_student_link {
|
Line 3052 sub track_student_link {
|
$target = ''; |
$target = ''; |
} |
} |
if ($start) { $link.='&start='.$start; } |
if ($start) { $link.='&start='.$start; } |
|
if ($only_body) { $link .= '&only_body=1'; } |
$title = &mt($title); |
$title = &mt($title); |
$linktext = &mt($linktext); |
$linktext = &mt($linktext); |
return qq{<a href="$link" title="$title" $target>$linktext</a>}. |
return qq{<a href="$link" title="$title" $target>$linktext</a>}. |
Line 4089 sub determinedomain {
|
Line 4157 sub determinedomain {
|
my $domain=shift; |
my $domain=shift; |
if (! $domain) { |
if (! $domain) { |
# Determine domain if we have not been given one |
# Determine domain if we have not been given one |
$domain = $Apache::lonnet::perlvar{'lonDefDomain'}; |
$domain = &Apache::lonnet::default_login_domain(); |
if ($env{'user.domain'}) { $domain=$env{'user.domain'}; } |
if ($env{'user.domain'}) { $domain=$env{'user.domain'}; } |
if ($env{'request.role.domain'}) { |
if ($env{'request.role.domain'}) { |
$domain=$env{'request.role.domain'}; |
$domain=$env{'request.role.domain'}; |
Line 4727 div.LC_confirm_box .LC_success img {
|
Line 4795 div.LC_confirm_box .LC_success img {
|
color: #999999; |
color: #999999; |
} |
} |
|
|
|
.LC_discussion { |
|
background: $tabbg; |
|
border: 1px solid black; |
|
margin: 2px; |
|
} |
|
|
|
.LC_disc_action_links_bar { |
|
background: $tabbg; |
|
border: none; |
|
margin: 4px; |
|
} |
|
|
|
.LC_disc_action_left { |
|
text-align: left; |
|
} |
|
|
|
.LC_disc_action_right { |
|
text-align: right; |
|
} |
|
|
|
.LC_disc_new_item { |
|
background: white; |
|
border: 2px solid red; |
|
margin: 2px; |
|
} |
|
|
|
.LC_disc_old_item { |
|
background: white; |
|
border: 1px solid black; |
|
margin: 2px; |
|
} |
|
|
table.LC_pastsubmission { |
table.LC_pastsubmission { |
border: 1px solid black; |
border: 1px solid black; |
margin: 2px; |
margin: 2px; |
Line 5252 table.LC_pick_box {
|
Line 5352 table.LC_pick_box {
|
border-spacing: 1px; |
border-spacing: 1px; |
} |
} |
table.LC_pick_box td.LC_pick_box_title { |
table.LC_pick_box td.LC_pick_box_title { |
background: $sidebg; |
background: $tabbg; |
font-weight: bold; |
font-weight: bold; |
text-align: right; |
text-align: right; |
vertical-align: top; |
vertical-align: top; |
Line 5260 table.LC_pick_box td.LC_pick_box_title {
|
Line 5360 table.LC_pick_box td.LC_pick_box_title {
|
padding: 8px; |
padding: 8px; |
} |
} |
table.LC_pick_box td.LC_selfenroll_pick_box_title { |
table.LC_pick_box td.LC_selfenroll_pick_box_title { |
background: $sidebg; |
background: $tabbg; |
font-weight: bold; |
font-weight: bold; |
text-align: right; |
text-align: right; |
width: 350px; |
width: 350px; |
Line 6814 If the user's status includes multiple t
|
Line 6914 If the user's status includes multiple t
|
the largest default quota which applies to the user determines the |
the largest default quota which applies to the user determines the |
default quota returned. |
default quota returned. |
|
|
|
=back |
|
|
=cut |
=cut |
|
|
############################################### |
############################################### |
Line 7413 sub sorted_slots {
|
Line 7515 sub sorted_slots {
|
|
|
=pod |
=pod |
|
|
=back |
|
|
|
=head1 HTTP Helpers |
=head1 HTTP Helpers |
|
|
=over 4 |
=over 4 |
Line 8710 sub restore_settings {
|
Line 8810 sub restore_settings {
|
|
|
=item * &build_recipient_list() |
=item * &build_recipient_list() |
|
|
Build recipient lists for four types of e-mail: |
Build recipient lists for five types of e-mail: |
(a) Error Reports, (b) Package Updates, (c) lonstatus warnings/errors |
(a) Error Reports, (b) Package Updates, (c) lonstatus warnings/errors |
(d) Help requests, generated by |
(d) Help requests, (e) Course requests needing approval, generated by |
lonerrorhandler.pm, CHECKRPMS, loncron, and lonsupportreq.pm respectively. |
lonerrorhandler.pm, CHECKRPMS, loncron, lonsupportreq.pm and |
|
loncoursequeueadmin.pm respectively. |
|
|
Inputs: |
Inputs: |
defmail (scalar - email address of default recipient), |
defmail (scalar - email address of default recipient), |
Line 9315 sub check_clone {
|
Line 9416 sub check_clone {
|
} |
} |
|
|
sub construct_course { |
sub construct_course { |
my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context,$cnum) = @_; |
my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context,$cnum,$category) = @_; |
my $outcome; |
my $outcome; |
my $linefeed = '<br />'."\n"; |
my $linefeed = '<br />'."\n"; |
if ($context eq 'auto') { |
if ($context eq 'auto') { |
Line 9354 sub construct_course {
|
Line 9455 sub construct_course {
|
$args->{'ccuname'}.':'. |
$args->{'ccuname'}.':'. |
$args->{'ccdomain'}, |
$args->{'ccdomain'}, |
$args->{'crstype'}, |
$args->{'crstype'}, |
$cnum); |
$cnum,$context,$category); |
|
|
|
|
# Note: The testing routines depend on this being output; see |
# Note: The testing routines depend on this being output; see |
Line 9669 sub group_term {
|
Line 9770 sub group_term {
|
return $names{$crstype}; |
return $names{$crstype}; |
} |
} |
|
|
|
sub course_types { |
|
my @types = ('official','unofficial','community'); |
|
my %typename = ( |
|
official => 'Official course', |
|
unofficial => 'Unofficial course', |
|
community => 'Community', |
|
); |
|
return (\@types,\%typename); |
|
} |
|
|
sub icon { |
sub icon { |
my ($file)=@_; |
my ($file)=@_; |
my $curfext = lc((split(/\./,$file))[-1]); |
my $curfext = lc((split(/\./,$file))[-1]); |