Diff for /loncom/interface/coursecatalog.pm between versions 1.42 and 1.48.2.2

version 1.42, 2008/09/23 13:14:32 version 1.48.2.2, 2009/10/28 17:28:17
Line 90  sub handler { Line 90  sub handler {
     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);
     } else {      } else {
         my ($catlinks,$has_subcats) = &category_breadcrumbs($codedom,@cats);          my ($catlinks,$has_subcats,$selitem) = &category_breadcrumbs($codedom,@cats);
         my $catjs = <<"ENDSCRIPT";          my $catjs = <<"ENDSCRIPT";
   
 function setCatDepth(depth) {  function setCatDepth(depth) {
Line 123  ENDSCRIPT Line 123  ENDSCRIPT
             }              }
         } else {          } else {
             my (%add_entries);              my (%add_entries);
               my ($currdepth,$deeper) = &get_depth_values();
               if ($selitem) {
                   my $alert = &mt('Choose a subcategory to display');
                   if (!$deeper) {
                       $alert = &mt('Choose a category to display');
                   }
                   $catjs .= <<ENDJS;
   function check_selected() {
       if (document.coursecats.$selitem.options[document.coursecats.$selitem.selectedIndex].value == "") {
           alert('$alert');
           return false;
       }
   }
   ENDJS
               }
             $catjs = '<script type="text/javascript">'."\n".$catjs."\n".'</script>';              $catjs = '<script type="text/javascript">'."\n".$catjs."\n".'</script>';
             &cat_header($r,$codedom,$catjs,\%add_entries,$catlinks);              &cat_header($r,$codedom,$catjs,\%add_entries,$catlinks);
             if ($env{'form.currcat_0'} ne '') {              if ($env{'form.currcat_0'} ne '') {
                 $r->print('<form name="'.$formname.                  $r->print('<form name="'.$formname.
                           '" method="post" action="/adm/coursecatalog">'.                            '" method="post" action="/adm/coursecatalog">'.
                           &additional_filters($codedom,$has_subcats)."\n");                            &additional_filters($codedom,$has_subcats)."\n");
                 my ($currdepth,$deeper) = &get_depth_values();  
                 $r->print('<input type="hidden" name="catalog_maxdepth" value="'.                  $r->print('<input type="hidden" name="catalog_maxdepth" value="'.
                           $deeper.'" />'."\n");                            $deeper.'" />'."\n");
                 for (my $i=0; $i<$deeper; $i++) {                  for (my $i=0; $i<$deeper; $i++) {
Line 351  function setElements() { Line 365  function setElements() {
                   '<input type="hidden" name="numtitles" value="'.$numtitles.                    '<input type="hidden" name="numtitles" value="'.$numtitles.
                   '" /></form><br /><br />');                    '" /></form><br /><br />');
     } else {      } else {
           $js = '<script type"text/javascript">'."\n$catjs\n".'</script>';
         &cat_header($r,$codedom,$js,\%add_entries,$catlinks,$numtitles);          &cat_header($r,$codedom,$js,\%add_entries,$catlinks,$numtitles);
         my $cat_maxdepth = $env{'form.catalog_maxdepth'};          my $cat_maxdepth = $env{'form.catalog_maxdepth'};
         $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.          $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.
Line 387  sub cat_header { Line 402  sub cat_header {
           text=>"Select courses"});            text=>"Select courses"});
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('Select courses'));          $r->print(&Apache::lonhtmlcommon::breadcrumbs('Select courses'));
     }      }
       my $onchange;
       unless (($env{'browser.interface'} eq 'textual') || ($env{'form.interface'} eq 'textual')) {
           $onchange = 'this.form.submit()';
       }
     $r->print('<form name="coursecatdom" method="post" action="/adm/coursecatalog">'.      $r->print('<form name="coursecatdom" method="post" action="/adm/coursecatalog">'.
               '<table border="0"><tr><td><b>'.&mt('Domain:').'</b></td><td>'.                '<table border="0"><tr><td><b>'.&mt('Domain:').'</b></td><td>'.
               &Apache::loncommon::select_dom_form($codedom,'showdom','',1).                &Apache::loncommon::select_dom_form($codedom,'showdom','',1,$onchange));
       '&nbsp;<input type="submit" name="godom" value="'.&mt('Change').'" /></td></tr></table></form>'.      if (!$onchange) {
       '<form name="coursecats" method="post" action="/adm/coursecatalog">'.     $r->print('&nbsp;<input type="submit" name="godom" value="'.&mt('Change').'" />');
       }
       $r->print('</td></tr></table></form>'.
         '<form name="coursecats" method="post" action="/adm/coursecatalog"'.
                 ' onsubmit="return check_selected();">'.
               '<table border="0"><tr>'.$catlinks.'</tr></table></form>');                '<table border="0"><tr>'.$catlinks.'</tr></table></form>');
     return;      return;
 }  }
   
 sub category_breadcrumbs {  sub category_breadcrumbs {
     my ($dom,@cats) = @_;      my ($dom,@cats) = @_;
       my $crumbsymbol = ' &#x25b6; ';
     my ($currdepth,$deeper) = &get_depth_values();      my ($currdepth,$deeper) = &get_depth_values();
     my $currcat_str = '<input type="hidden" name="catalog_maxdepth" value="'.$deeper.'" /><input type="hidden" name="showdom" value="'.$dom.'" />';      my $currcat_str = '<input type="hidden" name="catalog_maxdepth" value="'.$deeper.'" /><input type="hidden" name="showdom" value="'.$dom.'" />';
     my $catlinks = '<td valign="top"><b>'.&mt('Catalog:').'</b></td><td><table><tr>';      my $catlinks = '<td valign="top"><b>'.&mt('Catalog:').'</b></td><td><table><tr>';
     my $has_subcats;      my $has_subcats;
       my $selitem;
     for (my $i=0; $i<$deeper; $i++) {      for (my $i=0; $i<$deeper; $i++) {
         $currcat_str .= '<input type="hidden" name="currcat_'.$i.'" value="'.$env{'form.currcat_'.$i}.'" />';          $currcat_str .= '<input type="hidden" name="currcat_'.$i.'" value="'.$env{'form.currcat_'.$i}.'" />';
         my ($cattitle,$shallower);          my ($cattitle,$shallower);
         if ($i == 0) {          if ($i == 0) {
             $cattitle = &mt('Main Categories');              if (ref($cats[0]) eq 'ARRAY') {
                   if (@{$cats[0]} > 1) {
                       $cattitle = &mt('Main Categories');
                   }
               }
         } else {          } else {
             $shallower = $i-1;              $shallower = $i-1;
             my ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$shallower});              my ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$shallower});
             $cattitle = $cat;              $cattitle = $cat;
         }          }
         $catlinks .= '<td valign="top"><a href="javascript:setCatDepth('."'$shallower'".')">'.$cattitle.'</a>-&gt;</td>';          if ($cattitle ne '') {
               $catlinks .= '<td valign="top"><a href="javascript:setCatDepth('."'$shallower'".')">'.$cattitle.'</a>'.$crumbsymbol.'</td>';
           }
     }      }
     if ($deeper == 0) {      if ($deeper == 0) {
         $catlinks .= '<td>'.&mt('Main Categories').':&nbsp;';          $catlinks .= '<td>';
         if (ref($cats[0]) eq 'ARRAY') {          if (ref($cats[0]) eq 'ARRAY') {
             if ((@{$cats[0]} == 1) && ($cats[0][0] eq 'instcode')) {              if ((@{$cats[0]} == 1) && (@cats == 1)) {
                 $catlinks .= &mt('Official courses (with institutional codes)').                  if ($cats[0][0] eq 'instcode') {
                              '<input type="hidden" name="currcat_0" value="instcode::0" />';                      $catlinks .= &mt('Official courses (with institutional codes)').
                 $env{'form.currcat_0'} = 'instcode::0';                                   '<input type="hidden" name="currcat_0" value="instcode::0" />';
                       $env{'form.currcat_0'} = 'instcode::0';
                   } else {
                       my $name = $cats[0][0];
                       my $item = &escape($name).'::0';
                       $catlinks .= $name.
                                '<input type="hidden" name="currcat_0" value="'.$item.'" />';
                       $env{'form.currcat_0'} = $item;
                   }
             } else {              } else {
                 $has_subcats = 1;                  $has_subcats = 1;
                 $catlinks .= '<select name="currcat_0">'."\n";                  my $buttontext = &mt('Show subcategories');
                   $selitem = 'currcat_0';
                   $catlinks .= '<select name="'.$selitem.'">'."\n";
                 if (@{$cats[0]} > 1) {                  if (@{$cats[0]} > 1) {
                     my $selstr;                      $catlinks .= '<option value="" selected="selected">'.&mt('Select').'</option>'."\n";
                     if ($env{'form.currcat_0'} eq '') {                      $buttontext = &mt('Pick main category');
                         $selstr = ' selected="selected" ';  
                     }  
                     $catlinks .= '<option value=""  selected="selected">'.&mt('Select').'</option>'."\n";  
                 }                  }
                 for (my $i=0; $i<@{$cats[0]}; $i++) {                  for (my $i=0; $i<@{$cats[0]}; $i++) {
                     my $name = $cats[0][$i];                      my $name = $cats[0][$i];
Line 443  sub category_breadcrumbs { Line 481  sub category_breadcrumbs {
                     $catlinks .= '</option>'."\n";                      $catlinks .= '</option>'."\n";
                 }                  }
                 $catlinks .= '</select>'."\n".                  $catlinks .= '</select>'."\n".
                              '&nbsp;<input type="submit" name="gocats" value="'.&mt('Change').'" />';                               '&nbsp;<input type="submit" name="gocats" value="'.
                                $buttontext.'" />';
             }              }
         } else {          } else {
             $catlinks .= &mt('Official courses (with institutional codes)').              $catlinks .= &mt('Official courses (with institutional codes)').
Line 463  sub category_breadcrumbs { Line 502  sub category_breadcrumbs {
         if ($cat eq 'instcode') {          if ($cat eq 'instcode') {
             $currcat = &mt('Official courses (with institutional codes)');              $currcat = &mt('Official courses (with institutional codes)');
         }          }
         $catlinks .= '<td>'.$currcat;          $catlinks .= '<td><b>'.$currcat.'</b>';
         if (ref($cats[$deeper]{$cat}) eq 'ARRAY') {          if (ref($cats[$deeper]{$cat}) eq 'ARRAY') {
             $has_subcats = 1;              $has_subcats = 1;
             my $selstr;              my $buttontext = &mt('Show subcategories');
             $catlinks .= ':&nbsp;<select name="currcat_'.$deeper.'">'.              $selitem = 'currcat_'.$deeper;
                          '<option value="" selected="selected">'.              $catlinks .= ':&nbsp;<select name="'.$selitem.'">';
                          &mt('Select').'</option>';              if (@{$cats[$deeper]{$cat}} > 1) {
                   $catlinks .= '<option value="" selected="selected">'.
                                &mt('Select').'</option>';
                   $buttontext = &mt('Pick subcategory');
               }
             for (my $k=0; $k<@{$cats[$deeper]{$cat}}; $k++) {              for (my $k=0; $k<@{$cats[$deeper]{$cat}}; $k++) {
                 my $name = $cats[$deeper]{$cat}[$k];                  my $name = $cats[$deeper]{$cat}[$k];
                 my $item = &escape($name).':'.&escape($cat).':'.$deeper;                  my $item = &escape($name).':'.&escape($cat).':'.$deeper;
                 $catlinks .= '<option value="'.$item.'">'.$name.'</option>'."\n";                  $catlinks .= '<option value="'.$item.'">'.$name.'</option>'."\n";
             }              }
             $catlinks .= '</select>'."\n".              $catlinks .= '</select>'."\n".
                          '&nbsp;<input type="submit" name="gocats" value="'.&mt('Change').'" />';                           '&nbsp;<input type="submit" name="gocats" value="'.
                            $buttontext.'" />';
           } elsif ($cat ne 'instcode') {
               $catlinks .= '&nbsp;'.&mt('(No subcategories)');
         }          }
     }      }
     $catlinks .= $currcat_str.'</td></tr></table></td>';      $catlinks .= $currcat_str.'</td></tr></table></td>';
     return ($catlinks,$has_subcats);      return ($catlinks,$has_subcats,$selitem);
 }  }
   
 sub get_depth_values {  sub get_depth_values {
Line 1019  sub count_students { Line 1065  sub count_students {
         $student_count{$data->[$idx{'status'}]} ++;          $student_count{$data->[$idx{'status'}]} ++;
     }      }
   
     my $countslist = &mt('[quant,_1,section]',$numsec).':<br />';      my $countslist = &mt('[quant,_1,section:,sections:,No sections]',$numsec).'<br />';
     foreach my $status ('Active','Future') {      foreach my $status ('Active','Future') {
         $countslist .= '<nobr>'.$status_title{$status}.': '.          $countslist .= '<span class="LC_nobreak">'.$status_title{$status}.': '.
                        $student_count{$status}.'</nobr><br />';                         $student_count{$status}.'</span><br />';
     }      }
     return $countslist;      return $countslist;
 }  }

Removed from v.1.42  
changed lines
  Added in v.1.48.2.2


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