Search Results for 'code'
-
Search Results
-
Topic: A Bit of Feedback
I first found BBpress 3 years ago. Personally I don’t remember finding BBpress or what I used it for, but I know that my account on here is 3 years old. I wonder if I have amnesia

When I rediscovered BBpress yesterday I was pretty excited because the fact is that there isn’t anything like this on the net. This is the smoothest, lightest, nicest looking forum software out there.
However, (and it’s always the however that gets y0u) BBpress needs a little forum work. I made a pun. Seriously, just trying to download plugins has been a major pain. Half the files either don’t work or they aren’t there. Some have major security flaws.
So I ask you this, “Where are the forum moderators?” Make BBpress a bit more friendly and you’ll not only make it work better, you’ll also grab more interest from people who will make BBpress a phenomenon.
-Eric Novak
Graphic and Webdesigner
Topic: WordPress + bbPress Cookies
I have integrated WordPress 3.0 and bbPress 1.1 user tables and done all the steps and everything works well apart from the cookies

Here is the code I have for both my config files. Can’t see any reason why they shouldn’t be working…
BBPRESS CONFIG
<?php
/**
* The base configurations of bbPress.
*
* This file has the following configurations: MySQL settings, Table Prefix,
* Secret Keys and bbPress Language. You can get the MySQL settings from your
* web host.
*
* This file is used by the installer during installation.
*
* @package bbPress
*/
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for bbPress */
define( ‘BBDB_NAME’, ‘xxx’ );
/** MySQL database username */
define( ‘BBDB_USER’, ‘xxx’ );
/** MySQL database password */
define( ‘BBDB_PASSWORD’, ‘xxx’ );
/** MySQL hostname */
define( ‘BBDB_HOST’, ‘localhost’ );
/** Database Charset to use in creating database tables. */
define( ‘BBDB_CHARSET’, ‘utf8’ );
/** The Database Collate type. Don’t change this if in doubt. */
define( ‘BBDB_COLLATE’, ” );
/**#@+
* Authentication Unique Keys.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/bbpress/ WordPress.org secret-key service}
*
* @since 1.0
*/
define( ‘BB_AUTH_KEY’, ‘di*3e[%bIf}JWXFwxI=Qq|{c7J1
%RA;aR5yQ,2-vsxhT}p<Me:wNq$*+1=@Ycj’ );define( ‘BB_SECURE_AUTH_KEY’, ‘b^/nwHK+FR&8;gP&Z+q!,,.5|f;[rLv2NIV}eu-PxtqX|S)6#|rIB+9|>S:A-Oid’ );
define( ‘BB_LOGGED_IN_KEY’, ‘_>w2my8aud-$ Jv=%-wo [Fh+ /AQs^2:[^jY?}_oUNZ3dB>p<xol!]Z rq1;uIs’ );
define( ‘BB_NONCE_KEY’, ‘MImWoLh!X(>E6IkvRY$}76Xx(IV$4ijql<R/Zd0QR-L%-h2!a-DHR{V hu@1V*O]’ );
define(‘AUTH_KEY’, ‘di*3e[%bIf}JWXFwxI=Qq|{c7J1
%RA;aR5yQ,2-vsxhT}p<Me:wNq$*+1=@Ycj’);define(‘SECURE_AUTH_KEY’, ‘b^/nwHK+FR&8;gP&Z+q!,,.5|f;[rLv2NIV}eu-PxtqX|S)6#|rIB+9|>S:A-Oid’);
define(‘LOGGED_IN_KEY’, ‘_>w2my8aud-$ Jv=%-wo [Fh+ /AQs^2:[^jY?}_oUNZ3dB>p<xol!]Z rq1;uIs’);
define(‘NONCE_KEY’, ‘MImWoLh!X(>E6IkvRY$}76Xx(IV$4ijql<R/Zd0QR-L%-h2!a-DHR{V hu@1V*O]’);
define(‘AUTH_SALT’, ‘E[7bB=}$7&|c1t
:^X=0(s9}-Cz^&9C%9z@O(x2@bJ^f[>%%T$9wuATh(?A9h#s’);define(‘SECURE_AUTH_SALT’, ‘,dxYkzRyNG+pc@- UkhDBbx qT[4N;+=_|/R~||W672Xh6%{T!x|,kdh!G
-Pijs');
define('LOGGED_IN_SALT', 'V|UcSSwm{H}joP<code><@m&2-%I Nvhw3|gM-{$</code>*uhaX4xa{5*J*FUK1wGaI{u#|
=');
define('NONCE_SALT', ')$rgk@ke2;]{(hJ~Od%N^8F(-R[o(rCg$!hvDYV(Gh*+?AE/Ruz8M[>HDc};G]ZU');
/**#@-*/
/**
* bbPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$bb_table_prefix = 'pvbb_';
/**
* bbPress Localized Language, defaults to English.
*
* Change this to localize bbPress. A corresponding MO file for the chosen
* language must be installed to a directory called "my-languages" in the root
* directory of bbPress. For example, install de.mo to "my-languages" and set
* BB_LANG to 'de' to enable German language support.
*/
define( 'BB_LANG', '' );
define( 'COOKIEHASH', 'abe2eb1549111222254c933716b86d46' );
define( 'COOKIE_DOMAIN', 'www.paperviewmagazine.com' );
define( 'SITECOOKIEPATH', '/' );
define( 'COOKIEPATH', '/' );
?>
WORDPRESS CONFIG
<?php
/**
* The base configurations of the WordPress.
*
* This file has the following configurations: MySQL settings, Table Prefix,
* Secret Keys, WordPress Language, and ABSPATH. You can find more information by
* visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing
* wp-config.php} Codex page. You can get the MySQL settings from your web host.
*
* This file is used by the wp-config.php creation script during the
* installation. You don't have to use the web site, you can just copy this file
* to "wp-config.php" and fill in the values.
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxx');
/** MySQL database username */
define('DB_USER', 'xxx');
/** MySQL database password */
define('DB_PASSWORD', 'xxx');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
define('WP_ALLOW_MULTISITE', true);
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'di*3e[%bIf}JWXFwxI=Qq|{c7J1<code>%RA;aR5yQ,2-vsxhT}p<Me:w</code>Nq$*+1=@Ycj');
define('SECURE_AUTH_KEY', 'b^/nwHK+FR&8;gP&Z+q!,,.5|f;[rLv2NIV}eu-PxtqX|S)6#|rIB+9|>S:A-Oid');
define('LOGGED_IN_KEY', '_>w2my8aud-$ Jv=%-wo [Fh+ /AQs^2:[^jY?}_oUNZ3dB>p<xol!]Z rq1;uIs');
define('NONCE_KEY', 'MImWoLh!X(>E6IkvRY$}76Xx(IV$4ijql<R/Zd0QR-L%-h2!a-DHR{V hu@1V*O]');
define('AUTH_SALT', 'E[7bB=}$7&|c1t<code>:^X=0(s9}-Cz^&9C%9z@O(x2@</code>bJ^f[>%%T$9wuATh(?A9h#s');
define('SECURE_AUTH_SALT', ',dxYkzRyNG+pc@- UkhDBbx qT[4N;+=_|/R~||W672Xh6%{T!x|,kdh!G-Pijs’);
define(‘LOGGED_IN_SALT’, ‘V|UcSSwm{H}joP
<@m&2-%I Nvhw3|gM-{$*uhaX4xa{5*J*FUK1wGaI{u#|
=’);define(‘NONCE_SALT’, ‘)$rgk@ke2;]{(hJ~Od%N^8F(-R[o(rCg$!hvDYV(Gh*+?AE/Ruz8M[>HDc};G]ZU’);
define( ‘BB_AUTH_KEY’, ‘di*3e[%bIf}JWXFwxI=Qq|{c7J1
%RA;aR5yQ,2-vsxhT}p<Me:wNq$*+1=@Ycj’ );define( ‘BB_SECURE_AUTH_KEY’, ‘b^/nwHK+FR&8;gP&Z+q!,,.5|f;[rLv2NIV}eu-PxtqX|S)6#|rIB+9|>S:A-Oid’ );
define( ‘BB_LOGGED_IN_KEY’, ‘_>w2my8aud-$ Jv=%-wo [Fh+ /AQs^2:[^jY?}_oUNZ3dB>p<xol!]Z rq1;uIs’ );
define( ‘BB_NONCE_KEY’, ‘MImWoLh!X(>E6IkvRY$}76Xx(IV$4ijql<R/Zd0QR-L%-h2!a-DHR{V hu@1V*O]’ );
define( ‘COOKIEHASH’, ‘abe2eb1549111222254c933716b86d46’ );
define( ‘COOKIE_DOMAIN’, ‘www.paperviewmagazine.com’ );
define( ‘SITECOOKIEPATH’, ‘/’ );
define( ‘COOKIEPATH’, ‘/’ );
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = ‘pvwp_’;
/**
* WordPress Localized Language, defaults to English.
*
* Change this to localize WordPress. A corresponding MO file for the chosen
* language must be installed to wp-content/languages. For example, install
* de.mo to wp-content/languages and set WPLANG to ‘de’ to enable German
* language support.
*/
define (‘WPLANG’, ”);
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*/
define(‘WP_DEBUG’, false);
define( ‘MULTISITE’, true );
define( ‘VHOST’, ‘no’ );
$base = ‘/’;
define( ‘DOMAIN_CURRENT_SITE’, ‘www.paperviewmagazine.com’ );
define( ‘PATH_CURRENT_SITE’, ‘/’ );
define( ‘SITE_ID_CURRENT_SITE’, 1 );
define( ‘BLOG_ID_CURRENT_SITE’, 1 );
/* That’s all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . ‘wp-settings.php’);
?>`
E-mail subscription is one thing that most of my users miss. In trunk we have this built-in, but problem is that we can only have a link on which users could click to subscribe/unsubscribe and no checkboxes bellow post’s form or automatic subscription.
I inspected trunk to see how this could be solved and found that there aren’t any hooks that could be used. Only way is to copy existing functions used for subscription and editing them so that they could work as we want.
So I tried to follow this aproach and make function which would add checkboxes. I took inspiration from _ck_’s Subscribe to Topic plugin.
First thing, I wanted checkbox to show option depending on if user is already subscribed or not. By hacking function bb_user_subscribe_link I succeed in this. Here is a code:
function bb_user_subscribe_checkbox() {
global $topic, $bb_current_user, $bbdb, $bb;
if ( !bb_is_user_logged_in() )
return false;
$there = false;
if ( $term_id = $bbdb->get_var( “SELECT term_id FROM $bbdb->terms WHERE slug = ‘topic-$topic->topic_id'” ) ) {
$term_taxonomy_ids = $bbdb->get_col( “SELECT term_taxonomy_id FROM $bbdb->term_taxonomy WHERE term_id = $term_id AND taxonomy = ‘bb_subscribe'” );
$term_taxonomy_ids = join(‘,’, $term_taxonomy_ids );
$there = $bbdb->get_var( “SELECT object_id FROM $bbdb->term_relationships WHERE object_id = $bb_current_user->ID AND term_taxonomy_id IN ( $term_taxonomy_ids )” );
}
if ( $there )
echo ‘<label><input name=”subscription_checkbox” type=”checkbox” value=”remove” ‘ . checked_on_front(false, $there) . ‘>Remove my e-mail subscription for this thread</label>’;
else
echo ‘<label><input name=”subscription_checkbox” type=”checkbox” value=”add” ‘ . checked_on_front(false, $there) . ‘>Notify me of followup posts via e-mail</label>’;
}
function checked_on_front( $checked, $current) {
if ( $checked == $current)
return ‘ checked=”checked”‘;
}
add_action(‘edit_form’,’bb_user_subscribe_checkbox’,9);
add_action(‘post_form’,’bb_user_subscribe_checkbox’,9);
As I said above, this works. But problem is with function that should take value of checkbox and subscribe or unsubscribe user. I used code from file bb-includes/action.subscribe.php but without succes. Here is it:
function bb_checkbox_subscription_update($post_id=0) {
global $bbdb, $bb_current_user, $bb_post, $topic, $wp_taxonomy_object;
$bb_post=bb_get_post($post_id);
if (!empty($_REQUEST)) {
$checkbox_status = $_REQUEST;
if ( ‘add’ == $checkbox_status ) {
$tt_ids = $wp_taxonomy_object->set_object_terms( $bb_current_user->ID, ‘topic-‘ . $topic->topic_id, ‘bb_subscribe’, array( ‘append’ => true, ‘user_id’ => $bb_current_user->ID ) );
} elseif ( ‘remove’ == $checkbox_status ) {
// I hate this with the passion of a thousand suns
$term_id = $bbdb->get_var( “SELECT term_id FROM $bbdb->terms WHERE slug = ‘topic-$topic->topic_id'” );
$term_taxonomy_id = $bbdb->get_var( “SELECT term_taxonomy_id FROM $bbdb->term_taxonomy WHERE term_id = $term_id AND taxonomy = ‘bb_subscribe'” );
$bbdb->query( “DELETE FROM $bbdb->term_relationships WHERE object_id = $bb_current_user->ID AND term_taxonomy_id = $term_taxonomy_id” );
$bbdb->query( “DELETE FROM $bbdb->term_taxonomy WHERE term_id = $term_id AND taxonomy = ‘bb_subscribe'” );
}
}
}
add_action( ‘bb_insert_post’, ‘bb_checkbox_subscription_update’);
It does nothing. State of subscription of user is not changed but I also do not get any errors.
Is there any way to change this code so that it becomes useful?
Apart from above, after inspecting this code, I think that this could be solved much better, by making more functions and hooks which could be used by developers.
First, here is how subscription works. (links are to current revison, 2421).
In topic.php file of template, we call function bb_user_subscribe_link. This function is placed in bb-includes/funtions.templates.php and what it does is to show link with subscribe/unsubscribe action. Checking for state of subscription is done inside this function. Those links make GET request so in bb-load.php there is check for them which includes file bb-includes/action.subscribe.php. In this file there is function which adds values for subscription in database, based on request from link above, and finally redirects user to topic’s page.
Sending of notification is done via function bb_notify_subscribers in file bb-includes/functions.bb-posts.php. This function is called by action bb_new_post in bb-includes/default.bb-filters.php.
As you can see, we can’t use functions for this nor could we add hooks. My idea is following:
- splitting function bb_user_subscribe_link into one that does checking status of subscription for cuurent user, so that we can use it like in my example with checkboxes, and one which would only return link
- in bb-includes/action.subscribe.php (or in other functions file) make function that would do subscribing/unsubscribing in database so that it could be called on other places like in my example above; rest of file would be used as it now, with difference that we call function from last sentence
- in function bb_notify_subscribers add hook before sending e-mail so that we can, for example, have plugin which sends only one meesage to user, untill he visit topic again (as in other forum software, requested here)
- add bb_user_subscribe_link inside if function which checks if e-mail subscription is turned on globaly by administrator (there are forum owners who don’t want this feature for any of reasons; would be turned on by default)
What are others thinking about this, especialy those involved with development (commiters, patch-makers)? Could those solutions be made and included? I think that there isn’t much work for it because it is only hacking of existing code.
Really annoying. Any ideas? Thanks