uawdijnntqw1x1x1
IP : 216.73.216.109
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
www
/
wp-content
/
plugins
/
wp-smushit
/
core
/
membership
/
.
/
class-membership.php
/
/
<?php namespace Smush\Core\Membership; use Smush\Core\Api\Smush_API; use Smush\Core\Hub_Connector; use WPMUDEV\Hub\Connector\Data; class Membership { /** * Static instance * * @var self */ private static $instance; /** * Static instance getter */ public static function get_instance() { if ( empty( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * @var boolean */ private $is_pro; public function get_apikey() { // If API key defined manually, get that. if ( defined( 'WPMUDEV_APIKEY' ) && WPMUDEV_APIKEY ) { return WPMUDEV_APIKEY; } // If dashboard plugin is active, get API key from db. if ( class_exists( 'WPMUDEV_Dashboard' ) ) { return get_site_option( 'wpmudev_apikey' ); } return false; } /** * Validate the installation. * * @param bool $force Force revalidation. * @return void */ public function validate_install( $force = false ) { if ( $this->is_pro && ! $force ) { return; } $api_key = $this->get_apikey(); if ( empty( $api_key ) ) { return; } // Flag to check if we need to revalidate the key. $revalidate = false; $api_auth = get_site_option( 'wp_smush_api_auth' ); // Check if we need to revalidate. if ( empty( $api_auth[ $api_key ] ) ) { $api_auth = array(); $revalidate = true; } else { $last_checked = $api_auth[ $api_key ]['timestamp']; $valid = $api_auth[ $api_key ]['validity']; // Difference in hours. $diff = ( time() - $last_checked ) / HOUR_IN_SECONDS; if ( 24 < $diff ) { $revalidate = true; } } // If we are supposed to validate API, update the results in options table. if ( $revalidate || $force ) { if ( empty( $api_auth[ $api_key ] ) ) { // For api key resets. $api_auth[ $api_key ] = array(); // Storing it as valid, unless we really get to know from API call. $valid = 'valid'; $api_auth[ $api_key ]['validity'] = 'valid'; } // This is the first check. if ( ! isset( $api_auth[ $api_key ]['timestamp'] ) ) { $api_auth[ $api_key ]['timestamp'] = time(); } $api = new Smush_API( $api_key ); $request = $api->check( $force ); if ( ! is_wp_error( $request ) && 200 === wp_remote_retrieve_response_code( $request ) ) { // Update the timestamp only on successful attempts. $api_auth[ $api_key ]['timestamp'] = time(); update_site_option( 'wp_smush_api_auth', $api_auth ); $result = json_decode( wp_remote_retrieve_body( $request ) ); if ( ! empty( $result->success ) ) { $valid = 'valid'; update_site_option( 'wp-smush-cdn_status', $result->data ); } else { $valid = 'invalid'; } } elseif ( ! isset( $valid ) || 'valid' !== $valid ) { // Invalidate only in case when it was not valid before. $valid = 'invalid'; } $api_auth[ $api_key ]['validity'] = $valid; // Update API validity. update_site_option( 'wp_smush_api_auth', $api_auth ); } $this->is_pro = isset( $valid ) && 'valid' === $valid; } /** * Check if the membership is pro. * * @return bool */ public function is_pro() { return $this->is_pro; } /** * Check if the user has access to the hub. * * Warning: This method do not support old free users. * * @return bool */ public function has_access_to_hub() { if ( $this->is_pro() ) { return true; } if ( class_exists( 'WPMUDEV_Dashboard' ) && method_exists( 'WPMUDEV_Dashboard_Api', 'get_membership_status' ) ) { // Possible values: full, single, free, expired, paused, unit. $plan = \WPMUDEV_Dashboard::$api->get_membership_status(); } elseif ( Hub_Connector::has_access() && class_exists( '\WPMUDEV\Hub\Connector\Data' ) ) { $plan = Data::get()->membership_type(); } else { return false; } return in_array( $plan, array( 'full', 'single', 'free', 'unit' ), true ); } /** * Check if access to the Hub access is required to use the API. * * @return bool */ public function is_api_hub_access_required() { $is_pre_3_22_site = get_site_option( 'wp_smush_pre_3_22_site' ); if ( $is_pre_3_22_site ) { return false; } return ! $this->has_access_to_hub(); } }
/home/batcwwjx/www/wp-content/plugins/wp-smushit/core/membership/./class-membership.php