version 1.505.2.6, 2011/11/15 17:43:20
|
version 1.517, 2010/09/29 15:56:03
|
Line 112 use Apache::lonmaxima();
|
Line 112 use Apache::lonmaxima();
|
use Apache::lonr(); |
use Apache::lonr(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
use Apache::functionplotresponse(); |
|
|
|
#==================================== Main subroutine: xmlparse |
#==================================== Main subroutine: xmlparse |
|
|
Line 223 sub xmlend {
|
Line 222 sub xmlend {
|
return $discussion; |
return $discussion; |
} |
} |
|
|
sub tokeninputfield { |
|
my $defhost=$Apache::lonnet::perlvar{'lonHostID'}; |
|
$defhost=~tr/a-z/A-Z/; |
|
return (<<ENDINPUTFIELD) |
|
<script type="text/javascript"> |
|
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" action=""> |
|
<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,$tsymb,$tcrsid,$tudom,$tuname)=@_; |
|
unless ($token) { return ''; } |
|
|
|
my ($symb,$courseid,$domain,$name) = &Apache::lonnet::whichuser(); |
|
unless ($tsymb) { |
|
$tsymb=$symb; |
|
} |
|
unless ($tuname) { |
|
$tuname=$name; |
|
$tudom=$domain; |
|
$tcrsid=$courseid; |
|
} |
|
|
|
my $plainname=&Apache::loncommon::plainname($tuname,$tudom); |
|
|
|
if ($target eq 'web') { |
|
my %idhash=&Apache::lonnet::idrget($tudom,($tuname)); |
|
return |
|
'<img align="right" src="/cgi-bin/barcode.png?encode='.$token.'" />'. |
|
&mt('Checked out for').' '.$plainname. |
|
'<br />'.&mt('User').': '.$tuname.' at '.$tudom. |
|
'<br />'.&mt('ID').': '.$idhash{$tuname}. |
|
'<br />'.&mt('CourseID').': '.$tcrsid. |
|
'<br />'.&mt('Course').': '.$env{'course.'.$tcrsid.'.description'}. |
|
'<br />'.&mt('DocID').': '.$token. |
|
'<br />'.&mt('Time').': '.&Apache::lonlocal::locallocaltime().'<hr />'; |
|
} else { |
|
return $token; |
|
} |
|
} |
|
|
|
sub printalltags { |
sub printalltags { |
my $temp; |
my $temp; |
foreach $temp (sort keys %Apache::lonxml::alltags) { |
foreach $temp (sort keys %Apache::lonxml::alltags) { |
Line 572 sub inner_xmlparse {
|
Line 476 sub inner_xmlparse {
|
} |
} |
if (($ENV{'QUERY_STRING'}) && ($target eq 'web')) { |
if (($ENV{'QUERY_STRING'}) && ($target eq 'web')) { |
$finaloutput=&afterburn($finaloutput); |
$finaloutput=&afterburn($finaloutput); |
} |
} |
if ($target eq 'modified') { |
if ($target eq 'modified') { |
# if modfied, handle startpart and endpart |
# if modfied, handle startpart and endpart |
$finaloutput=~s/\<startpartmarker[^\>]*\>(.*)\<endpartmarker[^\>]*\>/<part>$1<\/part>/gs; |
$finaloutput=~s/\<startpartmarker[^\>]*\>(.*)\<endpartmarker[^\>]*\>/<part>$1<\/part>/gs; |
} |
} |
return $finaloutput; |
return $finaloutput; |
} |
} |
|
|
Line 738 sub setup_globals {
|
Line 642 sub setup_globals {
|
|
|
sub init_safespace { |
sub init_safespace { |
my ($target,$safeeval,$safehole,$safeinit) = @_; |
my ($target,$safeeval,$safehole,$safeinit) = @_; |
$safeeval->deny_only(':dangerous'); |
|
$safeeval->reval('use Math::Complex;'); |
$safeeval->reval('use Math::Complex;'); |
|
$safeeval->reval('use LaTeX::Table;'); |
|
$safeeval->deny_only(':dangerous'); |
$safeeval->permit_only(":default"); |
$safeeval->permit_only(":default"); |
$safeeval->permit("entereval"); |
$safeeval->permit("entereval"); |
$safeeval->permit(":base_math"); |
$safeeval->permit(":base_math"); |
Line 882 sub init_safespace {
|
Line 787 sub init_safespace {
|
$safehole->wrap(\&Apache::lonnet::logthis,$safeeval,'&LONCAPA_INTERNAL_LOGTHIS'); |
$safehole->wrap(\&Apache::lonnet::logthis,$safeeval,'&LONCAPA_INTERNAL_LOGTHIS'); |
$safehole->wrap(\&Apache::inputtags::finalizeawards,$safeeval,'&LONCAPA_INTERNAL_FINALIZEAWARDS'); |
$safehole->wrap(\&Apache::inputtags::finalizeawards,$safeeval,'&LONCAPA_INTERNAL_FINALIZEAWARDS'); |
$safehole->wrap(\&Apache::caparesponse::get_sigrange,$safeeval,'&LONCAPA_INTERNAL_get_sigrange'); |
$safehole->wrap(\&Apache::caparesponse::get_sigrange,$safeeval,'&LONCAPA_INTERNAL_get_sigrange'); |
$safehole->wrap(\&Apache::functionplotresponse::fpr_val,$safeeval,'&fpr_val'); |
|
$safehole->wrap(\&Apache::functionplotresponse::fpr_f,$safeeval,'&fpr_f'); |
|
$safehole->wrap(\&Apache::functionplotresponse::fpr_dfdx,$safeeval,'&fpr_dfdx'); |
|
$safehole->wrap(\&Apache::functionplotresponse::fpr_d2fdx2,$safeeval,'&fpr_d2fdx2'); |
|
|
|
# use Data::Dumper; |
# use Data::Dumper; |
# $safehole->wrap(\&Data::Dumper::Dumper,$safeeval,'&LONCAPA_INTERNAL_Dumper'); |
# $safehole->wrap(\&Data::Dumper::Dumper,$safeeval,'&LONCAPA_INTERNAL_Dumper'); |
#need to inspect this class of ops |
#need to inspect this class of ops |
Line 1537 sub verify_html {
|
Line 1437 sub verify_html {
|
my ($is_html,$is_xml); |
my ($is_html,$is_xml); |
if ($filecontents =~/(?:\<|\<\;)\?xml[^\<]*\?(?:\>|\>\;)/is) { |
if ($filecontents =~/(?:\<|\<\;)\?xml[^\<]*\?(?:\>|\>\;)/is) { |
$is_xml = 1; |
$is_xml = 1; |
} elsif ($filecontents =~/(?:\<|\<\;)html(?:\s+[^\<]+|\s*)(?:\>|\>\;)/is) { |
} elsif ($filecontents =~/(?:\<|\<\;)html(?:\s+[^\<]+|\s*)[^\<]*(?:\>|\>\;)/is) { |
$is_html = 1; |
$is_html = 1; |
} |
} |
unless ($is_xml || $is_html) { |
unless ($is_xml || $is_html) { |
Line 1601 sub inserteditinfo {
|
Line 1501 sub inserteditinfo {
|
my ($add_to_onload, $add_to_onresize); |
my ($add_to_onload, $add_to_onresize); |
$initialize=&Apache::lonhtmlcommon::spellheader(); |
$initialize=&Apache::lonhtmlcommon::spellheader(); |
if (($filetype eq 'html') && (&Apache::lonhtmlcommon::htmlareabrowser())) { |
if (($filetype eq 'html') && (&Apache::lonhtmlcommon::htmlareabrowser())) { |
my $lang = &Apache::lonhtmlcommon::htmlarea_lang(); |
my $lang = &Apache::lonhtmlcommon::htmlarea_lang(); |
my %textarea_args = ( |
my %textarea_args = ( |
fullpage => 'true', |
fullpage => 'true', |
dragmath => 'math', |
dragmath => 'math', |
); |
); |
$initialize .= &Apache::lonhtmlcommon::htmlareaselectactive(\%textarea_args); |
$initialize .= &Apache::lonhtmlcommon::htmlareaselectactive(\%textarea_args); |
} |
} |
$initialize .= (<<FULLPAGE); |
$initialize .= (<<FULLPAGE); |
<script type="text/javascript"> |
<script type="text/javascript"> |
Line 1845 ENDNOTFOUND
|
Line 1745 ENDNOTFOUND
|
'<tr><td><b><pre>'.$result. |
'<tr><td><b><pre>'.$result. |
'</pre></b></td></tr></table>'; |
'</pre></b></td></tr></table>'; |
} |
} |
if ($env{'environment.remote'} eq 'off') { |
my $brcrum; |
my $brcrum; |
if ($env{'request.state'} eq 'construct') { |
if ($env{'request.state'} eq 'construct') { |
$brcrum = [{'href' => &Apache::loncommon::authorspace(), |
$brcrum = [{'href' => &Apache::loncommon::authorspace(), |
'text' => 'Construction Space'}, |
'text' => 'Construction Space'}, |
{'href' => '', |
{'href' => '', |
'text' => $breadcrumbtext}]; |
'text' => $breadcrumbtext}]; |
|
} else { |
|
$brcrum = ''; # FIXME: Where are we? |
|
} |
|
my %options = ('bread_crumbs' => $brcrum, |
|
'bgcolor' => '#FFFFFF'); |
|
$result = |
|
&Apache::loncommon::start_page(undef,undef,\%options) |
|
.$controls |
|
.$result |
|
.&Apache::loncommon::end_page(); |
|
} else { |
} else { |
$result = $controls.$result; |
$brcrum = ''; # FIXME: Where are we? |
} |
} |
|
my %options = ('bread_crumbs' => $brcrum, |
|
'bgcolor' => '#FFFFFF'); |
|
$result = |
|
&Apache::loncommon::start_page(undef,undef,\%options) |
|
.$controls |
|
.$result |
|
.&Apache::loncommon::end_page(); |
} |
} |
} |
} |
} |
} |
Line 1895 ENDNOTFOUND
|
Line 1791 ENDNOTFOUND
|
$header = &Apache::loncommon::head_subbox( |
$header = &Apache::loncommon::head_subbox( |
&Apache::loncommon::CSTR_pageheader()); |
&Apache::loncommon::CSTR_pageheader()); |
} |
} |
if ($env{'environment.remote'} ne 'off') { |
|
$options{'bgcolor'} = '#FFFFFF'; |
|
$options{'only_body'} = 1; |
|
} |
|
my $js = |
my $js = |
&Apache::edit::js_change_detection(). |
&Apache::edit::js_change_detection(). |
&Apache::loncommon::resize_textarea_js(); |
&Apache::loncommon::resize_textarea_js(); |
Line 2147 sub register_insert_xml {
|
Line 2039 sub register_insert_xml {
|
my $key; |
my $key; |
if ($token->[1] eq 'tag') { |
if ($token->[1] eq 'tag') { |
$tag = $token->[2]{'name'}; |
$tag = $token->[2]{'name'}; |
$insertlist{$tagnum.'.tag'} = $tag; |
$insertlist{"$tagnum.tag"} = $tag; |
$insertlist{$tag.'.num'} = $tagnum; |
$insertlist{"$tag.num"} = $tagnum; |
push(@alltags,$tag); |
push(@alltags,$tag); |
} elsif ($in_help && $token->[1] eq 'file') { |
} elsif ($in_help && $token->[1] eq 'file') { |
$key = $tag.'.helpfile'; |
$key = $tag.'.helpfile'; |
Line 2181 sub register_insert_xml {
|
Line 2073 sub register_insert_xml {
|
|
|
# parse the allows and ignore tags set to <show>no</show> |
# parse the allows and ignore tags set to <show>no</show> |
foreach my $tag (@alltags) { |
foreach my $tag (@alltags) { |
next if (!exists($insertlist{$tag.'.allow'})); |
next if (!exists($insertlist{"$tag.allow"})); |
my $allow = $insertlist{$tag.'.allow'}; |
my $allow = $insertlist{"$tag.allow"}; |
foreach my $element (split(',',$allow)) { |
foreach my $element (split(',',$allow)) { |
$element =~ s/(^\s*|\s*$ )//gx; |
$element =~ s/(^\s*|\s*$ )//gx; |
if (!exists($insertlist{$element.'.show'}) |
if (!exists($insertlist{"$element.show"}) |
|| $insertlist{$element.'.show'} ne 'no') { |
|| $insertlist{"$element.show"} ne 'no') { |
push(@{ $insertlist{$tag.'.which'} },$element); |
push(@{ $insertlist{$tag.'.which'} },$element); |
} |
} |
} |
} |
Line 2284 sub get_tag {
|
Line 2176 sub get_tag {
|
=item &print_pdf_radiobutton(fieldname, value) |
=item &print_pdf_radiobutton(fieldname, value) |
|
|
Returns a latexline to generate a PDF-Form-Radiobutton. |
Returns a latexline to generate a PDF-Form-Radiobutton. |
Note: Radiobuttons with equal names are automaticly grouped |
Note: Radiobuttons with equal names are automaticly grouped |
in a selection-group. |
in a selection-group. |
|
|
$fieldname: PDF internalname of the radiobutton(group) |
$fieldname: PDF internalname of the radiobutton(group) |