--- 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"; +(Help: $topic) +ENDTEMPLATE + } + else + { + $template = <<"ENDTEMPLATE"; +(Help: $topic) +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