Diff for /loncom/interface/lonsupportreq.pm between versions 1.79.2.3.2.1 and 1.79.2.4

version 1.79.2.3.2.1, 2017/10/15 03:43:52 version 1.79.2.4, 2019/07/26 18:03:59
Line 69  sub handler { Line 69  sub handler {
         }          }
     }      }
     my $origurl = $env{'form.origurl'};      my $origurl = $env{'form.origurl'};
     $origurl =~ s{^https?://}{};      if ($origurl =~ m{^https?://[^/]+(.*)$}) {
           $origurl =~ $1;
       }
     $origurl =~ s/(`)//g;      $origurl =~ s/(`)//g;
     $origurl =~ s/\$/\(\$\)/g;      $origurl =~ s/\$/\(\$\)/g;
     my $command = $env{'form.command'};      my $command = $env{'form.command'};
Line 151  sub print_request_form { Line 153  sub print_request_form {
         }          }
     }      }
   
     my %coursecodes;  
     my %codes;      my %codes;
     my @codetitles;      my @codetitles;
     my %cat_titles;      my %cat_titles;
Line 159  sub print_request_form { Line 160  sub print_request_form {
     my %idlist;      my %idlist;
     my %idnums;      my %idnums;
     my %idlist_titles;      my %idlist_titles;
     my $caller = 'global';  
     my $totcodes = 0;      my $totcodes = 0;
     my $format_reply;  
     my $jscript = '';      my $jscript = '';
     my $loaditems = qq|      my $loaditems = qq|
 function initialize_codes() {  function initialize_codes() {
Line 169  function initialize_codes() { Line 168  function initialize_codes() {
 }  }
     |;      |;
     unless ($helpform{'course'} eq 'no') {      unless ($helpform{'course'} eq 'no') {
         $totcodes = &Apache::courseclassifier::retrieve_instcodes(\%coursecodes,$codedom);          my $instcats = &Apache::lonnet::get_dom_instcats($codedom);
         if ($totcodes > 0) {          if (ref($instcats) eq 'HASH') {
             $format_reply = &Apache::lonnet::auto_instcode_format($caller,$codedom,\%coursecodes,\%codes,\@codetitles,\%cat_titles,\%cat_order);              if ((ref($instcats->{'codetitles'}) eq 'ARRAY') && (ref($instcats->{'codes'}) eq 'HASH') &&
             if ($format_reply eq 'ok') {                  (ref($instcats->{'cat_titles'}) eq 'HASH') && (ref($instcats->{'cat_order'}) eq 'HASH')) {
                   %codes = %{$instcats->{'codes'}};
                   @codetitles = @{$instcats->{'codetitles'}};
                   %cat_titles = %{$instcats->{'cat_titles'}};
                   %cat_order = %{$instcats->{'cat_order'}};
                   $totcodes = scalar(keys(%codes));
               }
               if ($totcodes > 0) {
                 my $numtypes = @codetitles;                  my $numtypes = @codetitles;
                 &Apache::courseclassifier::build_code_selections(\%codes,\@codetitles,\%cat_titles,\%cat_order,\%idlist,\%idnums,\%idlist_titles);                  &Apache::courseclassifier::build_code_selections(\%codes,\@codetitles,\%cat_titles,\%cat_order,\%idlist,\%idnums,\%idlist_titles);
                 my ($scripttext,$longtitles) = &Apache::courseclassifier::javascript_definitions(\@codetitles,\%idlist,\%idlist_titles,\%idnums,\%cat_titles);                  my ($scripttext,$longtitles) = &Apache::courseclassifier::javascript_definitions(\@codetitles,\%idlist,\%idlist_titles,\%idnums,\%cat_titles);
Line 662  sub print_request_receipt { Line 668  sub print_request_receipt {
     my $admin = $Apache::lonnet::perlvar{'lonAdminMail'};      my $admin = $Apache::lonnet::perlvar{'lonAdminMail'};
     my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'};      my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'};
     my $defdom = &get_domain();      my $defdom = &get_domain();
       my ($to,$bcc,$addtext) =
           &Apache::loncommon::build_recipient_list(undef,'helpdeskmail',
                                                    $defdom,$origmail);
     my $from = $admin;      my $from = $admin;
     my %helpform;      my %helpform;
     my %domconfig =      my %domconfig =
Line 705  sub print_request_receipt { Line 714  sub print_request_receipt {
         $coursecode = $env{'form.coursecode'};          $coursecode = $env{'form.coursecode'};
         if ($coursecode eq '') {          if ($coursecode eq '') {
             my $totcodes = 0;              my $totcodes = 0;
             my %coursecodes;              my $instcats = &Apache::lonnet::get_dom_instcats($defdom);
             $totcodes = &Apache::courseclassifier::retrieve_instcodes(\%coursecodes,$defdom);              if (ref($instcats) eq 'HASH') {
                   if (ref($instcats->{'codes'}) eq 'HASH') {
                       $totcodes = scalar(keys(%{$instcats->{'codes'}}));
                   }
               }
             my @standardnames = &Apache::loncommon::get_standard_codeitems();              my @standardnames = &Apache::loncommon::get_standard_codeitems();
             if ($totcodes > 0) {              if ($totcodes > 0) {
                 my $noregexps = 1;                  my $noregexps = 1;
Line 875  $lt{'date'}: $reporttime Line 888  $lt{'date'}: $reporttime
             }              }
         }          }
     }      }
   
     my ($requname,$requdom,$reqemail);  
     foreach my $field ('uname','udom','email') {  
         $env{'form.'.$field} =~ s/^\s+//;  
         $env{'form.'.$field} =~ s/\s+$//;  
     }  
     if ($env{'form.uname'} =~ /^$match_username$/) {  
         $requdom = $env{'form.udom'};  
     }  
     if ($env{'form.udom'} =~ /^$match_domain$/) {  
         $requdom = $env{'form.udom'};  
     }  
     if ($env{'form.email'} =~ m/^[^\@]+\@[^\@]+$/) {  
         $reqemail = $env{'form.email'};  
     }  
   
     my $dom_in_effect;  
     unless ($env{'user.domain'} eq 'public') {  
         $dom_in_effect = $env{'user.domain'};  
     }  
     if ($dom_in_effect eq '') {  
         $dom_in_effect = $requdom;  
     }  
     if ($dom_in_effect eq '') {  
         $dom_in_effect = $defdom;  
     }  
   
     $displaymsg .= '<span class="LC_helpform_receipt_cat">'.      $displaymsg .= '<span class="LC_helpform_receipt_cat">'.
                    $lt{'date'}.'</span>: '.$reporttime.'<br />'."\n";                     $lt{'date'}.'</span>: '.$reporttime.'<br />'."\n";
   
Line 924  END Line 910  END
         &print_header($r,$url,'process');          &print_header($r,$url,'process');
     }      }
     my $bad_email = 0;      my $bad_email = 0;
     my ($to,$bcc,$addtext) =  
         &Apache::loncommon::build_recipient_list(undef,'helpdeskmail',  
                                                  $dom_in_effect,$origmail,  
                                                  $requname,$requdom,  
                                                  $reqemail);  
     if ($to =~ /,/) {      if ($to =~ /,/) {
         my @ok_email;           my @ok_email; 
         foreach my $email (split(/,/,$to)) {          foreach my $email (split(/,/,$to)) {
Line 966  END Line 947  END
     }      }
     $r->print(&Apache::loncommon::confirmwrapper($message));      $r->print(&Apache::loncommon::confirmwrapper($message));
   
     if ($reqemail ne '') {      if (defined($env{'form.email'})) {
         $from = $reqemail;          $env{'form.email'} =~ s/^\s+//;
           $env{'form.email'} =~ s/\s+$//;
           if ($env{'form.email'} =~ m/^[^\@]+\@[^\@]+$/) {
               $from = $env{'form.email'};
           }
     }      }
   
     if (defined($env{'form.cc'})) {      if (defined($env{'form.cc'})) {

Removed from v.1.79.2.3.2.1  
changed lines
  Added in v.1.79.2.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>