- case 'attach':
- $parent_id = (int) $_REQUEST['found_post_id'];
- if ( !$parent_id )
- return;
-
- $parent = get_post( $parent_id );
- if ( !current_user_can( 'edit_post', $parent_id ) )
- wp_die( __( 'You are not allowed to edit this post.' ) );
-
- $attach = array();
- foreach ( (array) $_REQUEST['media'] as $att_id ) {
- $att_id = (int) $att_id;
-
- if ( !current_user_can( 'edit_post', $att_id ) )
- continue;
-
- $attach[] = $att_id;
- }
-
- if ( ! empty( $attach ) ) {
- $attach_string = implode( ',', $attach );
- $attached = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $attach_string )", $parent_id ) );
- foreach ( $attach as $att_id ) {
- clean_attachment_cache( $att_id );
- }
- }
-
- if ( isset( $attached ) ) {
- $location = 'upload.php';
- if ( $referer = wp_get_referer() ) {
- if ( false !== strpos( $referer, 'upload.php' ) )
- $location = $referer;
- }