Diff for /loncom/interface/coursecatalog.pm between versions 1.37 and 1.40

version 1.37, 2008/07/08 09:23:38 version 1.40, 2008/07/15 19:43:15
Line 53  sub handler { Line 53  sub handler {
     }      }
     &Apache::lonacc::get_posted_cgi($r);      &Apache::lonacc::get_posted_cgi($r);
     &Apache::lonlocal::get_language_handle($r);      &Apache::lonlocal::get_language_handle($r);
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['sortby']);      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                               ['sortby','showdom']);
   
     my $codedom = &Apache::lonnet::default_login_domain();      my $codedom = &Apache::lonnet::default_login_domain();
   
Line 105  function changeSort(caller) { Line 106  function changeSort(caller) {
     document.$formname.sortby.value = caller;      document.$formname.sortby.value = caller;
     document.$formname.submit();      document.$formname.submit();
 }  }
   
 function setCourseId(caller) {  function setCourseId(caller) {
     document.$formname.coursenum.value = caller;      document.$formname.coursenum.value = caller;
     document.$formname.submit();      document.$formname.submit();
 }  }
   
 ENDSCRIPT  ENDSCRIPT
           $catjs .= &syllabus_javascript(); 
         my $numtitles;          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,
Line 154  sub course_details { Line 157  sub course_details {
     my $output;      my $output;
     my %add_entries = (topmargin    => "0",      my %add_entries = (topmargin    => "0",
                        marginheight => "0",);                         marginheight => "0",);
       my $js = '<script type="text/javascript">'."\n".
                &syllabus_javascript().'</script>'."\n";
     my $start_page =      my $start_page =
         &Apache::loncommon::start_page('Course Catalog','',          &Apache::loncommon::start_page('Course Catalog',$js,
                                            {                                             {
                                              'add_entries' => \%add_entries,                                               'add_entries' => \%add_entries,
                                              'no_inline_link'   => 1,});                                               'no_inline_link'   => 1,});
Line 171  sub course_details { Line 176  sub course_details {
              {text=>"Course details"});               {text=>"Course details"});
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course Details'));      $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course Details'));
     $r->print('<br />'.&mt('Detailed course information:').'<br /><br />'.      $r->print('<br />'.&mt('Detailed course information:').'<br /><br />'.
               '<form name="'.$formname.'" method="post">'.  
               &print_course_listing($codedom,undef,$trails,$allitems).                &print_course_listing($codedom,undef,$trails,$allitems).
               '<br /><br />');                '<br /><br />');
     $r->print('<a href = "javascript:document.coursecatalog.submit()">'.      $r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.
                 '<a href = "javascript:document.coursecatalog.submit()">'.
               &mt('Back to course listing').'</a>'.                &mt('Back to course listing').'</a>'.
               '<input type="hidden" name="sortby" value="'.                &Apache::lonhtmlcommon::echo_form_input(['coursenum','catalogfilter','showdetails']).'</form>');
               $env{'form.sortby'}.'" />'.      return;
               '<input type="hidden" name="state" value="listing" /></form>');  
 }  }
   
   sub syllabus_javascript {
       return <<"END";
   
   function ToSyllabus(cdom,cnum) {
       if (cdom == '' || cdom == null) {
           return;
       }
       if (cnum == '' || cnum == null) {
           return;
       }
       document.syllabuslaunch.action = "/public/"+cdom+"/"+cnum+"/syllabus";
       document.syllabuslaunch.submit();
   }
   
   END
   }
   
   
 sub instcode_course_selector {  sub instcode_course_selector {
     my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs) = @_;      my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs) = @_;
     my %coursecodes = ();      my %coursecodes = ();
Line 487  sub additional_filters { Line 509  sub additional_filters {
             $output .= '<tr><td><label>'.              $output .= '<tr><td><label>'.
                        '<input type="checkbox" name="withsubcats" value="1" '.                         '<input type="checkbox" name="withsubcats" value="1" '.
                        $include_subcat_status.'/>'.                         $include_subcat_status.'/>'.
                        &mt('Include subcategories within "[_1]"',$catname).                         &mt('Include subcategories within "[_1]"',
                        '</label></td></tr>';                             &unescape($catname)).'</label></td></tr>';
         }          }
     }      }
     my $show_selfenroll_status;      my $show_selfenroll_status;
Line 733  sub print_course_listing { Line 755  sub print_course_listing {
     my %domconfig =      my %domconfig =
         &Apache::lonnet::get_dom('configuration',['usercreation'],$domain);          &Apache::lonnet::get_dom('configuration',['usercreation'],$domain);
     $output .= &construct_data_table($knownuser,\%courses,$details,undef,$now,\%domconfig,$trails,$allitems);      $output .= &construct_data_table($knownuser,\%courses,$details,undef,$now,\%domconfig,$trails,$allitems);
     if ($env{'form.coursenum'} ne '') {      $output .= "\n".'<form name="syllabuslaunch" method="post" action="">'.
         $output .= &Apache::lonhtmlcommon::echo_form_input(['coursenum','state','catalogfilter','sortby','showdetails']);                 '<input type="hidden" name="backto" value="coursecatalog" />'.
     }                 &Apache::lonhtmlcommon::echo_form_input(['catalogfilter']).'</form>';
     return $output;      return $output;
 }  }
   
Line 836  sub build_courseinfo_hash { Line 858  sub build_courseinfo_hash {
         $cleandesc=~s/'/\\'/g;          $cleandesc=~s/'/\\'/g;
         $cleandesc =~ s/^\s+//;          $cleandesc =~ s/^\s+//;
         my ($cdom,$cnum)=split(/\_/,$course);          my ($cdom,$cnum)=split(/\_/,$course);
         my ($descr,$instcode,$singleowner,$ttype,$selfenroll_types,          my ($instcode,$singleowner,$ttype,$selfenroll_types,
             $selfenroll_start,$selfenroll_end,@owners,%ownernames,$categories);              $selfenroll_start,$selfenroll_end,@owners,%ownernames,$categories);
         if (ref($courses->{$course}) eq 'HASH') {          if (ref($courses->{$course}) eq 'HASH') {
             $descr = $courses->{$course}{'description'};              $descr = $courses->{$course}{'description'};
Line 1038  sub courseinfo_row { Line 1060  sub courseinfo_row {
                '<td>'.$xlist_items.'</td>'.                 '<td>'.$xlist_items.'</td>'.
                '<td>'.$title.'&nbsp;<font size="-2">';                 '<td>'.$title.'&nbsp;<font size="-2">';
     if ($showsyllabus) {      if ($showsyllabus) {
         $output .= &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$cnum,$cdom);          $output .= '<a href="javascript:ToSyllabus('."'$cdom','$cnum'".')">'.&mt('Syllabus').'</a>';
     } else {      } else {
         $output .= '&nbsp;';          $output .= '&nbsp;';
     }      }
Line 1092  sub identify_sections { Line 1114  sub identify_sections {
         }          }
     }      }
     @secnums = sort {$a <=> $b} @secnums;      @secnums = sort {$a <=> $b} @secnums;
     my $seclist = join(', ',@secnums);      $seclist = join(', ',@secnums);
     my $numsec = @secnums;      my $numsec = @secnums;
     return ($seclist,$numsec);      return ($seclist,$numsec);
 }  }

Removed from v.1.37  
changed lines
  Added in v.1.40


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