email_address_name ) { return $this->email_address_name; } return $this->prefix; } /** * Return the key for the global meta where all the version info is stored * for the plugin and addons. * * @param string $suffix * * @return string */ public function get_global_meta_key( $suffix = 'meta' ) { $prefix = $this->prefix; if ( $this->global_meta_prefix ) { $prefix = $this->global_meta_prefix; } return $prefix . '_' . $suffix; } /** * Gets a plugin basename for one of our plugins. * This is made up of the plugin folder and filename. * * @param string $slug * * @return string eg. 'akismet/akismet.php' */ function get_plugin_basename( $slug ) { $meta_key = $this->get_global_meta_key(); if ( ! isset( $GLOBALS[ $meta_key ][ $slug ]['folder'] ) ) { $plugin_folder = $slug; } else { $plugin_folder = $GLOBALS[ $meta_key ][ $slug ]['folder']; } $plugin_basename = sprintf( '%s/%s.php', $plugin_folder, $slug ); return $plugin_basename; } /** * Get the data for a plugin * * @param string $slug * * @return array|bool */ function get_plugin_data( $slug ) { $plugin_path = WP_PLUGIN_DIR . '/' . $this->get_plugin_basename( $slug ); if ( file_exists( $plugin_path ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; $plugin_data = get_plugin_data( $plugin_path ); if ( ! empty( $plugin_data['Name'] ) ) { return $plugin_data; } } return false; } /** * Get the name of a plugin * * @param string $slug * * @return string */ function get_plugin_name( $slug ) { $data = $this->get_plugin_data( $slug ); if ( $data && ! empty( $data['Name'] ) ) { $name = $data['Name']; } else { $name = ucwords( str_replace( '-', ' ', $slug ) ); } return $name; } /** * Get the installed version of a plugin * * @param string $slug * * @return int */ function get_plugin_version( $slug ) { $data = $this->get_plugin_data( $slug ); if ( $data && ! empty( $data['Version'] ) ) { return $data['Version']; } return false; } }