version 1.208, 2008/10/08 03:37:20
|
version 1.209.4.1, 2009/09/23 16:55:53
|
Line 483 ENDHEADER
|
Line 483 ENDHEADER
|
my $advanced=$env{'user.adv'}; |
my $advanced=$env{'user.adv'}; |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['tryagain']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['tryagain']); |
my $tryagain=$env{'form.tryagain'}; |
my $tryagain=$env{'form.tryagain'}; |
|
my $reinit=$env{'user.reinit'}; |
|
delete $env{'user.reinit'}; |
|
|
# -------------------------------------------------------- Generate Page Output |
# -------------------------------------------------------- Generate Page Output |
# --------------------------------------------------------------- Error Header? |
# --------------------------------------------------------------- Error Header? |
Line 512 ENDHEADER
|
Line 514 ENDHEADER
|
&Apache::lonenc::check_encrypt($fn)); |
&Apache::lonenc::check_encrypt($fn)); |
} else { |
} else { |
if ($env{'user.error.msg'}) { |
if ($env{'user.error.msg'}) { |
$r->print( |
if ($reinit) { |
|
$r->print( |
|
'<h3><span class="LC_error">'. |
|
&mt('As your session file for the course has expired, you will need to re-select the course.').'</span></h3>'); |
|
} else { |
|
$r->print( |
'<h3><span class="LC_error">'. |
'<h3><span class="LC_error">'. |
&mt('You need to choose another user role or enter a specific course for this function').'</span></h3>'); |
&mt('You need to choose another user role or enter a specific course for this function').'</span></h3>'); |
} |
} |
|
} |
} |
} |
# -------------------------------------------------------- Choice or no choice? |
# -------------------------------------------------------- Choice or no choice? |
if ($nochoose) { |
if ($nochoose) { |
Line 540 ENDHEADER
|
Line 548 ENDHEADER
|
my $possiblerole=''; |
my $possiblerole=''; |
my %futureroles; |
my %futureroles; |
my %roles_nextlogin; |
my %roles_nextlogin; |
|
my %timezones; |
foreach $envkey (sort keys %env) { |
foreach $envkey (sort keys %env) { |
my $button = 1; |
my $button = 1; |
my $switchserver=''; |
my $switchserver=''; |
Line 549 ENDHEADER
|
Line 558 ENDHEADER
|
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend,$tfont); |
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend,$tfont); |
&role_status($envkey,$then,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend); |
&role_status($envkey,$then,$now,\$role,\$where,\$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=' '; |
$tfont='#000000'; |
$tfont='#000000'; |
if ($tstart) { |
if ($tstart) { |
$tpstart=&Apache::lonlocal::locallocaltime($tstart); |
$tpstart=&Apache::lonlocal::locallocaltime($tstart,$timezone); |
} |
} |
if ($tend) { |
if ($tend) { |
$tpend=&Apache::lonlocal::locallocaltime($tend); |
$tpend=&Apache::lonlocal::locallocaltime($tend,$timezone); |
} |
} |
if ($env{'request.role'} eq $trolecode) { |
if ($env{'request.role'} eq $trolecode) { |
$tstatus='selected'; |
$tstatus='selected'; |
Line 689 ENDHEADER
|
Line 699 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,$tfont,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver); |
$roletext.=&build_roletext($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit); |
$roletext{$envkey}=$roletext; |
$roletext{$envkey}=$roletext; |
if (!$sortkey) {$sortkey=$twhere."\0".$envkey;} |
if (!$sortkey) {$sortkey=$twhere."\0".$envkey;} |
$sortrole{$sortkey}=$envkey; |
$sortrole{$sortkey}=$envkey; |
Line 825 ENDHEADER
|
Line 835 ENDHEADER
|
return OK; |
return OK; |
} |
} |
|
|
|
sub role_timezone { |
|
my ($where,$timezones) = @_; |
|
my $timezone; |
|
if (ref($timezones) eq 'HASH') { |
|
if ($where =~ m{^/($match_domain)/($match_courseid)}) { |
|
my $cdom = $1; |
|
my $cnum = $2; |
|
if ($cdom && $cnum) { |
|
if (!exists($timezones->{$cdom.'_'.$cnum})) { |
|
my %timehash = |
|
&Apache::lonnet::get('environment',['timezone'],$cdom,$cnum); |
|
if ($timehash{'timezone'} eq '') { |
|
if (!exists($timezones->{$cdom})) { |
|
my %domdefaults = |
|
&Apache::lonnet::get_domain_defaults($cdom); |
|
if ($domdefaults{'timezone_def'} eq '') { |
|
$timezones->{$cdom} = 'local'; |
|
} else { |
|
$timezones->{$cdom} = $domdefaults{'timezone_def'}; |
|
} |
|
} |
|
$timezones->{$cdom.'_'.$cnum} = $timezones->{$cdom}; |
|
} else { |
|
$timezones->{$cdom.'_'.$cnum} = |
|
&Apache::lonlocal::gettimezone($timehash{'timezone'}); |
|
} |
|
} |
|
$timezone = $timezones->{$cdom.'_'.$cnum}; |
|
} |
|
} else { |
|
my ($tdom) = ($where =~ m{^/($match_domain)}); |
|
if ($tdom) { |
|
if (!exists($timezones->{$tdom})) { |
|
my %domdefaults = &Apache::lonnet::get_domain_defaults($tdom); |
|
if ($domdefaults{'timezone_def'} eq '') { |
|
$timezones->{$tdom} = 'local'; |
|
} else { |
|
$timezones->{$tdom} = $domdefaults{'timezone_def'}; |
|
} |
|
} |
|
$timezone = $timezones->{$tdom}; |
|
} |
|
} |
|
if ($timezone eq 'local') { |
|
$timezone = undef; |
|
} |
|
} |
|
return $timezone; |
|
} |
|
|
sub roletable_headers { |
sub roletable_headers { |
my ($r,$roleclass,$sortrole,$nochoose) = @_; |
my ($r,$roleclass,$sortrole,$nochoose) = @_; |
my $doheaders; |
my $doheaders; |
Line 988 sub role_status {
|
Line 1048 sub role_status {
|
} |
} |
|
|
sub build_roletext { |
sub build_roletext { |
my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver) = @_; |
my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver,$reinit) = @_; |
my $roletext='<tr bgcolor="'.$tbg.'" class="LC_rolesmenu_'.$tstatus.'">'; |
my $roletext='<tr bgcolor="'.$tbg.'" class="LC_rolesmenu_'.$tstatus.'">'; |
my $is_dc=($trolecode =~ m/^dc\./); |
my $is_dc=($trolecode =~ m/^dc\./); |
my $rowspan=($is_dc) ? '' |
my $rowspan=($is_dc) ? '' |
Line 1018 sub build_roletext {
|
Line 1078 sub build_roletext {
|
'<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'. |
'<td'.$rowspan.'><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) { |
|
$roletext.= |
|
'<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'. |
|
&mt('Re-Select').'" onClick="javascript:enterrole(this.form,\''. |
|
$trolecode."','".$buttonname.'\');" /></td>'; |
} else { |
} else { |
$roletext.='<td'.$rowspan.'> </td>'; |
$roletext.= |
|
'<td'.$rowspan.'><input name="'.$buttonname.'" type="button" value="'. |
|
&mt('Re-Initialize').'" onClick="javascript:enterrole(this.form,\''. |
|
$trolecode."','".$buttonname.'\');" /></td>'; |
} |
} |
} |
} |
if ($trolecode !~ m/^(dc|ca|au|aa)\./) { |
if ($trolecode !~ m/^(dc|ca|au|aa)\./) { |