The normal way to add a css file to some set of pages is to add an entry in the db and let getCSS do the work. tagbar.js, though is required in exactly the same places as firehose.css, so instead of adding an additional GET, we use the glob mechanism to add tagbar.css right into firehose.css. This is my initial implementation of the css, and it seems too complicated, hopefully Wes will be able to slim it down. In the meanwhile, I have to have _something_, so here it is. We really should glob more of our css.
Most of the functionality is bundled together in tbar_fns. The function tag_bar creates a new dom object for the bar and extends it with the contents of tbar_fns. Afterwards, tag bar operations are called directly on the dom object representing the tag bar. This code is not yet included in all.js or any of the html headers.
…ys, and strings
…file of their own
This reverts commit b0d894b. It's not necessary to make this change for all sites. Instead I committed a Slashdot-specific change.
Temporarily disable credit-card subscription button. This should only affect Slashdot
Fix some longstanding bugs, including being unable to post in a D2 discussion where you've moderated (which included finding a bug leftover from the jQuery switch), moving call to _can_mod code out to comments.pl (where it is only used for D1, not D2, since D2 uses reskeys instead), making the modpoints_always code actually work, and other related fixes. In the process, I also finally merged Moderation and TagModeration. Moderation must now be installed for TagModeration to work (which shouldn't be a problem for anyone). TagModeration inherits every "public" method from Moderation.
The tagbox's feederlog can get clogged with a lot of small changes that never (or slowly) reach a threshold to merit any recalculation. This change adds three vars that, by default, force the tagbox task to spend a few hours each night doing "deeper" processing into that queue. This will make tagboxes' changes happen a little further away from real-time during that overnight period, but they will run more efficiently with a smaller table during the day.
Returning thousands of rows only to count them with scalar() is, it turns out, not the most efficient way of counting.
Compress::Zlib now dies on wide characters. Presumably it has a good reason. We don't anticipate tons of wide characters, so we just convert them all to _. If this is a problem later we can adjust filters accordingly, or something. We could also perhaps use the utf8 -> ascii filters in the same module.