version 1.492, 2009/04/13 20:15:44
|
version 1.497, 2009/06/23 03:01:26
|
Line 109 use Apache::lonfeedback();
|
Line 109 use Apache::lonfeedback();
|
use Apache::lonmsg(); |
use Apache::lonmsg(); |
use Apache::loncacc(); |
use Apache::loncacc(); |
use Apache::lonmaxima(); |
use Apache::lonmaxima(); |
|
use Apache::lonr(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
|
#==================================== Main subroutine: xmlparse |
#==================================== Main subroutine: xmlparse |
Line 755 sub init_safespace {
|
Line 756 sub init_safespace {
|
$safehole->wrap(\&Apache::lonmaxima::maxima_cas_formula_fix,$safeeval, |
$safehole->wrap(\&Apache::lonmaxima::maxima_cas_formula_fix,$safeeval, |
'&maxima_cas_formula_fix'); |
'&maxima_cas_formula_fix'); |
|
|
|
$safehole->wrap(\&Apache::lonr::r_eval,$safeeval,'&r_eval'); |
|
$safehole->wrap(\&Apache::lonr::Rentry,$safeeval,'&Rentry'); |
|
$safehole->wrap(\&Apache::lonr::Rarray,$safeeval,'&Rarray'); |
|
$safehole->wrap(\&Apache::lonr::r_check,$safeeval,'&r_check'); |
|
$safehole->wrap(\&Apache::lonr::r_cas_formula_fix,$safeeval, |
|
'&r_cas_formula_fix'); |
|
|
$safehole->wrap(\&Apache::caparesponse::capa_formula_fix,$safeeval, |
$safehole->wrap(\&Apache::caparesponse::capa_formula_fix,$safeeval, |
'&capa_formula_fix'); |
'&capa_formula_fix'); |
|
|
Line 1504 SIMPLECONTENT
|
Line 1512 SIMPLECONTENT
|
return $filecontents; |
return $filecontents; |
} |
} |
|
|
|
sub createnewjs { |
|
my $filecontents=(<<SIMPLECONTENT); |
|
<script type="text/javascript" language="Javascript"> |
|
|
|
</script> |
|
SIMPLECONTENT |
|
return $filecontents; |
|
} |
|
|
sub verify_html { |
sub verify_html { |
my ($filecontents)=@_; |
my ($filecontents)=@_; |
if ($filecontents!~/(?:\<|\<\;)(?:html|xml)[^\<]*(?:\>|\>\;)/is) { |
if ($filecontents!~/(?:\<|\<\;)(?:html|xml)[^\<]*(?:\>|\>\;)/is) { |
Line 1679 sub get_target {
|
Line 1696 sub get_target {
|
|
|
sub handler { |
sub handler { |
my $request=shift; |
my $request=shift; |
|
|
my $target=&get_target(); |
my $target=&get_target(); |
|
|
$Apache::lonxml::debug=$env{'user.debug'}; |
$Apache::lonxml::debug=$env{'user.debug'}; |
|
|
&Apache::loncommon::content_type($request,'text/html'); |
&Apache::loncommon::content_type($request,'text/html'); |
Line 1697 sub handler {
|
Line 1713 sub handler {
|
|
|
my $file=&Apache::lonnet::filelocation("",$request->uri); |
my $file=&Apache::lonnet::filelocation("",$request->uri); |
my $filetype; |
my $filetype; |
if ($file =~ /\.sty$/) { |
if ($file =~ /\.(sty|css|js|txt)$/) { |
$filetype='sty'; |
$filetype=$1; |
} else { |
} else { |
$filetype='html'; |
$filetype='html'; |
} |
} |
|
|
# |
# |
# Edit action? Save file. |
# Edit action? Save file. |
# |
# |
Line 1720 sub handler {
|
Line 1737 sub handler {
|
if ($filecontents eq -1) { |
if ($filecontents eq -1) { |
my $start_page=&Apache::loncommon::start_page('File Error'); |
my $start_page=&Apache::loncommon::start_page('File Error'); |
my $end_page=&Apache::loncommon::end_page(); |
my $end_page=&Apache::loncommon::end_page(); |
my $fnf=&mt('File not found'); |
my $errormsg='<p class="LC_error">' |
|
.&mt('File not found: [_1]' |
|
,'<span class="LC_filename">'.$file.'</span>') |
|
.'</p>'; |
$result=(<<ENDNOTFOUND); |
$result=(<<ENDNOTFOUND); |
$start_page |
$start_page |
<b>$fnf: $file</b> |
$errormsg |
$end_page |
$end_page |
ENDNOTFOUND |
ENDNOTFOUND |
$filecontents=''; |
$filecontents=''; |
if ($env{'request.state'} ne 'published') { |
if ($env{'request.state'} ne 'published') { |
if ($filetype eq 'sty') { |
if ($filetype eq 'sty') { |
$filecontents=&createnewsty(); |
$filecontents=&createnewsty(); |
} else { |
} elsif ($filetype eq 'js') { |
|
$filecontents=&createnewjs(); |
|
} elsif (($filetype ne 'css') && ($filetype ne 'txt')) { |
$filecontents=&createnewhtml(); |
$filecontents=&createnewhtml(); |
} |
} |
$env{'form.editmode'}='Edit'; #force edit mode |
$env{'form.editmode'}='Edit'; #force edit mode |
Line 1746 ENDNOTFOUND
|
Line 1768 ENDNOTFOUND
|
['editmode']); |
['editmode']); |
} |
} |
if (!$env{'form.editmode'} || $env{'form.viewmode'} || $env{'form.discardview'}) { |
if (!$env{'form.editmode'} || $env{'form.viewmode'} || $env{'form.discardview'}) { |
&Apache::structuretags::reset_problem_globals(); |
if ($filetype eq 'html' || $filetype eq 'sty') { |
$result = &Apache::lonxml::xmlparse($request,$target,$filecontents, |
&Apache::structuretags::reset_problem_globals(); |
'',%mystyle); |
$result = &Apache::lonxml::xmlparse($request,$target, |
|
$filecontents,'',%mystyle); |
# .html files may contain <problem> or <Task> need to clean |
# .html files may contain <problem> or <Task> need to clean |
# up if it did |
# up if it did |
&Apache::structuretags::reset_problem_globals(); |
&Apache::structuretags::reset_problem_globals(); |
&Apache::lonhomework::finished_parsing(); |
&Apache::lonhomework::finished_parsing(); |
|
} else { |
|
$result = $filecontents; |
|
} |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['rawmode']); |
['rawmode']); |
if ($env{'form.rawmode'}) { $result = $filecontents; } |
if ($env{'form.rawmode'}) { $result = $filecontents; } |
if ($filetype eq 'sty') { |
if ($filetype ne 'html') { |
my $controls = |
my $nochgview = 1; |
($env{'request.state'} eq 'construct') ? &Apache::londefdef::edit_controls() |
my $controls = ''; |
: ''; |
if ($env{'request.state'} eq 'construct') { |
my %options = ('bgcolor' => '#FFFFFF'); |
$controls = &Apache::loncommon::head_subbox( |
$result = |
&Apache::loncommon::CSTR_pageheader() |
&Apache::loncommon::start_page(undef,undef,\%options). |
.&Apache::londefdef::edit_controls($nochgview)); |
$controls. |
} |
$result. |
if ($filetype ne 'sty') { |
&Apache::loncommon::end_page(); |
$result =~ s/</</g; |
} |
$result =~ s/>/>/g; |
} |
$result = '<table class="LC_sty_begin">'. |
|
'<tr><td><b><pre>'.$result. |
|
'</pre></b></td></tr></table>'; |
|
} |
|
if ($env{'environment.remote'} eq 'off') { |
|
my $brcrum; |
|
if ($env{'request.state'} eq 'construct') { |
|
$brcrum = [{'href' => &Apache::loncommon::authorspace(), |
|
'text' => 'Construction Space'}, |
|
{'href' => '', |
|
'text' => 'Editor'}]; |
|
} else { |
|
$brcrum = ''; # FIXME: Where are we? |
|
} |
|
my %options = ('bread_crumbs' => $brcrum, |
|
'bgcolor' => '#FFFFFF'); |
|
$result = |
|
&Apache::loncommon::start_page(undef,undef,\%options) |
|
.$controls |
|
.$result |
|
.&Apache::loncommon::end_page(); |
|
} else { |
|
$result = $controls.$result; |
|
} |
|
} |
|
} |
} |
} |
|
|
# |
# |
Line 1784 ENDNOTFOUND
|
Line 1835 ENDNOTFOUND
|
|
|
my %options = |
my %options = |
('add_entries' => |
('add_entries' => |
{'onresize' => $add_to_onresize, |
{'onresize' => $add_to_onresize, |
'onload' => $add_to_onload, }); |
'onload' => $add_to_onload, }); |
|
|
|
$options{'bread_crumbs'} = [{ |
|
'href' => &Apache::loncommon::authorspace(), |
|
'text' => 'Construction Space'}, |
|
{'href' => '', |
|
'text' => 'HTML Editor'}]; |
|
|
if ($env{'environment.remote'} ne 'off') { |
if ($env{'environment.remote'} ne 'off') { |
$options{'bgcolor'} = '#FFFFFF'; |
$options{'bgcolor'} = '#FFFFFF'; |
Line 1796 ENDNOTFOUND
|
Line 1853 ENDNOTFOUND
|
&Apache::loncommon::resize_textarea_js(); |
&Apache::loncommon::resize_textarea_js(); |
my $start_page = &Apache::loncommon::start_page(undef,$js, |
my $start_page = &Apache::loncommon::start_page(undef,$js, |
\%options); |
\%options); |
$result=$start_page. |
$result = $start_page |
&Apache::lonxml::message_location(). |
.&Apache::loncommon::head_subbox( |
$edit_info. |
&Apache::loncommon::CSTR_pageheader()) |
&Apache::loncommon::end_page(); |
.&Apache::lonxml::message_location() |
} |
.$edit_info |
|
.&Apache::loncommon::end_page(); |
|
} |
} |
} |
if ($filetype eq 'html') { &writeallows($request->uri); } |
if ($filetype eq 'html') { &writeallows($request->uri); } |
|
|