--- loncom/xml/lonxml.pm 2012/11/29 20:47:11 1.534
+++ loncom/xml/lonxml.pm 2013/05/12 13:05:31 1.540
@@ -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.540 2013/05/12 13:05:31 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1535,12 +1535,32 @@ sub inserteditinfo {
// ]]>
FULLPAGE
+ my $textareaclass;
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";
+ if (&Apache::lonhtmlcommon::htmlareabrowser()) {
+ $textareaclass = 'class="LC_richDefaultOn"';
+ }
+ }
+ }
+ 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');
@@ -1553,7 +1573,6 @@ FULLPAGE
}
my $titledisplay=&display_title();
- my $textareaclass;
my %lt=&Apache::lonlocal::texthash('st' => 'Save and Edit',
'vi' => 'Save and View',
'dv' => 'Discard Edits and View',
@@ -1569,7 +1588,9 @@ FULLPAGE
$htmlerror=''.$htmlerror.'';
}
if (&Apache::lonhtmlcommon::htmlareabrowser()) {
- $textareaclass = 'class="LC_richDefaultOff"';
+ unless ($textareaclass) {
+ $textareaclass = 'class="LC_richDefaultOff"';
+ }
}
}
my $editfooter=(<uri;
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['todocs']);
+ }
+ my ($cdom,$cnum);
+ if ($env{'request.course.id'}) {
+ $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ if ($filetype eq 'html') {
+ if ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus/\E.+$}) {
+ if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['editmode']);
+ }
+ }
+ }
+ }
if ($filetype eq 'sty') {
$breadcrumbtext = 'Style File Editor';
} elsif ($filetype eq 'js') {
@@ -1799,16 +1838,25 @@ ENDNOTFOUND
$displayfile=$request->uri;
if ($request->uri =~ m{^/uploaded/}) {
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(.+)$}) {
+ my $filename = $1;
+ if ($1 eq 'loncapa.html') {
+ $displayfile = &mt('Syllabus (minimal template)');
+ } else {
+ $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 +1923,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 +2099,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 +2125,7 @@ sub get_param {
}
} else {
if ( $args =~ /my .*\$\Q$param\E[,\)]/ ) {
+
return &Apache::run::run("{$args;".'return $'.$param.'}',
$safeeval); #'
} else {