Actually, I figured out when in the felfunctions the “member” capability was being set (you may already know this) – line 36
I thought that maybe the globals should be changed to
global $bb_current_user;
instead of
global $current_user;
That seemed to work when I was posting in wordpress as an admin, but I just tried posting with another user account and got an SQL error, so no dice. I have some other stuff to work on right now, but will come back to this later. Maybe the global $bb_current_user needs to be set to the $current_user instead of doing
bb_set_current_user( $current_user->ID );
?
my rewrite rules for the document root where wordpressmu is installed are (note, my bbpress is installed in the /discuss directory):
RewriteEngine On
RewriteBase /
#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_URI} ^/discuss(.*)$
RewriteRule . – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
RewriteRule . index.php [L]
then, in my bbpress directory, i put in my .htaccess:
Options +MultiViews
if the +MultiViews thing doesn’t work for you, there’s something else you can put in there (only needed if you want to use the pretty-permalinks). Described here:
https://bbpress.org/documentation/faq/#pretty-permalinks
The fix that I made to that function has been tested now and it seems to work, but the fact of the matter is that it could have very well just broke that function all together. I think everything works to my satisfaction now though, so I probably wont worry about it until I run into some more problems. The only thing that gives me hope in that respect is that previously, that if statement
was failing. meaning that the user was not a bb_user:
if ( !( is_object($user) && is_a($user, 'BB_User') ) )
so it would create new capabilities for the user (incorrectly at that). But when I changed it to wp_User, for some reason that if statement
catches and just returns without creating the new capabilities that break access permissions. I don’t know why this works after looking into the code, but until I see negative side effects, I might turn a shy eye (<— i dont think thats a real saying…).
Also, on the topic of redundant database entries, I think since we have the integration set up from the WP comment box, it wouldnt be incredibly difficult to simply take out the one database call (somewhere in the wordpress code never-never-land) that actually posts the comment to the database. So we’re not inputting a box from bbpress, but we would effectively stop wordpress comments from being saved to the database since we never actually look at them. This of course wouldn’t work if you were merely copying database entries in order to post the comments as posts in bbPress, but I dont think thats what you’re doing. It probably is two separate database INSERT
calls, and I bet we can take the wordpress one out, and have identical functionality (assuming we took out wordpress comments and exclusively use felbbreplies()). It’s merely an optimization though, and unless the user base is larger than any of us probably are going to have it might not matter… I’ll look into it tonight when I get home, and let you know.
sorry for the long post
-Alex
OK I fixed it. It looks like we took some bad advice. There was a post saying to make wpmu and bbpress get along I should add:
if ( isset( $bb->wp_table_prefix ) ){
$bb->usercookie = ‘wordpressuser’;
$bb->passcookie = ‘wordpresspass’;
}
to the config.php
That is the code that was messing things up. Without it admin works fine as keymaster and I see no other problems yet.
This has been scarcely tested, but I think I have a fix for my bug… weird…
in the bb-includes/capabilities.php file there is a function at the bottom that looks like this:
function bb_give_user_default_role( $user ) {
if ( !( is_object($user) && is_a($user, 'BB_User') ) )
return;
$user->set_role('member');
}
I changed it to look like this:
function bb_give_user_default_role( $user ) {
if ( !( is_object($user) && is_a($user, 'wp_User') ) )
return;
$user->set_role('member');
}
Instead of checking to see if the bb_user existed, we wanted to check to see if the wordpress user existed, assuming we merged our user table. For some reason, this seems like a bug in the bbPress code. Shouldn’t that be a variable prefix to begin with?
Hey fel, sorry for the delay in replying. I did it the less cool way you mentioned. Just changed the template to call my own modified function with an extra parameter passed to it (the amount of posts in the topic -1). Pretty simple, but worked like a charm. You probably couldnt modify that stuff through your plugin, but you could do some magic by just writing some felfunctions that mostly do that same stuff as wordpress’s functions and then add them to the plugin. idk.
I do have a weird bug that im trying to figure out, I think crowspeaker had a similar one. I actually think his bug might be two separate bugs.
I can post back and forth and see comments yadadaada, everything works EXCEPT:
If I make a post in wordpress as an administrator, I lose my administrator powers in the forum (the forum only). I get the extra capabilities(member)
thing. I just delete that database entry and i can go full on again. I havent quite tracked the culprit down yet, but ill let you know. For now I can just hack it and delete that entry after every post if it exists. rofl. dont ever do that though.
I am also interested in this type of integration where it seems you have not left the site to go from blog to forum etc….same theme for both? any help for this type of integration will be nice..
Hey all,
Trying to get bbpress and WPMU to work together. Using a subdomain install of WPMU. I can view the front page of my bbpress install just fine, but if I click any topic, I get a 404 showing in my wordpress theme.
Is this something I have to fix in the .htaccess?
I installed on localhost. When i first try to change the theme it works, and them i have this message “Theme not found. Default theme applied.”, and can’t change anymore.
I looked to the link themes and they are wrong, pointing to
<br>
?theme=c:arquivosdeprogramaseasyphp1-8wwwwordpressbbpress/bb-templates/kakumeia/&_wpnonce=117154f828
how can i fix it and remove that ‘c:arquivosdeprogramaseasyphp1-8wwwwordpressbbpress’ part?????
Install worked great, everything good. I’ve logged in as admin, assigned Key Master, and lo and behold I can’t create a new forum. I get the message ‘you don’t have permission to do that’. The admin account was first created in the wordpress mu install.
Solved!
I deleted the
$bb->usercookie = 'wordpressuser_2de49fc36f5359dc455c4965686f06d3';
$bb->passcookie = 'wordpressuser_2de49fc36f5359dc455c4965686f06d3';
$bb->cookiedomain = 'http://www.chrismise.com';
$bb->cookiepath = '/blog/';
and worked
> media-wiki
Why are you asking here about mediawiki?
For bb, you need to overwrite the pluggable functions responsible for logging dudes in. They’re all in bb-includes/pluggable.php, and you overwrite them as you would a wordpress pluggable: https://codex.wordpress.org/Pluggable_Functions
the right links
http://www.chrismise.com/blog
http://www.chrismise.com/blog/bbpress
Now i cant login to my blog too(but i solved changing the pass thought phpmyadmin o_O)
. Must have done something wrong.
$bb->wp_table_prefix = 'wp_'; // WordPress table prefix. Example: 'wp_';
$bb->wp_home = 'http://www.chrismise.com/blog'; // WordPress - Options->General: Blog address (URL) // Example: 'http://example.com'
$bb->wp_siteurl = 'http://www.chrismise.com/blog'; // WordPress - Options->General: WordPress address (URL) // Example: 'http://example.com'
/* Stop editing */
$bb->usercookie = 'wordpressuser_2de49fc36f5359dc455c4965686f06d3';
$bb->passcookie = 'wordpressuser_2de49fc36f5359dc455c4965686f06d3';
$bb->cookiedomain = 'http://www.chrismise.com';
$bb->cookiepath = '/blog/';
Hello,
WordPress lets you install wordpress like so:
WordPress @ http://example.com/wordpress/
but maintain your blog at http://example.com/blog/
Currently, I have my bbpress like so: http://example.com/wordpress/bbpress/ so that I don’t have to worry about cookie issues… but I would like the forums to be accessible at http://example.com/forums/
How can I do this?
Thanks
And this when trying to leave a comment via WordPress:
Warning: array_filter(): The second argument, 'Array', should be a valid callback in /home/content/a/d/m/adminsportzzz/html/forum/bb-includes/capabilities.php on line 271
Warning: Invalid argument supplied for foreach() in /home/content/a/d/m/adminsportzzz/html/forum/bb-includes/capabilities.php on line 275
Warning: array_filter(): The second argument, ‘Array’, should be a valid callback in /home/content/a/d/m/adminsportzzz/html/forum/bb-includes/capabilities.php on line 271
Warning: Invalid argument supplied for foreach() in /home/content/a/d/m/adminsportzzz/html/forum/bb-includes/capabilities.php on line 275
Warning: Cannot modify header information – headers already sent by (output started at /home/content/a/d/m/adminsportzzz/html/forum/bb-includes/capabilities.php:271) in /home/content/a/d/m/adminsportzzz/html/wp-includes/pluggable.php on line 390
The first and easiest is integrating the user base so that if you are logged into one, you are created and logged into the other! What are you hoping to find out and accomplish with integration?
Trent
I have been looking for how bbpress.org site integrates bbpress and wordpress? so far no luck…any help will be super….
The plugin you uploaded to /my-plugins/ is really only the one for WordPress! Akismet is built into bbPress is activated by you putting your Akismet API key into your config.php. If you edit that file, you will see the space to put it in! You can remove the plugin as you need not upload or install anything else….just edit config.php
Trent
Combined profiles don’t work, but at least it uses the user database just as it should.
It also syncs the cookies if you do it right, so single sign on works too.
Nothing jumps out at me, but there are ‘gravatar’ and ‘mybloglog’ plugins that use more ‘global’ avatars versus and internal system. As for profiles, there isn’t anything to use a combined profile, that I know of….
Trent
Yep, I had same issue, and replacing /bb-includes/db-mysqli.php did the job
It seems to be a user thing. I’d been posting from a user that’d been established in WordPress. I updated it to Key Master in bbPress, so it should have all powers. But I found that, apart from tags, I couldn’t delete a post either, same no permission message (same as noted by Jolaedana above). So I logged out and logged in as Superadmin, the default account from bbPress installation, and voila, I can do everything, add tags, delete posts.
That doesn’t solve the problem. I haven’t tested to see what happens with other users, both already registered from WP and registered through bbPress. But it’s a workaround for me, and a…clue.
Perhaps my questions needs clarity. I’m aware of the plugin that enables the same username to have a blog and to post in forums. However, are profiles and avatars also consistent?
Hello everyone
Am I right in presuming that BBPress works just as well with WordPress-MU as it does with WordPress?
thanks
Amit
I love the plugin fel. It takes a while to get used to what file is doing what, but to anyone who is using it along with the integration scripts you might realize that the posts on the forum show up as comments and visa versa, but the comment count on the main page only counts the comments made via wordpress, and doesnt take into account the comments that show up, but were originally made in the forum.
I added a function in the plugin that just recieved the number of posts (since this data is correct).
function bbreplycount() {
global $id, $opshuns;
$posties = 0;
if( !$opshuns )
$opshuns = get_option('bbsync');
require_once( $opshuns['bbpath'] );
$topic_id = felwptobb( $id );
if( $topic_id ) {
$topic = get_topic( $topic_id );
$posties = $topic->topic_posts;
}
return $posties - 1;
}
Using this I was able to modify the comments_popup_link(...)
to accept another variable (the number of posts returned by the new function). Then instead of getting the number of actual comments via the wordpress method, I simply replaced my new variable with that function call. Viola, works like a charm.
Its nothing serious, but could be helpful to some. cheers. Thanks again fel.