--- loncom/interface/lonsupportreq.pm 2010/02/13 00:04:57 1.55.4.1
+++ loncom/interface/lonsupportreq.pm 2010/12/02 23:18:37 1.55.6.3
@@ -1,5 +1,5 @@
#
-# $Id: lonsupportreq.pm,v 1.55.4.1 2010/02/13 00:04:57 raeburn Exp $
+# $Id: lonsupportreq.pm,v 1.55.6.3 2010/12/02 23:18:37 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -37,8 +37,7 @@ use Apache::lonnet;
use Apache::lonlocal;
use Apache::lonacc();
use Apache::courseclassifier;
-use LONCAPA;
-
+use LONCAPA qw(:DEFAULT :match);
sub handler {
my ($r) = @_;
@@ -57,7 +56,7 @@ sub handler {
&Apache::lonacc::get_posted_cgi($r);
}
my $function = $env{'form.function'};
- my $origurl = &unescape($env{'form.origurl'});
+ my $origurl = $env{'form.origurl'};
my $command = $env{'form.command'};
if ($command eq 'process') {
@@ -70,15 +69,21 @@ sub handler {
sub print_request_form {
my ($r,$origurl,$function) = @_;
- my ($os,$browser,$bversion,$uhost,$uname,$udom,$uhome,$urole,$usec,$email,$cid,$cdom,$cnum,$ctitle,$ccode,$sectionlist,$lastname,$firstname,$server,$formname);
+ my ($os,$browser,$bversion,$uhost,$uname,$udom,$uhome,$urole,$usec,$email,$cid,
+ $cdom,$cnum,$ctitle,$ccode,$sectionlist,$lastname,$firstname,$server,
+ $formname,$public);
$function = &Apache::loncommon::get_users_function() if (!$function);
$ccode = '';
$os = $env{'browser.os'};
$browser = $env{'browser.type'};
$bversion = $env{'browser.version'};
$uhost = $env{'request.host'};
- $uname = $env{'user.name'};
- $udom = $env{'user.domain'};
+ if (($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public')) {
+ $public = 1;
+ } else {
+ $uname = $env{'user.name'};
+ $udom = $env{'user.domain'};
+ }
$uhome = $env{'user.home'};
$urole = $env{'request.role'};
$usec = $env{'request.course.sec'};
@@ -172,7 +177,20 @@ END
my ($sec,$grp) = split(/:/,$section);
$groupid{$sec} = $grp;
}
- &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['codedom']);
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['codedom',
+ 'useremail','useraccount']);
+ if ($env{'form.origurl'} eq '/adm/createaccount') {
+ if ($email eq '') {
+ if ($env{'form.useremail'} =~ /^[^\@]+\@[^\@]+$/) {
+ $email = &HTML::Entities::encode($env{'form.useremail'},'"<>&');
+ }
+ }
+ if ($uname eq '') {
+ if ($env{'form.useraccount'} =~ /^$match_username$/) {
+ $uname = &HTML::Entities::encode($env{'form.useraccount'},'"<>&');
+ }
+ }
+ }
my $codedom = &get_domain();
my $details_title;
if ($codedom) {
@@ -266,7 +284,7 @@ function initialize_codes() {
&Apache::lonhtmlcommon::row_closure();
$num ++;
$i = $num%2;
- if (defined($env{'user.name'})) {
+ if (($env{'user.name'} =~ /^$match_username$/) && (!$public)) {
$output .= &Apache::lonhtmlcommon::row_title($lt{'emac'},undef,$css[$i]).
'
'."\n".
&Apache::lonhtmlcommon::row_closure();
@@ -278,30 +296,33 @@ function initialize_codes() {
&HTML::Entities::encode($udom,'"<>&').'" />';
my $uname_input = '&').'" />';
- if (defined($uname) && defined($udom)) {
+ if (($env{'user.name'} =~ /^$match_username$/) &&
+ ($env{'user.domain'} =~ /^$match_domain$/) && (!$public)) {
$output .= ''.$lt{'unme'}.': '.$uname.' '.$lt{'doma'}.': '.$udom.$udom_input.$uname_input;
} else {
my $udomform = '';
my $unameform = '';
- if (defined($udom)) {
+ if (($env{'user.domain'} =~ /^$match_domain$/) && (!$public)) {
$output .= $lt{'entu'};
- } elsif (defined($uname)) {
+ } elsif (($env{'user.name'} =~ /^$match_username$/) && (!$public)) {
$output .= $lt{'chdo'};
} else {
$output .= $lt{'entr'};
}
$output .= '
';
- if (defined($udom)) {
- $udomform = ''.$lt{'doma'}.': '.$udom.$udom_input;
- } elsif (defined($uname)) {
- $unameform = ''.$lt{'unme'}.': '.$uname.' '.$uname_input;
+ if (!$public) {
+ if ($env{'user.domain'} =~ /^$match_domain$/) {
+ $udomform = ''.$lt{'doma'}.': '.$udom.$udom_input;
+ } elsif ($env{'user.name'} =~ /^$match_username$/) {
+ $unameform = ''.$lt{'unme'}.': '.$uname.' '.$uname_input;
+ }
}
if ($udomform eq '') {
$udomform = ''.$lt{'doma'}.': ';
$udomform .= &Apache::loncommon::select_dom_form($codedom,'udom');
}
if ($unameform eq '') {
- $unameform= ''.$lt{'unme'}.': ';
+ $unameform= ''.$lt{'unme'}.': ';
}
$output .= $unameform.$udomform;
}
@@ -311,115 +332,119 @@ function initialize_codes() {
$output .= &Apache::lonhtmlcommon::row_title("$lt{'urlp'}",undef,$css[$i]).
$showserver.'&').'" />'.
- &Apache::lonhtmlcommon::row_closure().
- &Apache::lonhtmlcommon::row_title("$lt{'phon'}",undef,'LC_evenrow_value').
- '
'.
&Apache::lonhtmlcommon::row_closure();
- $num ++;
- $i = $num%2;
- $output .= &Apache::lonhtmlcommon::row_title("$lt{'crsd'}$details_title",undef,$css[$i]);
- if ($cnum) {
- if ($coursecodes{$cnum}) {
- foreach my $item (@codetitles) {
- $output .= ''.$item.': '.$codes{$cnum}{$item}.'; ';
+ if (&Apache::loncommon::check_for_gci_dc()) {
+ $output .= &Apache::lonhtmlcommon::row_title("$lt{'phon'}",undef,
+ 'LC_evenrow_value').
+ '
'.
+ &Apache::lonhtmlcommon::row_closure();
+ $num ++;
+ $i = $num%2;
+ $output .= &Apache::lonhtmlcommon::row_title("$lt{'crsd'}$details_title",undef,$css[$i]);
+ if ($cnum) {
+ if ($coursecodes{$cnum}) {
+ foreach my $item (@codetitles) {
+ $output .= ''.$item.': '.$codes{$cnum}{$item}.'; ';
+ }
+ $output .= ' &').'" />';
+ } else {
+ $output .= $lt{'enin'}.':
+ ';
}
- $output .= ' &').'" />';
} else {
- $output .= $lt{'enin'}.':
- ';
- }
- } else {
- if ($totcodes > 0) {
- my $numtitles = @codetitles;
- if ($numtitles == 0) {
- $output .= $lt{'enin'}.':
- ';
- } else {
- my $lasttitle = $numtitles;
- if ($numtitles > 4) {
- $lasttitle = 4;
- }
- $output .= '
'.$codetitles[0].' '."\n". - ' | ';
- for (my $i=1; $i<$numtitles; $i++) {
- $output .= ''.$codetitles[$i].' '."\n". - ' | '."\n";
- }
- $output .= '