From 7740e89de3e1bc0cc636120e3ca8ab9e97e4d3cc Mon Sep 17 00:00:00 2001 From: donncha Date: Fri, 4 Apr 2008 16:44:15 +0000 Subject: Merged with WordPress 2.5, unstable, only for testing git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1218 7be80a69-a1ef-0310-a953-fb0f7c49ff36 --- wp-admin/upload.php | 336 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 225 insertions(+), 111 deletions(-) (limited to 'wp-admin/upload.php') diff --git a/wp-admin/upload.php b/wp-admin/upload.php index bfbd9fc..0f7412d 100644 --- a/wp-admin/upload.php +++ b/wp-admin/upload.php @@ -1,135 +1,249 @@ get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'attachment'"); -$post_atts = 0; - -if ( $pid ) { - // 0 => tab display name, 1 => required cap, 2 => function that produces tab content, 3 => total number objects OR array(total, objects per page), 4 => add_query_args - $wp_upload_tabs['upload'] = array(__('Upload'), 'upload_files', 'wp_upload_tab_upload', 0); - if ( $all_atts && $post_atts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_parent = '$post_id'") ) - $wp_upload_tabs['browse'] = array(__('Browse'), 'upload_files', "wp_upload_tab_browse", $action ? 0 : $post_atts); - if ( $post_atts < $all_atts ) - $wp_upload_tabs['browse-all'] = array(__('Browse All'), 'upload_files', 'wp_upload_tab_browse', $action ? 0 : $all_atts); -} else - $wp_upload_tabs['browse-all'] = array(__('Browse All'), 'upload_files', 'wp_upload_tab_browse', $action ? 0 : $all_atts); - - $wp_upload_tabs = array_merge($wp_upload_tabs, apply_filters( 'wp_upload_tabs', array() )); - -if ( !is_callable($wp_upload_tabs[$tab][2]) ) { - $to_tab = isset($wp_upload_tabs['upload']) ? 'upload' : 'browse-all'; - wp_redirect( add_query_arg( 'tab', $to_tab ) ); +// Handle bulk deletes +if ( isset($_GET['deleteit']) && isset($_GET['delete']) ) { + check_admin_referer('bulk-media'); + foreach( (array) $_GET['delete'] as $post_id_del ) { + $post_del = & get_post($post_id_del); + + if ( !current_user_can('delete_post', $post_id_del) ) + wp_die( __('You are not allowed to delete this post.') ); + + if ( $post_del->post_type == 'attachment' ) + if ( ! wp_delete_attachment($post_id_del) ) + wp_die( __('Error in deleting...') ); + } + + $location = 'upload.php'; + if ( $referer = wp_get_referer() ) { + if ( false !== strpos($referer, 'upload.php') ) + $location = $referer; + } + + $location = add_query_arg('message', 2, $location); + $location = remove_query_arg('posted', $location); + wp_redirect($location); + exit; +} elseif ( !empty($_GET['_wp_http_referer']) ) { + wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI']))); exit; } -foreach ( $wp_upload_tabs as $t => $tab_array ) { - if ( !current_user_can( $tab_array[1] ) ) { - unset($wp_upload_tabs[$t]); - if ( $tab == $t ) - wp_die(__("You are not allowed to be here")); +$title = __('Media Library'); +$parent_file = 'edit.php'; +wp_enqueue_script( 'admin-forms' ); + +list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query(); + +if ( is_singular() ) + wp_enqueue_script( 'admin-comments' ); + +require_once('admin-header.php'); + +if ( !isset( $_GET['paged'] ) ) + $_GET['paged'] = 1; + +?> + +
+ +
+

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 )); + } } + $h2_search = isset($_GET['s']) && $_GET['s'] ? ' ' . sprintf(__('matching “%s”'), wp_specialchars( get_search_query() ) ) : ''; + $h2_cat = isset($_GET['cat']) && $_GET['cat'] ? ' ' . sprintf( __('in “%s”'), single_cat_title('', false) ) : ''; + $h2_tag = isset($_GET['tag']) && $_GET['tag'] ? ' ' . sprintf( __('tagged with “%s”'), single_tag_title('', false) ) : ''; + $h2_month = isset($_GET['m']) && $_GET['m'] ? ' ' . sprintf( __('during %s'), single_month_title(' ', false) ) : ''; + printf( _c( '%1$s%2$s%3$s%4$s%5$s%6$s|You can reorder these: 1: Posts, 2: by {s}, 3: matching {s}, 4: in {s}, 5: tagged with {s}, 6: during {s}' ), $h2_noun, $h2_author, $h2_search, $h2_cat, $h2_tag, $h2_month ); } +?>

-if ( 'inline' == $style ) : ?> - - > - - -<?php bloginfo('name') ?> › <?php _e('Uploads'); ?> — WordPress - - - - - + + +

|

+\n"; -foreach ( $wp_upload_tabs as $t => $tab_array ) { // We've already done the current_user_can check - $href = add_query_arg( array('tab' => $t, 'ID' => '', 'action' => '', 'paged' => '') ); - if ( isset($tab_array[4]) && is_array($tab_array[4]) ) - $href = add_query_arg( $tab_array[4], $href ); - $_href = clean_url( $href); - $page_links = ''; - $class = 'upload-tab alignleft'; - if ( $tab == $t ) { - $class .= ' current'; - if ( $tab_array[3] ) { - if ( is_array($tab_array[3]) ) { - $total = $tab_array[3][0]; - $per = $tab_array[3][1]; - } else { - $total = $tab_array[3]; - $per = 10; - } - $page_links = paginate_links( array( - 'base' => add_query_arg( 'paged', '%#%' ), - 'format' => '', - 'total' => ceil($total / $per), - 'current' => $paged ? $paged : 1, - 'prev_text' => '«', - 'next_text' => '»' - )); - if ( $page_links ) - $page_links = ": $page_links"; - } - } +$messages[1] = __('Media updated.'); +$messages[2] = __('Media deleted.'); + +if (isset($_GET['message'])) : ?> +

+ + +

+ + +

+ + + +
+ + add_query_arg( 'paged', '%#%' ), + 'format' => '', + 'total' => $wp_query->max_num_pages, + 'current' => $_GET['paged'] +)); + +if ( $page_links ) + echo "
$page_links
"; +?> + +
+ + +posts WHERE post_type = 'attachment' ORDER BY post_date DESC"; - echo "\t
  • {$tab_array[0]}$page_links
  • \n"; + $arc_result = $wpdb->get_results( $arc_query ); + + $month_count = count($arc_result); + + if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) : ?> + + + + + + + +
    + +
    +
    + +
    + + -echo "
    \n"; + -call_user_func( $wp_upload_tabs[$tab][2] ); +
    -echo "
    \n"; +
    + +$page_links
    "; +?> + +
    + +
    + +get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $id AND comment_approved != 'spam' ORDER BY comment_date"); + if ( $comments ) : + // Make sure comments, post, and post_author are cached + update_comment_cache($comments); + $post = get_post($id); + $authordata = get_userdata($post->post_author); + ?> + +
    + + + + + + + + + + +comment_ID, 'detail', false, false ); +?> + +
    + + -if ( 'inline' != $style ) : - echo "
    "; - include_once('admin-footer.php'); -else : ?> - + - - - + -- cgit