version 1.247, 2008/07/04 18:30:30
|
version 1.254, 2008/07/13 09:53:16
|
Line 1396 sub modify_login_block {
|
Line 1396 sub modify_login_block {
|
} |
} |
|
|
sub personal_data_display { |
sub personal_data_display { |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results) = @_; |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray) = @_; |
my ($output,$showforceid,%userenv,%canmodify); |
my ($output,$showforceid,%userenv,%canmodify,@inststatuses); |
my @userinfo = ('firstname','middlename','lastname','generation', |
my @userinfo = ('firstname','middlename','lastname','generation', |
'permanentemail','id'); |
'permanentemail','id'); |
|
my $rowcount = 0; |
|
my $editable = 0; |
|
if ($context eq 'selfcreate') { |
|
if (ref($inst_results) eq 'HASH') { |
|
@inststatuses = &get_inststatuses($inst_results); |
|
if (@inststatuses == 0) { |
|
@inststatuses = ('default'); |
|
} |
|
$rolesarray = \@inststatuses; |
|
} |
|
} |
if (!$newuser) { |
if (!$newuser) { |
# Get the users information |
# Get the users information |
%userenv = &Apache::lonnet::get('environment', |
%userenv = &Apache::lonnet::get('environment', |
['firstname','middlename','lastname','generation', |
['firstname','middlename','lastname','generation', |
'permanentemail','id'],$ccdomain,$ccuname); |
'permanentemail','id'],$ccdomain,$ccuname); |
|
} |
|
if ((!$newuser) || ($context eq 'selfcreate')) { |
%canmodify = |
%canmodify = |
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
\@userinfo); |
\@userinfo,$rolesarray); |
} |
} |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'pd' => "Personal Data", |
'pd' => "Personal Data", |
Line 1432 sub personal_data_display {
|
Line 1445 sub personal_data_display {
|
&Apache::lonhtmlcommon::start_pick_box(); |
&Apache::lonhtmlcommon::start_pick_box(); |
foreach my $item (@userinfo) { |
foreach my $item (@userinfo) { |
my $rowtitle = $lt{$item}; |
my $rowtitle = $lt{$item}; |
|
my $hiderow = 0; |
if ($item eq 'generation') { |
if ($item eq 'generation') { |
$rowtitle = $genhelp.$rowtitle; |
$rowtitle = $genhelp.$rowtitle; |
} |
} |
$output .= &Apache::lonhtmlcommon::row_title($rowtitle,undef,'LC_oddrow_value')."\n"; |
my $row = &Apache::lonhtmlcommon::row_title($rowtitle,undef,'LC_oddrow_value')."\n"; |
if ($newuser) { |
if ($newuser) { |
if (ref($inst_results) eq 'HASH') { |
if (ref($inst_results) eq 'HASH') { |
if ($inst_results->{$item} ne '') { |
if ($inst_results->{$item} ne '') { |
$output .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item}; |
$row .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item}; |
} else { |
} else { |
$output .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
if ($context eq 'selfcreate') { |
|
if ($canmodify{$item}) { |
|
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
|
$editable ++; |
|
} else { |
|
$hiderow = 1; |
|
} |
|
} else { |
|
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
|
} |
} |
} |
} else { |
} else { |
$output .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
if ($context eq 'selfcreate') { |
|
if ($canmodify{$item}) { |
|
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
|
$editable ++; |
|
} else { |
|
$hiderow = 1; |
|
} |
|
} else { |
|
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
|
} |
} |
} |
} else { |
} else { |
if ($canmodify{$item}) { |
if ($canmodify{$item}) { |
$output .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="'.$userenv{$item}.'" />'; |
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="'.$userenv{$item}.'" />'; |
} else { |
} else { |
$output .= $userenv{$item}; |
$row .= $userenv{$item}; |
} |
} |
if ($item eq 'id') { |
if ($item eq 'id') { |
$showforceid = $canmodify{$item}; |
$showforceid = $canmodify{$item}; |
} |
} |
} |
} |
$output .= &Apache::lonhtmlcommon::row_closure(1); |
$row .= &Apache::lonhtmlcommon::row_closure(1); |
|
if (!$hiderow) { |
|
$output .= $row; |
|
$rowcount ++; |
|
} |
} |
} |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
if (wantarray) { |
if (wantarray) { |
return ($output,$showforceid); |
if ($context eq 'selfcreate') { |
|
return($output,$rowcount,$editable); |
|
} else { |
|
return ($output,$showforceid); |
|
} |
} else { |
} else { |
return $output; |
return $output; |
} |
} |
} |
} |
|
|
|
sub get_inststatuses { |
|
my ($insthashref) = @_; |
|
my @inststatuses = (); |
|
if (ref($insthashref) eq 'HASH') { |
|
if (ref($insthashref->{'inststatus'}) eq 'ARRAY') { |
|
@inststatuses = @{$insthashref->{'inststatus'}}; |
|
} |
|
} |
|
return @inststatuses; |
|
} |
|
|
# ================================================================= Phase Three |
# ================================================================= Phase Three |
sub update_user_data { |
sub update_user_data { |
my ($r,$context) = @_; |
my ($r,$context) = @_; |
Line 3130 sub print_main_menu {
|
Line 3181 sub print_main_menu {
|
help => 'Course_User_Logs', |
help => 'Course_User_Logs', |
action => 'changelogs', |
action => 'changelogs', |
permission => $permission->{'cusr'}, |
permission => $permission->{'cusr'}, |
}, |
},); |
{ text => 'View Log-in History', |
# { text => 'View Log-in History', |
help => 'Course_User_Logins', |
# help => 'Course_User_Logins', |
action => 'logins', |
# action => 'logins', |
permission => $permission->{'cusr'}, |
# permission => $permission->{'cusr'}, |
}); |
# }); |
push(@menu,@courselinks); |
push(@menu,@courselinks); |
} |
} |
my $menu_html = ''; |
my $menu_html = ''; |
Line 3178 sub print_selfenroll_menu {
|
Line 3229 sub print_selfenroll_menu {
|
my $groupslist = &Apache::lonuserutils::get_groupslist(); |
my $groupslist = &Apache::lonuserutils::get_groupslist(); |
my $setsec_js = |
my $setsec_js = |
&Apache::lonuserutils::setsections_javascript($formname,$groupslist); |
&Apache::lonuserutils::setsections_javascript($formname,$groupslist); |
|
my %alerts = &Apache::lonlocal::texthash( |
|
acto => 'Activation of self-enrollment was selected for the following domain(s)', |
|
butn => 'but no user types have been checked.', |
|
wilf => "Please uncheck 'activate' or check at least one type.", |
|
); |
|
my $selfenroll_js = <<"ENDSCRIPT"; |
|
function update_types(caller,num) { |
|
var delidx = getIndexByName('selfenroll_delete'); |
|
var actidx = getIndexByName('selfenroll_activate'); |
|
if (caller == 'selfenroll_all') { |
|
var selall; |
|
for (var i=0; i<document.$formname.selfenroll_all.length; i++) { |
|
if (document.$formname.selfenroll_all[i].checked) { |
|
selall = document.$formname.selfenroll_all[i].value; |
|
} |
|
} |
|
if (selall == 1) { |
|
if (delidx != -1) { |
|
if (document.$formname.selfenroll_delete.length) { |
|
for (var j=0; j<document.$formname.selfenroll_delete.length; j++) { |
|
document.$formname.selfenroll_delete[j].checked = true; |
|
} |
|
} else { |
|
document.$formname.elements[delidx].checked = true; |
|
} |
|
} |
|
if (actidx != -1) { |
|
if (document.$formname.selfenroll_activate.length) { |
|
for (var j=0; j<document.$formname.selfenroll_activate.length; j++) { |
|
document.$formname.selfenroll_activate[j].checked = false; |
|
} |
|
} else { |
|
document.$formname.elements[actidx].checked = false; |
|
} |
|
} |
|
document.$formname.selfenroll_newdom.selectedIndex = 0; |
|
} |
|
} |
|
if (caller == 'selfenroll_activate') { |
|
if (document.$formname.selfenroll_activate.length) { |
|
for (var j=0; j<document.$formname.selfenroll_activate.length; j++) { |
|
if (document.$formname.selfenroll_activate[j].value == num) { |
|
if (document.$formname.selfenroll_activate[j].checked) { |
|
for (var i=0; i<document.$formname.selfenroll_all.length; i++) { |
|
if (document.$formname.selfenroll_all[i].value == '1') { |
|
document.$formname.selfenroll_all[i].checked = false; |
|
} |
|
if (document.$formname.selfenroll_all[i].value == '0') { |
|
document.$formname.selfenroll_all[i].checked = true; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} else { |
|
for (var i=0; i<document.$formname.selfenroll_all.length; i++) { |
|
if (document.$formname.selfenroll_all[i].value == '1') { |
|
document.$formname.selfenroll_all[i].checked = false; |
|
} |
|
if (document.$formname.selfenroll_all[i].value == '0') { |
|
document.$formname.selfenroll_all[i].checked = true; |
|
} |
|
} |
|
} |
|
} |
|
if (caller == 'selfenroll_delete') { |
|
if (document.$formname.selfenroll_delete.length) { |
|
for (var j=0; j<document.$formname.selfenroll_delete.length; j++) { |
|
if (document.$formname.selfenroll_delete[j].value == num) { |
|
if (document.$formname.selfenroll_delete[j].checked) { |
|
var delindex = getIndexByName('selfenroll_types_'+num); |
|
if (delindex != -1) { |
|
if (document.$formname.elements[delindex].length) { |
|
for (var k=0; k<document.$formname.elements[delindex].length; k++) { |
|
document.$formname.elements[delindex][k].checked = false; |
|
} |
|
} else { |
|
document.$formname.elements[delindex].checked = false; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} else { |
|
if (document.$formname.selfenroll_delete.checked) { |
|
var delindex = getIndexByName('selfenroll_types_'+num); |
|
if (delindex != -1) { |
|
if (document.$formname.elements[delindex].length) { |
|
for (var k=0; k<document.$formname.elements[delindex].length; k++) { |
|
document.$formname.elements[delindex][k].checked = false; |
|
} |
|
} else { |
|
document.$formname.elements[delindex].checked = false; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
return; |
|
} |
|
|
|
function validate_types(form) { |
|
var needaction = new Array(); |
|
var countfail = 0; |
|
var actidx = getIndexByName('selfenroll_activate'); |
|
if (actidx != -1) { |
|
if (document.$formname.selfenroll_activate.length) { |
|
for (var j=0; j<document.$formname.selfenroll_activate.length; j++) { |
|
var num = document.$formname.selfenroll_activate[j].value; |
|
if (document.$formname.selfenroll_activate[j].checked) { |
|
countfail = check_types(num,countfail,needaction) |
|
} |
|
} |
|
} else { |
|
if (document.$formname.selfenroll_activate.checked) { |
|
var num = document.enrollstudent.selfenroll_activate.value; |
|
countfail = check_types(num,countfail,needaction) |
|
} |
|
} |
|
} |
|
if (countfail > 0) { |
|
var msg = "$alerts{'acto'}\\n"; |
|
var loopend = needaction.length -1; |
|
if (loopend > 0) { |
|
for (var m=0; m<loopend; m++) { |
|
msg += needaction[m]+", "; |
|
} |
|
} |
|
msg += needaction[loopend]+"\\n$alerts{'butn'}\\n$alerts{'wilf'}"; |
|
alert(msg); |
|
return; |
|
} |
|
setSections(form); |
|
} |
|
|
|
function check_types(num,countfail,needaction) { |
|
var typeidx = getIndexByName('selfenroll_types_'+num); |
|
var count = 0; |
|
if (typeidx != -1) { |
|
if (document.$formname.elements[typeidx].length) { |
|
for (var k=0; k<document.$formname.elements[typeidx].length; k++) { |
|
if (document.$formname.elements[typeidx][k].checked) { |
|
count ++; |
|
} |
|
} |
|
} else { |
|
if (document.$formname.elements[typeidx].checked) { |
|
count ++; |
|
} |
|
} |
|
if (count == 0) { |
|
var domidx = getIndexByName('selfenroll_dom_'+num); |
|
if (domidx != -1) { |
|
var domname = document.$formname.elements[domidx].value; |
|
needaction[countfail] = domname; |
|
countfail ++; |
|
} |
|
} |
|
} |
|
return countfail; |
|
} |
|
|
|
function getIndexByName(item) { |
|
for (var i=0;i<document.$formname.elements.length;i++) { |
|
if (document.$formname.elements[i].name == item) { |
|
return i; |
|
} |
|
} |
|
return -1; |
|
} |
|
ENDSCRIPT |
my $output = '<script type="text/javascript">'."\n". |
my $output = '<script type="text/javascript">'."\n". |
$setsec_js."\n". |
$setsec_js."\n".$selfenroll_js."\n". |
'</script>'."\n". |
'</script>'."\n". |
'<h3>'.$lt->{'selfenroll'}.'</h3>'."\n". |
'<h3>'.$lt->{'selfenroll'}.'</h3>'."\n". |
'<form name="'.$formname.'" method="post" action="/adm/createuser">'."\n". |
'<form name="'.$formname.'" method="post" action="/adm/createuser">'."\n". |
Line 3208 sub print_selfenroll_menu {
|
Line 3430 sub print_selfenroll_menu {
|
if ($curr_types eq '*') { |
if ($curr_types eq '*') { |
$output .= ' checked="checked" '; |
$output .= ' checked="checked" '; |
} |
} |
$output .= '/>'.&mt('Yes').'</label> <input type="radio" name="selfenroll_all" value="0" '; |
$output .= 'onchange="javascript:update_types('. |
|
"'selfenroll_all'".');" />'.&mt('Yes').'</label>'. |
|
' <input type="radio" name="selfenroll_all" value="0" '; |
if ($curr_types ne '*') { |
if ($curr_types ne '*') { |
$output .= ' checked="checked" '; |
$output .= ' checked="checked" '; |
} |
} |
$output .= '/>'.&mt('No').'</label></td>' |
$output .= ' onchange="javascript:update_types('. |
.&Apache::loncommon::end_data_table_row(); |
"'selfenroll_all'".');"/>'.&mt('No').'</label></td>'. |
|
&Apache::loncommon::end_data_table_row(). |
|
&Apache::loncommon::end_data_table(). |
|
&mt('Or').'<br />'. |
|
&Apache::loncommon::start_data_table(); |
my %currdoms; |
my %currdoms; |
if (($curr_types eq '') && ($env{'form.selfenroll_newdom'} eq '')) { |
if ($curr_types eq '') { |
$output .= &new_selfenroll_dom_row($cdom,'0'); |
$output .= &new_selfenroll_dom_row($cdom,'0'); |
} elsif ($curr_types ne '*') { |
} elsif ($curr_types ne '*') { |
my @entries = split(/;/,$curr_types); |
my @entries = split(/;/,$curr_types); |
Line 3224 sub print_selfenroll_menu {
|
Line 3452 sub print_selfenroll_menu {
|
my ($currdom,$typestr) = split(/:/,$entry); |
my ($currdom,$typestr) = split(/:/,$entry); |
$currdoms{$currdom} = 1; |
$currdoms{$currdom} = 1; |
my $domdesc = &Apache::lonnet::domain($currdom); |
my $domdesc = &Apache::lonnet::domain($currdom); |
my @currinsttypes = split(/,/,$typestr); |
my @currinsttypes = split(',',$typestr); |
$output .= &Apache::loncommon::start_data_table_row() |
$output .= &Apache::loncommon::start_data_table_row() |
.'<td valign="top"><span class="LC_nobreak">'.&mt('Domain:').'<b>' |
.'<td valign="top"><span class="LC_nobreak">'.&mt('Domain:').'<b>' |
.' '.$domdesc.' ('.$currdom.')' |
.' '.$domdesc.' ('.$currdom.')' |
.'</b><input type="hidden" name="selfenroll_dom_'.$num |
.'</b><input type="hidden" name="selfenroll_dom_'.$num |
.'" value="'.$currdom.'" /></span><br />' |
.'" value="'.$currdom.'" /></span><br />' |
.'<span class="LC_nobreak"><label><input type="checkbox" ' |
.'<span class="LC_nobreak"><label><input type="checkbox" ' |
.'name="selfenroll_delete" value="'.$num.'" />' |
.'name="selfenroll_delete" value="'.$num.'" onchange="javascript:update_types('."'selfenroll_delete','$num'".');" />' |
.&mt('Delete').'</label></span></td>'; |
.&mt('Delete').'</label></span></td>'; |
$output .= '<td valign="top">'.&mt('User types:').'<br />' |
$output .= '<td valign="top"> '.&mt('User types:').'<br />' |
.&selfenroll_inst_types($num,$currdom,\@currinsttypes).'</td>' |
.&selfenroll_inst_types($num,$currdom,\@currinsttypes).'</td>' |
.&Apache::loncommon::end_data_table_row(); |
.&Apache::loncommon::end_data_table_row(); |
$num ++; |
$num ++; |
} |
} |
} |
} |
} |
} |
if ($env{'form.selfenroll_newdom'} ne '') { |
my $add_domtitle = &mt('Users in additional domain:'); |
if (!defined($currdoms{$env{'form.selfenroll_newdom'}})) { |
|
$output .= &new_selfenroll_dom_row($env{'form.selfenroll_newdom'},$num); |
|
$num ++; |
|
} |
|
} |
|
my $add_domtitle = &mt('Additional domain:'); |
|
if ($curr_types eq '*') { |
if ($curr_types eq '*') { |
$add_domtitle = &mt('Specific domain:'); |
$add_domtitle = &mt('Users in specific domain:'); |
} elsif ($curr_types eq '') { |
} elsif ($curr_types eq '') { |
$add_domtitle = &mt('Other domain:'); |
$add_domtitle = &mt('Users in other domain:'); |
} |
} |
$output .= &Apache::loncommon::start_data_table_row() |
$output .= &Apache::loncommon::start_data_table_row() |
.'<td colspan="2"><span class="LC_nobreak">'.$add_domtitle.'</span><br />' |
.'<td colspan="2"><span class="LC_nobreak">'.$add_domtitle.'</span><br />' |
Line 3331 sub print_selfenroll_menu {
|
Line 3553 sub print_selfenroll_menu {
|
} |
} |
$output .= &Apache::lonhtmlcommon::end_pick_box(). |
$output .= &Apache::lonhtmlcommon::end_pick_box(). |
'<br /><input type="button" name="selfenrollconf" value="' |
'<br /><input type="button" name="selfenrollconf" value="' |
.&mt('Save changes').'" onclick="setSections(this.form);" />' |
.&mt('Save changes').'" onclick="validate_types(this.form);" />' |
.'<input type="hidden" name="action" value="selfenroll" /></form>'; |
.'<input type="hidden" name="action" value="selfenroll" /></form>'; |
$r->print($output); |
$r->print($output); |
return; |
return; |
Line 3345 sub new_selfenroll_dom_row {
|
Line 3567 sub new_selfenroll_dom_row {
|
$output .= &Apache::loncommon::start_data_table_row() |
$output .= &Apache::loncommon::start_data_table_row() |
.'<td valign="top"><span class="LC_nobreak">'.&mt('Domain:').' <b>'.$domdesc |
.'<td valign="top"><span class="LC_nobreak">'.&mt('Domain:').' <b>'.$domdesc |
.' ('.$newdom.')</b><input type="hidden" name="selfenroll_dom_'.$num |
.' ('.$newdom.')</b><input type="hidden" name="selfenroll_dom_'.$num |
.'" value="'.$newdom.'" /></span></td>'; |
.'" value="'.$newdom.'" /></span><br />' |
|
.'<span class="LC_nobreak"><label><input type="checkbox" ' |
|
.'name="selfenroll_activate" value="'.$num.'" ' |
|
.'onchange="javascript:update_types(' |
|
."'selfenroll_activate','$num'".');" />' |
|
.&mt('Activate').'</label></span></td>'; |
my @currinsttypes; |
my @currinsttypes; |
$output .= '<td>'.&mt('User types:').'<br />' |
$output .= '<td>'.&mt('User types:').'<br />' |
.&selfenroll_inst_types($num,$newdom,\@currinsttypes).'</td>' |
.&selfenroll_inst_types($num,$newdom,\@currinsttypes).'</td>' |
Line 3362 sub selfenroll_inst_types {
|
Line 3589 sub selfenroll_inst_types {
|
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($currdom); |
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($currdom); |
my $othervalue = 'any'; |
my $othervalue = 'any'; |
if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) { |
if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) { |
if (@{$types} > 0) { |
if (keys(%{$usertypes}) > 0) { |
$othervalue = 'other'; |
$othervalue = 'other'; |
} |
} |
$output .= '<table><tr>'; |
$output .= '<table><tr>'; |
Line 3375 sub selfenroll_inst_types {
|
Line 3602 sub selfenroll_inst_types {
|
$type.'" '; |
$type.'" '; |
if (ref($currinsttypes) eq 'ARRAY') { |
if (ref($currinsttypes) eq 'ARRAY') { |
if (@{$currinsttypes} > 0) { |
if (@{$currinsttypes} > 0) { |
if (grep(/^\Q$type\E$/,@{$currinsttypes})) { |
if (grep(/^any$/,@{$currinsttypes})) { |
|
$output .= 'checked="checked"'; |
|
} elsif (grep(/^\Q$type\E$/,@{$currinsttypes})) { |
$output .= 'checked="checked"'; |
$output .= 'checked="checked"'; |
} |
} |
|
} else { |
|
$output .= 'checked="checked"'; |
} |
} |
} |
} |
$output .= ' name="selfenroll_types_'.$num.'" />'.$usertypes->{$type}.'</label></span></td>'; |
$output .= ' name="selfenroll_types_'.$num.'" />'.$usertypes->{$type}.'</label></span></td>'; |
Line 3387 sub selfenroll_inst_types {
|
Line 3618 sub selfenroll_inst_types {
|
if (($count > 0) && ($count%$numinrow == 0)) { |
if (($count > 0) && ($count%$numinrow == 0)) { |
$output .= '</tr><tr>'; |
$output .= '</tr><tr>'; |
} |
} |
$output .= '<td><span class="LC_nobreak"><label><input type = "checkbox" value="'.$othervalue.'" '; |
$output .= '<td><span class="LC_nobreak"><label><input type = "checkbox" value="'.$othervalue.'"'; |
if (ref($currinsttypes) eq 'ARRAY') { |
if (ref($currinsttypes) eq 'ARRAY') { |
if (@{$currinsttypes} > 0) { |
if (@{$currinsttypes} > 0) { |
if (grep(/^other$/,@{$currinsttypes})) { |
if (grep(/^any$/,@{$currinsttypes})) { |
$output .= 'checked="checked" '; |
$output .= ' checked="checked"'; |
|
} elsif ($othervalue eq 'other') { |
|
if (grep(/^\Q$othervalue\E$/,@{$currinsttypes})) { |
|
$output .= ' checked="checked"'; |
|
} |
} |
} |
|
} else { |
|
$output .= ' checked="checked"'; |
} |
} |
|
} else { |
|
$output .= ' checked="checked"'; |
} |
} |
$output .= ' name="selfenroll_types_'.$num.'" />'.$othertitle.'</label></span></td></tr></table>'; |
$output .= ' name="selfenroll_types_'.$num.'" />'.$othertitle.'</label></span></td></tr></table>'; |
} |
} |
Line 3456 sub print_userchangelogs_display {
|
Line 3695 sub print_userchangelogs_display {
|
$curr{$key} = $defaults{$key}; |
$curr{$key} = $defaults{$key}; |
} |
} |
} |
} |
my (%whodunit,%changed); |
my (%whodunit,%changed,$version); |
$r->print(&role_display_filter($formname,$cdom,$cnum,\%curr)); |
($version) = ($r->dir_config('lonVersion') =~ /^([\d\.]+)\-/); |
|
$r->print(&role_display_filter($formname,$cdom,$cnum,\%curr,$version)); |
my $showntablehdr = 0; |
my $showntablehdr = 0; |
my $tablehdr = &Apache::loncommon::start_data_table(). |
my $tablehdr = &Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table_header_row(). |
&Apache::loncommon::start_data_table_header_row(). |
Line 3574 ENDSCRIPT
|
Line 3814 ENDSCRIPT
|
} |
} |
|
|
sub role_display_filter { |
sub role_display_filter { |
my ($formname,$cdom,$cnum,$curr) = @_; |
my ($formname,$cdom,$cnum,$curr,$version) = @_; |
my $context = 'course'; |
my $context = 'course'; |
my $nolink = 1; |
my $nolink = 1; |
my $output = '<table><tr><td valign="top">'. |
my $output = '<table><tr><td valign="top">'. |
Line 3625 sub role_display_filter {
|
Line 3865 sub role_display_filter {
|
next if (!&Apache::lonnet::auto_run($cnum,$cdom)); |
next if (!&Apache::lonnet::auto_run($cnum,$cdom)); |
} |
} |
$output .= '<option value="'.$chgtype.'"'.$selstr.'>'.$lt{$chgtype}.'</option>'."\n"; |
$output .= '<option value="'.$chgtype.'"'.$selstr.'>'.$lt{$chgtype}.'</option>'."\n"; |
} |
} |
$output .= '</select></td><td> </td><td valign="middle"><input type="submit" value="'. |
$output .= '</select></td><td> </td><td valign="middle"><input type="submit" value="'. |
&mt('Update Display').'" /></tr></table><hr noshade><br />'; |
&mt('Update Display').'" /></tr></table>'. |
|
'<span class="LC_roleslog_note">'. |
|
&mt('[_1]Note:[_2] Only changes made from servers running LON-CAPA 2.6.99.0 or later are displayed.'); |
|
if ($version) { |
|
$output .= ' '.&mt('This server is version [_3].','<b>','</b>',$version); } |
|
$output .= '</span><hr noshade><br />'; |
return $output; |
return $output; |
} |
} |
|
|
Line 4309 sub update_selfenroll_config {
|
Line 4554 sub update_selfenroll_config {
|
} else { |
} else { |
next; |
next; |
} |
} |
} elsif ($curr_types eq '') { |
|
my @types = &Apache::loncommon::get_env_multiple('form.selfenroll_types_0'); |
|
if (@types > 0) { |
|
$changes{'internal.selfenroll_types'} = $env{'form.selfenroll_dom_0'}.':'.join(',',@types); |
|
} |
|
} else { |
} else { |
|
my %currdoms; |
my @entries = split(/;/,$curr_types); |
my @entries = split(/;/,$curr_types); |
my $num = 0; |
|
my @latesttypes; |
|
my @deletedoms = &Apache::loncommon::get_env_multiple('form.selfenroll_delete'); |
my @deletedoms = &Apache::loncommon::get_env_multiple('form.selfenroll_delete'); |
|
my @activations = &Apache::loncommon::get_env_multiple('form.selfenroll_activate'); |
my $newnum = 0; |
my $newnum = 0; |
for (my $j=0; $j<$env{'form.selfenroll_types_total'}; $j++) { |
my @latesttypes; |
if (!grep(/^$j$/,@deletedoms)) { |
foreach my $num (@activations) { |
my @types = &Apache::loncommon::get_env_multiple('form.selfenroll_types_'.$j); |
my @types = &Apache::loncommon::get_env_multiple('form.selfenroll_types_'.$num); |
|
if (@types > 0) { |
@types = sort(@types); |
@types = sort(@types); |
my $typestr = join(',',@types); |
my $typestr = join(',',@types); |
$latesttypes[$newnum] = $env{'form.selfenroll_dom_'.$j}.':'.$typestr; |
my $typedom = $env{'form.selfenroll_dom_'.$num}; |
|
$latesttypes[$newnum] = $typedom.':'.$typestr; |
|
$currdoms{$typedom} = 1; |
$newnum ++; |
$newnum ++; |
} |
} |
} |
} |
|
for (my $j=0; $j<$env{'form.selfenroll_types_total'}; $j++) { if ((!grep(/^$j$/,@deletedoms)) && (!grep(/^$j$/,@activations))) { |
|
my @types = &Apache::loncommon::get_env_multiple('form.selfenroll_types_'.$j); |
|
if (@types > 0) { |
|
@types = sort(@types); |
|
my $typestr = join(',',@types); |
|
my $typedom = $env{'form.selfenroll_dom_'.$j}; |
|
$latesttypes[$newnum] = $typedom.':'.$typestr; |
|
$currdoms{$typedom} = 1; |
|
$newnum ++; |
|
} |
|
} |
|
} |
|
if ($env{'form.selfenroll_newdom'} ne '') { |
|
my $typedom = $env{'form.selfenroll_newdom'}; |
|
if ((!defined($currdoms{$typedom})) && |
|
(&Apache::lonnet::domain($typedom) ne '')) { |
|
my $typestr; |
|
my ($othertitle,$usertypes,$types) = |
|
&Apache::loncommon::sorted_inst_types($typedom); |
|
my $othervalue = 'any'; |
|
if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) { |
|
if (@{$types} > 0) { |
|
$othervalue = 'other'; |
|
$typestr = join(',',(@{$types},$othervalue)); |
|
} |
|
$typestr = $othervalue; |
|
} else { |
|
$typestr = $othervalue; |
|
} |
|
$latesttypes[$newnum] = $typedom.':'.$typestr; |
|
$newnum ++ ; |
|
} |
|
} |
my $selfenroll_types = join(';',@latesttypes); |
my $selfenroll_types = join(';',@latesttypes); |
if ($selfenroll_types ne $curr_types) { |
if ($selfenroll_types ne $curr_types) { |
$changes{'internal.selfenroll_types'} = $selfenroll_types; |
$changes{'internal.selfenroll_types'} = $selfenroll_types; |
Line 4436 sub update_selfenroll_config {
|
Line 4712 sub update_selfenroll_config {
|
$r->print(&mt('An error occurred when saving changes to self-enrollment settings in this course.').'<br />'.&mt('The error was: [_1].',$putresult)); |
$r->print(&mt('An error occurred when saving changes to self-enrollment settings in this course.').'<br />'.&mt('The error was: [_1].',$putresult)); |
} |
} |
} else { |
} else { |
$r->print(&mt('No changes were needed to the existing self-enrollment settings in this course.')); |
$r->print(&mt('No changes were made to the existing self-enrollment settings in this course.')); |
} |
} |
} else { |
} else { |
$r->print(&mt('No changes were needed to the existing self-enrollment settings in this course.')); |
$r->print(&mt('No changes were made to the existing self-enrollment settings in this course.')); |
} |
|
if ($env{'form.selfenroll_newdom'} ne '') { |
|
&print_selfenroll_menu($r,$context,$permission); |
|
} |
} |
return; |
return; |
} |
} |