[LON-CAPA-cvs] cvs: loncom /interface lonsupportreq.pm
raeburn
raeburn at source.lon-capa.org
Wed Apr 18 13:30:24 EDT 2012
raeburn Wed Apr 18 17:30:24 2012 EDT
Modified files:
/loncom/interface lonsupportreq.pm
Log:
- xhtml.
- Use default enctype for form unless user has authenticated, in which case
set to multipart/form-data, since ability to upload screenshot file is
available for authenticated users.
-------------- next part --------------
Index: loncom/interface/lonsupportreq.pm
diff -u loncom/interface/lonsupportreq.pm:1.66 loncom/interface/lonsupportreq.pm:1.67
--- loncom/interface/lonsupportreq.pm:1.66 Thu Mar 3 17:29:29 2011
+++ loncom/interface/lonsupportreq.pm Wed Apr 18 17:30:24 2012
@@ -1,5 +1,5 @@
#
-# $Id: lonsupportreq.pm,v 1.66 2011/03/03 17:29:29 bisitz Exp $
+# $Id: lonsupportreq.pm,v 1.67 2012/04/18 17:30:24 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -72,7 +72,7 @@
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,$public);
+ $formname,$public,$homeserver);
$function = &Apache::loncommon::get_users_function() if (!$function);
$ccode = '';
$os = $env{'browser.os'};
@@ -82,13 +82,23 @@
if (($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public')) {
$public = 1;
} else {
- $uname = $env{'user.name'};
- $udom = $env{'user.domain'};
+ if (($env{'user.name'} ne '') && ($env{'user.domain'} ne '')) {
+ $homeserver = &Apache::lonnet::homeserver($env{'user.name'},
+ $env{'user.domain'});
+ if ($homeserver eq 'no_host') {
+ undef($homeserver);
+ } else {
+ $uname = $env{'user.name'};
+ $udom = $env{'user.domain'};
+ }
+ }
+ }
+ if ($homeserver) {
+ $uhome = $env{'user.home'};
+ $urole = $env{'request.role'};
+ $usec = $env{'request.course.sec'};
+ $cid = $env{'request.course.id'};
}
- $uhome = $env{'user.home'};
- $urole = $env{'request.role'};
- $usec = $env{'request.course.sec'};
- $cid = $env{'request.course.id'};
$formname = 'logproblem';
my $machine = &Apache::lonnet::absolute_url();
if ($origurl =~ m-^https?://-) {
@@ -159,18 +169,20 @@
$sectionlist = $csettings{'internal.sectionnums'};
}
- if ($env{'environment.permanentemail'}) {
- $email = $env{'environment.permanentemail'};
- } elsif ($env{'environment.critnotification'}) {
- $email = $env{'environment.critnotification'};
- } elsif ($env{'environment.notification'}) {
- $email = $env{'environment.notification'};
- }
- if ($env{'environment.lastname'}) {
- $lastname = $env{'environment.lastname'};
- }
- if ($env{'environment.firstname'}) {
- $firstname = $env{'environment.firstname'};
+ if ($homeserver) {
+ if ($env{'environment.permanentemail'}) {
+ $email = $env{'environment.permanentemail'};
+ } elsif ($env{'environment.critnotification'}) {
+ $email = $env{'environment.critnotification'};
+ } elsif ($env{'environment.notification'}) {
+ $email = $env{'environment.notification'};
+ }
+ if ($env{'environment.lastname'}) {
+ $lastname = $env{'environment.lastname'};
+ }
+ if ($env{'environment.firstname'}) {
+ $firstname = $env{'environment.firstname'};
+ }
}
my @sections = split(/,/,$sectionlist);
my %groupid;
@@ -243,11 +255,19 @@
}
}
- my $js = '<script type="text/javascript">'."\n$scripttag\n$jscript\n".
- $loaditems.'</script>';
- my %add_entries = (topmargin => "0",
- marginheight => "0",
- onLoad =>"initialize_codes()",);
+ my $js = <<"ENDJS";
+<script type="text/javascript">
+// <![CDATA[
+$scripttag
+$jscript
+$loaditems
+// ]]>
+</script>
+ENDJS
+ my %add_entries = (
+ style => "margin-top:0px;margin-bottom:0px;",
+ onload => "initialize_codes();",
+ );
$r->print(&Apache::loncommon::start_page('Support Request',$js,
@@ -260,20 +280,24 @@
my @css = ('LC_evenrow_value','LC_oddrow_value');
my $num = 1;
my $i = $num%2;
- $r->print('<form method="post" name="logproblem" enctype="multipart/form-data">'."\n");
+ my $formtype;
+ if ($homeserver) {
+ $formtype = ' enctype="multipart/form-data"';
+ }
+ $r->print('<form method="post" action="" name="logproblem"'.$formtype.'>'."\n");
my $output = &Apache::lonhtmlcommon::start_pick_box().
&Apache::lonhtmlcommon::row_title($lt{'name'},undef,$css[$num])."\n";
my $fullname = '';
if ((defined($lastname) && $lastname ne '') && (defined($firstname) && $firstname ne '')) {
$fullname = "$firstname $lastname";
- $output .= $fullname.'<input type="hidden" name="username" value="'.&HTML::Entities::encode($fullname,'"<>&').'" />';
+ $output .= $fullname.'<input type="hidden" name="username" value="'.&HTML::Entities::encode($fullname,'"<>&').'" />'."\n";
} else {
if (defined($firstname) && $firstname ne '') {
$fullname = $firstname;
} elsif (defined($lastname) && $lastname ne '') {
$fullname = " $lastname";
}
- $output .= '<input type="text" size="20" name="username" value="'.&HTML::Entities::encode($fullname,'"<>&').'" />';
+ $output .= '<input type="text" size="20" name="username" value="'.&HTML::Entities::encode($fullname,'"<>&').'" />'."\n";
}
$output .= ' <input type="button" value="'.$lt{'subm'}.'" onclick="validate()" /> '.
&Apache::lonhtmlcommon::row_closure()."\n";
@@ -286,17 +310,19 @@
$num ++;
$i = $num%2;
if (($env{'user.name'} =~ /^$match_username$/) && (!$public)) {
- $output .= &Apache::lonhtmlcommon::row_title($lt{'emac'},undef,$css[$i]).
- '<input type="text" size="50" name="cc" value="" /><br />'."\n".
- &Apache::lonhtmlcommon::row_closure();
- $num ++;
- $i = $num%2;
+ if ($homeserver) {
+ $output .= &Apache::lonhtmlcommon::row_title($lt{'emac'},undef,$css[$i]).
+ '<input type="text" size="50" name="cc" value="" /><br />'."\n".
+ &Apache::lonhtmlcommon::row_closure();
+ $num ++;
+ $i = $num%2;
+ }
}
$output .= &Apache::lonhtmlcommon::row_title("$lt{'unme'}/$lt{'doma'}",undef,$css[$i]);
my $udom_input = '<input type="hidden" name="udom" value="'.
- &HTML::Entities::encode($udom,'"<>&').'" />';
+ &HTML::Entities::encode($udom,'"<>&').'" />'."\n";
my $uname_input = '<input type="hidden" name="uname" value="'.
- &HTML::Entities::encode($uname,'"<>&').'" />';
+ &HTML::Entities::encode($uname,'"<>&').'" />'."\n";
if (($env{'user.name'} =~ /^$match_username$/) &&
($env{'user.domain'} =~ /^$match_domain$/) && (!$public)) {
$output .= '<i>'.$lt{'unme'}.'</i>: '.$uname.' <i>'.$lt{'doma'}.'</i>: '.$udom.$udom_input.$uname_input;
@@ -310,7 +336,7 @@
} else {
$output .= $lt{'entr'};
}
- $output .= '<br />';
+ $output .= '<br />'."\n";
if (!$public) {
if ($env{'user.domain'} =~ /^$match_domain$/) {
$udomform = '<i>'.$lt{'doma'}.'</i>: '.$udom.$udom_input;
@@ -320,7 +346,7 @@
}
if ($udomform eq '') {
$udomform = '<i>'.$lt{'doma'}.'</i>: ';
- $udomform .= &Apache::loncommon::select_dom_form($codedom,'udom');
+ $udomform .= &Apache::loncommon::select_dom_form($codedom,'udom')."\n";
}
if ($unameform eq '') {
$unameform= '<i>'.$lt{'unme'}.'</i>: <input type="text" size="20" name="uname" value="'.$uname.'" /> ';
@@ -331,11 +357,11 @@
$num ++;
$i = $num%2;
$output .= &Apache::lonhtmlcommon::row_title("$lt{'urlp'}",undef,$css[$i]).
- $showserver.'<input type="hidden" name="sourceurl" value="'.
- &HTML::Entities::encode($server,'"<>&').'" />'.
+ $showserver."\n".'<input type="hidden" name="sourceurl" value="'.
+ &HTML::Entities::encode($server,'"<>&').'" />'."\n".
&Apache::lonhtmlcommon::row_closure().
&Apache::lonhtmlcommon::row_title("$lt{'phon'}",undef,'LC_evenrow_value').
- '<input type="text" size="15" name="phone" /><br />'.
+ '<input type="text" size="15" name="phone" /><br />'."\n".
&Apache::lonhtmlcommon::row_closure();
$num ++;
$i = $num%2;
@@ -345,17 +371,17 @@
foreach my $item (@codetitles) {
$output .= '<i>'.$item.'</i>: '.$codes{$cnum}{$item}.'; ';
}
- $output .= ' <input type="hidden" name="coursecode" value="'.&HTML::Entities::encode($coursecodes{$cnum},'"<>&').'" />';
+ $output .= ' <input type="hidden" name="coursecode" value="'.&HTML::Entities::encode($coursecodes{$cnum},'"<>&').'" />'."\n";
} else {
$output .= $lt{'enin'}.':
- <input type="text" name="coursecode" size="15" value="" />';
+ <input type="text" name="coursecode" size="15" value="" />'."\n";
}
} else {
if ($totcodes > 0) {
my $numtitles = @codetitles;
if ($numtitles == 0) {
$output .= $lt{'enin'}.':
- <input type="text" name="coursecode" size="15" value="" />';
+ <input type="text" name="coursecode" size="15" value="" />'."\n";
} else {
my @standardnames = &Apache::loncommon::get_standard_codeitems();
my $lasttitle = $numtitles;
@@ -364,7 +390,7 @@
}
$output .= '<table><tr><td>'.$codetitles[0].'<br />'."\n".
'<select name="'.$standardnames[0].'" onchange="courseSet('."'$codetitles[0]'".')">'."\n".
- ' <option value="-1" />'.$lt{'sele'}."\n";
+ ' <option value="-1">'.$lt{'sele'}."</option>\n";
my @items = ();
my @longitems = ();
if ($idlist{$codetitles[0]} =~ /","/) {
@@ -407,7 +433,7 @@
}
} else {
$output .= $lt{'enin'}.':
- <input type="text" name="coursecode" size="15" value="" />';
+ <input type="text" name="coursecode" size="15" value="" />'."\n";
}
}
if ($ctitle) {
@@ -438,7 +464,7 @@
}
$output .= "</select>";
} else {
- $output .= '<input type="text" name="section" size="10" />';
+ $output .= '<input type="text" name="section" size="10" />'."\n";
}
$output .= &Apache::lonhtmlcommon::row_closure();
$num ++;
@@ -447,16 +473,20 @@
' <input type="text" size="40" name="subject" />'."\n".
&Apache::lonhtmlcommon::row_closure().
&Apache::lonhtmlcommon::row_title($lt{'detd'},undef,'LC_evenrow_value').
- ' <textarea rows="10" cols="45" name="description" wrap="virtual"></textarea>'.
+ ' <textarea rows="10" cols="45" name="description" style="word-wrap:normal;">'.
+ '</textarea>'."\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]).
- ' <input type="file" name="screenshot" size="20" /><br />'.$lt{'uplf'}."\n".
- &Apache::lonhtmlcommon::row_closure();
- $num ++;
- $i = $num%2;
+ if ($homeserver) {
+ $output .= &Apache::lonhtmlcommon::row_title($lt{'opfi'},undef,$css[$i]).
+ ' <input type="file" name="screenshot" size="20" /><br />'.
+ "\n".$lt{'uplf'}."\n".
+ &Apache::lonhtmlcommon::row_closure();
+ $num ++;
+ $i = $num%2;
+ }
}
$output .= &Apache::lonhtmlcommon::row_title($lt{'fini'},undef,$css[$i]);
$output .= <<END;
@@ -565,8 +595,17 @@
adin => 'Additional information recorded',
);
- my (@ok_ccs, at bad_ccs,$badccmsg,$okcclist);
- if ((defined($env{'user.name'})) && (defined($env{'form.cc'}))) {
+ my (@ok_ccs, at bad_ccs,$badccmsg,$okcclist,$public,$homeserver);
+ if (($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public')) {
+ $public = 1;
+ } else {
+ 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'});
@@ -729,7 +768,7 @@
my $attachmentsize = '';
if ((defined($env{'user.name'})) && ($env{'user.name'} ne 'public')
&& ($env{'user.domain'} ne 'public')) {
- if ($env{'form.screenshot.filename'}) {
+ if ($homeserver && $env{'form.screenshot.filename'}) {
$attachmentsize = length($env{'form.screenshot'});
if ($attachmentsize > 131072) {
$displaymsg .= '<br />'.&mt('The uploaded screenshot file ([_1] bytes) included with your request exceeded the maximum allowed size - 128 KB, and has therefore been discarded.',$attachmentsize);
@@ -772,9 +811,11 @@
Type =>'TEXT',
Data => $supportmsg,
);
- if (@ok_ccs > 0) {
- my $cc_string = join(', ', at ok_ccs);
- $msg->add("Cc" => $cc_string);
+ if ($homeserver) {
+ if (@ok_ccs > 0) {
+ my $cc_string = join(', ', at ok_ccs);
+ $msg->add("Cc" => $cc_string);
+ }
}
if ($bcc ne '') {
$msg->add("Bcc" => $bcc);
@@ -782,7 +823,7 @@
$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,
@@ -855,11 +896,14 @@
$helpdesk_link = '<a href="/adm/helpdesk">';
}
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') {
@@ -871,39 +915,44 @@
if ($origurl eq '') {
$origurl = 'javascript:history.go(-1)';
}
- $r->print(<<END);
-<table width="620" border="0" cellspacing="0" cellpadding="0" height="55"> <tr height="50"> <td width='5'> </td>
- <td>
+ $r->print(<<"END");
+<table width="620" border="0" cellspacing="0" cellpadding="0" style="height: 55px;">
+ <tr>
+ <td width="5" height="50"> </td>
+ <td height="50">
<fieldset>
<legend>
- <img src="$location/lonIcons/minilogo.gif" height="20" width="29" valign="bottom" />
+ <img src="$location/lonIcons/minilogo.gif" height="20" width="29" alt="logo" style="vertical-align:bottom" />
LON-CAPA $lt{'headline'}
</legend>
<table id="LC_helpmenu_links">
<tr>
- <td align="center"><span class="LC_nobreak"><img src="$location/help/help.png" border="0" alt="($lt{'login'})" valign="middle" /> <b><a href="/adm/loginproblems.html">$lt{'login'}</a></b> </span></td>
- <td align="center"><span class="LC_nobreak"> <b>$helpdesk_link<img src="$location/lonIcons/helpdesk.gif" border="0" alt="($lt{'ask'})" valign="middle" /> $lt{'ask'}</a></b> </span></td>$getstartlink
- <td align="center"><span class="LC_nobreak"> <b><a href="$origurl" target="_top"><img src="$location/lonIcons/move_up.gif" border="0" alt="($lt{'back'})" valign="middle" /> $lt{'back'}</a></b> </span></td>
+ <td align="center"><span class="LC_nobreak"><img src="$location/help/help.png" border="0" alt="($lt{'login'})" style="vertical-align:middle" /> <b><a href="/adm/loginproblems.html">$lt{'login'}</a></b> </span></td>
+ <td align="center"><span class="LC_nobreak"> <b>$helpdesk_link<img src="$location/lonIcons/helpdesk.gif" border="0" alt="($lt{'ask'})" style="vertical-align:middle" /> $lt{'ask'}</a></b> </span></td>$getstartlink
+ <td align="center"><span class="LC_nobreak"> <b><a href="$origurl" target="_top"><img src="$location/lonIcons/move_up.gif" border="0" alt="($lt{'back'})" style="vertical-align:middle" /> $lt{'back'}</a></b> </span></td>
</tr>
</table>
</fieldset>
</td>
- <td width='5'> </td>
+ <td width="5"> </td>
</tr>
- <tr height='5'>
- <td colspan='3' height='5'> </td>
+ <tr>
+ <td colspan="3" height="5"> </td>
</tr>
END
if ($command ne 'process') {
- $r->print('
+ my $stuwarn = &mt('Do [_1]not[_2] use this form to ask about course content.',
+ '<b>','</b>');
+ $r->print(<<"END");
<tr>
- <td colspan="3">'.$reviewtext.' '
-.&mt('If your problem is still unresolved, the form below can be used to send a question to the LON-CAPA helpdesk.').'<br />'
-.'<font size="-1"><b>'.&mt('Students').'</b>: '.&mt('Do <b>not</b> use this form to ask questions about course content.').' '
-.&mt('Contact your instructor instead.')
-.'</font><br /><br />
+ <td colspan="3">$reviewtext
+ $lt{'ifyo'}<br />
+<span style="font-size:90%;"><b>$lt{'stud'}</b>:
+$stuwarn $lt{'cont'}</span>
+<br /><br />
</td>
- </tr>');
+ </tr>
+END
}
$r->print('
</table>');
More information about the LON-CAPA-cvs
mailing list