';
+ ''.&mt($title).'';
}
}
} elsif ($$menuitem[3] eq 'Help') { # special treatment for helplink
@@ -424,7 +392,7 @@ sub getauthor{
}
sub secondary_menu {
- my ($httphost,$ltiscope,$ltimenu,$noprimary,$menucoll,$menuref,$links_disabled) = @_;
+ my ($httphost,$links_disabled) = @_;
my $menu;
my $crstype = &Apache::loncommon::course_type();
@@ -445,10 +413,9 @@ sub secondary_menu {
my $canmodpara = &Apache::lonnet::allowed('opa', $crs_sec);
my $canvgr = &Apache::lonnet::allowed('vgr', $crs_sec);
my $canmgr = &Apache::lonnet::allowed('mgr', $crs_sec);
- my $canplc = &Apache::lonnet::allowed('plc', $crs_sec);
my $author = &getauthor();
- my ($cdom,$cnum,$showsyllabus,$showfeeds,$showresv,$grouptools,%menuopts);
+ my ($cdom,$cnum,$showsyllabus,$showfeeds,$showresv,$grouptools);
$grouptools = 0;
if ($env{'request.course.id'}) {
$cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
@@ -483,9 +450,6 @@ sub secondary_menu {
}
}
}
- if (($menucoll) && (ref($menuref) eq 'HASH')) {
- %menuopts = %{$menuref};
- }
my ($listclass,$linkattr);
if ($links_disabled) {
@@ -538,21 +502,12 @@ sub secondary_menu {
&& !$showsyllabus;
next if $$menuitem[4] eq 'showfeeds'
&& !$showfeeds;
- next if $$menuitem[4] eq 'plc'
- && !$canplc;
next if $$menuitem[4] eq 'author'
&& !$author;
next if $$menuitem[4] eq 'cca'
&& !$canmodifycoauthor;
my $title = $menuitem->[3];
- if ($env{'request.course.id'} && $menucoll) {
- if ($$menuitem[5] eq 'main') {
- next if ($menuopts{$$menuitem[5]} eq 'n');
- } elsif ($$menuitem[5] ne 'roles') {
- next if (($$menuitem[5]) && (!$menuopts{$$menuitem[5]}));
- }
- }
if (defined($secondary_submenu{$title})) {
my ($link,$target);
if ($menuitem->[0] ne '') {
@@ -589,16 +544,12 @@ sub secondary_menu {
}
} elsif ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) {
# special treatment for role selector
- my ($switcher,$has_opa_priv);
- ($roleswitcher_js,$roleswitcher_form,$switcher,$has_opa_priv) =
+ ($roleswitcher_js,$roleswitcher_form,my $switcher) =
&roles_selector(
$env{'course.' . $env{'request.course.id'} . '.domain'},
$env{'course.' . $env{'request.course.id'} . '.num'},
$httphost
);
- if (($$menuitem[5]) && (!$menuopts{$$menuitem[5]})) {
- next unless ($has_opa_priv);
- }
$menu .= $switcher;
} else {
if ($$menuitem[3] eq 'Syllabus' && $env{'request.course.id'}) {
@@ -648,7 +599,6 @@ sub secondary_menu {
}
$menu =~ s/\[uname\]/$$author{user}/g;
$menu =~ s/\[udom\]/$$author{dom}/g;
- $menu =~ s/\[javascript\]/javascript:/g;
if ($env{'request.course.id'}) {
$menu =~ s/\[cnum\]/$cnum/g;
$menu =~ s/\[cdom\]/$cdom/g;
@@ -839,12 +789,8 @@ sub innerregister {
@mapcrumbs = $navmap->recursed_crumbs($mapurl,$restitle);
}
}
- unless (($forcereg) &&
- ($env{'request.noversionuri'} eq '/adm/navmaps') &&
- ($mapurl eq $env{'course.'.$env{'request.course.id'}.'.url'})) {
- @crumbs = ({text => $crstype.' Contents',
- href => "Javascript:gopost('/adm/navmaps','')"});
- }
+ @crumbs = ({text => $crstype.' Contents',
+ href => "Javascript:gopost('/adm/navmaps','')"});
if ($mapurl ne $env{'course.'.$env{'request.course.id'}.'.url'}) {
if (@mapcrumbs) {
push(@crumbs,@mapcrumbs);
@@ -1039,13 +985,31 @@ s&6&1&list.png&Directory&dir[_1]&golist(
s&6&2&rtrv.png&Retrieve&version[_1]&gocstr('/adm/retrieve','/priv/$udom/$uname/$cleandisfn')&Retrieve old version
s&6&3&pub.png&Publish&resource[_3]&gocstr('/adm/publish','/priv/$udom/$uname/$cleandisfn')&Publish this resource
s&7&1&del.png&Delete&resource[_2]&gocstr('/adm/cfile?action=delete','/priv/$udom/$uname/$cleandisfn')&Delete this resource
+ENDMENUITEMS
+#
+# Print only makes sense for certain mime types
+#
+ if ($thisdisfn=~/\.(xml|html|htm|xhtml|xhtm|tex)$/ || $thisdisfn=~/$LONCAPA::assess_re/) {
+ $menuitems .= (< 'WARNING!',
- preamble => 'You are trying to end this timed event early.',
- map => 'Confirming that you are done will cause the time to expire and prevent you from changing any answers in the current folder.',
- resource => 'Confirming that you are done will cause the time to expire for this question, and prevent you from changing your answer(s).',
- okdone => 'Click "OK" if you are completely finished.',
- cancel => 'Click "Cancel" to continue working.',
- proctor => 'Ask a proctor to enter the key, then click "OK" if you are completely finished.',
- ok => 'OK',
- exit => 'Cancel',
- key => 'Key:',
- nokey => 'A proctor key is required',
- );
- my $shownsymb = &HTML::Entities::encode(&Apache::lonenc::check_encrypt($env{'request.symb'}));
- my $navmap = Apache::lonnavmaps::navmap->new();
- my ($missing,$tried) = (0,0);
- if (ref($navmap)) {
- my @resources=();
- if ($type eq 'map') {
- my ($mapurl,$rid,$resurl)=&Apache::lonnet::decode_symb($env{'request.symb'});
- if ($env{'request.symb'} =~ /\.page$/) {
- @resources=$navmap->retrieveResources($resurl,sub { $_[0]->is_problem() });
- } else {
- @resources=$navmap->retrieveResources($mapurl,sub { $_[0]->is_problem() });
- }
- } else {
- my $res = $navmap->getBySymb($env{'request.symb'});
- if (ref($res)) {
- if ($res->is_problem()) {
- push(@resources,$res);
- }
- }
- }
- foreach my $res (@resources) {
- if (ref($res->parts()) eq 'ARRAY') {
- foreach my $part (@{$res->parts()}) {
- if (!$res->tries($part)) {
- $missing++;
- } else {
- $tried++;
- }
- }
- }
- }
- }
- if ($missing) {
- $lt{'miss'} .= '
';
- if ($type eq 'map') {
- $lt{'miss'} .= &mt('Submissions are missing for [quant,_1,question part,question parts] in this folder.',$missing);
- } else {
- $lt{'miss'} .= &mt('Submissions are missing for [quant,_1,part] in this question.',$missing);
- }
- if ($missing > 1) {
- $lt{'miss'} .= ' '.&mt('If you confirm you are done you will be unable to submit answers for them.').'';
- } else {
- $lt{'miss'} .= ' '.&mt('If you confirm you are done you will be unable to submit an answer for it.').'