Index: wp-admin/includes/dashboard.php
===================================================================
--- wp-admin/includes/dashboard.php	(revision 22879)
+++ wp-admin/includes/dashboard.php	(working copy)
@@ -760,13 +760,12 @@
  */
 function wp_dashboard_incoming_links_output() {
 	$widgets = get_option( 'dashboard_widget_options' );
-	@extract( @$widgets['dashboard_incoming_links'], EXTR_SKIP );
-	$rss = fetch_feed( $url );
+	$rss = fetch_feed( $widgets['dashboard_incoming_links']['url'] );
 
-	if ( is_wp_error($rss) ) {
-		if ( is_admin() || current_user_can('manage_options') ) {
+	if ( is_wp_error( $rss ) ) {
+		if ( is_admin() || current_user_can( 'manage_options' ) ) {
 			echo '<p>';
-			printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
+			printf( __( '<strong>RSS Error</strong>: %s' ), $rss->get_error_message() );
 			echo '</p>';
 		}
 		return;
@@ -775,16 +774,16 @@
 	if ( !$rss->get_item_quantity() ) {
 		echo '<p>' . __('This dashboard widget queries <a href="http://blogsearch.google.com/">Google Blog Search</a> so that when another blog links to your site it will show up here. It has found no incoming links&hellip; yet. It&#8217;s okay &#8212; there is no rush.') . "</p>\n";
 		$rss->__destruct();
-		unset($rss);
+		unset( $rss );
 		return;
 	}
 
 	echo "<ul>\n";
 
-	if ( !isset($items) )
-		$items = 10;
+	if ( !isset( $widgets['dashboard_incoming_links']['items'] ) )
+		$widgets['dashboard_incoming_links']['items'] = 10;
 
-	foreach ( $rss->get_items(0, $items) as $item ) {
+	foreach ( $rss->get_items( 0, $widgets['dashboard_incoming_links']['items'] ) as $item ) {
 		$publisher = '';
 		$site_link = '';
 		$link = '';
@@ -816,7 +815,7 @@
 			/* translators: incoming links feed, %1$s is other person, %3$s is content */
 			$text = __( '%1$s linked here saying, "%3$s"' );
 
-		if ( !empty( $show_date ) ) {
+		if ( !empty( $widgets['dashboard_incoming_links']['show_date'] ) ) {
 			if ( $link )
 				/* translators: incoming links feed, %1$s is other person, %3$s is content, %4$s is the date */
 				$text = __( '%1$s linked here <a href="%2$s">saying</a>, "%3$s" on %4$s' );
@@ -833,7 +832,7 @@
 
 	echo "</ul>\n";
 	$rss->__destruct();
-	unset($rss);
+	unset( $rss );
 }
 
 function wp_dashboard_incoming_links_control() {
@@ -879,25 +878,23 @@
  */
 function wp_dashboard_secondary_output() {
 	$widgets = get_option( 'dashboard_widget_options' );
-	@extract( @$widgets['dashboard_secondary'], EXTR_SKIP );
-	$rss = @fetch_feed( $url );
-
-	if ( is_wp_error($rss) ) {
-		if ( is_admin() || current_user_can('manage_options') ) {
+	$rss = @fetch_feed( $widgets['dashboard_secondary']['url'] );
+	if ( is_wp_error( $rss ) ) {
+		if ( is_admin() || current_user_can( 'manage_options' ) ) {
 			echo '<div class="rss-widget"><p>';
-			printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
+			printf( __( '<strong>RSS Error</strong>: %s' ), $rss->get_error_message() );
 			echo '</p></div>';
 		}
 	} elseif ( !$rss->get_item_quantity() ) {
 		$rss->__destruct();
-		unset($rss);
+		unset( $rss );
 		return false;
 	} else {
 		echo '<div class="rss-widget">';
 		wp_widget_rss_output( $rss, $widgets['dashboard_secondary'] );
 		echo '</div>';
 		$rss->__destruct();
-		unset($rss);
+		unset( $rss );
 	}
 }
 
@@ -1193,8 +1190,8 @@
 		global $wp_version;
 
 		$options = array(
-			'body'			=> array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ),
-			'user-agent'	=> 'WordPress/' . $wp_version . '; ' . home_url()
+			'body'          => array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ),
+			'user-agent'    => 'WordPress/' . $wp_version . '; ' . home_url()
 		);
 
 		$response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.0/', $options );
