--- loncom/interface/lonsyllabus.pm 2009/02/20 17:45:40 1.79 +++ loncom/interface/lonsyllabus.pm 2009/02/25 13:25:52 1.80 @@ -1,7 +1,7 @@ # The LearningOnline Network # Syllabus # -# $Id: lonsyllabus.pm,v 1.79 2009/02/20 17:45:40 neumanie Exp $ +# $Id: lonsyllabus.pm,v 1.80 2009/02/25 13:25:52 neumanie Exp $ # # Copyright Michigan State University Board of Trustees # @@ -161,58 +161,8 @@ ENDSCRIPT ({href=>$r->uri, text=>"Course syllabus"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs()); - } - $r->print('
'); - $r->print('

'.$courseenv{'description'}.'

'); - $r->print('
'); - $r->print('

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

'); - } else { - $r->print('\noindent{\large\textbf{'.$courseenv{'description'}.'}}\\\\\\\\\textbf{'. - &Apache::lonnet::domain($cdom,'description').'}\\\\'); - } - -# -------------------------------------------------------- Get course personnel - my %coursepersonnel=&Apache::lonnet::get_course_adv_roles($cdom.'/'.$cnum); - if ($target ne 'tex') { - $r->print(&Apache::lonhtmlcommon::start_pick_box()); - } else { - $r->print('\begin{tabular}{|p{0.45\textwidth}|p{0.45\textwidth}|}\hline'); - } - my @personnel=sort(keys(%coursepersonnel)); - my $lastpers=$personnel[$#personnel]; - foreach my $element (@personnel) { - if ($target ne 'tex') { - $r->print(&Apache::lonhtmlcommon::row_title($element)); - } else { - $r->print(' '.&Apache::lonxml::xmlparse($r,'tex',$element).' & '); - } - foreach (split(/\,/,$coursepersonnel{$element})) { - my ($puname,$pudom)=split(/\:/,$_); - if ($target ne 'tex') { - my $courseperson = &Apache::loncommon::plainname($puname,$pudom); - if (($env{'user.name'} eq '') || ($env{'user.name'} eq 'public') || - ($env{'user.domain'} eq '') || ($env{'user.domain'} eq 'public')) { - $r->print(' '.$courseperson); - } else { - $r->print(' '.&Apache::loncommon::aboutmewrapper($courseperson, - $puname,$pudom)); - } - } else { - $r->print(' '.&Apache::loncommon::plainname($puname, - $pudom).' '); - } - } - if ($target ne 'tex') { - my $lastclose=$element eq $lastpers?1:0; - $r->print(&Apache::lonhtmlcommon::row_closure($lastclose)); - } else { - $r->print('\\\\ \hline'); - } - } - if ($target ne 'tex') { - $r->print(&Apache::lonhtmlcommon::end_pick_box()); - } else { - $r->print('\end{tabular}\\\\'); + } + } # ---------------------------------------------------------- Load syllabus info my %syllabus=&Apache::lonnet::dump('syllabus',$cdom,$cnum); @@ -232,16 +182,7 @@ ENDSCRIPT $forcestudent='student'; } if ($forcestudent or $target eq 'tex') { $allowed=0; } - } - if ($allowed) { - my $protocol = $Apache::lonnet::protocol{$homeserver}; - $protocol = 'http' if ($protocol ne 'https'); - $r->print('

'.&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')).'

'.&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').'').'

'); - } + } if (($allowed) && ($env{'form.storesyl'})) { foreach my $syl_field (keys(%syllabusfields)) { my $field=$env{'form.'.$syl_field}; @@ -288,6 +229,70 @@ ENDSCRIPT &Apache::lonnet::put('syllabus',\%syllabus,$cdom,$cnum); } } +#--------Functions +if ($target ne 'tex') { + if($allowed || $privileged){ + &Apache::lontemplate::print_start_page_functions($r); + if($allowed){ + &Apache::lontemplate::print_functions_content($r,''.&mt('Show Public View').''.&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView')); + &Apache::lontemplate::print_functions_content($r,&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes'))); + }elsif($privileged){ + &Apache::lontemplate::print_functions_content($r,''.&mt('Edit').''); + } + &Apache::lontemplate::print_end_page_functions($r); + } + } +#----------------------------Print Headtitle +if($target ne 'tex'){ + $r->print('

'.$courseenv{'description'}.'

'); + $r->print('

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

'); +}else{ + $r->print('\noindent{\large\textbf{'.$courseenv{'description'}.'}}\\\\\\\\\textbf{'. + &Apache::lonnet::domain($cdom,'description').'}\\\\'); +} +# -------------------------------------------------------- Get course personnel + my %coursepersonnel=&Apache::lonnet::get_course_adv_roles($cdom.'/'.$cnum); + if ($target ne 'tex') { + $r->print(&Apache::lonhtmlcommon::start_pick_box()); + } else { + $r->print('\begin{tabular}{|p{0.45\textwidth}|p{0.45\textwidth}|}\hline'); + } + my @personnel=sort(keys(%coursepersonnel)); + my $lastpers=$personnel[$#personnel]; + foreach my $element (@personnel) { + if ($target ne 'tex') { + $r->print(&Apache::lonhtmlcommon::row_title($element)); + } else { + $r->print(' '.&Apache::lonxml::xmlparse($r,'tex',$element).' & '); + } + foreach (split(/\,/,$coursepersonnel{$element})) { + my ($puname,$pudom)=split(/\:/,$_); + if ($target ne 'tex') { + my $courseperson = &Apache::loncommon::plainname($puname,$pudom); + if (($env{'user.name'} eq '') || ($env{'user.name'} eq 'public') || + ($env{'user.domain'} eq '') || ($env{'user.domain'} eq 'public')) { + $r->print(' '.$courseperson); + } else { + $r->print(' '.&Apache::loncommon::aboutmewrapper($courseperson, + $puname,$pudom)); + } + } else { + $r->print(' '.&Apache::loncommon::plainname($puname, + $pudom).' '); + } + } + if ($target ne 'tex') { + my $lastclose=$element eq $lastpers?1:0; + $r->print(&Apache::lonhtmlcommon::row_closure($lastclose)); + } else { + $r->print('\\\\ \hline'); + } + } + if ($target ne 'tex') { + $r->print(&Apache::lonhtmlcommon::end_pick_box()); + } else { + $r->print('\end{tabular}\\\\'); + } #----------Print last update my $lastmod=$syllabus{'uploaded.lastmodified'}; $lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never')); @@ -307,24 +312,24 @@ ENDSCRIPT &Apache::loncommon::plainname($syllabus{'uploaded.name'},$syllabus{'uploaded.domain'}) :'') .'\\\\'); - } -#--------Functions -if ($target ne 'tex') { - if($allowed || $privileged){ - &Apache::lontemplate::print_start_page_functions($r); - if($allowed){ - &Apache::lontemplate::print_functions_content($r,''.&mt('Show Public View').''. &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView')); - }elsif($privileged){ - &Apache::lontemplate::print_functions_content($r,''.&mt('Edit').''); - } - &Apache::lontemplate::print_end_page_functions($r); - } - } + } +#---------------------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') { - &Apache::lontemplate::print_template($r,'RSS Feeds and Blogs',&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit),1,'LC_ContentBoxSpecial'); + if ($target ne 'tex') { + if($allowed){ + &Apache::lontemplate::print_template($r,'RSS Feeds and Blogs',&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit),1,'LC_ContentBoxSpecial'); + } + elsif(&Apache::lonrss::advertisefeeds($cnum,$cdom) ne ''){ + &Apache::lontemplate::print_template($r,'RSS Feeds and Blogs',&Apache::lonrss::advertisefeeds($cnum,$cdom,$forceedit),1,'LC_ContentBoxSpecial'); + } + } else { $r->print(&Apache::lonxml::xmlparse($r,'tex',$day)); } @@ -405,8 +410,6 @@ if ($target ne 'tex') { if ($target ne 'tex') {$r->print('

');} } if ($target ne 'tex') { - $r->print('
'); - $r->print('
'); if ($env{'form.backto'} eq 'coursecatalog') { $r->print('
'. &Apache::lonhtmlcommon::echo_form_input(['backto','courseid']).