Diff for /loncom/interface/lonsyllabus.pm between versions 1.45 and 1.48

version 1.45, 2006/03/06 22:17:48 version 1.48, 2006/03/15 19:41:26
Line 41  use Apache::lonspeller(); Line 41  use Apache::lonspeller();
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
       &Apache::loncommon::content_type($r,'text/html');
       $r->send_http_header;
       return OK if $r->header_only;
   
       my $target=$env{'form.grade_target'};
 # --------------------------------------------------- Get course info from URL  # --------------------------------------------------- Get course info from URL
     my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri);      my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri);
   # ------------------------------------------------------------ Get query string
       &Apache::loncommon::get_unprocessed_cgi
                           ($ENV{'QUERY_STRING'},['forcestudent','register','forceedit','wrapperdisplay']);
 # ----------------------------------------------------- Is this even a course?  # ----------------------------------------------------- Is this even a course?
     my $homeserver=&Apache::lonnet::homeserver($cnum,$cdom);      my $homeserver=&Apache::lonnet::homeserver($cnum,$cdom);
     if ($homeserver eq 'no_host') {      if ($homeserver eq 'no_host') {
         &Apache::loncommon::content_type($r,'text/html');          &Apache::loncommon::content_type($r,'text/html');
         $r->send_http_header;          $r->send_http_header;
         $r->print('<html><body>'.&mt('No syllabus available').'</body></html>');          $r->print(&Apache::loncommon::startpage('No syllabus available').
     &mt('No syllabus available').
     &Apache::loncommon::end_page());
         return OK;          return OK;
     }      }
 # ------------------------------------- There is such a course, get environment  # ------------------------------------- There is such a course, get environment
     my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);      my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
       
     &Apache::loncommon::content_type($r,'text/html');  
     $r->send_http_header;  
     return OK if $r->header_only;  
 # ------------------------------------------------------------ Print the screen  # ------------------------------------------------------------ Print the screen
     my $target=$env{'form.grade_target'};      my $feedurl='http://'.$ENV{'HTTP_HOST'}.'/public/'.$cdom.'/'.$cnum.'/Course_Announcements.rss';
     my $feedurl='feed://'.$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();
    my $head=&Apache::loncommon::headtag('The LearningOnline Network with CAPA');
  $r->print(<<ENDDOCUMENT);   $r->print(<<ENDDOCUMENT);
 $html  $html
 <head>  $head
 <title>The LearningOnline Network with CAPA</title>  
 <link rel="alternate" type="application/rss+xml" title="Course Announcements" href="$feedurl" />  <link rel="alternate" type="application/rss+xml" title="Course Announcements" href="$feedurl" />
 ENDDOCUMENT  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
       my $addentries='';
       if ($env{'form.register'}) {
          $addentries=' onLoad="'.&Apache::lonmenu::loadevents().
              '" onUnload="'.&Apache::lonmenu::unloadevents().'"';
          $r->print(&Apache::lonmenu::registerurl(1));
       }
   # -------------------------------------------------- Let's see who handles this
       my $externalsyllabus=$courseenv{'externalsyllabus'};
       if ($externalsyllabus=~/\w/) {
          $r->print(&Apache::loncommon::endheadtag());
          if ($env{'form.wrapperdisplay'} eq 'menu') {
   #
   # Producing the menu buttons
   #
              $r->print('<body bgcolor="#FFFFFF">'.
        &Apache::lonmenu::menubuttons(1,'web',1).
        &Apache::loncommon::end_page());
           } 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).
    &Apache::loncommon::end_page());
              } 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 90  ENDDOCUMENT Line 149  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'; };
Line 110  ENDDOCUMENT Line 158  ENDDOCUMENT
 # ----------------------------------------------------------------- Make header   # ----------------------------------------------------------------- Make header 
     if ($target ne 'tex') {      if ($target ne 'tex') {
  $r->print(&Apache::lonhtmlcommon::htmlareaheaders().   $r->print(&Apache::lonhtmlcommon::htmlareaheaders().
   '</head>'.&Apache::loncommon::bodytag    &Apache::loncommon::endheadtag().
             ("Syllabus",$forcestudent,$addentries,'',$cdom,$env{'form.register'}));    &Apache::loncommon::bodytag("Syllabus",$forcestudent,$addentries,'',$cdom,$env{'form.register'}));
  $r->print('<h1>'.$courseenv{'description'}.'</h1><h3>'.   $r->print('<h1>'.$courseenv{'description'}.'</h1><h3>'.
                  $Apache::lonnet::domaindescription{$cdom}.'</h3>');                   $Apache::lonnet::domaindescription{$cdom}.'</h3>');
     } else {      } else {
Line 186  ENDDOCUMENT Line 234  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').
Line 328  ENDDOCUMENT Line 377  ENDDOCUMENT
  $r->print('No syllabus information provided.');   $r->print('No syllabus information provided.');
  if ($target ne 'tex') {$r->print('</p>');}   if ($target ne 'tex') {$r->print('</p>');}
     }      }
     if ($target ne 'tex') {$r->print('</body></html>');} else {$r->print('\end{document}');}      if ($target ne 'tex') {
    $r->print(&Apache::loncommon::end_page());
       } else {
    $r->print('\end{document}');
       }
     return OK;      return OK;
 }   } 
   

Removed from v.1.45  
changed lines
  Added in v.1.48


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