Skip to content

Instantly share code, notes, and snippets.

@dcavins
Last active March 16, 2017 15:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dcavins/cd7ed297576dd8deb488d3669905238d to your computer and use it in GitHub Desktop.
Save dcavins/cd7ed297576dd8deb488d3669905238d to your computer and use it in GitHub Desktop.
A testing function for seeing where a BP Docs delete is going wrong.
<?php
// Remove the default
remove_action( 'bp_actions', 'bp_docs_process_folder_delete_cb' );
// Add the troubleshooting version
add_action( 'bp_actions', 'my_tshoot_bp_docs_process_folder_delete_cb' );
/**
* Catch a request to delete a folder.
*
* @since 1.9.0
*/
function my_tshoot_bp_docs_process_folder_delete_cb() {
if ( ! bp_docs_is_folder_manage_view() ) {
bp_core_add_message( 'Not manage view.' );
return;
}
$folder_id = 0;
if ( isset( $_GET['delete-folder'] ) ) {
$folder_id = intval( $_GET['delete-folder'] );
}
if ( ! $folder_id ) {
bp_core_add_message( 'Folder ID not known.' );
return;
}
$nonce = '';
if ( isset( $_POST['_wpnonce'] ) ) {
$nonce = stripslashes( $_POST['_wpnonce'] );
}
if ( ! wp_verify_nonce( $nonce, 'bp-docs-delete-folder-' . $folder_id ) ) {
bp_core_add_message( 'Bad nonce.' );
return;
}
if ( ! current_user_can( 'bp_docs_manage_folder', $folder_id ) ) {
bp_core_add_message( 'User does not have permission.' );
return;
}
if ( empty( $_POST['delete-confirm'] ) || '1' !== $_POST['delete-confirm'] ) {
bp_core_add_message( 'Missing delete-confirm POST data.' );
return;
}
$deleted = bp_docs_delete_folder( array(
'folder_id' => $folder_id,
'delete_contents' => true,
) );
if ( $deleted ) {
bp_core_add_message( __( 'Folder deleted.', 'bp-docs' ) );
} else {
bp_core_add_message( __( 'Could not delete folder.', 'bp-docs' ) );
}
bp_core_redirect( remove_query_arg( 'delete-folder', bp_get_requested_url() ) );
die();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment