diff --git a/src/FileReader.php b/src/FileReader.php index c29774e..e98f212 100644 --- a/src/FileReader.php +++ b/src/FileReader.php @@ -2,13 +2,28 @@ namespace CoenJacobs\Conductor; +/** + * Class FileReader + * + * @package CoenJacobs\Conductor + */ class FileReader { - public function getPluginVersion($slug) + /** + * Get the current version of an installed plugin. + * + * @param string $slug + * + * @return false|string + */ + public function getPluginVersion($slug) { - $contents = file_get_contents(WP_PLUGIN_DIR .'/' . $slug); - $matches = []; - preg_match('/(?:.*)(?:Version:)\s*(.*)?/', $contents, $matches); - return $matches[1]; + // Stripped down list of headers. + $default_headers = [ + 'Version' => 'Version', + ]; + + $plugin_data = get_file_data( WP_PLUGIN_DIR . '/' . $slug, $default_headers, 'plugin' ); + return ! empty( $plugin_data['Version'] ) ? $plugin_data['Version'] : false; // Set default that you are set to handle as a false. } }