--- loncom/interface/lonsupportreq.pm 2005/04/12 00:20:00 1.28 +++ loncom/interface/lonsupportreq.pm 2006/05/30 12:46:09 1.35 @@ -1,5 +1,5 @@ # -# $Id: lonsupportreq.pm,v 1.28 2005/04/12 00:20:00 raeburn Exp $ +# $Id: lonsupportreq.pm,v 1.35 2006/05/30 12:46:09 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -35,6 +35,10 @@ use Apache::Constants qw(:common); use Apache::loncommon(); use Apache::lonnet; use Apache::lonlocal; +use Apache::lonacc(); +use lib '/home/httpd/lib/perl/'; +use LONCAPA; + sub handler { my ($r) = @_; @@ -46,10 +50,10 @@ sub handler { } &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['origurl','function']); if ($r->uri eq '/adm/helpdesk') { - &Apache::loncommon::get_posted_cgi($r); + &Apache::lonacc::get_posted_cgi($r); } my $function = $env{'form.function'}; - my $origurl = &Apache::lonnet::unescape($env{'form.origurl'}); + my $origurl = &unescape($env{'form.origurl'}); my $action = $env{'form.action'}; if ($action eq 'process') { @@ -62,8 +66,7 @@ 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); - my $bodytag = &Apache::loncommon::bodytag('',$function,'topmargin="0" marginheight="0" onLoad="initialize_codes()"',1); + my ($os,$browser,$bversion,$uhost,$uname,$udom,$uhome,$urole,$usec,$email,$cid,$cdom,$cnum,$ctitle,$ccode,$sectionlist,$lastname,$firstname,$server,$formname); my $tablecolor = &Apache::loncommon::designparm($function.'.tabbg'); if (($tablecolor eq '') || ($tablecolor eq '#FFFFFF')) { $tablecolor = '#EEEE99'; @@ -79,6 +82,7 @@ sub print_request_form { $urole = $env{'request.role'}; $usec = $env{'request.course.sec'}; $cid = $env{'request.course.id'}; + $formname = 'logproblem'; if ($origurl =~ m-^http://-) { $server = $origurl; } else { @@ -97,7 +101,7 @@ function validmail(field) { var str = field.value; if (window.RegExp) { var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)"; - var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"; + var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"; //" var reg1 = new RegExp(reg1str); var reg2 = new RegExp(reg2str); if (!reg1.test(str) && reg2.test(str)) { @@ -114,7 +118,7 @@ function validmail(field) { } } END - #" stupid emacs + if ($cid =~ m/_/) { ($cdom,$cnum) = split/_/,$cid; } @@ -189,23 +193,25 @@ function initialize_codes() { if ($format_reply eq 'ok') { my $numtypes = @codetitles; &build_code_selections(\%codes,\@codetitles,\%cat_titles,\%cat_order,\%idlist,\%idnums,\%idlist_titles); - &javascript_code_selections($numtypes,\%cat_titles,\$jscript,\%idlist,\%idnums,\%idlist_titles,\@codetitles); + &javascript_code_selections($formname,$numtypes,\%cat_titles,\$jscript,\%idlist,\%idnums,\%idlist_titles,\@codetitles); $loaditems = ''; } } } - my $html=&Apache::lonxml::xmlbegin(); - $r->print(< - LON-CAPA support request - - -$bodytag -ENDHEAD + + my $js = ''; + my %add_entries = (topmargin => "0", + marginheight => "0", + onLoad =>"initialize_codes()",); + + my $start_page = + &Apache::loncommon::start_page('Support Request',$js, + { 'function' => $function, + 'add_entries' => \%add_entries, + 'only_body' => 1,}); + $r->print($start_page); + if ($r->uri eq '/adm/helpdesk') { &print_header($r,$origurl); } @@ -594,6 +600,7 @@ END END } + $r->print(< @@ -630,9 +637,8 @@ END - - END + $r->print(&Apache::loncommon::end_page()); return; } @@ -643,7 +649,6 @@ sub print_request_receipt { 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'}; my $to = $Apache::lonnet::perlvar{'lonSupportEMail'}; my $from = $admin; @@ -694,13 +699,18 @@ Date/Time: $reporttime URL: $env{'form.sourceurl'}
Date/Time: $reporttime
|; - my $html=&Apache::lonxml::xmlbegin(); + + my $start_page = + &Apache::loncommon::start_page('Support request recorded',undef, + {'function' => $function, + 'add_entries' => { + topmargin => "0", + marginheight => "0", + }, + 'only_body' => 1,}); + $r->print(<<"END"); -$html - - LON-CAPA support request recorded - -$bodytag +$start_page
@@ -890,9 +900,8 @@ END - - "); + $r->print(&Apache::loncommon::end_page()); } sub print_header { @@ -970,7 +979,7 @@ sub retrieve_instcodes { my %courses = &Apache::lonnet::courseiddump($codedom,'.',1,'.','.','.'); foreach my $course (keys %courses) { if ($courses{$course} =~ m/^[^:]*:([^:]+)/) { - $$coursecodes{$course} = &Apache::lonnet::unescape($1); + $$coursecodes{$course} = &unescape($1); $totcodes ++; } } @@ -1186,7 +1195,7 @@ sub recurse_list { } sub javascript_code_selections { - my ($numcats,$cat_titles,$script_tag,$idlist,$idnums,$idlist_titles,$codetitles) = @_; + my ($formname,$numcats,$cat_titles,$script_tag,$idlist,$idnums,$idlist_titles,$codetitles) = @_; my $numtitles = @{$codetitles}; my @seltitles = (); for (my $j=0; $j<$numtitles; $j++) { @@ -1207,10 +1216,10 @@ function courseSet(caller) { var ids = new Array ("$seltitle_str"); var formitems = new Array ($numtitles); var longtitles = new Array ("$longtitles_str"); - 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 idyr = document.$formname.Year.selectedIndex + var idsem = document.$formname.Semester.selectedIndex + var iddept = document.$formname.Department.selectedIndex + var idclass = document.$formname.Number.selectedIndex var idyears = new Array("$$idlist{$$codetitles[0]}"); END if ($longtitles[0]) { @@ -1274,55 +1283,59 @@ END } $$script_tag .= (<