--- rat/lonsequence.pm 2009/02/16 13:52:04 1.37
+++ rat/lonsequence.pm 2012/12/16 17:48:39 1.42
@@ -2,7 +2,7 @@
#
# Sequence Handler
#
-# $Id: lonsequence.pm,v 1.37 2009/02/16 13:52:04 bisitz Exp $
+# $Id: lonsequence.pm,v 1.42 2012/12/16 17:48:39 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -36,6 +36,7 @@ use Apache::lonnet;
use Apache::Constants qw(:common :http REDIRECT);
use GDBM_File;
use LONCAPA::map();
+use LONCAPA;
use Apache::lonpageflip();
use Apache::loncommon();
use Apache::groupsort();
@@ -102,14 +103,15 @@ ENDSCRIPT
'
'.$url.'
');
# ------------------ This is trying to select. Provide buttons and tie %selhash
if ($env{'form.forceselect'}) { $r->print(<
-
-
+
ENDSELECT
my $diropendb =
- "/home/httpd/perl/tmp/$env{'user.domain'}\_$env{'user.name'}_sel_res.db";
+ LONCAPA::tempdir() .
+ "$env{'user.domain'}\_$env{'user.name'}_sel_res.db";
if (tie(%selhash,'GDBM_File',$diropendb,&GDBM_WRCREAT(),0640)) {
if ($env{'form.launch'} eq '1') {
&start_fresh_session();
@@ -151,7 +153,7 @@ ENDSELECT
if ($successtied) {
my $checked='';
if ($selhash{'store_'.$url}) {
- $checked=" checked";
+ $checked=' checked="checked"';
}
$selhash{"pre_${idx}_link"}=$url;
$selhash{"pre_${idx}_title"}=$title;
@@ -170,7 +172,7 @@ ENDCHECKBOX
if ($successtied) {
$r->print('');
} else {
- $r->print(' ');
+ $r->print(' ');
}
}
}
@@ -217,6 +219,7 @@ sub handler {
my $dismapid='';
my $exitdisid = '';
my $arrow_dir = '';
+ my $is_encrypted = '';
if (($env{'request.course.fn'}) && (!$env{'form.forceselect'})) {
my $last;
@@ -247,6 +250,9 @@ sub handler {
if (!$env{'request.role.adv'}) {
$randomout = $bighash{'randomout_'.$disid};
}
+ if (!$env{'request.role.adv'}) {
+ $is_encrypted = $bighash{'encrypted_'.$disid};
+ }
} elsif (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',
&GDBM_READER(),0640)) {
$last=$hash{'last_known'};
@@ -266,6 +272,9 @@ sub handler {
if (!$env{'request.role.adv'}) {
$randomout = $bighash{'randomout_'.$disid};
}
+ if (!$env{'request.role.adv'}) {
+ $is_encrypted = $bighash{'encrypted_'.$disid};
+ }
}
}
$exitdisid = $disid;
@@ -279,30 +288,35 @@ sub handler {
# now either disurl is set (going to first page), or we need another display
if ($disurl) {
# -------------------------------------------------- Has first or last resource
+ my $showdisurl = $disurl;
+ if ($is_encrypted) {
+ $showdisurl = &Apache::lonenc::encrypted($disurl);
+ }
&Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid],
'last_known' => [$disurl,$dismapid]);
&Apache::loncommon::content_type($r,'text/html');
$r->header_out(Location => &Apache::lonnet::absolute_url($ENV{'SERVER_NAME'}).
- $disurl);
+ $showdisurl);
return REDIRECT;
} else {
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
if ($exitdisid eq '' && $arrow_dir ne '') {
my %lt =&Apache::lonlocal::texthash(
- 'back' => 'beginning',
- 'forward' => 'end',
'nere' => 'Next resource could not be displayed',
'goba' => 'Go Back',
'nacc' => 'Navigate Course Content',
);
- my $warnmsg = &mt('As all folders and sequences ');
+ my $warnmsg;
if ($arrow_dir eq 'forward') {
- $warnmsg .= &mt('following the current resource were empty').',';
+ $warnmsg = &mt('As all folders and sequences '
+ .'following the current resource were empty, '
+ .'you have now reached the end of the course.');
} elsif ($arrow_dir eq 'back') {
- $warnmsg .= &mt('preceding the current resource were empty').',';
+ $warnmsg = &mt('As all folders and sequences '.
+ .'preceding the current resource were empty, '
+ .'you have now reached the beginning of the course.');
}
- $warnmsg .= &mt('you have now reached the').' '.$lt{$arrow_dir}.' '.&mt('of the course.');
my $start_page=
&Apache::loncommon::start_page('Empty Folder/Sequence');
my $end_page=