Index: wp-includes/plugin.php
===================================================================
--- wp-includes/plugin.php	(revision 4106)
+++ wp-includes/plugin.php	(working copy)
@@ -165,4 +165,94 @@
 	add_action('deactivate_' . $file, $function);
 }
 
+
+function get_plugin_data($plugin_file) {
+	$plugin_data = implode('', file($plugin_file));
+	preg_match("|Plugin Name:(.*)|i", $plugin_data, $plugin_name);
+	preg_match("|Plugin URI:(.*)|i", $plugin_data, $plugin_uri);
+	preg_match("|Description:(.*)|i", $plugin_data, $description);
+	preg_match("|Author:(.*)|i", $plugin_data, $author_name);
+	preg_match("|Author URI:(.*)|i", $plugin_data, $author_uri);
+	if (preg_match("|Version:(.*)|i", $plugin_data, $version))
+		$version = trim($version[1]);
+	else
+		$version = '';
+
+	$description = wptexturize(trim($description[1]));
+
+	$name = $plugin_name[1];
+	$name = trim($name);
+	$plugin = $name;
+	if ('' != $plugin_uri[1] && '' != $name) {
+		$plugin = '<a href="' . trim($plugin_uri[1]) . '" title="'.__('Visit plugin homepage').'">'.$plugin.'</a>';
+	}
+
+	if ('' == $author_uri[1]) {
+		$author = trim($author_name[1]);
+	} else {
+		$author = '<a href="' . trim($author_uri[1]) . '" title="'.__('Visit author homepage').'">' . trim($author_name[1]) . '</a>';
+	}
+	
+	$dir_name = dirname($plugin_file);
+	if ('.' == $dir_name) {
+		$dir_name = '';
+	}
+
+	$path = ABSPATH . 'wp-content/plugins' . $dir_name;
+	$url = get_bloginfo('wpurl'). 'wp-conten/plugins' . $dir_name;
+
+	return array ('Name' => $name, 'Title' => $plugin, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'PluginURI' => trim($plugin_uri[1]), 'AuthorURI' => trim($author_uri[1]), 'URL' => $url, 'Path' => $path);
+}
+
+function get_plugininfo($info, $filename) {
+	global $wp_active_plugins;
+
+	if (!isset($wp_active_plugins)) {
+		$wp_active_plugins = array();
+	}
+	
+	$plugin_filename = plugin_basename($filename);
+
+	if (!isset($wp_active_plugins[$plugin_filename]))
+	{
+		//Lazy Load the information
+		$plugin_data = get_plugin_data($filename);
+
+		if (!empty($plugin_data['Name'])) {
+			$wp_active_plugins[$plugin_filename] = $plugin_data;
+		} else {
+			return '';
+		}
+	}
+
+	switch($info) {
+		case 'url':
+			return $wp_active_plugins[$plugin_filename]['URL'];
+			break;
+		case 'version':
+			return $wp_active_plugins[$plugin_filename]['Version'];
+			break;
+		case 'path':
+			return $wp_active_plugins[$plugin_filename]['Path'];
+			break;
+		case 'name':
+			return $wp_active_plugins[$plugin_filename]['Name'];
+			break;
+		case 'title':
+			return $wp_active_plugins[$plugin_filename]['Title'];
+			break;
+		case 'description':
+			return $wp_active_plugins[$plugin_filename]['Description'];
+			break;
+		case 'author':
+			return $wp_active_plugins[$plugin_filename]['Author'];
+			break;
+		case 'authoruri':
+			return $wp_active_plugins[$plugin_filename]['AuthorURI'];
+			break;
+		case 'pluginuri':
+			return $wp_active_plugins[$plugin_filename]['PluginURI'];
+			break;
+	}
+}
 ?>
Index: wp-admin/admin-functions.php
===================================================================
--- wp-admin/admin-functions.php	(revision 4106)
+++ wp-admin/admin-functions.php	(working copy)
@@ -1658,36 +1658,6 @@
 	update_option('recently_edited', $oldfiles);
 }
 
-function get_plugin_data($plugin_file) {
-	$plugin_data = implode('', file($plugin_file));
-	preg_match("|Plugin Name:(.*)|i", $plugin_data, $plugin_name);
-	preg_match("|Plugin URI:(.*)|i", $plugin_data, $plugin_uri);
-	preg_match("|Description:(.*)|i", $plugin_data, $description);
-	preg_match("|Author:(.*)|i", $plugin_data, $author_name);
-	preg_match("|Author URI:(.*)|i", $plugin_data, $author_uri);
-	if (preg_match("|Version:(.*)|i", $plugin_data, $version))
-		$version = trim($version[1]);
-	else
-		$version = '';
-
-	$description = wptexturize(trim($description[1]));
-
-	$name = $plugin_name[1];
-	$name = trim($name);
-	$plugin = $name;
-	if ('' != $plugin_uri[1] && '' != $name) {
-		$plugin = '<a href="' . trim($plugin_uri[1]) . '" title="'.__('Visit plugin homepage').'">'.$plugin.'</a>';
-	}
-
-	if ('' == $author_uri[1]) {
-		$author = trim($author_name[1]);
-	} else {
-		$author = '<a href="' . trim($author_uri[1]) . '" title="'.__('Visit author homepage').'">' . trim($author_name[1]) . '</a>';
-	}
-
-	return array ('Name' => $name, 'Title' => $plugin, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template[1]);
-}
-
 function get_plugins() {
 	global $wp_plugins;
 
