--- loncom/xml/scripttag.pm 2008/12/11 21:30:10 1.148.2.1 +++ loncom/xml/scripttag.pm 2011/12/10 18:11:05 1.159 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # ".&mt('Script Vars')."
"; - &Apache::lonxml::add_script_result($script_var); + &Apache::lonxml::add_script_result( + &Apache::loncommon::modal_adhoc_window($function_name,500,500, + '
'.&Apache::run::dump($target,$safeeval).'
', + &mt('Script Vars'))."
"); } } elsif ($target eq "edit" ) { #&Apache::run::run($bodytext,$safeeval); @@ -372,7 +356,7 @@ sub start_import { my $bodytext=$$parser[$#$parser]->get_text("/import"); my $result =""; - $bodytext=Apache::run::evaluate($bodytext,$safeeval,$$parstack[$#$parstack]); + $bodytext=&Apache::run::evaluate($bodytext,$safeeval,$$parstack[$#$parstack]); if ($target eq 'web' || $target eq 'webgrade' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex' || $target eq 'analyze' ) { @@ -384,7 +368,19 @@ sub start_import { &Apache::lonxml::error(" Unable to find $bodytext as $location for import"); return ""; } - + my $importmode=&Apache::lonxml::get_param('importmode',$parstack,$safeeval); + if (($importmode eq 'problem') || ($importmode eq 'part')) { +# We are using import to import published problems + if (($importmode eq 'problem') || ($file=~//s)) { +# We explicitly don't want this to be a separate part or the problem already has parts + $file=~s/^\s*//s; + $file=~s/<\/problem>\s*$/<\/library>/s; + } else { +# We want this to be a separate part, but it currently is not + $file=~s/^\s*//s; + $file=~s/<\/problem>\s*$/<\/part><\/library>/s; + } + } my $dir=$location; $dir=~s:/[^/]*$::; # &Apache::lonxml::debug("directory $dir $location file $file \nEND\n"); @@ -397,20 +393,38 @@ sub start_import { } elsif ($target eq "edit" ) { $result.=&Apache::edit::tag_start($target,$token); - $result.=&Apache::edit::editline($token->[1],$bodytext,'',40); + my $location=$token->[1]; + $location=~s/^\s*//s; + $location=~s/\s*$//s; + $result.=&Apache::edit::editline($location,$bodytext,'',40); $result.=&Apache::edit::browse(undef,'textnode'); + $result.= ' '; #FIXME this need to convert $bodytext to be a contruction space reference #my $location=&Apache::lonnet::filelocation($Apache::lonxml::pwd['-1'],$bodytext); #$result.="Clickhere to edit
" } elsif ($target eq 'modified') { - $result=$token->[4].&Apache::edit::modifiedfield("/import",$parser); + &Apache::edit::get_new_args($token,$parstack,$safeeval,'importmode'); + $result=''; + $result.=&Apache::edit::modifiedfield("/import",$parser); } elsif ($target eq 'meta') { my $id= &Apache::lonxml::get_id($parstack,$safeeval); $result.=''; + $result.='" importmode="'.$token->[2]{'importmode'}.'">'; $result.=$bodytext; $result.=''; } @@ -612,3 +626,20 @@ sub end_algebra { 1; __END__ + +=pod + +=head1 NAME + +Apache::scripttag.pm + +=head1 SYNOPSIS + +implements