--- loncom/xml/lonxml.pm 2012/11/29 20:47:11 1.534 +++ loncom/xml/lonxml.pm 2013/05/05 00:10:16 1.539 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.534 2012/11/29 20:47:11 raeburn Exp $ +# $Id: lonxml.pm,v 1.539 2013/05/05 00:10:16 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1536,11 +1536,27 @@ sub inserteditinfo { FULLPAGE if ($filetype eq 'html') { - if ($symb || $folderpath) { - $deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n"; - $initialize .= - &Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle, - undef,$folderpath,$uri)."\n"; + my $context; + if ($env{'request.course.id'}) { + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + if ($uri =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus/\E}) { + $context = 'syllabus'; + $deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n"; + $initialize .= + &Apache::lonhtmlcommon::dependencycheck_js(undef,&mt('Syllabus'), + $uri,undef, + "/public/$cdom/$cnum/syllabus"). + "\n"; + } + } + unless ($context eq 'syllabus') { + if ($symb || $folderpath) { + $deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n"; + $initialize .= + &Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle, + undef,$folderpath,$uri)."\n"; + } } $dragmath_button = ''.&Apache::lonhtmlcommon::dragmath_button('filecont',1).''; $initialize .= "\n".&Apache::lonhtmlcommon::dragmath_js('EditMathPopup'); @@ -1670,6 +1686,11 @@ sub handler { } else { $filetype='html'; } + unless ($env{'request.uri'}) { + $env{'request.uri'}=$request->uri; + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['todocs']); + } if ($filetype eq 'sty') { $breadcrumbtext = 'Style File Editor'; } elsif ($filetype eq 'js') { @@ -1801,14 +1822,20 @@ ENDNOTFOUND if ($env{'request.course.id'}) { my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; - if ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/\Esupplemental/}) { + if ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/supplemental/\E}) { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['folderpath','title']); + } elsif ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus/\E(.+)$}) { + $displayfile = &mt('Syllabus file: [_1]',$1); + $itemtitle = &mt('Syllabus'); } } - ($symb,$itemtitle,$displayfile) = - &get_courseupload_hierarchy($request->uri, - $env{'form.folderpath'},$env{'form.title'}); + unless ($itemtitle) { + ($symb,$itemtitle,$displayfile) = + &get_courseupload_hierarchy($request->uri, + $env{'form.folderpath'}, + $env{'form.title'}); + } } else { $displayfile=~s/^\/[^\/]*//; } @@ -1875,6 +1902,7 @@ sub get_courseupload_hierarchy { while (@folders) { my $folder=shift(@folders); my $foldername=shift(@folders); + $foldername =~ s/\:(\d*)\:(\w*)\:(\w*):(\d*)\:?(\d*)$//; push(@pathitems,&unescape($foldername)); } if ($title) { @@ -2050,16 +2078,25 @@ sub add_messages { } sub get_param { - my ($param,$parstack,$safeeval,$context,$case_insensitive) = @_; + my ($param,$parstack,$safeeval,$context,$case_insensitive, $noelide) = @_; + if ( ! $context ) { $context = -1; } my $args =''; if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; } if ( ! $Apache::lonxml::usestyle ) { $args=$Apache::lonxml::style_values.$args; } + + + if ($noelide) { +# $args =~ s/\\'/'/g; + $args =~ s/'\$/'\\\$/g; + } + if ( ! $args ) { return undef; } if ( $case_insensitive ) { if ($args =~ s/(my (?:.*))(\$\Q$param\E[,\)])/$1.lc($2)/ei) { + return &Apache::run::run("{$args;".'return $'.$param.'}', $safeeval); #' } else { @@ -2067,6 +2104,7 @@ sub get_param { } } else { if ( $args =~ /my .*\$\Q$param\E[,\)]/ ) { + return &Apache::run::run("{$args;".'return $'.$param.'}', $safeeval); #' } else {