--- loncom/interface/lonsyllabus.pm 2009/03/27 15:46:38 1.84 +++ loncom/interface/lonsyllabus.pm 2009/04/15 10:49:30 1.86 @@ -1,7 +1,7 @@ # The LearningOnline Network # Syllabus # -# $Id: lonsyllabus.pm,v 1.84 2009/03/27 15:46:38 bisitz Exp $ +# $Id: lonsyllabus.pm,v 1.86 2009/04/15 10:49:30 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -69,20 +69,20 @@ sub handler { if ($target eq 'tex') { $r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'})); - } + } # -------------------------------------------------- Let's see who handles this my $externalsyllabus=$courseenv{'externalsyllabus'}; if ($externalsyllabus=~/\w/) { - + if ($env{'form.wrapperdisplay'} eq 'menu') { $r->print(&Apache::lonwrapper::simple_menu()); - } else { + } else { $r->print(&Apache::lonwrapper::wrapper("/public/$cdom/$cnum/syllabus?wrapperdisplay=menu", $externalsyllabus)); } return OK; - } + } # ------------------------------ The buck stops here: internal syllabus display # --------------------------------------------------------- The syllabus fields @@ -107,8 +107,8 @@ sub handler { if ($env{'form.forcestudent'}) { $forcestudent='student'; }; my $forceedit=''; if ($env{'form.forceedit'}) { $forceedit='edit'; } - -# ----------------------------------------------------------------- Make header + +# ----------------------------------------------------------------- Make header if ($target ne 'tex') { my $rss_link = &Apache::lonrss::rss_link($cnum,$cdom); my $js; @@ -139,7 +139,7 @@ function getIndexByName(item) { ENDSCRIPT } - my $start_page = + my $start_page = &Apache::loncommon::start_page("Syllabus", $rss_link.$js, {'function' => $forcestudent, 'domain' => $cdom, @@ -161,8 +161,8 @@ ENDSCRIPT ({href=>$r->uri, text=>"Course syllabus"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs()); - } - + } + } # ---------------------------------------------------------- Load syllabus info my %syllabus=&Apache::lonnet::dump('syllabus',$cdom,$cnum); @@ -182,7 +182,7 @@ ENDSCRIPT $forcestudent='student'; } if ($forcestudent or $target eq 'tex') { $allowed=0; } - } + } if (($allowed) && ($env{'form.storesyl'})) { foreach my $syl_field (keys(%syllabusfields)) { my $field=$env{'form.'.$syl_field}; @@ -229,17 +229,34 @@ ENDSCRIPT &Apache::lonnet::put('syllabus',\%syllabus,$cdom,$cnum); } } -#-Pritn Help Text + +#---------------------Print External URL Syllabus Info +if( ($allowed) && ($target ne 'tex') ) { + my $protocol = $Apache::lonnet::protocol{$homeserver}; + $protocol = 'http' if ($protocol ne 'https'); + $r->print('

' + .&mt('This syllabus can be publicly viewed at [_1]' + ,''.$protocol.'://'.&Apache::lonnet::hostname($homeserver).$r->uri.'') + .' '.&Apache::loncommon::help_open_topic('Syllabus_ExtLink') + .'

' + .'

' + .&mt('Instead of using this template you can specify an external URL as Syllabus in the [_1]Course Parameters[_2].' + ,'','') + .'

' + ); +} + +#-Print Help Text if ($target ne 'tex') { - if($allowed){ + if($allowed){ $r->print(&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes'))); } } #--------Functions if ($target ne 'tex') { - if($allowed || $privileged){ + if($allowed || $privileged){ $r->print(&Apache::lontemplate::start_functionslist()); - if($allowed){ + if($allowed){ $r->print(&Apache::lontemplate::item_functionslist( ''.&mt('Show Public View').'' .&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView'))); @@ -252,7 +269,7 @@ if ($target ne 'tex') { } #----------------------------Print Headtitle if($target ne 'tex'){ - $r->print('

'.$courseenv{'description'}.'

'); + $r->print('

'.$courseenv{'description'}.'

'); $r->print('

'. &Apache::lonnet::domain($cdom,'description').'

'); }else{ $r->print('\noindent{\large\textbf{'.$courseenv{'description'}.'}}\\\\\\\\\textbf{'. @@ -271,7 +288,7 @@ if($target ne 'tex'){ if ($target ne 'tex') { $r->print(&Apache::lonhtmlcommon::row_title($element)); } else { - $r->print(' '.&Apache::lonxml::xmlparse($r,'tex',$element).' & '); + $r->print(' '.&Apache::lonxml::xmlparse($r,'tex',$element).' & '); } foreach (split(/\,/,$coursepersonnel{$element})) { my ($puname,$pudom)=split(/\:/,$_); @@ -307,7 +324,7 @@ if($target ne 'tex'){ my $who = &Apache::loncommon::aboutmewrapper( &Apache::loncommon::plainname($syllabus{'uploaded.name'}, $syllabus{'uploaded.domain'}),$syllabus{'uploaded.name'}, - $syllabus{'uploaded.domain'}); + $syllabus{'uploaded.domain'}); if ($target ne 'tex') { $r->print('
'.&mt('Last updated').':'. $lastmod.''. @@ -321,68 +338,62 @@ if($target ne 'tex'){ :'') .'\\\\'); } -#---------------------Print Extern URL Course Info -if( ($allowed) && ($target ne 'tex') ) { - my $protocol = $Apache::lonnet::protocol{$homeserver}; - $protocol = 'http' if ($protocol ne 'https'); - $r->print('

'.&mt('This syllabus can be publicly viewed at').' '.$protocol.'://'.&Apache::lonnet::hostname($homeserver).$r->uri.''.&Apache::loncommon::help_open_topic('Syllabus_ExtLink').'

'.'

'.&mt('You can specify an external URL as Syllabus in the [_1].',''.&mt('Course Parameters').'').'

'); -} # -------------------------------------------------------------- Announcements? my $day = &Apache::lonannounce::showday(time,2, &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)); if ($target ne 'tex') { if($allowed){ &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_ContentBoxSpecial'); - $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); + $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); &Apache::lontemplate::print_end_template($r); } - elsif(&Apache::lonrss::advertisefeeds($cnum,$cdom) ne ''){ + elsif(&Apache::lonrss::advertisefeeds($cnum,$cdom) ne ''){ &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_ContentBoxSpecial'); - $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); + $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit)); &Apache::lontemplate::print_end_template($r); } - + } else { $r->print(&Apache::lonxml::xmlparse($r,'tex',$day)); - } + } # ---------------------------------------------------------------- Get syllabus - if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { + if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { if ($allowed) { $r->print('
'. ''); } my @htmlids=(); - + foreach my $field (sort(keys(%syllabusfields))) { if (($syllabus{$field}=~/\w/) || ($allowed)) { my $message=$syllabus{$field}; if ($field eq 'lll_includeurl') { # this is the "included" field - my $urls=$message; - $message=''; - foreach my $filelink (split(/\n/,$urls)) { + my $urls=$message; + $message=''; + foreach my $filelink (split(/\n/,$urls)) { my $output=''; # embed style? - my ($curfext)=($filelink=~/\.([^\.]+)$/); - my $embstyle=&Apache::loncommon::fileembstyle($curfext); + my ($curfext)=($filelink=~/\.([^\.]+)$/); + my $embstyle=&Apache::loncommon::fileembstyle($curfext); if (($embstyle eq 'ssi') || ($curfext=~/\/$/)) {# make ssi call and remove everything but the body contents $output=&Apache::lonnet::ssi_body($filelink); } elsif ($embstyle eq 'img') {# embed as an image $output=''; } if($output ne ''){ - if ($target ne 'tex') { + if ($target ne 'tex') { $message.='

'.$output.'

'; } else { $message.=' '.&Apache::lonxml::xmlparse($r,'tex','

'.$output.'

').' '; } - } + } } if ($allowed) { $r->print('

'.$syllabusfields{$field}. &Apache::loncommon::help_open_topic('Syllabus_URLs').'

'); } else { $r->print($message); - } + } } else { &Apache::lonfeedback::newline_to_br(\$message); $message =~s|(https?\://[^\s]+)|$1|g; @@ -393,7 +404,7 @@ if( ($allowed) && ($target ne 'tex') ) { if ($target ne 'tex') { if($allowed){ $r->print('

'); - } + } &Apache::lontemplate::print_template($r, $syllabusfields{$field}, $message,$allowed,'LC_ContentBoxSpecial'); } else { $r->print('\\\\\textbf{'.$syllabusfields{$field}.'}\\\\'. @@ -406,22 +417,22 @@ if( ($allowed) && ($target ne 'tex') ) { $r->print('

'); &Apache::lontemplate::print_editbox_template($r, $syllabus{$field}, $field); } - + } } - } - + } + if ($allowed) { $r->print('
'. &Apache::lonhtmlcommon::htmlareaselectactive(@htmlids)); } # if ($target ne 'tex') {$r->print('

');} else {$r->print('\\\\');} } else { - if ($target ne 'tex') {$r->print('

');} else {$r->print('\par ');} + if ($target ne 'tex') {$r->print('

');} else {$r->print('\par ');} $r->print(&mt('No syllabus information provided.')); if ($target ne 'tex') {$r->print('

');} } - if ($target ne 'tex') { + if ($target ne 'tex') { if ($env{'form.backto'} eq 'coursecatalog') { $r->print('
'. &Apache::lonhtmlcommon::echo_form_input(['backto','courseid']). @@ -432,7 +443,7 @@ if( ($allowed) && ($target ne 'tex') ) { $r->print('\end{document}'); } return OK; -} +} 1; __END__ 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.