Here's a fairly polished first run at WPMU support for WP-OpenID. I've been doing this for blogs.gnome.org, although it has only been running on my test server so far. Once this bug is written, I'll be deploying it to blogs.gnome.org. :-)
core.php:
- Local add/update/get functions that switch between the appropriate WPMU and WPSO functions (get_option vs. get_site_option) and handle semantic differences.
- Don't late_bind() in core.php.
- Use local add/update/get functions.
- Switch add_option to get_option at end of startup(), to avoid overwriting settings in the database (particularly with WPMU).
- Handle WPMU plugin paths in set_path().
- Log to blogs.dir in WPMU, upload_path in WPSO.
interface.php:
- When running in WPMU, only allow admin to access options page (and shift it under 'Site Admin').
- Use local add/update/get functions.
logic.php:
- Use local add/update/get functions.
- Failover to dynamically create comments/openid field in set_comment_openid().
- late_bind() in comments_awaiting_moderation().
store.php:
- comments should be $wpdb->prefix (local), usermeta should be $this->table_prefix (global). Switch these around.
- New function, create_comment_field() to separately and dynamically add openid field to comments table.