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
481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 | 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.