bp_document_add( array|string $args = '' )
Add an document item.
Description
Parameters
- $args
-
(Optional) An array of arguments
Default value: ''
Return
(WP_Error|bool|int) The ID of the document on success. False on error.
Source
File: bp-document/bp-document-functions.php
function bp_document_add( $args = '' ) { $r = bp_parse_args( $args, array( 'id' => false, // Pass an existing document ID to update an existing entry. 'blog_id' => get_current_blog_id(), // Blog ID. 'attachment_id' => false, // attachment id. 'user_id' => bp_loggedin_user_id(), // user_id of the uploader. 'title' => '', // title of document being added. 'folder_id' => false, // Optional: ID of the folder. 'group_id' => false, // Optional: ID of the group. 'activity_id' => false, // The ID of activity. 'privacy' => 'public', // Optional: privacy of the document e.g. public. 'menu_order' => 0, // Optional: Menu order. 'date_created' => bp_core_current_time(), // The GMT time that this document was recorded. 'date_modified' => bp_core_current_time(), // The GMT time that this document was modified. 'error_type' => 'bool', ), 'document_add' ); // Setup document to be added. $document = new BP_Document( $r['id'] ); $document->blog_id = $r['blog_id']; $document->attachment_id = $r['attachment_id']; $document->user_id = (int) $r['user_id']; $document->title = $r['title']; $document->folder_id = (int) $r['folder_id']; $document->group_id = (int) $r['group_id']; $document->activity_id = (int) $r['activity_id']; $document->privacy = $r['privacy']; $document->menu_order = $r['menu_order']; $document->date_created = $r['date_created']; $document->date_modified = $r['date_modified']; $document->error_type = $r['error_type']; // groups document always have privacy to `grouponly`. if ( ! empty( $document->privacy ) && ( in_array( $document->privacy, array( 'forums', 'message' ), true ) ) ) { $document->privacy = $r['privacy']; } elseif ( ! empty( $document->group_id ) ) { $document->privacy = 'grouponly'; } elseif ( ! empty( $document->folder_id ) ) { $folder = new BP_Document_Folder( $document->folder_id ); if ( ! empty( $folder ) ) { $document->privacy = $folder->privacy; } } if ( isset( $_POST ) && isset( $_POST['action'] ) && 'groups_get_group_members_send_message' === $_POST['action'] ) { $document->privacy = 'message'; } // save document. $save = $document->save(); if ( 'wp_error' === $r['error_type'] && is_wp_error( $save ) ) { return $save; } elseif ( 'bool' === $r['error_type'] && false === $save ) { return false; } // document is saved for attachment. update_post_meta( $document->attachment_id, 'bp_document_saved', true ); /** * Fires at the end of the execution of adding a new document item, before returning the new document item ID. * * @param object $document document object. * * @since BuddyBoss 1.4.0 */ do_action( 'bp_document_add', $document ); return $document->id; }
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.