--- loncom/interface/loncommon.pm 2008/07/06 05:01:52 1.664 +++ loncom/interface/loncommon.pm 2008/08/04 22:08:19 1.673 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.664 2008/07/06 05:01:52 raeburn Exp $ +# $Id: loncommon.pm,v 1.673 2008/08/04 22:08:19 felicia Exp $ # # Copyright Michigan State University Board of Trustees # @@ -878,7 +878,7 @@ sub help_open_topic { # Add the graphic my $title = &mt('Online Help'); - my $helpicon=&lonhttpdurl("/res/adm/pages/help.png"); + my $helpicon=&lonhttpdurl("/adm/help/help.png"); $template .= <<"ENDTEMPLATE"; (Help: $topic) ENDTEMPLATE @@ -904,6 +904,9 @@ sub helpLatexCheatsheet { .''. &Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'), undef,undef,600) + .''. + &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'), + undef,undef,600) .''; } @@ -913,6 +916,8 @@ sub general_help { $helptopic='Authoring_Intro'; } elsif ($env{'request.role'}=~/^cc/) { $helptopic='Course_Coordination_Intro'; + } elsif ($env{'request.role'}=~/^dc/) { + $helptopic='Domain_Coordination_Intro'; } return $helptopic; } @@ -4569,6 +4574,10 @@ td.LC_menubuttons_img { text-align: right; } +.LC_roleslog_note { + font-size: smaller; +} + table.LC_aboutme_port { border: 0px; border-collapse: collapse; @@ -6806,6 +6815,10 @@ sub instrule_disallow_msg { } elsif ($checkitem eq 'id') { $response .= &mt("Either upload a file which includes $text{'action'} with a different format -- $text{'one'} that will not conflict with 'official' institutional $text{'items'}, or when associating fields with data columns, omit an association for the ID/Student Number field."); } + } elsif ($mode eq 'selfcreate') { + if ($checkitem eq 'id') { + $response .= &mt("You must either choose $text{'action'} with a different format -- $text{'one'} that will not conflict with 'official' institutional $text{'items'}, or leave the ID field blank."); + } } else { if ($checkitem eq 'username') { $response .= &mt("You must choose $text{'action'} with a different format -- $text{'one'} that will not conflict with 'official' institutional $text{'items'}."); @@ -6834,7 +6847,7 @@ sub sorted_inst_types { my ($usertypes,$order) = &Apache::lonnet::retrieve_inst_usertypes($dom); my $othertitle = &mt('All users'); if ($env{'request.course.id'}) { - $othertitle = 'any'; + $othertitle = &mt('Any users'); } my @types; if (ref($order) eq 'ARRAY') { @@ -6847,9 +6860,6 @@ sub sorted_inst_types { } if (keys(%{$usertypes}) > 0) { $othertitle = &mt('Other users'); - if ($env{'request.course.id'}) { - $othertitle = 'other'; - } } return ($othertitle,$usertypes,\@types); } @@ -7238,7 +7248,6 @@ sub check_for_upload { } } } - my $getpropath = 1; if (($current_disk_usage + $filesize) > $disk_quota){ my $msg = ''. &mt('Unable to upload [_1]. (size = [_2] kilobytes). Disk quota will be exceeded.',''.$fname.'',$filesize).''. @@ -8340,6 +8349,9 @@ idx (reference to hash of counters used jsarray (reference to array of categories used to create Javascript arrays for Domain Coordinator interface for editing Course Categories). +subcats (reference to hash of arrays containing all subcategories within each + category, -recursive) + Returns: nothing Side effects: populates trails and allitems hash references. @@ -8347,7 +8359,7 @@ Side effects: populates trails and allit =cut sub extract_categories { - my ($categories,$cats,$trails,$allitems,$idx,$jsarray) = @_; + my ($categories,$cats,$trails,$allitems,$idx,$jsarray,$subcats) = @_; if (ref($categories) eq 'HASH') { &gather_categories($categories,$cats,$idx,$jsarray); if (ref($cats->[0]) eq 'ARRAY') { @@ -8368,7 +8380,14 @@ sub extract_categories { if (ref($cats->[1]{$name}) eq 'ARRAY') { for (my $j=0; $j<@{$cats->[1]{$name}}; $j++) { my $category = $cats->[1]{$name}[$j]; - &recurse_categories($cats,2,$category,$trails,$allitems,\@parents); + if (ref($subcats) eq 'HASH') { + push(@{$subcats->{$item}},&escape($category).':'.&escape($name).':1'); + } + &recurse_categories($cats,2,$category,$trails,$allitems,\@parents,$subcats); + } + } else { + if (ref($subcats) eq 'HASH') { + $subcats->{$item} = []; } } } @@ -8407,7 +8426,7 @@ Side effects: populates trails and allit =cut sub recurse_categories { - my ($cats,$depth,$category,$trails,$allitems,$parents) = @_; + my ($cats,$depth,$category,$trails,$allitems,$parents,$subcats) = @_; my $shallower = $depth - 1; if (ref($cats->[$depth]{$category}) eq 'ARRAY') { for (my $k=0; $k<@{$cats->[$depth]{$category}}; $k++) { @@ -8420,7 +8439,21 @@ sub recurse_categories { } my $deeper = $depth+1; push(@{$parents},$category); - &recurse_categories($cats,$deeper,$name,$trails,$allitems,$parents); + if (ref($subcats) eq 'HASH') { + my $subcat = &escape($name).':'.$category.':'.$depth; + for (my $j=@{$parents}; $j>=0; $j--) { + my $higher; + if ($j > 0) { + $higher = &escape($parents->[$j]).':'. + &escape($parents->[$j-1]).':'.$j; + } else { + $higher = &escape($parents->[$j]).'::'.$j; + } + push(@{$subcats->{$higher}},$subcat); + } + } + &recurse_categories($cats,$deeper,$name,$trails,$allitems,$parents, + $subcats); pop(@{$parents}); } } else { @@ -8480,7 +8513,7 @@ sub assign_categories_table { } $output .= '' .''.&escape($parent).''; + $item.'"'.$checked.' />'.$parent.''; my $depth = 1; push(@path,$parent); $output .= &assign_category_rows($itemcount,\@cats,$depth,$parent,\@path,\@currcategories);