--- loncom/interface/londocs.pm 2002/08/21 17:18:08 1.9
+++ loncom/interface/londocs.pm 2009/01/28 12:56:08 1.327
@@ -1,203 +1,3709 @@
-# The LearningOnline Network
-# Documents
-#
-# $Id: londocs.pm,v 1.9 2002/08/21 17:18: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;
-
-my $iconpath;
-
-# 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) {
- if ($ENV{'form.cmd'}) {
-
- }
- }
-# ---------------------------------------------------------------- Print screen
- }
-}
-
-# --------------------------------------------------------------- An entry line
-
-sub entryline {
- my ($index,$title,$url,$folder,$allowed)=@_;
- my $line='';
-# Edit commands
- if ($allowed) {
- $line.=(<
-Remove |
-END
- }
-# URL
- $line.='View | ';
-# Title
- $title=&Apache::lonnet::unescape($title);
- if ($title=~
- /^(\d+)\_\_\_\&\&\&\_\_\_(\w+)\_\_\_\&\&\&\_\_\_(\w+)\_\_\_\&\&\&\_\_\_(.*)$/
- ) { $title=''.localtime($1).' '.$2.' at '.$3.':
'.
- &Apache::lontexconvert::msgtexconverted($4);
- }
- $line.='$title | ';
- $line.='
';
- return $line;
-}
-
-# ================================================================ Main Handler
-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'});
- my $script='';
- if ($allowed) {
- &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']);
- $script=&Apache::lonratedt::editscript('docs');
- }
-
-# get course data
- my $coursenum=$ENV{'course.'.$ENV{'request.course.id'}.'.num'};
- my $coursedom=$ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
-
-# graphics settings
-
- $iconpath = $r->dir_config('lonIconsURL') . "/";
-
-# upload a file, if present
- if (($ENV{'form.uploaddoc.filename'}) && ($allowed)) {
-# 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 $comment=$ENV{'form.comment'};
- $comment=~s/\\<\;/g;
- $comment=~s/\>/\>\;/g;
- }
-
-# print screen
- $r->print(<
-
-The LearningOnline Network with CAPA
-
-
-ENDDOCUMENT
-$r->print(&Apache::loncommon::bodytag('Course Documents'));
-# --------------------------------------------------0------ Standard documents
- if (($standard) && ($allowed) && (!$forcesupplement)) {
- $r->print('Main Course Documents
');
- my $folder=$ENV{'form.folder'};
- unless ($folder) { $folder='default'; }
- &editor($r,$coursenum,$coursedom,$folder,$allowed);
- $r->print(<Post a new main course document
-
-ENDFORM
- $r->print('
');
- }
-# ----------------------------------------------------- Supplemental documents
- if (!$forcestandard) {
- $r->print('Supplemental Course Documents
');
- my $folder=$ENV{'form.folder'};
- unless ($folder) { $folder='supplemental'; }
- &editor($r,$coursenum,$coursedom,$folder,$allowed);
- if ($allowed) {
- $r->print(<Post a new supplemental course document
-
-ENDSUPFORM
- }
- }
-
- $r->print('