--- loncom/interface/lonsimplepage.pm 2012/11/17 00:05:50 1.100
+++ loncom/interface/lonsimplepage.pm 2025/01/28 19:49:20 1.108
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Simple Page Editor
#
-# $Id: lonsimplepage.pm,v 1.100 2012/11/17 00:05:50 raeburn Exp $
+# $Id: lonsimplepage.pm,v 1.108 2025/01/28 19:49:20 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,8 +33,7 @@ use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::lontemplate;
use Apache::lonnet;
-use Apache::lontexconvert;
-use Apache::lonfeedback;
+use Apache::lonhtmlgateway;
use Apache::lonlocal;
use Apache::lonprintout;
use Apache::lonxml;
@@ -44,14 +43,18 @@ use HTML::Entities();
use LONCAPA;
sub get_db_name {
- my ($url) = @_;
- my ($udom,$uname,$marker)=(split(m{/},$url))[2,3,4];
- my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
- my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
-
+ my ($url,$marker,$cdom,$cnum) = @_;
+ my ($udom,$uname,$timemark)=(split(m{/},$url))[2,3,4];
+ if ($marker eq '') {
+ $marker = $timemark;
+ }
+ if (($cdom eq '') || ($cnum eq '')) {
+ $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ }
my $db_name;
- if ($dom && $crs && ($udom eq $dom) && ($uname eq $crs)) {
+ if ($cdom && $cnum && ($udom eq $cdom) && ($uname eq $cnum)) {
$marker =~ s/\W//g;
$db_name = 'grppage_'.$marker;
} else {
@@ -59,7 +62,6 @@ sub get_db_name {
$db_name = 'smppage_'.$marker;
}
return if (!defined($marker));
-
return $db_name;
}
@@ -84,7 +86,8 @@ sub handler {
return OK;
}
- my $db_name = &get_db_name($r->uri);
+ my $marker = (split(m{/},$r->uri))[4];
+ my $db_name = &get_db_name($r->uri,$marker);
my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
@@ -93,7 +96,7 @@ sub handler {
my %curr_group = ();
my %groupinfo = ();
if ($db_name =~ /^grppage_/) {
- $group = (split(m{/},$r->uri))[4];
+ $group = $marker;
$group =~ s/\W//g;
my %curr_groups = &Apache::longroup::coursegroups($dom,$crs,$group);
if (!%curr_groups) {
@@ -122,7 +125,7 @@ sub handler {
# ------------------------------------------------------------ Get query string
&Apache::loncommon::get_unprocessed_cgi
- ($ENV{'QUERY_STRING'},['forceedit',
+ ($ENV{'QUERY_STRING'},['forceedit','todocs',
'register','ref']);
# --------------------------------------------------------------- Force Student
my ($forceedit,$forcestudent);
@@ -184,7 +187,8 @@ sub handler {
if ($has_group_access) {
if ((!$group_home_edit) && (!$group_home_view) &&
(!$group_view_perm) && (!$group_edit_perm)) {
- &display_group_links($r,$target,$group,'view',$refarg,%groupinfo);
+ $r->print(&Apache::longroup::display_group_links($r,$env{'form.grade_target'},$group,
+ 'view',$refarg,undef,undef,%groupinfo));
if ($env{'form.grade_target'} ne 'tex') {
$r->print(&Apache::loncommon::end_page());
} else {
@@ -203,8 +207,9 @@ sub handler {
}
return OK;
}
+ my $clientip = &Apache::lonnet::get_requestor_ip($r);
my ($blocked,$blocktext) =
- &Apache::loncommon::blocking_status('groups');
+ &Apache::loncommon::blocking_status('groups',$clientip);
if ($blocked) {
$r->print($blocktext);
$r->print(&Apache::loncommon::end_page());
@@ -233,10 +238,12 @@ sub handler {
}
if ($group ne '') {
$syllabus{'uploaded.photourl'}=&Apache::lonnet::userfileupload(
- 'uploaddoc','coursedoc',"grouppage/$group");
+ 'uploaddoc','coursedoc',
+ "grouppage/$group");
} else {
$syllabus{'uploaded.photourl'}=
- &Apache::lonnet::userfileupload('uploaddoc','coursedoc','simplepage');
+ &Apache::lonnet::userfileupload('uploaddoc','coursedoc',
+ "simplepage/$marker");
}
}
$syllabus{'uploaded.lastmodified'}=time;
@@ -253,10 +260,8 @@ sub handler {
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);
+ my $gateway = Apache::lonhtmlgateway->new();
+ $field = $gateway->process_incoming_html($field,1);
$syllabus{$syl_field}=$field;
}
$syllabus{'uploaded.lastmodified'}=time;
@@ -293,7 +298,8 @@ sub handler {
$r->print($titletext);
$r->print("
'.&mt($menu{$tool}{text}).' | ' - .&mt($menu{$tool}{text}).' | ' - .&Apache::loncommon::end_data_table_row(); - } - } - if ($target eq 'tex') { - $output .= '