Moderators permissions weird since RC1?

Started by sriedel, August 19, 2004, 05:09:19 PM

Previous topic - Next topic

sriedel

Hello there,

yesterday I updated our community board to RC1. Now one of my moderators reported a strange behaviour to me, I tried to reproduce it and had the same results:

Despite the fact that the user is moderator of a certain board, and he is denied to delete posts. But not in all cases, only if the thread is his own thread, means he started the thread. If he tries to delete replies from other users, he gets the error message "Sorry, but you cannot remove these posts, even though they are replies to your topic." If he tries to delete the first post in the thread (which is by himself) he gets the error message "You are not allowed to delete the first post in a topic. If you want to delete this topic, click on the Remove Topic link, or ask a moderator/administrator to do it for you." Both things worked just fine in the public beta 5 we ran before the RC1 update.

I reviewed all rights of all boards, everything looked fine to me. We have absolutly no "Deny" flags set in any board or any usergroup. Besides the moderator status, the user belongs to a standard primary group which has standard rights:

  • In the "Topics" section everything is "Disallowed" but "Post new topics", "Send topics to friends", "Lock topics: own", "Post replies to topics: own + any", which are all "Allowed"
  • In the "Posts" section everything is "Disallowed" but "Delete posts: own", "Modify posts: own" and "Report posts to the moderators", which are all "Allowed"

I consider this a bug, or at least a undocumented feature ;)  Can you help or at least enlighten me? Thanks in advance.


Greetings from Germany,
Stefan

[Unknown]

You have the option of allowing people to delete replies to, and only to, their own topics.  It is saying that this moderator does not have either that permission, or the permission to delete any posts.

You cannot delete the first post in a topic (even administrators cannot - no one can.)  If you really want to delete it, you can split the topic and delete the new topic it creates.

-[Unknown]

sriedel

Thanks for that reply, Unknown. But as I said before, I am not talking about the permission system in general: something has definitely changed since RC1, and it doesn't make sense to me.

Beta 5:
The user X could not delete posts (replies) of other users, no matter if he started the thread or not in boards he is no moderator of. But within a board he was a moderator of, he could delete any posts (replies) of other users, no matter if he started the thread or not.

RC1:
In boards he is no moderator of, everything is fine. In boards he is a mod, he can still delete posts (replies) of other users, but only if he did NOT start the thread. But if he started the thread, he suddenly cannot delete any posts in this thread, neither the first post nor replies.

This cannot be intentional. First of all he is a mod and should be allowed to do this with any post (reply) in any thread in the moderated board. Second, besides that moderator thing, it makes no sense that someone has lesser rights if he owns a thread than with a thread someone else started...

[Unknown]

Well, the moderator group is by no means as special as it was in YaBB SE.  In SMF, all permissions are assigned to it just like any other group - it's only special because people only get those permissions on boards they moderate.

The functionality, however, has changed such that it only allows post deletion if they have both permissions.  While you may be right that this is not the best way to go about it, you can fix it by giving him the ability to delete replies as well.

I'm not sure who changed it, but I had always designed it the other way, and I will be changing it back for RC2.

-[Unknown]

dschwab9

I had this exact same problem with RC1.  I ended up having to turn on "All" and "Own" under remove topics.  Should "All" include "Own" though?

[Unknown]

Who messed with this, I wonder?

* [Unknown] checks...

Aha!  I blame Grudge :P :P.

Anyhow, it's fixed now.

-[Unknown]

sriedel

Ah great, I was understood  ;D

If it is not too much trouble, could you please tell us how we can fix our installation, too?


Thanks in advance,

Stefan

[Unknown]

Find, RemoveTopic.php:
if ($starter == $ID_MEMBER && $poster != $ID_MEMBER)
{
isAllowedTo('remove_replies');
}
elseif ($poster == $ID_MEMBER)


Replace:
if ($starter == $ID_MEMBER && $poster != $ID_MEMBER)
{
if (!allowedTo('remove_any'))
isAllowedTo('remove_replies');
}
elseif ($poster == $ID_MEMBER && !allowedTo('remove_any'))


Find, same file:
if ($starter == $ID_MEMBER)

Make it:
if ($starter == $ID_MEMBER && !allowedTo('delete_any'))

-[Unknown]

sriedel

Thank you, Unknown. Now my moderators are happy again ;)

Advertisement: