-<form id="posts-filter" action="" method="get">
-<h2><?php
-if ( is_singular() ) {
- printf(__('Comments on %s'), apply_filters( "the_title", $post->post_title));
-} else {
- $post_mime_type_label = _c('Manage Media|manage media header');
- if ( isset($_GET['post_mime_type']) && in_array( $_GET['post_mime_type'], array_keys($post_mime_types) ) )
- $post_mime_type_label = $post_mime_types[$_GET['post_mime_type']][1];
- if ( $post_listing_pageable && !is_archive() && !is_search() )
- $h2_noun = is_paged() ? sprintf(__( 'Previous %s' ), $post_mime_type_label) : sprintf(__('Latest %s'), $post_mime_type_label);
- else
- $h2_noun = $post_mime_type_label;
- // Use $_GET instead of is_ since they can override each other
- $h2_author = '';
- $_GET['author'] = (int) $_GET['author'];
- if ( $_GET['author'] != 0 ) {
- if ( $_GET['author'] == '-' . $user_ID ) { // author exclusion
- $h2_author = ' ' . __('by other authors');
- } else {
- $author_user = get_userdata( get_query_var( 'author' ) );
- $h2_author = ' ' . sprintf(__('by %s'), wp_specialchars( $author_user->display_name ));
- }
+ switch ( $doaction ) {
+ 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;
+ }
+
+ $location = add_query_arg( array( 'attached' => $attached ) , $location );
+ wp_redirect( $location );
+ exit;
+ }
+ break;
+ case 'trash':
+ if ( !isset( $post_ids ) )
+ break;
+ foreach ( (array) $post_ids as $post_id ) {
+ if ( !current_user_can( 'delete_post', $post_id ) )
+ wp_die( __( 'You are not allowed to move this post to the trash.' ) );
+
+ if ( !wp_trash_post( $post_id ) )
+ wp_die( __( 'Error in moving to trash.' ) );
+ }
+ $location = add_query_arg( array( 'trashed' => count( $post_ids ), 'ids' => join( ',', $post_ids ) ), $location );
+ break;
+ case 'untrash':
+ if ( !isset( $post_ids ) )
+ break;
+ foreach ( (array) $post_ids as $post_id ) {
+ if ( !current_user_can( 'delete_post', $post_id ) )
+ wp_die( __( 'You are not allowed to move this post out of the trash.' ) );
+
+ if ( !wp_untrash_post( $post_id ) )
+ wp_die( __( 'Error in restoring from trash.' ) );
+ }
+ $location = add_query_arg( 'untrashed', count( $post_ids ), $location );
+ break;
+ case 'delete':
+ if ( !isset( $post_ids ) )
+ break;
+ foreach ( (array) $post_ids as $post_id_del ) {
+ if ( !current_user_can( 'delete_post', $post_id_del ) )
+ wp_die( __( 'You are not allowed to delete this post.' ) );
+
+ if ( !wp_delete_attachment( $post_id_del ) )
+ wp_die( __( 'Error in deleting.' ) );
+ }
+ $location = add_query_arg( 'deleted', count( $post_ids ), $location );
+ break;