[AddonsLab] Post Limit Per Node

xF2 Add-on [AddonsLab] Post Limit Per Node 2.7.0

No permission to download
This version introduces a new option, that enables cross-category check for user threads and posts.

If this option enabled, only a given number of threads/posts will be allowed across all categories defined in the option "Category-based check ID list". If disabled (the default), the limitation will apply to each category separately.
This version fixes a bug with post submission always causing a redirect to the latest post instead of showing the post immediately, as per XenForo default behavior.

The reason the redirect was implemented was to show users, that they have hit their limit on number of posts, and the redirect was meant to be executed only when users hit their limit. It was, however, redirect in all cases, even if users have permission to post without any limitations. With this update, we kept the redirect but only for the case, when user hits their limit with the submission of the current post, so we redirect them to that post to make it clear to the user, that they can't submit another reply again.
This version fixes a bug on XenForo 2.2 which would result in search forums not working with category-based check option

Thank you!
This release implements the following enhancements:
  1. New option - Category based check. Works the same as Node-based check, but checks for the category ID of a thread. This way you can put a category-wide limit, e.g. 10 posts across all forums of a category.
  2. Improved check for existing post count. Previously, all post from the user would be counted, even if they made multiple posts being the author of a thread or already having posted in a thread. From now on, these posts will count only as 1 towards their limit. Also, if the current node is not in the node-based or category-based list, only the posts made out of these categories will be considered (previously all posts across the board would be counted).
This is a bug-fix release, which fixes a PHP error that could happen when used with some third-party add-ons.
Implemented custom error messages for the case of Unlimited value of "Time limit for unlimited threads/posts (in hours)" permission. The phrases can be customized using phase IDs alpl_can_create_x_posts_only and alpl_can_create_x_threads_only.

Feel free to suggest further enhancements for the add-on or report any issues you have and they will be addressed asap.

Please consider posting a review if you are using the add-on and let us and other users know how it works for you.

Thank you!
We have changed the error message for the case when the user does not have permission to create a thread. The message can be customized using the phrase "alpl_limit_hit_message_thread".
This version implements a usability fix by redirecting users to the latest post when they make the last post they are allowed based on the current limits. Instead of appearing on the page via AJAX and keeping the quick reply form, the page will now redirect to the latest post and the usual message about the limit will be visible instead of the quick reply form. In case a user reaches the Advanced reply form directly (e.g. via a direct link) they will see the phrase "You have hit the limit on the number of replies you are allowed to post." instead of a generic error message shown before.

Thank you!
With this option, you can exclude closed thread from counting in a specific forum. Forum-based filters should be a comma-separated list of forum IDs. All forum IDs should be specified, child node IDs are not included automatically.

Another option allows excluding soft deleted posts and threads from counting.
In this version, we have implemented a new permission - Skip limit check if already posted in the thread. When the permission is enabled users will be able to post a reply in a thread without any further limitations if they already have a post in that thread.

The permission is per-usergroup and per-node, so it can be customized for an entire usergroup or for some specific nodes only. By default it is disabled and product's behavior is the same as with 2.0.x version.