");
$("#LC_rt_"+id).click(editorHandler);
}';
if ($dragmath_prefix ne '') {
@@ -1346,13 +1366,13 @@ sub htmlareaselectactive {
});
$(".LC_richDefaultOn").each(function() {
var id = $(this).attr("id");
- $(this).before("
");
$("#LC_rt_"+id).click(editorHandler);
});
@@ -1387,7 +1407,8 @@ sub htmlareaselectactive {
# is used to determine when the countdown timer turns red to warn the user
# to think about submitting.
- my $dueDateLayout = &mt('Due in: {dn} {dl} {hnn}{sep}{mnn}{sep}{snn} [_1]',"");
+ my $dueDateLayout = &mt('Due in: {dn} {dl} {hnn}{sep}{mnn}{sep}{snn} [_1]',
+ "");
my $early = '- '.&mt('Submit Early').'';
my $pastdue = '- '.&mt('Past Due').'';
$output .= <'."\n"
.'// ]]>'."\n"
.'';
return $output;
@@ -1751,11 +1773,24 @@ returns: nothing
.$links
;
}
-
- &render_tools(\$links);
- $links = &htmltag('div', $links,
- { id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ;
- &render_advtools(\$links);
+ my $nav_and_tools = 0;
+ foreach my $item ('navigation','tools') {
+ if (ref($tools{$item}) eq 'ARRAY') {
+ $nav_and_tools += scalar(@{$tools{$item}})
+ }
+ }
+ if (($links ne '') || ($nav_and_tools)) {
+ &render_tools(\$links);
+ $links = &htmltag('div', $links,
+ { id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ;
+ }
+ my $adv_tools = 0;
+ if (ref($tools{'advtools'}) eq 'ARRAY') {
+ $adv_tools = scalar(@{$tools{'advtools'}});
+ }
+ if (($links ne '') || ($adv_tools)) {
+ &render_advtools(\$links);
+ }
# Return the @Crumbs stack to what we started with
push(@Crumbs,$last);
@@ -1885,13 +1920,13 @@ returns: nothing
sub docs_breadcrumbs {
my ($allowed,$crstype,$contenteditor,$title,$precleared)=@_;
- my ($folderpath,@folders);
- if ($env{'form.pagepath'}) {
- @folders = split('&',$env{'form.pagepath'});
- } else {
- @folders = split('&',$env{'form.folderpath'});
+ my ($folderpath,@folders,$supplementalflag);
+ @folders = split('&',$env{'form.folderpath'});
+ if ($env{'form.folderpath'} =~ /^supplemental/) {
+ $supplementalflag = 1;
}
my $plain='';
+ my $container = 'sequence';
my ($randompick,$isencrypted,$ishidden,$is_random_order) = (-1,0,0,0);
my @docs_crumbs;
while (@folders) {
@@ -1907,21 +1942,24 @@ sub docs_breadcrumbs {
}
$url .= &escape($folderpath);
my $name=&unescape($foldername);
-# each of randompick number, hidden, encrypted, random order are
-# appended with ":"s to the foldername
- $name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)$//;
- if ($contenteditor) {
- if ($1 ne '') {
- $randompick=$1;
- } else {
- $randompick=-1;
+# each of randompick number, hidden, encrypted, random order, is_page
+# are appended with ":"s to the foldername
+ $name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)\:?(\d*)$//;
+ unless ($supplementalflag) {
+ if ($contenteditor) {
+ if ($1 ne '') {
+ $randompick=$1;
+ } else {
+ $randompick=-1;
+ }
+ if ($2) { $ishidden=1; }
+ if ($3) { $isencrypted=1; }
+ if ($4 ne '') { $is_random_order = 1; }
+ if ($5 == 1) {$container = 'page'; }
}
- if ($2) { $ishidden=1; }
- if ($3) { $isencrypted=1; }
- if ($4 ne '') { $is_random_order = 1; }
}
if ($folder eq 'supplemental') {
- $name = &mt('Supplemental '.$crstype.' Contents');
+ $name = &mt('Supplemental Content');
}
if ($contenteditor) {
$plain.=$name.' > ';
@@ -1955,7 +1993,7 @@ sub docs_breadcrumbs {
return (&breadcrumbs(undef,undef,$menulink,'nohelp',undef,undef,
$contenteditor),
$randompick,$ishidden,$isencrypted,$plain,
- $is_random_order);
+ $is_random_order,$container);
} else {
return \@docs_crumbs;
}
@@ -2188,11 +2226,11 @@ sub course_selection {
my $courseform=''.&Apache::loncommon::selectcourse_link
($formname,'pickcourse','pickdomain','coursedesc','',1,$crstype).'';
- $output .= ''.$allcrs.' ';
+ $output .= ' ';
if ($totcodes > 0) {
my $numtitles = @$codetitles;
if ($numtitles > 0) {
- $output .= ''.&mt('Pick courses by category:').' ';
+ $output .= ' ';
$output .= '
'.$$codetitles[0].' '."\n".
'
';
}
}
- $output .= ''.$pickspec.' '.$courseform.' selected. '."\n";
+ $output .=
+ ''
+ .' '.$courseform.' '
+ .&mt('[_1] selected.',
+ ''
+ .'')
+ .' '."\n";
return $output;
}
@@ -3018,7 +3064,10 @@ PARAMSONE
}
if ((chkh == 1) || (listwchange)) {
var primaryheight = document.getElementById('LC_nav_bar').offsetHeight;
- var secondaryheight = document.getElementById('LC_secondary_menu').offsetHeight;
+ var secondaryheight;
+ if (document.getElementById('LC_secondary_menu') != null) {
+ secondaryheight = document.getElementById('LC_secondary_menu').offsetHeight;
+ }
var crumbsheight = document.getElementById('LC_breadcrumbs').offsetHeight;
var dccidheight = 0;
if (document.getElementById('dccid') != null) {
@@ -3109,7 +3158,7 @@ ENDUTILITY
sub jump_to_editres {
my ($cfile,$home,$switchserver,$forceedit,$forcereg,$symb,$folderpath,
- $title,$idx,$suppurl) = @_;
+ $title,$idx,$suppurl,$todocs) = @_;
my $jscall;
if ($switchserver) {
if ($home) {
@@ -3153,6 +3202,9 @@ sub jump_to_editres {
if ($forcereg) {
$cfile .= (($cfile=~/\?/)?'&':'?').'register=1';
}
+ if ($todocs) {
+ $cfile .= (($cfile=~/\?/)?'&':'?').'todocs=1';
+ }
}
$jscall = "go('$cfile')";
}
@@ -3525,6 +3577,40 @@ sub funclist_from_array {
{ listattr => {class => 'LC_funclist'} });
}
+=pod
+
+=item &actionbox( \@array )
+
+Constructs a XHTML list from \@array with the first item being visually
+highlighted and set to the value 'Actions'. The list is wrapped in a division.
+
+The actionlist is used to offer contextual actions, mostly at the bottom
+of a page, on which the outcome of an processed action is shown,
+e.g. a file operation in Authoring Space.
+
+=over
+
+=item \@array
+
+A reference to the array containing text. Details: sub funclist_from_array
+
+=back
+
+Returns: XHTML div as string.
+
+=back
+
+=cut
+
+sub actionbox {
+ my ($items) = @_;
+ return unless(ref($items) eq 'ARRAY');
+ return
+ '