--- loncom/interface/lonsyllabus.pm 2003/09/21 21:40:06 1.24
+++ loncom/interface/lonsyllabus.pm 2005/04/07 06:56:23 1.40
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Syllabus
#
-# $Id: lonsyllabus.pm,v 1.24 2003/09/21 21:40:06 www Exp $
+# $Id: lonsyllabus.pm,v 1.40 2005/04/07 06:56:23 albertel 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,11 +46,17 @@ sub handler {
return OK if $r->header_only;
# ------------------------------------------------------------ Print the screen
- $r->print(< '.
@@ -129,15 +177,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/\ ');
+ $syllabus{'uploaded.domain'});
+ 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,
+ if ($target ne 'tex') {
+ $r->print(&Apache::lonannounce::showday(time,2,
&Apache::lonannounce::readcalendar($cdom.'_'.$cnum)));
+ } else {
+ $r->print(&Apache::lonxml::xmlparse($r,'tex',
+ &Apache::lonannounce::showday(time,2,
+ &Apache::lonannounce::readcalendar($cdom.'_'.$cnum))));
+ }
# -------------------------------------------------------- Get course personnel
my %coursepersonnel=&Apache::lonnet::get_course_adv_roles($cdom.'/'.$cnum);
- $r->print('');
- foreach (sort keys %coursepersonnel) {
- $r->print('
');
# ---------------------------------------------------------- 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('
');
+ } else {
+ $r->print('\end{tabular}\\\\');
}
- $r->print(' ');
+ if ($target ne 'tex') {
+ $r->print('');
+ } else {
+ $r->print('\\\\ \hline');
+ }
+ }
+ if ($target ne 'tex') {
+ $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).' ');
+ }
}
- $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 +224,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);
}
@@ -176,21 +233,27 @@ ENDDOCUMENT
# ---------------------------------------------------------------- Get syllabus
if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {
my $lastmod=$syllabus{'uploaded.lastmodified'};
- $lastmod=($lastmod?localtime($lastmod):'never');
-
- $r->print(''.&mt('Uploaded').': '.
- &Apache::loncommon::aboutmewrapper(
- &Apache::loncommon::plainname($syllabus{'uploaded.name'},
+ $lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never'));
+ my $who = &Apache::loncommon::aboutmewrapper(
+ &Apache::loncommon::plainname($syllabus{'uploaded.name'},
$syllabus{'uploaded.domain'}),$syllabus{'uploaded.name'},
- $syllabus{'uploaded.domain'}).
- ' Last updated: '.
- $lastmod.
- ' '.&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('