version 1.138.2.3.2.1, 2017/06/22 02:11:27
|
version 1.150, 2021/05/04 18:47:36
|
Line 177 sub handler {
|
Line 177 sub handler {
|
$brcrum = |
$brcrum = |
&Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
&Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
} |
} |
$r->print(&Apache::lonwrapper::wrapper($item,$brcrum,$env{'request.use_absolute'}, |
$r->print(&Apache::lonwrapper::wrapper($r,$item,$brcrum,$env{'request.use_absolute'}, |
undef,$is_pdf,'','','',&mt('Syllabus'))); |
undef,$is_pdf,undef,'','',&mt('Syllabus'))); |
} |
} |
} |
} |
return OK; |
return OK; |
} |
} |
} elsif ($external=~/\w/) { |
} elsif ($external=~/\w/) { |
unless ($allowed && $forceedit) { |
unless ($allowed && $forceedit) { |
|
if (($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public') && |
|
($ENV{'SERVER_PORT'} == 443) && ($external =~ m{^http://}) && !($env{'form.usehttp'})) { |
|
my $hostname = $r->hostname(); |
|
unless ((&Apache::lonnet::uses_sts()) || (&Apache::lonnet::waf_allssl($hostname))) { |
|
&redirect_to_http($r); |
|
return OK; |
|
} |
|
} |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
$r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}). |
$r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}). |
' \strut \\\\ \textbf{'.&mt('Syllabus').'} \strut \\\\ '.$external.' '. |
' \strut \\\\ \textbf{'.&mt('Syllabus').'} \strut \\\\ '.$external.' '. |
Line 204 sub handler {
|
Line 212 sub handler {
|
$brcrum = |
$brcrum = |
&Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
&Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
} |
} |
$r->print(&Apache::lonwrapper::wrapper($external,$brcrum,$env{'request.use_absolute'}, |
$r->print(&Apache::lonwrapper::wrapper($r,$external,$brcrum,$env{'request.use_absolute'}, |
$is_ext,$is_pdf,'','','',&mt('Syllabus'))); |
$is_ext,$is_pdf,undef,'','',&mt('Syllabus'))); |
} |
} |
return OK; |
return OK; |
} |
} |
Line 306 sub handler {
|
Line 314 sub handler {
|
if ($allowed) { |
if ($allowed) { |
#---------------------------------- Print External URL Syllabus Info if editing |
#---------------------------------- Print External URL Syllabus Info if editing |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
|
my $hostname = &Apache::lonnet::hostname($homeserver); |
my $protocol = $Apache::lonnet::protocol{$homeserver}; |
my $protocol = $Apache::lonnet::protocol{$homeserver}; |
$protocol = 'http' if ($protocol ne 'https'); |
$protocol = 'http' if ($protocol ne 'https'); |
my $link = $protocol.'://'.&Apache::lonnet::hostname($homeserver).$r->uri; |
my $alias = &Apache::lonnet::use_proxy_alias($r,$homeserver); |
|
$hostname = $alias if ($alias ne ''); |
|
my $link = $protocol.'://'.$hostname.$r->uri; |
$r->print('<div class="LC_left_float">' |
$r->print('<div class="LC_left_float">' |
.'<span class="LC_help_open_topic LC_info">' |
.'<span class="LC_help_open_topic LC_info">' |
.'<span class="LC_info">' |
.'<span class="LC_info">' |
Line 317 sub handler {
|
Line 328 sub handler {
|
.'</span>' |
.'</span>' |
.'</div><div style="padding:0;clear:both;margin:0;border:0"></div>'."\n"); |
.'</div><div style="padding:0;clear:both;margin:0;border:0"></div>'."\n"); |
my $lonhost = $r->dir_config('lonHostID'); |
my $lonhost = $r->dir_config('lonHostID'); |
$r->print(&chooser($external,$uploaded,$minimal,$cdom,$cnum,$lonhost, |
$r->print(&chooser($r,$external,$uploaded,$minimal,$cdom,$cnum,$lonhost, |
\%syllabusfields,\%syllabus)); |
\%syllabusfields,\%syllabus)); |
} |
} |
} else { |
} else { |
Line 744 ENDSCRIPT
|
Line 755 ENDSCRIPT
|
if ($env{'form.only_body'}) { |
if ($env{'form.only_body'}) { |
$args->{'only_body'} = 1; |
$args->{'only_body'} = 1; |
} |
} |
|
$args->{'hostname'} = $r->hostname(); |
my $start_page = |
my $start_page = |
&Apache::loncommon::start_page("Syllabus", $rss_link.$js,$args); |
&Apache::loncommon::start_page("Syllabus", $rss_link.$js,$args); |
if ($start_page) { |
if ($start_page) { |
Line 779 sub get_breadcrumbs{
|
Line 791 sub get_breadcrumbs{
|
} |
} |
|
|
sub chooser { |
sub chooser { |
my ($external,$uploaded,$minimal,$cdom,$cnum,$lonhost,$fields,$values) = @_; |
my ($r,$external,$uploaded,$minimal,$cdom,$cnum,$lonhost,$fields,$values) = @_; |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
'type' => 'Syllabus Type', |
'type' => 'Syllabus Type', |
'url' => 'External URL', |
'url' => 'External URL', |
Line 844 sub chooser {
|
Line 856 sub chooser {
|
'<div id="minimal" class="LC_left_float" style="display: '.$display{'minimal'}.'">'."\n". |
'<div id="minimal" class="LC_left_float" style="display: '.$display{'minimal'}.'">'."\n". |
'<fieldset><legend>'.$lt{'minimal'}.'</legend>'; |
'<fieldset><legend>'.$lt{'minimal'}.'</legend>'; |
if ($minimal) { |
if ($minimal) { |
my ($absurl,$filename,$depbutton) = &syllabus_file_info($minimal,$cnum,$cdom,$lonhost,'minimal'); |
my ($absurl,$filename,$depbutton) = &syllabus_file_info($r,$minimal,$cnum,$cdom,$lonhost,'minimal'); |
$output .= '<a href="javascript:extUrlPreview('."'currminimal'".');">'.$lt{'pr'}.'</a>'. |
$output .= '<a href="javascript:extUrlPreview('."'currminimal'".');">'.$lt{'pr'}.'</a>'. |
'<input type="hidden" name="minimalfile" value="'.&HTML::Entities::encode($absurl).'?inhibitmenu=yes" id="currminimal" />'. |
'<input type="hidden" name="minimalfile" value="'.&HTML::Entities::encode($absurl).'?inhibitmenu=yes" id="currminimal" />'. |
$depbutton; |
$depbutton; |
Line 857 sub chooser {
|
Line 869 sub chooser {
|
'<div id="file" class="LC_left_float" style="display: '.$display{'file'}.'">'."\n". |
'<div id="file" class="LC_left_float" style="display: '.$display{'file'}.'">'."\n". |
'<fieldset><legend>'.$lt{'file'}.'</legend>'; |
'<fieldset><legend>'.$lt{'file'}.'</legend>'; |
if ($uploaded) { |
if ($uploaded) { |
my ($absurl,$filename,$depbutton) = &syllabus_file_info($uploaded,$cnum,$cdom,$lonhost,'file'); |
my ($absurl,$filename,$depbutton) = &syllabus_file_info($r,$uploaded,$cnum,$cdom,$lonhost,'file'); |
$output .= '<span class="LC_nobreak">'.$lt{'curr'}.' '. |
$output .= '<span class="LC_nobreak">'.$lt{'curr'}.' '. |
'<input type="hidden" name="uploadedfile" value="'.&HTML::Entities::encode($absurl).'?inhibitmenu=yes" id="currfile" />'. |
'<input type="hidden" name="uploadedfile" value="'.&HTML::Entities::encode($absurl).'?inhibitmenu=yes" id="currfile" />'. |
'<a href="javascript:extUrlPreview('."'currfile'".');">'.$filename.'</a></span>'.$depbutton. |
'<a href="javascript:extUrlPreview('."'currfile'".');">'.$filename.'</a></span>'.$depbutton. |
Line 892 sub chooser {
|
Line 904 sub chooser {
|
} |
} |
|
|
sub syllabus_file_info { |
sub syllabus_file_info { |
my ($item,$cnum,$cdom,$lonhost,$context) = @_; |
my ($r,$item,$cnum,$cdom,$lonhost,$context) = @_; |
|
my $hostname = &Apache::lonnet::hostname($lonhost); |
my $protocol = $Apache::lonnet::protocol{$lonhost}; |
my $protocol = $Apache::lonnet::protocol{$lonhost}; |
$protocol = 'http' if ($protocol ne 'https'); |
$protocol = 'http' if ($protocol ne 'https'); |
my $absurl = $protocol.'://'.&Apache::lonnet::hostname($lonhost).$item; |
my $alias = &Apache::lonnet::use_proxy_alias($r,$lonhost); |
|
$hostname = $alias if ($alias ne ''); |
|
my $absurl = $protocol.'://'.$hostname.$item; |
my ($filename) = ($item =~ m{([^/]+)$}); |
my ($filename) = ($item =~ m{([^/]+)$}); |
my $file=&Apache::lonnet::filelocation("",$item); |
my $file=&Apache::lonnet::filelocation("",$item); |
my ($depbutton,$filetype,$editable); |
my ($depbutton,$filetype,$editable); |
Line 1138 sub save_changes {
|
Line 1153 sub save_changes {
|
(ref($courseenv) eq 'HASH')) { |
(ref($courseenv) eq 'HASH')) { |
return ($earlyout,$uploaded,$external,$minimal,$output); |
return ($earlyout,$uploaded,$external,$minimal,$output); |
} |
} |
|
my ($was_ext,$is_ext,$putres); |
|
if ($external) { |
|
$was_ext = $external; |
|
} |
if (($env{'form.deleteuploaded_file'}) || ($env{'form.deleteuploaded_minimal'})) { |
if (($env{'form.deleteuploaded_file'}) || ($env{'form.deleteuploaded_minimal'})) { |
my %storehash; |
my %storehash; |
if (($env{'form.choice'} eq 'file') && |
if (($env{'form.choice'} eq 'file') && |
Line 1150 sub save_changes {
|
Line 1169 sub save_changes {
|
&Apache::lonnet::delenv('course.'.$env{'request.course.id'}.'.externalsyllabus'); |
&Apache::lonnet::delenv('course.'.$env{'request.course.id'}.'.externalsyllabus'); |
$storehash{'uploadedsyllabus'} = ''; |
$storehash{'uploadedsyllabus'} = ''; |
$storehash{'externalsyllabus'} = ''; |
$storehash{'externalsyllabus'} = ''; |
my $putres = &Apache::lonnet::put('environment',\%storehash,$cdom,$cnum); |
$putres = &Apache::lonnet::put('environment',\%storehash,$cdom,$cnum); |
undef($uploaded); |
undef($uploaded); |
undef($external); |
undef($external); |
} elsif (($env{'form.choice'} eq 'minimal') && |
} elsif (($env{'form.choice'} eq 'minimal') && |
Line 1170 sub save_changes {
|
Line 1189 sub save_changes {
|
&Apache::lonnet::delenv('course.'.$env{'request.course.id'}.'.minimalsyllabus'); |
&Apache::lonnet::delenv('course.'.$env{'request.course.id'}.'.minimalsyllabus'); |
$storehash{'externalsyllabus'} = ''; |
$storehash{'externalsyllabus'} = ''; |
$storehash{'minimalsyllabus'} = ''; |
$storehash{'minimalsyllabus'} = ''; |
my $putres = &Apache::lonnet::put('environment',\%storehash,$cdom,$cnum); |
$putres = &Apache::lonnet::put('environment',\%storehash,$cdom,$cnum); |
undef($external); |
undef($external); |
undef($minimal); |
undef($minimal); |
} |
} |
Line 1260 sub save_changes {
|
Line 1279 sub save_changes {
|
$syllabus->{'uploaded.domain'}=$env{'user.domain'}; |
$syllabus->{'uploaded.domain'}=$env{'user.domain'}; |
$syllabus->{'uploaded.name'}=$env{'user.name'}; |
$syllabus->{'uploaded.name'}=$env{'user.name'}; |
$syllabus->{'uploaded.lastmodified'} = $now; |
$syllabus->{'uploaded.lastmodified'} = $now; |
my $putres = &Apache::lonnet::put('syllabus',$syllabus,$cdom,$cnum); |
$putres = &Apache::lonnet::put('syllabus',$syllabus,$cdom,$cnum); |
if ($putres eq 'ok') { |
if ($putres eq 'ok') { |
($uploaded,$minimal,$external) = |
($uploaded,$minimal,$external) = |
&update_syllabus_env($cdom,$cnum,$courseenv,$env{'form.choice'},$uploaded, |
&update_syllabus_env($cdom,$cnum,$courseenv,$env{'form.choice'},$uploaded, |
Line 1285 sub save_changes {
|
Line 1304 sub save_changes {
|
} else { |
} else { |
$external=$env{'form.externalsyllabus'}; |
$external=$env{'form.externalsyllabus'}; |
$external =~ s/(`)//g; |
$external =~ s/(`)//g; |
my $putres = |
$putres = |
&Apache::lonnet::put('environment',{externalsyllabus=>$external}, |
&Apache::lonnet::put('environment',{externalsyllabus=>$external}, |
$cdom,$cnum); |
$cdom,$cnum); |
if ($putres eq 'ok') { |
if ($putres eq 'ok') { |
Line 1302 sub save_changes {
|
Line 1321 sub save_changes {
|
'</div>'; |
'</div>'; |
} |
} |
} |
} |
|
$is_ext = $external; |
} else { |
} else { |
$output = '<div class="LC_error">'. |
$output = '<div class="LC_error">'. |
&mt('External URL not saved -- invalid URL.'). |
&mt('External URL not saved -- invalid URL.'). |
Line 1347 sub save_changes {
|
Line 1367 sub save_changes {
|
} else { |
} else { |
$storehash{'externalsyllabus'} = '', |
$storehash{'externalsyllabus'} = '', |
} |
} |
my $putres = |
$putres = |
&Apache::lonnet::put('environment',\%storehash,$cdom,$cnum); |
&Apache::lonnet::put('environment',\%storehash,$cdom,$cnum); |
if ($putres eq 'ok') { |
if ($putres eq 'ok') { |
&Apache::lonnet::make_public_indefinitely($url); |
&Apache::lonnet::make_public_indefinitely($url); |
Line 1412 sub save_changes {
|
Line 1432 sub save_changes {
|
$output = $result.&return_to_editor($cdom,$cnum); |
$output = $result.&return_to_editor($cdom,$cnum); |
$earlyout = 1; |
$earlyout = 1; |
} |
} |
|
if ($putres eq 'ok') { |
|
if ((($is_ext) && ($is_ext ne $was_ext)) || ($was_ext)) { |
|
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
|
unless ($chome eq 'no_host') { |
|
my %crsinfo = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.',$cnum,undef,undef,'.'); |
|
if (ref($crsinfo{$cdom.'_'.$cnum}) eq 'HASH') { |
|
if ($external =~ m{^http://}) { |
|
$crsinfo{$cdom.'_'.$cnum}{'extsyllplain'} = 1; |
|
} elsif ($crsinfo{$cdom.'_'.$cnum}{'extsyllplain'}) { |
|
delete($crsinfo{$cdom.'_'.$cnum}{'extsyllplain'}); |
|
} |
|
&Apache::lonnet::courseidput($cdom,\%crsinfo,$chome,'notime'); |
|
} |
|
} |
|
} |
|
} |
return ($earlyout,$uploaded,$external,$minimal,$output); |
return ($earlyout,$uploaded,$external,$minimal,$output); |
} |
} |
|
|
Line 1547 sub home_http_host {
|
Line 1583 sub home_http_host {
|
my ($cdom,$cnum) = @_; |
my ($cdom,$cnum) = @_; |
my $home=&Apache::lonnet::homeserver($cnum,$cdom); |
my $home=&Apache::lonnet::homeserver($cnum,$cdom); |
if ($home ne 'no_host') { |
if ($home ne 'no_host') { |
|
my $hostname = &Apache::lonnet::hostname($home); |
my $protocol = $Apache::lonnet::protocol{$home}; |
my $protocol = $Apache::lonnet::protocol{$home}; |
$protocol = 'http' if ($protocol ne 'https'); |
$protocol = 'http' if ($protocol ne 'https'); |
return $protocol.'://'.&Apache::lonnet::hostname($home); |
return $protocol.'://'.$hostname; |
} |
} |
return; |
return; |
} |
} |
Line 1689 sub editbutton_js {
|
Line 1726 sub editbutton_js {
|
ENDJS |
ENDJS |
} |
} |
|
|
|
sub redirect_to_http { |
|
my ($r) = @_; |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
&Apache::loncommon::no_cache($r); |
|
$r->send_http_header; |
|
my $url = 'http://'.$r->hostname().$r->uri().'?usehttp=1'; |
|
$r->print(&Apache::loncommon::start_page(undef,undef, |
|
{'redirect' => [0,$url],}). |
|
&Apache::loncommon::end_page()); |
|
return; |
|
} |
|
|
1; |
1; |
__END__ |
__END__ |