version 1.8.2.4, 2023/01/21 21:16:25
|
version 1.8.2.5, 2023/07/05 19:20:19
|
Line 68 sub handler {
|
Line 68 sub handler {
|
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
if ($chome ne 'no_host') { |
if ($chome ne 'no_host') { |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['ttoken']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['ttoken']); |
my ($linkprot,$linkprotuser,$linkprotexit,$ltoken); |
my ($linkprot,$linkprotuser,$linkprotexit,$ltoken,$linkprotpbid,$linkprotpburl); |
if ($env{'form.ttoken'}) { |
if ($env{'form.ttoken'}) { |
my %link_info = &Apache::lonnet::tmpget($env{'form.ttoken'}); |
my %link_info = &Apache::lonnet::tmpget($env{'form.ttoken'}); |
if ($link_info{'origurl'} eq $r->uri) { |
if ($link_info{'origurl'} eq $r->uri) { |
Line 78 sub handler {
|
Line 78 sub handler {
|
$linkprot = $ltoken_info{'linkprot'}; |
$linkprot = $ltoken_info{'linkprot'}; |
$linkprotuser = $ltoken_info{'linkprotuser'}; |
$linkprotuser = $ltoken_info{'linkprotuser'}; |
$linkprotexit = $ltoken_info{'linkprotexit'}; |
$linkprotexit = $ltoken_info{'linkprotexit'}; |
|
$linkprotpbid = $ltoken_info{'linkprotpbid'}; |
|
$linkprotpburl = $ltoken_info{'linkprotpburl'}; |
} elsif ($link_info{'linkprot'}) { |
} elsif ($link_info{'linkprot'}) { |
$linkprot = $link_info{'linkprot'}; |
$linkprot = $link_info{'linkprot'}; |
if ($link_info{'linkprotuser'}) { |
if ($link_info{'linkprotuser'}) { |
Line 86 sub handler {
|
Line 88 sub handler {
|
if ($link_info{'linkprotexit'}) { |
if ($link_info{'linkprotexit'}) { |
$linkprotexit = $link_info{'linkprotexit'}; |
$linkprotexit = $link_info{'linkprotexit'}; |
} |
} |
|
if ($link_info{'linkprotpbid'}) { |
|
$linkprotpbid = $link_info{'linkprotpbid'}; |
|
} |
|
if ($link_info{'linkprotpburl'}) { |
|
$linkprotpburl = $link_info{'linkprotpburl'}; |
|
} |
} |
} |
} |
} |
} |
} |
Line 220 sub handler {
|
Line 228 sub handler {
|
} |
} |
} |
} |
my @allposs = keys(%active); |
my @allposs = keys(%active); |
|
if ($env{'request.lti.login'}) { |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); |
|
if ($env{'request.lti.target'} eq '') { |
|
if ($env{'form.ltitarget'} eq 'iframe') { |
|
&Apache::lonnet::appenv({'request.lti.target' => 'iframe'}); |
|
delete($env{'form.ltitarget'}); |
|
} |
|
} |
|
if ($env{'form.selectrole'}) { |
|
foreach my $role (@allposs) { |
|
my $newrole = "$role./$cdom/$cnum"; |
|
if ($possroles{$allposs[0]} ne '') { |
|
$newrole .= "/$possroles{$role}"; |
|
} |
|
if ($env{"form.$newrole"}) { |
|
my $destination .= '/adm/roles?selectrole=1&'.$newrole.'=1'. |
|
'&destinationurl='.&HTML::Entities::encode($r->uri,'&<>"'); |
|
if ($env{'form.ltitarget'} eq 'iframe') { |
|
$destination .= '<itarget=iframe'; |
|
} |
|
&do_redirect($r,$destination); |
|
return OK; |
|
} |
|
} |
|
} |
|
} |
if (@allposs == 0) { |
if (@allposs == 0) { |
&show_roles($r,\%crsenv,\%active,'','',\%future,\%expired,$linkprot,$linkprotuser,$linkprotexit,$ltoken); |
&show_roles($r,\%crsenv,\%active,'','',\%future,\%expired,$linkprot,$linkprotuser, |
|
$linkprotexit,$linkprotpbid,$linkprotpburl,$ltoken); |
} elsif (@allposs == 1) { |
} elsif (@allposs == 1) { |
my $newrole = "$allposs[0]./$cdom/$cnum"; |
my $newrole = "$allposs[0]./$cdom/$cnum"; |
$newrole = "$allposs[0]./$cdom/$cnum"; |
$newrole = "$allposs[0]./$cdom/$cnum"; |
if ($possroles{$allposs[0]} ne '') { |
if ($possroles{$allposs[0]} ne '') { |
$newrole .= "/$possroles{$allposs[0]}"; |
$newrole .= "/$possroles{$allposs[0]}"; |
} |
} |
my $destination .= '/adm/roles?selectrole=1&'.$newrole.'=1'. |
my $destination .= '/adm/roles?selectrole=1&'.$newrole.'=1'. |
'&destinationurl='.&HTML::Entities::encode($r->uri,'&<>"'); |
'&destinationurl='.&HTML::Entities::encode($r->uri,'&<>"'); |
Line 273 sub handler {
|
Line 308 sub handler {
|
|
|
sub launch_check { |
sub launch_check { |
my ($linkuri,$symb) = @_; |
my ($linkuri,$symb) = @_; |
my ($linkprotector,$linkproturi,$linkprotexit,$linkkey,$newlauncher); |
my ($linkprotector,$linkproturi,$linkprotexit,$linkprotpbid,$linkprotpburl,$linkkey,$newlauncher); |
if ($env{'form.ttoken'}) { |
if ($env{'form.ttoken'}) { |
my %link_info = &Apache::lonnet::tmpget($env{'form.ttoken'}); |
my %link_info = &Apache::lonnet::tmpget($env{'form.ttoken'}); |
&Apache::lonnet::tmpdel($env{'form.ttoken'}); |
&Apache::lonnet::tmpdel($env{'form.ttoken'}); |
Line 314 sub launch_check {
|
Line 349 sub launch_check {
|
if ($link_info{'linkprotexit'}) { |
if ($link_info{'linkprotexit'}) { |
$linkprotexit = $link_info{'linkprotexit'}; |
$linkprotexit = $link_info{'linkprotexit'}; |
} |
} |
|
if ($link_info{'linkprotpbid'}) { |
|
$linkprotpbid = $link_info{'linkprotpbid'}; |
|
} |
|
if ($link_info{'linkprotpburl'}) { |
|
$linkprotpburl = $link_info{'linkprotpburl'}; |
|
} |
} elsif ($link_info{'linkkey'} ne '') { |
} elsif ($link_info{'linkkey'} ne '') { |
$linkkey = $link_info{'linkkey'}; |
$linkkey = $link_info{'linkkey'}; |
my $keyedlinkuri = $linkuri; |
my $keyedlinkuri = $linkuri; |
Line 387 sub launch_check {
|
Line 428 sub launch_check {
|
if ($env{'request.linkprotexit'} ne '') { |
if ($env{'request.linkprotexit'} ne '') { |
&Apache::lonnet::delenv('request.linkprotexit'); |
&Apache::lonnet::delenv('request.linkprotexit'); |
} |
} |
|
if ($env{'request.linkprotpbid'} ne '') { |
|
&Apache::lonnet::delenv('request.linkprotpbid'); |
|
} |
|
if ($env{'request.linkprotpburl'} ne '') { |
|
&Apache::lonnet::delenv('request.linkprotpburl'); |
|
} |
} |
} |
} else { |
} else { |
unless ($currdeeplinklogin eq $linkuri) { |
unless ($currdeeplinklogin eq $linkuri) { |
Line 401 sub launch_check {
|
Line 448 sub launch_check {
|
} elsif ($env{'request.linkprotexit'}) { |
} elsif ($env{'request.linkprotexit'}) { |
&Apache::lonnet::delenv('request.linkprotexit'); |
&Apache::lonnet::delenv('request.linkprotexit'); |
} |
} |
|
if ($linkprotpbid) { |
|
&Apache::lonnet::appenv({'request.linkprotpbid' => $linkprotpbid}); |
|
} elsif ($env{'request.linkprotpbid'}) { |
|
&Apache::lonnet::delenv('request.linkprotpbid'); |
|
} |
|
if ($linkprotpburl) { |
|
&Apache::lonnet::appenv({'request.linkprotpburl' => $linkprotpburl}); |
|
} elsif ($env{'request.linkprotpburl'}) { |
|
&Apache::lonnet::delenv('request.linkprotpburl'); |
|
} |
if ($linkkey ne '') { |
if ($linkkey ne '') { |
&Apache::lonnet::appenv({'request.linkkey' => $linkkey}); |
&Apache::lonnet::appenv({'request.linkkey' => $linkkey}); |
} elsif ($env{'request.linkkey'} ne '') { |
} elsif ($env{'request.linkkey'} ne '') { |
Line 427 sub launch_check {
|
Line 484 sub launch_check {
|
} elsif ($env{'request.linkprotexit'}) { |
} elsif ($env{'request.linkprotexit'}) { |
&Apache::lonnet::delenv('request.linkprotexit'); |
&Apache::lonnet::delenv('request.linkprotexit'); |
} |
} |
|
if ($linkprotpbid) { |
|
&Apache::lonnet::appenv({'request.linkprotpbid' => $linkprotpbid}); |
|
} elsif ($env{'request.linkprotpbid'}) { |
|
&Apache::lonnet::delenv('request.linkprotpbid'); |
|
} |
|
if ($linkprotpburl) { |
|
&Apache::lonnet::appenv({'request.linkprotpburl' => $linkprotpburl}); |
|
} elsif ($env{'request.linkprotpburl'}) { |
|
&Apache::lonnet::delenv('request.linkprotpburl'); |
|
} |
if ($linkkey ne '') { |
if ($linkkey ne '') { |
&Apache::lonnet::appenv({'request.linkkey' => $linkkey}); |
&Apache::lonnet::appenv({'request.linkkey' => $linkkey}); |
} else { |
} else { |
Line 443 sub launch_check {
|
Line 510 sub launch_check {
|
sub do_redirect { |
sub do_redirect { |
my ($r,$destination,$linkprot) = @_; |
my ($r,$destination,$linkprot) = @_; |
my $windowname = 'loncapaclient'; |
my $windowname = 'loncapaclient'; |
|
if ($env{'request.lti.login'}) { |
|
$windowname .= 'lti'; |
|
} |
my $header = '<meta HTTP-EQUIV="Refresh" CONTENT="0; url='.$destination.'" />'; |
my $header = '<meta HTTP-EQUIV="Refresh" CONTENT="0; url='.$destination.'" />'; |
my $args = {'bread_crumbs' => [{'href' => '','text' => 'Role initialization'},],}; |
my $args = {'bread_crumbs' => [{'href' => '','text' => 'Role initialization'},],}; |
if ($linkprot) { |
if ($linkprot) { |
Line 466 sub do_redirect {
|
Line 536 sub do_redirect {
|
} |
} |
|
|
sub show_roles { |
sub show_roles { |
my ($r,$crsenv,$possroles,$hassection,$hascustom,$futureroles,$expiredroles,$linkprot,$linkprotuser,$linkprotexit,$ltoken) = @_; |
my ($r,$crsenv,$possroles,$hassection,$hascustom,$futureroles,$expiredroles, |
|
$linkprot,$linkprotuser,$linkprotexit,$linkprotpbid,$linkprotpburl,$ltoken) = @_; |
my ($crsdesc,$crstype,$cdom,$cnum,$header,$title,$preamble,$datatable,$js,$args); |
my ($crsdesc,$crstype,$cdom,$cnum,$header,$title,$preamble,$datatable,$js,$args); |
if (ref($crsenv) eq 'HASH') { |
if (ref($crsenv) eq 'HASH') { |
$crsdesc = $crsenv->{'description'}; |
$crsdesc = $crsenv->{'description'}; |
Line 607 ENDJS
|
Line 678 ENDJS
|
origurl => $r->uri, |
origurl => $r->uri, |
linkprot => $linkprot, |
linkprot => $linkprot, |
linkprotexit => $linkprotexit, |
linkprotexit => $linkprotexit, |
|
linkprotpbid => $linkprotpbid, |
|
linkprotpburl => $linkprotpburl, |
); |
); |
my $token = |
my $token = |
&Apache::lonnet::tmpput(\%data,$r->dir_config('lonHostID'),'retry'); |
&Apache::lonnet::tmpput(\%data,$r->dir_config('lonHostID'),'retry'); |
Line 643 ENDJS
|
Line 716 ENDJS
|
sub generic_error { |
sub generic_error { |
my ($r) = @_; |
my ($r) = @_; |
my $continuelink; |
my $continuelink; |
my $linktext; |
unless ($env{'request.lti.login'}) { |
if ($env{'user.adv'}) { |
my $linktext; |
$linktext = &mt('Continue to your roles page'); |
if ($env{'user.adv'}) { |
} else { |
$linktext = &mt('Continue to your roles page'); |
$linktext = &mt('Continue to your courses page'); |
} else { |
|
$linktext = &mt('Continue to your courses page'); |
|
} |
|
$continuelink='<a href="/adm/roles">'.$linktext.'</a>'; |
} |
} |
$continuelink='<a href="/adm/roles">'.$linktext.'</a>'; |
|
my $msg = &mt('The page you requested does not exist.'); |
my $msg = &mt('The page you requested does not exist.'); |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |