Re: public blog not created error
I wish I could just point to one spot in the code and say “here’s where the privacy of a blog is determined” but there isn’t one. I looked through the file /mu-plugins/bp-blogs/bp-blogs-classes.php and found 1/2 dozen spots where functions are asked to return a list of blogs. They all go out and query the wpmu database and in all cases rely on wpmu’s settings for a blog being ‘public’ or not.
You are welcome to take a look for yourself in that file. An example of the problem would be the function BP_Blogs_Blog::get_all()
In that function are two SQL queries that return only public blogs by asking for results: WHERE wb.public = 1
public = 1 is the wpmu indication that this blog is ‘public’. dsader’s plugin simply changes that ‘1’ to -1, -2 or -3 in the table to indicate the ‘more privacy’ options and then looks for those values. It’s behavior is dependent on the values in that spot in the table also.
I don’t see any way to accomplish what you want without a complete rewrite of that entire class. It’s designed to *not* return results for private blogs. That’s exactly what it’s doing.