--- loncom/interface/londocs.pm 2002/08/27 13:01:26 1.12 +++ loncom/interface/londocs.pm 2009/01/28 12:56:08 1.327 @@ -1,306 +1,3709 @@ -# The LearningOnline Network -# Documents -# -# $Id: londocs.pm,v 1.12 2002/08/27 13:01:26 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; - -my $iconpath; - -# Mapread read maps into lonratedt::global arrays -# @order 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=''; - my $fatal=0; - ($errtext,$fatal)= - &mapread($coursenum,$coursedom,$folder.'.sequence'); - if ($fatal) { - $r->print('
'.$errtext.'
'); - } else { -# ------------------------------------------------------------ Process commands - if ($allowed) { -# upload a file, if present - if (($ENV{'form.uploaddoc.filename'}) && - ($ENV{'form.cmd'}=~/^upload_(\w+)/)) { - if ($folder=~/^$1/) { -# 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); - my $ext='false'; - if ($url=~/^http\:\/\//) { $ext='true'; } - $url=~s/\:/\:/g; - my $comment=$ENV{'form.comment'}; - $comment=~s/\\<\;/g; - $comment=~s/\>/\>\;/g; - $comment=~s/\:/\:/g; - my $newidx=$#Apache::lonratedt::resources+1; - $Apache::lonratedt::resources[$newidx]= - $comment.':'.$url.':'.$ext.':normal:res'; - $Apache::lonratedt::order[$#Apache::lonratedt::order+1]= - $newidx; - &storemap($coursenum,$coursedom,$folder.'.sequence'); - } - } - if ($ENV{'form.cmd'}) { - my ($cmd,$idx)=split(/\_/,$ENV{'form.cmd'}); - if ($cmd eq 'del') { - for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) { - $Apache::lonratedt::order[$i]= - $Apache::lonratedt::order[$i+1]; - } - $#Apache::lonratedt::order--; - } elsif ($cmd eq 'up') { - my $i=$Apache::lonratedt::order[$idx-1]; - $Apache::lonratedt::order[$idx-1]= - $Apache::lonratedt::order[$idx]; - $Apache::lonratedt::order[$idx]=$i; - } elsif ($cmd eq 'down') { - my $i=$Apache::lonratedt::order[$idx+1]; - $Apache::lonratedt::order[$idx+1]= - $Apache::lonratedt::order[$idx]; - $Apache::lonratedt::order[$idx]=$i; - } -# Store the changed version - &storemap($coursenum,$coursedom,$folder.'.sequence'); - } -# Group import/search - if ($ENV{'form.importdetail'}) { - foreach (split(/\&/,$ENV{'form.importdetail'})) { - if (defined($_)) { - my ($name,$url)=split(/\=/,$_); - $name=&Apache::lonnet::unescape($name); - $url=&Apache::lonnet::unescape($url); - if ($url) { - my $idx=$#Apache::lonratedt::resources+1; - $Apache::lonratedt::order - [$#Apache::lonratedt::order+1]=$idx; - my $ext='false'; - if ($url=~/^http\:\/\//) { $ext='true'; } - $url=~s/\:/\:/g; - $Apache::lonratedt::resources[$idx]= - $name.':'.$url.':'.$ext.':normal:res'; - } - } - } -# Store the changed version - &storemap($coursenum,$coursedom,$folder.'.sequence'); - } - } -# ---------------------------------------------------------------- Print screen - my $idx=0; - $r->print('- |
- |