version 1.135, 2006/11/22 16:06:28
|
version 1.138, 2006/11/23 00:53:19
|
Line 216 END
|
Line 216 END
|
# =================================================================== Phase two |
# =================================================================== Phase two |
sub print_user_modification_page { |
sub print_user_modification_page { |
my $r=shift; |
my $r=shift; |
my $ccuname=$env{'form.ccuname'}; |
my $ccuname =&LONCAPA::clean_username($env{'form.ccuname'}); |
my $ccdomain=$env{'form.ccdomain'}; |
my $ccdomain=&LONCAPA::clean_domain($env{'form.ccdomain'}); |
|
|
$ccuname=~s/\W//g; |
|
$ccdomain=~s/\W//g; |
|
|
|
unless (($ccuname) && ($ccdomain)) { |
unless (($ccuname) && ($ccdomain)) { |
&print_username_entry_form($r); |
&print_username_entry_form($r); |
Line 238 sub print_user_modification_page {
|
Line 235 sub print_user_modification_page {
|
); |
); |
$loginscript = &Apache::loncommon::authform_header(%param); |
$loginscript = &Apache::loncommon::authform_header(%param); |
$authformkrb = &Apache::loncommon::authform_kerberos(%param); |
$authformkrb = &Apache::loncommon::authform_kerberos(%param); |
|
|
$ccuname=~s/\W//g; |
$ccuname =&LONCAPA::clean_username($ccuname); |
$ccdomain=~s/\W//g; |
$ccdomain=&LONCAPA::clean_domain($ccdomain); |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $dc_setcourse_code = ''; |
my $dc_setcourse_code = ''; |
my $nondc_setsection_code = ''; |
my $nondc_setsection_code = ''; |
Line 623 END
|
Line 620 END
|
# Is this a custom role? Get role owner and title. |
# Is this a custom role? Get role owner and title. |
my ($croleudom,$croleuname,$croletitle)= |
my ($croleudom,$croleuname,$croletitle)= |
($role_code=~/^cr\/(\w+)\/(\w+)\/(\w+)$/); |
($role_code=~/^cr\/(\w+)\/(\w+)\/(\w+)$/); |
my $bgcol='ffffff'; |
|
my $allowed=0; |
my $allowed=0; |
my $delallowed=0; |
my $delallowed=0; |
my $sortkey=$role_code; |
my $sortkey=$role_code; |
Line 664 END
|
Line 660 END
|
} |
} |
} |
} |
# Compute the background color based on $area |
# Compute the background color based on $area |
$bgcol=$1.'_'.$2; |
|
$bgcol=~s/[^7-9a-e]//g; |
|
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
|
if ($area=~/^\/(\w+)\/(\d\w+)\/(\w+)/) { |
if ($area=~/^\/(\w+)\/(\d\w+)\/(\w+)/) { |
$carea.='<br />Section: '.$3; |
$carea.='<br />Section: '.$3; |
$sortkey.="\0$3"; |
$sortkey.="\0$3"; |
Line 706 END
|
Line 699 END
|
$allowed=0; |
$allowed=0; |
} |
} |
} |
} |
$bgcol='77FF77'; |
|
my $row = ''; |
my $row = ''; |
$row.='<tr bgcolor="#'.$bgcol.'"><td>'; |
$row.= '<td>'; |
my $active=1; |
my $active=1; |
$active=0 if (($role_end_time) && ($now>$role_end_time)); |
$active=0 if (($role_end_time) && ($now>$role_end_time)); |
if (($active) && ($allowed)) { |
if (($active) && ($allowed)) { |
Line 745 END
|
Line 737 END
|
: ' ' ). |
: ' ' ). |
'</td><td>'.($role_end_time ?localtime($role_end_time) |
'</td><td>'.($role_end_time ?localtime($role_end_time) |
: ' ' ) |
: ' ' ) |
."</td></tr>\n"; |
."</td>"; |
$sortrole{$sortkey}=$envkey; |
$sortrole{$sortkey}=$envkey; |
$roletext{$envkey}=$row; |
$roletext{$envkey}=$row; |
$roleclass{$envkey}=$class; |
$roleclass{$envkey}=$class; |
Line 758 END
|
Line 750 END
|
$output{$type} = ''; |
$output{$type} = ''; |
foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) { |
foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) { |
if ( ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/ ) && ($rolepriv{$sortrole{$which}}) ) { |
if ( ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/ ) && ($rolepriv{$sortrole{$which}}) ) { |
$output{$type}.=$roletext{$sortrole{$which}}; |
$output{$type}.= |
|
&Apache::loncommon::start_data_table_row(). |
|
$roletext{$sortrole{$which}}. |
|
&Apache::loncommon::end_data_table_row(); |
} |
} |
} |
} |
unless($output{$type} eq '') { |
unless($output{$type} eq '') { |
$output{$type} = "<tr bgcolor='#BBffBB'>". |
$output{$type} = '<tr class="LC_info_row">'. |
"<td align='center' colspan='7'>".&mt($type)."</td>". |
"<td align='center' colspan='7'>".&mt($type)."</td></tr>". |
$output{$type}; |
$output{$type}; |
$rolesdisplay = 1; |
$rolesdisplay = 1; |
} |
} |
} |
} |
if ($rolesdisplay == 1) { |
if ($rolesdisplay == 1) { |
$r->print(<<END); |
$r->print(' |
<hr /> |
<hr /> |
<h3>$lt{'rer'}</h3> |
<h3>'.$lt{'rer'}.'</h3>'. |
<table> |
&Apache::loncommon::start_data_table("LC_createuser"). |
<tr><th>$lt{'rev'}</th><th>$lt{'ren'}</th><th>$lt{'del'}</th><th>$lt{'rol'}</th><th>$lt{'e |
&Apache::loncommon::start_data_table_header_row(). |
xt'}</th><th>$lt{'sta'}</th><th>$lt{'end'}</th> |
'<th>'.$lt{'rev'}.'</th><th>'.$lt{'ren'}.'</th><th>'.$lt{'del'}. |
END |
'</th><th>'.$lt{'rol'}.'</th><th>'.$lt{'ext'}. |
|
'</th><th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th>'. |
|
&Apache::loncommon::end_data_table_header_row()); |
foreach my $type ('Construction Space','Course','Group','Domain','System','Unknown') { |
foreach my $type ('Construction Space','Course','Group','Domain','System','Unknown') { |
if ($output{$type}) { |
if ($output{$type}) { |
$r->print($output{$type}."\n"); |
$r->print($output{$type}."\n"); |
} |
} |
} |
} |
$r->print('</table>'); |
$r->print(&Apache::loncommon::end_data_table()); |
} |
} |
} # End of unless |
} # End of unless |
my $currentauth=&Apache::lonnet::queryauthenticate($ccuname,$ccdomain); |
my $currentauth=&Apache::lonnet::queryauthenticate($ccuname,$ccdomain); |
Line 1029 sub update_user_data {
|
Line 1026 sub update_user_data {
|
$r->print($error.&mt('No login name specified').'.'.$end); |
$r->print($error.&mt('No login name specified').'.'.$end); |
return; |
return; |
} |
} |
if ( $env{'form.ccuname'} =~/\W/) { |
if ( $env{'form.ccuname'} ne |
|
&LONCAPA::clean_username($env{'form.ccuname'}) ) { |
$r->print($error.&mt('Invalid login name').'. '. |
$r->print($error.&mt('Invalid login name').'. '. |
&mt('Only letters, numbers, and underscores are valid').'.'. |
&mt('Only letters, numbers, and underscores are valid').'.'. |
$end); |
$end); |
Line 1039 sub update_user_data {
|
Line 1037 sub update_user_data {
|
$r->print($error.&mt('No domain specified').'.'.$end); |
$r->print($error.&mt('No domain specified').'.'.$end); |
return; |
return; |
} |
} |
if ( $env{'form.ccdomain'} =~/\W/) { |
if ( $env{'form.ccdomain'} ne |
|
&LONCAPA::clean_domain($env{'form.ccdomain'}) ) { |
$r->print($error.&mt ('Invalid domain name').'. '. |
$r->print($error.&mt ('Invalid domain name').'. '. |
&mt('Only letters, numbers, and underscores are valid').'.'. |
&mt('Only letters, numbers, periods, dashes, and underscores are valid').'.'. |
$end); |
$end); |
return; |
return; |
} |
} |
Line 1755 sub course_level_table {
|
Line 1754 sub course_level_table {
|
my $area=$coursedata{'description'}; |
my $area=$coursedata{'description'}; |
my $type=$coursedata{'type'}; |
my $type=$coursedata{'type'}; |
if (!defined($area)) { $area=&mt('Unavailable course').': '.$protectedcourse; } |
if (!defined($area)) { $area=&mt('Unavailable course').': '.$protectedcourse; } |
my $bgcol=$thiscourse; |
|
$bgcol=~s/[^7-9a-e]//g; |
|
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
|
my ($domain,$cnum)=split(/\//,$thiscourse); |
my ($domain,$cnum)=split(/\//,$thiscourse); |
my %sections_count; |
my %sections_count; |
if (defined($env{'request.course.id'})) { |
if (defined($env{'request.course.id'})) { |
Line 1769 sub course_level_table {
|
Line 1765 sub course_level_table {
|
foreach my $role ('st','ta','ep','in','cc') { |
foreach my $role ('st','ta','ep','in','cc') { |
if (&Apache::lonnet::allowed('c'.$role,$thiscourse)) { |
if (&Apache::lonnet::allowed('c'.$role,$thiscourse)) { |
my $plrole=&Apache::lonnet::plaintext($role); |
my $plrole=&Apache::lonnet::plaintext($role); |
$table .= <<ENDEXTENT; |
$table .= &Apache::loncommon::start_data_table_row(). |
<tr bgcolor="#$bgcol"> |
'<td><input type="checkbox" name="act_'.$protectedcourse.'_'.$role.'"></td> |
<td><input type="checkbox" name="act_$protectedcourse\_$role"></td> |
<td>'.$plrole.'</td> |
<td>$plrole</td> |
<td>'.$area.'<br />Domain: '.$domain.'</td>'."\n"; |
<td>$area<br />Domain: $domain</td> |
|
ENDEXTENT |
|
if ($role ne 'cc') { |
if ($role ne 'cc') { |
if (%sections_count) { |
if (%sections_count) { |
my $currsec = &course_sections(\%sections_count,$protectedcourse.'_'.$role); |
my $currsec = &course_sections(\%sections_count,$protectedcourse.'_'.$role); |
$table .= |
$table .= |
'<td><table border="0" cellspacing="0" cellpadding="0">'. |
'<td><table class="LC_createuser">'. |
'<tr><td valign="top">'.$lt{'exs'}.'<br />'. |
'<tr class="LC_section_row"> |
|
<td valign="top">'.$lt{'exs'}.'<br />'. |
$currsec.'</td>'. |
$currsec.'</td>'. |
'<td> </td>'. |
'<td> </td>'. |
'<td valign="top"> '.$lt{'new'}.'<br />'. |
'<td valign="top"> '.$lt{'new'}.'<br />'. |
Line 1803 ENDEXTENT
|
Line 1798 ENDEXTENT
|
<a href= |
<a href= |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$protectedcourse\_$role.value,'end_$protectedcourse\_$role','cu.pres','dateset')">$lt{'sed'}</a></td> |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$protectedcourse\_$role.value,'end_$protectedcourse\_$role','cu.pres','dateset')">$lt{'sed'}</a></td> |
ENDTIMEENTRY |
ENDTIMEENTRY |
$table.= "</tr>\n"; |
$table.= &Apache::loncommon::end_data_table_row(); |
} |
} |
} |
} |
foreach my $cust (sort keys %customroles) { |
foreach my $cust (sort keys %customroles) { |
Line 1811 ENDTIMEENTRY
|
Line 1806 ENDTIMEENTRY
|
my $plrole=$cust; |
my $plrole=$cust; |
my $customrole=$protectedcourse.'_cr_cr_'.$env{'user.domain'}. |
my $customrole=$protectedcourse.'_cr_cr_'.$env{'user.domain'}. |
'_'.$env{'user.name'}.'_'.$plrole; |
'_'.$env{'user.name'}.'_'.$plrole; |
$table .= <<END; |
$table .= &Apache::loncommon::start_data_table_row(). |
<tr bgcolor="#$bgcol"> |
'<td><input type="checkbox" name="act_'.$customrole.'"></td> |
<td><input type="checkbox" name="act_$customrole"></td> |
<td>'.$plrole.'</td> |
<td>$plrole</td> |
<td>'.$area.'</td>'."\n"; |
<td>$area</td> |
|
END |
|
if (%sections_count) { |
if (%sections_count) { |
my $currsec = &course_sections(\%sections_count,$customrole); |
my $currsec = &course_sections(\%sections_count,$customrole); |
$table.= |
$table.= |
Line 1839 END
|
Line 1832 END
|
"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$customrole.value,'start_$customrole','cu.pres','dateset')">$lt{'ssd'}</a></td> |
"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$customrole.value,'start_$customrole','cu.pres','dateset')">$lt{'ssd'}</a></td> |
<td><input type=hidden name="end_$customrole" value=''> |
<td><input type=hidden name="end_$customrole" value=''> |
<a href= |
<a href= |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$customrole.value,'end_$customrole','cu.pres','dateset')">$lt{'sed'}</a></td></tr> |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$customrole.value,'end_$customrole','cu.pres','dateset')">$lt{'sed'}</a></td> |
ENDENTRY |
ENDENTRY |
|
$table .= &Apache::loncommon::end_data_table_row(); |
} |
} |
} |
} |
} |
} |
return '' if ($table eq ''); # return nothing if there is nothing |
return '' if ($table eq ''); # return nothing if there is nothing |
# in the table |
# in the table |
my $result = <<ENDTABLE; |
my $result = ' |
<h4>$lt{'crl'}</h4> |
<h4>'.$lt{'crl'}.'</h4>'. |
<table border=2><tr><th>$lt{'act'}</th><th>$lt{'rol'}</th><th>$lt{'ext'}</th> |
&Apache::loncommon::start_data_table(). |
<th>$lt{'grs'}</th><th>$lt{'sta'}</th><th>$lt{'end'}</th></tr> |
&Apache::loncommon::start_data_table_header_row(). |
$table |
'<th>'.$lt{'act'}.'</th><th>'.$lt{'rol'}.'</th><th>'.$lt{'ext'}.'</th> |
</table> |
<th>'.$lt{'grs'}.'</th><th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th>'. |
ENDTABLE |
&Apache::loncommon::end_data_table_header_row(). |
|
&Apache::loncommon::start_data_table_row(). |
|
$table. |
|
&Apache::loncommon::end_data_table_row(). |
|
&Apache::loncommon::end_data_table(); |
return $result; |
return $result; |
} |
} |
|
|
Line 1899 sub course_level_dc {
|
Line 1897 sub course_level_dc {
|
'sed' => "Set End Date" |
'sed' => "Set End Date" |
); |
); |
my $header = '<h4>'.&mt('Course Level').'</h4>'. |
my $header = '<h4>'.&mt('Course Level').'</h4>'. |
'<table border="2"><tr><th>'.$lt{'typ'}.'</th><th>'.$courseform.'</th><th>'.$lt{'rol'}.'</th><th>'.$lt{'grs'}.'</th><th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th></tr>'; |
&Apache::loncommon::start_data_table(). |
my $otheritems = '<tr><td><select name="crstype" onChange="javascript:setType();">'."\n". |
&Apache::loncommon::start_data_table_header_row(). |
|
'<th>'.$lt{'typ'}.'</th><th>'.$courseform.'</th><th>'.$lt{'rol'}.'</th><th>'.$lt{'grs'}.'</th><th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th>'. |
|
&Apache::loncommon::end_data_table_header_row(); |
|
my $otheritems = &Apache::loncommon::start_data_table_row(). |
|
'<td><select name="crstype" onChange="javascript:setType();">'."\n". |
' <option value="">'.&mt('Please select')."\n". |
' <option value="">'.&mt('Please select')."\n". |
' <option value="Course">'.&mt('Course')."\n". |
' <option value="Course">'.&mt('Course')."\n". |
' <option value="Non-standard course">'.&mt('Non-standard course')."\n". |
' <option value="Non-standard course">'.&mt('Non-standard course')."\n". |
Line 1935 sub course_level_dc {
|
Line 1937 sub course_level_dc {
|
<a href= |
<a href= |
"javascript:pjump('date_end','End Date',document.cu.end.value,'end','cu.pres','dateset')">$lt{'sed'}</a></td> |
"javascript:pjump('date_end','End Date',document.cu.end.value,'end','cu.pres','dateset')">$lt{'sed'}</a></td> |
ENDTIMEENTRY |
ENDTIMEENTRY |
$otheritems .= "</tr></table>\n"; |
$otheritems .= &Apache::loncommon::end_data_table_row(). |
|
&Apache::loncommon::end_data_table()."\n"; |
return $cb_jscript.$header.$hiddenitems.$otheritems; |
return $cb_jscript.$header.$hiddenitems.$otheritems; |
} |
} |
|
|