bp_document_user_document_folder_tree_view_li_html( int $user_id, int $group_id )
Return the breadcrumbs.
Description
Parameters
- $user_id
-
(Required)
- $group_id
-
(Required)
Return
(string)
Source
File: bp-document/bp-document-functions.php
2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 | function bp_document_user_document_folder_tree_view_li_html( $user_id = 0, $group_id = 0 ) { global $wpdb , $bp ; $document_folder_table = $bp ->document->table_name_folder; if ( 0 === $group_id ) { $group_id = ( function_exists( 'bp_get_current_group_id' ) ) ? bp_get_current_group_id() : 0; } $documents_folder_query = $wpdb ->prepare( "SELECT * FROM {$document_folder_table} WHERE user_id = %d AND group_id = %d ORDER BY id DESC" , $user_id , $group_id ); $data = $wpdb ->get_results( $documents_folder_query , ARRAY_A ); // db call ok; no-cache ok; // Build array of item references: foreach ( $data as $key => & $item ) { $itemsByReference [ $item [ 'id' ] ] = & $item ; // Children array: $itemsByReference [ $item [ 'id' ] ][ 'children' ] = array (); // Empty data class (so that json_encode adds "data: {}" ) $itemsByReference [ $item [ 'id' ] ][ 'data' ] = new StdClass(); } // Set items as children of the relevant parent item. foreach ( $data as $key => & $item ) { if ( $item [ 'parent' ] && isset( $itemsByReference [ $item [ 'parent' ] ] ) ) { $itemsByReference [ $item [ 'parent' ] ][ 'children' ][] = & $item ; } } // Remove items that were added to parents elsewhere: foreach ( $data as $key => & $item ) { if ( $item [ 'parent' ] && isset( $itemsByReference [ $item [ 'parent' ] ] ) ) { unset( $data [ $key ] ); } } return bp_document_folder_recursive_li_list( $data , false ); } |
Changelog
Version | Description |
---|---|
BuddyBoss 1.4.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.