Diff for /loncom/interface/loncommon.pm between versions 1.20 and 1.29

version 1.20, 2001/12/25 21:02:35 version 1.29, 2002/03/28 21:38:53
Line 30 Line 30
 # 12/11,12/12,12/17 Scott Harrison  # 12/11,12/12,12/17 Scott Harrison
 # 12/21 Gerd Kortemeyer  # 12/21 Gerd Kortemeyer
 # 12/21 Scott Harrison  # 12/21 Scott Harrison
 # 12/25 Gerd Kortemeyer  # 12/25,12/28 Gerd Kortemeyer
   # YEAR=2002
   # 1/4 Gerd Kortemeyer
   
 # Makes a table out of the previous attempts  # Makes a table out of the previous attempts
 # Inputs result_from_symbread, user, domain, course_id  # Inputs result_from_symbread, user, domain, course_id
Line 39 Line 41
 package Apache::loncommon;  package Apache::loncommon;
   
 use strict;  use strict;
   use Apache::lonnet();
 use POSIX qw(strftime);  use POSIX qw(strftime);
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::lonmsg();  use Apache::lonmsg();
   
   my $readit;
   
 # ----------------------------------------------- Filetypes/Languages/Copyright  # ----------------------------------------------- Filetypes/Languages/Copyright
 my %language;  my %language;
 my %cprtag;  my %cprtag;
Line 50  my %fe; my %fd; Line 55  my %fe; my %fd;
 my %fc;  my %fc;
   
 # -------------------------------------------------------------- Thesaurus data  # -------------------------------------------------------------- Thesaurus data
 my @therelated=();  my @therelated;
 my @theword=();  my @theword;
 my @thecount=();  my @thecount;
 my %theindex=();  my %theindex;
 my $thetotalcount=0;  my $thetotalcount;
 my $thefuzzy=2;  my $thefuzzy=2;
 my $thethreshold=0.1/$thefuzzy;  my $thethreshold=0.1/$thefuzzy;
 my $theavecount;  my $theavecount;
   
 # ----------------------------------------------------------------------- BEGIN  # ----------------------------------------------------------------------- BEGIN
 BEGIN {  BEGIN {
   
       unless ($readit) {
 # ------------------------------------------------------------------- languages  # ------------------------------------------------------------------- languages
     {      {
  my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}.   my $fh=Apache::File->new($Apache::lonnet::perlvar{'lonTabDir'}.
Line 132  BEGIN { Line 139  BEGIN {
         }          }
         $theavecount=$thetotalcount/$#thecount;          $theavecount=$thetotalcount/$#thecount;
     }      }
       &Apache::lonnet::logthis(
                 "<font color=yellow>INFO: Read file types and thesaurus</font>");
       $readit=1;
   }
   
 }  }
 # ============================================================= END BEGIN BLOCK  # ============================================================= END BEGIN BLOCK
   
Line 346  sub get_student_answers { Line 358  sub get_student_answers {
 }  }
   
 sub get_unprocessed_cgi {  sub get_unprocessed_cgi {
   my ($query)= @_;    my ($query,$possible_names)= @_;
     # $Apache::lonxml::debug=1;
   foreach (split(/&/,$query)) {    foreach (split(/&/,$query)) {
     my ($name, $value) = split(/=/,$_);      my ($name, $value) = split(/=/,$_);
     $value =~ tr/+/ /;      $name = &Apache::lonnet::unescape($name);
     $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;      if (!defined($possible_names) || (grep {$_ eq $name} @$possible_names)) {
     if (!defined($ENV{'form.'.$name})) { $ENV{'form.'.$name}=$value; }        $value =~ tr/+/ /;
         $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
         &Apache::lonxml::debug("Seting :$name: to :$value:");
         unless ($ENV{'form.'.$name}) { &add_to_env('form.'.$name,$value) };
       }
   }    }
 }  }
   
 sub cacheheader {  sub cacheheader {
     unless ($ENV{'request.method'} eq 'GET') { return ''; }
   my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime);    my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime);
   my $output .='<meta HTTP-EQUIV="Expires" CONTENT="'.$date.'" />    my $output .='<meta HTTP-EQUIV="Expires" CONTENT="'.$date.'" />
                 <meta HTTP-EQUIV="Cache-control" CONTENT="no-cache" />                  <meta HTTP-EQUIV="Cache-control" CONTENT="no-cache" />
Line 365  sub cacheheader { Line 383  sub cacheheader {
   
 sub no_cache {  sub no_cache {
   my ($r) = @_;    my ($r) = @_;
   my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime);    unless ($ENV{'request.method'} eq 'GET') { return ''; }
     #my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime);
   $r->no_cache(1);    $r->no_cache(1);
   $r->header_out("Pragma" => "no-cache");    $r->header_out("Pragma" => "no-cache");
   $r->header_out("Expires" => $date);    #$r->header_out("Expires" => $date);
   }
   
   sub add_to_env {
     my ($name,$value)=@_;
     if (defined($ENV{$name})) {
       if (ref($ENV{$name})) {
         #already have multiple values
         push(@{ $ENV{$name} },$value);
       } else {
         #first time seeing multiple values, convert hash entry to an arrayref
         my $first=$ENV{$name};
         undef($ENV{$name});
         push(@{ $ENV{$name} },$first,$value);
       }
     } else {
       $ENV{$name}=$value;
     }
 }  }
 1;  1;
 __END__;  __END__;
Line 474  cacheheader() : returns cache-controllin Line 510  cacheheader() : returns cache-controllin
   
 nocache() : specifies header code to not have cache  nocache() : specifies header code to not have cache
   
   =item *
   
   add_to_env($name,$value) : adds $name to the %ENV hash with value
   $value, if $name already exists, the entry is converted to an array
   reference and $value is added to the array.
   
 =back  =back
   
 =cut  =cut

Removed from v.1.20  
changed lines
  Added in v.1.29


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>