/var/www/p4ela.net/www/wp-content/plugins/image-optimization/modules/connect/classes
Edit: /var/www/p4ela.net/www/wp-content/plugins/image-optimization/modules/connect/classes/data.php (9069B)
get_col(
$wpdb->prepare(
"SELECT option_value
FROM $wpdb->options
WHERE option_name = %s
AND %s = %s
LIMIT 1",
$option_name,
$cache_buster,
$cache_buster
)
);
if ( ! empty( $option ) ) {
return $option[0];
}
return $default;
}
/**
* insert_option_uniquely
* used to insert option if not there already
* direct query to avoid cache and race condition issues
* @param $option_name
* @param $option_value
*
* @return bool
*/
public static function insert_option_uniquely( $option_name, $option_value ): bool {
global $wpdb;
$cache_buster = wp_generate_uuid4();
$result = $wpdb->query(
$wpdb->prepare(
"INSERT INTO $wpdb->options (option_name, option_value, autoload)
SELECT * FROM (SELECT %s, %s, 'no') AS tmp
WHERE NOT EXISTS (
SELECT option_name
FROM $wpdb->options
WHERE option_name = %s
AND option_value = %s
AND %s = %s
) LIMIT 1",
$option_name,
$option_value,
$option_name,
$option_value,
$cache_buster,
$cache_buster
)
);
if ( false === $result || 0 === $result ) {
// false means query failed, 0 means no row inserted because it exists
return false;
}
return true;
}
/**
* User is subscription owner.
*
* Check if current user is subscription owner.
*
* @return boolean
*/
public static function user_is_subscription_owner(): bool {
$owner_id = (int) self::get_connect_mode_data( self::OPTION_OWNER_USER_ID, false );
return get_current_user_id() === $owner_id;
}
public static function ensure_reset_connect() {
if ( Config::CONNECT_MODE === 'site' ) {
self::delete_option( self::ACCESS_TOKEN );
self::delete_option( self::REFRESH_TOKEN );
self::delete_option( self::TOKEN_ID );
self::delete_option( self::SUBSCRIPTION_ID );
self::delete_option( self::OPTION_OWNER_USER_ID );
self::delete_option( self::HOME_URL );
delete_transient( 'image_optimizer_status_check' );
} else {
$user_id = get_current_user_id();
self::delete_user_data( $user_id, self::ACCESS_TOKEN );
self::delete_user_data( $user_id, self::REFRESH_TOKEN );
self::delete_user_data( $user_id, self::TOKEN_ID );
self::delete_user_data( $user_id, self::SUBSCRIPTION_ID );
self::delete_user_data( $user_id, self::OPTION_OWNER_USER_ID );
self::delete_user_data( $user_id, self::HOME_URL );
delete_transient( 'image_optimizer_status_check' );
}
}
/**
* clear_session
*/
public static function clear_session() {
if ( Config::CONNECT_MODE === 'site' ) {
self::delete_option( self::CLIENT_ID );
self::delete_option( self::CLIENT_SECRET );
self::delete_option( self::ACCESS_TOKEN );
self::delete_option( self::REFRESH_TOKEN );
self::delete_option( self::TOKEN_ID );
self::delete_option( self::SUBSCRIPTION_ID );
self::delete_option( self::OPTION_OWNER_USER_ID );
self::delete_option( self::HOME_URL );
delete_transient( 'image_optimizer_status_check' );
} else {
$user_id = get_current_user_id();
self::delete_user_data( $user_id, self::CLIENT_ID );
self::delete_user_data( $user_id, self::CLIENT_SECRET );
self::delete_user_data( $user_id, self::ACCESS_TOKEN );
self::delete_user_data( $user_id, self::REFRESH_TOKEN );
self::delete_user_data( $user_id, self::TOKEN_ID );
self::delete_user_data( $user_id, self::SUBSCRIPTION_ID );
self::delete_user_data( $user_id, self::OPTION_OWNER_USER_ID );
self::delete_user_data( $user_id, self::HOME_URL );
delete_transient( 'image_optimizer_status_check' );
}
}
}