'.$codetitles[0].' '."\n".
'";
} else {
- $output .= '';
+ $output .= ''."\n";
}
$output .= &Apache::lonhtmlcommon::row_closure();
$num ++;
@@ -447,16 +481,32 @@ function initialize_codes() {
' '."\n".
&Apache::lonhtmlcommon::row_closure().
&Apache::lonhtmlcommon::row_title($lt{'detd'},undef,'LC_evenrow_value').
- ' '.
+ ' '."\n".
&Apache::lonhtmlcommon::row_closure();
$num ++;
$i = $num%2;
if (($env{'user.name'} =~ /^$match_username$/) && (!$public)) {
- $output .= &Apache::lonhtmlcommon::row_title($lt{'opfi'},undef,$css[$i]).
- ' '.$lt{'uplf'}."\n".
- &Apache::lonhtmlcommon::row_closure();
- $num ++;
- $i = $num%2;
+ if ($homeserver) {
+ $output .= &Apache::lonhtmlcommon::row_title($lt{'opfi'},undef,$css[$i]).
+ ' '.
+ "\n".$lt{'uplf'}."\n".
+ &Apache::lonhtmlcommon::row_closure();
+ $num ++;
+ $i = $num%2;
+ }
+ } else {
+ my $lonhost = $r->dir_config('lonHostID');
+ my ($captchaform,$error) =
+ &Apache::loncommon::captcha_display('login',$lonhost);
+ if ($captchaform) {
+ $output .= &Apache::lonhtmlcommon::row_title(&mt('Validation'),undef,
+ $css[$i])."\n".
+ $captchaform."\n".
+ &Apache::lonhtmlcommon::row_closure();
+ $num ++;
+ $i = $num%2;
+ }
}
$output .= &Apache::lonhtmlcommon::row_title($lt{'fini'},undef,$css[$i]);
$output .= <dir_config('lonHostID');
+ my ($captcha_chk,$captcha_error) =
+ &Apache::loncommon::captcha_response('login',$lonhost);
+ if ($captcha_chk != 1) {
+ $r->print(&Apache::loncommon::start_page('Support request failed',undef,
+ {'function' => $function,
+ 'add_entries' => {
+ topmargin => "0",
+ marginheight => "0",
+ },
+ 'only_body' => 1,}));
+ if ($r->uri eq '/adm/helpdesk') {
+ &print_header($r,$url,'process');
+ }
+ $r->print(
+ ''.&mt('Support request failed').''.
+ &Apache::lonhtmlcommon::confirm_success(
+ &mt('Validation of the code you entered failed.'),1).
+ '
'.
+ &Apache::lonhtmlcommon::actionbox([
+ &mt('[_1]Go back[_2] and try again',
+ '','')]).
+ &Apache::loncommon::end_page());
+ return;
+ }
+ }
my @ENVvars = ('HTTP_HOST','HTTP_USER_AGENT','REMOTE_ADDR','SERVER_ADDR','SERVER_NAME');
my @envvars = ('browser.os','browser.type','browser.version','user.home','request.role');
my @loncvars = ('user.name','user.domain','request.course.sec','request.course.id');
@@ -558,7 +639,6 @@ sub print_request_receipt {
sourceurl => 'URL',
date => 'Date/Time',
secn => 'Section',
- asup => 'A support request has been sent to',
warn => 'Warning: Problem with support e-mail address',
your => 'Your support request contained the following information',
sect => 'section',
@@ -566,8 +646,15 @@ sub print_request_receipt {
adin => 'Additional information recorded',
);
- my (@ok_ccs,@bad_ccs,$badccmsg,$okcclist);
- if ((defined($env{'user.name'})) && (defined($env{'form.cc'}))) {
+ my (@ok_ccs,@bad_ccs,$badccmsg,$okcclist,$homeserver);
+ unless ($public) {
+ if (($env{'user.name'} ne '') && ($env{'user.domain'} ne '')) {
+ $homeserver = &Apache::lonnet::homeserver($env{'user.name'},
+ $env{'user.domain'});
+ }
+ }
+
+ if (($homeserver) && (defined($env{'form.cc'}))) {
my @ccs;
if ($env{'form.cc'} =~ /,/) {
@ccs = split(/,/,$env{'form.cc'});
@@ -593,10 +680,11 @@ sub print_request_receipt {
$okcclist = join(', ',@ok_ccs);
}
if (@bad_ccs == 1) {
- $badccmsg .= ' '.&mt('The following Cc e-mail address is invalid: ').$bad_ccs[0];
+ if ($bad_ccs[0] ne '') {
+ $badccmsg .= ' '.&mt('The following Cc e-mail address is invalid: ').&Apache::loncommon::cleanup_html($bad_ccs[0]);
+ }
} elsif (@bad_ccs > 1) {
- my $bad_cc_string = join(', ',@bad_ccs);
- $badccmsg .= ' '.&mt('The following Cc e-mail addresses are invalid: ').$bad_cc_string;
+ $badccmsg .= ' '.&mt('The following Cc e-mail addresses are invalid: '). &Apache::loncommon::cleanup_html(join(', ',@bad_ccs));
}
}
$env{'form.user'} = "'".$env{'form.uname'}.':'.$env{'form.udom'}."'";
@@ -619,7 +707,7 @@ END
if ($env{'form.'.$item} ne '') {
if ($item eq 'description') {
my $descrip = $env{'form.description'};
- $descrip = &cleanup_html($descrip);
+ $descrip = &Apache::loncommon::cleanup_html($descrip);
$descrip =~ s|[\n\r\f]| |g;
$displaymsg .=
''.
@@ -627,17 +715,20 @@ END
} elsif ($item eq 'sourceurl') {
my $showurl = $env{'form.sourceurl'};
$showurl =~ s/\?.*$//;
- $showurl = &cleanup_html($showurl);
+ $showurl = &Apache::loncommon::cleanup_html($showurl);
$displaymsg .=
''.
"$lt{$item}: $showurl \n";
} elsif ($item eq 'cc') {
- $displaymsg .=
- ''.
- "$lt{$item}: $okcclist \n";
+ if ($okcclist) {
+ my $showcclist = &Apache::loncommon::cleanup_html($okcclist);
+ $displaymsg .=
+ ''.
+ "$lt{$item}: $showcclist \n";
+ }
} else {
my $showitem = $env{'form.'.$item};
- $showitem = &cleanup_html($showitem);
+ $showitem = &Apache::loncommon::cleanup_html($showitem);
$displaymsg .=
''.
"$lt{$item}: $showitem \n";
@@ -658,7 +749,7 @@ END
$r->print(<<"END");
$start_page
-
END
@@ -689,14 +780,20 @@ END
$bad_email = 1;
}
}
- if ($bad_email) {
- $r->print('
- '.$lt{'warn'}.''.
-&mt('As the e-mail address provided for this LON-CAPA server ([_1]) 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.',$to).' '.&mt('Instead a copy has been sent to the LON-CAPA support team at Michigan State University.'));
- $to = 'helpdesk@lon-capa.org';
+
+ my $message;
+ if (!$bad_email) {
+ $message = &Apache::lonhtmlcommon::confirm_success(
+ &mt('A support request has been sent to [_1]',''.$to.''));
} else {
- $r->print(''.$lt{'asup'}.' '.$to.'');
+ $message = &Apache::lonhtmlcommon::confirm_success(
+ $lt{'warn'}.' '
+ .&mt('As the e-mail address provided for this LON-CAPA server ([_1]) does not appear to be a valid e-mail address, your support request has [_2]not[_3] been sent to the LON-CAPA support staff or administrator at your institution.',''.$to.'','','')
+ .' '.&mt('Instead a copy has been sent to the LON-CAPA support team at Michigan State University.'),1);
+ $to = 'helpdesk@lon-capa.org';
}
+ $r->print(&Apache::loncommon::confirmwrapper($message));
+
if (defined($env{'form.email'})) {
$env{'form.email'} =~ s/^\s+//;
$env{'form.email'} =~ s/\s+$//;
@@ -722,9 +819,8 @@ END
my $attachmentpath = '';
my $attachmentsize = '';
- if ((defined($env{'user.name'})) && ($env{'user.name'} ne 'public')
- && ($env{'user.domain'} ne 'public')) {
- if ($env{'form.screenshot.filename'}) {
+ if ((defined($env{'user.name'})) && (!$public)) {
+ if ($homeserver && $env{'form.screenshot.filename'}) {
$attachmentsize = length($env{'form.screenshot'});
if ($attachmentsize > 131072) {
$displaymsg .= ' '.&mt('The uploaded screenshot file ([_1] bytes) included with your request exceeded the maximum allowed size - 128 KB, and has therefore been discarded.',$attachmentsize);
@@ -744,7 +840,7 @@ END
$fname = $1;
$displaymsg .= ' '
.&mt('An uploaded screenshot file [_1] ([_2] bytes) was included in the request sent by [_3].'
- ,''.$fname.''
+ ,''.$fname.''
,$attachmentsize
,$env{'user.name'}.':'.$env{'user.domain'}
);
@@ -767,16 +863,19 @@ END
Type =>'TEXT',
Data => $supportmsg,
);
- if (@ok_ccs > 0) {
- my $cc_string = join(', ',@ok_ccs);
- $msg->add("Cc" => $cc_string);
+ if ($homeserver) {
+ if (@ok_ccs > 0) {
+ my $cc_string = join(', ',@ok_ccs);
+ $msg->add("Cc" => $cc_string);
+ }
}
if ($bcc ne '') {
$msg->add("Bcc" => $bcc);
}
- $msg->add('Content-type','text/plain; charset=UTF-8');
+ $msg->attr("content-type" => "text/plain");
+ $msg->attr("content-type.charset" => "UTF-8");
- if ($attachmentpath) {
+ if ($homeserver && $attachmentpath) {
my ($type, $encoding) = MIME::Types::by_suffix($attachmentpath);
$msg->attach(Type => $type,
Path => $attachmentpath,
@@ -849,11 +948,14 @@ sub print_header {
$helpdesk_link = '';
}
my %lt = &Apache::lonlocal::texthash (
- login => 'Log-in help',
- ask => 'Ask helpdesk',
- getst => 'Getting started guide',
- back => 'Back to last location',
+ login => 'Log-in help',
+ ask => 'Ask helpdesk',
+ getst => 'Getting started guide',
+ back => 'Back to last location',
headline => 'help/support',
+ stud => 'Students',
+ ifyo => 'If your problem is still unresolved, the form below can be used to send a question to the LON-CAPA helpdesk.',
+ cont => 'Contact your instructor instead.',
);
my ($getstartlink,$reviewtext);
if (-e $Apache::lonnet::perlvar{'lonDocRoot'}.'/adm/gettingstarted.html') {
@@ -862,42 +964,54 @@ sub print_header {
} else {
$reviewtext = &mt('Please review the information in "Log-in help" if you are unable to log-in.');
}
+ my $linkback;
if ($origurl eq '') {
- $origurl = 'javascript:history.go(-1)';
+ $linkback = 'javascript:history.go(-1)';
+ } else {
+ $linkback = &HTML::Entities::encode($origurl,'"<>&');
}
- $r->print(< |
-
+ my $loginhelp = &Apache::lonauth::loginhelpdisplay();
+ if ($loginhelp eq '') {
+ $loginhelp = '/adm/loginproblems.html';
+ }
+ $r->print(<<"END");
+
+
+ |
+
|
- |
+ |
-
- |
+
+ |
END
if ($command ne 'process') {
- $r->print('
+ my $stuwarn = &mt('Do [_1]not[_2] use this form to ask about course content.',
+ '','');
+ $r->print(<<"END");
- '.$reviewtext.' '
-.&mt('If your problem is still unresolved, the form below can be used to send a question to the LON-CAPA helpdesk.').' '
-.''.&mt('Students').': '.&mt('Do not use this form to ask questions about course content.').' '
-.&mt('Contact your instructor instead.')
-.'
+ | $reviewtext
+ $lt{'ifyo'}
+$lt{'stud'}:
+$stuwarn $lt{'cont'}
+
|
- ');
+
+END
}
$r->print('
');
@@ -907,8 +1021,11 @@ END
sub get_domain {
my $codedom;
if (exists($env{'form.codedom'})) {
- $codedom = $env{'form.codedom'};
- } elsif ($env{'request.course.id'}) {
+ if (&Apache::lonnet::domain($env{'form.codedom'}) ne '') {
+ return $env{'form.codedom'};
+ }
+ }
+ if ($env{'request.course.id'}) {
$codedom = $env{'course.'.$env{'request.course.id'}.'.domain'};
} elsif ($env{'request.role.domain'}) {
$codedom = $env{'request.role.domain'};
@@ -918,22 +1035,4 @@ sub get_domain {
return $codedom;
}
-sub cleanup_html {
- my ($incoming) = @_;
- my $outgoing;
- if ($incoming ne '') {
- $outgoing = $incoming;
- $outgoing =~ s/\#/#/g;
- $outgoing =~ s/\&/&/g;
- $outgoing =~ s/</g;
- $outgoing =~ s/>/>/g;
- $outgoing =~ s/\(/(/g;
- $outgoing =~ s/\)/)/g;
- $outgoing =~ s/"/"/g;
- $outgoing =~ s/'/'/g;
- $outgoing =~ s/\$/$/g;
- }
- return $outgoing;
-}
-
1;
| |