--- loncom/interface/lonsyllabus.pm 2006/08/16 19:40:46 1.54
+++ loncom/interface/lonsyllabus.pm 2006/10/23 18:48:47 1.55
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Syllabus
#
-# $Id: lonsyllabus.pm,v 1.54 2006/08/16 19:40:46 albertel Exp $
+# $Id: lonsyllabus.pm,v 1.55 2006/10/23 18:48:47 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -206,26 +206,28 @@ sub handler {
}
}
if (($allowed) && ($env{'form.storesyl'})) {
- foreach (keys %syllabusfields) {
- my $field=$env{'form.'.$_};
+ foreach my $syl_field (keys(%syllabusfields)) {
+ my $field=$env{'form.'.$syl_field};
chomp($field);
$field=~s/\s+$//s;
$field=~s/^\s+//s;
$field=~s/\
$//s;
$field=&Apache::lonfeedback::clear_out_html($field,1);
- $syllabus{$_}=$field;
- if ($_ eq 'lll_includeurl') { # clean up included URLs
+ $syllabus{$syl_field}=$field;
+ if ($syl_field eq 'lll_includeurl') { # clean up included URLs
my $field='';
- foreach (split(/\n/,$syllabus{$_})) {
- my $url=$_;
+ foreach my $value (split(/\n/,$syllabus{$syl_field})) {
+ my $url=$value;
# get rid of leading and trailing spaces
$url=~s/^\s+//;
$url=~s/\s+$//;
- if ($url=~/^http\:\/\/([^\/]+)\/(.+)$/) {
+ if ($url=~m|^http://([^/]+)/(.+)$|) {
+ my $host = $1;
my $remainder=$2;
# remove the hostname from internal URLs
- foreach (keys %Apache::lonnet::hostname) {
- if ($1=~/$Apache::lonnet::hostname{$_}/i) {
+ foreach my $possible_host (keys(%Apache::lonnet::hostname)) {
+ if ($possible_host =~
+ /\Q$Apache::lonnet::hostname{$host}\E/i) {
$url=$remainder;
}
}
@@ -239,7 +241,7 @@ sub handler {
$field.=$url."\n";
}
}
- $syllabus{$_}=$field;
+ $syllabus{$syl_field}=$field;
}
}
$syllabus{'uploaded.domain'}=$env{'user.domain'};
@@ -270,62 +272,60 @@ sub handler {
'');
}
my @htmlids=();
- foreach (sort keys %syllabusfields) {
- if (($syllabus{$_}=~/\w/) || ($allowed)) {
- my $message=$syllabus{$_};
- if ($_ eq 'lll_includeurl') { # this is the "included" field
- my $urls=$message;
- $message='';
- foreach my $filelink (split(/\n/,$urls)) {
- my $output='';
+ foreach my $field (sort(keys(%syllabusfields))) {
+ if (($syllabus{$field}=~/\w/) || ($allowed)) {
+ my $message=$syllabus{$field};
+ if ($field eq 'lll_includeurl') { # this is the "included" field
+ my $urls=$message;
+ $message='';
+ foreach my $filelink (split(/\n/,$urls)) {
+ my $output='';
# embed style?
- my ($curfext)=($filelink=~/\.([^\.]+)$/);
- my $embstyle=&Apache::loncommon::fileembstyle($curfext);
- if (($embstyle eq 'ssi') || ($curfext=~/\/$/)) {
+ my ($curfext)=($filelink=~/\.([^\.]+)$/);
+ my $embstyle=&Apache::loncommon::fileembstyle($curfext);
+ if (($embstyle eq 'ssi') || ($curfext=~/\/$/)) {
# make ssi call and remove everything but the body contents
- $output=&Apache::lonnet::ssi_body($filelink);
- } elsif ($embstyle eq 'img') {
+ $output=&Apache::lonnet::ssi_body($filelink);
+ } elsif ($embstyle eq 'img') {
# embed as an image
- $output='';
- }
- if ($target ne 'tex') {
- $message.='
'.$output.'
'; - } else { - $message.=' '.&Apache::lonxml::xmlparse($r,'tex',''.$output.'
').' '; - } - } - if ($allowed) { - $r->print(''.&mt('Show Public View').''. - &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'
'); - } else { - $r->print($message); - } - } else { - &Apache::lonfeedback::newline_to_br(\$message); - $message - =~s/(https*\:\/\/[^\s]+)/\\$1\<\/tt\>\<\/a\>/g; - if ($allowed) { - $message=&Apache::lonspeller::markeduptext($message); - } - $message=&Apache::lontexconvert::msgtexconverted($message); - if ($target ne 'tex') { - $r->print(''. - $message.''); - } else { - $r->print('\\\\\textbf{'.$syllabusfields{$_}.'}\\\\'. - &Apache::lonxml::xmlparse($r,'tex',$message).'\\\\'); - } - push @htmlids,$_; - } - if ($allowed) { - $r->print( - '
'.$output.'
'; + } else { + $message.=' '.&Apache::lonxml::xmlparse($r,'tex',''.$output.'
').' '; + } + } + if ($allowed) { + $r->print(''.&mt('Show Public View').''. + &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'
'); + } else { + $r->print($message); + } + } else { + &Apache::lonfeedback::newline_to_br(\$message); + $message =~s|(https*://[^\s]+)|$1/g; + if ($allowed) { + $message=&Apache::lonspeller::markeduptext($message); + } + $message=&Apache::lontexconvert::msgtexconverted($message); + if ($target ne 'tex') { + $r->print(''. + $message.''); + } else { + $r->print('\\\\\textbf{'.$syllabusfields{$field}.'}\\\\'. + &Apache::lonxml::xmlparse($r,'tex',$message).'\\\\'); + } + push(@htmlids,$field); + } + if ($allowed) { + $r->print('