version 1.52, 2006/02/14 16:05:46
|
version 1.53, 2006/05/30 12:46:50
|
Line 60 use Time::Local();
|
Line 60 use Time::Local();
|
use Spreadsheet::WriteExcel(); |
use Spreadsheet::WriteExcel(); |
use GDBM_File; |
use GDBM_File; |
use Storable qw(freeze thaw); |
use Storable qw(freeze thaw); |
|
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
|
|
|
|
#################################################### |
#################################################### |
#################################################### |
#################################################### |
Line 83 sub render_resource {
|
Line 86 sub render_resource {
|
## Render the problem |
## Render the problem |
my ($base) = ($resource->src =~ m|^(.*/)[^/]*$|); |
my ($base) = ($resource->src =~ m|^(.*/)[^/]*$|); |
$base="http://".$ENV{'SERVER_NAME'}.$base; |
$base="http://".$ENV{'SERVER_NAME'}.$base; |
my ($src,$symb)=($resource->src,&Apache::lonnet::escape($resource->symb)); |
my ($src,$symb)=($resource->src,&escape($resource->symb)); |
my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb); |
my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb); |
$rendered_problem =~ s/<\s*form\s*/<nop /g; |
$rendered_problem =~ s/<\s*form\s*/<nop /g; |
$rendered_problem =~ s|(<\s*/form\s*>)|<\/nop>|g; |
$rendered_problem =~ s|(<\s*/form\s*>)|<\/nop>|g; |
Line 169 sub problem_selector {
|
Line 172 sub problem_selector {
|
$seq_str .= &mt('response').' '.$respid; |
$seq_str .= &mt('response').' '.$respid; |
} |
} |
my $link = $res->src.'?symb='. |
my $link = $res->src.'?symb='. |
&Apache::lonnet::escape($res->symb); |
&escape($res->symb); |
$seq_str .= (' 'x2). |
$seq_str .= (' 'x2). |
qq{<a target="preview" href="$link">view</a>}; |
qq{<a target="preview" href="$link">view</a>}; |
$seq_str .= "</td></tr>\n"; |
$seq_str .= "</td></tr>\n"; |
Line 323 sub new_accumulator {
|
Line 326 sub new_accumulator {
|
} |
} |
$target .= 'id="'.$seq_id.':'.$item_id++.'" '; |
$target .= 'id="'.$seq_id.':'.$item_id++.'" '; |
$target.= |
$target.= |
'value="'.&Apache::lonnet::escape($res->symb).'" />'. |
'value="'.&escape($res->symb).'" />'. |
' '.$res->compTitle.'</label>'. |
' '.$res->compTitle.'</label>'. |
(' 'x2).'<a target="preview" '. |
(' 'x2).'<a target="preview" '. |
'href="'.$res->src.'?symb='. |
'href="'.$res->src.'?symb='. |
&Apache::lonnet::escape($res->symb).'">view</a>'. |
&escape($res->symb).'">view</a>'. |
'</td></tr>'.$/; |
'</td></tr>'.$/; |
} else { |
} else { |
if (defined($target)) { |
if (defined($target)) { |
Line 346 sub get_selected_symbs {
|
Line 349 sub get_selected_symbs {
|
my ($inputfield) = @_; |
my ($inputfield) = @_; |
my $field = 'form.'.$inputfield; |
my $field = 'form.'.$inputfield; |
my @symbs = (map { |
my @symbs = (map { |
&Apache::lonnet::unescape($_); |
&unescape($_); |
} &Apache::loncommon::get_env_multiple($field)); |
} &Apache::loncommon::get_env_multiple($field)); |
return @symbs; |
return @symbs; |
} |
} |
Line 373 Used by Apache::lonstathelpers::ProblemS
|
Line 376 Used by Apache::lonstathelpers::ProblemS
|
#################################################### |
#################################################### |
sub make_target_id { |
sub make_target_id { |
my ($target) = @_; |
my ($target) = @_; |
my $id = &Apache::lonnet::escape($target->{'symb'}).':'. |
my $id = &escape($target->{'symb'}).':'. |
&Apache::lonnet::escape($target->{'part'}).':'. |
&escape($target->{'part'}).':'. |
&Apache::lonnet::escape($target->{'respid'}).':'. |
&escape($target->{'respid'}).':'. |
&Apache::lonnet::escape($target->{'resptype'}); |
&escape($target->{'resptype'}); |
return $id; |
return $id; |
} |
} |
|
|
Line 401 sub get_target_from_id {
|
Line 404 sub get_target_from_id {
|
my ($id) = @_; |
my ($id) = @_; |
if (! ref($id)) { |
if (! ref($id)) { |
my ($symb,$part,$respid,$resptype) = split(':',$id); |
my ($symb,$part,$respid,$resptype) = split(':',$id); |
return ({ symb => &Apache::lonnet::unescape($symb), |
return ({ symb => &unescape($symb), |
part => &Apache::lonnet::unescape($part), |
part => &unescape($part), |
respid => &Apache::lonnet::unescape($respid), |
respid => &unescape($respid), |
resptype => &Apache::lonnet::unescape($resptype)}); |
resptype => &unescape($resptype)}); |
} elsif (ref($id) eq 'ARRAY') { |
} elsif (ref($id) eq 'ARRAY') { |
my @Return; |
my @Return; |
foreach my $selected (@$id) { |
foreach my $selected (@$id) { |
my ($symb,$part,$respid,$resptype) = split(':',$selected); |
my ($symb,$part,$respid,$resptype) = split(':',$selected); |
push(@Return,{ symb => &Apache::lonnet::unescape($symb), |
push(@Return,{ symb => &unescape($symb), |
part => &Apache::lonnet::unescape($part), |
part => &unescape($part), |
respid => &Apache::lonnet::unescape($respid), |
respid => &unescape($respid), |
resptype => &Apache::lonnet::unescape($resptype)}); |
resptype => &unescape($resptype)}); |
} |
} |
return \@Return; |
return \@Return; |
} |
} |
Line 795 sub load_analysis_cache {
|
Line 798 sub load_analysis_cache {
|
my $storedstring; |
my $storedstring; |
my %cache_db; |
my %cache_db; |
if (tie(%cache_db,'GDBM_File',$cache_filename,&GDBM_READER(),0640)) { |
if (tie(%cache_db,'GDBM_File',$cache_filename,&GDBM_READER(),0640)) { |
$storedstring = $cache_db{&Apache::lonnet::escape($symb)}; |
$storedstring = $cache_db{&escape($symb)}; |
untie(%cache_db); |
untie(%cache_db); |
} |
} |
if (defined($storedstring)) { |
if (defined($storedstring)) { |
Line 847 Writes the in memory cache to disk so th
|
Line 850 Writes the in memory cache to disk so th
|
sub write_analysis_cache { |
sub write_analysis_cache { |
return if (! defined($current_symb) || ! defined($cache_filename)); |
return if (! defined($current_symb) || ! defined($cache_filename)); |
my %cache_db; |
my %cache_db; |
my $key = &Apache::lonnet::escape($current_symb); |
my $key = &escape($current_symb); |
if (tie(%cache_db,'GDBM_File',$cache_filename,&GDBM_WRCREAT(),0640)) { |
if (tie(%cache_db,'GDBM_File',$cache_filename,&GDBM_WRCREAT(),0640)) { |
my $storestring = freeze(\%cache); |
my $storestring = freeze(\%cache); |
$cache_db{$key}=$storestring; |
$cache_db{$key}=$storestring; |
Line 1310 sub manage_caches {
|
Line 1313 sub manage_caches {
|
my $sectionkey = |
my $sectionkey = |
join(',', |
join(',', |
map { |
map { |
&Apache::lonnet::escape($_); |
&escape($_); |
} sort(&Apache::lonstatistics::get_selected_sections()) |
} sort(&Apache::lonstatistics::get_selected_sections()) |
); |
); |
my $statuskey = $Apache::lonstatistics::enrollment_status; |
my $statuskey = $Apache::lonstatistics::enrollment_status; |