--- loncom/interface/loncommon.pm 2002/07/03 21:12:38 1.43
+++ loncom/interface/loncommon.pm 2002/07/22 14:25:40 1.47
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.43 2002/07/03 21:12:38 ng Exp $
+# $Id: loncommon.pm,v 1.47 2002/07/22 14:25:40 bowersj2 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -41,6 +41,8 @@
# POD header:
+=pod
+
=head1 NAME
Apache::loncommon - pile of common routines
@@ -77,26 +79,48 @@ package Apache::loncommon;
use strict;
use Apache::lonnet();
+use GDBM_File;
use POSIX qw(strftime);
use Apache::Constants qw(:common);
use Apache::lonmsg();
my $readit;
+=pod
+
+=item Global Variables
+
+=over 4
+
+=cut
# ----------------------------------------------- Filetypes/Languages/Copyright
my %language;
my %cprtag;
my %fe; my %fd;
my %category_extensions;
-# -------------------------------------------------------------- Thesaurus data
-my @therelated;
-my @theword;
-my @thecount;
-my %theindex;
-my $thetotalcount;
-my $thefuzzy=2;
-my $thethreshold=0.1/$thefuzzy;
-my $theavecount;
+# ---------------------------------------------- Thesaurus variables
+
+=pod
+
+=item %Keywords
+
+A hash used by &keyword to determine if a word is considered a keyword.
+
+=item $thesaurus_db_file
+
+Scalar containing the full path to the thesaurus database.
+
+=cut
+
+my %Keywords;
+my $thesaurus_db_file;
+
+
+=pod
+
+=back
+
+=cut
# ----------------------------------------------------------------------- BEGIN
@@ -105,13 +129,16 @@ my $theavecount;
=item BEGIN()
Initialize values from language.tab, copyright.tab, filetypes.tab,
-and filecategories.tab.
+thesaurus.tab, and filecategories.tab.
=cut
+
# ----------------------------------------------------------------------- BEGIN
BEGIN {
-
+ # Variable initialization
+ $thesaurus_db_file = $Apache::lonnet::perlvar{'lonTabDir'}."/thesaurus.db";
+ #
unless ($readit) {
# ------------------------------------------------------------------- languages
{
@@ -168,26 +195,10 @@ 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");
+ "INFO: Read file types");
$readit=1;
-}
+ } # end of unless($readit)
}
# ============================================================= END BEGIN BLOCK
@@ -342,8 +353,6 @@ my %menu = ( A1 => { text =>"Choice A1"
}
);
-=back
-
=cut
# ------------------------------------------------
@@ -428,6 +437,52 @@ END
###############################################################
+=pod
+
+=item help_open_topic($topic, $stayOnPage, $width, $height)
+
+Returns a string corresponding to an HTML link to the given help $topic, where $topic corresponds to the name of a .tex file in /home/httpd/html/adm/help/tex, with underscores replaced by spaces.
+
+$stayOnPage is a value that will be interpreted as a boolean. If true, the link will not open a new window. If false, the link will open a new window using Javascript. (Default is false.)
+
+$width and $height are optional numerical parameters that will override the width and height of the popped up window, which may be useful for certain help topics with big pictures included.
+
+=cut
+
+sub help_open_topic {
+ my ($topic, $stayOnPage, $width, $height) = @_;
+ $stayOnPage = 0 if (not defined $stayOnPage);
+ $width = 350 if (not defined $width);
+ $height = 400 if (not defined $height);
+ my $filename = $topic;
+ $filename =~ s/ /_/g;
+
+ my $template;
+
+ if (!$stayOnPage)
+ {
+ $template = <<"ENDTEMPLATE";
+
+ENDTEMPLATE
+ }
+ else
+ {
+ $template = <<"ENDTEMPLATE";
+
+ENDTEMPLATE
+ }
+
+ return $template;
+
+}
+
+=pod
+
=item csv_translate($text)
Translate $text to allow it to be output as a 'comma seperated values'
@@ -443,12 +498,12 @@ sub csv_translate {
}
###############################################################
-
-###############################################################
## Home server