--- loncom/interface/loncommon.pm 2001/12/13 01:31:39 1.16
+++ loncom/interface/loncommon.pm 2002/05/09 15:56:02 1.37
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.16 2001/12/13 01:31:39 harris41 Exp $
+# $Id: loncommon.pm,v 1.37 2002/05/09 15:56:02 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,26 +27,89 @@
#
# YEAR=2001
# 2/13-12/7 Guy Albertelli
-# 12/11,12/12 Scott Harrison
+# 12/11,12/12,12/17 Scott Harrison
+# 12/21 Gerd Kortemeyer
+# 12/21 Scott Harrison
+# 12/25,12/28 Gerd Kortemeyer
+# YEAR=2002
+# 1/4 Gerd Kortemeyer
# Makes a table out of the previous attempts
# Inputs result_from_symbread, user, domain, course_id
# Reads in non-network-related .tab files
+# POD header:
+
+=head1 NAME
+
+Apache::loncommon - pile of common routines
+
+=head1 SYNOPSIS
+
+Referenced by other mod_perl Apache modules.
+
+Invocation:
+ &Apache::loncommon::SUBROUTINENAME(ARGUMENTS);
+
+=head1 INTRODUCTION
+
+Common collection of used subroutines. This collection helps remove
+redundancy from other modules and increase efficiency of memory usage.
+
+Current things done:
+
+ Makes a table out of the previous homework attempts
+ Inputs result_from_symbread, user, domain, course_id
+ Reads in non-network-related .tab files
+
+This is part of the LearningOnline Network with CAPA project
+described at http://www.lon-capa.org.
+
+=head2 Subroutines
+
+=over 4
+
+=cut
+
+# End of POD header
package Apache::loncommon;
use strict;
+use Apache::lonnet();
use POSIX qw(strftime);
use Apache::Constants qw(:common);
use Apache::lonmsg();
+my $readit;
+
+# ----------------------------------------------- Filetypes/Languages/Copyright
my %language;
my %cprtag;
my %fe; my %fd;
my %fc;
+# -------------------------------------------------------------- Thesaurus data
+my @therelated;
+my @theword;
+my @thecount;
+my %theindex;
+my $thetotalcount;
+my $thefuzzy=2;
+my $thethreshold=0.1/$thefuzzy;
+my $theavecount;
+
+# ----------------------------------------------------------------------- BEGIN
+=item BEGIN()
+
+Initialize values from language.tab, copyright.tab, filetypes.tab,
+and filecategories.tab.
+
+=cut
# ----------------------------------------------------------------------- BEGIN
-sub BEGIN {
+
+BEGIN {
+
+ unless ($readit) {
# ------------------------------------------------------------------- languages
{
my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}.
@@ -102,6 +165,556 @@ sub BEGIN {
}
}
}
+# -------------------------------------------------------------- Thesaurus data
+ {
+ my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}.
+ '/thesaurus.dat');
+ if ($fh) {
+ while (<$fh>) {
+ my ($tword,$tindex,$tcount,$trelated)=split(/\@/,$_);
+ $theindex{$tword}=$tindex;
+ $theword[$tindex]=$tword;
+ $thecount[$tindex]=$tcount;
+ $thetotalcount+=$tcount;
+ $therelated[$tindex]=$trelated;
+ }
+ }
+ $theavecount=$thetotalcount/$#thecount;
+ }
+ &Apache::lonnet::logthis(
+ "INFO: Read file types and thesaurus");
+ $readit=1;
+}
+
+}
+# ============================================================= END BEGIN BLOCK
+
+=item linked_select_forms(...)
+
+linked_select_forms returns a string containing a block
+and html for two