Eliminate some of our last remaining create_function() instances

* Moved some into private function callbacks
* Eliminated some that weren't necessary anymore

props obenland, markjaquith, nacin. fixes #14424
Built from https://develop.svn.wordpress.org/trunk@27373


git-svn-id: http://core.svn.wordpress.org/trunk@27222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Mark Jaquith 2014-03-03 16:21:16 +00:00
parent 420afb81de
commit fb56a9942b
5 changed files with 48 additions and 24 deletions

View File

@ -74,7 +74,7 @@ foreach ( $popular_importers as $pop_importer => $pop_data ) {
if ( empty( $importers ) ) { if ( empty( $importers ) ) {
echo '<p>' . __('No importers are available.') . '</p>'; // TODO: make more helpful echo '<p>' . __('No importers are available.') . '</p>'; // TODO: make more helpful
} else { } else {
uasort($importers, create_function('$a, $b', 'return strnatcasecmp($a[0], $b[0]);')); uasort( $importers, '_uasort_by_first_member' );
?> ?>
<table class="widefat importers"> <table class="widefat importers">

View File

@ -15,11 +15,28 @@
*/ */
function get_importers() { function get_importers() {
global $wp_importers; global $wp_importers;
if ( is_array($wp_importers) ) if ( is_array( $wp_importers ) ) {
uasort($wp_importers, create_function('$a, $b', 'return strcmp($a[0], $b[0]);')); uasort( $wp_importers, '_uasort_by_first_member' );
}
return $wp_importers; return $wp_importers;
} }
/**
* Sorts a multidimensional array by first member of each top level member
*
* Used by uasort() as a callback, should not be used directly.
*
* @since 2.9.0
* @access private
*
* @param array $a
* @param array $b
* @return int
*/
function _uasort_by_first_member( $a, $b ) {
return strnatcasecmp( $a[0], $b[0] );
}
/** /**
* Register importer for WordPress. * Register importer for WordPress.
* *

View File

@ -2255,15 +2255,18 @@ function media_upload_library_form($errors) {
if ( get_user_setting('uploader') ) if ( get_user_setting('uploader') )
$form_class .= ' html-uploader'; $form_class .= ' html-uploader';
$_GET['paged'] = isset( $_GET['paged'] ) ? intval($_GET['paged']) : 0; $q = $_GET;
if ( $_GET['paged'] < 1 ) $q['posts_per_page'] = 10;
$_GET['paged'] = 1; $q = isset( $q['paged'] ) ? intval( $q['paged'] ) : 0;
$start = ( $_GET['paged'] - 1 ) * 10; if ( $q['paged'] < 1 ) {
if ( $start < 1 ) $q['paged'] = 1;
$start = 0; }
add_filter( 'post_limits', create_function( '$a', "return 'LIMIT $start, 10';" ) ); $q['offset'] = ( $q['paged'] - 1 ) * 10;
if ( $q['offset'] < 1 ) {
$q['offset'] = 0;
}
list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query(); list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query( $q );
?> ?>

View File

@ -934,21 +934,13 @@ function wp_edit_attachments_query( $q = false ) {
unset($q['post_mime_type']); unset($q['post_mime_type']);
if ( isset($q['detached']) ) if ( isset($q['detached']) )
add_filter('posts_where', '_edit_attachments_query_helper'); $q['post_parent'] = 0;
wp( $q ); wp( $q );
if ( isset($q['detached']) )
remove_filter('posts_where', '_edit_attachments_query_helper');
return array($post_mime_types, $avail_post_mime_types); return array($post_mime_types, $avail_post_mime_types);
} }
function _edit_attachments_query_helper($where) {
global $wpdb;
return $where .= " AND {$wpdb->posts}.post_parent < 1";
}
/** /**
* Returns the list of classes to be used by a metabox * Returns the list of classes to be used by a metabox
* *

View File

@ -622,10 +622,7 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
); );
if ( !isset( $args['topic_count_text_callback'] ) && isset( $args['single_text'] ) && isset( $args['multiple_text'] ) ) { if ( !isset( $args['topic_count_text_callback'] ) && isset( $args['single_text'] ) && isset( $args['multiple_text'] ) ) {
$body = 'return sprintf ( $args['topic_count_text_callback'] = '_plugin_topic_count';
_n(' . var_export($args['single_text'], true) . ', ' . var_export($args['multiple_text'], true) . ', $count),
number_format_i18n( $count ));';
$args['topic_count_text_callback'] = create_function('$count', $body);
} }
$args = wp_parse_args( $args, $defaults ); $args = wp_parse_args( $args, $defaults );
@ -725,6 +722,21 @@ function _wp_object_count_sort_cb( $a, $b ) {
return ( $a->count > $b->count ); return ( $a->count > $b->count );
} }
/**
* Default text for tooltip for tag links
*
* @since 3.9.0
* @access private
*
* @param integer $count Number of posts with that tag.
* @param object $tag Tag object.
* @param array $args Arguments for the tag cloud.
* @return string Text for the tooltip of a tag link.
*/
function _plugin_topic_count( $count, $tag, $args ) {
return sprintf( 1 == $count? $args['single_text'] : $args['multiple_text'], number_format_i18n( $count ) );
}
// //
// Helper functions // Helper functions
// //