Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/content-.../inc/freemius/includes
File: class-freemius.php
* `$fs->is_registered() && $fs->is_tracking_allowed()`
[11000] Fix | Delete
*
[11001] Fix | Delete
* @author Vova Feldman (@svovaf)
[11002] Fix | Delete
* @since 1.0.1
[11003] Fix | Delete
*
[11004] Fix | Delete
* @param bool $ignore_anonymous_state Since 2.5.1
[11005] Fix | Delete
*
[11006] Fix | Delete
* @return bool
[11007] Fix | Delete
*/
[11008] Fix | Delete
function is_registered( $ignore_anonymous_state = false ) {
[11009] Fix | Delete
return (
[11010] Fix | Delete
is_object( $this->_user ) &&
[11011] Fix | Delete
(
[11012] Fix | Delete
$this->is_premium() ||
[11013] Fix | Delete
$ignore_anonymous_state ||
[11014] Fix | Delete
! $this->is_anonymous()
[11015] Fix | Delete
)
[11016] Fix | Delete
);
[11017] Fix | Delete
}
[11018] Fix | Delete
[11019] Fix | Delete
/**
[11020] Fix | Delete
* Returns TRUE if the user opted-in and didn't disconnect (opt-out).
[11021] Fix | Delete
*
[11022] Fix | Delete
* @author Leo Fajardo (@leorw)
[11023] Fix | Delete
* @since 1.2.1.5
[11024] Fix | Delete
*
[11025] Fix | Delete
* @return bool
[11026] Fix | Delete
*/
[11027] Fix | Delete
function is_tracking_allowed( $blog_id = null, $install = null ) {
[11028] Fix | Delete
if ( is_null( $install ) ) {
[11029] Fix | Delete
$install = is_null( $blog_id ) ?
[11030] Fix | Delete
$this->_site :
[11031] Fix | Delete
$this->get_install_by_blog_id( $blog_id );
[11032] Fix | Delete
}
[11033] Fix | Delete
[11034] Fix | Delete
return (
[11035] Fix | Delete
is_object( $install ) &&
[11036] Fix | Delete
FS_Permission_Manager::instance( $this )->is_homepage_url_tracking_allowed( $blog_id )
[11037] Fix | Delete
);
[11038] Fix | Delete
}
[11039] Fix | Delete
[11040] Fix | Delete
/**
[11041] Fix | Delete
* Returns TRUE if the user never opted-in or manually opted-out.
[11042] Fix | Delete
*
[11043] Fix | Delete
* @author Vova Feldman (@svovaf)
[11044] Fix | Delete
* @since 1.2.1.5
[11045] Fix | Delete
*
[11046] Fix | Delete
* @param int|null $blog_id
[11047] Fix | Delete
*
[11048] Fix | Delete
* @return bool
[11049] Fix | Delete
*/
[11050] Fix | Delete
function is_tracking_prohibited( $blog_id = null ) {
[11051] Fix | Delete
return (
[11052] Fix | Delete
! $this->is_registered( true ) ||
[11053] Fix | Delete
! $this->is_tracking_allowed( $blog_id )
[11054] Fix | Delete
);
[11055] Fix | Delete
}
[11056] Fix | Delete
[11057] Fix | Delete
/**
[11058] Fix | Delete
* @author Leo Fajardo (@leorw)
[11059] Fix | Delete
* @since 2.4.0
[11060] Fix | Delete
*
[11061] Fix | Delete
* @return bool
[11062] Fix | Delete
*/
[11063] Fix | Delete
function is_bundle_license_auto_activation_enabled() {
[11064] Fix | Delete
return $this->is_addon() ?
[11065] Fix | Delete
( is_object( $this->_parent ) && $this->_parent->is_bundle_license_auto_activation_enabled() ) :
[11066] Fix | Delete
$this->_is_bundle_license_auto_activation_enabled;
[11067] Fix | Delete
}
[11068] Fix | Delete
[11069] Fix | Delete
/**
[11070] Fix | Delete
* @author Vova Feldman (@svovaf)
[11071] Fix | Delete
* @since 1.0.4
[11072] Fix | Delete
*
[11073] Fix | Delete
* @return FS_Plugin
[11074] Fix | Delete
*/
[11075] Fix | Delete
function get_plugin() {
[11076] Fix | Delete
return $this->_plugin;
[11077] Fix | Delete
}
[11078] Fix | Delete
[11079] Fix | Delete
/**
[11080] Fix | Delete
* @author Vova Feldman (@svovaf)
[11081] Fix | Delete
* @since 1.0.3
[11082] Fix | Delete
*
[11083] Fix | Delete
* @return FS_User
[11084] Fix | Delete
*/
[11085] Fix | Delete
function get_user() {
[11086] Fix | Delete
return $this->_user;
[11087] Fix | Delete
}
[11088] Fix | Delete
[11089] Fix | Delete
/**
[11090] Fix | Delete
* @author Vova Feldman (@svovaf)
[11091] Fix | Delete
* @since 1.0.3
[11092] Fix | Delete
*
[11093] Fix | Delete
* @return FS_Site
[11094] Fix | Delete
*/
[11095] Fix | Delete
function get_site() {
[11096] Fix | Delete
return $this->_site;
[11097] Fix | Delete
}
[11098] Fix | Delete
[11099] Fix | Delete
/**
[11100] Fix | Delete
* @author Leo Fajardo (@leorw)
[11101] Fix | Delete
* @since 2.5.0
[11102] Fix | Delete
*/
[11103] Fix | Delete
function store_site( $site ) {
[11104] Fix | Delete
$this->_site = $site;
[11105] Fix | Delete
$this->_store_site( true );
[11106] Fix | Delete
}
[11107] Fix | Delete
[11108] Fix | Delete
/**
[11109] Fix | Delete
* Deletes the current install with an option to back it up in case restoration will be needed (e.g., if the automatic clone resolution attempt fails).
[11110] Fix | Delete
*
[11111] Fix | Delete
* @author Leo Fajardo (@leorw)
[11112] Fix | Delete
* @since 2.5.0
[11113] Fix | Delete
*/
[11114] Fix | Delete
function delete_current_install( $back_up ) {
[11115] Fix | Delete
// Back up and delete the unique ID.
[11116] Fix | Delete
if ( $back_up ) {
[11117] Fix | Delete
self::$_accounts->set_option( 'prev_unique_id', $this->get_anonymous_id() );
[11118] Fix | Delete
}
[11119] Fix | Delete
[11120] Fix | Delete
self::$_accounts->set_option( 'unique_id', null );
[11121] Fix | Delete
[11122] Fix | Delete
if ( $back_up ) {
[11123] Fix | Delete
// Back up the install before deleting it so that it can be restored later on if necessary (e.g., if the automatic clone resolution attempt fails).
[11124] Fix | Delete
$this->back_up_site();
[11125] Fix | Delete
}
[11126] Fix | Delete
[11127] Fix | Delete
$this->_delete_site();
[11128] Fix | Delete
$this->_site = null;
[11129] Fix | Delete
}
[11130] Fix | Delete
[11131] Fix | Delete
/**
[11132] Fix | Delete
* @author Leo Fajardo (@leorw)
[11133] Fix | Delete
* @since 2.5.0
[11134] Fix | Delete
*/
[11135] Fix | Delete
function restore_backup_site() {
[11136] Fix | Delete
self::$_accounts->set_option(
[11137] Fix | Delete
'unique_id',
[11138] Fix | Delete
self::$_accounts->get_option( 'prev_unique_id' )
[11139] Fix | Delete
);
[11140] Fix | Delete
[11141] Fix | Delete
$sites = self::get_all_sites( $this->_module_type, null, true );
[11142] Fix | Delete
$this->store_site( clone $sites[ $this->_slug ] );
[11143] Fix | Delete
}
[11144] Fix | Delete
[11145] Fix | Delete
/**
[11146] Fix | Delete
* Get plugin add-ons.
[11147] Fix | Delete
*
[11148] Fix | Delete
* @author Vova Feldman (@svovaf)
[11149] Fix | Delete
* @since 1.0.6
[11150] Fix | Delete
*
[11151] Fix | Delete
* @since 1.1.7.3 If not yet loaded, fetch data from the API.
[11152] Fix | Delete
*
[11153] Fix | Delete
* @param bool $flush
[11154] Fix | Delete
*
[11155] Fix | Delete
* @return FS_Plugin[]|false
[11156] Fix | Delete
*/
[11157] Fix | Delete
function get_addons( $flush = false ) {
[11158] Fix | Delete
$this->_logger->entrance();
[11159] Fix | Delete
[11160] Fix | Delete
if ( ! $this->_has_addons ) {
[11161] Fix | Delete
return false;
[11162] Fix | Delete
}
[11163] Fix | Delete
[11164] Fix | Delete
$addons = $this->sync_addons( $flush );
[11165] Fix | Delete
[11166] Fix | Delete
return ( ! is_array( $addons ) || empty( $addons ) ) ?
[11167] Fix | Delete
false :
[11168] Fix | Delete
$addons;
[11169] Fix | Delete
}
[11170] Fix | Delete
[11171] Fix | Delete
/**
[11172] Fix | Delete
* @author Vova Feldman (@svovaf)
[11173] Fix | Delete
* @since 1.0.6
[11174] Fix | Delete
*
[11175] Fix | Delete
* @return number[]|false
[11176] Fix | Delete
*/
[11177] Fix | Delete
function get_account_addons() {
[11178] Fix | Delete
$this->_logger->entrance();
[11179] Fix | Delete
[11180] Fix | Delete
$addons = self::get_all_account_addons();
[11181] Fix | Delete
[11182] Fix | Delete
if ( ! is_array( $addons ) ||
[11183] Fix | Delete
! isset( $addons[ $this->_plugin->id ] ) ||
[11184] Fix | Delete
! is_array( $addons[ $this->_plugin->id ] ) ||
[11185] Fix | Delete
0 === count( $addons[ $this->_plugin->id ] )
[11186] Fix | Delete
) {
[11187] Fix | Delete
return false;
[11188] Fix | Delete
}
[11189] Fix | Delete
[11190] Fix | Delete
return $addons[ $this->_plugin->id ];
[11191] Fix | Delete
}
[11192] Fix | Delete
[11193] Fix | Delete
/**
[11194] Fix | Delete
* Check if user has any
[11195] Fix | Delete
*
[11196] Fix | Delete
* @author Vova Feldman (@svovaf)
[11197] Fix | Delete
* @since 1.1.6
[11198] Fix | Delete
*
[11199] Fix | Delete
* @return bool
[11200] Fix | Delete
*/
[11201] Fix | Delete
function has_account_addons() {
[11202] Fix | Delete
$addons = $this->get_account_addons();
[11203] Fix | Delete
[11204] Fix | Delete
return is_array( $addons ) && ( 0 < count( $addons ) );
[11205] Fix | Delete
}
[11206] Fix | Delete
[11207] Fix | Delete
[11208] Fix | Delete
/**
[11209] Fix | Delete
* Get add-on by ID (from local data).
[11210] Fix | Delete
*
[11211] Fix | Delete
* @author Vova Feldman (@svovaf)
[11212] Fix | Delete
* @since 1.0.6
[11213] Fix | Delete
*
[11214] Fix | Delete
* @param number $id
[11215] Fix | Delete
*
[11216] Fix | Delete
* @return FS_Plugin|false
[11217] Fix | Delete
*/
[11218] Fix | Delete
function get_addon( $id ) {
[11219] Fix | Delete
$this->_logger->entrance();
[11220] Fix | Delete
[11221] Fix | Delete
$addons = $this->get_addons();
[11222] Fix | Delete
[11223] Fix | Delete
if ( is_array( $addons ) ) {
[11224] Fix | Delete
foreach ( $addons as $addon ) {
[11225] Fix | Delete
if ( $id == $addon->id ) {
[11226] Fix | Delete
return $addon;
[11227] Fix | Delete
}
[11228] Fix | Delete
}
[11229] Fix | Delete
}
[11230] Fix | Delete
[11231] Fix | Delete
return false;
[11232] Fix | Delete
}
[11233] Fix | Delete
[11234] Fix | Delete
/**
[11235] Fix | Delete
* Get add-on by slug (from local data).
[11236] Fix | Delete
*
[11237] Fix | Delete
* @author Vova Feldman (@svovaf)
[11238] Fix | Delete
* @since 1.0.6
[11239] Fix | Delete
*
[11240] Fix | Delete
* @param string $slug
[11241] Fix | Delete
*
[11242] Fix | Delete
* @param bool $flush
[11243] Fix | Delete
*
[11244] Fix | Delete
* @return FS_Plugin|false
[11245] Fix | Delete
*/
[11246] Fix | Delete
function get_addon_by_slug( $slug, $flush = false ) {
[11247] Fix | Delete
$this->_logger->entrance();
[11248] Fix | Delete
[11249] Fix | Delete
$addons = $this->get_addons( $flush );
[11250] Fix | Delete
[11251] Fix | Delete
if ( is_array( $addons ) ) {
[11252] Fix | Delete
foreach ( $addons as $addon ) {
[11253] Fix | Delete
if ( $slug === $addon->slug ) {
[11254] Fix | Delete
return $addon;
[11255] Fix | Delete
}
[11256] Fix | Delete
}
[11257] Fix | Delete
}
[11258] Fix | Delete
[11259] Fix | Delete
return false;
[11260] Fix | Delete
}
[11261] Fix | Delete
[11262] Fix | Delete
/**
[11263] Fix | Delete
* @var array<number,object[]> {
[11264] Fix | Delete
* @key number Add-on ID.
[11265] Fix | Delete
* @val object[] The add-on's plans and prices object.
[11266] Fix | Delete
* }
[11267] Fix | Delete
*/
[11268] Fix | Delete
private $plans_and_pricing_by_addon_id;
[11269] Fix | Delete
[11270] Fix | Delete
/**
[11271] Fix | Delete
* @author Leo Fajardo (@leorw)
[11272] Fix | Delete
* @since 2.3.0
[11273] Fix | Delete
*
[11274] Fix | Delete
* @return array<number,object[]> {
[11275] Fix | Delete
* @key number Add-on ID.
[11276] Fix | Delete
* @val object[] The add-on's plans and prices object.
[11277] Fix | Delete
* }
[11278] Fix | Delete
*/
[11279] Fix | Delete
function _get_addons_plans_and_pricing_map_by_id() {
[11280] Fix | Delete
if ( ! isset( $this->plans_and_pricing_by_addon_id ) ) {
[11281] Fix | Delete
$result = $this->get_api_plugin_scope()->get( $this->add_show_pending( "/addons/pricing.json?type=visible" ) );
[11282] Fix | Delete
[11283] Fix | Delete
$plans_and_pricing_by_addon_id = array();
[11284] Fix | Delete
if ( $this->is_api_result_object( $result, 'addons' ) ) {
[11285] Fix | Delete
foreach ( $result->addons as $addon ) {
[11286] Fix | Delete
$plans_and_pricing_by_addon_id[ $addon->id ] = $addon->plans;
[11287] Fix | Delete
}
[11288] Fix | Delete
}
[11289] Fix | Delete
[11290] Fix | Delete
$this->plans_and_pricing_by_addon_id = $plans_and_pricing_by_addon_id;
[11291] Fix | Delete
}
[11292] Fix | Delete
[11293] Fix | Delete
return $this->plans_and_pricing_by_addon_id;
[11294] Fix | Delete
}
[11295] Fix | Delete
[11296] Fix | Delete
/**
[11297] Fix | Delete
* @author Leo Fajardo (@leorw)
[11298] Fix | Delete
* @since 2.3.0
[11299] Fix | Delete
*
[11300] Fix | Delete
* @param number $addon_id
[11301] Fix | Delete
* @param bool $is_installed
[11302] Fix | Delete
*
[11303] Fix | Delete
* @return array
[11304] Fix | Delete
*/
[11305] Fix | Delete
function _get_addon_info( $addon_id, $is_installed ) {
[11306] Fix | Delete
$addon = $this->get_addon( $addon_id );
[11307] Fix | Delete
[11308] Fix | Delete
if ( ! is_object( $addon ) ) {
[11309] Fix | Delete
// Unexpected call.
[11310] Fix | Delete
return array();
[11311] Fix | Delete
}
[11312] Fix | Delete
[11313] Fix | Delete
$slug = $addon->slug;
[11314] Fix | Delete
[11315] Fix | Delete
$addon_storage = FS_Storage::instance( WP_FS__MODULE_TYPE_PLUGIN, $slug );
[11316] Fix | Delete
[11317] Fix | Delete
if ( ! fs_is_network_admin() ) {
[11318] Fix | Delete
// Get blog-level activated installations.
[11319] Fix | Delete
$sites = self::maybe_get_entities_account_option( 'sites', array() );
[11320] Fix | Delete
} else {
[11321] Fix | Delete
$sites = null;
[11322] Fix | Delete
[11323] Fix | Delete
if ( $this->is_addon_activated( $addon_id ) &&
[11324] Fix | Delete
$this->get_addon_instance( $addon_id )->is_network_active()
[11325] Fix | Delete
) {
[11326] Fix | Delete
if ( FS_Site::is_valid_id( $addon_storage->network_install_blog_id ) ) {
[11327] Fix | Delete
// Get network-level activated installations.
[11328] Fix | Delete
$sites = self::maybe_get_entities_account_option(
[11329] Fix | Delete
'sites',
[11330] Fix | Delete
array(),
[11331] Fix | Delete
$addon_storage->network_install_blog_id
[11332] Fix | Delete
);
[11333] Fix | Delete
}
[11334] Fix | Delete
}
[11335] Fix | Delete
}
[11336] Fix | Delete
[11337] Fix | Delete
$addon_info = array(
[11338] Fix | Delete
'is_connected' => false,
[11339] Fix | Delete
'slug' => $slug,
[11340] Fix | Delete
'title' => $addon->title,
[11341] Fix | Delete
'is_whitelabeled' => $addon_storage->is_whitelabeled
[11342] Fix | Delete
);
[11343] Fix | Delete
[11344] Fix | Delete
if ( ! $is_installed ) {
[11345] Fix | Delete
$plans_and_pricing_by_addon_id = $this->_get_addons_plans_and_pricing_map_by_id();
[11346] Fix | Delete
[11347] Fix | Delete
if ( isset( $plans_and_pricing_by_addon_id[ $addon_id ] ) ) {
[11348] Fix | Delete
$has_paid_plan = false;
[11349] Fix | Delete
$plans = $plans_and_pricing_by_addon_id[ $addon_id ];
[11350] Fix | Delete
[11351] Fix | Delete
if ( is_array( $plans ) && count( $plans ) > 0 ) {
[11352] Fix | Delete
foreach ( $plans as $plan ) {
[11353] Fix | Delete
if ( isset( $plan->pricing ) &&
[11354] Fix | Delete
is_array( $plan->pricing ) &&
[11355] Fix | Delete
count( $plan->pricing ) > 0
[11356] Fix | Delete
) {
[11357] Fix | Delete
$has_paid_plan = true;
[11358] Fix | Delete
break;
[11359] Fix | Delete
}
[11360] Fix | Delete
}
[11361] Fix | Delete
}
[11362] Fix | Delete
[11363] Fix | Delete
$addon_info['has_paid_plan'] = $has_paid_plan;
[11364] Fix | Delete
}
[11365] Fix | Delete
}
[11366] Fix | Delete
[11367] Fix | Delete
if ( ! is_array( $sites ) || ! isset( $sites[ $slug ] ) ) {
[11368] Fix | Delete
return $addon_info;
[11369] Fix | Delete
}
[11370] Fix | Delete
[11371] Fix | Delete
$site = $sites[ $slug ];
[11372] Fix | Delete
[11373] Fix | Delete
$addon_info['is_connected'] = (
[11374] Fix | Delete
( $addon->parent_plugin_id == $this->get_id() ) &&
[11375] Fix | Delete
is_object( $site ) &&
[11376] Fix | Delete
FS_Site::is_valid_id( $site->id ) &&
[11377] Fix | Delete
FS_User::is_valid_id( $site->user_id ) &&
[11378] Fix | Delete
FS_Plugin_Plan::is_valid_id( $site->plan_id )
[11379] Fix | Delete
);
[11380] Fix | Delete
[11381] Fix | Delete
if ( $addon_info['is_connected'] && $is_installed ) {
[11382] Fix | Delete
return $addon_info;
[11383] Fix | Delete
}
[11384] Fix | Delete
[11385] Fix | Delete
$addon_info['site'] = $site;
[11386] Fix | Delete
[11387] Fix | Delete
$plugins_data = self::maybe_get_entities_account_option( WP_FS__MODULE_TYPE_PLUGIN . 's', array() );
[11388] Fix | Delete
if ( isset( $plugins_data[ $slug ] ) ) {
[11389] Fix | Delete
$plugin_data = $plugins_data[ $slug ];
[11390] Fix | Delete
[11391] Fix | Delete
$addon_info['version'] = $plugin_data->version;
[11392] Fix | Delete
}
[11393] Fix | Delete
[11394] Fix | Delete
$all_plans = self::maybe_get_entities_account_option( 'plans', array() );
[11395] Fix | Delete
if ( isset( $all_plans[ $slug ] ) ) {
[11396] Fix | Delete
$plans = $all_plans[ $slug ];
[11397] Fix | Delete
[11398] Fix | Delete
foreach ( $plans as $plan ) {
[11399] Fix | Delete
if ( $site->plan_id == Freemius::_decrypt( $plan->id ) ) {
[11400] Fix | Delete
$addon_info['plan_name'] = Freemius::_decrypt( $plan->name );
[11401] Fix | Delete
$addon_info['plan_title'] = Freemius::_decrypt( $plan->title );
[11402] Fix | Delete
break;
[11403] Fix | Delete
}
[11404] Fix | Delete
}
[11405] Fix | Delete
}
[11406] Fix | Delete
[11407] Fix | Delete
$licenses = self::maybe_get_entities_account_option( 'all_licenses', array() );
[11408] Fix | Delete
if ( is_array( $licenses ) && isset( $licenses[ $addon_id ] ) ) {
[11409] Fix | Delete
foreach ( $licenses[ $addon_id ] as $license ) {
[11410] Fix | Delete
if ( $license->id == $site->license_id ) {
[11411] Fix | Delete
$addon_info['license'] = $license;
[11412] Fix | Delete
break;
[11413] Fix | Delete
}
[11414] Fix | Delete
}
[11415] Fix | Delete
}
[11416] Fix | Delete
[11417] Fix | Delete
if ( isset( $addon_info['license'] ) ) {
[11418] Fix | Delete
if ( isset( $addon_storage->subscriptions ) &&
[11419] Fix | Delete
! empty( $addon_storage->subscriptions )
[11420] Fix | Delete
) {
[11421] Fix | Delete
$addon_subscriptions = fs_get_entities( $addon_storage->subscriptions, FS_Subscription::get_class_name() );
[11422] Fix | Delete
[11423] Fix | Delete
foreach ( $addon_subscriptions as $subscription ) {
[11424] Fix | Delete
if ( $subscription->license_id == $site->license_id ) {
[11425] Fix | Delete
$addon_info['subscription'] = $subscription;
[11426] Fix | Delete
break;
[11427] Fix | Delete
}
[11428] Fix | Delete
}
[11429] Fix | Delete
}
[11430] Fix | Delete
}
[11431] Fix | Delete
[11432] Fix | Delete
return $addon_info;
[11433] Fix | Delete
}
[11434] Fix | Delete
[11435] Fix | Delete
/**
[11436] Fix | Delete
* @author Vova Feldman (@svovaf)
[11437] Fix | Delete
* @since 2.0.0
[11438] Fix | Delete
*
[11439] Fix | Delete
* @param number $user_id
[11440] Fix | Delete
*
[11441] Fix | Delete
* @return FS_User
[11442] Fix | Delete
*/
[11443] Fix | Delete
static function _get_user_by_id( $user_id ) {
[11444] Fix | Delete
self::$_static_logger->entrance( "user_id = {$user_id}" );
[11445] Fix | Delete
[11446] Fix | Delete
$users = self::get_all_users();
[11447] Fix | Delete
[11448] Fix | Delete
if ( is_array( $users ) ) {
[11449] Fix | Delete
if ( isset( $users[ $user_id ] ) &&
[11450] Fix | Delete
$users[ $user_id ] instanceof FS_User &&
[11451] Fix | Delete
$user_id == $users[ $user_id ]->id
[11452] Fix | Delete
) {
[11453] Fix | Delete
return $users[ $user_id ];
[11454] Fix | Delete
}
[11455] Fix | Delete
[11456] Fix | Delete
// If user wasn't found by the key, iterate over all the users collection.
[11457] Fix | Delete
foreach ( $users as $user ) {
[11458] Fix | Delete
/**
[11459] Fix | Delete
* @var FS_User $user
[11460] Fix | Delete
*/
[11461] Fix | Delete
if ( $user_id == $user->id ) {
[11462] Fix | Delete
return $user;
[11463] Fix | Delete
}
[11464] Fix | Delete
}
[11465] Fix | Delete
}
[11466] Fix | Delete
[11467] Fix | Delete
return null;
[11468] Fix | Delete
}
[11469] Fix | Delete
[11470] Fix | Delete
/**
[11471] Fix | Delete
* Checks if a Freemius user_id is associated with a super-admin.
[11472] Fix | Delete
*
[11473] Fix | Delete
* @author Vova Feldman (@svovaf)
[11474] Fix | Delete
* @since 2.0.0
[11475] Fix | Delete
*
[11476] Fix | Delete
* @param number $user_id
[11477] Fix | Delete
*
[11478] Fix | Delete
* @return bool
[11479] Fix | Delete
*/
[11480] Fix | Delete
private static function is_super_admin( $user_id ) {
[11481] Fix | Delete
$is_super_admin = false;
[11482] Fix | Delete
[11483] Fix | Delete
$user = self::_get_user_by_id( $user_id );
[11484] Fix | Delete
[11485] Fix | Delete
if ( $user instanceof FS_User && ! empty( $user->email ) ) {
[11486] Fix | Delete
self::require_pluggable_essentials();
[11487] Fix | Delete
[11488] Fix | Delete
$wp_user = get_user_by( 'email', $user->email );
[11489] Fix | Delete
[11490] Fix | Delete
if ( $wp_user instanceof WP_User ) {
[11491] Fix | Delete
$super_admins = get_super_admins();
[11492] Fix | Delete
$is_super_admin = ( is_array( $super_admins ) && in_array( $wp_user->user_login, $super_admins ) );
[11493] Fix | Delete
}
[11494] Fix | Delete
}
[11495] Fix | Delete
[11496] Fix | Delete
return $is_super_admin;
[11497] Fix | Delete
}
[11498] Fix | Delete
[11499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function