--- loncom/interface/lonsyllabus.pm 2005/11/17 21:33:40 1.42 +++ loncom/interface/lonsyllabus.pm 2006/03/06 23:02:22 1.46 @@ -1,7 +1,7 @@ # The LearningOnline Network # Syllabus # -# $Id: lonsyllabus.pm,v 1.42 2005/11/17 21:33:40 www Exp $ +# $Id: lonsyllabus.pm,v 1.46 2006/03/06 23:02:22 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -45,10 +45,25 @@ sub handler { $r->send_http_header; return OK if $r->header_only; -# ------------------------------------------------------------ Print the screen my $target=$env{'form.grade_target'}; +# --------------------------------------------------- Get course info from URL 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','headermode']); +# ----------------------------------------------------- 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(''.&mt('No syllabus available').''); + 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') { my $html=&Apache::lonxml::xmlbegin(); $r->print(<print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'})); } - -# Is this even a course? - my $homeserver=&Apache::lonnet::homeserver($cnum,$cdom); - if ($homeserver eq 'no_host') { - $r->print(''.&mt('No syllabus available').''); - return OK; +# ----------------------------------------------------- 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{'course.'.$cdom.'_'.$cnum.'_externalsyllabus'}; + if ($externalsyllabus=~/\w/) { + } + +# ------------------------------ The buck stops here: internal syllabus display # --------------------------------------------------------- The syllabus fields my %syllabusfields=&Apache::lonlocal::texthash( 'aaa_instructorinfo' => 'Instructor Information', @@ -84,25 +105,13 @@ ENDDOCUMENT 'jjj_weblinks' => 'Web Links', 'kkk_textbook' => 'Textbook', '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 my $forcestudent=''; if ($env{'form.forcestudent'}) { $forcestudent='student'; }; my $forceedit=''; if ($env{'form.forceedit'}) { $forceedit='edit'; } -# ------------------------------------- There is such a course, get environment - my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum); +# ----------------------------------------------------------------- Make header if ($target ne 'tex') { $r->print(&Apache::lonhtmlcommon::htmlareaheaders(). ''.&Apache::loncommon::bodytag @@ -116,9 +125,8 @@ ENDDOCUMENT # -------------------------------------------------------------- Announcements? if ($target ne 'tex') { $r->print(&Apache::lonannounce::showday(time,2, - &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)). - '

'.&mt('Course Announcement RSS Feed').': '. - ''.$feedurl.''); + &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)). + &Apache::lonrss::advertisefeeds($cnum,$cdom)); } else { $r->print(&Apache::lonxml::xmlparse($r,'tex', &Apache::lonannounce::showday(time,2,