version 1.32, 2005/10/27 18:19:36
|
version 1.33, 2006/03/24 17:16:07
|
Line 511 sub process_resinfo {
|
Line 511 sub process_resinfo {
|
} |
} |
} elsif ($$resources{$key}{type} eq "resource/x-bb-staffinfo") { |
} elsif ($$resources{$key}{type} eq "resource/x-bb-staffinfo") { |
%{$$resinfo{$key}} = (); |
%{$$resinfo{$key}} = (); |
&process_staff($key,$docroot,$dirname,$destdir,\%{$$resinfo{$key}},$resrcfiles); |
&process_staff($key,$docroot,$destdir,\%{$$resinfo{$key}},$resrcfiles); |
} elsif ($$resources{$key}{type} eq "resource/x-bb-externallink") { |
} elsif ($$resources{$key}{type} eq "resource/x-bb-externallink") { |
%{$$resinfo{$key}} = (); |
%{$$resinfo{$key}} = (); |
&process_link($key,$docroot,$dirname,$destdir,\%{$$resinfo{$key}},$resrcfiles); |
&process_link($key,$docroot,$destdir,\%{$$resinfo{$key}},$resrcfiles); |
} elsif ($$resources{$key}{type} eq "resource/x-bb-discussionboard") { |
} elsif ($$resources{$key}{type} eq "resource/x-bb-discussionboard") { |
%{$$resinfo{$key}} = (); |
%{$$resinfo{$key}} = (); |
unless ($db_handling eq 'ignore') { |
unless ($db_handling eq 'ignore') { |
Line 1205 sub process_group {
|
Line 1205 sub process_group {
|
|
|
# ---------------------------------------------------------------- Process Blackboard Staff |
# ---------------------------------------------------------------- Process Blackboard Staff |
sub process_staff { |
sub process_staff { |
my ($res,$docroot,$dirname,$destdir,$settings,$resrcfiles) = @_; |
my ($res,$docroot,$destdir,$settings,$resrcfiles) = @_; |
my $xmlfile = $docroot.'/'.$res.".dat"; |
my $xmlfile = $docroot.'/'.$res.".dat"; |
my $filecount = 0; |
my $filecount = 0; |
my @state; |
my @state; |
%{$$settings{name}} = (); |
%{$$settings{name}} = (); |
%{$$settings{office}} = (); |
%{$$settings{office}} = (); |
|
|
my $p = HTML::Parser->new |
my $p = HTML::Parser->new |
( |
( |
Line 1363 sub process_staff {
|
Line 1363 sub process_staff {
|
|; |
|; |
if ( defined($$settings{image}) ) { |
if ( defined($$settings{image}) ) { |
$staffentry .= qq| |
$staffentry .= qq| |
<img src="$dirname/resfiles/$res/$$settings{image}"> |
<img src="$res/$$settings{image}"> |
|; |
|; |
} |
} |
$staffentry .= qq| |
$staffentry .= qq| |
Line 1386 $staffentry
|
Line 1386 $staffentry
|
|
|
# ---------------------------------------------------------------- Process Blackboard Links |
# ---------------------------------------------------------------- Process Blackboard Links |
sub process_link { |
sub process_link { |
my ($res,$docroot,$dirname,$destdir,$settings,$resrcfiles) = @_; |
my ($res,$docroot,$destdir,$settings,$resrcfiles) = @_; |
my $xmlfile = $docroot.'/'.$res.".dat"; |
my $xmlfile = $docroot.'/'.$res.".dat"; |
my @state = (); |
my @state = (); |
my $p = HTML::Parser->new |
my $p = HTML::Parser->new |
Line 2718 sub build_problem_container {
|
Line 2718 sub build_problem_container {
|
sub write_bb5_questions { |
sub write_bb5_questions { |
my ($allids,$containerdir,$context,$settings,$dirname,$destdir,$res,$allanswers,$allchoices,$total,$newdir,$cid,$cdom,$cnum,$docroot) = @_; |
my ($allids,$containerdir,$context,$settings,$dirname,$destdir,$res,$allanswers,$allchoices,$total,$newdir,$cid,$cdom,$cnum,$docroot) = @_; |
my $qnum = 0; |
my $qnum = 0; |
|
my $pathstart; |
|
if ($context eq 'CSTR') { |
|
$pathstart = '../..'; |
|
} else { |
|
$pathstart = $dirname; |
|
} |
foreach my $id (@{$allids}) { |
foreach my $id (@{$allids}) { |
if ($$settings{$id}{ishtml} eq 'true') { |
if ($$settings{$id}{ishtml} eq 'true') { |
$$settings{$id}{text} = &HTML::Entities::decode($$settings{$id}{text}); |
$$settings{$id}{text} = &HTML::Entities::decode($$settings{$id}{text}); |
} |
} |
if ($$settings{$id}{text} =~ m#<img src=['"]?(https?://[^\s]+/)([^/\s\'"]+)['"]?[^>]*>#) { |
if ($$settings{$id}{text} =~ m#<img src=['"]?(https?://[^\s]+/)([^/\s\'"]+)['"]?[^>]*>#) { |
if (&retrieve_image($context,$res,$dirname,$cdom,$cnum,$docroot,$destdir,$1,$2) eq 'ok') { |
if (&retrieve_image($context,$res,$dirname,$cdom,$cnum,$docroot,$destdir,$1,$2) eq 'ok') { |
$$settings{$id}{text} =~ s#(<img src=['"]?)(https?://[^\s]+/)([^/\s'"]+)(['"]?[^>]*>)#$1../../resfiles/$res/webimages/$3$4#g; |
$$settings{$id}{text} =~ s#(<img src=['"]?)(https?://[^\s]+/)([^/\s'"]+)(['"]?[^>]*>)#$1$pathstart/resfiles/$res/webimages/$3$4#g; |
} |
} |
} |
} |
$$settings{$id}{text} =~ s#(<img src=[^>]+)/*>#$1 />#gi; |
$$settings{$id}{text} =~ s#(<img src=[^>]+)/*>#$1 />#gi; |
Line 2772 sub write_bb5_questions {
|
Line 2778 sub write_bb5_questions {
|
my ($image,$imglink,$url); |
my ($image,$imglink,$url); |
if ( defined($$settings{$id}{image}) ) { |
if ( defined($$settings{$id}{image}) ) { |
if ( $$settings{$id}{style} eq 'embed' ) { |
if ( $$settings{$id}{style} eq 'embed' ) { |
$image = qq|<br /><img src="$dirname/resfiles/$res/$$settings{$id}{image}" /><br />|; |
$image = qq|<br /><img src="$pathstart/resfiles/$res/$$settings{$id}{image}" /><br />|; |
} else { |
} else { |
$imglink = qq|<br /><a href="$dirname/resfiles/$res/$$settings{$id}{image}">Link to file</a><br />|; |
$imglink = qq|<br /><a href="$pathstart/resfiles/$res/$$settings{$id}{image}">Link to file</a><br />|; |
} |
} |
} |
} |
if ( defined($$settings{$id}{url}) ) { |
if ( defined($$settings{$id}{url}) ) { |
Line 2819 sub write_bb5_questions {
|
Line 2825 sub write_bb5_questions {
|
my ($ans_image,$ans_link); |
my ($ans_image,$ans_link); |
if ( defined($$settings{$id}{$$allanswers{$id}[$k]}{image}) ) { |
if ( defined($$settings{$id}{$$allanswers{$id}[$k]}{image}) ) { |
if ( $$settings{$id}{$$allanswers{$id}[$k]}{style} eq 'embed' ) { |
if ( $$settings{$id}{$$allanswers{$id}[$k]}{style} eq 'embed' ) { |
$ans_image .= qq|<br /><img src="$dirname/resfiles/$res/$$settings{$id}{$$allanswers{$id}[$k]}{image}" /><br />|; |
$ans_image .= qq|<br /><img src="$pathstart/resfiles/$res/$$settings{$id}{$$allanswers{$id}[$k]}{image}" /><br />|; |
} else { |
} else { |
$ans_link .= qq|<br /><a href="$dirname/resfiles/$res/$$settings{$id}{$$allanswers{$id}[$k]}{image}" />Link to file</a><br/>|; |
$ans_link .= qq|<br /><a href="$pathstart/resfiles/$res/$$settings{$id}{$$allanswers{$id}[$k]}{image}" />Link to file</a><br/>|; |
} |
} |
} |
} |
$output .= $ans_image.$ans_link.'<endouttext /></foil>'."\n"; |
$output .= $ans_image.$ans_link.'<endouttext /></foil>'."\n"; |
Line 3642 sub write_bb6_questions {
|
Line 3648 sub write_bb6_questions {
|
|; |
|; |
} |
} |
$$total{prob} ++; |
$$total{prob} ++; |
$questiontext .= &add_images_links('question',$settings,$id,$dirname,$res); |
$questiontext .= &add_images_links('question',$context,$settings,$id,$dirname,$res); |
if ($$settings{$id}{class} eq "Essay") { |
if ($$settings{$id}{class} eq "Essay") { |
if ($context eq 'CSTR') { |
if ($context eq 'CSTR') { |
$output .= qq|<startouttext />$questiontext<endouttext /> |
$output .= qq|<startouttext />$questiontext<endouttext /> |
Line 3680 sub write_bb6_questions {
|
Line 3686 sub write_bb6_questions {
|
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
$answer_text .= &add_images_links('response',$settings,$id,$dirname,$res); |
$answer_text .= &add_images_links('response',$context,$settings,$id,$dirname,$res); |
$output .= " <foil name=\"foil".$k."\" value=\""; |
$output .= " <foil name=\"foil".$k."\" value=\""; |
if (grep/^$answer_id$/,@{$$settings{$id}{correctanswer}}) { |
if (grep/^$answer_id$/,@{$$settings{$id}{correctanswer}}) { |
$output .= "true\" location=\""; |
$output .= "true\" location=\""; |
Line 3733 sub write_bb6_questions {
|
Line 3739 sub write_bb6_questions {
|
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
$answer_text .= &add_images_links('response',$settings,$id,$dirname,$res); |
$answer_text .= &add_images_links('response',$context,$settings,$id,$dirname,$res); |
|
|
$output .= " <foil name=\"foil".$k."\" value=\""; |
$output .= " <foil name=\"foil".$k."\" value=\""; |
if (grep/^$answer_id$/,@{$$settings{$id}{correctanswer}}) { |
if (grep/^$answer_id$/,@{$$settings{$id}{correctanswer}}) { |
Line 3779 sub write_bb6_questions {
|
Line 3785 sub write_bb6_questions {
|
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
$answer_text .= &add_images_links('response',$settings,$id,$dirname,$res); |
$answer_text .= &add_images_links('response',$context,$settings,$id,$dirname,$res); |
my $iter = $k+1; |
my $iter = $k+1; |
if ($context eq 'CSTR') { |
if ($context eq 'CSTR') { |
$output .= " <foil location=\"random\" name=\"foil".$k."\" value=\"".$$settings{$id}{$answer_id}{order}."\"><startouttext />".$answer_text."<endouttext /></foil>\n"; |
$output .= " <foil location=\"random\" name=\"foil".$k."\" value=\"".$$settings{$id}{$answer_id}{order}."\"><startouttext />".$answer_text."<endouttext /></foil>\n"; |
Line 3920 sub write_bb6_questions {
|
Line 3926 sub write_bb6_questions {
|
my $texttype = $$settings{$id}{$choice_id}{texttype}; |
my $texttype = $$settings{$id}{$choice_id}{texttype}; |
my $choice_plaintext = &remove_html($choice_text); |
my $choice_plaintext = &remove_html($choice_text); |
&process_html(\$choice_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
&process_html(\$choice_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
$choice_text .= &add_images_links($choice_id,$settings,$id,$dirname,$res); |
$choice_text .= &add_images_links($choice_id,$context,$settings,$id,$dirname,$res); |
push(@allmatchers,$choice_plaintext); |
push(@allmatchers,$choice_plaintext); |
if ($context eq 'CSTR') { |
if ($context eq 'CSTR') { |
$output .= qq| |
$output .= qq| |
Line 3940 sub write_bb6_questions {
|
Line 3946 sub write_bb6_questions {
|
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $answer_text = $$settings{$id}{$answer_id}{text}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
my $texttype = $$settings{$id}{$answer_id}{texttype}; |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
&process_html(\$answer_text,'bb6',$texttype,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir); |
$answer_text .= &add_images_links($answer_id,$settings,$id,$dirname,$res); |
$answer_text .= &add_images_links($answer_id,$context,$settings,$id,$dirname,$res); |
if ($context eq 'CSTR') { |
if ($context eq 'CSTR') { |
$output .= ' |
$output .= ' |
<foil location="random" value="rightmatch'.$$settings{$id}{$$settings{$id}{$answer_id}{correctanswer}}{order}.'" name="'.$answer_id.'"> |
<foil location="random" value="rightmatch'.$$settings{$id}{$$settings{$id}{$answer_id}{correctanswer}}{order}.'" name="'.$answer_id.'"> |
Line 4571 $linktag
|
Line 4577 $linktag
|
|
|
sub process_html { |
sub process_html { |
my ($text,$caller,$html_cond,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir) = @_; |
my ($text,$caller,$html_cond,$context,$res,$dirname,$cdom,$cnum,$docroot,$destdir) = @_; |
|
my $pathstart; |
|
if ($context eq 'CSTR') { |
|
$pathstart = '../..'; |
|
} else { |
|
$pathstart = $dirname; |
|
} |
if ($caller eq 'bb5') { |
if ($caller eq 'bb5') { |
if ($html_cond eq 'true') { |
if ($html_cond eq 'true') { |
$$text = &HTML::Entities::decode($$text); |
$$text = &HTML::Entities::decode($$text); |
Line 4583 sub process_html {
|
Line 4594 sub process_html {
|
} |
} |
if ($$text =~ m#<img src=['"]?(https?://[^\s]+/)([^/\s\'"]+)['"]?[^>]*>#) { |
if ($$text =~ m#<img src=['"]?(https?://[^\s]+/)([^/\s\'"]+)['"]?[^>]*>#) { |
if (&retrieve_image($context,$res,$dirname,$cdom,$cnum,$docroot,$destdir,$1,$2) eq 'ok') { |
if (&retrieve_image($context,$res,$dirname,$cdom,$cnum,$docroot,$destdir,$1,$2) eq 'ok') { |
$$text =~ s#(<img src=['"]?)(https?://[^\s]+/)([^/\s'"]+)(['"]?[^>]*>)#$1../../resfiles/$res/webimages/$3$4#g; |
$$text =~ s#(<img src=['"]?)(https?://[^\s]+/)([^/\s'"]+)(['"]?[^>]*>)#$1$pathstart/resfiles/$res/webimages/$3$4#g; |
} |
} |
} |
} |
$$text =~ s#(<img src=[^>]+)/*>#$1 />#gi; |
$$text =~ s#(<img src=[^>]+)/*>#$1 />#gi; |
Line 4592 sub process_html {
|
Line 4603 sub process_html {
|
} |
} |
|
|
sub add_images_links { |
sub add_images_links { |
my ($type,$settings,$id,$dirname,$res) = @_; |
my ($type,$context,$settings,$id,$dirname,$res) = @_; |
my ($image,$imglink,$url); |
my ($image,$imglink,$url,$pathstart); |
|
if ($context eq 'CSTR') { |
|
$pathstart = '../..'; |
|
} else { |
|
$pathstart = $dirname; |
|
} |
if ((defined($$settings{$id}{$type}{image})) && ($$settings{$id}{$type}{image} ne '')) { |
if ((defined($$settings{$id}{$type}{image})) && ($$settings{$id}{$type}{image} ne '')) { |
if ( $$settings{$id}{$type}{style} eq 'Inline' ) { |
if ( $$settings{$id}{$type}{style} eq 'Inline' ) { |
$image = qq|<br /><img src="../../resfiles/$res/$$settings{$id}{$type}{image}" alt="$$settings{$id}{$type}{label}"/><br />|; |
$image = qq|<br /><img src="$pathstart/resfiles/$res/$$settings{$id}{$type}{image}" alt="$$settings{$id}{$type}{label}"/><br />|; |
} else { |
} else { |
$imglink = qq|<br /><a href="../../resfiles/$res/$$settings{$id}{$type}{image}">$$settings{$id}{$type}{label}</a><br />|; |
$imglink = qq|<br /><a href="$pathstart/resfiles/$res/$$settings{$id}{$type}{image}">$$settings{$id}{$type}{label}</a><br />|; |
} |
} |
} |
} |
if ((defined($$settings{$id}{$type}{link})) && ($$settings{$id}{$type}{link} ne '' )) { |
if ((defined($$settings{$id}{$type}{link})) && ($$settings{$id}{$type}{link} ne '' )) { |