X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/f9001779751f83dc8a10e478bfecb4d8dd5f964c..b137f4ce021b4022c56f452c2eafa7abfcef0a7c:/wp-includes/bookmark.php diff --git a/wp-includes/bookmark.php b/wp-includes/bookmark.php index 8b0fe487..e1184231 100644 --- a/wp-includes/bookmark.php +++ b/wp-includes/bookmark.php @@ -213,22 +213,32 @@ function get_bookmarks($args = '') { $orderby = strtolower($orderby); $length = ''; - switch ($orderby) { + switch ( $orderby ) { case 'length': $length = ", CHAR_LENGTH(link_name) AS length"; break; case 'rand': $orderby = 'rand()'; break; + case 'link_id': + $orderby = "$wpdb->links.link_id"; + break; default: $orderparams = array(); - foreach ( explode(',', $orderby) as $ordparam ) - $orderparams[] = 'link_' . trim($ordparam); + foreach ( explode(',', $orderby) as $ordparam ) { + $ordparam = trim($ordparam); + if ( in_array( $ordparam, array( 'name', 'url', 'visible', 'rating', 'owner', 'updated' ) ) ) + $orderparams[] = 'link_' . $ordparam; + } $orderby = implode(',', $orderparams); } - if ( 'link_id' == $orderby ) - $orderby = "$wpdb->links.link_id"; + if ( empty( $orderby ) ) + $orderby = 'link_name'; + + $order = strtoupper( $order ); + if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) ) + $order = 'ASC'; $visible = ''; if ( $hide_invisible )