Index: plugin.php
===================================================================
--- plugin.php	(revision 6603)
+++ plugin.php	(working copy)
@@ -1,7 +1,63 @@
 <?php
+/**
+ * WordPress Plugin Administration API
+ *
+ * @package WordPress
+ * @subpackage Administration
+ */
 
+/**
+ * plugin_get_contents() - Pull in the plugin file contents to get the retrieve just the Plugin Data
+ *
+ * Uses file_get_contents() if available, else implements file_get_contents()
+ * for plugins.
+ *
+ * There is a filter hook for getting the amount of bytes to retrieve. In the
+ * event that the plugins aren't working, please create a plugin which sets
+ * the hook contents to a higher range until all of the plugins' information
+ * come up, then report back to the link below, so that the change can be made
+ * for everyone else. Make sure to reopen.
+ *
+ * @link http://trac.wordpress.org/ticket/5651 Ticket for this functions being.
+ *
+ * @since 2.5.0
+ * @uses apply_filters() Calls 'plugin_get_contents' hook to get the bytes
+ *		to retrieve from the file.
+ *
+ * @param string $plugin_file Path to plugin file
+ * @return string File contents retrieved 
+ */
+function plugin_get_contents($plugin_file) {
+	$bytes = apply_filters('plugin_get_contents', 1024);
+	if( function_exists( 'file_get_contents' ) )
+		return file_get_contents($plugin_file, null, null, 0, $bytes);
+
+	$fp = fopen($plugin_file);
+	$contents = fread( $fp, $bytes );
+	fclose($fp);
+	return $contents;
+}
+
+/**
+ * get_plugin_data() - Parse the plugin contents to retrieve the plugin's data
+ *
+ * While this function has only existed since WordPress 2.5, the functionality has
+ * existed in WordPress for longer.
+ *
+ * Plugin data contains the following:
+ *		'Name' - Name of the plugin, should be unique.
+ *		'Title' - Title of the plugin and the link to the plugin's web site.
+ *		'Description' - Description of what the plugin does and/or notes from the author.
+ *		'Author' - The author's web site and name.
+ *		'Version' - The version of the plugin in the file.
+ *
+ * @since 2.5.0
+ *
+ * @param string $plugin_file Full Plugin Path
+ * @return array Plugin's data
+ */
 function get_plugin_data( $plugin_file ) {
-	$plugin_data = implode( '', file( $plugin_file ));
+	$plugin_data = plugin_get_contents($plugin_file);
 	preg_match( '|Plugin Name:(.*)$|mi', $plugin_data, $plugin_name );
 	preg_match( '|Plugin URI:(.*)$|mi', $plugin_data, $plugin_uri );
 	preg_match( '|Description:(.*)$|mi', $plugin_data, $description );
