version 1.879, 2009/08/05 23:44:52
|
version 1.890, 2009/09/25 13:51:58
|
Line 483 ENDAUTHORBRW
|
Line 483 ENDAUTHORBRW
|
|
|
sub coursebrowser_javascript { |
sub coursebrowser_javascript { |
my ($domainfilter,$sec_element,$formname)=@_; |
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 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 602 sub userbrowser_javascript {
|
Line 602 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) { |
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 615 function openuserbrowser(formname,uname,
|
Line 615 function openuserbrowser(formname,uname,
|
'&ulastelement='+ulast+ |
'&ulastelement='+ulast+ |
'&ufirstelement='+ufirst+ |
'&ufirstelement='+ufirst+ |
'&uemailelement='+uemail+ |
'&uemailelement='+uemail+ |
'&hideudomelement='+hideudom; |
'&hideudomelement='+hideudom+ |
|
'&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 623 function openuserbrowser(formname,uname,
|
Line 627 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 713 sub selectauthor_link {
|
Line 721 sub selectauthor_link {
|
} |
} |
|
|
sub selectuser_link { |
sub selectuser_link { |
my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem,$linktext) = @_; |
my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem, |
|
$coursedom,$linktext,$caller) = @_; |
return '<a href="javascript:openuserbrowser('."'$form','$unameelem','$domelem',". |
return '<a href="javascript:openuserbrowser('."'$form','$unameelem','$domelem',". |
"'$lastelem','$firstelem','$emailelem','$hdomelem'".');">'.$linktext.'</a>'; |
"'$lastelem','$firstelem','$emailelem','$hdomelem','$coursedom','$caller'". |
|
');">'.$linktext.'</a>'; |
} |
} |
|
|
sub check_uncheck_jscript { |
sub check_uncheck_jscript { |
Line 2968 sub syllabuswrapper {
|
Line 2978 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 2982 sub track_student_link {
|
Line 2992 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 3914 sub parse_block_record {
|
Line 3925 sub parse_block_record {
|
} |
} |
|
|
sub blocking_status { |
sub blocking_status { |
my $blocked; |
|
my ($activity,$uname,$udom) = @_; |
my ($activity,$uname,$udom) = @_; |
my %setters; |
my %setters; |
|
|
|
# check for active blocking |
my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom); |
my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom); |
if ($startblock && $endblock) { |
|
$blocked = 1; |
|
} |
|
if(!wantarray) { |
|
return $blocked; |
|
} |
|
my $output; |
|
my $querystring; |
|
$querystring = "?activity=$activity"; |
|
|
|
$output .= <<"END_MYBLOCK"; |
my $blocked = $startblock && $endblock ? 1 : 0; |
<script type="text/javascript"> |
|
// <![CDATA[ |
# caller just wants to know whether a block is active |
|
if (!wantarray) { return $blocked; } |
|
|
|
# build a link to a popup window containing the details |
|
my $querystring = "?activity=$activity"; |
|
# $uname and $udom decide whose portfolio the user is trying to look at |
|
$querystring .= "&udom=$udom" if $udom; |
|
$querystring .= "&uname=$uname" if $uname; |
|
|
|
my $output .= <<'END_MYBLOCK'; |
function openWindow(url, wdwName, w, h, toolbar,scrollbar) { |
function openWindow(url, wdwName, w, h, toolbar,scrollbar) { |
var options = "width=" + w + ",height=" + h + ","; |
var options = "width=" + w + ",height=" + h + ","; |
options += "resizable=yes,scrollbars="+scrollbar+",status=no,"; |
options += "resizable=yes,scrollbars="+scrollbar+",status=no,"; |
Line 3938 sub blocking_status {
|
Line 3950 sub blocking_status {
|
var newWin = window.open(url, wdwName, options); |
var newWin = window.open(url, wdwName, options); |
newWin.focus(); |
newWin.focus(); |
} |
} |
|
|
// ]]> |
|
</script> |
|
END_MYBLOCK |
END_MYBLOCK |
|
|
|
$output = Apache::lonhtmlcommon::scripttag($output); |
|
|
my $popupUrl = "/adm/blockingstatus/$querystring"; |
my $popupUrl = "/adm/blockingstatus/$querystring"; |
|
my $text = mt('Communication Blocked'); |
|
|
$output .= <<"END_BLOCK"; |
$output .= <<"END_BLOCK"; |
<div class='LC_comblock'> |
<div class='LC_comblock'> |
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
title='Communication Blocked'> |
title='$text'> |
<img class='LC_noBorder LC_middle' title='Communication Blocked' src='/res/adm/pages/comblock.png' alt='Communication Blocked'/></a> |
<img class='LC_noBorder LC_middle' title='$text' src='/res/adm/pages/comblock.png' alt='$text'/></a> |
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
title='Communication Blocked'>Communication Blocked</a> |
title='$text'>$text</a> |
</div> |
</div> |
|
|
END_BLOCK |
END_BLOCK |
Line 4465 sub bodytag {
|
Line 4479 sub bodytag {
|
|
|
# Explicit link to get inline menu |
# Explicit link to get inline menu |
my $menu= ($no_inline_link?'' |
my $menu= ($no_inline_link?'' |
:'<a href="/adm/remote?action=collapse">'.&mt('Switch to Inline Menu Mode').'</a>'); |
:'<a href="/adm/remote?action=collapse" target="_top">'.&mt('Switch to Inline Menu Mode').'</a>'); |
$bodytag .= qq|<div id="LC_nav_bar">$name $role |
$bodytag .= qq|<div id="LC_nav_bar">$name $role |
<em>$realm</em> $dc_info </div> |
<em>$realm</em> $dc_info </div> |
<ol class="LC_smallMenu LC_right"> |
<ol class="LC_smallMenu LC_right"> |
Line 4991 table.LC_nested tr.LC_empty_row td {
|
Line 5005 table.LC_nested tr.LC_empty_row td {
|
padding: 8px; |
padding: 8px; |
} |
} |
|
|
|
table.LC_caption { |
|
} |
|
|
table.LC_nested tr.LC_empty_row td { |
table.LC_nested tr.LC_empty_row td { |
padding: 4ex |
padding: 4ex |
} |
} |
Line 6760 sub simple_error_page {
|
Line 6777 sub simple_error_page {
|
sub end_data_table_header_row { |
sub end_data_table_header_row { |
return '</tr>'."\n";; |
return '</tr>'."\n";; |
} |
} |
|
|
|
sub data_table_caption { |
|
my $caption = shift; |
|
return "<caption class=\"LC_caption\">$caption</caption>"; |
|
} |
} |
} |
|
|
=pod |
=pod |
Line 7532 sub user_picker {
|
Line 7554 sub user_picker {
|
# loncreateuser::print_user_query_page() |
# loncreateuser::print_user_query_page() |
# has been completed. |
# has been completed. |
next if ($option eq 'alc'); |
next if ($option eq 'alc'); |
|
next if (($option eq 'crs') && ($env{'form.form'} eq 'requestcrs')); |
next if ($option eq 'crs' && !$env{'request.course.id'}); |
next if ($option eq 'crs' && !$env{'request.course.id'}); |
if ($curr_selected{'srchin'} eq $option) { |
if ($curr_selected{'srchin'} eq $option) { |
$srchinsel .= ' |
$srchinsel .= ' |
Line 9280 sub restore_settings {
|
Line 9303 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 9856 sub check_clone {
|
Line 9880 sub check_clone {
|
$clonemsg = &mt('No new course created.').$linefeed.&mt('A new course could not be cloned from the specified original - [_1] - because it is a non-existent course.',$args->{'clonecourse'}.':'.$args->{'clonedomain'}); |
$clonemsg = &mt('No new course created.').$linefeed.&mt('A new course could not be cloned from the specified original - [_1] - because it is a non-existent course.',$args->{'clonecourse'}.':'.$args->{'clonedomain'}); |
} else { |
} else { |
my %clonedesc = &Apache::lonnet::coursedescription($cloneid,{'one_time' => 1}); |
my %clonedesc = &Apache::lonnet::coursedescription($cloneid,{'one_time' => 1}); |
if ($env{'request.role.domain'} eq $args->{'clonedomain'}) { |
if (($env{'request.role.domain'} eq $args->{'clonedomain'}) && |
|
(&Apache::lonnet::allowed('ccc',$env{'request.role.domain'}))) { |
$can_clone = 1; |
$can_clone = 1; |
} else { |
} else { |
my %clonehash = &Apache::lonnet::get('environment',['cloners'], |
my %clonehash = &Apache::lonnet::get('environment',['cloners'], |
Line 9884 sub check_clone {
|
Line 9909 sub check_clone {
|
} |
} |
|
|
sub construct_course { |
sub construct_course { |
my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context) = @_; |
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 9922 sub construct_course {
|
Line 9947 sub construct_course {
|
$args->{'crscode'}, |
$args->{'crscode'}, |
$args->{'ccuname'}.':'. |
$args->{'ccuname'}.':'. |
$args->{'ccdomain'}, |
$args->{'ccdomain'}, |
$args->{'crstype'}); |
$args->{'crstype'}, |
|
$cnum,$context,$category); |
|
|
# Note: The testing routines depend on this being output; see |
# Note: The testing routines depend on this being output; see |
# Utils::Course. This needs to at least be output as a comment |
# Utils::Course. This needs to at least be output as a comment |