Last active
March 16, 2017 15:38
-
-
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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