--- loncom/xml/scripttag.pm 2011/12/10 18:11:05 1.159
+++ loncom/xml/scripttag.pm 2015/04/06 16:55:46 1.172.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# $linktext";
+ $result=&Apache::loncommon::modal_adhoc_window
+ ("LONCAPA_newwindow_$Apache::lonxml::curdepth",$width,$height,$output,$linktext);
} elsif ($target eq 'tex') {
- $result = '}';
+ my $printtext=&Apache::lonxml::get_param('printtext',$parstack,$safeeval);
+ if ($printtext=~/\w/) {
+# If a "printtext" is given, proceed to retrieve all intervening information and trash it
+ my $output=&Apache::lonxml::endredirection;
+# Use printtext instead
+ $result=$printtext;
+ } else {
+ $result='}';
+ }
} else {
$result = '';
}
return $result;
}
+
+sub start_windowlink {
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result = '';
+ if ($target eq 'web' || $target eq 'webgrade') {
+ &Apache::lonxml::startredirection;
+ } elsif ($target eq 'edit') {
+ $result.=&Apache::edit::tag_start($target,$token);
+ $result.=&Apache::edit::text_arg('Link:','href',$token,70);
+ $result.=&Apache::edit::text_arg('Height:','height',$token,5);
+ $result.=&Apache::edit::text_arg('Width:','width',$token,5);
+ $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
+ } elsif ($target eq 'modified') {
+ my $constructtag=&Apache::edit::get_new_args($token,$parstack,
+ $safeeval,'href',
+ 'width','height');
+ if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
+ }
+ return $result;
+}
+
+sub end_windowlink {
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result;
+ if ($target eq 'web' || $target eq 'webgrade') {
+ my $output=&Apache::lonxml::endredirection;
+ my $href= &Apache::lonxml::get_param('href',$parstack,$safeeval);
+ if (!$href) { $href='/adm/rat/empty.html'; }
+ my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval);
+ if (!$width) { $width='500'; }
+ my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
+ if (!$height) { $height='200'; }
+ $result=&Apache::loncommon::modal_link($href,$output,$width,$height);
+ } else {
+ $result = '';
+ }
+ return $result;
+}
+
+
+sub start_togglebox {
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result = '';
+ if ($target eq 'web' || $target eq 'webgrade') {
+ my $id="LONCAPA_togglebox_$Apache::lonxml::curdepth";
+ my $heading=&Apache::lonxml::get_param('heading',$parstack,$safeeval);
+ unless ($heading) { $heading=''; } else { $heading.=' '; }
+ my $showtext=&Apache::lonxml::get_param('showtext',$parstack,$safeeval);
+ my $hidetext=&Apache::lonxml::get_param('hidetext',$parstack,$safeeval);
+ my $headerbg=&Apache::lonxml::get_param('headerbg',$parstack,$safeeval);
+ $result=&Apache::loncommon::start_togglebox($id,$heading,$headerbg,$hidetext,$showtext);
+ } elsif ($target eq 'tex') {
+ my $heading=&Apache::lonxml::get_param('heading',$parstack,$safeeval);
+ unless ($heading) { $heading=''; } else { $heading.=' '; }
+ $result = "\n\n".'\fbox{{\bf '.$heading.'} \qquad '."\n";
+ } elsif ($target eq 'edit') {
+ $result.=&Apache::edit::tag_start($target,$token);
+ $result.=&Apache::edit::text_arg('Heading:','heading',$token,70);
+ $result.=&Apache::edit::text_arg('Header Background:','headerbg',$token,7);
+ $result.=&Apache::edit::text_arg('Show text:','showtext',$token,10);
+ $result.=&Apache::edit::text_arg('Hide text:','hidetext',$token,10);
+ $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
+ } elsif ($target eq 'modified') {
+ my $constructtag=&Apache::edit::get_new_args($token,$parstack,
+ $safeeval,'heading',
+ 'showtext','hidetext',
+ 'headerbg','textbg');
+ if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
+ }
+ return $result;
+}
+
+sub end_togglebox {
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ my $result;
+ if ($target eq 'web' || $target eq 'webgrade') {
+ $result=&Apache::loncommon::end_togglebox();
+ } elsif ($target eq 'tex') {
+ $result = "}\n\n";
+ } else {
+ $result = '';
+ }
+ return $result;
+}
+
+
+
sub start_import {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $bodytext=$$parser[$#$parser]->get_text("/import");
@@ -459,12 +645,14 @@ sub end_storetc {
sub start_physnet {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
- my $bodytext = '/adm/includes/physnet.sty';
+ my $bodytext = '/res/adm/includes/physnet.sty';
my $location=&Apache::lonnet::filelocation($Apache::lonxml::pwd['-1'],$bodytext);
my $cbistyletext=&Apache::lonnet::getfile($location);
%$style = (%$style,&Apache::style::styleparser($target,$cbistyletext));
- $$parser['-1']->unget_token($token);
+ if (keys(%$style) && (($target eq 'web') || ($target eq 'tex'))) {
+ $$parser['-1']->unget_token($token);
+ }
# if ( defined($$style{'physnet'}) ) {
# &Apache::lonxml::newparser($parser,\$$style{'physnet'});
# }