--- loncom/interface/lonsimplepage.pm 2013/03/11 02:04:36 1.102
+++ 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.102 2013/03/11 02:04:36 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;
@@ -188,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 {
@@ -207,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());
@@ -259,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;
@@ -299,7 +298,8 @@ sub handler {
$r->print($titletext);
$r->print("
");
&Apache::lontemplate::print_textarea_template($r, $syllabus{'aaa_title'},
- 'aaa_title', Apache::lontemplate->RICH_TEXT_ALWAYS_OFF);
+ 'aaa_title', $syllabusfields{'aaa_title'},
+ Apache::lontemplate->RICH_TEXT_ALWAYS_OFF);
&Apache::lontemplate::print_saveall_template($r);
$r->print("
");
&Apache::lontemplate::print_end_template($r);
@@ -351,7 +351,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('
');
}
};
@@ -370,7 +371,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') {
@@ -388,79 +389,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 = '';
- } else {
- $output = &Apache::loncommon::start_data_table();
- }
- foreach my $tool (@available) {
- if ($target eq 'tex') {
- $output .= ''.&mt($menu{$tool}{text}).' |
';
- } else {
- $output .= &Apache::loncommon::start_data_table_row()
- .''
- .&mt($menu{$tool}{text}).' | '
- .&Apache::loncommon::end_data_table_row();
- }
- }
- if ($target eq 'tex') {
- $output .= '
';
- } else {
- $output .= &Apache::loncommon::end_data_table();
- }
- if ($target eq 'tex') {
- $r->print(&Apache::lonxml::xmlparse($r,'tex',&mt('Available functions').'
'.$output));
- } else {
- $r->print(''.&mt('Available Group Tools').'
'.$output);
- }
- } else {
- my $output;
- if ($context eq 'edit') {
- $output = &mt('No group functionality.');
- } else {
- $output = &mt('No group functionality (e.g., e-mail, discussion, chat room or file upload) is currently available to you in this group: [_1].',''.&unescape($groupinfo{'description'}).'');
- }
- if ($target eq 'tex') {
- $r->print(&Apache::lonxml::xmlparse($r,'tex',$output));
- } else {
- $r->print($output);
- }
- }
-}
-
sub grouppage_breadcrumbs {
my ($cdom,$cnum,$group,$description) = @_;
&Apache::lonhtmlcommon::clear_breadcrumbs();
@@ -468,8 +396,9 @@ sub grouppage_breadcrumbs {
text=>"Groups",
title=>"Display Groups"},
{href=>"/adm/$cdom/$cnum/$group/smppg?ref=grouplist",
- text=>&mt('Group:')." $description",
- title=>"Go to group's home page"},
+ text=>&mt('Group').": $description",
+ title=>&mt("Go to group's home page"),
+ no_mt=>1},
];
}