List of WordPress Multisites (MU) Blogs

<?php
// Query for getting blogs
$blogs = $wpdb->get_results( $wpdb->prepare("SELECT blog_id, domain, path FROM $wpdb->blogs WHERE site_id = %d AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC", $wpdb->siteid), ARRAY_A );

// put it in array
foreach ( (array) $blogs as $details )
{
$blog_list[ $details['blog_id'] ] = $details;
}
unset( $blogs );
$blogs = $blog_list;

// if is valid array
if (is_array( $blogs ) )
{
echo '<ul>';
$array= array();
// reorder
$array= array_slice( $blogs, 0, count( $blogs ) );
for($i=0;$i<count($array);$i++)
{
// get data for each id
$blog = get_blog_details( $array[$i]['blog_id'] );
// print it
echo '<li><a href="'.$blog->siteurl.'">'.$blog->blogname.'</a></li>';
}
echo '</ul>';
}
?>