- Timestamp:
- 05/29/2015 02:40:52 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/class-wp-media-list-table.php
r32642 r32644 309 309 <?php 310 310 311 list( $columns, $hidden ) = $this->get_column_info(); 311 list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); 312 312 313 foreach ( $columns as $column_name => $column_display_name ) { 313 $class = "class='$column_name column-$column_name'"; 314 $classes = "$column_name column-$column_name"; 315 if ( $primary === $column_name ) { 316 $classes .= ' has-row-actions column-primary'; 317 } 314 318 315 319 $style = ''; 316 if ( in_array( $column_name, $hidden ) ) 320 if ( in_array( $column_name, $hidden ) ) { 317 321 $style = ' style="display:none;"'; 318 319 $attributes = $class . $style; 320 321 switch ( $column_name ) { 322 323 case 'cb': 322 } 323 324 $attributes = "class='$classes'$style"; 325 326 if ( 'cb' === $column_name ) { 324 327 ?> 325 328 <th scope="row" class="check-column"> … … 330 333 </th> 331 334 <?php 332 break; 333 334 case 'icon': 335 list( $mime ) = explode( '/', $post->post_mime_type ); 336 $attributes = 'class="column-icon media-icon ' . $mime . '-icon"' . $style; 337 ?> 338 <td <?php echo $attributes ?>><?php 339 if ( $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true ) ) { 340 if ( $this->is_trash || ! $user_can_edit ) { 341 echo $thumb; 335 } else { 336 echo "<td $attributes>"; 337 338 switch ( $column_name ) { 339 case 'icon': 340 list( $mime ) = explode( '/', $post->post_mime_type ); 341 $attributes = 'class="column-icon media-icon ' . $mime . '-icon"' . $style; 342 343 if ( $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true ) ) { 344 if ( $this->is_trash || ! $user_can_edit ) { 345 echo $thumb; 346 } else { ?> 347 <a href="<?php echo get_edit_post_link( $post->ID ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit “%s”' ), $att_title ) ); ?>"> 348 <?php echo $thumb; ?> 349 </a><?php 350 } 351 } 352 break; 353 354 case 'title': 355 ?> 356 <strong> 357 <?php if ( $this->is_trash || ! $user_can_edit ) { 358 echo $att_title; 359 } else { ?> 360 <a href="<?php echo get_edit_post_link( $post->ID ); ?>" 361 title="<?php echo esc_attr( sprintf( __( 'Edit “%s”' ), $att_title ) ); ?>"> 362 <?php echo $att_title; ?></a> 363 <?php } 364 _media_states( $post ); ?></strong> 365 <p class="filename"><?php echo wp_basename( $post->guid ); ?></p> 366 <?php 367 break; 368 369 case 'author': 370 printf( '<a href="%s">%s</a>', 371 esc_url( add_query_arg( array( 'author' => get_the_author_meta('ID') ), 'upload.php' ) ), 372 get_the_author() 373 ); 374 375 break; 376 377 case 'desc': 378 echo has_excerpt() ? $post->post_excerpt : ''; 379 break; 380 381 case 'date': 382 if ( '0000-00-00 00:00:00' == $post->post_date ) { 383 $h_time = __( 'Unpublished' ); 342 384 } else { 343 ?> 344 <a href="<?php echo get_edit_post_link( $post->ID ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit “%s”' ), $att_title ) ); ?>"> 345 <?php echo $thumb; ?> 346 </a> 347 348 <?php } 349 } 350 ?> 351 </td> 352 <?php 353 break; 354 355 case 'title': 356 ?> 357 <td <?php echo $attributes ?>><strong> 358 <?php if ( $this->is_trash || ! $user_can_edit ) { 359 echo $att_title; 360 } else { ?> 361 <a href="<?php echo get_edit_post_link( $post->ID ); ?>" 362 title="<?php echo esc_attr( sprintf( __( 'Edit “%s”' ), $att_title ) ); ?>"> 363 <?php echo $att_title; ?></a> 364 <?php }; 365 _media_states( $post ); ?></strong> 366 <p class="filename"><?php echo wp_basename( $post->guid ); ?></p> 367 <?php 368 echo $this->row_actions( $this->_get_row_actions( $post, $att_title ) ); 369 ?> 370 </td> 371 <?php 372 break; 373 374 case 'author': 375 ?> 376 <td <?php echo $attributes ?>><?php 377 printf( '<a href="%s">%s</a>', 378 esc_url( add_query_arg( array( 'author' => get_the_author_meta('ID') ), 'upload.php' ) ), 379 get_the_author() 380 ); 381 ?></td> 382 <?php 383 break; 384 385 case 'desc': 386 ?> 387 <td <?php echo $attributes ?>><?php echo has_excerpt() ? $post->post_excerpt : ''; ?></td> 388 <?php 389 break; 390 391 case 'date': 392 if ( '0000-00-00 00:00:00' == $post->post_date ) { 393 $h_time = __( 'Unpublished' ); 394 } else { 395 $m_time = $post->post_date; 396 $time = get_post_time( 'G', true, $post, false ); 397 if ( ( abs( $t_diff = time() - $time ) ) < DAY_IN_SECONDS ) { 398 if ( $t_diff < 0 ) 399 $h_time = sprintf( __( '%s from now' ), human_time_diff( $time ) ); 385 $m_time = $post->post_date; 386 $time = get_post_time( 'G', true, $post, false ); 387 if ( ( abs( $t_diff = time() - $time ) ) < DAY_IN_SECONDS ) { 388 if ( $t_diff < 0 ) 389 $h_time = sprintf( __( '%s from now' ), human_time_diff( $time ) ); 390 else 391 $h_time = sprintf( __( '%s ago' ), human_time_diff( $time ) ); 392 } else { 393 $h_time = mysql2date( __( 'Y/m/d' ), $m_time ); 394 } 395 } 396 397 echo $h_time; 398 break; 399 400 case 'parent': 401 if ( $post->post_parent > 0 ) 402 $parent = get_post( $post->post_parent ); 400 403 else 401 $h_time = sprintf( __( '%s ago' ), human_time_diff( $time ) ); 402 } else { 403 $h_time = mysql2date( __( 'Y/m/d' ), $m_time ); 404 } 405 } 406 ?> 407 <td <?php echo $attributes ?>><?php echo $h_time ?></td> 408 <?php 409 break; 410 411 case 'parent': 412 if ( $post->post_parent > 0 ) 413 $parent = get_post( $post->post_parent ); 414 else 415 $parent = false; 416 417 if ( $parent ) { 418 $title = _draft_or_post_title( $post->post_parent ); 419 $parent_type = get_post_type_object( $parent->post_type ); 420 ?> 421 <td <?php echo $attributes ?>><strong> 422 <?php if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $post->post_parent ) ) { ?> 423 <a href="<?php echo get_edit_post_link( $post->post_parent ); ?>"> 424 <?php echo $title ?></a><?php 404 $parent = false; 405 406 if ( $parent ) { 407 $title = _draft_or_post_title( $post->post_parent ); 408 $parent_type = get_post_type_object( $parent->post_type ); 409 ?> 410 <strong> 411 <?php if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $post->post_parent ) ) { ?> 412 <a href="<?php echo get_edit_post_link( $post->post_parent ); ?>"> 413 <?php echo $title ?></a><?php 414 } else { 415 echo $title; 416 } ?></strong>, 417 <?php echo get_the_time( __( 'Y/m/d' ) ); ?><br /> 418 <?php 419 if ( $user_can_edit ): 420 $detach_url = add_query_arg( array( 421 'parent_post_id' => $post->post_parent, 422 'media[]' => $post->ID, 423 '_wpnonce' => wp_create_nonce( 'bulk-' . $this->_args['plural'] ) 424 ), 'upload.php' ); ?> 425 <a class="hide-if-no-js detach-from-parent" href="<?php echo $detach_url ?>"><?php _e( 'Detach' ); ?></a> 426 <?php endif; 425 427 } else { 426 echo $title; 427 } ?></strong>, 428 <?php echo get_the_time( __( 'Y/m/d' ) ); ?><br /> 429 <?php 430 if ( $user_can_edit ): 431 $detach_url = add_query_arg( array( 432 'parent_post_id' => $post->post_parent, 433 'media[]' => $post->ID, 434 '_wpnonce' => wp_create_nonce( 'bulk-' . $this->_args['plural'] ) 435 ), 'upload.php' ); ?> 436 <a class="hide-if-no-js detach-from-parent" href="<?php echo $detach_url ?>"><?php _e( 'Detach' ); ?></a> 437 <?php endif; ?> 438 </td> 439 <?php 440 } else { 441 ?> 442 <td <?php echo $attributes ?>><?php _e( '(Unattached)' ); ?><br /> 443 <?php if ( $user_can_edit ) { ?> 444 <a class="hide-if-no-js" 445 onclick="findPosts.open( 'media[]','<?php echo $post->ID ?>' ); return false;" 446 href="#the-list"> 447 <?php _e( 'Attach' ); ?></a> 448 <?php } ?></td> 449 <?php 450 } 451 break; 452 453 case 'comments': 454 $attributes = 'class="comments column-comments num"' . $style; 455 ?> 456 <td <?php echo $attributes ?>> 457 <div class="post-com-count-wrapper"> 458 <?php 459 $pending_comments = get_pending_comments_num( $post->ID ); 460 461 $this->comments_bubble( $post->ID, $pending_comments ); 462 ?> 463 </div> 464 </td> 465 <?php 466 break; 467 468 default: 469 if ( 'categories' == $column_name ) 470 $taxonomy = 'category'; 471 elseif ( 'tags' == $column_name ) 472 $taxonomy = 'post_tag'; 473 elseif ( 0 === strpos( $column_name, 'taxonomy-' ) ) 474 $taxonomy = substr( $column_name, 9 ); 475 else 476 $taxonomy = false; 477 478 if ( $taxonomy ) { 479 echo '<td ' . $attributes . '>'; 480 if ( $terms = get_the_terms( $post->ID, $taxonomy ) ) { 481 $out = array(); 482 foreach ( $terms as $t ) { 483 $posts_in_term_qv = array(); 484 $posts_in_term_qv['taxonomy'] = $taxonomy; 485 $posts_in_term_qv['term'] = $t->slug; 486 487 $out[] = sprintf( '<a href="%s">%s</a>', 488 esc_url( add_query_arg( $posts_in_term_qv, 'upload.php' ) ), 489 esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) ) 490 ); 491 } 492 /* translators: used between list items, there is a space after the comma */ 493 echo join( __( ', ' ), $out ); 494 } else { 495 echo '—'; 496 } 497 echo '</td>'; 498 break; 499 } 500 ?> 501 <td <?php echo $attributes ?>><?php 502 /** 503 * Fires for each custom column in the Media list table. 504 * 505 * Custom columns are registered using the 'manage_media_columns' filter. 506 * 507 * @since 2.5.0 508 * 509 * @param string $column_name Name of the custom column. 510 * @param int $post_id Attachment ID. 511 */ 512 do_action( 'manage_media_custom_column', $column_name, $post->ID ); 513 ?></td> 514 <?php 515 break; 428 _e( '(Unattached)' ); ?><br /> 429 <?php if ( $user_can_edit ) { ?> 430 <a class="hide-if-no-js" 431 onclick="findPosts.open( 'media[]','<?php echo $post->ID ?>' ); return false;" 432 href="#the-list"> 433 <?php _e( 'Attach' ); ?></a> 434 <?php } 435 } 436 437 break; 438 439 case 'comments': 440 echo '<div class="post-com-count-wrapper">'; 441 442 $pending_comments = get_pending_comments_num( $post->ID ); 443 $this->comments_bubble( $post->ID, $pending_comments ); 444 445 echo '</div>'; 446 447 break; 448 449 default: 450 if ( 'categories' == $column_name ) 451 $taxonomy = 'category'; 452 elseif ( 'tags' == $column_name ) 453 $taxonomy = 'post_tag'; 454 elseif ( 0 === strpos( $column_name, 'taxonomy-' ) ) 455 $taxonomy = substr( $column_name, 9 ); 456 else 457 $taxonomy = false; 458 459 if ( $taxonomy ) { 460 if ( $terms = get_the_terms( $post->ID, $taxonomy ) ) { 461 $out = array(); 462 foreach ( $terms as $t ) { 463 $posts_in_term_qv = array(); 464 $posts_in_term_qv['taxonomy'] = $taxonomy; 465 $posts_in_term_qv['term'] = $t->slug; 466 467 $out[] = sprintf( '<a href="%s">%s</a>', 468 esc_url( add_query_arg( $posts_in_term_qv, 'upload.php' ) ), 469 esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) ) 470 ); 471 } 472 /* translators: used between list items, there is a space after the comma */ 473 echo join( __( ', ' ), $out ); 474 } else { 475 echo '—'; 476 } 477 478 break; 479 } 480 481 /** 482 * Fires for each custom column in the Media list table. 483 * 484 * Custom columns are registered using the 'manage_media_columns' filter. 485 * 486 * @since 2.5.0 487 * 488 * @param string $column_name Name of the custom column. 489 * @param int $post_id Attachment ID. 490 */ 491 do_action( 'manage_media_custom_column', $column_name, $post->ID ); 492 break; 493 } 494 495 if( $primary === $column_name ) { 496 echo $this->row_actions( $this->_get_row_actions( $post, $att_title ) ); 497 } 498 499 echo '</td>'; 516 500 } 517 501 } … … 519 503 </tr> 520 504 <?php endwhile; 505 } 506 507 /** 508 * Get name of default primary column 509 * 510 * @since 4.3.0 511 * @access protected 512 * 513 * @return string 514 */ 515 protected function get_default_primary_column_name() { 516 return 'title'; 521 517 } 522 518
Note: See TracChangeset
for help on using the changeset viewer.