Version Description
- Fix anonymous post editing bug
Download this release
Release Info
Developer | johnjamesjacoby |
Plugin | bbPress |
Version | 2.0.1 |
Comparing to | |
See all releases |
Code changes from version 2.0 to 2.0.1
- bbp-admin/bbp-settings.php +1 -1
- bbp-includes/bbp-common-functions.php +5 -5
- bbp-includes/bbp-common-template.php +12 -3
- bbp-includes/bbp-core-compatibility.php +9 -4
- bbp-includes/bbp-core-widgets.php +1 -1
- bbp-includes/bbp-extend-akismet.php +1 -1
- bbp-includes/bbp-forum-template.php +14 -10
- bbp-includes/bbp-reply-functions.php +55 -1
- bbp-includes/bbp-reply-template.php +16 -9
- bbp-includes/bbp-topic-functions.php +64 -3
- bbp-includes/bbp-topic-template.php +9 -6
- bbpress.php +2 -2
- readme.txt +4 -10
- screenshot-1.png +0 -0
- screenshot-2.png +0 -0
- screenshot-3.png +0 -0
- screenshot-4.png +0 -0
- screenshot-5.png +0 -0
- screenshot-6.png +0 -0
- screenshot-7.png +0 -0
bbp-admin/bbp-settings.php
CHANGED
@@ -554,7 +554,7 @@ function bbp_form_option( $option, $default = '' , $slug = false ) {
|
|
554 |
function bbp_form_slug_conflict_check( $slug, $default ) {
|
555 |
|
556 |
// Only set the slugs once ver page load
|
557 |
-
static $the_core_slugs;
|
558 |
|
559 |
// Get the form value
|
560 |
$this_slug = bbp_get_form_option( $slug, $default, true );
|
554 |
function bbp_form_slug_conflict_check( $slug, $default ) {
|
555 |
|
556 |
// Only set the slugs once ver page load
|
557 |
+
static $the_core_slugs = array();
|
558 |
|
559 |
// Get the form value
|
560 |
$this_slug = bbp_get_form_option( $slug, $default, true );
|
bbp-includes/bbp-common-functions.php
CHANGED
@@ -1373,7 +1373,7 @@ function bbp_request_feed_trap( $query_vars ) {
|
|
1373 |
'post_type' => bbp_get_reply_post_type(),
|
1374 |
'post_parent' => 'any',
|
1375 |
'post_status' => join( ',', array( bbp_get_public_status_id(), bbp_get_closed_status_id() ) ),
|
1376 |
-
'posts_per_page' =>
|
1377 |
'order' => 'DESC',
|
1378 |
'meta_query' => $meta_query
|
1379 |
);
|
@@ -1390,7 +1390,7 @@ function bbp_request_feed_trap( $query_vars ) {
|
|
1390 |
'post_type' => bbp_get_topic_post_type(),
|
1391 |
'post_parent' => 'any',
|
1392 |
'post_status' => join( ',', array( bbp_get_public_status_id(), bbp_get_closed_status_id() ) ),
|
1393 |
-
'posts_per_page' =>
|
1394 |
'order' => 'DESC',
|
1395 |
'meta_query' => $meta_query
|
1396 |
);
|
@@ -1407,7 +1407,7 @@ function bbp_request_feed_trap( $query_vars ) {
|
|
1407 |
'post_type' => array( bbp_get_reply_post_type(), bbp_get_topic_post_type() ),
|
1408 |
'post_parent' => 'any',
|
1409 |
'post_status' => join( ',', array( bbp_get_public_status_id(), bbp_get_closed_status_id() ) ),
|
1410 |
-
'posts_per_page' =>
|
1411 |
'order' => 'DESC',
|
1412 |
'meta_query' => $meta_query
|
1413 |
);
|
@@ -1440,7 +1440,7 @@ function bbp_request_feed_trap( $query_vars ) {
|
|
1440 |
$the_query = array(
|
1441 |
'author' => 0,
|
1442 |
'post_parent' => 'any',
|
1443 |
-
'posts_per_page' =>
|
1444 |
'show_stickies' => false,
|
1445 |
);
|
1446 |
|
@@ -1455,7 +1455,7 @@ function bbp_request_feed_trap( $query_vars ) {
|
|
1455 |
|
1456 |
// The query
|
1457 |
$the_query = array(
|
1458 |
-
'posts_per_page' =>
|
1459 |
'meta_query' => array( array( ) )
|
1460 |
);
|
1461 |
|
1373 |
'post_type' => bbp_get_reply_post_type(),
|
1374 |
'post_parent' => 'any',
|
1375 |
'post_status' => join( ',', array( bbp_get_public_status_id(), bbp_get_closed_status_id() ) ),
|
1376 |
+
'posts_per_page' => bbp_get_replies_per_rss_page(),
|
1377 |
'order' => 'DESC',
|
1378 |
'meta_query' => $meta_query
|
1379 |
);
|
1390 |
'post_type' => bbp_get_topic_post_type(),
|
1391 |
'post_parent' => 'any',
|
1392 |
'post_status' => join( ',', array( bbp_get_public_status_id(), bbp_get_closed_status_id() ) ),
|
1393 |
+
'posts_per_page' => bbp_get_topics_per_rss_page(),
|
1394 |
'order' => 'DESC',
|
1395 |
'meta_query' => $meta_query
|
1396 |
);
|
1407 |
'post_type' => array( bbp_get_reply_post_type(), bbp_get_topic_post_type() ),
|
1408 |
'post_parent' => 'any',
|
1409 |
'post_status' => join( ',', array( bbp_get_public_status_id(), bbp_get_closed_status_id() ) ),
|
1410 |
+
'posts_per_page' => bbp_get_replies_per_rss_page(),
|
1411 |
'order' => 'DESC',
|
1412 |
'meta_query' => $meta_query
|
1413 |
);
|
1440 |
$the_query = array(
|
1441 |
'author' => 0,
|
1442 |
'post_parent' => 'any',
|
1443 |
+
'posts_per_page' => bbp_get_topics_per_rss_page(),
|
1444 |
'show_stickies' => false,
|
1445 |
);
|
1446 |
|
1455 |
|
1456 |
// The query
|
1457 |
$the_query = array(
|
1458 |
+
'posts_per_page' => bbp_get_replies_per_rss_page(),
|
1459 |
'meta_query' => array( array( ) )
|
1460 |
);
|
1461 |
|
bbp-includes/bbp-common-template.php
CHANGED
@@ -479,16 +479,25 @@ function bbp_is_single_user_edit() {
|
|
479 |
*
|
480 |
* @since bbPress (r2789)
|
481 |
*
|
482 |
-
* @
|
|
|
483 |
* @return bool Is it a view page?
|
484 |
*/
|
485 |
function bbp_is_single_view() {
|
486 |
global $wp_query;
|
487 |
|
|
|
|
|
|
|
|
|
488 |
if ( !empty( $wp_query->bbp_is_view ) && ( true == $wp_query->bbp_is_view ) )
|
489 |
-
|
490 |
|
491 |
-
|
|
|
|
|
|
|
|
|
492 |
}
|
493 |
|
494 |
/**
|
479 |
*
|
480 |
* @since bbPress (r2789)
|
481 |
*
|
482 |
+
* @global WP_Query $wp_query To check if WP_Query::bbp_is_view is true
|
483 |
+
* @uses bbp_get_query_name() To get the query name
|
484 |
* @return bool Is it a view page?
|
485 |
*/
|
486 |
function bbp_is_single_view() {
|
487 |
global $wp_query;
|
488 |
|
489 |
+
// Assume false
|
490 |
+
$retval = false;
|
491 |
+
|
492 |
+
// Check query
|
493 |
if ( !empty( $wp_query->bbp_is_view ) && ( true == $wp_query->bbp_is_view ) )
|
494 |
+
$retval = true;
|
495 |
|
496 |
+
// Check query name
|
497 |
+
if ( empty( $retval ) && bbp_is_query_name( 'bbp_single_view' ) )
|
498 |
+
$retval = true;
|
499 |
+
|
500 |
+
return (bool) apply_filters( 'bbp_is_single_view', $retval );
|
501 |
}
|
502 |
|
503 |
/**
|
bbp-includes/bbp-core-compatibility.php
CHANGED
@@ -1571,7 +1571,7 @@ function bbp_pre_get_posts( $posts_query ) {
|
|
1571 |
if ( !empty( $is_edit ) ) {
|
1572 |
|
1573 |
// Only allow super admins on multisite to edit every user.
|
1574 |
-
if ( ( is_multisite() && !current_user_can( 'manage_network_users' ) &&
|
1575 |
wp_die( __( 'You do not have the permission to edit this user.', 'bbpress' ) );
|
1576 |
}
|
1577 |
|
@@ -1631,6 +1631,11 @@ function bbp_pre_get_posts( $posts_query ) {
|
|
1631 |
// Topic/Reply Edit Page
|
1632 |
} elseif ( !empty( $is_edit ) ) {
|
1633 |
|
|
|
|
|
|
|
|
|
|
|
1634 |
// We are editing a topic
|
1635 |
if ( $posts_query->get( 'post_type' ) == bbp_get_topic_post_type() ) {
|
1636 |
$posts_query->bbp_is_topic_edit = true;
|
@@ -1671,9 +1676,9 @@ function bbp_pre_get_posts( $posts_query ) {
|
|
1671 |
|
1672 |
// Topic tag page
|
1673 |
} elseif ( bbp_is_topic_tag() ) {
|
1674 |
-
$posts_query->set( 'bbp_topic_tag', get_query_var( 'term' )
|
1675 |
-
$posts_query->set( 'post_type', bbp_get_topic_post_type()
|
1676 |
-
$posts_query->set( 'posts_per_page',
|
1677 |
}
|
1678 |
}
|
1679 |
|
1571 |
if ( !empty( $is_edit ) ) {
|
1572 |
|
1573 |
// Only allow super admins on multisite to edit every user.
|
1574 |
+
if ( !is_user_logged_in() || ( is_multisite() && !current_user_can( 'manage_network_users' ) && ( $user->ID != bbp_get_current_user_id() ) && !apply_filters( 'enable_edit_any_user_configuration', true ) ) || !current_user_can( 'edit_user', $user->ID ) ) {
|
1575 |
wp_die( __( 'You do not have the permission to edit this user.', 'bbpress' ) );
|
1576 |
}
|
1577 |
|
1631 |
// Topic/Reply Edit Page
|
1632 |
} elseif ( !empty( $is_edit ) ) {
|
1633 |
|
1634 |
+
// Bail from edit if user is not logged in
|
1635 |
+
if ( !is_user_logged_in() ) {
|
1636 |
+
return;
|
1637 |
+
}
|
1638 |
+
|
1639 |
// We are editing a topic
|
1640 |
if ( $posts_query->get( 'post_type' ) == bbp_get_topic_post_type() ) {
|
1641 |
$posts_query->bbp_is_topic_edit = true;
|
1676 |
|
1677 |
// Topic tag page
|
1678 |
} elseif ( bbp_is_topic_tag() ) {
|
1679 |
+
$posts_query->set( 'bbp_topic_tag', get_query_var( 'term' ) );
|
1680 |
+
$posts_query->set( 'post_type', bbp_get_topic_post_type() );
|
1681 |
+
$posts_query->set( 'posts_per_page', bbp_get_topics_per_page() );
|
1682 |
}
|
1683 |
}
|
1684 |
|
bbp-includes/bbp-core-widgets.php
CHANGED
@@ -100,7 +100,7 @@ class BBP_Login_Widget extends WP_Widget {
|
|
100 |
|
101 |
<?php do_action( 'login_form' ); ?>
|
102 |
|
103 |
-
<button type="submit" name="user-submit" id="user-submit" tabindex="<?php bbp_tab_index(); ?>" class="button submit user-submit"
|
104 |
|
105 |
<?php bbp_user_login_fields(); ?>
|
106 |
|
100 |
|
101 |
<?php do_action( 'login_form' ); ?>
|
102 |
|
103 |
+
<button type="submit" name="user-submit" id="user-submit" tabindex="<?php bbp_tab_index(); ?>" class="button submit user-submit"><?php _e( 'Log In', 'bbpress' ); ?></button>
|
104 |
|
105 |
<?php bbp_user_login_fields(); ?>
|
106 |
|
bbp-includes/bbp-extend-akismet.php
CHANGED
@@ -575,7 +575,7 @@ class BBP_Akismet {
|
|
575 |
* Submit data to Akismet service with unique bbPress User Agent
|
576 |
*
|
577 |
* This code is directly taken from the akismet_http_post() function and
|
578 |
-
* documented to bbPress
|
579 |
*
|
580 |
* @since bbPress (r3466)
|
581 |
*
|
575 |
* Submit data to Akismet service with unique bbPress User Agent
|
576 |
*
|
577 |
* This code is directly taken from the akismet_http_post() function and
|
578 |
+
* documented to bbPress standard.
|
579 |
*
|
580 |
* @since bbPress (r3466)
|
581 |
*
|
bbp-includes/bbp-forum-template.php
CHANGED
@@ -1579,32 +1579,36 @@ function bbp_suppress_private_author_link( $author_link, $args ) {
|
|
1579 |
*
|
1580 |
* @since bbPress (r2667)
|
1581 |
*
|
|
|
1582 |
* @uses bbp_get_forum_class() To get the row class of the forum
|
1583 |
*/
|
1584 |
-
function bbp_forum_class() {
|
1585 |
-
echo bbp_get_forum_class();
|
1586 |
}
|
1587 |
/**
|
1588 |
* Return the row class of a forum
|
1589 |
*
|
1590 |
* @since bbPress (r2667)
|
1591 |
*
|
1592 |
-
* @
|
|
|
1593 |
* @uses apply_filters() Calls 'bbp_get_forum_class' with the classes
|
1594 |
* @return string Row class of the forum
|
1595 |
*/
|
1596 |
-
function bbp_get_forum_class() {
|
1597 |
global $bbp;
|
1598 |
|
|
|
|
|
1599 |
$classes = array();
|
1600 |
-
$classes[] = $
|
1601 |
-
$classes[] = bbp_is_forum_category() ? 'status-category' : '';
|
1602 |
-
$classes[] = bbp_is_forum_private() ? 'status-private' : '';
|
1603 |
$classes = array_filter( $classes );
|
|
|
|
|
1604 |
|
1605 |
-
|
1606 |
-
|
1607 |
-
return apply_filters( 'bbp_get_forum_class', $post );
|
1608 |
}
|
1609 |
|
1610 |
/** Single Forum **************************************************************/
|
1579 |
*
|
1580 |
* @since bbPress (r2667)
|
1581 |
*
|
1582 |
+
* @param int $forum_id Optional. Forum ID.
|
1583 |
* @uses bbp_get_forum_class() To get the row class of the forum
|
1584 |
*/
|
1585 |
+
function bbp_forum_class( $forum_id = 0 ) {
|
1586 |
+
echo bbp_get_forum_class( $forum_id );
|
1587 |
}
|
1588 |
/**
|
1589 |
* Return the row class of a forum
|
1590 |
*
|
1591 |
* @since bbPress (r2667)
|
1592 |
*
|
1593 |
+
* @param int $forum_id Optional. Forum ID
|
1594 |
+
* @uses get_post_class() To get all the classes including ours
|
1595 |
* @uses apply_filters() Calls 'bbp_get_forum_class' with the classes
|
1596 |
* @return string Row class of the forum
|
1597 |
*/
|
1598 |
+
function bbp_get_forum_class( $forum_id = 0 ) {
|
1599 |
global $bbp;
|
1600 |
|
1601 |
+
$forum_id = bbp_get_forum_id( $forum_id );
|
1602 |
+
$count = isset( $bbp->forum_query->current_post ) ? $bbp->forum_query->current_post : 1;
|
1603 |
$classes = array();
|
1604 |
+
$classes[] = ( (int) $count % 2 ) ? 'even' : 'odd';
|
1605 |
+
$classes[] = bbp_is_forum_category( $forum_id ) ? 'status-category' : '';
|
1606 |
+
$classes[] = bbp_is_forum_private( $forum_id ) ? 'status-private' : '';
|
1607 |
$classes = array_filter( $classes );
|
1608 |
+
$retval = get_post_class( $classes, $forum_id );
|
1609 |
+
$retval = 'class="' . join( ' ', $retval ) . '"';
|
1610 |
|
1611 |
+
return apply_filters( 'bbp_get_forum_class', $retval, $forum_id );
|
|
|
|
|
1612 |
}
|
1613 |
|
1614 |
/** Single Forum **************************************************************/
|
bbp-includes/bbp-reply-functions.php
CHANGED
@@ -961,6 +961,7 @@ function bbp_toggle_reply_handler() {
|
|
961 |
if ( !in_array( $_GET['action'], $possible_actions ) )
|
962 |
return;
|
963 |
|
|
|
964 |
$view_all = false; // Assume not viewing all
|
965 |
$action = $_GET['action']; // What action is taking place?
|
966 |
$reply_id = (int) $_GET['reply_id']; // What's the reply id?
|
@@ -968,7 +969,8 @@ function bbp_toggle_reply_handler() {
|
|
968 |
$post_data = array( 'ID' => $reply_id ); // Prelim array
|
969 |
|
970 |
// Make sure reply exists
|
971 |
-
|
|
|
972 |
return;
|
973 |
|
974 |
// What is the user doing here?
|
@@ -1252,6 +1254,58 @@ function bbp_untrashed_reply( $reply_id = 0 ) {
|
|
1252 |
do_action( 'bbp_untrashed_reply', $reply_id );
|
1253 |
}
|
1254 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1255 |
/** Feeds *********************************************************************/
|
1256 |
|
1257 |
/**
|
961 |
if ( !in_array( $_GET['action'], $possible_actions ) )
|
962 |
return;
|
963 |
|
964 |
+
$failure = ''; // Empty failure string
|
965 |
$view_all = false; // Assume not viewing all
|
966 |
$action = $_GET['action']; // What action is taking place?
|
967 |
$reply_id = (int) $_GET['reply_id']; // What's the reply id?
|
969 |
$post_data = array( 'ID' => $reply_id ); // Prelim array
|
970 |
|
971 |
// Make sure reply exists
|
972 |
+
$reply = bbp_get_reply( $reply_id );
|
973 |
+
if ( empty( $reply ) )
|
974 |
return;
|
975 |
|
976 |
// What is the user doing here?
|
1254 |
do_action( 'bbp_untrashed_reply', $reply_id );
|
1255 |
}
|
1256 |
|
1257 |
+
/** Settings ******************************************************************/
|
1258 |
+
|
1259 |
+
/**
|
1260 |
+
* Return the replies per page setting
|
1261 |
+
*
|
1262 |
+
* @since bbPress (r3540)
|
1263 |
+
*
|
1264 |
+
* @uses get_option() To get the setting
|
1265 |
+
* @uses apply_filters() To allow the return value to be manipulated
|
1266 |
+
* @return int
|
1267 |
+
*/
|
1268 |
+
function bbp_get_replies_per_page() {
|
1269 |
+
|
1270 |
+
// The default per setting
|
1271 |
+
$default = 15;
|
1272 |
+
|
1273 |
+
// Get database option and cast as integer
|
1274 |
+
$per = $retval = (int) get_option( '_bbp_replies_per_page', $default );
|
1275 |
+
|
1276 |
+
// If return val is empty, set it to default
|
1277 |
+
if ( empty( $retval ) )
|
1278 |
+
$retval = $default;
|
1279 |
+
|
1280 |
+
// Filter and return
|
1281 |
+
return (int) apply_filters( 'bbp_get_replies_per_page', $retval, $per );
|
1282 |
+
}
|
1283 |
+
|
1284 |
+
/**
|
1285 |
+
* Return the replies per RSS page setting
|
1286 |
+
*
|
1287 |
+
* @since bbPress (r3540)
|
1288 |
+
*
|
1289 |
+
* @uses get_option() To get the setting
|
1290 |
+
* @uses apply_filters() To allow the return value to be manipulated
|
1291 |
+
* @return int
|
1292 |
+
*/
|
1293 |
+
function bbp_get_replies_per_rss_page() {
|
1294 |
+
|
1295 |
+
// The default per setting
|
1296 |
+
$default = 25;
|
1297 |
+
|
1298 |
+
// Get database option and cast as integer
|
1299 |
+
$per = $retval = (int) get_option( '_bbp_replies_per_rss_page', $default );
|
1300 |
+
|
1301 |
+
// If return val is empty, set it to default
|
1302 |
+
if ( empty( $retval ) )
|
1303 |
+
$retval = $default;
|
1304 |
+
|
1305 |
+
// Filter and return
|
1306 |
+
return (int) apply_filters( 'bbp_get_replies_per_rss_page', $retval, $per );
|
1307 |
+
}
|
1308 |
+
|
1309 |
/** Feeds *********************************************************************/
|
1310 |
|
1311 |
/**
|
bbp-includes/bbp-reply-template.php
CHANGED
@@ -100,7 +100,7 @@ function bbp_has_replies( $args = '' ) {
|
|
100 |
'order' => 'ASC',
|
101 |
|
102 |
// Max number
|
103 |
-
'posts_per_page' =>
|
104 |
|
105 |
// Page Number
|
106 |
'paged' => bbp_get_paged(),
|
@@ -377,7 +377,7 @@ function bbp_reply_url( $reply_id = 0 ) {
|
|
377 |
$reply_position = bbp_get_reply_position ( $reply_id, $topic_id );
|
378 |
|
379 |
// Check if in query with pagination
|
380 |
-
$reply_page = ceil( $reply_position /
|
381 |
|
382 |
// Hash to add to end of URL
|
383 |
$reply_hash = '#post-' . $reply_id;
|
@@ -1704,27 +1704,34 @@ function bbp_topic_split_link( $args = '' ) {
|
|
1704 |
* Output the row class of a reply
|
1705 |
*
|
1706 |
* @since bbPress (r2678)
|
|
|
|
|
|
|
1707 |
*/
|
1708 |
-
function bbp_reply_class() {
|
1709 |
-
echo bbp_get_reply_class();
|
1710 |
}
|
1711 |
/**
|
1712 |
* Return the row class of a reply
|
1713 |
*
|
1714 |
* @since bbPress (r2678)
|
1715 |
*
|
1716 |
-
* @
|
|
|
1717 |
* @uses apply_filters() Calls 'bbp_get_reply_class' with the classes
|
1718 |
* @return string Row class of the reply
|
1719 |
*/
|
1720 |
-
function bbp_get_reply_class() {
|
1721 |
global $bbp;
|
1722 |
|
|
|
1723 |
$count = isset( $bbp->reply_query->current_post ) ? $bbp->reply_query->current_post : 1;
|
1724 |
-
$
|
1725 |
-
$
|
|
|
|
|
1726 |
|
1727 |
-
return apply_filters( '
|
1728 |
}
|
1729 |
|
1730 |
/**
|
100 |
'order' => 'ASC',
|
101 |
|
102 |
// Max number
|
103 |
+
'posts_per_page' => bbp_get_replies_per_page(),
|
104 |
|
105 |
// Page Number
|
106 |
'paged' => bbp_get_paged(),
|
377 |
$reply_position = bbp_get_reply_position ( $reply_id, $topic_id );
|
378 |
|
379 |
// Check if in query with pagination
|
380 |
+
$reply_page = ceil( (int) $reply_position / (int) bbp_get_replies_per_page() );
|
381 |
|
382 |
// Hash to add to end of URL
|
383 |
$reply_hash = '#post-' . $reply_id;
|
1704 |
* Output the row class of a reply
|
1705 |
*
|
1706 |
* @since bbPress (r2678)
|
1707 |
+
*
|
1708 |
+
* @param int $reply_id Optional. Reply ID
|
1709 |
+
* @uses bbp_get_reply_class() To get the reply class
|
1710 |
*/
|
1711 |
+
function bbp_reply_class( $reply_id = 0 ) {
|
1712 |
+
echo bbp_get_reply_class( $reply_id );
|
1713 |
}
|
1714 |
/**
|
1715 |
* Return the row class of a reply
|
1716 |
*
|
1717 |
* @since bbPress (r2678)
|
1718 |
*
|
1719 |
+
* @param int $reply_id Optional. Reply ID
|
1720 |
+
* @uses get_post_class() To get all the classes including ours
|
1721 |
* @uses apply_filters() Calls 'bbp_get_reply_class' with the classes
|
1722 |
* @return string Row class of the reply
|
1723 |
*/
|
1724 |
+
function bbp_get_reply_class( $reply_id = 0 ) {
|
1725 |
global $bbp;
|
1726 |
|
1727 |
+
$reply_id = bbp_get_reply_id( $reply_id );
|
1728 |
$count = isset( $bbp->reply_query->current_post ) ? $bbp->reply_query->current_post : 1;
|
1729 |
+
$classes = array();
|
1730 |
+
$classes[] = ( (int) $count % 2 ) ? 'even' : 'odd';
|
1731 |
+
$retval = get_post_class( $classes, $reply_id );
|
1732 |
+
$retval = 'class="' . join( ' ', $retval ) . '"';
|
1733 |
|
1734 |
+
return apply_filters( 'bbp_get_reply_class', $retval, $reply_id );
|
1735 |
}
|
1736 |
|
1737 |
/**
|
bbp-includes/bbp-topic-functions.php
CHANGED
@@ -791,7 +791,10 @@ function bbp_update_topic( $topic_id = 0, $forum_id = 0, $anonymous_data = false
|
|
791 |
function bbp_update_topic_walker( $topic_id, $last_active_time = '', $forum_id = 0, $reply_id = 0, $refresh = true ) {
|
792 |
|
793 |
// Validate topic_id
|
794 |
-
$topic_id
|
|
|
|
|
|
|
795 |
|
796 |
// Topic was passed
|
797 |
if ( !empty( $topic_id ) ) {
|
@@ -880,7 +883,7 @@ function bbp_move_topic_handler( $topic_id, $old_forum_id, $new_forum_id ) {
|
|
880 |
|
881 |
// Add non-matches to the updated array
|
882 |
if ( $topic_id != $sticky_topic_id ) {
|
883 |
-
$updated_stickies[
|
884 |
}
|
885 |
}
|
886 |
|
@@ -1824,14 +1827,17 @@ function bbp_toggle_topic_handler() {
|
|
1824 |
if ( !in_array( $_GET['action'], $possible_actions ) )
|
1825 |
return;
|
1826 |
|
|
|
1827 |
$view_all = false; // Assume not viewing all
|
1828 |
$action = $_GET['action']; // What action is taking place?
|
1829 |
$topic_id = (int) $_GET['topic_id']; // What's the topic id?
|
1830 |
$success = false; // Flag
|
1831 |
$post_data = array( 'ID' => $topic_id ); // Prelim array
|
|
|
1832 |
|
1833 |
// Make sure topic exists
|
1834 |
-
|
|
|
1835 |
return;
|
1836 |
|
1837 |
// What is the user doing here?
|
@@ -2500,6 +2506,9 @@ function bbp_spam_topic( $topic_id = 0 ) {
|
|
2500 |
// Get topic tags
|
2501 |
$terms = get_the_terms( $topic_id, bbp_get_topic_tag_tax_id() );
|
2502 |
|
|
|
|
|
|
|
2503 |
// Topic has tags
|
2504 |
if ( !empty( $terms ) ) {
|
2505 |
|
@@ -2877,6 +2886,58 @@ function bbp_untrashed_topic( $topic_id = 0 ) {
|
|
2877 |
do_action( 'bbp_untrashed_topic', $topic_id );
|
2878 |
}
|
2879 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2880 |
/** Feeds *********************************************************************/
|
2881 |
|
2882 |
/**
|
791 |
function bbp_update_topic_walker( $topic_id, $last_active_time = '', $forum_id = 0, $reply_id = 0, $refresh = true ) {
|
792 |
|
793 |
// Validate topic_id
|
794 |
+
$topic_id = bbp_get_topic_id( $topic_id );
|
795 |
+
|
796 |
+
// Define local variable(s)
|
797 |
+
$active_id = 0;
|
798 |
|
799 |
// Topic was passed
|
800 |
if ( !empty( $topic_id ) ) {
|
883 |
|
884 |
// Add non-matches to the updated array
|
885 |
if ( $topic_id != $sticky_topic_id ) {
|
886 |
+
$updated_stickies[] = $sticky_topic_id;
|
887 |
}
|
888 |
}
|
889 |
|
1827 |
if ( !in_array( $_GET['action'], $possible_actions ) )
|
1828 |
return;
|
1829 |
|
1830 |
+
$failure = ''; // Empty failure string
|
1831 |
$view_all = false; // Assume not viewing all
|
1832 |
$action = $_GET['action']; // What action is taking place?
|
1833 |
$topic_id = (int) $_GET['topic_id']; // What's the topic id?
|
1834 |
$success = false; // Flag
|
1835 |
$post_data = array( 'ID' => $topic_id ); // Prelim array
|
1836 |
+
$redirect = ''; // Empty redirect URL
|
1837 |
|
1838 |
// Make sure topic exists
|
1839 |
+
$topic = bbp_get_topic( $topic_id );
|
1840 |
+
if ( empty( $topic ) )
|
1841 |
return;
|
1842 |
|
1843 |
// What is the user doing here?
|
2506 |
// Get topic tags
|
2507 |
$terms = get_the_terms( $topic_id, bbp_get_topic_tag_tax_id() );
|
2508 |
|
2509 |
+
// Define local variable(s)
|
2510 |
+
$term_names = array();
|
2511 |
+
|
2512 |
// Topic has tags
|
2513 |
if ( !empty( $terms ) ) {
|
2514 |
|
2886 |
do_action( 'bbp_untrashed_topic', $topic_id );
|
2887 |
}
|
2888 |
|
2889 |
+
/** Settings ******************************************************************/
|
2890 |
+
|
2891 |
+
/**
|
2892 |
+
* Return the topics per page setting
|
2893 |
+
*
|
2894 |
+
* @since bbPress (r3540)
|
2895 |
+
*
|
2896 |
+
* @uses get_option() To get the setting
|
2897 |
+
* @uses apply_filters() To allow the return value to be manipulated
|
2898 |
+
* @return int
|
2899 |
+
*/
|
2900 |
+
function bbp_get_topics_per_page() {
|
2901 |
+
|
2902 |
+
// The default per setting
|
2903 |
+
$default = 15;
|
2904 |
+
|
2905 |
+
// Get database option and cast as integer
|
2906 |
+
$per = $retval = (int) get_option( '_bbp_topics_per_page', $default );
|
2907 |
+
|
2908 |
+
// If return val is empty, set it to default
|
2909 |
+
if ( empty( $retval ) )
|
2910 |
+
$retval = $default;
|
2911 |
+
|
2912 |
+
// Filter and return
|
2913 |
+
return (int) apply_filters( 'bbp_get_topics_per_page', $retval, $per );
|
2914 |
+
}
|
2915 |
+
|
2916 |
+
/**
|
2917 |
+
* Return the topics per RSS page setting
|
2918 |
+
*
|
2919 |
+
* @since bbPress (r3540)
|
2920 |
+
*
|
2921 |
+
* @uses get_option() To get the setting
|
2922 |
+
* @uses apply_filters() To allow the return value to be manipulated
|
2923 |
+
* @return int
|
2924 |
+
*/
|
2925 |
+
function bbp_get_topics_per_rss_page() {
|
2926 |
+
|
2927 |
+
// The default per setting
|
2928 |
+
$default = 25;
|
2929 |
+
|
2930 |
+
// Get database option and cast as integer
|
2931 |
+
$per = $retval = (int) get_option( '_bbp_topics_per_rss_page', $default );
|
2932 |
+
|
2933 |
+
// If return val is empty, set it to default
|
2934 |
+
if ( empty( $retval ) )
|
2935 |
+
$retval = $default;
|
2936 |
+
|
2937 |
+
// Filter and return
|
2938 |
+
return (int) apply_filters( 'bbp_get_topics_per_rss_page', $retval, $per );
|
2939 |
+
}
|
2940 |
+
|
2941 |
/** Feeds *********************************************************************/
|
2942 |
|
2943 |
/**
|
bbp-includes/bbp-topic-template.php
CHANGED
@@ -93,7 +93,7 @@ function bbp_has_topics( $args = '' ) {
|
|
93 |
'order' => 'DESC',
|
94 |
|
95 |
// Topics per page
|
96 |
-
'posts_per_page' =>
|
97 |
|
98 |
// Page Number
|
99 |
'paged' => bbp_get_paged(),
|
@@ -678,7 +678,7 @@ function bbp_topic_pagination( $args = '' ) {
|
|
678 |
$pagination = array(
|
679 |
'base' => $base,
|
680 |
'format' => '',
|
681 |
-
'total' => ceil( (int) $total / (int)
|
682 |
'current' => 0,
|
683 |
'prev_next' => false,
|
684 |
'mid_size' => 2,
|
@@ -1923,7 +1923,7 @@ function bbp_topic_class( $topic_id = 0 ) {
|
|
1923 |
* @uses bbp_is_topic_sticky() To check if the topic is a sticky
|
1924 |
* @uses bbp_is_topic_super_sticky() To check if the topic is a super
|
1925 |
* sticky
|
1926 |
-
* @uses
|
1927 |
* @uses apply_filters() Calls 'bbp_get_topic_class' with the classes
|
1928 |
* and topic id
|
1929 |
* @return string Row class of a topic
|
@@ -1931,14 +1931,17 @@ function bbp_topic_class( $topic_id = 0 ) {
|
|
1931 |
function bbp_get_topic_class( $topic_id = 0 ) {
|
1932 |
global $bbp;
|
1933 |
|
|
|
|
|
1934 |
$classes = array();
|
1935 |
-
$classes[] = $
|
1936 |
$classes[] = bbp_is_topic_sticky( $topic_id, false ) ? 'sticky' : '';
|
1937 |
$classes[] = bbp_is_topic_super_sticky( $topic_id ) ? 'super-sticky' : '';
|
1938 |
$classes = array_filter( $classes );
|
1939 |
-
$
|
|
|
1940 |
|
1941 |
-
return apply_filters( 'bbp_get_topic_class', $
|
1942 |
}
|
1943 |
|
1944 |
/** Topic Admin Links *********************************************************/
|
93 |
'order' => 'DESC',
|
94 |
|
95 |
// Topics per page
|
96 |
+
'posts_per_page' => bbp_get_topics_per_page(),
|
97 |
|
98 |
// Page Number
|
99 |
'paged' => bbp_get_paged(),
|
678 |
$pagination = array(
|
679 |
'base' => $base,
|
680 |
'format' => '',
|
681 |
+
'total' => ceil( (int) $total / (int) bbp_get_replies_per_page() ),
|
682 |
'current' => 0,
|
683 |
'prev_next' => false,
|
684 |
'mid_size' => 2,
|
1923 |
* @uses bbp_is_topic_sticky() To check if the topic is a sticky
|
1924 |
* @uses bbp_is_topic_super_sticky() To check if the topic is a super
|
1925 |
* sticky
|
1926 |
+
* @uses get_post_class() To get the topic classes
|
1927 |
* @uses apply_filters() Calls 'bbp_get_topic_class' with the classes
|
1928 |
* and topic id
|
1929 |
* @return string Row class of a topic
|
1931 |
function bbp_get_topic_class( $topic_id = 0 ) {
|
1932 |
global $bbp;
|
1933 |
|
1934 |
+
$topic_id = bbp_get_topic_id( $topic_id );
|
1935 |
+
$count = isset( $bbp->topic_query->current_post ) ? $bbp->topic_query->current_post : 1;
|
1936 |
$classes = array();
|
1937 |
+
$classes[] = ( (int) $count % 2 ) ? 'even' : 'odd';
|
1938 |
$classes[] = bbp_is_topic_sticky( $topic_id, false ) ? 'sticky' : '';
|
1939 |
$classes[] = bbp_is_topic_super_sticky( $topic_id ) ? 'super-sticky' : '';
|
1940 |
$classes = array_filter( $classes );
|
1941 |
+
$retval = get_post_class( $classes, $topic_id );
|
1942 |
+
$retval = 'class="' . join( ' ', $retval ) . '"';
|
1943 |
|
1944 |
+
return apply_filters( 'bbp_get_topic_class', $retval, $topic_id );
|
1945 |
}
|
1946 |
|
1947 |
/** Topic Admin Links *********************************************************/
|
bbpress.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Description: bbPress is forum software with a twist from the creators of WordPress.
|
16 |
* Author: The bbPress Community
|
17 |
* Author URI: http://bbpress.org
|
18 |
-
* Version: 2.0
|
19 |
* Text Domain: bbpress
|
20 |
* Domain Path: /bbp-languages/
|
21 |
*/
|
@@ -48,7 +48,7 @@ class bbPress {
|
|
48 |
/**
|
49 |
* @public string bbPress version
|
50 |
*/
|
51 |
-
public $version = '2.0';
|
52 |
|
53 |
/**
|
54 |
* @public string bbPress DB version
|
15 |
* Description: bbPress is forum software with a twist from the creators of WordPress.
|
16 |
* Author: The bbPress Community
|
17 |
* Author URI: http://bbpress.org
|
18 |
+
* Version: 2.0.1
|
19 |
* Text Domain: bbpress
|
20 |
* Domain Path: /bbp-languages/
|
21 |
*/
|
48 |
/**
|
49 |
* @public string bbPress version
|
50 |
*/
|
51 |
+
public $version = '2.0.1';
|
52 |
|
53 |
/**
|
54 |
* @public string bbPress DB version
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: matt, johnjamesjacoby
|
|
3 |
Tags: bbpress, forums, discussion, support, theme, buddypress, akismet, multisite
|
4 |
Requires at least: 3.2.1
|
5 |
Tested up to: 3.2.1
|
6 |
-
Stable tag: 2.0
|
7 |
|
8 |
bbPress is forum software with a twist from the creators of WordPress
|
9 |
|
@@ -22,17 +22,11 @@ We're keeping things as small and light as possible while still allowing for gre
|
|
22 |
5. View your site.
|
23 |
6. Adjust the CSS of your theme as needed, to make everything pretty.
|
24 |
|
25 |
-
== Screenshots ==
|
26 |
-
1. Forums - Admin Interface
|
27 |
-
2. Topics - Admin Interface
|
28 |
-
3. Replies - Admin Interface
|
29 |
-
4. Settings 1 - Admin Interface
|
30 |
-
5. Settings 2 - Admin Interface
|
31 |
-
6. Themes - Admin Interface
|
32 |
-
7. Single Forum - Default Theme
|
33 |
-
|
34 |
== Changelog ==
|
35 |
|
|
|
|
|
|
|
36 |
= 2.0 =
|
37 |
* Released on September 21, 2011
|
38 |
|
3 |
Tags: bbpress, forums, discussion, support, theme, buddypress, akismet, multisite
|
4 |
Requires at least: 3.2.1
|
5 |
Tested up to: 3.2.1
|
6 |
+
Stable tag: 2.0.1
|
7 |
|
8 |
bbPress is forum software with a twist from the creators of WordPress
|
9 |
|
22 |
5. View your site.
|
23 |
6. Adjust the CSS of your theme as needed, to make everything pretty.
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
== Changelog ==
|
26 |
|
27 |
+
= 2.0.1 =
|
28 |
+
* Fix anonymous post editing bug
|
29 |
+
|
30 |
= 2.0 =
|
31 |
* Released on September 21, 2011
|
32 |
|
screenshot-1.png
DELETED
Binary file
|
screenshot-2.png
DELETED
Binary file
|
screenshot-3.png
DELETED
Binary file
|
screenshot-4.png
DELETED
Binary file
|
screenshot-5.png
DELETED
Binary file
|
screenshot-6.png
DELETED
Binary file
|
screenshot-7.png
DELETED
Binary file
|