I’m on the current trunk as of writing this post. (1903) I’ll try testing the live forum.
Edit: Using the default theme made the problem go away, but the line of code that shows the edit/delete/undelete links is exactly the same as Kakumei’s and there’s no functions.php file.
My bb-includes/backpress/functions.core.php begins with :
<?php
include "functions.bp-options.php";
// Last sync [WP9916]
...
@wordpressfan
I got the same error Warning: cannot yet handle MBCS in html_entity_decode()! in …/bb-includes/wp-functions.php on line 113
I switch from php4 to php5 and it works fine now. I’m hosted on MT GS.
Arg! I cannot install bbpress no matter what download link I use. The link for the stable version 0.9.0.4 gives me this error when trying to install:
Warning: cannot yet handle MBCS in html_entity_decode()! in /home3/wifirepo/public_html/wpmatrix/forum/bb-includes/wp-functions.php on line 113
The download link for the unstable 1.0.5 alpha give me a fatal error that is said to be fixed in the “trunk” version, but there is no download link (only reference to an svp – no zip file.
I want to install a working version of bbpress but all attempts have been thwarted.
About the “backpress_get_option” error : I don’t even know if it’s the best way, but you can edit functions.core.php and add this :
include "functions.bp-options.php";
It works for me
I figured out what the problem was, although I’m not sure how to fix it (I’m still learning PHP). The problem is this PHP code which I have in an include (along with all my code for the site’s navigation):
<?php
// Extracts the file name from the file name
$path = $_SERVER;
$page = basename($path);
$page = basename($path, ‘.php’);
?>
The code extracts the the file name from the file to select the current tab in my navigation. When I remove this section of code, the Reply form appears and works as normal. Is the problem having PHP code in an include file?
@segwayinfo: Last night was supposed to be “Install WPMU, BudyPress and bbPress” night for me. Oh well.
Also, when I register a new user through WordPress as per normal, that user is still not assigned a role in bbPress. Not when they login, not when they hit the forum for the first time. Not ever.
My Steps:
- I used a Chrome browser window to register a new user through WordPress
- Logged in via WordPress
- Hit the forum
- User could not post, looks like has no role
- Logged out via WordPress
- Used FireFox to login as admin to check new user role
- No Role Assigned
- Used Chrome to login through bbPress
- Hit the forum
- User could not post, looks like has no role
- Used Firefox admin to edit Test user
- Received typical error message (noted below)
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /forums/bb-includes/functions.bb-template.php on line 2009
Basically it looks like the exact same error message as before, with the same circumstances.
Round two using alpha 5 trunk from the SVN went exactly the same way, only this time when I logged in via bbPress, the above Warning went away, but that user is still marked as Inactive by default when they should be a Member according to the role map.
When registering through bbPress, the new user still is not assigned a Role on the WordPress side either.
Sam, can you explain to me what was supposed to be different in alpha5? Maybe I misunderstood…
When I renamed my old config file, I actually received the same error.
Fatal error: Call to undefined function backpress_get_option() in /forum/bb-includes/backpress/functions.core.php on line 412
So I renamed my config file back, visited the forum, and then it prompted me for upgrade.
Is there a specific upgrade page to visit now rather than just hitting the root of the forum?
Sam, it seems this only happens when I upgrade from alpha4 to alpha5. I was running a trunk version, and received no errors and wasn’t even prompted to upgrade from trunk to 5.
Most of the filters are in defaults.bb-filters.php or default-filters.php before 1.0.
Untested code below:
<?php $bb_post = $posts[0]; unset($posts[0]); $del_class = post_del_class();?>
<div id="post-<?php post_id(); ?>"<?php alt_class('post', $del_class); ?>>
<?php bb_post_template(); ?>
</div>
<h6>Responses</h6>
<ol id="thread" start="<?php echo $list_start; ?>">
<?php foreach ($posts as $bb_post) : $del_class = post_del_class(); ?>
<li id="post-<?php post_id(); ?>"<?php alt_class('post', $del_class); ?>>
<?php bb_post_template(); ?>
</li>
<?php endforeach; ?>
</ol>
There’s no official documentation or codex yet.
A few people have done phpxref for bbpress but I find that kind of output fairly useless.
If you have access to linux shell you can do a grep to get a function list in the template include like so (or install the grep for windows)
grep -oe ^function.*) bb-includes/template-functions.php | sort > functions.txt
modifying that you can also get the filters/actions
grep -oe apply_.*) bb-includes/template-functions.php | sort > filters.txt
grep -oe do_.*) bb-includes/template-functions.php | sort > actions.txt
If you use the grep for windows, leave out the escapes (backslashes) or it won’t work.
>> The same performance gain is achieved using the existing forum_time index.
Ah so in that case, no ALTER required and there is zero extra storage required and the plugin can be used like this:
<?php
/*
Plugin Name: Topic Time Index
*/
add_filter('get_latest_topics_join','topic_time_index',99999);
function topic_time_index($join) {return " $join USE INDEX(forum_time) ";}
?>
Here’s the result on WordPress.com’s English support forum:
41,990 total rows
Showing rows 0 - 24 (25 total, Query took 0.0024 sec)
Showing rows 0 - 24 (25 total, Query took 0.0024 sec)
Showing rows 0 - 24 (25 total, Query took 0.0024 sec)
Showing rows 0 - 24 (25 total, Query took 0.0024 sec)
Showing rows 0 - 24 (25 total, Query took 0.0024 sec)
Showing rows 0 - 24 (25 total, Query took 0.2102 sec)
Showing rows 0 - 24 (25 total, Query took 0.2062 sec)
Showing rows 0 - 24 (25 total, Query took 0.2037 sec)
Showing rows 0 - 24 (25 total, Query took 0.2031 sec)
Showing rows 0 - 24 (25 total, Query took 0.2060 sec)
Hi there!
I am sorry if someone else has already created a post on this.
I have a website (powered by wordpress) that has a bunch of how-to windows tech articles. I need to get a forum for my site users. Which one would be better? My users will need the capability of uploading files, pasting code and images. Which forum program would put less pressure on my servers and hopefully keep the running a little faster?
Thank you ahead of time for any help.
One possible way to benchmark the performance is to run these two queries in phpmyadmin (via SQL tab)
SELECT SQL_NO_CACHE t.* FROM bb_topics AS t USE INDEX(topic_time) WHERE t.topic_status = '0' AND t.topic_sticky != '2' ORDER BY t.topic_time DESC LIMIT 25
vs.
SELECT SQL_NO_CACHE t.* FROM bb_topics AS t WHERE t.topic_status = '0' AND t.topic_sticky != '2' ORDER BY t.topic_time DESC LIMIT 25
On my setup the one with the forced index takes half the time of the one without, however we are talking 0.0026 sec vs 0.0013 sec so that is almost meaningless. What we need is someone with 10,000 topics and then you’ll know for certain.
Not extensively tested but this will do it without a core hack
(once ALTER TABLE bb_topics ADD INDEX (topic_time) is done)
<?php
/*
Plugin Name: Topic Time Index
*/
add_filter('get_latest_topics_join','topic_time_index',99999);
function topic_time_index($join) {return " $join USE INDEX(topic_time) ";}
?>
This is the SQL query to use if others want to add such an index:
ALTER TABLE bb_topics ADD INDEX (topic_time)
But that in itself is not enough, bbPress has to be forced to use the index.
I am trying to figure out a way to do this without hacking the core, via a mini-plugin instead.
I have just re-launched a site containing about 43000 topics and over 300000 posts…
I had severe performance issues on all sites using the get_latest_topics functionality (the frontpage was severe because it is using more than once in my custom theme).
Because of the “index” design it file-sorting because it’s sorting on topic_time and is mysql is hitting the stickies index.
The solution was to create a new index only with the topic_time field in it. However I was unable to force this index in the query without touching the core files.
This is what i did:
Could there be a filter there so I could move this out into a plugin?
BB_Query::generate_topic_sql function:
$index_append = '';
switch ($this->query_id) {
case 'get_latest_topics':
$index_append = ' FORCE INDEX (topics_time_order) ';
break;
}
$this->request = $this->_filter_sql( $bits, "$bbdb->topics AS t $index_append" );
I guess I will find more places where I could do some index optimization that fit’s my install… I can’t be the first running into this issue?
Thanks for the links, Chris. As bad as the search is in BBPress, it’s still better than phpBB2 (which I’m migrating from). 
And John, I saw the Super Search, but didn’t want to use it since it’s in super-alpha mode and I need something that will also search WP posts, and it doesn’t seem like that plugin does that. At least not yet. So for now I’m using the WP search plugin: https://bbpress.org/plugins/topic/wp-search/
Just wondered if there was any way to get Tags/Titles in the existing forum search. Hrm.
Hi!
I want to use a couple of WordPress function so i tried to include wp_blog_header in bb_config like this:
“require_once(‘../wp-blog-header.php’);”
This works well if i am in the forum section but as soon as i go into bb-admin i get the terrible feared:
Warning: require_once(/wp-blog-header.php) [function.require-once]: failed to open stream: No such file or directory in C:wampspeedrevisionforumbb-config.php on line 49
Fatal error: require_once() [function.require]: Failed opening required ‘/wp-blog-header.php’ (include_path=’.;C:php5pear’) in C:wampspeedrevisionforumbb-config.php on line 49
This worked great in 0.9.0.3 but in the latest unstable version 1 A4 it does this, why?
And why does it say that a forum is locked when i am trying to make a post?
Would really appreciate some help
A kind of hackish, but simple way:
Log into your MySQL database with php_myadmin, go to the <db-prefix>_users table, go to Browse view, and simply select each user you want to delete with a checkbox, then press the X at the bottom of the screen. phpmyadmin lists the username, real name, id, and so on of the user, so that you can quickly delete by names.
NOTE: Of course, only do this if you know what you’re doing. Using phpmyadmin, you can do anything from change one letter of someone’s username to trash your entire installation. Do not use this tool if you’re a noob. 
Also, this only works if the user accounts do not have any posts associated with them. If they do, this may cause very unpredictable behavior. Before doing this, delete all the posts associated with the user accounts from bbPress, or by deleting posts from the bb_posts table. Then, you can safely delete the users using the steps above.
I used: add_filter('get_profile_info_keys', 'get_profile_info_keys_personal'); to add more fields to the registration. But I don’t know how or can’t seam to find a way to get this data.
I thought I could use $user = new BB_User($user_id); and then use $user["new_field"], but after I did var_dump($user), I couldn’t find it in there. But it does appear in that user’s profile!
How can I access the new values in get_profile_info_keys for a particular user?