'."\n";
for (my $row=1; $row<=8; $row++) {
foreach my $cat (keys(%category_members)) {
if ($category_positions{$cat} ne "$col,$row") { next; }
#$output.='
+
ENDSERVERFORM
}
@@ -2490,7 +3002,7 @@ sub constspaceform {
unless ((($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) ||
(($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self'))) {
$target = ' target="_top"';
- $printtarget = ' target="_parent"';
+ $printtarget = ' target="_top"';
}
}
return(< 1) || ($numdiffsec > 1)) {
+ my $targetattr;
+ if ($target ne '') {
+ $targetattr = ' target="'.$target.'"';
+ }
my @submenu;
$js = &jump_to_role($cdom,$cnum,\%seccount,\%courseroles,\%courseprivs,
\%roledesc,$privref,$menucoll,$menuref);
$form =
- ''."\n";
+ $form .= ''."\n".
+ ''."\n";
foreach my $role (@roles_order) {
my $include;
if (defined($courseroles{$role})) {
@@ -2699,7 +3216,7 @@ sub roles_selector {
}
}
if (@submenu > 0) {
- $switcher = &create_submenu('#','',&mt('Switch role'),\@submenu);
+ $switcher = &create_submenu('#',$target,&mt('Switch role'),\@submenu);
}
}
return ($js,$form,$switcher,$has_opa_priv);
@@ -3135,7 +3652,7 @@ $donebutton
$collapse
-
+
$expand
$title
@@ -3152,6 +3669,94 @@ sub placement_progress {
&mt('Test is [_1]% complete',$complete).'';
}
+sub linkprot_exit {
+ if (($env{'request.course.id'}) && ($env{'request.deeplink.login'})) {
+ my ($deeplink_symb,$deeplink);
+ my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ if (($cnum ne '') && ($cdom ne '')) {
+ $deeplink_symb = &Apache::loncommon::deeplink_login_symb($cnum,$cdom);
+ if ($deeplink_symb) {
+ if ($deeplink_symb =~ /\.(page|sequence)$/) {
+ my $mapname = &Apache::lonnet::deversion((&Apache::lonnet::decode_symb($deeplink_symb))[2]);
+ my $navmap = Apache::lonnavmaps::navmap->new();
+ if (ref($navmap)) {
+ $deeplink = $navmap->get_mapparam(undef,$mapname,'0.deeplink');
+ }
+ } else {
+ $deeplink = &Apache::lonnet::EXT('resource.0.deeplink',$deeplink_symb);
+ }
+ if ($deeplink ne '') {
+ my ($state,$others,$listed,$scope,$protect,$display,$target,$exit) = split(/,/,$deeplink);
+ my %lt = &Apache::lonlocal::texthash(
+ title => 'Exit Tool',
+ okdone => 'Click "OK" to exit embedded tool',
+ cancel => 'Click "Cancel" to continue working.',
+ ok => 'OK',
+ exit => 'Cancel',
+ );
+ if ($exit) {
+ my ($show,$text) = split(/:/,$exit);
+ unless ($show eq 'no') {
+ my $height = 250;
+ my $width = 300;
+ my $exitbuttontext;
+ if ($text eq '') {
+ $exitbuttontext = &mt('Exit Tool');
+ } else {
+ $exitbuttontext = $text;
+ }
+ return <
+
+
+
+
+
'.&mt($category_names{$cat}).' |

+
+
+
+
+END
+ }
+ }
+ }
+ }
+ }
+ }
+ return;
+}
+
# ================================================================ Main Program
BEGIN {
$lt{'okdone'} $lt{'cancel'}
+