--- loncom/xml/lonxml.pm 2007/09/12 10:58:18 1.460 +++ loncom/xml/lonxml.pm 2007/09/12 14:34:52 1.461 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.460 2007/09/12 10:58:18 foxr Exp $ +# $Id: lonxml.pm,v 1.461 2007/09/12 14:34:52 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -135,13 +135,6 @@ $Apache::lonxml::request=''; $Apache::lonxml::counter=1; $Apache::lonxml::counter_changed=0; -# A count of bubble lines needed for a set.. and a check on -# whether or not it is ever used too: - -$Apache::lonxml::bubble_line_counter = 1; -$Apache::lonxml::bubble_line_counter_changed = 0; - - #internal check on whether to look at style defs $Apache::lonxml::usestyle=1; @@ -365,9 +358,6 @@ sub xmlparse { } &do_registered_ssi(); if ($Apache::lonxml::counter_changed) { &store_counter() } - if ($Apache::lonxml::bubble_line_counter_changed) { - &store_bubble_counter(); - } &clean_safespace($safeeval); @@ -637,7 +627,6 @@ sub setup_globals { $Apache::lonxml::default_homework_loaded=0; $Apache::lonxml::usestyle=1; &init_counter(); - &init_bubble_counter(); @Apache::lonxml::pwd=(); @Apache::lonxml::extlinks=(); @script_var_displays=(); @@ -1022,115 +1011,6 @@ sub get_all_text_unbalanced { return $result } - -=pod - -For bubble grading mode and exam bubble printing mode, the tracking of -the current 'bubble line number' is stored in the %env element -'form.bubble_line_counter', and is modifed and handled by -the following routines. - -The value of it is stored in $Apache:lonxml::bubble_line_counter when -live and stored back to env after done. - -=item &increment_bubble_counter($increment) - -Increments the bubble line counter by the optional value -$increment (defaults to 1). - - 'bad increments' are also treated as an increment of 1. -('bad' means <=0). - -=cut - -sub increment_bubble_counter { - my ($increment) = @_; - if (!defined($increment) || $increment le 0) { - $increment = 1; - } - $Apache::lonxml::bubble_line_counter += $increment; - $Apache::lonxml::bubble_line_counter_changed = 1; -} -=pod - -=item &init_bubble_counter - -Initialize the internal counter to the env. variable -or 1 if we are inconstruction space, or if the env var -is not defined. - -=cut - -sub init_bubble_counter { - if ($env{'request.state'} eq 'construct') { - $Apache::lonxml::bubble_line_counter = 1; - $Apache::lonxml::bubble_line_counter_changed = 1; - } elsif (defined($env{'form.bubble_line_counter'})) { - $Apache::lonxml::bubble_line_counter = - $env{'form.bubble_line_counter'}; - $Aapche::lonxml::bubble_line_counter_changed = 0; - } else { - $Apache::lonxml::bubble_line_counter = 1; - $Apache::lonxml::bubble_line_counter_changed = 1; - } - -} - -=pod - -=item store_bubble_counter; - - Store the bubble line counter in its env var. The changed flag - is reset indicating the env is up to date with respect to the - local variable. -=cut - -sub store_bubble_counter { - &Apache::lonnet::appenv(('form.bubble.counter' => - $Apache::lonxml::bubble_line_counter)); - $Apache::lonnet::bubble_line_counter_changed = 0; - - return ''; -} - -=pod - -The next set of subs allow a single level of save/restore for the -bubble_line_counter. - -=cut - -{ - my $bubble_counter_state; - - sub clear_bubble_counter { - undef($bubble_counter_state); - &Apache::lonnet::delenv('form.bubble_line_counter'); - &Apache::lonxml::init_bubble_counter(); - &Apache::lonxml::store_bubble_counter(); - } - - sub remember_bubble_counter { - &Apache::lonnet::transfer_profile_to_env(undef,undef, 1); - $bubble_counter_state = $env{'form.bubble_line_counter'}; - } - - sub restore_bubble_counter { - if (defined($bubble_counter_state)) { - &Apache::lonnet::appenv(('form.bubble_line_counter' => - $bubble_counter_state)); - } - } - - sub get_bubble_counter { - if ($Apache::lonxml::bubble_line_counter_changed) { - &store_bubble_counter(); - } - &Apache::lonnet::transfer_profile_to_env(undef, undef, 1); - return $env{'form.bubble_line_counter'}; - } -} - =pod For bubble grading mode and exam bubble printing mode, the tracking of @@ -1161,7 +1041,7 @@ sub increment_counter { =pod -=item &init_counter; +=item &init_counter($increment); Initialize the internal counter environment variable @@ -1205,13 +1085,11 @@ sub store_counter { &Apache::lonnet::appenv(('form.counter' => $state)); } } - sub get_problem_counter { if ($Apache::lonxml::counter_changed) { &store_counter() } &Apache::lonnet::transfer_profile_to_env(undef,undef,1); return $env{'form.counter'}; } - } sub get_all_text {