version 1.114, 2001/08/15 15:49:14
|
version 1.119, 2001/08/20 14:53:12
|
Line 13
|
Line 13
|
# 6/12,6/13 H. K. Ng |
# 6/12,6/13 H. K. Ng |
# 6/16 Gerd Kortemeyer |
# 6/16 Gerd Kortemeyer |
# 7/27 H. K. Ng |
# 7/27 H. K. Ng |
# 8/7,8/9,8/10,8/11,8/15 Gerd Kortemeyer |
# 8/7,8/9,8/10,8/11,8/15,8/16,8/17,8/18,8/20 Gerd Kortemeyer |
|
|
package Apache::lonxml; |
package Apache::lonxml; |
use vars |
use vars |
Line 152 sub xmlend {
|
Line 152 sub xmlend {
|
return $discussion.'</html>'; |
return $discussion.'</html>'; |
} |
} |
|
|
sub checkout { |
sub tokeninputfield { |
my ($target,$symb,$tuname,$tudom,$tcrsid)=@_; |
my $defhost=$Apache::lonnet::perlvar{'lonhostID'}; |
|
return (<<ENDINPUTFIELD) |
|
<form method="post"> |
|
<table border="2" bgcolor="#FFFFBB"> |
|
<tr><th>DocID Checkin</th></tr> |
|
<tr><td> |
|
<table> |
|
<tr> |
|
<td>Scan in Barcode</td> |
|
<td><input type="text" size="22" name="barcode" /></td> |
|
</tr> |
|
<tr><td><i>or</i> Type in DocID</td> |
|
<td> |
|
<input type="text" size="5" name="codeone" /> |
|
<b><font size+"+2"*</font></b> |
|
<input type="text" size="5" name="codetwo" /> |
|
<b><font size+"+2"*</font></b> |
|
<input type="text" size="10" name="codethree" value="$defhost" /> |
|
</td></tr> |
|
</table> |
|
</td></tr> |
|
<tr><td><input type="submit" value="Check in DocID" /></td></tr> |
|
</table> |
|
</form> |
|
ENDINPUTFIELD |
|
} |
|
|
|
sub maketoken { |
|
my ($symb,$tuname,$tudom,$tcrsid)=@_; |
unless ($symb) { |
unless ($symb) { |
$symb=&Apache::lonnet::symbread(); |
$symb=&Apache::lonnet::symbread(); |
} |
} |
Line 162 sub checkout {
|
Line 190 sub checkout {
|
$tudom=$ENV{'user.domain'}; |
$tudom=$ENV{'user.domain'}; |
$tcrsid=$ENV{'request.course.id'}; |
$tcrsid=$ENV{'request.course.id'}; |
} |
} |
my $now=time; |
|
my $lonhost = $Apache::lonnet::perlvar{'lonHostID'}; |
return &Apache::lonnet::checkout($symb,$tuname,$tudom,$tcrsid); |
my $infostr=&Apache::lonnet::escape( |
} |
$tuname.'&'. |
|
$tudom.'&'. |
sub printtokenheader { |
$tcrsid.'&'. |
my ($target,$token,$symb,$tuname,$tudom,$tcrsid)=@_; |
$symb.'&'. |
unless ($token) { return ''; } |
$now.'&'.$ENV{'REMOTE_ADDR'}); |
|
my $token=Apache::lonnet::reply('tmpput:'.$infostr,$lonhost); |
unless ($symb) { |
if ($token=~/^error\:/) { return ''; } |
$symb=&Apache::lonnet::symbread(); |
$token=~s/^(\d+)\_.*\_(\d+)$/$1\*$2\*$lonhost/; |
} |
$token=~tr/a-z/A-Z/; |
unless ($tuname) { |
|
$tuname=$ENV{'user.name'}; |
my %infohash=('token' => $token, |
$tudom=$ENV{'user.domain'}; |
'checktime' => $now, |
$tcrsid=$ENV{'request.course.id'}; |
'remote' => $ENV{'REMOTE_ADDR'}); |
|
|
|
unless ( |
|
&Apache::lonnet::cstore(\%infohash,$symb,$tcrsid,$tudom,$tuname) eq 'ok') { |
|
return ''; |
|
} |
|
|
|
if (&Apache::lonnet::log($tudom,$tuname, |
|
&Apache::lonnet::homeserver($tuname,$tudom), |
|
&Apache::lonnet::escape('Checkout '.$infostr.' - '. |
|
$token)) ne 'ok') { |
|
return ''; |
|
} |
} |
|
|
my %reply=&Apache::lonnet::get('environment', |
my %reply=&Apache::lonnet::get('environment', |
Line 200 sub checkout {
|
Line 216 sub checkout {
|
$reply{'generation'}; |
$reply{'generation'}; |
|
|
if ($target eq 'web') { |
if ($target eq 'web') { |
return 'Checked out for '.$plainname. |
return |
|
'<img align="right" src="/cgi-bin/barcode.gif?encode='.$token.'" />'. |
|
'Checked out for '.$plainname. |
'<br />User: '.$tuname.' at '.$tudom. |
'<br />User: '.$tuname.' at '.$tudom. |
'<br />CourseID: '.$tcrsid.')'. |
'<br />CourseID: '.$tcrsid. |
'<br />DocID: '.$token. |
'<br />DocID: '.$token. |
'<br />Time: '.localtime($now). |
'<br />Time: '.localtime().'<hr />'; |
'<img align="right" src="/cgi-bin/barcode.gif?encode='.$token.'" /><hr />'; |
|
} else { |
} else { |
return $token; |
return $token; |
} |
} |