--- loncom/interface/lonbulletin.pm 2003/07/10 10:53:18 1.11
+++ loncom/interface/lonbulletin.pm 2004/05/05 21:04:14 1.21
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Bulletin Board Handler
#
-# $Id: lonbulletin.pm,v 1.11 2003/07/10 10:53:18 www Exp $
+# $Id: lonbulletin.pm,v 1.21 2004/05/05 21:04:14 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,15 +33,16 @@ use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::lonnet;
use Apache::lontexconvert;
-use Apache::lonxml;
use Apache::lonfeedback;
+use Apache::lonlocal;
sub handler {
my $r = shift;
- $r->content_type('text/html');
+ &Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
return OK if $r->header_only;
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['previous']);
# ------------------------------------------------------------ Print the screen
$r->print(<
@@ -66,14 +67,14 @@ ENDDOCUMENT
my $crs = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
# --------------------------------------------------------- The syllabus fields
- my %syllabusfields=(
+ my %syllabusfields=&Apache::lonlocal::texthash(
'aaa_title' => 'Topic',
'bbb_content' => 'Task',
'ccc_webreferences' => 'Web References');
# ------------------------------------------------------------ Get Query String
&Apache::loncommon::get_unprocessed_cgi
- ($ENV{'QUERY_STRING'},['forcestudent','register']);
+ ($ENV{'QUERY_STRING'},['forcestudent','forceedit','register']);
# ----------------------------------------------------- Force menu registration
my $addentries='';
if ($ENV{'form.register'}) {
@@ -83,7 +84,10 @@ ENDDOCUMENT
}
# --------------------------------------------------------------- Force Student
my $forcestudent='';
- if ($ENV{'form.forcestudent'}) { $forcestudent='student'; };
+ if ($ENV{'form.forcestudent'}) { $forcestudent='student'; }
+
+ my $forceedit='';
+ if ($ENV{'form.forceedit'}) { $forceedit='edit'; }
my %syllabus=&Apache::lonnet::dump('bulletinpage_'.$marker,$dom,$crs);
@@ -93,21 +97,33 @@ ENDDOCUMENT
("Bulletin Board/Discussion",$forcestudent,$addentries,'',$dom,
$ENV{'form.register'}));
- my $allowed=&Apache::lonnet::allowed('srm',$ENV{'request.course.id'});
+ my $allowed=&Apache::lonnet::allowed('mdc',$ENV{'request.course.id'});
+
+ my $privileged=$allowed;
+ if (($syllabus{'uploaded.lastmodified'}) && (!$forceedit)) {
+ $forcestudent='student';
+ }
if ($forcestudent) { $allowed=0; }
if ($allowed) {
$r->print(
''.
-&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes','Help with filling in text boxes').'
Show Student View'.
+&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes','Help with filling in text boxes').'
'.&mt('Show Student View').''.
&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'
');
- }
+ } elsif ($privileged) {
+ $r->print(''
+ .&mt('Edit').'');
+ }
+
if (($ENV{'form.uploaddoc.filename'}) &&
($ENV{'form.storeupl'}) && ($allowed)) {
if ($ENV{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) {
- $syllabus{'uploaded.photourl'}=
- &Apache::lonnet::userfileupload('uploaddoc',1);
+ if ($syllabus{'uploaded.photourl'}) {
+ &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'});
+ }
+ $syllabus{'uploaded.photourl'}=
+ &Apache::lonnet::userfileupload('uploaddoc',1,'bulletin');
}
$syllabus{'uploaded.lastmodified'}=time;
&Apache::lonnet::put('bulletinpage_'.$marker,\%syllabus,$dom,$crs);
@@ -126,16 +142,18 @@ ENDDOCUMENT
# ---------------------------------------------------------------- Get syllabus
if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {
if ($syllabus{'uploaded.photourl'}) {
- $r->print('
');
+ &Apache::lonnet::allowuploaded('/adm/syllabus',
+ $syllabus{'uploaded.photourl'});
+ $r->print('
');
}
if ($allowed) {
$r->print(
'
');
} else {
- $r->print('No page information provided.
');
+ $r->print(''.&mt('No page information provided.').'
');
}
- $r->print(&Apache::lonxml::xmlend(1,'bulletin___'.$marker.'___'.
- 'adm/wrapper'.$r->uri).'