--- loncom/interface/lonbulletin.pm 2012/11/08 22:01:00 1.64
+++ loncom/interface/lonbulletin.pm 2025/01/28 19:49:20 1.70
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Bulletin Board Handler
#
-# $Id: lonbulletin.pm,v 1.64 2012/11/08 22:01:00 raeburn Exp $
+# $Id: lonbulletin.pm,v 1.70 2025/01/28 19:49:20 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,9 +33,12 @@ use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::lonnet;
use Apache::lontexconvert;
-use Apache::lonfeedback;
+use Apache::lonfeedback;
+use Apache::lonhtmlgateway;
use Apache::lonlocal;
use Apache::lonhtmlcommon;
+use Apache::longroup;
+use Apache::lonnavmaps;
use HTML::Entities();
use LONCAPA;
@@ -78,7 +81,7 @@ sub handler {
# ------------------------------------------------------------ Get Query String
&Apache::loncommon::get_unprocessed_cgi
- ($ENV{'QUERY_STRING'},['forceedit','register',
+ ($ENV{'QUERY_STRING'},['forceedit','register','todocs',
'origpage','group','ref']);
# ----------------------------------------------------- Force menu registration
my %addentries;
@@ -131,7 +134,11 @@ sub handler {
} else {
$course_or_group="Group";
}
+ my $registered;
if ($group ne '' && $env{'form.group'} eq $group) {
+ unless ($env{'form.ref'} eq 'grouplist') {
+ $registered = $env{'form.register'};
+ }
my $gpterm = &Apache::loncommon::group_term();
my $ucgpterm = $gpterm;
$ucgpterm =~ s/^(\w)/uc($1)/e;
@@ -141,11 +148,17 @@ sub handler {
if ((ref($groupboards) eq 'ARRAY') && (@{$groupboards} > 0)) {
$boardtitle = $$boards{$$groupboards[0]}{'title'};
}
- $boardurl .= '?register=1&group='.$group;
- $brcrum =
- &groupboard_breadcrumbs($dom,$crs,$group,$refarg,$gpterm,
- $ucgpterm,$grp_desc,$boardurl,$boardtitle);
+ $boardurl .= '?group='.$group;
+ if ($registered) {
+ $boardurl .= '®ister='.$env{'form.register'};
+ } else {
+ $brcrum =
+ &groupboard_breadcrumbs($dom,$crs,$group,$refarg,$gpterm,
+ $ucgpterm,$grp_desc,$boardurl,
+ $boardtitle);
+ }
} else {
+ $registered = $env{'form.register'};
$brcrum = [];
}
my $start_page =
@@ -154,8 +167,8 @@ sub handler {
'domain' => $dom,
'bread_crumbs' => $brcrum,
'group' => $group,
- 'force_register' =>
- $env{'form.register'}});
+ 'force_register' => $registered}
+ );
$r->print($start_page);
}
my ($allowed);
@@ -201,8 +214,9 @@ sub handler {
if (($allowed) && ($env{'form.storesyl'})) {
foreach my $syl_field (keys(%syllabusfields)) {
my $field=$env{'form.'.$syl_field};
- $field=~s/\s+$//s;
- $field=&Apache::lonfeedback::clear_out_html($field,1);
+ chomp($field);
+ my $gateway = Apache::lonhtmlgateway->new();
+ $field = $gateway->process_incoming_html($field,1);
$syllabus{$syl_field}=$field;
}
$syllabus{'uploaded.lastmodified'}=time;
@@ -225,7 +239,8 @@ sub handler {
$r->print($titletext);
$r->print("