Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
12/16/2025 04:29:43 PM (5 months ago)
Author:
espellcaste
Message:

Code Modernization: address the only, so far, two issues related to PHP 8.5.

  • Instances of using null as an array offset.
  • ArrayIterator::__construct(): Using an object as a backing array for ArrayIterator is deprecated.

Reference: https://wiki.php.net/rfc/deprecations_php_8_5\#deprecate_arrayobject_and_arrayiterator_with_objects

Follow-up to [14147].

Props espellcaste.

Closes https://github.com/buddypress/buddypress/pull/425
Fixes #9313 (14.0)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/14.0/src/bp-activity/classes/class-bp-activity-activity.php

    r13897 r14150  
    16291629     * @param string $spam                Optional. 'ham_only' (default), 'spam_only' or 'all'.
    16301630     * @param int    $top_level_parent_id Optional. The id of the root-level parent activity item.
    1631      * @return array The updated activities with nested comments.
     1631     * @return array|false The updated activities with nested comments. False if no comments are found.
    16321632     */
    16331633    public static function get_activity_comments( $activity_id, $left, $right, $spam = 'ham_only', $top_level_parent_id = 0 ) {
     
    17441744                        if ( isset( $direct_parent->secondary_item_id ) ) {
    17451745                            // If the direct parent is not an activity update, that means we've reached
    1746                             // the parent activity item (eg. new_blog_post).
     1746                            // the parent activity item (e.g. new_blog_post).
    17471747                            if ( 'activity_update' !== $direct_parent->type ) {
    17481748                                $parent_id = $r->item_id;
     
    20892089        return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 1 WHERE user_id = %d", $user_id ) );
    20902090    }
     2091
     2092    /**
     2093     * Recursively find a comment object from a nested comment tree.
     2094     *
     2095     * @since 14.5.0
     2096     *
     2097     * @param array $comments  Array of comment objects with nested children.
     2098     * @param int   $target_id The comment ID to find.
     2099     * @return object|false The comment object if found, false otherwise.
     2100     */
     2101    public static function find_comment_in_tree( $comments, $target_id ) {
     2102
     2103        if ( ! is_array( $comments ) ) {
     2104            return false;
     2105        }
     2106
     2107        foreach ( $comments as $comment_id => $comment ) {
     2108            // Skip items that are not a comment object.
     2109            if ( ! is_numeric( $comment_id ) || ! is_object( $comment ) ) {
     2110                continue;
     2111            }
     2112
     2113            if ( (int) $comment_id === (int) $target_id ) {
     2114                return $comment;
     2115            }
     2116
     2117            // Recurse into children if they exist.
     2118            if ( ! empty( $comment->children ) && is_array( $comment->children ) ) {
     2119                $found = self::find_comment_in_tree( $comment->children, $target_id );
     2120
     2121                if ( false !== $found ) {
     2122                    return $found;
     2123                }
     2124            }
     2125        }
     2126
     2127        return false;
     2128    }
    20912129}
Note: See TracChangeset for help on using the changeset viewer.