--- loncom/interface/lonsupportreq.pm 2004/12/18 22:30:28 1.13 +++ loncom/interface/lonsupportreq.pm 2004/12/30 16:18:16 1.19 @@ -39,7 +39,7 @@ sub print_request_form { my $bodytag = &Apache::loncommon::bodytag('',$function,'topmargin="0",marginheight="0"',1); my $tablecolor = &Apache::loncommon::designparm($function.'.tabbg'); if (($tablecolor eq '') || ($tablecolor eq '#FFFFFF')) { - $tablecolor = '#CCCCFF'; + $tablecolor = '#EEEE99'; } $ccode = ''; $os = $ENV{'browser.os'}; @@ -110,8 +110,11 @@ END my ($sec,$grp) = split/:/,$_; $groupid{$sec} = $grp; } - my $defdom = $Apache::lonnet::perlvar{'lonDefDomain'}; - my $codedom = $defdom; + my $codedom = $Apache::lonnet::perlvar{'lonDefDomain'}; + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['codedom']); + if (exists($ENV{'form.codedom'})) { + $codedom = $ENV{'form.codedom'}; + } my %coursecodes = (); my %codes = (); my @codetitles = (); @@ -124,7 +127,7 @@ END my $totcodes = 0; my $format_reply; my $jscript = ''; - + if ($cdom) { $codedom = $cdom; } @@ -148,16 +151,22 @@ END &javascript_code_selections($numtypes,\$jscript,\%idlist,\%idnums,\%idlist_titles,\@codetitles); } } - $r->print(<print(< LON-CAPA support request - $bodytag +ENDHEAD + if ($r->uri eq '/adm/helpdesk') { + &print_header($r,$origurl); + } + $r->print(<<"END"); +
@@ -168,7 +177,6 @@ $bodytag
-
@@ -193,9 +201,10 @@ END } elsif (defined($lastname) && $lastname ne '') { $fullname= " $lastname"; } - $r->print('
'); + $r->print(''); } $r->print(< 
@@ -258,10 +267,10 @@ END } if ($udomform eq '') { $udomform = 'domain: '; - $udomform .= &Apache::loncommon::select_dom_form('','udom'); + $udomform .= &Apache::loncommon::select_dom_form($codedom,'udom'); } if ($unameform eq '') { - $unameform= 'username  '; + $unameform= 'username  '; } $r->print($unameform.$udomform.'
Enter the username you use to log-in to your LON-CAPA system, and choose your domain.'); } @@ -289,7 +298,7 @@ END
- http://$server$origurl + http://$server$origurl
@@ -540,7 +549,7 @@ END
-   +     @@ -560,6 +569,9 @@ END
+ + + END return; } @@ -577,18 +589,32 @@ sub print_request_receipt { my $fontcolor = &Apache::loncommon::designparm($function.'.font'); my $vlinkcolor = &Apache::loncommon::designparm($function.'.vlink'); my $tablecolor = &Apache::loncommon::designparm($function.'.tabbg'); - my @formvars = ('username','email','uname','udom','origurl','phone','section','coursecode','title','subject','description','screenshot'); + my @formvars = ('username','email','uname','udom','sourceurl','phone','section','coursecode','title','subject','description','screenshot'); &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},\@formvars); - + my $coursecode = $ENV{'form.coursecode'}; + if ($coursecode eq '') { + if (defined($ENV{'form.Year'})) { + $coursecode .= $ENV{'form.Year'}; + } + if (defined($ENV{'form.Semester'})) { + $coursecode .= $ENV{'form.Semester'}; + } + if (defined($ENV{'form.Department'})) { + $coursecode .= $ENV{'form.Department'}; + } + if (defined($ENV{'form.Number'})) { + $coursecode .= $ENV{'form.Number'}; + } + } my $supportmsg = qq| Name: $ENV{'form.username'} Email: $ENV{'form.email'} Username/domain: $ENV{'form.uname'} - $ENV{'form.udom'} Tel: $ENV{'form.phone'} -Course Information: $ENV{'form.title'} - $ENV{'form.coursecode'} - section: $ENV{'form.section'} +Course Information: $ENV{'form.title'} - $coursecode - section: $ENV{'form.section'} Subject: $ENV{'form.subject'} Description: $ENV{'form.description'} -URL: $ENV{'form.origurl'} +URL: $ENV{'form.sourceurl'} Date/Time: $reporttime |; @@ -599,40 +625,34 @@ Date/Time: $reporttime Email: $ENV{'form.email'}
Username/domain: $ENV{'form.uname'} - $ENV{'form.udom'}
Tel: $ENV{'form.phone'}
-Course Information: $ENV{'form.title'} - $ENV{'form.coursecode'} - section: $ENV{'form.section'}
+Course Information: $ENV{'form.title'} - $coursecode - section: $ENV{'form.section'}
Subject: $ENV{'form.subject'}
Description: $descrip
-URL: $ENV{'form.origurl'}
+URL: $ENV{'form.sourceurl'}
Date/Time: $reporttime
|; - - if ($to =~ m/^[^\@]+\@[^\@]+$/) { - $r->print(<print(<<"END"); LON-CAPA support request recorded $bodytag -

A support request has been sent to $to

+
+ +
END + if ($r->uri eq '/adm/helpdesk') { + &print_header($r,$url,'process'); + } + if ($to =~ m/^[^\@]+\@[^\@]+$/) { + $r->print("

A support request has been sent to $to

"); } else { $to = $admin; if ($to =~ m/^[^\@]+\@[^\@]+$/) { - $r->print(< - - LON-CAPA support request recorded - -$bodytag -

A support request has been sent to $to

+ $r->print("

A support request has been sent to $to

"); END } else { $r->print(< - - LON-CAPA support request recorded - -$bodytag

Warning: Problem with support e-mail address

As the e-mail address provided for this LON-CAPA server ($to) does not appear to be a valid e-mail address, your support request has not been sent to the LON-CAPA support staff or administrator at your institution. Instead a copy has been sent to the LON-CAPA support team at Michigan State University. END @@ -784,9 +804,77 @@ END
+ + "); } +sub print_header { + my ($r,$origurl,$action) = @_; + my $location=&Apache::loncommon::lonhttpdurl("/adm"); + my $tablecolor = '#EEEE99'; + my ($component_url); + my $helpdesk_link = ''; + if ($action eq 'process') { + $helpdesk_link = ''; + } + my %lt = &Apache::lonlocal::texthash ( + login => 'Log-in help', + ask => 'Ask helpdesk', + getst => 'Getting started guide', + back => 'Back to last location' + ); + $r->print(<   + +
  LON-CAPA help/support + + + + +
+ + + + +
+ + + + +
+ + + + + + + +
(Login help) $lt{'login'} $helpdesk_link(Ask helpdesk) $lt{'ask'}  $lt{'getst'} (Back to last location) $lt{'back'} 
+
+
+
+
+ +   + + +   + +END + unless ($action eq 'process') { + $r->print(' + + '.&mt(' +Please read the "Log-in help" and "Getting started guide" if you can not log-in').'. '.&mt('If your problem is still unresolved, the form below can be used to send a question to the LON-CAPA helpdesk').'.
'.&mt('Note').': '.&mt('Student questions about course content should be directed to the course instructor').'.

+ + '); + } + $r->print(' +'); + return; +} + sub retrieve_instcodes { my ($coursecodes,$codedom,$totcodes) = @_; my %courses = &Apache::lonnet::courseiddump($codedom,'.',1,'.','.'); @@ -851,9 +939,9 @@ sub build_code_selections { my @sorted_b = (); my @sorted_b_titles = (); &sort_cats($num,$cat_order,$codetitles,\@{$idarrays{$$codetitles[2]}{$key_a}{$key_b}},\@sorted_b); - if (defined($$cat_titles{$$codetitles[1]})) { + if (defined($$cat_titles{$$codetitles[2]})) { foreach (@sorted_b) { - push @sorted_b_titles, $$cat_titles{$$codetitles[1]}{$_}; + push @sorted_b_titles, $$cat_titles{$$codetitles[2]}{$_}; } } $$idlist{$$codetitles[2]}{$key_a}{$key_b} = join('","',@sorted_b); @@ -1004,10 +1092,10 @@ sub javascript_code_selections { function courseSet(caller) { var ids = new Array ("$seltitle_str"); var formitems = new Array ($numtitles); - var idyr = document.forms.logproblem.Year.selectedIndex - var idsem = document.forms.logproblem.Semester.selectedIndex - var iddept = document.forms.logproblem.Department.selectedIndex - var idclass = document.forms.logproblem.Number.selectedIndex + var idyr = document.logproblem.Year.selectedIndex + var idsem = document.logproblem.Semester.selectedIndex + var iddept = document.logproblem.Department.selectedIndex + var idclass = document.logproblem.Number.selectedIndex var idyears = new Array("$$idlist{$$codetitles[0]}"); var idsems = new Array ($$idnums{$$codetitles[0]}); var idsemlongs = new Array ($$idnums{$$codetitles[0]}); @@ -1033,52 +1121,51 @@ END } } $$script_tag .= (<