--- loncom/interface/lonsyllabus.pm 2004/01/15 04:46:36 1.26
+++ loncom/interface/lonsyllabus.pm 2005/11/17 22:36:37 1.43
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Syllabus
#
-# $Id: lonsyllabus.pm,v 1.26 2004/01/15 04:46:36 albertel Exp $
+# $Id: lonsyllabus.pm,v 1.43 2005/11/17 22:36:37 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -36,6 +36,8 @@ use Apache::lontexconvert;
use Apache::lonfeedback;
use Apache::lonannounce;
use Apache::lonlocal;
+use Apache::lonhtmlcommon;
+use Apache::lonspeller();
sub handler {
my $r = shift;
@@ -44,12 +46,21 @@ sub handler {
return OK if $r->header_only;
# ------------------------------------------------------------ Print the screen
- $r->print(< '.&mt('Course Announcement RSS Feed').': '.
+ ''.$feedurl.' '.
@@ -129,15 +182,24 @@ ENDDOCUMENT
.' http://'.
$Apache::lonnet::hostname{$homeserver}.$r->uri.''.
&Apache::loncommon::help_open_topic('Syllabus_ExtLink').' Show Public View'.
+ ' '.
+&mt('Show Public View').''.
&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').
' '.
+ &mt('Edit').'');
+ }
}
- if (($allowed) && ($ENV{'form.storesyl'})) {
+ if (($allowed) && ($env{'form.storesyl'})) {
foreach (keys %syllabusfields) {
- my $field=$ENV{'form.'.$_};
+ my $field=$env{'form.'.$_};
+ chomp($field);
$field=~s/\s+$//s;
- $field=&Apache::lonfeedback::clear_out_html($field,1);
+ $field=~s/^\s+//s;
+ $field=~s/\ ');
+ if ($target ne 'tex') {
+ $r->print(' ');
+ } else {
+ $r->print('\\\\ '.&mt('Last updated').': '.$lastmod.' '.&mt('by').'\\\\ '.
+ &Apache::loncommon::plainname($syllabus{'uploaded.name'},
+ $syllabus{'uploaded.domain'}).'\\\\');
+ }
if ($allowed) {
- $r->print(''.$courseenv{'description'}.'
'.
- $Apache::lonnet::domaindescription{$cdom}.'
');
+ if ($target ne 'tex') {
+ $r->print(&Apache::lonhtmlcommon::htmlareaheaders().
+ ''.&Apache::loncommon::bodytag
+ ("Syllabus",$forcestudent,$addentries,'',$cdom,$env{'form.register'}));
+ $r->print(''.$courseenv{'description'}.'
'.
+ $Apache::lonnet::domaindescription{$cdom}.'
');
+ } else {
+ $r->print('\noindent{\large\textbf{'.$courseenv{'description'}.'}}\\\\\\\\\textbf{'.
+ $Apache::lonnet::domaindescription{$cdom}.'}\\\\');
+ }
# -------------------------------------------------------------- Announcements?
- $r->print(&Apache::lonannounce::showday(time,2,
- &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)));
+ if ($target ne 'tex') {
+ $r->print(&Apache::lonannounce::showday(time,2,
+ &Apache::lonannounce::readcalendar($cdom.'_'.$cnum)).
+ '');
- foreach (sort keys %coursepersonnel) {
- $r->print('
');
+ } else {
+ $r->print('\end{tabular}\\\\');
+ }
# ---------------------------------------------------------- Load syllabus info
my %syllabus=&Apache::lonnet::dump('syllabus',$cdom,$cnum);
my $allowed=0;
+ my $privileged=0;
# This handler might be called anonymously ...
# ----------------------------------------------------- Only if not public call
- if ($ENV{'user.environment'}) {
+ if ($env{'user.environment'}) {
# does this user have privileges to post, etc?
- if ($ENV{'request.course.id'}) {
- $allowed=&Apache::lonnet::allowed('mdc',$ENV{'request.course.id'});
- if ($forcestudent) { $allowed=0; }
+ if ($env{'request.course.id'}) {
+ $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'});
+ $privileged=$allowed;
+ if (($syllabus{'uploaded.lastmodified'}) && (!$forceedit)) {
+ $forcestudent='student';
+ }
+ if ($forcestudent or $target eq 'tex') { $allowed=0; }
}
if ($allowed) {
$r->print(''.$_.' ');
- foreach (split(/\,/,$coursepersonnel{$_})) {
+ if ($target ne 'tex') {
+ $r->print(' ');
+ } else {
+ $r->print('\begin{tabular}{|p{0.45\textwidth}|p{0.45\textwidth}|}\hline');
+ }
+ foreach my $element (sort keys %coursepersonnel) {
+ if ($target ne 'tex') {
+ $r->print('
');
+ if ($target ne 'tex') {
+ $r->print(' ');
+ } else {
+ $r->print('\\\\ \hline');
}
- $r->print('');
}
- $r->print(''.$element.' ');
+ } else {
+ $r->print(' '.&Apache::lonxml::xmlparse($r,'tex',$element).' & ');
+ }
+ foreach (split(/\,/,$coursepersonnel{$element})) {
my ($puname,$pudom)=split(/\:/,$_);
- $r->print(' '.&Apache::loncommon::aboutmewrapper(
- &Apache::loncommon::plainname($puname,
- $pudom),$puname,$pudom));
+ if ($target ne 'tex') {
+ $r->print(' '.&Apache::loncommon::aboutmewrapper(
+ &Apache::loncommon::plainname($puname,
+ $pudom),$puname,$pudom));
+ } else {
+ $r->print(' '.&Apache::loncommon::plainname($puname,
+ $pudom).' ');
+ }
+ }
+ if ($target ne 'tex') {
+ $r->print('
$//s;
+ $field=&Apache::lonfeedback::clear_out_html($field,1);
$syllabus{$_}=$field;
if ($_ eq 'lll_includeurl') { # clean up included URLs
my $field='';
@@ -167,8 +229,8 @@ ENDDOCUMENT
$syllabus{$_}=$field;
}
}
- $syllabus{'uploaded.domain'}=$ENV{'user.domain'};
- $syllabus{'uploaded.name'}=$ENV{'user.name'};
+ $syllabus{'uploaded.domain'}=$env{'user.domain'};
+ $syllabus{'uploaded.name'}=$env{'user.name'};
$syllabus{'uploaded.lastmodified'}=time;
&Apache::lonnet::put('syllabus',\%syllabus,$cdom,$cnum);
}
@@ -181,14 +243,22 @@ ENDDOCUMENT
&Apache::loncommon::plainname($syllabus{'uploaded.name'},
$syllabus{'uploaded.domain'}),$syllabus{'uploaded.name'},
$syllabus{'uploaded.domain'});
- $r->print(''.&mt('Last updated').': '.
- $lastmod.' '.&mt('by').' '.$who.
- ' '.&mt('Last updated').': '.
+ $lastmod.' '.&mt('by').' '.$who.
+ '
No syllabus information provided.
'); + if ($target ne 'tex') {$r->print('');} else {$r->print('\par ');} + $r->print('No syllabus information provided.'); + if ($target ne 'tex') {$r->print('
');} } - $r->print('