--- loncom/interface/lonsupportreq.pm 2006/12/22 20:51:27 1.42 +++ loncom/interface/lonsupportreq.pm 2007/09/05 05:46:19 1.44 @@ -1,5 +1,5 @@ # -# $Id: lonsupportreq.pm,v 1.42 2006/12/22 20:51:27 albertel Exp $ +# $Id: lonsupportreq.pm,v 1.44 2007/09/05 05:46:19 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -32,6 +32,7 @@ use MIME::Lite; use CGI::Cookie(); use Apache::Constants qw(:common); use Apache::loncommon(); +use Apache::lonhtmlcommon; use Apache::lonnet; use Apache::lonlocal; use Apache::lonacc(); @@ -57,9 +58,9 @@ sub handler { } my $function = $env{'form.function'}; my $origurl = &unescape($env{'form.origurl'}); - my $action = $env{'form.action'}; + my $command = $env{'form.command'}; - if ($action eq 'process') { + if ($command eq 'process') { &print_request_receipt($r,$origurl,$function); } else { &print_request_form($r,$origurl,$function); @@ -70,10 +71,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,$formname); - my $tablecolor = &Apache::loncommon::designparm($function.'.tabbg'); - if (($tablecolor eq '') || ($tablecolor eq '#FFFFFF')) { - $tablecolor = '#EEEE99'; - } + $function = &Apache::loncommon::get_users_function() if (!$function); $ccode = ''; $os = $env{'browser.os'}; $browser = $env{'browser.type'}; @@ -92,6 +90,8 @@ sub print_request_form { } else { $server = $machine.$origurl; } + my $showserver = $server; + $showserver =~ s/\?.*$//; my %lt = &Apache::lonlocal::texthash ( email => 'The e-mail address you entered', notv => 'is not a valid e-mail address', @@ -102,7 +102,9 @@ sub print_request_form { emad => 'E-mail address', unme => 'username', doma => 'domain', - entr => 'Enter the username you use to log-in to your LON-CAPA system, and choose your domain.', + entu => 'Enter the username you use to log-in to LON-CAPA', + chdo => 'Choose your LON-CAPA domain', + entr => 'Enter the username you use to log-in to LON-CAPA, and your domain.', urlp => 'URL of page', phon => 'Phone', crsd => 'Course Details', @@ -116,7 +118,7 @@ sub print_request_form { subj => 'Subject', detd => 'Detailed Description', opfi => 'Optional file upload', - uplf => 'Upload a file (e.g., a screenshot) relevant to your support request (128 KB max. size)', + uplf => 'Upload a file (e.g., a screenshot) relevant to your help request (128 KB max.)', fini => 'Finish', clfm => 'Clear Form', ); @@ -138,31 +140,10 @@ function validate() { } END - $scripttag .= <<'END'; -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 reg1 = new RegExp(reg1str); - var reg2 = new RegExp(reg2str); - if (!reg1.test(str) && reg2.test(str)) { - return true; - } - return false; - } - else - { - if(str.indexOf("@") >= 0) { - return true; - } - return false; - } -} -END - - if ($cid =~ m/_/) { - ($cdom,$cnum) = split(/_/,$cid); + $scripttag .= &Apache::lonhtmlcommon::javascript_valid_email(); + if ($cid) { + $cdom = $env{'course.'.$cid.'.domain'}; + $cnum = $env{'course.'.$cid.'.num'}; } if ($cdom && $cnum) { my %csettings = &Apache::lonnet::get('environment',['description','internal.coursecode','internal.sectionnums'],$cdom,$cnum); @@ -170,10 +151,12 @@ END $ccode = $csettings{'internal.coursecode'}; $sectionlist = $csettings{'internal.sectionnums'}; } - if ($env{'environment.critnotification'}) { + + if ($env{'environment.permanentemail'}) { + $email = $env{'environment.permanentemail'}; + } elsif ($env{'environment.critnotification'}) { $email = $env{'environment.critnotification'}; - } - if (!$email && $env{'environment.notification'}) { + } elsif ($env{'environment.notification'}) { $email = $env{'environment.notification'}; } if ($env{'environment.lastname'}) { @@ -246,118 +229,60 @@ function initialize_codes() { } } - my $js = ''; my %add_entries = (topmargin => "0", marginheight => "0", onLoad =>"initialize_codes()",); - my $start_page = - &Apache::loncommon::start_page('Support Request',$js, + + $r->print(&Apache::loncommon::start_page('Support Request',$js, { 'function' => $function, 'add_entries' => \%add_entries, - 'only_body' => 1,}); - $r->print($start_page); - + 'only_body' => 1,})); if ($r->uri eq '/adm/helpdesk') { &print_header($r,$origurl); } - $r->print(<<"END"); -