PATH:
home
/
letacommog
/
adelcya
/
wp-content
/
plugins
/
wordpress-seo-premium
/
vendor
/
yoast
/
wp-helpscout
/
src
<?php /** * @package Yoast\WPHelpScout */ /** * Identifier for fetching installation related data like: other plugins, environment, etc. */ class Yoast_HelpScout_Beacon_Identifier { /** * @var Yoast_Product */ protected $products; /** * WPSEO_HelpScout_Beacon_Identifier constructor. * * @param Yoast_Product[] $products The product to report the license of. */ public function __construct( array $products ) { $this->products = $products; } /** * Build data to populate the beacon email form * * @return array */ public function get_data() { // Do not make these strings translateable! They are for our support agents, the user won't see them! $data = array( 'name' => $this->get_user_info(), 'email' => $this->get_user_info( 'email' ), 'WordPress Version' => $this->get_wordpress_version(), 'Server' => $this->get_server_info(), '<a href="' . admin_url( 'themes.php' ) . '">Theme</a>' => $this->get_theme_info(), '<a href="' . admin_url( 'plugins.php' ) . '">Plugins</a>' => $this->get_current_plugins(), ); foreach ( $this->products as $product ) { $data[ $product->get_item_name() ] = $this->get_product_info( $product ); } return $data; } /** * Returns basic info about the server software * * @return string */ private function get_server_info() { $out = '<table>'; // Validate if the server address is a valid IP-address. if ( $ipaddress = filter_input( INPUT_SERVER , 'SERVER_ADDR', FILTER_VALIDATE_IP ) ) { $out .= '<tr><td>IP</td><td>' . $ipaddress . '</td></tr>'; $out .= '<tr><td>Hostname</td><td>' . gethostbyaddr( $ipaddress ) . '</td></tr>'; } if ( function_exists( 'php_uname' ) ) { $out .= '<tr><td>OS</td><td>' . php_uname( 's r' ) . '</td></tr>'; } $out .= '<tr><td>PHP</td><td>' . PHP_VERSION . '</td></tr>'; $out .= '<tr><td>CURL</td><td>' . $this->get_curl_info() . '</td></tr>'; $out .= '</table>'; return $out; } /** * Returns info about the Yoast SEO plugin version and license * * @param Yoast_Product $product The product to return information for. * * @return string */ private function get_product_info( Yoast_Product $product ) { if ( ! class_exists( 'Yoast_Plugin_License_Manager' ) ) { return 'License manager could not be loaded'; } $license_manager = new Yoast_Plugin_License_Manager( $product ); $out = '<table>'; $out .= '<tr><td>Version</td><td>' . WPSEO_VERSION . '</td></tr>'; $out .= '<tr><td>License</td><td>' . '<a href=" ' . admin_url( 'admin.php?page=wpseo_licenses#top#licenses' ) . ' ">' . $license_manager->get_license_key() . '</a>' . '</td></tr>'; $out .= '<tr><td>Status</td><td>' . $license_manager->get_license_status() . '</td></tr>'; $out .= '</table>'; return $out; } /** * Returns info about the current user * * @param string $what What to retrieve, defaults to name. * * @return string */ private function get_user_info( $what = 'name' ) { $current_user = wp_get_current_user(); switch ( $what ) { case 'email': $out = $current_user->user_email; break; case 'name': default: $out = trim( $current_user->user_firstname . ' ' . $current_user->user_lastname ); break; } return $out; } /** * Returns the WordPress version + a suffix if current WP is multi site * * @return string */ private function get_wordpress_version() { global $wp_version; $msg = $wp_version; if ( is_multisite() ) { $msg .= ' MULTI-SITE'; } return $msg; } /** * Returns the curl version, if curl is found * * @return string */ private function get_curl_info() { if ( function_exists( 'curl_version' ) ) { $curl = curl_version(); $msg = $curl['version']; if ( ! $curl['features'] && CURL_VERSION_SSL ) { $msg .= ' - NO SSL SUPPORT'; } } else { $msg = 'No CURL installed'; } return $msg; } /** * Returns a formatted HTML string for the current theme * * @return string */ private function get_theme_info() { $theme = wp_get_theme(); $msg = '<a href="' . $theme->display( 'ThemeURI' ) . '">' . $theme->display( 'Name' ) . '</a> v' . $theme->display( 'Version' ) . ' by ' . $theme->display( 'Author' ); if ( is_child_theme() ) { $msg .= '<br />' . 'Child theme of: ' . $theme->display( 'Template' ); } return $msg; } /** * Returns a formatted HTML list of all active plugins * * @return string */ private function get_current_plugins() { $updates_avail = get_site_transient( 'update_plugins' ); $msg = ''; foreach ( wp_get_active_and_valid_plugins() as $plugin ) { $plugin_data = get_plugin_data( $plugin ); $plugin_file = str_replace( trailingslashit( WP_PLUGIN_DIR ), '', $plugin ); if ( isset( $updates_avail->response[ $plugin_file ] ) ) { $msg .= '<i class="icon-close1"></i> '; } $msg .= '<a href="' . $plugin_data['PluginURI'] . '">' . $plugin_data['Name'] . '</a> v' . $plugin_data['Version'] . '<br/>'; } return $msg; } }
[+]
..
[-] yoast-seo-helpscout-beacon.js.php
[edit]
[-] class-helpscout-beacon.php
[edit]
[-] functions.php
[edit]
[-] interface-helpscout-beacon-setting.php
[edit]
[-] class-helpscout-beacon-identifier.php
[edit]