--- loncom/xml/lonxml.pm 2001/08/11 20:16:10 1.111 +++ loncom/xml/lonxml.pm 2001/08/20 16:12:46 1.120 @@ -13,7 +13,7 @@ # 6/12,6/13 H. K. Ng # 6/16 Gerd Kortemeyer # 7/27 H. K. Ng -# 8/7,8/9,8/10,8/11 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; use vars @@ -152,6 +152,103 @@ sub xmlend { return $discussion.'</html>'; } +sub tokeninputfield { + my $defhost=$Apache::lonnet::perlvar{'lonHostID'}; + $defhost=~tr/a-z/A-Z/; + return (<<ENDINPUTFIELD) +<script> + function updatetoken() { + var comp=new Array; + var barcode=unescape(document.tokeninput.barcode.value); + comp=barcode.split('*'); + if (typeof(comp[0])!="undefined") { + document.tokeninput.codeone.value=comp[0]; + } + if (typeof(comp[1])!="undefined") { + document.tokeninput.codetwo.value=comp[1]; + } + if (typeof(comp[2])!="undefined") { + comp[2]=comp[2].toUpperCase(); + document.tokeninput.codethree.value=comp[2]; + } + document.tokeninput.barcode.value=''; + } +</script> +<form method="post" name="tokeninput"> +<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" +onChange="updatetoken()"/></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" +onChange="this.value=this.value.toUpperCase()" /> +</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) { + $symb=&Apache::lonnet::symbread(); + } + unless ($tuname) { + $tuname=$ENV{'user.name'}; + $tudom=$ENV{'user.domain'}; + $tcrsid=$ENV{'request.course.id'}; + } + + return &Apache::lonnet::checkout($symb,$tuname,$tudom,$tcrsid); +} + +sub printtokenheader { + my ($target,$token,$symb,$tuname,$tudom,$tcrsid)=@_; + unless ($token) { return ''; } + + unless ($symb) { + $symb=&Apache::lonnet::symbread(); + } + unless ($tuname) { + $tuname=$ENV{'user.name'}; + $tudom=$ENV{'user.domain'}; + $tcrsid=$ENV{'request.course.id'}; + } + + my %reply=&Apache::lonnet::get('environment', + ['firstname','middlename','lastname','generation'], + $tudom,$tuname); + my $plainname=$reply{'firstname'}.' '. + $reply{'middlename'}.' '. + $reply{'lastname'}.' '. + $reply{'generation'}; + + if ($target eq 'web') { + return + '<img align="right" src="/cgi-bin/barcode.gif?encode='.$token.'" />'. + 'Checked out for '.$plainname. + '<br />User: '.$tuname.' at '.$tudom. + '<br />CourseID: '.$tcrsid. + '<br />DocID: '.$token. + '<br />Time: '.localtime().'<hr />'; + } else { + return $token; + } +} + sub fontsettings() { my $headerstring=''; if (($ENV{'browser.os'} eq 'mac') && (!$ENV{'browser.mathml'})) {