--- loncom/interface/londocs.pm 2002/08/19 21:15:08 1.7 +++ loncom/interface/londocs.pm 2009/01/28 11:51:22 1.326 @@ -1,190 +1,3679 @@ -# The LearningOnline Network -# Documents -# -# $Id: londocs.pm,v 1.7 2002/08/19 21:15:08 www Exp $ -# -# Copyright Michigan State University Board of Trustees -# -# This file is part of the LearningOnline Network with CAPA (LON-CAPA). -# -# LON-CAPA is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# LON-CAPA is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with LON-CAPA; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# /home/httpd/html/adm/gpl.txt -# -# http://www.lon-capa.org/ -# - -package Apache::londocs; - -use strict; -use Apache::Constants qw(:common); -use Apache::lonnet; -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('
'.$errtext.'
'); - } else { -# ------------------------------------------------------------ Process commands - if ($allowed) { - } -# ---------------------------------------------------------------- Print screen - } -} - -sub handler { - my $r = shift; - $r->content_type('text/html'); - $r->send_http_header; - 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? - my $allowed=&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}); - - if ($allowed) { - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, - ['remove']); - } - -# get course data - my $coursenum=$ENV{'course.'.$ENV{'request.course.id'}.'.num'}; - my $coursedom=$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}; - - -# upload a file - if (($ENV{'form.uploaddoc.filename'}) && ($allowed)) { - my $id=time.'_'.$ENV{'user.name'}.'_'.$ENV{'user.domain'}; -# 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\:/) { - } else { - my $comment=$ENV{'form.comment'}; - $comment=~s/\\<\;/g; - $comment=~s/\>/\>\;/g; - &Apache::lonnet::put('coursedocs', - { $id.'.url' => $url, - $id.'.comment' => $comment }, - $coursedom,$coursenum); - } - } - -# delete a file - if ($ENV{'form.remove'}=~/$ENV{'user.name'}\_$ENV{'user.domain'}$/) { - my $id=$ENV{'form.remove'}; - &Apache::lonnet::del('coursedocs', - [$id.'.url',$id.'.comment'], - $coursedom,$coursenum); - } - -# print screen - $r->print(<'. - &Apache::lontexconvert::msgtexconverted( - $currentdocs{$1.'_'.$2.'_'.$3.'.comment'} - ). - 'View'); - if (($2 eq $ENV{'user.name'}) && ($3 eq $ENV{'user.domain'}) - && ($allowed)) { - $r->print(' Remove'); - } - } - } -# ----------------------------------------------------------------- Upload form - if ($allowed) { - $r->print(<