version 1.256, 2010/08/01 18:34:19
|
version 1.259, 2010/09/02 17:06:38
|
Line 730 ENDHEADER
|
Line 730 ENDHEADER
|
$r->print('<input type="hidden" name="selectrole" value="1" />'); |
$r->print('<input type="hidden" name="selectrole" value="1" />'); |
$r->print('<input type="hidden" name="newrole" value="" />'); |
$r->print('<input type="hidden" name="newrole" value="" />'); |
} |
} |
|
$r->rflush(); |
|
|
my (%roletext,%sortrole,%roleclass,%futureroles,%timezones); |
my (%roletext,%sortrole,%roleclass,%futureroles,%timezones); |
my ($countactive,$countfuture,$inrole,$possiblerole) = |
my ($countactive,$countfuture,$inrole,$possiblerole) = |
Line 845 ENDHEADER
|
Line 846 ENDHEADER
|
} elsif ($numdc > 0) { |
} elsif ($numdc > 0) { |
unless ($role =~/^error\:/) { |
unless ($role =~/^error\:/) { |
my ($roletext,$role_text_end) = &display_cc_role('user.role.'.$role); |
my ($roletext,$role_text_end) = &display_cc_role('user.role.'.$role); |
$output.= &Apache::loncommon::start_data_table_row(). |
if ($roletext) { |
$roletext. |
$output.= &Apache::loncommon::start_data_table_row(). |
&Apache::loncommon::end_data_table_row(). |
$roletext. |
&Apache::loncommon::continue_data_table_row(). |
&Apache::loncommon::end_data_table_row(); |
$role_text_end. |
if ($role_text_end) { |
&Apache::loncommon::end_data_table_row(); |
$output .= &Apache::loncommon::continue_data_table_row(). |
|
$role_text_end. |
|
&Apache::loncommon::end_data_table_row(); |
|
} |
|
} |
} |
} |
} |
} |
} |
} |
Line 931 sub gather_roles {
|
Line 936 sub gather_roles {
|
&Apache::lonnet::role_status($envkey,$then,$refresh,$now,\$role,\$where, |
&Apache::lonnet::role_status($envkey,$then,$refresh,$now,\$role,\$where, |
\$trolecode,\$tstatus,\$tstart,\$tend); |
\$trolecode,\$tstatus,\$tstart,\$tend); |
next if (!defined($role) || $role eq '' || $role =~ /^gr/); |
next if (!defined($role) || $role eq '' || $role =~ /^gr/); |
my $timezone = &role_timezone($where,$timezones); |
|
$tremark=''; |
$tremark=''; |
$tpstart=' '; |
$tpstart=' '; |
$tpend=' '; |
$tpend=' '; |
if ($tstart) { |
|
$tpstart=&Apache::lonlocal::locallocaltime($tstart,$timezone); |
|
} |
|
if ($tend) { |
|
$tpend=&Apache::lonlocal::locallocaltime($tend,$timezone); |
|
} |
|
if ($env{'request.role'} eq $trolecode) { |
if ($env{'request.role'} eq $trolecode) { |
$tstatus='selected'; |
$tstatus='selected'; |
} |
} |
Line 949 sub gather_roles {
|
Line 947 sub gather_roles {
|
|| ($tstatus eq 'selected') |
|| ($tstatus eq 'selected') |
|| ($tstatus eq 'future') |
|| ($tstatus eq 'future') |
|| ($env{'form.showall'})) { |
|| ($env{'form.showall'})) { |
|
my $timezone = &role_timezone($where,$timezones); |
|
if ($tstart) { |
|
$tpstart=&Apache::lonlocal::locallocaltime($tstart,$timezone); |
|
} |
|
if ($tend) { |
|
$tpend=&Apache::lonlocal::locallocaltime($tend,$timezone); |
|
} |
if ($tstatus eq 'is') { |
if ($tstatus eq 'is') { |
$tbg='LC_roles_is'; |
$tbg='LC_roles_is'; |
$possiblerole=$trolecode; |
$possiblerole=$trolecode; |
Line 1032 sub gather_roles {
|
Line 1037 sub gather_roles {
|
'</span>'; |
'</span>'; |
unless ($home && grep(/^\Q$home\E$/,@ids) && $loncaparev eq '') { |
unless ($home && grep(/^\Q$home\E$/,@ids) && $loncaparev eq '') { |
my $required = $env{'course.'.$tcourseid.'.internal.releaserequired'}; |
my $required = $env{'course.'.$tcourseid.'.internal.releaserequired'}; |
($switchserver,$switchwarning) = |
if ($required ne '') { |
&check_release_required($loncaparev,$tcourseid,$trolecode,$required); |
($switchserver,$switchwarning) = |
if ($switchserver || $switchwarning) { |
&check_release_required($loncaparev,$tcourseid,$trolecode,$required); |
$button = 0; |
if ($switchserver || $switchwarning) { |
|
$button = 0; |
|
} |
} |
} |
} |
} |
} |
} |
Line 1053 sub gather_roles {
|
Line 1060 sub gather_roles {
|
my $home = $newhash{'home'}; |
my $home = $newhash{'home'}; |
unless ($home && grep(/^\Q$home\E$/,@ids) && $loncaparev eq '') { |
unless ($home && grep(/^\Q$home\E$/,@ids) && $loncaparev eq '') { |
my $required = $newhash{'internal.releaserequired'}; |
my $required = $newhash{'internal.releaserequired'}; |
($switchserver,$switchwarning) = |
if ($required ne '') { |
&check_release_required($loncaparev,$tcourseid,$trolecode,$required); |
($switchserver,$switchwarning) = |
if ($switchserver || $switchwarning) { |
&check_release_required($loncaparev,$tcourseid,$trolecode,$required); |
$button = 0; |
if ($switchserver || $switchwarning) { |
|
$button = 0; |
|
} |
} |
} |
} |
} |
} else { |
} else { |
Line 1102 sub role_timezone {
|
Line 1111 sub role_timezone {
|
my $cnum = $2; |
my $cnum = $2; |
if ($cdom && $cnum) { |
if ($cdom && $cnum) { |
if (!exists($timezones->{$cdom.'_'.$cnum})) { |
if (!exists($timezones->{$cdom.'_'.$cnum})) { |
my %timehash = |
my $tz; |
&Apache::lonnet::get('environment',['timezone'],$cdom,$cnum); |
if ($env{'course.'.$cdom.'_'.$cnum.'.description'}) { |
if ($timehash{'timezone'} eq '') { |
$tz = $env{'course.'.$cdom.'_'.$cnum.'.timezone'}; |
|
} else { |
|
my %timehash = |
|
&Apache::lonnet::get('environment',['timezone'],$cdom,$cnum); |
|
$tz = $timehash{'timezone'}; |
|
} |
|
if ($tz eq '') { |
if (!exists($timezones->{$cdom})) { |
if (!exists($timezones->{$cdom})) { |
my %domdefaults = |
my %domdefaults = |
&Apache::lonnet::get_domain_defaults($cdom); |
&Apache::lonnet::get_domain_defaults($cdom); |
Line 1117 sub role_timezone {
|
Line 1132 sub role_timezone {
|
$timezones->{$cdom.'_'.$cnum} = $timezones->{$cdom}; |
$timezones->{$cdom.'_'.$cnum} = $timezones->{$cdom}; |
} else { |
} else { |
$timezones->{$cdom.'_'.$cnum} = |
$timezones->{$cdom.'_'.$cnum} = |
&Apache::lonlocal::gettimezone($timehash{'timezone'}); |
&Apache::lonlocal::gettimezone($tz); |
} |
} |
} |
} |
$timezone = $timezones->{$cdom.'_'.$cnum}; |
$timezone = $timezones->{$cdom.'_'.$cnum}; |
Line 1564 sub check_release_required {
|
Line 1579 sub check_release_required {
|
my ($switchserver,$warning); |
my ($switchserver,$warning); |
if ($required ne '') { |
if ($required ne '') { |
my ($reqdmajor,$reqdminor) = ($required =~ /^(\d+)\.(\d+)$/); |
my ($reqdmajor,$reqdminor) = ($required =~ /^(\d+)\.(\d+)$/); |
my ($major,$minor) = ($loncaparev =~ /^\'?(\d+)\.(\d+)\.[\d.\-]+\'?$/); |
my ($major,$minor) = ($loncaparev =~ /^\'?(\d+)\.(\d+)\.[\w.\-]+\'?$/); |
if ($reqdmajor ne '' && $reqdminor ne '') { |
if ($reqdmajor ne '' && $reqdminor ne '') { |
my $otherserver; |
my $otherserver; |
if (($major eq '' && $minor eq '') || |
if (($major eq '' && $minor eq '') || |
Line 1573 sub check_release_required {
|
Line 1588 sub check_release_required {
|
my $switchlcrev = |
my $switchlcrev = |
&Apache::lonnet::get_server_loncaparev($env{'user.domain'}, |
&Apache::lonnet::get_server_loncaparev($env{'user.domain'}, |
$userdomserver); |
$userdomserver); |
my ($swmajor,$swminor) = ($switchlcrev =~ /^\'?(\d+)\.(\d+)\.[\d.\-]+\'?$/); |
my ($swmajor,$swminor) = ($switchlcrev =~ /^\'?(\d+)\.(\d+)\.[\w.\-]+\'?$/); |
if (($swmajor eq '' && $swminor eq '') || ($reqdmajor > $swmajor) || |
if (($swmajor eq '' && $swminor eq '') || ($reqdmajor > $swmajor) || |
(($reqdmajor == $swmajor) && ($reqdminor > $swminor))) { |
(($reqdmajor == $swmajor) && ($reqdminor > $swminor))) { |
my $cdom = $env{'course.'.$tcourseid.'.domain'}; |
my $cdom = $env{'course.'.$tcourseid.'.domain'}; |
Line 1737 sub display_cc_role {
|
Line 1752 sub display_cc_role {
|
$env{'course.'.$tcourseid.'.description'}=$twhere; |
$env{'course.'.$tcourseid.'.description'}=$twhere; |
} |
} |
my $trole = &Apache::lonnet::plaintext($ccrole,$ttype,$tcourseid); |
my $trole = &Apache::lonnet::plaintext($ccrole,$ttype,$tcourseid); |
$twhere.="<br />".&mt('Domain').":".$1; |
$twhere.="<br />".&mt('Domain').":".$tdom; |
($roletext,$roletext_end) = &build_roletext($trolecode,$tdom,$trest,'is',$tryagain,$advanced,'',$tbg,$trole,$twhere,'','','',1,''); |
($roletext,$roletext_end) = &build_roletext($trolecode,$tdom,$trest,'is',$tryagain,$advanced,'',$tbg,$trole,$twhere,'','','',1,''); |
} |
} |
} |
} |