Diff for /loncom/interface/lonsyllabus.pm between versions 1.42 and 1.47

version 1.42, 2005/11/17 21:33:40 version 1.47, 2006/03/07 21:36:20
Line 45  sub handler { Line 45  sub handler {
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
   
 # ------------------------------------------------------------ Print the screen  
     my $target=$env{'form.grade_target'};      my $target=$env{'form.grade_target'};
   # --------------------------------------------------- Get course info from URL
     my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri);      my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri);
     my $feedurl='feed://'.$ENV{'HTTP_HOST'}.'/public/'.$cdom.'/'.$cnum.'/Course_Announcements.rss';  # ------------------------------------------------------------ Get query string
       &Apache::loncommon::get_unprocessed_cgi
                           ($ENV{'QUERY_STRING'},['forcestudent','register','forceedit','wrapperdisplay']);
   # ----------------------------------------------------- Is this even a course?
       my $homeserver=&Apache::lonnet::homeserver($cnum,$cdom);
       if ($homeserver eq 'no_host') {
           &Apache::loncommon::content_type($r,'text/html');
           $r->send_http_header;
           $r->print('<html><body>'.&mt('No syllabus available').'</body></html>');
           return OK;
       }
   # ------------------------------------- There is such a course, get environment
       my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
   
   # ------------------------------------------------------------ Print the screen
       my $feedurl='http://'.$ENV{'HTTP_HOST'}.'/public/'.$cdom.'/'.$cnum.'/Course_Announcements.rss';
     if ($target ne 'tex') {      if ($target ne 'tex') {
  my $html=&Apache::lonxml::xmlbegin();   my $html=&Apache::lonxml::xmlbegin();
  $r->print(<<ENDDOCUMENT);   $r->print(<<ENDDOCUMENT);
Line 60  ENDDOCUMENT Line 75  ENDDOCUMENT
     } else {      } else {
  $r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}));   $r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}));
     }       } 
   # ----------------------------------------------------- Force menu registration
 # Is this even a course?      my $addentries='';
     my $homeserver=&Apache::lonnet::homeserver($cnum,$cdom);       if ($env{'form.register'}) {
     if ($homeserver eq 'no_host') {         $addentries=' onLoad="'.&Apache::lonmenu::loadevents().
  $r->print('</head><body>'.&mt('No syllabus available').'</body></html>');             '" onUnload="'.&Apache::lonmenu::unloadevents().'"';
         return OK;         $r->print(&Apache::lonmenu::registerurl(1));
     }      }
   # -------------------------------------------------- Let's see who handles this
       my $externalsyllabus=$courseenv{'externalsyllabus'};
       if ($externalsyllabus=~/\w/) {
          $r->print('</head>');
          if ($env{'form.wrapperdisplay'} eq 'menu') {
   #
   # Producing the menu buttons
   #
              $r->print('<body bgcolor="#FFFFFF">'.
                   &Apache::lonmenu::menubuttons(1,'web',1).'</body></html>');
           } else {
              if ($env{'browser.interface'} eq 'textual') {
   #
   # ssi-based rendering for text-based interface
   #
                  $r->print('<body bgcolor="#FFFFFF">'.
                           &Apache::lonmenu::menubuttons(1).
                           &Apache::lonnet::ssi_body($externalsyllabus).'</body></html>');
              } elsif ($env{'environment.remote'} eq 'off') {
   #
   # This is inline remote
   # 
                  $r->print(<<ENDDOCUMENTINL);
   <frameset rows="180,*" border=0 $addentries>
   <frame src="/public/$cdom/$cnum/syllabus?wrapperdisplay=menu">
   <frame src="$externalsyllabus">
   </frameset>
   </html>
   ENDDOCUMENTINL
             } else {
   #
   # frame-based rendering for graphical interface
   #
                  $r->print(<<ENDDOCUMENT);
   <frameset rows="1,*" border=0 $addentries>
   <frame src="/adm/rat/empty.html">
   <frame src="$externalsyllabus">
   </frameset>
   </html>
   ENDDOCUMENT
              }
           }
           return OK;
        } 
   
   # ------------------------------ The buck stops here: internal syllabus display
 # --------------------------------------------------------- The syllabus fields  # --------------------------------------------------------- The syllabus fields
     my %syllabusfields=&Apache::lonlocal::texthash(      my %syllabusfields=&Apache::lonlocal::texthash(
        'aaa_instructorinfo' => 'Instructor Information',         'aaa_instructorinfo' => 'Instructor Information',
Line 84  ENDDOCUMENT Line 145  ENDDOCUMENT
        'jjj_weblinks'       => 'Web Links',         'jjj_weblinks'       => 'Web Links',
        'kkk_textbook'       => 'Textbook',         'kkk_textbook'       => 'Textbook',
        'lll_includeurl'     => 'URLs To Include in Syllabus');         'lll_includeurl'     => 'URLs To Include in Syllabus');
   
 # ------------------------------------------------------------ Get query string  
     &Apache::loncommon::get_unprocessed_cgi  
                         ($ENV{'QUERY_STRING'},['forcestudent','register','forceedit']);  
 # ----------------------------------------------------- Force menu registration  
     my $addentries='';  
     if ($env{'form.register'}) {  
        $addentries=' onLoad="'.&Apache::lonmenu::loadevents().  
    '" onUnload="'.&Apache::lonmenu::unloadevents().'"';  
        $r->print(&Apache::lonmenu::registerurl(1));  
     }  
 # --------------------------------------------------------------- Force Student  # --------------------------------------------------------------- Force Student
     my $forcestudent='';      my $forcestudent='';
     if ($env{'form.forcestudent'}) { $forcestudent='student'; };      if ($env{'form.forcestudent'}) { $forcestudent='student'; };
     my $forceedit='';      my $forceedit='';
     if ($env{'form.forceedit'}) { $forceedit='edit'; }      if ($env{'form.forceedit'}) { $forceedit='edit'; }
                 
 # ------------------------------------- There is such a course, get environment  # ----------------------------------------------------------------- Make header 
     my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);  
     if ($target ne 'tex') {      if ($target ne 'tex') {
  $r->print(&Apache::lonhtmlcommon::htmlareaheaders().   $r->print(&Apache::lonhtmlcommon::htmlareaheaders().
   '</head>'.&Apache::loncommon::bodytag    '</head>'.&Apache::loncommon::bodytag
Line 116  ENDDOCUMENT Line 165  ENDDOCUMENT
 # -------------------------------------------------------------- Announcements?  # -------------------------------------------------------------- Announcements?
     if ($target ne 'tex') {      if ($target ne 'tex') {
  $r->print(&Apache::lonannounce::showday(time,2,   $r->print(&Apache::lonannounce::showday(time,2,
                          &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)).         &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)).
   '<p>'.&mt('Course Announcement RSS Feed').': '.                         &Apache::lonrss::advertisefeeds($cnum,$cdom));
   '<a href="'.$feedurl.'"><tt>'.$feedurl.'</tt></a>');  
     } else {      } else {
  $r->print(&Apache::lonxml::xmlparse($r,'tex',   $r->print(&Apache::lonxml::xmlparse($r,'tex',
        &Apache::lonannounce::showday(time,2,         &Apache::lonannounce::showday(time,2,
Line 182  ENDDOCUMENT Line 230  ENDDOCUMENT
     .' <tt>http://'.      .' <tt>http://'.
     $Apache::lonnet::hostname{$homeserver}.$r->uri.'</tt>'.      $Apache::lonnet::hostname{$homeserver}.$r->uri.'</tt>'.
                &Apache::loncommon::help_open_topic('Syllabus_ExtLink').'</p>'.                 &Apache::loncommon::help_open_topic('Syllabus_ExtLink').'</p>'.
             '<p>'.&mt('You can specify an external URL as Syllabus in the [_1].','<a href="/adm/parmset?action=crsenv">'.&mt('Course Parameters').'</a>').'</p>'.
   '<p><a href="'.$r->uri.'?forcestudent=1"><font size="+1">'.    '<p><a href="'.$r->uri.'?forcestudent=1"><font size="+1">'.
 &mt('Show Public View').'</font></a>'.  &mt('Show Public View').'</font></a>'.
           &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').            &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').

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


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