version 1.867, 2009/07/27 11:30:05
|
version 1.881, 2009/08/06 20:40:59
|
Line 484 ENDAUTHORBRW
|
Line 484 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 $output = ' |
my $id_functions = &javascript_index_functions(); |
|
my $output = ' |
<script type="text/javascript" language="JavaScript"> |
<script type="text/javascript" language="JavaScript"> |
// <![CDATA[ |
// <![CDATA[ |
var stdeditbrowser;'."\n"; |
var stdeditbrowser;'."\n"; |
$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 domainfilter = ''; |
var domainfilter = getDomainFromSelectbox(formname,udom); |
var formid = getFormIdByName(formname); |
|
if (formid > -1) { |
|
var domid = getIndexByName(formid,udom); |
|
if (domid > -1) { |
|
if (document.forms[formid].elements[domid].type == 'select-one') { |
|
domainfilter=document.forms[formid].elements[domid].options[document.forms[formid].elements[domid].selectedIndex].value; |
|
} |
|
if (document.forms[formid].elements[domid].type == 'hidden') { |
|
domainfilter=document.forms[formid].elements[domid].value; |
|
} |
|
} |
|
} |
|
if (domainfilter != null) { |
if (domainfilter != null) { |
if (domainfilter != '') { |
if (domainfilter != '') { |
url += 'domainfilter='+domainfilter+'&'; |
url += 'domainfilter='+domainfilter+'&'; |
Line 529 sub coursebrowser_javascript {
|
Line 519 sub coursebrowser_javascript {
|
} |
} |
} |
} |
} |
} |
|
if (formname == 'ccrs') { |
|
var ownername = document.forms[formid].ccuname.value; |
|
var ownerdom = document.forms[formid].ccdomain.options[document.forms[formid].ccdomain.selectedIndex].value; |
|
url += '&cloner='+ownername+':'+ownerdom; |
|
} |
if (multflag !=null && multflag != '') { |
if (multflag !=null && multflag != '') { |
url += '&multiple='+multflag; |
url += '&multiple='+multflag; |
} |
} |
Line 550 sub coursebrowser_javascript {
|
Line 545 sub coursebrowser_javascript {
|
stdeditbrowser = open(url,title,options,'1'); |
stdeditbrowser = open(url,title,options,'1'); |
stdeditbrowser.focus(); |
stdeditbrowser.focus(); |
} |
} |
|
$id_functions |
function getFormIdByName(formname) { |
|
for (var i=0;i<document.forms.length;i++) { |
|
if (document.forms[i].name == formname) { |
|
return i; |
|
} |
|
} |
|
return -1; |
|
} |
|
|
|
function getIndexByName(formid,item) { |
|
for (var i=0;i<document.forms[formid].elements.length;i++) { |
|
if (document.forms[formid].elements[i].name == item) { |
|
return i; |
|
} |
|
} |
|
return -1; |
|
} |
|
ENDSTDBRW |
ENDSTDBRW |
if ($sec_element ne '') { |
if ($sec_element ne '') { |
$output .= &setsec_javascript($sec_element,$formname); |
$output .= &setsec_javascript($sec_element,$formname); |
Line 578 ENDSTDBRW
|
Line 556 ENDSTDBRW
|
return $output; |
return $output; |
} |
} |
|
|
|
sub javascript_index_functions { |
|
return <<"ENDJS"; |
|
|
|
function getFormIdByName(formname) { |
|
for (var i=0;i<document.forms.length;i++) { |
|
if (document.forms[i].name == formname) { |
|
return i; |
|
} |
|
} |
|
return -1; |
|
} |
|
|
|
function getIndexByName(formid,item) { |
|
for (var i=0;i<document.forms[formid].elements.length;i++) { |
|
if (document.forms[formid].elements[i].name == item) { |
|
return i; |
|
} |
|
} |
|
return -1; |
|
} |
|
|
|
function getDomainFromSelectbox(formname,udom) { |
|
var userdom; |
|
var formid = getFormIdByName(formname); |
|
if (formid > -1) { |
|
var domid = getIndexByName(formid,udom); |
|
if (domid > -1) { |
|
if (document.forms[formid].elements[domid].type == 'select-one') { |
|
userdom=document.forms[formid].elements[domid].options[document.forms[formid].elements[domid].selectedIndex].value; |
|
} |
|
if (document.forms[formid].elements[domid].type == 'hidden') { |
|
userdom=document.forms[formid].elements[domid].value; |
|
} |
|
} |
|
} |
|
return userdom; |
|
} |
|
|
|
ENDJS |
|
|
|
} |
|
|
|
sub userbrowser_javascript { |
|
my $id_functions = &javascript_index_functions(); |
|
return <<"ENDUSERBRW"; |
|
|
|
function openuserbrowser(formname,uname,udom,ulast,ufirst,uemail,hideudom,crsdom) { |
|
var url = '/adm/pickuser?'; |
|
var userdom = getDomainFromSelectbox(formname,udom); |
|
if (userdom != null) { |
|
if (userdom != '') { |
|
url += 'srchdom='+userdom+'&'; |
|
} |
|
} |
|
url += 'form=' + formname + '&unameelement='+uname+ |
|
'&udomelement='+udom+ |
|
'&ulastelement='+ulast+ |
|
'&ufirstelement='+ufirst+ |
|
'&uemailelement='+uemail+ |
|
'&hideudomelement='+hideudom+ |
|
'&coursedom='+crsdom; |
|
var title = 'User_Browser'; |
|
var options = 'scrollbars=1,resizable=1,menubar=0'; |
|
options += ',width=700,height=600'; |
|
var stdeditbrowser = open(url,title,options,'1'); |
|
stdeditbrowser.focus(); |
|
} |
|
|
|
function fix_domain (formname,udom,origdom) { |
|
var formid = getFormIdByName(formname); |
|
if (formid > -1) { |
|
var domid = getIndexByName(formid,udom); |
|
var hidedomid = getIndexByName(formid,origdom); |
|
if (hidedomid > -1) { |
|
var fixeddom = document.forms[formid].elements[hidedomid].value; |
|
if (domid > -1) { |
|
var slct = document.forms[formid].elements[domid]; |
|
if (slct.type == 'select-one') { |
|
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; |
|
} |
|
} |
|
} |
|
} |
|
return; |
|
} |
|
|
|
$id_functions |
|
ENDUSERBRW |
|
} |
|
|
sub setsec_javascript { |
sub setsec_javascript { |
my ($sec_element,$formname) = @_; |
my ($sec_element,$formname) = @_; |
my $setsections = qq| |
my $setsections = qq| |
Line 620 function setSect(sectionlist) {
|
Line 694 function setSect(sectionlist) {
|
|
|
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'); |
|
if ($selecttype eq 'Community') { |
|
$linktext = &mt('Select Community'); |
|
} |
return '<span class="LC_nobreak">' |
return '<span class="LC_nobreak">' |
."<a href='" |
."<a href='" |
.'javascript:opencrsbrowser("'.$form.'","'.$unameele |
.'javascript:opencrsbrowser("'.$form.'","'.$unameele |
.'","'.$udomele.'","'.$desc.'","'.$extra_element |
.'","'.$udomele.'","'.$desc.'","'.$extra_element |
.'","'.$multflag.'","'.$selecttype.'");' |
.'","'.$multflag.'","'.$selecttype.'");' |
."'>".&mt('Select Course').'</a>' |
."'>".$linktext.'</a>' |
.'</span>'; |
.'</span>'; |
} |
} |
|
|
Line 635 sub selectauthor_link {
|
Line 713 sub selectauthor_link {
|
&mt('Select Author').'</a>'; |
&mt('Select Author').'</a>'; |
} |
} |
|
|
|
sub selectuser_link { |
|
my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem, |
|
$coursedom,$linktext) = @_; |
|
return '<a href="javascript:openuserbrowser('."'$form','$unameelem','$domelem',". |
|
"'$lastelem','$firstelem','$emailelem','$hdomelem','$coursedom'". |
|
');">'.$linktext.'</a>'; |
|
} |
|
|
sub check_uncheck_jscript { |
sub check_uncheck_jscript { |
my $jscript = <<"ENDSCRT"; |
my $jscript = <<"ENDSCRT"; |
function checkAll(field) { |
function checkAll(field) { |
Line 1111 sub help_menu_js {
|
Line 1197 sub help_menu_js {
|
|
|
my $template .= <<"ENDTEMPLATE"; |
my $template .= <<"ENDTEMPLATE"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <!-- BEGIN LON-CAPA Internal |
|
// <![CDATA[ |
// <![CDATA[ |
|
// <!-- BEGIN LON-CAPA Internal |
var banner_link = ''; |
var banner_link = ''; |
function helpMenu(target) { |
function helpMenu(target) { |
var caller = this; |
var caller = this; |
Line 1137 function writeHelp(caller) {
|
Line 1223 function writeHelp(caller) {
|
caller.document.close() |
caller.document.close() |
caller.focus() |
caller.focus() |
} |
} |
// ]]> |
|
// END LON-CAPA Internal --> |
// END LON-CAPA Internal --> |
|
// ]]> |
</script> |
</script> |
ENDTEMPLATE |
ENDTEMPLATE |
return $template; |
return $template; |
Line 1787 sub select_level_form {
|
Line 1873 sub select_level_form {
|
|
|
=pod |
=pod |
|
|
=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$autosubmit) |
=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$onchange) |
|
|
Returns a string containing a <select name='$name' size='1'> form to |
Returns a string containing a <select name='$name' size='1'> form to |
allow a user to select the domain to preform an operation in. |
allow a user to select the domain to preform an operation in. |
Line 1798 selected");
|
Line 1884 selected");
|
|
|
If the $showdomdesc flag is set, the domain name is followed by the domain description. |
If the $showdomdesc flag is set, the domain name is followed by the domain description. |
|
|
If the $autosubmit flag is set, the form containing the domain selector will be auto-submitted by an onchange action. |
The optional $onchange argumnet specifies what should occur if the domain selector is changed, e.g., 'this.form.submit()' if the form is to be automatically submitted. |
|
|
=cut |
=cut |
|
|
#------------------------------------------- |
#------------------------------------------- |
sub select_dom_form { |
sub select_dom_form { |
my ($defdom,$name,$includeempty,$showdomdesc,$autosubmit) = @_; |
my ($defdom,$name,$includeempty,$showdomdesc,$onchange) = @_; |
my $onchange; |
if ($onchange) { |
if ($autosubmit) { |
$onchange = ' onchange="'.$onchange.'"'; |
$onchange = ' onchange="this.form.submit()"'; |
|
} |
} |
my @domains = sort {lc($a) cmp lc($b)} (&Apache::lonnet::all_domains()); |
my @domains = sort {lc($a) cmp lc($b)} (&Apache::lonnet::all_domains()); |
if ($includeempty) { @domains=('',@domains); } |
if ($includeempty) { @domains=('',@domains); } |
Line 3831 sub parse_block_record {
|
Line 3916 sub parse_block_record {
|
return ($setuname,$setudom,$title,$blocks); |
return ($setuname,$setudom,$title,$blocks); |
} |
} |
|
|
sub build_block_table { |
|
my ($startblock,$endblock,$setters) = @_; |
|
my %lt = &Apache::lonlocal::texthash( |
|
'cacb' => 'Currently active communication blocks', |
|
'cour' => 'Course', |
|
'dura' => 'Duration', |
|
'blse' => 'Block set by' |
|
); |
|
my $output; |
|
$output = '<br />'.$lt{'cacb'}.':<br />'; |
|
$output .= &start_data_table(); |
|
$output .= ' |
|
<tr> |
|
<th>'.$lt{'cour'}.'</th> |
|
<th>'.$lt{'dura'}.'</th> |
|
<th>'.$lt{'blse'}.'</th> |
|
</tr> |
|
'; |
|
foreach my $course (keys(%{$setters})) { |
|
my %courseinfo=&Apache::lonnet::coursedescription($course); |
|
for (my $i=0; $i<@{$$setters{$course}{staff}}; $i++) { |
|
my ($uname,$udom) = @{$$setters{$course}{staff}[$i]}; |
|
my $fullname = &plainname($uname,$udom); |
|
if (defined($env{'user.name'}) && defined($env{'user.domain'}) |
|
&& $env{'user.name'} ne 'public' |
|
&& $env{'user.domain'} ne 'public') { |
|
$fullname = &aboutmewrapper($fullname,$uname,$udom); |
|
} |
|
my ($openblock,$closeblock) = @{$$setters{$course}{times}[$i]}; |
|
$openblock = &Apache::lonlocal::locallocaltime($openblock); |
|
$closeblock= &Apache::lonlocal::locallocaltime($closeblock); |
|
$output .= &Apache::loncommon::start_data_table_row(). |
|
'<td>'.$courseinfo{'description'}.'</td>'. |
|
'<td>'.$openblock.' to '.$closeblock.'</td>'. |
|
'<td>'.$fullname.'</td>'. |
|
&Apache::loncommon::end_data_table_row(); |
|
} |
|
} |
|
$output .= &end_data_table(); |
|
} |
|
sub blocking_status { |
sub blocking_status { |
my $blocked; |
my $blocked; |
my ($activity,$uname,$udom) = @_; |
my ($activity,$uname,$udom) = @_; |
Line 3903 END_MYBLOCK
|
Line 3948 END_MYBLOCK
|
my $popupUrl = "/adm/blockingstatus/$querystring"; |
my $popupUrl = "/adm/blockingstatus/$querystring"; |
$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' |
<img class='LC_noBorder LC_middle' src='/res/adm/pages/comblock.png' alt='Communication Blocking'/></a> |
title='Communication Blocked'> |
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring'>Communication Blocking</a> |
<img class='LC_noBorder LC_middle' title='Communication Blocked' src='/res/adm/pages/comblock.png' alt='Communication Blocked'/></a> |
|
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
|
title='Communication Blocked'>Communication Blocked</a> |
</div> |
</div> |
|
|
END_BLOCK |
END_BLOCK |
Line 4868 td.LC_menubuttons_text {
|
Line 4915 td.LC_menubuttons_text {
|
font-weight: bold; |
font-weight: bold; |
} |
} |
|
|
.LC_roleslog_note { |
|
font-size: small; |
|
} |
|
|
|
table.LC_data_table, |
table.LC_data_table, |
table.LC_mail_list { |
table.LC_mail_list { |
border: 1px solid #000000; |
border: 1px solid #000000; |
Line 4891 table.LC_nested_outer {
|
Line 4934 table.LC_nested_outer {
|
width: 100%; |
width: 100%; |
} |
} |
|
|
|
table.LC_innerpickbox, |
table.LC_nested { |
table.LC_nested { |
border: none; |
border: none; |
border-collapse: collapse; |
border-collapse: collapse; |
Line 4901 table.LC_nested {
|
Line 4945 table.LC_nested {
|
table.LC_data_table tr th, |
table.LC_data_table tr th, |
table.LC_calendar tr th, |
table.LC_calendar tr th, |
table.LC_mail_list tr th, |
table.LC_mail_list tr th, |
table.LC_prior_tries tr th { |
table.LC_prior_tries tr th, |
|
table.LC_innerpickbox tr th { |
font-weight: bold; |
font-weight: bold; |
background-color: $data_table_head; |
background-color: $data_table_head; |
color:$fontmenu; |
color:$fontmenu; |
font-size:90%; |
font-size:90%; |
} |
} |
|
|
|
table.LC_innerpickbox tr th, |
|
table.LC_innerpickbox tr td { |
|
vertical-align: top; |
|
} |
|
|
table.LC_data_table tr.LC_info_row > td { |
table.LC_data_table tr.LC_info_row > td { |
background-color: #CCCCCC; |
background-color: #CCCCCC; |
font-weight: bold; |
font-weight: bold; |
Line 5601 table.LC_double_column tr td.LC_right_co
|
Line 5651 table.LC_double_column tr td.LC_right_co
|
vertical-align: top; |
vertical-align: top; |
} |
} |
|
|
span.LC_role_level { |
|
font-weight: bold; |
|
} |
|
|
|
div.LC_left_float { |
div.LC_left_float { |
float: left; |
float: left; |
padding-right: 5%; |
padding-right: 5%; |
Line 5888 ul.LC_TabContent {
|
Line 5934 ul.LC_TabContent {
|
background: $sidebg; |
background: $sidebg; |
border-bottom: solid 1px $lg_border_color; |
border-bottom: solid 1px $lg_border_color; |
list-style:none; |
list-style:none; |
margin: -10px -10px 0 -10px; |
margin: 0 -10px; |
padding: 0; |
padding: 0; |
} |
} |
|
|
ul.LC_TabContentBigger { |
|
display:block; |
|
list-style:none; |
|
padding: 0; |
|
} |
|
|
|
|
|
ul.LC_TabContent li, |
ul.LC_TabContent li, |
ul.LC_TabContentBigger li { |
ul.LC_TabContentBigger li { |
display: inline; |
|
border-right: solid 1px $lg_border_color; |
|
float:left; |
float:left; |
line-height:140%; |
|
white-space:nowrap; |
|
} |
} |
|
|
ul#LC_TabMainMenuContent li a { |
ul#LC_TabMainMenuContent li a { |
Line 5942 ul.LC_TabContent li:hover, ul.LC_TabCont
|
Line 5977 ul.LC_TabContent li:hover, ul.LC_TabCont
|
padding-right: 16px; |
padding-right: 16px; |
} |
} |
|
|
|
#maincoursedoc { |
|
clear:both; |
|
} |
|
|
|
ul.LC_TabContentBigger { |
|
display:block; |
|
list-style:none; |
|
padding: 0; |
|
} |
|
|
ul.LC_TabContentBigger li { |
ul.LC_TabContentBigger li { |
vertical-align:bottom; |
vertical-align:bottom; |
border-top:solid 1px $lg_border_color; |
height: 30px; |
border-left:solid 1px $lg_border_color; |
font-size:110%; |
padding:5px 10px 5px 10px; |
font-weight:bold; |
margin-left:2px; |
color: #737373; |
background: #d9d9d9; |
|
} |
} |
|
|
#maincoursedoc { |
|
clear:both; |
ul.LC_TabContentBigger li a { |
|
background:url('/adm/lonIcons/tabbgleft.gif') left bottom no-repeat; |
|
height: 30px; |
|
line-height: 30px; |
|
text-align: center; |
|
display: block; |
|
text-decoration: none; |
} |
} |
|
|
ul.LC_TabContentBigger li:hover, |
ul.LC_TabContentBigger li:hover a, |
ul.LC_TabContentBigger li.active { |
ul.LC_TabContentBigger li.active a { |
background: #ffffff; |
background:url('/adm/lonIcons/tabbgleft.gif') left top no-repeat; |
color:$font; |
color:$font; |
|
text-decoration: underline; |
} |
} |
|
|
ul.LC_TabContentBigger li, |
|
ul.LC_TabContentBigger li a { |
ul.LC_TabContentBigger li b { |
font-size:110%; |
background: url('/adm/lonIcons/tabbgright.gif') no-repeat right bottom; |
font-weight:bold; |
display: block; |
color: #737373; |
float: left; |
|
padding: 0 30px; |
|
} |
|
|
|
ul.LC_TabContentBigger li:hover b, |
|
ul.LC_TabContentBigger li.active b { |
|
background:url('/adm/lonIcons/tabbgright.gif') right top no-repeat; |
|
color:$font; |
|
border-bottom: 1px solid #FFFFFF; |
} |
} |
|
|
|
|
ul.LC_CourseBreadcrumbs { |
ul.LC_CourseBreadcrumbs { |
background: $sidebg; |
background: $sidebg; |
line-height: 32px; |
line-height: 32px; |
Line 7475 sub user_picker {
|
Line 7535 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 7639 $newuserscript
|
Line 7700 $newuserscript
|
|
|
$new_user_create |
$new_user_create |
|
|
<table> |
|
<tr> |
|
<td>$lt{'doma'}:</td> |
|
<td>$domform</td> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>$lt{'usr'}:</td> |
|
<td>$srchbysel |
|
$srchtypesel |
|
<input type="text" size="15" name="srchterm" value="$srchterm" /> |
|
$srchinsel |
|
</td> |
|
</tr> |
|
</table> |
|
<br /> |
|
END_BLOCK |
END_BLOCK |
|
|
|
$output .= &Apache::lonhtmlcommon::start_pick_box(). |
|
&Apache::lonhtmlcommon::row_title($lt{'doma'}). |
|
$domform. |
|
&Apache::lonhtmlcommon::row_closure(). |
|
&Apache::lonhtmlcommon::row_title($lt{'usr'}). |
|
$srchbysel. |
|
$srchtypesel. |
|
'<input type="text" size="15" name="srchterm" value="'.$srchterm.'" />'. |
|
$srchinsel. |
|
&Apache::lonhtmlcommon::row_closure(1). |
|
&Apache::lonhtmlcommon::end_pick_box(). |
|
'<br />'; |
return $output; |
return $output; |
} |
} |
|
|
Line 8573 sub csv_print_select_table {
|
Line 8630 sub csv_print_select_table {
|
my ($value,$display,$defaultcol)=@{ $array_ref }; |
my ($value,$display,$defaultcol)=@{ $array_ref }; |
$r->print(&start_data_table_row().'<td>'.$display.'</td>'); |
$r->print(&start_data_table_row().'<td>'.$display.'</td>'); |
|
|
$r->print('<td><select name=f'.$i. |
$r->print('<td><select name="f'.$i.'"'. |
' onchange="javascript:flip(this.form,'.$i.');">'); |
' onchange="javascript:flip(this.form,'.$i.');">'); |
$r->print('<option value="none"></option>'); |
$r->print('<option value="none"></option>'); |
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) { |
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) { |