Fetching the counts of unread posts should only include unread regular
posts or unread private reply posts directed to the user unless the user
has the capability to read private replies.
In order to retrieve the correct counts, we also need to loop through
each forum instance in the course to check the capability of the user to
read private replies in each forum.
This class would belong more appropriately within the 'user' API
(core_user) instead of within the 'core' API, since it is
directly related to user data.
Since the class has only just been added to Moodle, now is a good
time to move it.
In all cases changes have been kept to a minimum while not making
the code completely horrible. For example, there are many instances
where it would probably be better to rewrite a query entirely, but
I have not done that (in order to reduce the risk of changes).
Plus additional amendments to Fred's original commit:
1. Updating the version numbers
2. Merging the original two-step upgrade below into one for simplicity:
1. Deleting the pictures for groups with hidepicture set to 1; and
2. Dropping the hidepicture field itself.
3. Converted array() usages to the short syntax [].
Use \mod_forum\local\managers\capability::can_view_post() to
consistently determine whether a forum post will be rendered in the
recent activity block.
This helps the recent activity block to provide a more consistent
behaviour with the forum's discussion view itself.
The chunk size used by the existing post word/char count calculation
ad-hoc task can now be set as a $CFG parameter. Also improved the way
the ad-hoc task is re-queued and tidied up some redundant code.
The adhoc task run during upgrade will now be requeued until no more
word/char counts require updating. Previously it was only run once,
so only the first 5000 posts would be updated.
Charcount logic is now consistent with wordcount in the post exporter.
Counts update now called in forum_udpate_instance since it is updating
the data.
Instead of fetching the DB record AND then fetching it again (as
part of the vault->get_from_id() call, just use the legacy data
mapper and remove the DB call.
* Remove striped table row style
* Move subscribe icon to the action menu
* Update the action menu icon
* Remove the Last post column
* Removed the "Created" column and moved the date under "Started by"
* Added "Locked" and "Subscribed" indicators under discussion names.
* Added group name with the group picture. For groups without pictures,
a default placeholder picture is now shown.
Apart from deprecating forum_print_overview, the following method
has been also deprecated because it's not used anymore:
- forum_filter_user_groups_discussions