[Fusionforge-commits] r14732 - in trunk: . src/common/forum src/common/include src/utils/fixscripts src/www/forum
Roland Mas
lolando at fusionforge.org
Wed Oct 26 16:03:41 CEST 2011
Author: lolando
Date: 2011-10-26 16:03:41 +0200 (Wed, 26 Oct 2011)
New Revision: 14732
Modified:
trunk/
trunk/src/common/forum/ForumAdmin.class.php
trunk/src/common/forum/ForumHTML.class.php
trunk/src/common/include/Group.class.php
trunk/src/utils/fixscripts/populate_template_project.php
trunk/src/www/forum/new.php
Log:
Fixed implementation of forum permissions
Modified: trunk/src/common/forum/ForumAdmin.class.php
===================================================================
--- trunk/src/common/forum/ForumAdmin.class.php 2011-10-26 14:03:31 UTC (rev 14731)
+++ trunk/src/common/forum/ForumAdmin.class.php 2011-10-26 14:03:41 UTC (rev 14732)
@@ -159,9 +159,6 @@
$forum_name = getStringFromRequest('forum_name');
$description = getStringFromRequest('description');
$send_all_posts_to = getStringFromRequest('send_all_posts_to');
- $allow_anonymous = getIntFromRequest('allow_anonymous');
- $is_public = getIntFromRequest('is_public');
- $moderation_level = getIntFromRequest('moderation_level');
$group_forum_id = getIntFromRequest('group_forum_id');
/*
Change a forum
@@ -175,7 +172,7 @@
session_require_perm ('forum_admin', $f->Group->getID()) ;
- if (!$f->update($forum_name,$description,$allow_anonymous,$is_public,$send_all_posts_to,$moderation_level)) {
+ if (!$f->update($forum_name,$description,0,0,$send_all_posts_to,0)) {
exit_error($f->getErrorMessage(),'forums');
} else {
$feedback = _('Forum Info Updated Successfully');
@@ -185,10 +182,7 @@
if ($action == "add_forum") { //add forum
$forum_name = getStringFromRequest('forum_name');
$description = getStringFromRequest('description');
- $is_public = getStringFromRequest('is_public');
$send_all_posts_to = getStringFromRequest('send_all_posts_to');
- $allow_anonymous = getStringFromRequest('allow_anonymous');
- $moderation_level = getIntFromRequest('moderation_level');
/*
Adding forums to this group
*/
@@ -204,7 +198,7 @@
form_release_key(getStringFromRequest("form_key"));
exit_error($f->getErrorMessage(),'forums');
}
- if (!$f->create($forum_name,$description,$is_public,$send_all_posts_to,1,$allow_anonymous,$moderation_level)) {
+ if (!$f->create($forum_name,$description,0,$send_all_posts_to,1,0,0)) {
form_release_key(getStringFromRequest("form_key"));
exit_error($f->getErrorMessage(),'forums');
} else {
Modified: trunk/src/common/forum/ForumHTML.class.php
===================================================================
--- trunk/src/common/forum/ForumHTML.class.php 2011-10-26 14:03:31 UTC (rev 14731)
+++ trunk/src/common/forum/ForumHTML.class.php 2011-10-26 14:03:41 UTC (rev 14732)
@@ -552,6 +552,7 @@
$body = '';
+ $rl = RoleLoggedIn::getInstance() ;
if (forge_check_perm ('forum', $this->Forum->getID(), 'post')) {
if ($subject) {
//if this is a followup, put a RE: before it if needed
@@ -614,7 +615,7 @@
</div>
<?php
-} elseif ($this->Forum->allowAnonymous()) {
+} elseif ($rl->hasPermission('forum', $this->Forum->getID(), 'post')) {
echo '<span class="error">';
printf(_('You could post if you were <a href="%1$s">logged in</a>.'), util_make_url ('/account/login.php?return_to='.urlencode(getStringFromServer('REQUEST_URI'))));
echo '</span>';
Modified: trunk/src/common/include/Group.class.php
===================================================================
--- trunk/src/common/include/Group.class.php 2011-10-26 14:03:31 UTC (rev 14731)
+++ trunk/src/common/include/Group.class.php 2011-10-26 14:03:41 UTC (rev 14732)
@@ -2273,7 +2273,7 @@
$oldff = new ForumFactory($template) ;
foreach ($oldff->getForums() as $o) {
$f = new Forum($this);
- $f->create($this->replaceTemplateStrings($o->getName()),$this->replaceTemplateStrings($o->getDescription()),$o->isPublic(),$o->getSendAllPostsTo(),1,$o->allowAnonymous(),$o->getModerationLevel());
+ $f->create($this->replaceTemplateStrings($o->getName()),$this->replaceTemplateStrings($o->getDescription()),0,$o->getSendAllPostsTo(),1,0,0);
$id_mappings['forum'][$o->getID()] = $f->getID();
}
}
Modified: trunk/src/utils/fixscripts/populate_template_project.php
===================================================================
--- trunk/src/utils/fixscripts/populate_template_project.php 2011-10-26 14:03:31 UTC (rev 14731)
+++ trunk/src/utils/fixscripts/populate_template_project.php 2011-10-26 14:03:41 UTC (rev 14732)
@@ -70,23 +70,23 @@
}
if (forge_get_config ('use_forum')) {
- $f = new Forum($project);
- if (!$f->create(_('Open-Discussion'),_('General Discussion'),1,'',1,0)) {
- $project->setError(sprintf (_('F%d: %s'), 1, $f->getErrorMessage()));
+ $f1 = new Forum($project);
+ if (!$f1->create(_('Open-Discussion'),_('General Discussion'),1,'',1,0)) {
+ $project->setError(sprintf (_('F%d: %s'), 1, $f1->getErrorMessage()));
db_rollback();
setup_gettext_from_context();
return false;
}
- $f = new Forum($project);
- if (!$f->create(_('Help'),_('Get Public Help'),1,'',1,0)) {
- $project->setError(sprintf (_('F%d: %s'), 2, $f->getErrorMessage()));
+ $f2 = new Forum($project);
+ if (!$f2->create(_('Help'),_('Get Public Help'),1,'',1,0)) {
+ $project->setError(sprintf (_('F%d: %s'), 2, $f2->getErrorMessage()));
db_rollback();
setup_gettext_from_context();
return false;
}
- $f = new Forum($project);
- if (!$f->create(_('Developers-Discussion'),_('Project Developer Discussion'),0,'',1,0)) {
- $project->setError(sprintf (_('F%d: %s'), 3, $f->getErrorMessage()));
+ $f3 = new Forum($project);
+ if (!$f3->create(_('Developers-Discussion'),_('Project Developer Discussion'),0,'',1,0)) {
+ $project->setError(sprintf (_('F%d: %s'), 3, $f3->getErrorMessage()));
db_rollback();
setup_gettext_from_context();
return false;
@@ -144,27 +144,12 @@
$ra->setSetting ('docman', $project->getID(), 1) ;
$rl->setSetting ('docman', $project->getID(), 1) ;
- $ff = new ForumFactory ($project) ;
- foreach ($ff->getAllForumIds() as $fid) {
- $f = forum_get_object ($fid) ;
- if ($f->isPublic()) {
- $l = $f->getModerationLevel() ;
- if ($l == 0) {
- $rl->setSetting ('forum', $fid, 3) ;
- } else {
- $rl->setSetting ('forum', $fid, 2) ;
- }
- if ($f->allowAnonymous()) {
- if ($l == 0) {
- $ra->setSetting ('forum', $fid, 3) ;
- } else {
- $ra->setSetting ('forum', $fid, 2) ;
- }
- } else {
- $ra->setSetting ('forum', $fid, 1) ;
- }
- }
- }
+ $ra->setSetting ('forum', $f1->getID(), 3) ;
+ $rl->setSetting ('forum', $f1->getID(), 3) ;
+
+ $ra->setSetting ('forum', $f2->getID(), 3) ;
+ $rl->setSetting ('forum', $f2->getID(), 3) ;
+
$pgf = new ProjectGroupFactory ($project) ;
foreach ($pgf->getAllProjectGroupIds() as $pgid) {
$pg = projectgroup_get_object ($pgid) ;
Modified: trunk/src/www/forum/new.php
===================================================================
--- trunk/src/www/forum/new.php 2011-10-26 14:03:31 UTC (rev 14731)
+++ trunk/src/www/forum/new.php 2011-10-26 14:03:41 UTC (rev 14732)
@@ -57,8 +57,8 @@
exit_error($fh->getErrorMessage(),'forums');
}
- if (session_loggedin() || $f->allowAnonymous()) {
- if (!$f->allowAnonymous() && !$f->savePlace()) {
+ if (forge_check_perm('forum', $f->getID(), 'post')) {
+ if (session_loggedin() && !$f->savePlace()) {
exit_error($f->getErrorMessage(),'forums');
} else {
forum_header(array('title'=> _('Start New Thread for: ') . $f->getName(),'forum_id'=>$forum_id));
More information about the Fusionforge-commits
mailing list