# The LearningOnline Network with CAPA # a pile of common routines # # $Id: loncommon.pm,v 1.14 2001/12/11 19:37:12 harris41 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/ # # YEAR=2001 # 2/13-12/7 Guy Albertelli # 12/11 Scott Harrison # Makes a table out of the previous attempts # Inputs result_from_symbread, user, domain, course_id package Apache::loncommon; use strict; use POSIX qw(strftime); use Apache::Constants qw(:common); use Apache::lonmsg(); my %language; my %cprtag; my %fe; my %fd; # ----------------------------------------------------------------------- BEGIN sub BEGIN { # ------------------------------------------------------------------- languages { my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}. '/language.tab'); while (<$fh>) { next if /^\#/; chomp; my ($key,$val)=(split(/\s+/,$_,2)); $language{$key}=$val; } } # ------------------------------------------------------------------ copyrights { my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}. '/copyright.tab'); while (<$fh>) { next if /^\#/; chomp; my ($key,$val)=(split(/\s+/,$_,2)); $cprtag{$key}=$val; } } # ------------------------------------------------------------------ file types { my $fh=Apache::File->new("$perlvar{'lonTabDir'}/filetypes.tab"); while (<$fh>) { next if (/^\#/); chomp; my ($ending,$emb,$descr)=split(/\s+/,$_,3); if ($descr ne '') { $fe{$ending}=lc($emb); $fd{$ending}=join(' ',@descr); } } } } # ---------------------------------------------------------------- Language IDs sub languageids { } # -------------------------------------------------------- Language Description sub languagedescription { } # --------------------------------------------------------------- Copyright IDs sub copyrightids { } # ------------------------------------------------------- Copyright Description sub copyrightdescription { } # ------------------------------------------------------------- File Categories sub filecategories { } # ------------------------------------------------------------------ File Types sub fileextensions { } # ------------------------------------------------------------- Embedding Style sub fileembstyle { } # ------------------------------------------------------------ Description Text sub filedescription { } sub get_previous_attempt { my ($symb,$username,$domain,$course)=@_; my $prevattempts=''; if ($symb) { my (%returnhash)= &Apache::lonnet::restore($symb,$course,$domain,$username); if ($returnhash{'version'}) { my %lasthash=(); my $version; for ($version=1;$version<=$returnhash{'version'};$version++) { map { $lasthash{$_}=$returnhash{$version.':'.$_}; } sort(split(/\:/,$returnhash{$version.':keys'})); } $prevattempts='
History | '; map { $prevattempts.=''.$_.' | '; } sort(keys %lasthash); for ($version=1;$version<=$returnhash{'version'};$version++) { $prevattempts.='
---|---|
Attempt '.$version.' | '; map { my $value; if ($_ =~ /timestamp/) { $value=scalar(localtime($returnhash{$version.':'.$_})); } else { $value=$returnhash{$version.':'.$_}; } $prevattempts.=''.$value.' | '; } sort(keys %lasthash); } $prevattempts.='
Current | '; map { my $value; if ($_ =~ /timestamp/) { $value=scalar(localtime($lasthash{$_})); } else { $value=$lasthash{$_}; } $prevattempts.=''.$value.' | '; } sort(keys %lasthash); $prevattempts.='