--- loncom/xml/scripttag.pm 2008/11/24 18:55:01 1.149 +++ loncom/xml/scripttag.pm 2010/05/23 12:29:25 1.153 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # '; - } - return ('','no'); -} - -sub end_LONCAPA_INTERNAL_LONHTTPD_PORT { - return ('','no'); -} - sub start_script { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; @Apache::scripttag::parser_env = @_; @@ -386,7 +372,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' ) { @@ -398,7 +384,11 @@ 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') { + $file=~s/^\s*//s; + $file=~s/<\/problem>\s*$/<\/library>/s; + } my $dir=$location; $dir=~s:/[^/]*$::; # &Apache::lonxml::debug("directory $dir $location file $file \nEND\n"); @@ -411,13 +401,28 @@ 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.='