Search Results for 'code'
-
Search Results
-
Topic: Adding Theme Pages
I have bbPress 0.9.0.4 up and running and have heavily modified a theme to change the front page, and forum pages. Here is my hierarchy:
Front Page – displays only the top level forums (Parent), but also display sub forums descriptions (Group), then the sub forums of each group (Child) are listed and linked. Looks really cool and is exactly what we need for a project I am working on. I have modified the forum.php to check what type of forum it is (Parent, Group, Child) and load the correct file.
Now, I would like to have a “Hot Topics” page where any item set as “sticky to the top” will list just like they would normally list on the standard home page. Is there a way to set bbpress to load a non-standard file, so like /bbpress/hot-topics.php, which is actually the original forum.php
Hope that hasn’t confused anyone. I have looked around at all the bbPress code to find a hook, action or filter for this, but can’t seem to find it. Thanks.
Topic: Linking Posts to Topics
This isn’t a plugin, it’s a ‘hack’ but I can’t think of where else to put this.
I have blog posts (duh) and I have forum topics that, sometimes, relate. I wanted to have a way to relate the blog posts to say ‘Comment here’ and ‘Forum chat here.’
The solution is stupid easy. I made a custom field in my blog (forum_topic) and then added this to the link with my comments link:
<?php $forum= get_post_meta($post->ID, 'forum_topic', true); if ($forum) : ?><a href="<?php echo $forum; ?>">Forum Topic</a>And now if there’s a related forum topic, I make the custom field, add the link in that field for the post, and it shows up. No topic? No link!
Now if I can do that in reverse, that would be cool… related blog posts to this forum topic.
I have recently migrated my entire phpBB over to bbPress and now want to move the bbPress users into wordpress mu so I can use wordpress integration the problem was that there is no easy way to migrate and check the users aren’t doubling up…
I wrote a simple php script to do just that and it allowed me to list out the users where manual attention is required, it can be run just from the command line like this…. ‘php -f file.php’ and will move the users over perfectly (at least for me)…
Note there has been no testing of this code it worked for me and may cause you issues, back up your database first!
Comments on the code appreciated for future improvement.
‘<?php
echo “n”;
echo “+
+n”;echo “| bbPress to WordPress User Migration |n”;
echo “+
+n”;echo “| Created by: |n”;
echo “| Tom Lynch |n”;
echo “+
+n”;echo “n”;
echo “Messages:n”;
echo “n”;
echo “Username Messagen”;
echo ”
n”;function printSpaces($username) {
$spaces = 25 – strlen($username);
echo $username;
for ($i = 0; $i < $spaces+1; $i++) {
echo ” “;
}
}
// Enter your database host, username and password here…
mysql_connect(‘localhost’, ‘username’, ‘password’);
// Enter your database name here (both tables must be in same database – sorry)
mysql_select_db(‘database’);
$migrated = 0;
$errors = 0;
$query = mysql_query(“SELECT user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_status, display_name FROM bb_users WHERE user_pass LIKE ‘$P$B%’;”);
while ($data = mysql_fetch_assoc($query)) {
$query2 = mysql_query(“SELECT user_login, user_email FROM wp_users WHERE user_login = ‘”.$data.”‘ || user_email = ‘”.$data.”‘;”);
if (mysql_num_rows($query2) > 0) {
$data2 = mysql_fetch_assoc($query2);
if ($data == $data2 && $data == $data2) {
// Suppressing already migrated users error
//echo printSpaces($data) . ” has already been migrated by the looks of it!n”;
} else if ($data == $data2) {
echo printSpaces($data) . ” could not be migrated, that user name is already taken! (“.$data.”)n”;
$errors++;
} else if ($data == $data2) {
echo printSpaces($data) . ” could not be migrated, that email address is already taken! (“.$data.”)n”;
$errors++;
}
} else {
mysql_query(“INSERT INTO wp_users (user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_status, display_name) VALUES (‘” . $data . “‘, ‘” . $data . “‘, ‘” . $data . “‘, ‘” . $data . “‘, ‘” . $data . “‘, ‘” . $data . “‘, ‘” . $data . “‘, ‘” . $data . “‘);”);
// Suppressing user migrated message
//echo $data . ” was migratedn”;
$migrated++;
}
}
$alreadyDone = ((mysql_num_rows($query) – $errors) – $migrated);
echo “n”;
echo “Stats:n”;
echo “n”;
echo “Users Migrated: ” . $migrated . “n”;
echo “Already Migrated: ” . $alreadyDone . “n”;
echo “Not Migrated: ” . $errors . “n”;
echo “=======================================n”;
echo “Total: ” . mysql_num_rows($query) . “n”;
echo “n”;
?>’
Topic: Client-side Performance
One of bbPress’s focus is to be fast, but like a lot of framework, it seems to ignore the basics rules of good client-side performance. For instance, if you are logged-in and if you are on topic’s page, there are 7 external JS requests, all of them placed in the head. Page rendering is blocked until those JS files are fully loaded. Ideally, we should minimize the number of requests (concatenating all the JS files into 1) and put them at the bottom of the page before body.
bbPress is also using two JS frameworks that has overlapping functionalities (Prototype and jQuery), ideally we should choose one and stick with it (preferably jQuery, imho). There are also some code that duplicate functionality that already exists in the JS framework, for instance: add-load-event.js.
I realize this might be easier said than done, but I would like to know if this is at least being considered in the roadmap. If not, is there any suggestion before I hack the core? (I don’t think a plugin can do this?)
Thanks,
William
I am upgrading an old .83 bbpress installation to Alpha 1.0r6.
I have about 6k posts in the .83 database.
After upgrading the database I’ve noticed the following problems. Several of the posts in the database were made by users no longer in the database. If a topic containing posts by these now ‘anonymous’ users is displayed, I get the following error at the top of the screen.
DB Error in wp_users::append_meta: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '32) /* WP_Users::append_meta */' at line 1
SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (1,,32) /* WP_Users::append_meta */If I delete the anonymous posts in the thread, the problem goes away. Using PHPAdmin I checked the user ID’s assigned to the posts and there are no users with those user ID’s in wp_users. (I have an integrated installation).
I thought the problem was a result of an upgrade, so I created a new user, made some posts, and then deleted that user. The problem still exists. I have not tried this on a clean install and it would be useful if someone could try that.
I am running the default Kak. Blue theme.
I believe I tracked the problem request to a backpress file.
bb-includes/backpress/class.wp-users.php:
if ( $metas = $this->db->get_results("SELECT $meta_field, meta_key, meta_value FROM {$this->db->$meta_table} WHERE $meta_field IN ($ids) /* WP_Users::append_meta */") ) {I am not a SQL sleuth but I believe the $ids field is being populated with nulls associated with deleted users.
Hello,
I would like to have bbPress in two languages, using the same forum DB. So when viewing in language 1, the forum’s interface would be in language 1 with all the postings listed, and in language 2, the interface would be in language 2 with the same postings listed.
I plan on achieving this with bbPress theme switcher ( http://bbpress.org/plugins/topic/bbpress-theme-switcher/ ) and the link to switch between the themes/languages would be /bbpress/?bbtheme=lang1 and /bbpress/?bbtheme=lang2
I would also like to set up a php page at the root of the web domain to auto-detect and forward to the appropriate mediawiki language page based on
1) user’s browser language preferences if this is a first time visit
2) last connection’s languages preferences, which would be saved in the form of bbPress’s theme preference cookie.
with a file structure of
/blog
/blog/bbpress
/blog/wiki
/langdetect.php
My code so far is:
?php
/* langdetect.php */
$defaultlang = ‘en’
$lang = $defaultlang;
/* bbPress theme cookie detection */
if cookie exists {
(read cookie and set $lang to either en or ko.. bla bla)
}
/* WordPress and/or MediaWiki last visit language detection */
elseif previous visit info exists {
(i’ll figure this out later)
}
/* detect in-browser lang pref … modified from http://kaldung.com/en/php_detectbrowserlanguage.html */
else {
$langlist = explode(‘,’, $_SERVER);
foreach($langlist as $curLang) {
$curLang = explode(‘;’, $curLang);
/* use regular expression for language detection */
if (preg_match(‘/(ko|en)-?.*/’, $curLang[0], $reg)) {
$lang = $reg[1];
break;
}
}
}
/* redirect */
if ( $lang==’ko’ ) { header( ‘Location: http://ENGLISHPAGE’ ) ; }
else { header( ‘Location: http://ENGLISHPAGE’ ) ; }
?>
How can I read the bbPress cookie that contains the Theme Switcher theme preference?
There are a couple place where bbPress uses the word “wanna” as in “are you sure you wanna do that”. I’d like to change that to something more professional, like “want to” but I don’t want to change the core. How can I accomplish that with a plugin?
Using bbPress Alpha trunk (but this “wanna” wording has existed for a long time, maybe back to 0.73). The word wanna can be found in these files:
./bb-includes/js/topic.js
./bb-includes/functions.bb-script-loader.php
./bb-includes/functions.bb-script-loader.php
./bb-includes/functions.bb-template.php
./bb-includes/functions.bb-template.phpThank you.
I don’t want bbpress to get more famous honestly. I like the fact that this is a forum software that not a lot of people use, it makes my forum seem unique. But, oh well.