version 1.520, 2011/10/13 01:54:21
|
version 1.530, 2012/04/16 19:46:14
|
Line 113 use Apache::lonr();
|
Line 113 use Apache::lonr();
|
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
use Apache::functionplotresponse(); |
use Apache::functionplotresponse(); |
|
use Apache::lonnavmaps(); |
|
|
#==================================== Main subroutine: xmlparse |
#==================================== Main subroutine: xmlparse |
|
|
Line 210 sub xmlend {
|
Line 211 sub xmlend {
|
my $discussion; |
my $discussion; |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['LONCAPA_INTERNAL_no_discussion']); |
['LONCAPA_INTERNAL_no_discussion']); |
if (! exists($env{'form.LONCAPA_INTERNAL_no_discussion'}) || |
if ( |
$env{'form.LONCAPA_INTERNAL_no_discussion'} ne 'true') { |
( (!exists($env{'form.LONCAPA_INTERNAL_no_discussion'})) |
|
|| ($env{'form.LONCAPA_INTERNAL_no_discussion'} ne 'true') |
|
) |
|
&& ($env{'form.inhibitmenu'} ne 'yes') |
|
) { |
$discussion=&Apache::lonfeedback::list_discussion($mode,$status); |
$discussion=&Apache::lonfeedback::list_discussion($mode,$status); |
} |
} |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
Line 301 sub xmlparse {
|
Line 306 sub xmlparse {
|
&clean_safespace($safeeval); |
&clean_safespace($safeeval); |
|
|
if (@script_var_displays) { |
if (@script_var_displays) { |
$finaloutput .= join('',@script_var_displays); |
my $scriptoutput = join('',@script_var_displays); |
|
$finaloutput=~s{(</body>\s*</html>)\s*$}{$scriptoutput$1}s; |
undef(@script_var_displays); |
undef(@script_var_displays); |
} |
} |
&init_state(); |
&init_state(); |
Line 788 sub init_safespace {
|
Line 794 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_f,$safeeval,'&fpr_f'); |
$safehole->wrap(\&Apache::functionplotresponse::fpr_dfdx,$safeeval,'&fpr_dfdx'); |
$safehole->wrap(\&Apache::functionplotresponse::fpr_dfdx,$safeeval,'&fpr_dfdx'); |
$safehole->wrap(\&Apache::functionplotresponse::fpr_d2fdx2,$safeeval,'&fpr_d2fdx2'); |
$safehole->wrap(\&Apache::functionplotresponse::fpr_d2fdx2,$safeeval,'&fpr_d2fdx2'); |
|
$safehole->wrap(\&Apache::functionplotresponse::fpr_vectorcoords,$safeeval,'&fpr_vectorcoords'); |
|
$safehole->wrap(\&Apache::functionplotresponse::fpr_objectcoords,$safeeval,'&fpr_objectcoords'); |
|
$safehole->wrap(\&Apache::functionplotresponse::fpr_vectorlength,$safeeval,'&fpr_vectorlength'); |
|
$safehole->wrap(\&Apache::functionplotresponse::fpr_vectorangle,$safeeval,'&fpr_vectorangle'); |
|
|
# use Data::Dumper; |
# use Data::Dumper; |
# $safehole->wrap(\&Data::Dumper::Dumper,$safeeval,'&LONCAPA_INTERNAL_Dumper'); |
# $safehole->wrap(\&Data::Dumper::Dumper,$safeeval,'&LONCAPA_INTERNAL_Dumper'); |
Line 843 sub initialize_rndseed {
|
Line 854 sub initialize_rndseed {
|
sub default_homework_load { |
sub default_homework_load { |
my ($safeeval)=@_; |
my ($safeeval)=@_; |
&Apache::lonxml::debug('Loading default_homework'); |
&Apache::lonxml::debug('Loading default_homework'); |
my $default=&Apache::lonnet::getfile('/home/httpd/html/res/adm/includes/default_homework.lcpm'); |
my $default=&Apache::lonnet::getfile($Apache::lonnet::perlvar{'lonIncludes'}. |
|
'/default_homework.lcpm'); |
if ($default eq -1) { |
if ($default eq -1) { |
&Apache::lonxml::error("<b>Unable to find <i>default_homework.lcpm</i></b>"); |
&Apache::lonxml::error("<b>Unable to find <i>default_homework.lcpm</i></b>"); |
} else { |
} else { |
Line 1013 the current 'bubble line number' is stor
|
Line 1025 the current 'bubble line number' is stor
|
The value of it is stored in $Apache:lonxml::counter when live and |
The value of it is stored in $Apache:lonxml::counter when live and |
stored back to env after done. |
stored back to env after done. |
|
|
=item &increment_counter($increment); |
=item &increment_counter($increment, $part_response); |
|
|
Increments the internal counter environment variable a specified amount |
Increments the internal counter environment variable a specified amount |
|
|
Line 1490 sub renderingoptions {
|
Line 1502 sub renderingoptions {
|
{&Apache::lonlocal::texthash |
{&Apache::lonlocal::texthash |
('' => '', |
('' => '', |
'tth' => 'tth (TeX to HTML)', |
'tth' => 'tth (TeX to HTML)', |
'jsMath' => 'jsMath', |
'MathJax' => 'MathJax', |
|
'jsMath' => 'jsMath', |
'mimetex' => 'mimetex (Convert to Images)')}). |
'mimetex' => 'mimetex (Convert to Images)')}). |
'</span>'; |
'</span>'; |
return $output; |
return $output; |
} |
} |
|
|
sub inserteditinfo { |
sub inserteditinfo { |
my ($filecontents, $filetype, $filename)=@_; |
my ($filecontents,$filetype,$filename,$symb,$itemtitle) = @_; |
$filecontents = &HTML::Entities::encode($filecontents,'<>&"'); |
$filecontents = &HTML::Entities::encode($filecontents,'<>&"'); |
my $xml_help = ''; |
my $xml_help = ''; |
my $initialize=''; |
my $initialize=''; |
my $textarea_id = 'filecont'; |
my $textarea_id = 'filecont'; |
my $dragmath_button; |
my ($dragmath_button,$deps_button); |
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())) { |
Line 1523 sub inserteditinfo {
|
Line 1536 sub inserteditinfo {
|
</script> |
</script> |
FULLPAGE |
FULLPAGE |
if ($filetype eq 'html') { |
if ($filetype eq 'html') { |
|
if ($symb) { |
|
$deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n"; |
|
$initialize .= |
|
&Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle)."\n"; |
|
} |
$dragmath_button = '<span id="math_filecont">'.&Apache::lonhtmlcommon::dragmath_button('filecont',1).'</span>'; |
$dragmath_button = '<span id="math_filecont">'.&Apache::lonhtmlcommon::dragmath_button('filecont',1).'</span>'; |
$initialize .= "\n".&Apache::lonhtmlcommon::dragmath_js('EditMathPopup'); |
$initialize .= "\n".&Apache::lonhtmlcommon::dragmath_js('EditMathPopup'); |
} |
} |
Line 1567 $initialize
|
Line 1585 $initialize
|
<div class="LC_edit_problem_discards"> |
<div class="LC_edit_problem_discards"> |
<input type="submit" name="discardview" accesskey="d" value="$lt{'dv'}" /> |
<input type="submit" name="discardview" accesskey="d" value="$lt{'dv'}" /> |
<input type="submit" name="Undo" accesskey="u" value="$lt{'un'}" /> |
<input type="submit" name="Undo" accesskey="u" value="$lt{'un'}" /> |
$htmlerror $dragmath_button |
$htmlerror $deps_button $dragmath_button |
</div> |
</div> |
<div class="LC_edit_problem_saves"> |
<div class="LC_edit_problem_saves"> |
<input type="submit" name="savethisfile" accesskey="s" value="$lt{'st'}" /> |
<input type="submit" name="savethisfile" accesskey="s" value="$lt{'st'}" /> |
Line 1752 ENDNOTFOUND
|
Line 1770 ENDNOTFOUND
|
} |
} |
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($request->uri), |
'text' => 'Construction Space'}, |
'text' => 'Construction Space'}, |
{'href' => '', |
{'href' => '', |
'text' => $breadcrumbtext}]; |
'text' => $breadcrumbtext}]; |
Line 1776 ENDNOTFOUND
|
Line 1794 ENDNOTFOUND
|
unless ($env{'request.state'} eq 'published') { |
unless ($env{'request.state'} eq 'published') { |
if ($env{'form.editmode'} && (!($env{'form.viewmode'})) && (!($env{'form.discardview'}))) |
if ($env{'form.editmode'} && (!($env{'form.viewmode'})) && (!($env{'form.discardview'}))) |
{ |
{ |
my $displayfile=$request->uri; |
my ($displayfile,$url,$symb,$itemtitle); |
$displayfile=~s/^\/[^\/]*//; |
$displayfile=$request->uri; |
|
if ($request->uri =~ m{^/uploaded/}) { |
|
($symb,$itemtitle,$displayfile) = |
|
&get_courseupload_hierarchy($request->uri); |
|
} else { |
|
$displayfile=~s/^\/[^\/]*//; |
|
} |
|
|
my ($edit_info, $add_to_onload, $add_to_onresize)= |
my ($edit_info, $add_to_onload, $add_to_onresize)= |
&inserteditinfo($filecontents,$filetype,$displayfile); |
&inserteditinfo($filecontents,$filetype,$displayfile,$symb,$itemtitle); |
|
|
my %options = |
my %options = |
('add_entries' => |
('add_entries' => |
Line 1789 ENDNOTFOUND
|
Line 1813 ENDNOTFOUND
|
my $header; |
my $header; |
if ($env{'request.state'} eq 'construct') { |
if ($env{'request.state'} eq 'construct') { |
$options{'bread_crumbs'} = [{ |
$options{'bread_crumbs'} = [{ |
'href' => &Apache::loncommon::authorspace(), |
'href' => &Apache::loncommon::authorspace($request->uri), |
'text' => 'Construction Space'}, |
'text' => 'Construction Space'}, |
{'href' => '', |
{'href' => '', |
'text' => $breadcrumbtext}]; |
'text' => $breadcrumbtext}]; |
Line 1830 sub display_title {
|
Line 1854 sub display_title {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub get_courseupload_hierarchy { |
|
my ($url) = @_; |
|
my ($symb,$itemtitle,$displaypath); |
|
if ($env{'request.course.id'}) { |
|
$symb = &Apache::lonnet::symbread(); |
|
my ($map,$id,$res)=&Apache::lonnet::decode_symb($symb); |
|
my $navmap=Apache::lonnavmaps::navmap->new; |
|
if (ref($navmap)) { |
|
my $res = $navmap->getBySymb($symb); |
|
if (ref($res)) { |
|
my @pathitems = |
|
&Apache::loncommon::get_folder_hierarchy($navmap,$map,1); |
|
$itemtitle = $res->compTitle(); |
|
push(@pathitems,$itemtitle); |
|
$displaypath = join(' » ',@pathitems); |
|
} |
|
} |
|
} |
|
return ($symb,$itemtitle,$displaypath); |
|
} |
|
|
sub debug { |
sub debug { |
if ($Apache::lonxml::debug eq "1") { |
if ($Apache::lonxml::debug eq "1") { |
$|=1; |
$|=1; |
Line 1846 sub debug {
|
Line 1891 sub debug {
|
} |
} |
|
|
sub show_error_warn_msg { |
sub show_error_warn_msg { |
if ($env{'request.filename'} eq '/home/httpd/html/res/lib/templates/simpleproblem.problem' && |
if (($env{'request.filename'} eq |
&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { |
$Apache::lonnet::perlvar{'lonDocRoot'}.'/res/lib/templates/simpleproblem.problem') && |
|
(&Apache::lonnet::allowed('mdc',$env{'request.course.id'}))) { |
return 1; |
return 1; |
} |
} |
return (($Apache::lonxml::debug eq 1) || |
return (($Apache::lonxml::debug eq 1) || |
Line 2042 sub register_insert_xml {
|
Line 2088 sub register_insert_xml {
|
while (my $token = $parser->get_token()) { |
while (my $token = $parser->get_token()) { |
if ($token->[0] eq 'S') { |
if ($token->[0] eq 'S') { |
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; |
if (defined($tag)) { |
$insertlist{$tag.'.num'} = $tagnum; |
$insertlist{$tagnum.'.tag'} = $tag; |
push(@alltags,$tag); |
$insertlist{$tag.'.num'} = $tagnum; |
|
push(@alltags,$tag); |
|
} |
} elsif ($in_help && $token->[1] eq 'file') { |
} elsif ($in_help && $token->[1] eq 'file') { |
$key = $tag.'.helpfile'; |
$key = $tag.'.helpfile'; |
} elsif ($in_help && $token->[1] eq 'description') { |
} elsif ($in_help && $token->[1] eq 'description') { |