--- loncom/interface/lonsimplepage.pm 2006/05/18 17:12:58 1.41
+++ loncom/interface/lonsimplepage.pm 2006/07/07 21:25:02 1.43
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Simple Page Editor
#
-# $Id: lonsimplepage.pm,v 1.41 2006/05/18 17:12:58 albertel Exp $
+# $Id: lonsimplepage.pm,v 1.43 2006/07/07 21:25:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -49,7 +49,7 @@ sub handler {
if ($target eq 'tex') {
$r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}));
}
- my (undef,undef,undef,undef,$marker,$caller)=split(/\//,$r->uri);
+ my (undef,undef,$udom,$uname,$marker,$caller)=split(/\//,$r->uri);
# Is this even in a course?
unless ($env{'request.course.id'}) {
if ($target ne 'tex') {
@@ -65,20 +65,22 @@ sub handler {
my $grp_view_permission = &Apache::lonnet::allowed('vcg',
$env{'request.course.id'});
my $namespace;
+ my $group;
my %curr_group = ();
my %groupinfo = ();
- if ($caller eq 'grppg') {
+ if ($dom && $crs && ($udom eq $dom) && ($uname eq $crs)) {
$marker =~ s/\W//g;
- $namespace = 'grppage_'.$marker;
- my %curr_groups = &Apache::longroup::coursegroups($dom,$crs,$marker);
+ $group = $marker;
+ my %curr_groups = &Apache::longroup::coursegroups($dom,$crs,$group);
if (!%curr_groups) {
&Apache::loncommon::simple_error_page($r,'','Invalid group name');
return OK;
}
%groupinfo =
- &Apache::longroup::get_group_settings($curr_groups{$marker});
- } else {
+ &Apache::longroup::get_group_settings($curr_groups{$group});
+ $namespace = 'grppage_'.$group;
+ } else {
$marker=~s/\D//g;
$namespace = 'smppage_'.$marker;
}
@@ -93,7 +95,7 @@ sub handler {
'aaa_title' => 'Page Title',
'bbb_content' => 'Content',
'ccc_webreferences' => 'Web References');
- if ($caller eq 'grppg') {
+ if ($group ne '') {
$syllabusfields{'abb_links'} = &mt('Functionality');
}
@@ -114,7 +116,7 @@ sub handler {
if ($target ne 'tex') {
my $title = 'Course Page';
- if ($caller eq 'grppg') {
+ if ($group ne '') {
$title = 'Group Page';
}
my $start_page =
@@ -126,11 +128,13 @@ sub handler {
$r->print($start_page);
}
- if ($caller eq 'grppg') {
+ if ($group ne '') {
if (($grp_view_permission) ||
(&Apache::longroup::check_group_access($caller))) {
- unless(&Apache::lonnet::allowed('vgh',
- $env{'request.course.id'}.'/'.$marker)) {
+ if ((!&Apache::lonnet::allowed('vgh',
+ $env{'request.course.id'}.'/'.$marker))
+ && (!&Apache::lonnet::allowed('mdg',
+ $env{'request.course.id'}.'/'.$marker))) {
&display_group_links($r,$target,$marker,'view',%groupinfo);
return OK;
}
@@ -148,9 +152,9 @@ sub handler {
}
my $allowed;
- if ($caller eq 'grppg') {
- $allowed = $grp_view_permission;
- unless ($allowed) {
+ if ($group ne '') {
+ $allowed = &Apache::lonnet::allowed('mdg',$env{'request.course.id'});
+ if (!$allowed) {
$allowed = &Apache::lonnet::allowed('mgh',$env{'request.course.id'}.
'/'.$marker);
}
@@ -234,7 +238,7 @@ sub handler {
$message=&Apache::lonspeller::markeduptext($message);
}
$message=&Apache::lontexconvert::msgtexconverted($message);
- if ($_ eq 'abb_links' && $caller eq 'grppg') {
+ if ($_ eq 'abb_links' && $group ne '') {
$r->print('
');
&display_group_links($r,$target,$marker,'edit',%groupinfo);