Diff for /loncom/interface/coursecatalog.pm between versions 1.58 and 1.58.4.5

version 1.58, 2009/11/23 22:02:50 version 1.58.4.5, 2010/10/07 14:47:59
Line 87  sub handler { Line 87  sub handler {
     }      }
     &Apache::loncommon::extract_categories($cathash,\@cats,\@trails,\%allitems,      &Apache::loncommon::extract_categories($cathash,\@cats,\@trails,\%allitems,
                                            \%idx,\@jsarray,$subcats);                                             \%idx,\@jsarray,$subcats);
       my ($numtitles,@codetitles);
     if ($env{'form.coursenum'} ne '' && &user_is_known()) {      if ($env{'form.coursenum'} ne '' && &user_is_known()) {
         &course_details($r,$codedom,$formname,$domdesc,\@trails,\%allitems);          &course_details($r,$codedom,$formname,$domdesc,\@trails,\%allitems,\@codetitles);
     } else {      } else {
         my ($catlinks,$has_subcats,$selitem) = &category_breadcrumbs($codedom,@cats);          my ($catlinks,$has_subcats,$selitem) = &category_breadcrumbs($codedom,@cats);
         my $catjs = <<"ENDSCRIPT";          my $catjs = <<"ENDSCRIPT";
Line 114  function setCourseId(caller) { Line 115  function setCourseId(caller) {
   
 ENDSCRIPT  ENDSCRIPT
         $catjs .= &courselink_javascript();           $catjs .= &courselink_javascript(); 
         my $numtitles;  
         if ($env{'form.currcat_0'} eq 'instcode::0') {          if ($env{'form.currcat_0'} eq 'instcode::0') {
             $numtitles = &instcode_course_selector($r,$codedom,$formname,$domdesc,              $numtitles = &instcode_course_selector($r,$codedom,$formname,$domdesc,
                                                    $catlinks,$catjs);                                                     $catlinks,$catjs,\@codetitles);
             if ($env{'form.state'} eq 'listing') {              if ($env{'form.state'} eq 'listing') {
                 $r->print(&print_course_listing($codedom,$numtitles));                  $r->print(&print_course_listing($codedom,$numtitles,undef,undef,undef,
                                                   \@codetitles));
             }              }
         } else {          } else {
             my (%add_entries);              my (%add_entries);
Line 164  ENDJS Line 165  ENDJS
                           $display_button.'" /></form><br /><br />');                            $display_button.'" /></form><br /><br />');
             }              }
             if ($env{'form.state'} eq 'listing') {              if ($env{'form.state'} eq 'listing') {
                 $r->print(&print_course_listing($codedom,undef,\@trails,\%allitems,$subcats));                  $r->print(&print_course_listing($codedom,undef,\@trails,\%allitems,$subcats,\@codetitles));
             }              }
         }          }
     }      }
Line 173  ENDJS Line 174  ENDJS
 }  }
   
 sub course_details {  sub course_details {
     my ($r,$codedom,$formname,$domdesc,$trails,$allitems) = @_;      my ($r,$codedom,$formname,$domdesc,$trails,$allitems,$codetitles) = @_;
     my $output;      my $output;
     my %add_entries = (topmargin    => "0",      my %add_entries = (topmargin    => "0",
                        marginheight => "0",);                         marginheight => "0",);
Line 190  sub course_details { Line 191  sub course_details {
                 ({href=>"/adm/coursecatalog",                  ({href=>"/adm/coursecatalog",
                   text=>"Course/Community Catalog"});                    text=>"Course/Community Catalog"});
     }      }
       my $brtextone = 'Course listing'; 
       my $brtexttwo = 'Course details';
       if ($env{'form.currcat_0'} eq 'communities::0') {
           $brtextone = 'Community listing';
           $brtexttwo = 'Community details';
       }
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
              ({href=>"javascript:document.$formname.submit()",               ({href=>"javascript:document.$formname.submit()",
               text=>"Course listing"},                text=>$brtextone},
              {text=>"Course details"});               {text=>$brtexttwo});
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog'));      $r->print('<br />');
     $r->print('<br />'.&mt('Detailed course information:').'<br /><br />'.      if ($env{'form.currcat_0'} eq 'communities::0') {
               &print_course_listing($codedom,undef,$trails,$allitems).          $r->print(&mt('Detailed community information:'));
       } else {
           $r->print(&mt('Detailed course information:'));
       }
       $r->print('<br /><br />'.
                 &print_course_listing($codedom,undef,$trails,$allitems,undef,$codetitles).
               '<br /><br />');                '<br /><br />');
     $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.      $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.
               '<a href = "javascript:document.coursecatalog.submit()">'.                '<a href = "javascript:document.coursecatalog.submit()">');
               &mt('Back to course listing').'</a>'.      if ($env{'form.currcat_0'} eq 'communities::0') {
           $r->print(&mt('Back to community listing'));
       } else {
           $r->print(&mt('Back to course listing'));
       }
       $r->print('</a>'.
               &Apache::lonhtmlcommon::echo_form_input(['coursenum','catalogfilter',                &Apache::lonhtmlcommon::echo_form_input(['coursenum','catalogfilter',
                                                        'showdetails','courseid']).'</form>');                                                         'showdetails','courseid']).'</form>');
     return;      return;
Line 233  END Line 250  END
 }  }
   
 sub instcode_course_selector {  sub instcode_course_selector {
     my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs) = @_;      my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs,$codetitles) = @_;
     my %coursecodes = ();      my %coursecodes = ();
     my %codes = ();      my %codes = ();
     my @codetitles = ();  
     my %cat_titles = ();      my %cat_titles = ();
     my %cat_order = ();      my %cat_order = ();
     my %cat_items;      my %cat_items;
Line 246  sub instcode_course_selector { Line 262  sub instcode_course_selector {
                        marginheight => "0",);                         marginheight => "0",);
     my ($jscript,$totcodes,$numtitles,$lasttitle) =       my ($jscript,$totcodes,$numtitles,$lasttitle) = 
         &Apache::courseclassifier::instcode_selectors_data($codedom,$formname,          &Apache::courseclassifier::instcode_selectors_data($codedom,$formname,
                            \%cat_items,\@codetitles,\%cat_titles,\%cat_order);                             \%cat_items,$codetitles,\%cat_titles,\%cat_order);
     my $js = '<script type"text/javascript">'."\n$jscript\n$catjs\n".      my $js = '<script type"text/javascript">'."\n$jscript\n$catjs\n".
               '</script>';                '</script>';
     if ($totcodes) {      if ($totcodes) {
Line 263  sub instcode_course_selector { Line 279  sub instcode_course_selector {
         if ($numtitles > 0) {          if ($numtitles > 0) {
             $r->print('<b>'.&mt('Choose which course(s) to list.').'</b><br />'.              $r->print('<b>'.&mt('Choose which course(s) to list.').'</b><br />'.
                       &Apache::courseclassifier::build_instcode_selectors($numtitles,                        &Apache::courseclassifier::build_instcode_selectors($numtitles,
                        $lasttitle,\%cat_items,\@codetitles,\%cat_titles,\%cat_order));                         $lasttitle,\%cat_items,$codetitles,\%cat_titles,\%cat_order));
         }          }
         $r->print('<input type="hidden" name="coursenum" value="" />'."\n".          $r->print('<input type="hidden" name="coursenum" value="" />'."\n".
                   '<input type="hidden" name="sortby" value="" />'."\n".                    '<input type="hidden" name="sortby" value="" />'."\n".
Line 294  sub cat_header { Line 310  sub cat_header {
                                          'add_entries' => $add_entries,                                           'add_entries' => $add_entries,
                                          'no_inline_link'   => 1,});                                           'no_inline_link'   => 1,});
     $r->print($start_page);      $r->print($start_page);
       my $brtext = 'Course listing';
       if ($env{'form.currcat_0'} eq 'communities::0') {
           $brtext = 'Community listing';
       }
     if ($env{'form.state'} eq 'listing') {      if ($env{'form.state'} eq 'listing') {
         if ($numtitles > 0) {          if ($numtitles > 0) {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>"/adm/coursecatalog",                  ({href=>"/adm/coursecatalog",
                   text=>"Course/Community Catalog"},                    text=>"Course/Community Catalog"},
                  {text=>"Course listing"});                   {text=>$brtext});
         } else {          } else {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
             ({text=>"Course listing"});              ({text=>$brtext});
         }          }
     } else {      } else {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
Line 381  sub category_breadcrumbs { Line 401  sub category_breadcrumbs {
                     $catlinks .= '<option value="">'.&mt('De-select').'</option>';                      $catlinks .= '<option value="">'.&mt('De-select').'</option>';
                     for (my $j=0; $j<@{$cats[$shallower]{$container}}; $j++) {                      for (my $j=0; $j<@{$cats[$shallower]{$container}}; $j++) {
                         my $name = $cats[$shallower]{$container}[$j];                          my $name = $cats[$shallower]{$container}[$j];
                         my $item = &escape($name).':'.$container.':'.$shallower;                          my $item = &escape($name).':'.&escape($container).':'.$shallower;
                         my $selected = '';                          my $selected = '';
                         if ($item eq $env{'form.currcat_'.$shallower}) {                          if ($item eq $env{'form.currcat_'.$shallower}) {
                             $selected = ' selected="selected"';                              $selected = ' selected="selected"';
Line 561  sub user_is_dc { Line 581  sub user_is_dc {
 }  }
   
 sub search_official_courselist {  sub search_official_courselist {
     my ($domain,$numtitles) = @_;      my ($domain,$numtitles,$codetitles) = @_;
     my $instcode = &Apache::courseclassifier::instcode_search_str($domain,$numtitles);      my $instcode = &Apache::courseclassifier::instcode_search_str($domain,$numtitles,$codetitles);
     my $showhidden;      my $showhidden;
     if (&user_is_dc($domain)) {      if (&user_is_dc($domain)) {
         $showhidden = $env{'form.showhidden'};          $showhidden = $env{'form.showhidden'};
Line 619  sub search_courselist { Line 639  sub search_courselist {
 }  }
   
 sub print_course_listing {  sub print_course_listing {
     my ($domain,$numtitles,$trails,$allitems,$subcats) = @_;      my ($domain,$numtitles,$trails,$allitems,$subcats,$codetitles) = @_;
     my $output;      my $output;
     my %courses;      my %courses;
     my $knownuser = &user_is_known();      my $knownuser = &user_is_known();
Line 634  sub print_course_listing { Line 654  sub print_course_listing {
                                                  $env{'form.coursenum'},                                                   $env{'form.coursenum'},
                                                  undef,undef,'.',1);                                                   undef,undef,'.',1);
         if (keys(%courses) == 0) {          if (keys(%courses) == 0) {
             $output .= &mt('The courseID provided does not match a course in this domain.');              if ($env{'form.currcat_0'} eq 'communities::0') {
                   $output .= &mt('The courseID provided does not match a community in this domain.');
               } else {
                   $output .= &mt('The courseID provided does not match a course in this domain.');
               }
             return $output;              return $output;
         }          }
     } else {      } else {
         if ($env{'form.currcat_0'} eq 'instcode::0') {          if ($env{'form.currcat_0'} eq 'instcode::0') {
             %courses = &search_official_courselist($domain,$numtitles);              %courses = &search_official_courselist($domain,$numtitles,$codetitles);
         } else {          } else {
             %courses = &search_courselist($domain,$subcats);              %courses = &search_courselist($domain,$subcats);
         }          }
Line 703  sub construct_data_table { Line 727  sub construct_data_table {
     }      }
     if ($knownuser) {      if ($knownuser) {
         if ($details) {          if ($details) {
             $output .=              if ($env{'form.currcat_0'} eq 'communities::0') {
               '<th>'.&mt('Default Access Dates for Students').'</th>'.                  $output .= '<th>'.&mt('Default Access Dates for Members').'</th>';
               '<th>'.&mt('Student Counts').'</th>'.              } else {
               '<th>'.&mt('Auto-enrollment of[_1]registered students','<br />').'</th>';                  $output .=
                       '<th>'.&mt('Default Access Dates for Students').'</th>'.
                       '<th>'.&mt('Student Counts').'</th>'.
                       '<th>'.&mt('Auto-enrollment of[_1]registered students','<br />').'</th>';
               }
         } else {          } else {
             $output .= '<th>'.&mt('Details').'</th>';              $output .= '<th>'.&mt('Details').'</th>';
         }          }
Line 975  sub courseinfo_row { Line 1003  sub courseinfo_row {
                '<td>'.$ownerlast.'</td>';                 '<td>'.$ownerlast.'</td>';
     if ($knownuser) {      if ($knownuser) {
         if ($details) {          if ($details) {
             $output .=              if ($env{'form.currcat_0'} eq 'communities::0') {
                '<td>'.$accessdates.'</td>'.                   $output .= '<td>'.$accessdates.'</td>';
                '<td>'.$counts.'</td>'.              } else {
                '<td>'.$autoenrollment.'</td>';                  $output .=
                       '<td>'.$accessdates.'</td>'.
                       '<td>'.$counts.'</td>'.
                       '<td>'.$autoenrollment.'</td>';
               }
         } else {          } else {
             $output .= "<td><a href=\"javascript:setCourseId('$cnum')\">".&mt('Show more details').'</a></td>';              $output .= "<td><a href=\"javascript:setCourseId('$cnum')\">".&mt('Show more details').'</a></td>';
         }          }

Removed from v.1.58  
changed lines
  Added in v.1.58.4.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>