--- loncom/interface/lonsupportreq.pm 2005/04/07 06:56:23 1.25 +++ loncom/interface/lonsupportreq.pm 2005/04/10 23:45:57 1.27 @@ -1,5 +1,5 @@ # -# $Id: lonsupportreq.pm,v 1.25 2005/04/07 06:56:23 albertel Exp $ +# $Id: lonsupportreq.pm,v 1.27 2005/04/10 23:45:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -30,6 +30,7 @@ use strict; use lib qw(/home/httpd/lib/perl); use MIME::Types; use MIME::Lite; +use CGI::Cookie(); use Apache::Constants qw(:common); use Apache::loncommon(); use Apache::lonnet; @@ -637,8 +638,10 @@ END sub print_request_receipt { my ($r,$url,$function) = @_; - my @envvars = ('lonID','HTTP_HOST','HTTP_USER_AGENT','REMOTE_ADDR','SERVER_ADDR','SERVER_NAME','browser.os','browser.type','browser.version','user.home','request.role'); + my @ENVvars = ('HTTP_HOST','HTTP_USER_AGENT','REMOTE_ADDR','SERVER_ADDR','SERVER_NAME'); + my @envvars = ('browser.os','browser.type','browser.version','user.home','request.role'); my @loncvars = ('user.name','user.domain','request.course.sec','request.course.id'); + my @cookievars = ('lonID'); my $bodytag = &Apache::loncommon::bodytag('',$function,'topmargin="0" marginheight="0"',1); my $admin = $Apache::lonnet::perlvar{'lonAdminMail'}; @@ -748,10 +751,22 @@ END } } + my %cookies = (); + my $cookie=CGI::Cookie->parse($r->header_in('Cookie')); + if ($$cookie{'lonID'} =~ /lonID=(\w+);/) { + $cookies{'lonID'} = $1; + } + if ($attachmentpath =~ m-/([^/]+)$-) { $fname = $1; $displaymsg .= "
An uploaded screenshot file - $fname ($attachmentsize bytes) was included in the request sent by $env{'user.name'} from LON-CAPA domain: $env{'user.domain'}"; $supportmsg .= "\n"; + foreach (@cookievars) { + $supportmsg .= "$_: $cookies{$_}\n"; + } + foreach (@ENVvars) { + $supportmsg .= "$_: $ENV{$_}\n"; + } foreach (@envvars) { $supportmsg .= "$_: $env{$_}\n"; } @@ -774,6 +789,12 @@ END } else { my $envdata = ''; + foreach (@cookievars) { + $envdata .= "$_: $cookies{$_}\n"; + } + foreach (@ENVvars) { + $envdata .= "$_: $ENV{$_}\n"; + } foreach (@envvars) { $envdata .= "$_: $env{$_}\n"; } @@ -785,8 +806,6 @@ END } ### Send it: - # ->send can cause an sh launch which can pass all of %env along - # which can be to large for /bin/sh's little mind $msg->send('sendmail'); if ($attachmentpath =~ m#$Apache::lonnet::perlvar{'lonDaemons'}/tmp/helprequests/(\d+)/[^/]+#) { @@ -840,6 +859,16 @@ END |); + foreach (@cookievars) { + unless($cookies{$_} eq '') { + $r->print("$_: $cookies{$_}, "); + } + } + foreach (@ENVvars) { + unless($ENV{$_} eq '') { + $r->print("$_: $ENV{$_}, "); + } + } foreach (@envvars) { unless($env{$_} eq '') { $r->print("$_: $env{$_}, ");