Modifying the BuddyPress AdminBar

On UCalgaryBlogs, I'd modified the adminbar to include a link to the current site's dashboard if a person was logged in, making it easy to get to the members-only side of WordPress without having to go through My Blogs and finding the right blog, then mousing over the pop-out "Dashboard" link. Most people never found that, and it's not very intuitive. So, I hacked in a hard-coded link to Dashboard in bp-core-adminbar. [Read More]

Fixing WPMU 2.8.4 and the ignored Banned Email Domains option

I've been having a heck of a time battling sploggers at - roaches that create accounts and blogs so they can foist their spam links to game Google (thanks for providing spammers with such a powerful incentive, Google). There's an option in WordPress Multiuser to ban email domains - provide the domains, one per line, into a text box, and it will reject any roaches trying to create accounts from those domains. [Read More]
php  code  wordpress  wpmu  bug 

BuddyPress and MultiDB

I've been trying to get BuddyPress working on my WPMU installation that uses MultiDB for database partitioning. It's been cranky, but I just realized I'm a complete idiot because I was overlooking the obvious (and drop dead simple) fix. BuddyPress was acting up because it was creating tables in each blog's database tableset. But MultiDB makes it easy to declare tables as belonging to a shared global database, so they don't get recreated for each blog and are common across the entire service. [Read More]

Stopping Spamblog Registration in WordPress MultiUser

Comment Spammers Burn In Hell...I've been running a copy of WordPress MultiUser for over a year now. Comment spam hasn't been much of a problem, thanks to Akismet, but if I leave site registration open (so students and faculty can create new accounts and blogs), the evil spammers find it and start sending their bots en masse.

I tried a few plugins, with varying levels of success. There's an interesting one that attempts to limit registrations to a specific country, but it falsely reported some valid users as not being in Canada. Captchas work, but also block some valid users (and the signup captcha plugin I'd been using is possibly abandoned).

So, I did some quick googling, and came across the page on the WordPress Codex about using .htaccess files to stop comment spam. I made some modifications to the technique, and am now running it on with apparent success. The apache logs show the bot attacks are still in full force, but not a single one has gotten through in order to register. And valid users have been able to get through. That's pretty promising.

[Read More]

Cleaning up after Microsoft

I spend a depressing amount of time cleaning up after Microsoft. Specifically, cleaning up the "helpful" HTML code generated by MS Word and/or Internet Exploder on Windows when people copy content from MS Word and paste it into a WYSIWYG editor in Internet Explorer. Helpful, in that it tries (and fails so spectacularly that it boggles my mind how such a "feature" was designed) and more often than not completely borks whatever website is the unsuspecting recipient of the control-V-of-death. [Read More]

WPMU Post and Comment Growth

The group of WPMU rockstars at UBC's OLT just whipped up a fantastic new plugin for administrators of a WPMU site to get a feel for the growth of the community. It generates a graph to display growth in numbers of blog posts and comments over time, and uses the Google Data Visualization API to let you interactively define data ranges to be graphed. Here's the growth of graphed for the last 2 semesters: [Read More]

WordPress, draft/private pages, and the parent hierarchy structure

I'm working with a class of 250+ geology undergrads, split up into 53 groups. They're using a WordPress site to publish online presentations as the product of a semester-long group project. I'm using the great WP-Sentry plugin to let them collaboratively author the pages without worrying about other students in the class being able to edit their work (I know - but it makes them more comfortable so it's a good thing to add). [Read More]

wpmu activity reports using the blog_activity plugin

Jim Groom linked to a post by Patrick Murray-John with an interesting summary of the activity on - and I was curious about what activity patterns are on - so I fired up Sequel Pro and dug around in the raw data stored by the blog_activity plugin in the wp_post_activity and wp_comment_activity tables. The tables include aggregate and anonymous activity data for the last month. There is a relatively new Reports plugin that could do much of this in an automated way, but it only supports generating activity reports for individual users or blogs, not aggregate reports. [Read More]

notes on converting to use multi-db

I followed Jim's instructions to get converted from using a single database (as is the default) to using multiple databases (17 separate databases now) via the Multi-DB code to prevent growing pains. The single database config is good for getting up and running, but with 300 blogs in the system, table explosion was causing grief on the shared MySQL database server - there were almost 3000 tables, which was making the automated backup script complain a bit. [Read More]

security hole in wordpress-admin-bar under WPMU?

I just tried logging into using a test user account, and was surprised to see a strange item in the admin bar at the top of the page: I was curious, so I clicked it. mwah? Those are site-admin items, being displayed to a non-admin user. I was actually able to click the "Admin Message" item to set that, even though the logged in user wasn't an admin. [Read More]