Forum Replies Created
-
In reply to: Lack of bbsync means I might go with SMF
I’ve never quite understood the complaints about cookies and bbPress/WordPress integration… I set up a fresh copy of 1.0.2 locally with no prior knowledge and it worked fine (Windows test server). I FTPed it onto my live server and changed over the addresses and it works fine, apart from an odd quirk to do with bb-admin and where you log in. My cookies hold across either site, and for that matter to a MediaWiki install I have tied in to the same user set.
I quite understand the issue with cross-posting though. I’d fix it myself if I could work out how to initialise bbPress core cleanly inside WordPress, but that’s not possible in 1.0, so for now all you can use is plugins that do it by HTTP. Hopefully that will be integrated into core later on, but including bbPress as a WordPress plugin would be shoehorning something that was designed to be relatively standalone into a different structure and no doubt would over complicate things.
In reply to: Kin Kakumei (Gold Kakumei)It’s using class
new-topic
, so you’d need.newtopic {}
… it can’t be found because there’s no actual CSS affecting it specifically. I’d recommend using Mozilla Firefox’s DOM inspector or looking at the HTML source to find class/ID tags for things.Oh, and it’s affected by (in Kakumei at least):
#latest th a, #forumlist th a, #favorites th a
anda:visited
In reply to: All RSS Feeds Broken?That’s weird. Seems to be throwing
<![CDATA
in still… could you check if there’s arss2.php
in your template’s directory and if so either change that or delete it? That’s the only thing I can think of that might be causing that. Forgot themes usually copy everything.In reply to: do you think which url is better friendly to seoI think the general consensus is that using permalinks is better and also a lot better for readablity. Could be wrong though.
In reply to: Categories at the top?Hmm? I accidentally left the comment saying
// List forums
in there, but in actual fact that will only return categories, not forums in them because it does thebb_get_forum_is_category()
check. If you’re referring to the normal forum code infrontpage.php
, taking that out will take out the normal list of forums you see there, so I’m not sure if that’s what you want to do.In reply to: Need to fix a couple of things in themeSorry about that!
In reply to: Need to fix a couple of things in theme@ashfame have a look at the bottom of
front-page.php
, it should read<div class="bbcrumb"><a href="<?php bb_uri(); ?>"><?php bb_option('name'); ?></a> » <?php _e('Add New Topic'); ?></div>
. Your code seems to have somehow dropped everything between the last two PHP snippets and the trailing</div>
too. That’s not being returned by the breadcrumb function though at least, so it should be easier to fix if it doesn’t work with your template’s front-page.php deleted/renamed though, there might be something wrong with your core files.In reply to: Need to fix a couple of things in theme@gerikg he’s trying to fix an additional
<a>
with no closing tag in the new post form, not generate a link to itIn reply to: If BBpress then, elseAssuming you’re talking about deep integration of bbPress, you should be able to use one of the constants defined in the settings of WordPress MU / BuddPress to determine if bbPress is embedded or not.
In reply to: Weird IE problem with bbpressUsing IE on it doesn’t work at all for me. How weird… http://www.oraclepronet.com/techzone/index.php loads fine though on first try, so it might be something to do with how the server is handling the directory index rather than bbPress. Your version of WordPress has security holes by the way, you might want to upgrade.
In reply to: Connecting Facebook group to BBPress ?I’m afraid I didn’t make it, so I can’t help you too much there, sorry. You used the full ID after
http://www.facebook.com/group.php?gid=
right?In reply to: Connecting Facebook group to BBPress ?Actually, nevermind, you could use this: http://pipes.yahoo.com/jasonsilver/facebookgroup to get posts from a group. It’s throwing things out in german for me, but that’s probably fixable. Facebook is stupidly locked down in the whole though, good luck posting to it.
In reply to: Connecting Facebook group to BBPress ?From what I can tell, the only things relating to groups in Facebook’s API are
groups.get
Returns all visible groups according to the filters specified.
groups.getMembers
Returns membership list data associated with a group.I think you’d therefore have to scrape the Facebook page manually and parse it’s HTML to pass back Facebook posts. Do-able, but it wouldn’t be very good for keeping in sync well.
In reply to: The Wiki Post plugin can't use in bbPress 1.0.2Change
@require_once( BB_PATH . BB_INC . 'registration-functions.php');
to@require_once( BB_PATH . BB_INC . 'functions.bb-meta.php');
on line 77 ofwiki-post.php
to get it to load. I’m not sure how to fix anything else though.In reply to: prevent bbpress from encoding & nbsp;For some reason it doesn’t get escaped by anything. How weird. Okay, the hackiest way of doing it ever:
function bb_escape_nbsp( $text ) {
$text = str_replace ( ' ', '& ;nbsp;', $text );
return $text;
}
add_filter('post_text', 'bb_escape_nbsp');
add_filter('edit_text', 'bb_escape_nbsp');Take out the space between amp and ;
In reply to: Connecting Facebook group to BBPress ?I’m pretty sure you can’t with Facebook groups, since (as far as I know), you can’t add applications to the groups page so you’re stuck with what’s available. Best I could suggest would be adding a link or using a Facebook Page.
In reply to: Categories at the top?<?php if ( bb_forums() ) : // List forums ?>
<ul class="cat_list">
<?php while ( bb_forum() ) : ?>
<?php if (bb_get_forum_is_category()) : ?>
<li><a href="<?php forum_link(); ?>"><?php forum_name(); ?></a><li>
<?php endif; ?>
<? endwhile; ?>
</ul>
<?php endif; // bb_forums() ?>Put that in
header.php
orfrontpage.php
respectively and use CSS to format.cat_list li
In reply to: target _blankQuick check, your code does actually include the
<a (.+?)>
part right? That got dropped from your post, but I’m presuming that’s because you didn’t use the code tag. The plugin should add the target=”_blank” HTML attribute, which tells the browser to open the link in a new window. You can change that in the browser to open in a new tab instead, but if it’s not doing either of those, there’s something wrong.In reply to: target _blankCheck for a trailing space or anything after the
?>
or before the<?php
. That error implies that some text is being passed and in my test install, that was a space after the?>
.In reply to: All RSS Feeds Broken?With the final patch from track applied against 1.0.2 trunk you get:
bb-templates/kakumei/rss2.php
<?php
header( 'Content-Type: text/xml; charset=UTF-8' );
echo '<' . '?xml version="1.0" encoding="UTF-8"?' . '>' . "n";
bb_generator( 'comment' );
?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title><?php echo $title; ?></title>
<link><?php echo $link; ?></link>
<description><?php echo $description; ?></description>
<language><?php esc_html( bb_option('language') ); ?></language>
<pubDate><?php echo gmdate('D, d M Y H:i:s +0000'); ?></pubDate>
<?php bb_generator( 'rss2' ); ?>
<textInput>
<title><![CDATA[<?php _e('Search'); ?>]]></title>
<description><![CDATA[<?php _e('Search all topics from these forums.'); ?>]]></description>
<name>q</name>
<link><?php bb_uri('search.php'); ?></link>
</textInput>
<atom:link href="<?php echo $link_self; ?>" rel="self" type="application/rss+xml" />
<?php foreach ($posts as $bb_post) : ?>
<item>
<title><?php post_author(); ?> <?php _e('on')?> "<?php topic_title( $bb_post->topic_id ); ?>"</title>
<link><?php post_link(); ?></link>
<pubDate><?php bb_post_time('D, d M Y H:i:s +0000', array( 'localize' => false ) ); ?></pubDate>
<dc:creator><?php post_author(); ?></dc:creator>
<guid isPermaLink="false"><?php post_id(); ?>@<?php bb_uri(); ?></guid>
<description><?php post_text(); ?></description>
</item>
<?php endforeach; ?>
</channel>
</rss>bb-includes/defaults.bb-filters.php
<?php
/**
* Sets up the default filters and actions for most
* of the bbPress hooks.
*
* If you need to remove a default hook, this file will
* give you the priority for which to use to remove the
* hook.
*
* Not all of the default hooks are found in this files
*
* @package bbPress
*/
// Strip, trim, kses, special chars for string saves
$filters = array( 'pre_term_name', 'bb_pre_forum_name', 'pre_topic_title' );
foreach ( $filters as $filter ) {
add_filter( $filter, 'strip_tags' );
add_filter( $filter, 'trim' );
add_filter( $filter, 'bb_filter_kses' );
add_filter( $filter, 'esc_html', 30 );
}
// Kses only for textarea saves
$filters = array( 'pre_term_description', 'bb_pre_forum_desc' );
foreach ( $filters as $filter ) {
add_filter( $filter, 'bb_filter_kses' );
}
// Slugs
add_filter( 'pre_term_slug', 'bb_pre_term_slug' );
// DB truncations
add_filter( 'pre_topic_title', 'bb_trim_for_db_150', 9999 );
add_filter( 'bb_pre_forum_name', 'bb_trim_for_db_150', 9999 );
add_filter( 'pre_term_name', 'bb_trim_for_db_55', 9999 );
// Format Strings for Display
$filters = array( 'forum_name', 'topic_title', 'bb_title', 'bb_option_name' );
foreach ( $filters as $filter ) {
add_filter( $filter, 'esc_html' );
}
// Numbers
$filters = array( 'forum_topics', 'forum_posts', 'total_posts', 'total_users', 'total_topics' );
foreach ( $filters as $filter ) {
add_filter( $filter, 'bb_number_format_i18n' );
}
// Offset Times
$filters = array( 'topic_time', 'topic_start_time', 'bb_post_time' );
foreach ( $filters as $filter ) {
add_filter( $filter, 'bb_offset_time', 10, 2 );
}
add_filter('bb_topic_labels', 'bb_closed_label', 10);
add_filter('bb_topic_labels', 'bb_sticky_label', 20);
add_filter('pre_post', 'trim');
add_filter('pre_post', 'bb_encode_bad');
add_filter('pre_post', 'bb_code_trick');
add_filter('pre_post', 'force_balance_tags');
add_filter('pre_post', 'bb_filter_kses', 50);
add_filter('pre_post', 'bb_autop', 60);
add_filter('post_text', 'do_shortcode');
function bb_contextualise_search_post_text()
{
if ( bb_is_search() ) {
add_filter( 'get_post_text', 'bb_post_text_context' );
}
}
add_action( 'bb_init', 'bb_contextualise_search_post_text' );
add_filter('post_text', 'make_clickable');
add_filter('edit_text', 'bb_code_trick_reverse');
add_filter('edit_text', 'wp_specialchars');
add_filter('edit_text', 'trim', 15);
add_filter('pre_sanitize_with_dashes', 'bb_pre_sanitize_with_dashes_utf8', 10, 3 );
add_filter('get_user_link', 'bb_fix_link');
add_filter('sanitize_profile_info', 'esc_html');
add_filter('sanitize_profile_admin', 'esc_html');
add_filter( 'get_recent_user_replies_fields', 'bb_get_recent_user_replies_fields' );
add_filter( 'get_recent_user_replies_group_by', 'bb_get_recent_user_replies_group_by' );
add_filter('sort_tag_heat_map', 'bb_sort_tag_heat_map');
// URLS
if ( !bb_get_option( 'mod_rewrite' ) ) {
add_filter( 'bb_stylesheet_uri', 'esc_attr', 1, 9999 );
add_filter( 'forum_link', 'esc_attr', 1, 9999 );
add_filter( 'bb_forum_posts_rss_link', 'esc_attr', 1, 9999 );
add_filter( 'bb_forum_topics_rss_link', 'esc_attr', 1, 9999 );
add_filter( 'bb_tag_link', 'esc_attr', 1, 9999 );
add_filter( 'tag_rss_link', 'esc_attr', 1, 9999 );
add_filter( 'topic_link', 'esc_attr', 1, 9999 );
add_filter( 'topic_rss_link', 'esc_attr', 1, 9999 );
add_filter( 'post_link', 'esc_attr', 1, 9999 );
add_filter( 'post_anchor_link', 'esc_attr', 1, 9999 );
add_filter( 'user_profile_link', 'esc_attr', 1, 9999 );
add_filter( 'profile_tab_link', 'esc_attr', 1, 9999 );
add_filter( 'favorites_link', 'esc_attr', 1, 9999 );
add_filter( 'view_link', 'esc_attr', 1, 9999 );
}
// Feed Stuff
function bb_filter_feed_content()
{
if ( bb_is_feed() ) {
add_filter( 'bb_title_rss', 'strip_tags');
add_filter( 'bb_title_rss', 'ent2ncr', ;
add_filter( 'bb_title_rss', 'esc_html' );
add_filter( 'bb_description_rss', 'strip_tags');
add_filter( 'bb_description_rss', 'ent2ncr', 8 );
add_filter( 'bb_description_rss', 'esc_html' );
add_filter( 'post_author', 'ent2ncr', 8 );
add_filter( 'post_link', 'esc_html' );
add_filter( 'post_text', 'ent2ncr' );
add_filter( 'post_text', 'htmlspecialchars' ); // encode_bad should not be overruled by esc_html
}
}
add_action( 'bb_init', 'bb_filter_feed_content' );
add_filter( 'init_roles', 'bb_init_roles' );
add_filter( 'map_meta_cap', 'bb_map_meta_cap', 1, 4 );
// Actions
add_action( 'bb_head', 'bb_generator' );
add_action('bb_head', 'bb_template_scripts');
add_action('bb_head', 'wp_print_scripts');
add_action('bb_head', 'wp_print_styles');
add_action('bb_head', 'bb_rsd_link');
add_action('bb_head', 'bb_pingback_link');
if ( $bb_log->type === 'console' ) {
add_action('bb_head', array(&$bb_log, 'console_javascript'));
add_action('bb_admin_head', array(&$bb_log, 'console_javascript'));
}
add_action('bb_send_headers', 'bb_pingback_header');
add_action('bb_admin_print_scripts', 'wp_print_scripts');
add_action('bb_user_has_no_caps', 'bb_give_user_default_role');
add_action('do_pingbacks', array('BB_Pingbacks', 'send_all'), 10, 1);
add_action( 'bb_init', 'bb_register_default_views' );
add_action( 'set_current_user', 'bb_apply_wp_role_map_to_user' );
add_filter( 'bb_pre_get_option_gmt_offset', 'wp_timezone_override_offset' );
unset( $filters, $filter );rss.php
<?php
require('./bb-load.php');
// Determine the type of feed and the id of the object
if ( isset($_GET['view']) || bb_get_path() == 'view' ) {
// View
$feed = 'view';
$feed_id = isset($_GET['view']) ? $_GET['view'] : bb_get_path(2);
} elseif ( isset($_GET['topic']) || bb_get_path() == 'topic' ) {
// Topic
$feed = 'topic';
$topic = get_topic(isset($_GET['topic']) ? $_GET['topic'] : bb_get_path(2));
$feed_id = $topic->topic_id;
} elseif ( isset($_GET['profile']) || bb_get_path() == 'profile' ) {
// Profile
$feed = 'profile';
$feed_id = isset($_GET['profile']) ? $_GET['profile'] : bb_get_path(2);
} elseif ( isset($_GET['tag']) || bb_get_path() == 'tags' ) {
if ( isset($_GET['topics']) || bb_get_path(3) == 'topics' ) {
// Tag recent topics
$feed = 'tag-topics';
} else {
// Tag recent posts
$feed = 'tag-posts';
}
$feed_id = isset($_GET['tag']) ? $_GET['tag'] : bb_get_path(2);
} elseif ( isset($_GET['forum']) || bb_get_path() == 'forum' ) {
if ( isset($_GET['topics']) || bb_get_path(3) == 'topics' ) {
// Forum recent topics
$feed = 'forum-topics';
} else {
// Forum recent posts
$feed = 'forum-posts';
}
$forum = bb_get_forum(isset($_GET['forum']) ? $_GET['forum'] : bb_get_path(2));
$feed_id = $forum->forum_id;
} elseif ( isset($_GET['topics']) || bb_get_path() == 'topics' ) {
// Recent topics
$feed = 'all-topics';
} else {
// Recent posts
$feed = 'all-posts';
}
// Initialise the override variable
$bb_db_override = false;
do_action( 'bb_rss.php_pre_db' );
if ( !$bb_db_override ) {
// Get the posts and the title for the given feed
switch ($feed) {
case 'view':
if ( !isset($bb_views[$feed_id]) )
die();
if ( !$bb_views[$feed_id]['feed'] )
die();
if ( !$topics_object = new BB_Query( 'topic', $bb_views[$feed_id]['query'], "bb_view_$feed_id" ) )
die();
$topics = $topics_object->results;
if ( !$topics || !is_array($topics) )
die();
$posts = array();
foreach ($topics as $topic) {
$posts[] = bb_get_first_post($topic->topic_id);
}
$title = sprintf( __( '%1$s » View: %2$s' ), bb_get_option( 'name' ), $bb_views[$feed_id]['title'] );
$link = get_view_link($feed_id);
$link_self = bb_get_view_rss_link($feed_id);
break;
case 'topic':
if ( !$topic = get_topic ( $feed_id ) )
die();
if ( !$posts = get_thread( $feed_id, 0, 1 ) )
die();
$title = sprintf( __( '%1$s » Topic: %2$s' ), bb_get_option( 'name' ), get_topic_title() );
$link = get_topic_link($feed_id);
$link_self = get_topic_rss_link($feed_id);
break;
case 'profile':
if ( bb_get_option( 'mod_rewrite' ) === 'slugs' ) {
$user = bb_get_user_by_nicename( $feed_id );
} else {
$user = bb_get_user( $feed_id );
}
if ( !$user ) {
die();
}
if ( !$posts = get_user_favorites( $user->ID ) ) {
die();
}
$title = sprintf( __( '%1$s » User Favorites: %2$s' ), bb_get_option( 'name' ), $user->user_nicename );
$link = bb_get_profile_link($feed_id);
$link_self = get_favorites_rss_link($feed_id);
break;
case 'tag-topics':
if ( !$tag = bb_get_tag( $feed_id ) )
die();
if ( !$topics = get_tagged_topics( array( 'tag_id' => $tag->tag_id, 'page' => 0 ) ) )
die();
$posts = array();
foreach ($topics as $topic) {
$posts[] = bb_get_first_post($topic->topic_id);
}
$title = sprintf( __( '%1$s » Tag: %2$s - Recent Topics' ), bb_get_option( 'name' ), bb_get_tag_name() );
$link = bb_get_tag_link($feed_id);
$link_self = bb_get_tag_topics_rss_link($feed_id);
break;
case 'tag-posts':
if ( !$tag = bb_get_tag( $feed_id ) )
die();
if ( !$posts = get_tagged_topic_posts( array( 'tag_id' => $tag->tag_id, 'page' => 0 ) ) )
die();
$title = sprintf( __( '%1$s » Tag: %2$s - Recent Posts' ), bb_get_option( 'name' ), bb_get_tag_name() );
$link = bb_get_tag_link($feed_id);
$link_self = bb_get_tag_posts_rss_link($feed_id);
break;
case 'forum-topics':
if ( !$topics = get_latest_topics( $feed_id ) )
die();
$posts = array();
foreach ($topics as $topic) {
$posts[] = bb_get_first_post($topic->topic_id);
}
$title = sprintf( __( '%1$s » Forum: %2$s - Recent Topics' ), bb_get_option( 'name' ), get_forum_name( $feed_id ) );
$link = get_forum_link($feed_id);
$link_self = bb_get_forum_topics_rss_link($feed_id);
break;
case 'forum-posts':
if ( !$posts = bb_get_latest_forum_posts( $feed_id ) )
die();
$title = sprintf( __( '%1$s » Forum: %2$s - Recent Posts' ), bb_get_option( 'name' ), get_forum_name( $feed_id ) );
$link = get_forum_link($feed_id);
$link_self = bb_get_forum_posts_rss_link($feed_id);
break;
// Get just the first post from the latest topics
case 'all-topics':
if ( !$topics = get_latest_topics() )
die();
$posts = array();
foreach ($topics as $topic) {
$posts[] = bb_get_first_post($topic->topic_id);
}
$title = sprintf( __( '%1$s » Recent Topics' ), bb_get_option( 'name' ) );
$link = bb_get_uri();
$link_self = bb_get_topics_rss_link();
break;
// Get latest posts by default
case 'all-posts':
default:
if ( !$posts = bb_get_latest_posts( 35 ) )
die();
$title = sprintf( __( '%1$s » Recent Posts' ), bb_get_option( 'name' ) );
$link = bb_get_uri();
$link_self = bb_get_posts_rss_link();
break;
}
}
bb_send_304( $posts[0]->post_time );
if (!$description = bb_get_option( 'description' ) ) {
$description = $title;
}
$title = apply_filters( 'bb_title_rss', $title, $feed );
$description = apply_filters( 'bb_description_rss', $description, $feed );
$posts = apply_filters( 'bb_posts_rss', $posts, $feed );
$link_self = apply_filters( 'bb_link_self_rss', $link_self, $feed );
bb_load_template( 'rss2.php', array('bb_db_override', 'title', 'description', 'link', 'link_self'), $feed );
?>In reply to: Hide Links@Shagalaga: Maybe you could use a hidden forum for guestbooks? One topic per user that’s had a comment posted, just use the existing topic functions and a modified post form on the bottom of their profile?
In reply to: Hide LinksI think should do it, it’s based off code here: https://bbpress.org/forums/topic/open-links-in-new-window
Change the values of $forums to the forum IDs of those you wish to restrict (it’ll only work on direct parent forums, not grandparents or categories, I don’t want to include walker code unless people need it).
Tested on 1.0.2 trunk, so I’m not 100% sure it’ll run on 0.9, sorry.
<?php
/*
Plugin Name: Remove Links (conditional)
Description: Removes links for non-registered users. Based on <a href="http://ckon.wordpress.com/2007/07/12/bbpress-plugin-bb-tweaks/">bb tweaks</a>.
Plugin URI: https://bbpress.org/forums/topic/hide-links
Version: 0.01
*/
function bb_strip_links( $text ) {
global $topic;
$forums = array(
1,
2,
3,
);
if ( !in_array( $topic->forum_id, $forums ) )
return $text;
if ( !bb_current_user_can( 'write_post' ) )
$text = preg_replace('|<a (.+?)>(.+?)</a>|i', 'Login or register to download', $text);
return $text;
}
add_filter('post_text', 'bb_strip_links');
?>@Hanratty: hiding links using CSS visibility will still leave the link URLs in the code, which isn’t too desirable for some
In reply to: Failing miserably at porting themeInteresting thing sometimes worth knowing: you don’t have to copy everything from Kakumei, since anything not found in your theme will be used from there. I find it helps to reduce clutter if you only copy files as you need to edit them, since you can work out what might have gone wrong later.
In reply to: Failing miserably at porting themeI guess it depends on the structure of the theme, but essentially you need to try and match the CSS elements in the theme’s stylesheet to their bbPress counterparts. Some of it will be redundant, and personally I found it easier to just take the bulk of the general styling and then add in the rest later. Didn’t turn out perfect though. I’d recommend using Kakumei as a base as well.
In reply to: 10,000 downloads of bbPress in AugustVery impressive indeed if that equates to anything like that number of forums, that’s pretty amazing