--- loncom/interface/lonsimplepage.pm 2012/11/17 00:05:50 1.100
+++ loncom/interface/lonsimplepage.pm 2016/02/26 21:44:39 1.104
@@ -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.104 2016/02/26 21:44:39 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 {
@@ -233,10 +237,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 +259,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;
@@ -345,7 +349,8 @@ sub handler {
my %fields = %{$fields_ref};
$r->print('
');
- &display_group_links($r, $target, $group, 'edit', $refarg, %groupinfo);
+ $r->print(&Apache::longroup::display_group_links($r,$target,$group,'edit',
+ $refarg,undef,undef,%groupinfo));
$r->print('
');
}
};
@@ -364,7 +369,7 @@ sub handler {
} else {
if ($group ne '') {
- &display_group_links($r,$target,$group,'view',$refarg,%groupinfo);
+ $r->print(&Apache::longroup::display_group_links($r,$target,$group,'view',$refarg,undef,undef,%groupinfo));
} else {
my $text=&mt('No page information provided.');
if ($target ne 'tex') {
@@ -382,79 +387,6 @@ sub handler {
return OK;
}
-sub display_group_links {
- my ($r,$target,$group,$context,$refarg,%groupinfo) = @_;
- my @available = ();
- my %menu = ();
- %{$menu{'email'}} = (
- text => 'Group Message',
- href => '/adm/email?compose=group&group='.$group.
- $refarg,
- );
- %{$menu{'discussion'}} = (
- text => 'Discussion Boards',
- href => '/adm/groupboards?group='.$group.$refarg,
- );
- %{$menu{'chat'}} = (
- text => 'Group Chat Room',
- href => "javascript:group_chat('$group')",
- );
- %{$menu{'files'}} = (
- text => 'Group Portfolio',
- href => '/adm/coursegrp_portfolio?group='.$group.
- $refarg,
- );
- %{$menu{'roster'}} = (
- text => 'Membership Roster',
- href => '/adm/grouproster?group='.$group.$refarg,
- );
- foreach my $tool (sort(keys(%menu))) {
- if ($groupinfo{functions}{$tool} eq 'on') {
- push(@available,$tool);
- }
- }
- if (@available > 0) {
- my $output = '';
- if ($target eq 'tex') {
- $output = '
'.&mt($menu{$tool}{text}).' | ' - .&mt($menu{$tool}{text}).' | ' - .&Apache::loncommon::end_data_table_row(); - } - } - if ($target eq 'tex') { - $output .= '