version 1.69.4.2, 2010/01/28 17:25:10
|
version 1.73, 2008/12/16 20:00:11
|
Line 29
|
Line 29
|
package Apache::lonsyllabus; |
package Apache::lonsyllabus; |
|
|
use strict; |
use strict; |
|
use Apache::lontemplate; |
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::loncommon; |
use Apache::loncommon; |
use Apache::lonnet; |
use Apache::lonnet; |
Line 150 ENDSCRIPT
|
Line 151 ENDSCRIPT
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:ToCatalog()", |
({href=>"javascript:ToCatalog()", |
text=>"Course/Community Catalog"}); |
text=>"Course Catalog"}); |
if ($env{'form.coursenum'} ne '') { |
if ($env{'form.coursenum'} ne '') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:ToCatalog('details')", |
({href=>"javascript:ToCatalog('details')", |
Line 239 ENDSCRIPT
|
Line 240 ENDSCRIPT
|
if ($forcestudent or $target eq 'tex') { $allowed=0; } |
if ($forcestudent or $target eq 'tex') { $allowed=0; } |
} |
} |
if ($allowed) { |
if ($allowed) { |
my $protocol = $Apache::lonnet::protocol{$homeserver}; |
$r->print('<p><a href="'.$r->uri.'?forcestudent=1"><font size="+1">'. |
$protocol = 'http' if ($protocol ne 'https'); |
&mt('Show Public View').'</font></a>'. |
$r->print('<p>'. |
&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView'). |
|
'</p><p>'. |
&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')).'</p><p>'.&mt('This syllabus can be publicly viewed at') |
&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')).'</p><p>'.&mt('This syllabus can be publicly viewed at') |
.' <tt>'.$protocol.'://'. |
.' <tt>http://'. |
&Apache::lonnet::hostname($homeserver).$r->uri.'</tt>'. |
&Apache::lonnet::hostname($homeserver).$r->uri.'</tt>'. |
&Apache::loncommon::help_open_topic('Syllabus_ExtLink').'</p>'. |
&Apache::loncommon::help_open_topic('Syllabus_ExtLink').'</p>'. |
'<p class="LC_info">'. |
'<p>'.&mt('You can specify an external URL as Syllabus in the [_1].','<a href="/adm/parmset?action=crsenv">'.&mt('Course Parameters').'</a>').'</p>'); |
&mt('Instead of using this template you can specify an external URL as Syllabus in the [_1]Course Configuration[_2].', |
|
'<a href="/adm/courseprefs?actions=courseinfo&phase=display">','</a>'). |
|
'</p>'. |
|
'<p><a href="'.$r->uri.'?forcestudent=1"><font size="+1">'. |
|
&mt('Show Public View').'</font></a>'. |
|
&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView'). |
|
'</p>'); |
|
} elsif ($privileged) { |
} elsif ($privileged) { |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$r->print('<p><a href="'.$r->uri.'?forceedit=1"><font size="+1">'. |
$r->print('<p><a href="'.$r->uri.'?forceedit=1"><font size="+1">'. |
Line 276 ENDSCRIPT
|
Line 271 ENDSCRIPT
|
# get rid of leading and trailing spaces |
# get rid of leading and trailing spaces |
$url=~s/^\s+//; |
$url=~s/^\s+//; |
$url=~s/\s+$//; |
$url=~s/\s+$//; |
if ($url=~m|^https?\://([^/]+)/(.+)$|) { |
if ($url=~m|^http://([^/]+)/(.+)$|) { |
my $host = $1; |
my $host = $1; |
my $remainder=$2; |
my $remainder=$2; |
# remove the hostname from internal URLs |
# remove the hostname from internal URLs |
Line 289 ENDSCRIPT
|
Line 284 ENDSCRIPT
|
} |
} |
} |
} |
# norm internal URLs |
# norm internal URLs |
unless ($url=~/^https?\:/) { |
unless ($url=~/^http\:/) { |
$url=&Apache::lonnet::clutter($url); |
$url=&Apache::lonnet::clutter($url); |
} |
} |
# re-assemble field |
# re-assemble field |
Line 332 ENDSCRIPT
|
Line 327 ENDSCRIPT
|
'<input type="hidden" name="forceedit" value="edit" />'); |
'<input type="hidden" name="forceedit" value="edit" />'); |
} |
} |
my @htmlids=(); |
my @htmlids=(); |
foreach my $field (sort(keys(%syllabusfields))) { |
&Apache::lontemplate::start_columnSection($r); |
|
&Apache::lontemplate::start_ContentBox($r, $allowed); |
|
foreach my $field (sort(keys(%syllabusfields))) { |
if (($syllabus{$field}=~/\w/) || ($allowed)) { |
if (($syllabus{$field}=~/\w/) || ($allowed)) { |
my $message=$syllabus{$field}; |
my $message=$syllabus{$field}; |
if ($field eq 'lll_includeurl') { # this is the "included" field |
if ($field eq 'lll_includeurl') { # this is the "included" field |
Line 358 ENDSCRIPT
|
Line 355 ENDSCRIPT
|
} |
} |
if ($allowed) { |
if ($allowed) { |
$r->print('<h3>'.$syllabusfields{$field}. |
$r->print('<h3>'.$syllabusfields{$field}. |
&Apache::loncommon::help_open_topic('Syllabus_URLs').'</h3>'. |
&Apache::loncommon::help_open_topic('Syllabus_URLs').'</h3>'); |
'<p><a href="'.$r->uri.'?forcestudent=1"><font size="+1">'.&mt('Show Public View').'</font></a>'. |
|
&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'</p>'); |
|
} else { |
} else { |
$r->print($message); |
$r->print($message); |
} |
} |
} else { |
} else { |
if (!&Apache::lonfeedback::contains_block_html($message)) { |
&Apache::lonfeedback::newline_to_br(\$message); |
&Apache::lonfeedback::newline_to_br(\$message); |
$message =~s|(https*://[^\s]+)|<a href="$1"><tt>$1</tt></a>|g; |
} |
|
$message=&Apache::lonhtmlcommon::raw_href_to_link($message); |
|
if ($allowed) { |
if ($allowed) { |
$message=&Apache::lonspeller::markeduptext($message); |
$message=&Apache::lonspeller::markeduptext($message); |
} |
} |
$message=&Apache::lontexconvert::msgtexconverted($message); |
$message=&Apache::lontexconvert::msgtexconverted($message); |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$r->print('<h3>'.$syllabusfields{$field}.'</h3><blockquote>'. |
&Apache::lontemplate::print_template($r, $syllabusfields{$field}, $message); |
$message.'</blockquote>'); |
|
} else { |
} else { |
$r->print('\\\\\textbf{'.$syllabusfields{$field}.'}\\\\'. |
$r->print('\\\\\textbf{'.$syllabusfields{$field}.'}\\\\'. |
&Apache::lonxml::xmlparse($r,'tex',$message).'\\\\'); |
&Apache::lonxml::xmlparse($r,'tex',$message).'\\\\'); |
Line 383 ENDSCRIPT
|
Line 376 ENDSCRIPT
|
push(@htmlids,$field); |
push(@htmlids,$field); |
} |
} |
if ($allowed) { |
if ($allowed) { |
$r->print('<br /><textarea cols="80" rows="12" name="'.$field.'" id="'.$field.'">'. |
&Apache::lontemplate::print_editbox_template($r, $syllabus{$field}, $field); |
&HTML::Entities::encode($syllabus{$field},'"&<>'). |
|
'</textarea> <input type="submit" name="storesyl" value="'.&mt('Save').'" />'); |
|
} |
} |
} |
} |
} |
} |
|
if ($allowed) { |
|
$r->print('<p><a href="'.$r->uri.'?forcestudent=1"><font size="+1">'.&mt('Show Public View').'</font></a>'. |
|
&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'</p>'); |
|
} |
|
&Apache::lontemplate::end_ContentBox($r); |
|
&Apache::lontemplate::end_columnSection($r); |
if ($allowed) { |
if ($allowed) { |
$r->print('</form>'. |
$r->print('</form>'. |
&Apache::lonhtmlcommon::htmlareaselectactive(@htmlids)); |
&Apache::lonhtmlcommon::htmlareaselectactive(@htmlids)); |