File "Plugin.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/mojo-marketplace-wp-plugin/vendor/bluehost/endurance-wp-plugin-updater/Plugin.php
File size: 2.32 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Endurance_WP_Plugin_Updater;
/**
* Class Plugin
*
* Get information about the current plugin context.
*
* @method author
* @method author_uri
* @method description
* @method domain_path
* @method license
* @method license_uri
* @method name
* @method requires_wp_version
* @method requires_php_version
* @method text_domain
* @method uri
* @method version
*/
class Plugin {
/**
* A collection of valid WordPress plugin file headers.
*
* @var array
*/
const HEADERS = [
'author' => 'Author',
'author_uri' => 'AuthorURI',
'description' => 'Description',
'domain_path' => 'DomainPath',
'license' => 'License',
'license_uri' => 'LicenseURI',
'name' => 'Name',
'requires_wp_version' => 'RequiresAtLeast',
'requires_php_version' => 'RequiresPHP',
'text_domain' => 'TextDomain',
'uri' => 'PluginURI',
'version' => 'Version',
];
protected $file;
public function __construct( $file = __FILE__ ) {
$this->file = $file;
}
/**
* Get the plugin basename.
*
* @return string
*/
public function basename() {
return plugin_basename( $this->file );
}
/**
* Get the plugin slug.
*
* @return string
*/
public function slug() {
return basename( plugin_dir_path( $this->file ) );
}
/**
* Get a specific plugin file header.
*
* @param string $name
*
* @return string
*/
protected function get_file_header( $name ) {
$file_headers = $this->get_file_headers();
return (string) isset( $file_headers[ $name ] ) ? $file_headers[ $name ] : '';
}
/**
* Get all plugin file headers.
*
* @return array
*/
protected function get_file_headers() {
static $file_headers = [];
if ( empty( $file_headers ) ) {
if ( ! function_exists( 'get_plugin_data' ) ) {
require wp_normalize_path( ABSPATH . '/wp-admin/includes/plugin.php' );
}
$file_headers = get_plugin_data( $this->file );
}
return $file_headers;
}
/**
* Magic method for fetching data from plugin file headers.
*
* @param string $name
*
* @return string
*/
public function __call( $name, $args ) {
$value = '';
if ( array_key_exists( $name, $this::HEADERS ) ) {
$value = $this->get_file_header( $this::HEADERS[ $name ] );
}
return $value;
}
}