version 1.4, 2002/07/31 14:56:36
|
version 1.7, 2002/08/19 21:15:08
|
Line 32 use strict;
|
Line 32 use strict;
|
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon; |
use Apache::loncommon; |
|
use Apache::lonratedt; |
|
use Apache::lonratsrv; |
|
|
|
|
|
# Mapread read maps into lonratedt::global arrays |
|
# @links and @resources, determines status |
|
# sets @order - pointer to resources in right order |
|
# sets @resources - array with the resources with correct idx |
|
# |
|
|
|
sub mapread { |
|
my ($coursenum,$coursedom,$map)=@_; |
|
return |
|
&Apache::lonratedt::mapread('/uploaded/'.$coursedom.'/'.$coursenum.'/'. |
|
$map); |
|
} |
|
|
|
sub storemap { |
|
my ($coursenum,$coursedom,$map)=@_; |
|
return |
|
&Apache::lonratedt::storemap('/uploaded/'.$coursedom.'/'.$coursenum.'/'. |
|
$map); |
|
} |
|
|
|
sub editor { |
|
my ($r,$coursenum,$coursedom,$folder,$allowed)=@_; |
|
my ($errtext,$fatal)= |
|
&mapread($coursenum,$coursedom,$folder.'.sequence'); |
|
if ($fatal) { |
|
$r->print('<p><font color="red">'.$errtext.'</font></p>'); |
|
} else { |
|
# ------------------------------------------------------------ Process commands |
|
if ($allowed) { |
|
} |
|
# ---------------------------------------------------------------- Print screen |
|
} |
|
} |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 39 sub handler {
|
Line 76 sub handler {
|
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
|
|
|
# is this a standard course? |
|
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['folder']); |
|
my $standard=($ENV{'request.course.uri'}=~/^\/uploaded\//); |
|
my $forcestandard=($ENV{'form.folder'}=~/^default_/); |
|
my $forcesupplement=($ENV{'form.folder'}=~/^supplement_/); |
|
|
# does this user have privileges to post, etc? |
# does this user have privileges to post, etc? |
my $allowed=&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}); |
my $allowed=&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}); |
|
|
if ($allowed) { |
if ($allowed) { |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['remove']) |
['remove']); |
} |
} |
|
|
# get course data |
# get course data |
Line 55 sub handler {
|
Line 99 sub handler {
|
# upload a file |
# upload a file |
if (($ENV{'form.uploaddoc.filename'}) && ($allowed)) { |
if (($ENV{'form.uploaddoc.filename'}) && ($allowed)) { |
my $id=time.'_'.$ENV{'user.name'}.'_'.$ENV{'user.domain'}; |
my $id=time.'_'.$ENV{'user.name'}.'_'.$ENV{'user.domain'}; |
my $url=&Apache::lonnet::userfileupload('uploaddoc'); |
# this is for a course, not a user, so set coursedoc flag |
|
# probably the only place in the system where this should be "1" |
|
my $url=&Apache::lonnet::userfileupload('uploaddoc',1); |
if ($url=~/^error\:/) { |
if ($url=~/^error\:/) { |
} else { |
} else { |
my $comment=$ENV{'form.comment'}; |
my $comment=$ENV{'form.comment'}; |
Line 85 sub handler {
|
Line 131 sub handler {
|
<body bgcolor="#FFFFFF"> |
<body bgcolor="#FFFFFF"> |
<h1>Course Documents</h1> |
<h1>Course Documents</h1> |
ENDDOCUMENT |
ENDDOCUMENT |
|
# --------------------------------------------------0------ Standard documents |
|
if (($standard) && ($allowed) && (!$forcesupplement)) { |
|
$r->print('<h2>Main Course Documents</h2>'); |
|
my $folder=$ENV{'form.folder'}; |
|
unless ($folder) { $folder='default'; } |
|
&editor($r,$coursenum,$coursedom,$folder,$allowed); |
|
$r->print('<hr />'); |
|
} |
|
# ----------------------------------------------------- Supplemental documents |
|
if (!$forcestandard) { |
|
$r->print('<h2>Supplemental Course Documents</h2>'); |
|
my $folder=$ENV{'form.folder'}; |
|
unless ($folder) { $folder='supplemental'; } |
|
&editor($r,$coursenum,$coursedom,$folder,$allowed); |
|
} |
# ------------------------------------------------------- Print headers to docs |
# ------------------------------------------------------- Print headers to docs |
my %currentdocs=&Apache::lonnet::dump('coursedocs',$coursedom,$coursenum); |
my %currentdocs=&Apache::lonnet::dump('coursedocs',$coursedom,$coursenum); |
foreach (sort keys (%currentdocs)) { |
foreach (sort keys (%currentdocs)) { |
if ($_=~/(\d+)\_(\w+)\_(\w+)\.url/) { |
if ($_=~/(\d+)\_(\w+)\_(\w+)\.url/) { |
$r->print('<hr>'.localtime($1).' '.$2.' '.$3.'<blockquote>'. |
$r->print('<hr>'.localtime($1).' '.$2.' '.$3.'<blockquote>'. |
$currentdocs{$1.'_'.$2.'_'.$3.'.comment'}. |
&Apache::lontexconvert::msgtexconverted( |
'</blockquote><a href="'.$currentdocs{$_}.'">View</a>'); |
$currentdocs{$1.'_'.$2.'_'.$3.'.comment'} |
|
). |
|
'</blockquote><a href="'. |
|
&Apache::lonnet::tokenwrapper($currentdocs{$_}).'">View</a>'); |
|
if (($2 eq $ENV{'user.name'}) && ($3 eq $ENV{'user.domain'}) |
|
&& ($allowed)) { |
|
$r->print(' <a href="/adm/coursedocs?remove='. |
|
$1.'_'.$2.'_'.$3.'">Remove</a>'); |
|
} |
} |
} |
} |
} |
# ----------------------------------------------------------------- Upload form |
# ----------------------------------------------------------------- Upload form |
Line 108 ENDDOCUMENT
|
Line 177 ENDDOCUMENT
|
</form> |
</form> |
ENDFORM |
ENDFORM |
} |
} |
|
|
|
foreach (@Apache::lonratedt::resources) { |
|
$r->print($_.'<br>'); |
|
} |
|
|
$r->print('</body></html>'); |
$r->print('</body></html>'); |
return OK; |
return OK; |
} |
} |