version 1.221, 2009/05/17 23:34:05
|
version 1.225, 2009/05/22 17:57:03
|
Line 167 sub redirect_user {
|
Line 167 sub redirect_user {
|
$r->print(<<ENDREDIR); |
$r->print(<<ENDREDIR); |
$start_page |
$start_page |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
$swinfo |
$swinfo |
|
// ]]> |
</script> |
</script> |
$navwindow |
$navwindow |
<h1>$msg</h1> |
<p>$msg</p> |
$end_page |
$end_page |
ENDREDIR |
ENDREDIR |
return; |
return; |
Line 183 sub error_page {
|
Line 185 sub error_page {
|
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
$r->print(&Apache::loncommon::start_page('Problems during Course Initialization'). |
$r->print(&Apache::loncommon::start_page('Problems during Course Initialization'). |
'<script type="text/javascript">'. |
'<script type="text/javascript">'. |
&Apache::lonmenu::rawconfig().'</script>'. |
'// <![CDATA['. |
'<p>'.&mt('The following problems occurred:'). |
&Apache::lonmenu::rawconfig(). |
|
'// ]]>'. |
|
'</script>'. |
|
'<p class="LC_error">'.&mt('The following problems occurred:'). |
$error. |
$error. |
'</p><br /><a href="'.$dest.'">'.&mt('Continue').'</a>'. |
'</p><br /><a href="'.$dest.'">'.&mt('Continue').'</a>'. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
Line 367 sub handler {
|
Line 372 sub handler {
|
$r->print(<<ENDENTEREDKEY); |
$r->print(<<ENDENTEREDKEY); |
$start_page |
$start_page |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
$swinfo |
$swinfo |
|
// ]]> |
</script> |
</script> |
<form method="post"> |
<form action="" method="post"> |
<input type="hidden" name="selectrole" value="1" /> |
<input type="hidden" name="selectrole" value="1" /> |
<input type="hidden" name="$trolecode" value="1" /> |
<input type="hidden" name="$trolecode" value="1" /> |
<span class="LC_fontsize_large">$message</span><br /> |
<span class="LC_fontsize_large">$message</span><br /> |
Line 390 ENDENTEREDKEY
|
Line 397 ENDENTEREDKEY
|
$r->print(<<ENDENTERKEY); |
$r->print(<<ENDENTERKEY); |
$start_page |
$start_page |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
$swinfo |
$swinfo |
|
// ]]> |
</script> |
</script> |
<form method="post"> |
<form action="" method="post"> |
<input type="hidden" name="selectrole" value="1" /> |
<input type="hidden" name="selectrole" value="1" /> |
<input type="hidden" name="$trolecode" value="1" /> |
<input type="hidden" name="$trolecode" value="1" /> |
<input type="text" size="20" name="newkey" value="$env{'form.newkey'}" /> |
<input type="text" size="20" name="newkey" value="$env{'form.newkey'}" /> |
Line 553 ENDENTERKEY
|
Line 562 ENDENTERKEY
|
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
|
|
my $brcrum =[{href=>"/admm/roles",text=>"User Roles"}]; |
my $crumbtext = 'User Roles'; |
|
my $pagetitle = 'My Roles'; |
|
my $recent = &mt('Recent Roles'); |
|
my $show_course=&Apache::loncommon::show_course(); |
|
if ($show_course) { |
|
$crumbtext = 'Courses'; |
|
$pagetitle = 'My Courses'; |
|
$recent = &mt('Recent Courses'); |
|
} |
|
my $brcrum =[{href=>"/adm/roles",text=>$crumbtext}]; |
my $swinfo=&Apache::lonmenu::rawconfig(); |
my $swinfo=&Apache::lonmenu::rawconfig(); |
my $start_page=&Apache::loncommon::start_page('My Roles',undef,{bread_crumbs=>$brcrum}); |
my $start_page=&Apache::loncommon::start_page($pagetitle,undef,{bread_crumbs=>$brcrum}); |
my $standby=&mt('Role selected. Please stand by.'); |
my $standby=&mt('Role selected. Please stand by.'); |
$standby=~s/\n/\\n/g; |
$standby=~s/\n/\\n/g; |
my $noscript='<span class="LC_error">'.&mt('Use of LON-CAPA requires Javascript to be enabled in your web browser.').'<br />'.&mt('As this is not the case, most functionality in the system will be unavailable.').'</span><br />'; |
my $noscript='<span class="LC_error">'.&mt('Use of LON-CAPA requires Javascript to be enabled in your web browser.').'<br />'.&mt('As this is not the case, most functionality in the system will be unavailable.').'</span><br />'; |
Line 567 $start_page
|
Line 585 $start_page
|
$noscript |
$noscript |
</noscript> |
</noscript> |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
$swinfo |
$swinfo |
window.focus(); |
window.focus(); |
|
|
Line 583 function enterrole (thisform,rolecode,bu
|
Line 602 function enterrole (thisform,rolecode,bu
|
alert('$standby'); |
alert('$standby'); |
} |
} |
} |
} |
|
// ]]> |
</script> |
</script> |
ENDHEADER |
ENDHEADER |
|
|
Line 668 ENDHEADER
|
Line 688 ENDHEADER
|
foreach $envkey (sort keys %env) { |
foreach $envkey (sort keys %env) { |
my $button = 1; |
my $button = 1; |
my $switchserver=''; |
my $switchserver=''; |
my $roletext; |
my ($roletext,$roletext_end); |
my $sortkey; |
my $sortkey; |
if ($envkey=~/^user\.role\./) { |
if ($envkey=~/^user\.role\./) { |
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend); |
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend); |
Line 812 ENDHEADER
|
Line 832 ENDHEADER
|
$twhere=&mt('system wide'); |
$twhere=&mt('system wide'); |
$sortkey=$role.$twhere; |
$sortkey=$role.$twhere; |
} |
} |
$roletext.=&build_roletext($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit); |
($roletext,$roletext_end) = |
$roletext{$envkey}=$roletext; |
&build_roletext($trolecode,$tdom,$trest,$tstatus,$tryagain, |
|
$advanced,$tremark,$tbg,$trole,$twhere,$tpstart, |
|
$tpend,$nochoose,$button,$switchserver,$reinit); |
|
$roletext{$envkey}=[$roletext,$roletext_end]; |
if (!$sortkey) {$sortkey=$twhere."\0".$envkey;} |
if (!$sortkey) {$sortkey=$twhere."\0".$envkey;} |
$sortrole{$sortkey}=$envkey; |
$sortrole{$sortkey}=$envkey; |
$roleclass{$envkey}=$ttype; |
$roleclass{$envkey}=$ttype; |
Line 872 ENDHEADER
|
Line 895 ENDHEADER
|
return OK; |
return OK; |
} |
} |
# ----------------------------------------------------------------------- Table |
# ----------------------------------------------------------------------- Table |
unless ((!&Apache::lonmenu::show_course()) || ($nochoose) || ($countactive==1)) { |
unless ((!&Apache::loncommon::show_course()) || ($nochoose) || ($countactive==1)) { |
$r->print("<h2>".&mt('Select a Course to Enter')."</h2>\n"); |
$r->print("<h2>".&mt('Select a Course to Enter')."</h2>\n"); |
} |
} |
my $doheaders = &roletable_headers($r,\%roleclass,\%sortrole,$nochoose); |
my $doheaders = &roletable_headers($r,\%roleclass,\%sortrole,$nochoose); |
Line 881 ENDHEADER
|
Line 904 ENDHEADER
|
&Apache::lonhtmlcommon::get_recent('roles',$env{'environment.recentrolesn'}); |
&Apache::lonhtmlcommon::get_recent('roles',$env{'environment.recentrolesn'}); |
my $output=''; |
my $output=''; |
foreach (sort(keys(%recent_roles))) { |
foreach (sort(keys(%recent_roles))) { |
if (defined($roletext{'user.role.'.$_})) { |
if (ref($roletext{'user.role.'.$_}) eq 'ARRAY') { |
$output.=$roletext{'user.role.'.$_}; |
$output.= &Apache::loncommon::start_data_table_row(). |
|
$roletext{'user.role.'.$_}->[0]. |
|
&Apache::loncommon::end_data_table_row(). |
|
&Apache::loncommon::continue_data_table_row(). |
|
$roletext{'user.role.'.$_}->[1]. |
|
&Apache::loncommon::end_data_table_row(); |
if ($_ =~ m-dc\./($match_domain)/- |
if ($_ =~ m-dc\./($match_domain)/- |
&& $dcroles{$1}) { |
&& $dcroles{$1}) { |
$output .= &adhoc_roles_row($1,'recent'); |
$output .= &adhoc_roles_row($1,'recent'); |
Line 896 ENDHEADER
|
Line 924 ENDHEADER
|
if ($output) { |
if ($output) { |
$r->print(&Apache::loncommon::start_data_table_empty_row() |
$r->print(&Apache::loncommon::start_data_table_empty_row() |
.'<td align="center" colspan="5">' |
.'<td align="center" colspan="5">' |
.&mt('Recent Roles') |
.$recent |
.'</td>' |
.'</td>' |
.&Apache::loncommon::end_data_table_empty_row() |
.&Apache::loncommon::end_data_table_empty_row() |
); |
); |
Line 954 ENDHEADER
|
Line 982 ENDHEADER
|
.'<a href="/adm/logout">'.&mt('Logout').'</a> ' |
.'<a href="/adm/logout">'.&mt('Logout').'</a> ' |
.'<a href="/adm/coursecatalog?showdom='.$esc_dom.'">' |
.'<a href="/adm/coursecatalog?showdom='.$esc_dom.'">' |
.&mt('Course Catalog') |
.&mt('Course Catalog') |
.'</small></p>'); |
.'</a></small></p>'); |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
Line 1054 sub print_rolerows {
|
Line 1082 sub print_rolerows {
|
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/) { |
if ($roleclass->{$sortrole->{$which}} =~ /^\Q$type\E/) { |
if (ref($roletext) eq 'HASH') { |
if (ref($roletext) eq 'HASH') { |
$output.=$roletext->{$sortrole->{$which}}; |
if (ref($roletext->{$sortrole->{$which}}) eq 'ARRAY') { |
|
$output.= &Apache::loncommon::start_data_table_row(). |
|
$roletext->{$sortrole->{$which}}->[0]. |
|
&Apache::loncommon::end_data_table_row(). |
|
&Apache::loncommon::continue_data_table_row(). |
|
$roletext->{$sortrole->{$which}}->[1]. |
|
&Apache::loncommon::end_data_table_row(); |
|
} |
if ($sortrole->{$which} =~ m-dc\./($match_domain)/-) { |
if ($sortrole->{$which} =~ m-dc\./($match_domain)/-) { |
if (ref($dcroles) eq 'HASH') { |
if (ref($dcroles) eq 'HASH') { |
if ($dcroles->{$1}) { |
if ($dcroles->{$1}) { |
Line 1202 sub privileges_info {
|
Line 1237 sub privileges_info {
|
|
|
sub build_roletext { |
sub build_roletext { |
my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit) = @_; |
my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit) = @_; |
my $roletext=&Apache::loncommon::start_data_table_row(); |
my ($roletext,$roletext_end); |
my $is_dc=($trolecode =~ m/^dc\./); |
my $is_dc=($trolecode =~ m/^dc\./); |
my $rowspan=($is_dc) ? '' |
my $rowspan=($is_dc) ? '' |
: ' rowspan="2" '; |
: ' rowspan="2" '; |
Line 1222 sub build_roletext {
|
Line 1257 sub build_roletext {
|
} elsif ($tstatus eq 'is') { |
} elsif ($tstatus eq 'is') { |
$roletext.='<td'.$rowspan.' class="'.$tbg.'">'. |
$roletext.='<td'.$rowspan.' class="'.$tbg.'">'. |
'<input name="'.$buttonname.'" type="button" value="'. |
'<input name="'.$buttonname.'" type="button" value="'. |
&mt('Select').'" onClick="javascript:enterrole(this.form,\''. |
&mt('Select').'" onclick="javascript:enterrole(this.form,\''. |
$trolecode."','".$buttonname.'\');" /></td>'; |
$trolecode."','".$buttonname.'\');" /></td>'; |
} elsif ($tryagain) { |
} elsif ($tryagain) { |
$roletext.= |
$roletext.= |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<input name="'.$buttonname.'" type="button" value="'. |
'<input name="'.$buttonname.'" type="button" value="'. |
&mt('Try Selecting Again').'" onClick="javascript:enterrole(this.form,\''. |
&mt('Try Selecting Again').'" onclick="javascript:enterrole(this.form,\''. |
$trolecode."','".$buttonname.'\');" /></td>'; |
$trolecode."','".$buttonname.'\');" /></td>'; |
} elsif ($advanced) { |
} elsif ($advanced) { |
$roletext.= |
$roletext.= |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<input name="'.$buttonname.'" type="button" value="'. |
'<input name="'.$buttonname.'" type="button" value="'. |
&mt('Re-Initialize').'" onClick="javascript:enterrole(this.form,\''. |
&mt('Re-Initialize').'" onclick="javascript:enterrole(this.form,\''. |
$trolecode."','".$buttonname.'\');" /></td>'; |
$trolecode."','".$buttonname.'\');" /></td>'; |
} elsif ($reinit) { |
} elsif ($reinit) { |
$roletext.= |
$roletext.= |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<input name="'.$buttonname.'" type="button" value="'. |
'<input name="'.$buttonname.'" type="button" value="'. |
&mt('Re-Select').'" onClick="javascript:enterrole(this.form,\''. |
&mt('Re-Select').'" onclick="javascript:enterrole(this.form,\''. |
$trolecode."','".$buttonname.'\');" /></td>'; |
$trolecode."','".$buttonname.'\');" /></td>'; |
} else { |
} else { |
$roletext.= |
$roletext.= |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<td'.$rowspan.' class="'.$tbg.'">'. |
'<input name="'.$buttonname.'" type="button" value="'. |
'<input name="'.$buttonname.'" type="button" value="'. |
&mt('Re-Initialize').'" onClick="javascript:enterrole(this.form,\''. |
&mt('Re-Select').'" onclick="javascript:enterrole(this.form,\''. |
$trolecode."','".$buttonname.'\');" /></td>'; |
$trolecode."','".$buttonname.'\');" /></td>'; |
} |
} |
} |
} |
Line 1257 sub build_roletext {
|
Line 1292 sub build_roletext {
|
$roletext.='<td>'.$trole.'</td>' |
$roletext.='<td>'.$trole.'</td>' |
.'<td>'.$twhere.'</td>' |
.'<td>'.$twhere.'</td>' |
.'<td>'.$tpstart.'</td>' |
.'<td>'.$tpstart.'</td>' |
.'<td>'.$tpend.'</td>' |
.'<td>'.$tpend.'</td>'; |
.&Apache::loncommon::end_data_table_row(); |
|
if (!$is_dc) { |
if (!$is_dc) { |
$roletext.=&Apache::loncommon::continue_data_table_row() |
$roletext_end = '<td colspan="4">'. |
.'<td colspan="4">' |
$tremark.' '. |
.$tremark.' ' |
'</td>'; |
.'</td>' |
|
.&Apache::loncommon::end_data_table_row(); |
|
} |
} |
return $roletext; |
return ($roletext,$roletext_end); |
} |
} |
|
|
sub check_needs_switchserver { |
sub check_needs_switchserver { |
Line 1416 sub coursepick_jscript {
|
Line 1448 sub coursepick_jscript {
|
); |
); |
my $verify_script = <<"END"; |
my $verify_script = <<"END"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
function verifyCoursePick(caller) { |
function verifyCoursePick(caller) { |
var numbutton = getIndex(caller) |
var numbutton = getIndex(caller) |
var pickedCourse = document.rolechoice.elements[numbutton+4].value |
var pickedCourse = document.rolechoice.elements[numbutton+4].value |
Line 1444 function getIndex(caller) {
|
Line 1477 function getIndex(caller) {
|
} |
} |
return -1; |
return -1; |
} |
} |
|
// ]]> |
</script> |
</script> |
END |
END |
return $verify_script; |
return $verify_script; |
Line 1458 sub coauthorlink {
|
Line 1492 sub coauthorlink {
|
|
|
sub display_cc_role { |
sub display_cc_role { |
my $rolekey = shift; |
my $rolekey = shift; |
my $roletext; |
my ($roletext,$roletext_end); |
my $advanced = $env{'user.adv'}; |
my $advanced = $env{'user.adv'}; |
my $tryagain = $env{'form.tryagain'}; |
my $tryagain = $env{'form.tryagain'}; |
unless ($rolekey =~/^error\:/) { |
unless ($rolekey =~/^error\:/) { |
Line 1481 sub display_cc_role {
|
Line 1515 sub display_cc_role {
|
} |
} |
my $trole = &Apache::lonnet::plaintext('cc',$ttype); |
my $trole = &Apache::lonnet::plaintext('cc',$ttype); |
$twhere.="<br />".&mt('Domain').":".$1; |
$twhere.="<br />".&mt('Domain').":".$1; |
$roletext = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$trole,$twhere,'','','',1,''); |
($roletext,$roletext_end) = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$trole,$twhere,'','','',1,''); |
} |
} |
} |
} |
return ($roletext); |
return ($roletext,$roletext_end); |
} |
} |
|
|
sub adhoc_roles_row { |
sub adhoc_roles_row { |