Hey, just wanted to say that we absolutely love RoleScoper! It's a fantastic solution that's solved (or made great strides towards solving) what happens to be (in my humble opinion) one of WordPress's greatest failings.
I've spent the past few months building a custom WordPress plugin for a client, that will serve as the back-end event editor for a Mobile App run off the iPhone and Android devices. We used EventCalendar3 initially, but are moving away from that presently towards an internalized solution. One thing that we needed to ensure was that our users (companies/individuals that want to publish events to our app, not end-users) could only post or view in their own assigned category/categories.
To simplify the user experience, we integrated post/event creation and modification into a custom WordPress theme. RoleScoper has been fantastic with how it plugs in to the current_user_can if-checks for whether the logged in user can edit_post (specified post #).
My question is this: Is there a function internal to RoleScoper, or integration with current_user_can, that would permit the following if-checks:
- Can the current user view items [drafts/posts] in category # ((X))
- Can the current user manage category # ((X))
- Can the current user create a new draft in category # ((X))
- Can the current user modify draft post # ((X))
- Can the current user publish draft post # ((X))
- Can the current user modify published post # ((X))
I think that's it … the WP current_user_can function is rather badly documented from what I've found so far, so I've been bumbling my way through as best I can, but figured I'd best turn to the person who definitely knows what they're talking about on this.
One other minor thing … we're using Categories to bulk-import and arrange things, with the number of categories easily reaching into the thousands. I've found that I can just comment the function calls to ScoperAdminBulkLib::taxonomy_scroll_links in the source code of both section_restrictions.php and section_roles.php — but any time I upgrade the plugin, that just gets overridden. Perhaps that could be toggle-able via the control panel? I realize it'll only be useful to a vast minority of users, and would be an unnecessary complication, but it was just something that had occurred to me.
Thanks again for all your fantastic work on this plugin, and if I can ever lend a second pair of eyes at some code (ZOMG I FORGOT A FREAKING SEMICOLON AND WASTED HOW MANY HOURS TRYING TO FIND IT WHAT?!?!!) let me know and I'd be glad to help out.