Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
Mark all topics read
Hi, I am wondering if there is a way to include a button (perhaps in the Account page) that allows members to mark all topics as read? This is because after I ported a phpBB install to Vanilla all of the old topics appear as being new.
0
This discussion has been closed.
Comments
the relevant search
I am just not familiar with the table structure at this point to know if it can (efficiently) be done.
I poked a bit through the table structure, but now I need to dig a bit more through the code to see if what I am thinking of would work in the query.
- Superficial mark all read: changes the discussions' status (and thus the >LI< class) for all discussions older than the 'MarkedAllRead' time to read. Still shows accurate number of user's unread posts in the grid
- SQL monkeying: Tweak the SQL statement to show zero new posts if there are none new since the 'MarkedAllRead' time, but still jump to the actual first unread message in the thread
I would prefer the first option, but that would require both changing the discussion's SQL and changing/overloading the way the discussion class' status property is calculated (change to number of posts since date, instead of presence of new posts)I think the discussion's SQL can be best changed with the preGetDiscussionsList delegate, but I am not sure how to change the discussion class... I suppose it could be recalculated in the theme file, but that just feels wrong. Is this a place for a delegate?
Any tips? This would be my first time delving into OO in php, as well as extension writing.