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
#----------------------------------------------------------------------------------
[11500] Fix | Delete
#region Plans & Licensing
[11501] Fix | Delete
#----------------------------------------------------------------------------------
[11502] Fix | Delete
[11503] Fix | Delete
/**
[11504] Fix | Delete
* Check if running premium plugin code.
[11505] Fix | Delete
*
[11506] Fix | Delete
* @author Vova Feldman (@svovaf)
[11507] Fix | Delete
* @since 1.0.5
[11508] Fix | Delete
*
[11509] Fix | Delete
* @return bool
[11510] Fix | Delete
*/
[11511] Fix | Delete
function is_premium() {
[11512] Fix | Delete
/**
[11513] Fix | Delete
* `$this->_plugin` will be `false` when `is_activation_mode` calls this method directly from the
[11514] Fix | Delete
* `register_constructor_hooks` method.
[11515] Fix | Delete
*
[11516] Fix | Delete
* @author Leo Fajardo (@leorw)
[11517] Fix | Delete
* @since 2.2.3
[11518] Fix | Delete
*/
[11519] Fix | Delete
return is_object( $this->_plugin ) ?
[11520] Fix | Delete
$this->_plugin->is_premium :
[11521] Fix | Delete
false;
[11522] Fix | Delete
}
[11523] Fix | Delete
[11524] Fix | Delete
/**
[11525] Fix | Delete
* Get site's plan ID.
[11526] Fix | Delete
*
[11527] Fix | Delete
* @author Vova Feldman (@svovaf)
[11528] Fix | Delete
* @since 1.0.2
[11529] Fix | Delete
*
[11530] Fix | Delete
* @return number
[11531] Fix | Delete
*/
[11532] Fix | Delete
function get_plan_id() {
[11533] Fix | Delete
return $this->_site->plan_id;
[11534] Fix | Delete
}
[11535] Fix | Delete
[11536] Fix | Delete
/**
[11537] Fix | Delete
* Get site's plan title.
[11538] Fix | Delete
*
[11539] Fix | Delete
* @author Vova Feldman (@svovaf)
[11540] Fix | Delete
* @since 1.0.2
[11541] Fix | Delete
*
[11542] Fix | Delete
* @return string
[11543] Fix | Delete
*/
[11544] Fix | Delete
function get_plan_title() {
[11545] Fix | Delete
$plan = $this->get_plan();
[11546] Fix | Delete
[11547] Fix | Delete
return is_object( $plan ) ? $plan->title : 'PLAN_TITLE';
[11548] Fix | Delete
}
[11549] Fix | Delete
[11550] Fix | Delete
/**
[11551] Fix | Delete
* Get site's plan name.
[11552] Fix | Delete
*
[11553] Fix | Delete
* @author Vova Feldman (@svovaf)
[11554] Fix | Delete
* @since 2.0.0
[11555] Fix | Delete
*
[11556] Fix | Delete
* @return string
[11557] Fix | Delete
*/
[11558] Fix | Delete
function get_plan_name() {
[11559] Fix | Delete
$plan = $this->get_plan();
[11560] Fix | Delete
[11561] Fix | Delete
return is_object( $plan ) ? $plan->name : 'PLAN_NAME';
[11562] Fix | Delete
}
[11563] Fix | Delete
[11564] Fix | Delete
/**
[11565] Fix | Delete
* @author Vova Feldman (@svovaf)
[11566] Fix | Delete
* @since 1.0.9
[11567] Fix | Delete
*
[11568] Fix | Delete
* @return FS_Plugin_Plan|false
[11569] Fix | Delete
*/
[11570] Fix | Delete
function get_plan() {
[11571] Fix | Delete
if ( ! is_object( $this->_site ) ) {
[11572] Fix | Delete
return false;
[11573] Fix | Delete
}
[11574] Fix | Delete
[11575] Fix | Delete
return FS_Plugin_Plan::is_valid_id( $this->_site->plan_id ) ?
[11576] Fix | Delete
$this->_get_plan_by_id( $this->_site->plan_id ) :
[11577] Fix | Delete
false;
[11578] Fix | Delete
}
[11579] Fix | Delete
[11580] Fix | Delete
/**
[11581] Fix | Delete
* @author Vova Feldman (@svovaf)
[11582] Fix | Delete
* @since 1.0.3
[11583] Fix | Delete
*
[11584] Fix | Delete
* @return bool
[11585] Fix | Delete
*/
[11586] Fix | Delete
function is_trial() {
[11587] Fix | Delete
$this->_logger->entrance();
[11588] Fix | Delete
[11589] Fix | Delete
if ( ! $this->is_registered( true ) || ! is_object( $this->_site ) ) {
[11590] Fix | Delete
return false;
[11591] Fix | Delete
}
[11592] Fix | Delete
[11593] Fix | Delete
return $this->_site->is_trial();
[11594] Fix | Delete
}
[11595] Fix | Delete
[11596] Fix | Delete
/**
[11597] Fix | Delete
* Check if currently in a trial with payment method (credit card or paypal).
[11598] Fix | Delete
*
[11599] Fix | Delete
* @author Vova Feldman (@svovaf)
[11600] Fix | Delete
* @since 1.1.7
[11601] Fix | Delete
*
[11602] Fix | Delete
* @return bool
[11603] Fix | Delete
*/
[11604] Fix | Delete
function is_paid_trial() {
[11605] Fix | Delete
$this->_logger->entrance();
[11606] Fix | Delete
[11607] Fix | Delete
if ( ! $this->is_trial() ) {
[11608] Fix | Delete
return false;
[11609] Fix | Delete
}
[11610] Fix | Delete
[11611] Fix | Delete
if ( ! $this->has_active_valid_license() ) {
[11612] Fix | Delete
return false;
[11613] Fix | Delete
}
[11614] Fix | Delete
[11615] Fix | Delete
if ( $this->_site->trial_plan_id != $this->_license->plan_id ) {
[11616] Fix | Delete
return false;
[11617] Fix | Delete
}
[11618] Fix | Delete
[11619] Fix | Delete
/**
[11620] Fix | Delete
* @var FS_Subscription $subscription
[11621] Fix | Delete
*/
[11622] Fix | Delete
$subscription = $this->_get_subscription( $this->_license->id );
[11623] Fix | Delete
[11624] Fix | Delete
return ( is_object( $subscription ) && $subscription->is_active() );
[11625] Fix | Delete
}
[11626] Fix | Delete
[11627] Fix | Delete
/**
[11628] Fix | Delete
* Check if trial already utilized.
[11629] Fix | Delete
*
[11630] Fix | Delete
* @since 1.0.9
[11631] Fix | Delete
*
[11632] Fix | Delete
* @return bool
[11633] Fix | Delete
*/
[11634] Fix | Delete
function is_trial_utilized() {
[11635] Fix | Delete
$this->_logger->entrance();
[11636] Fix | Delete
[11637] Fix | Delete
if ( ! $this->is_registered() ) {
[11638] Fix | Delete
return false;
[11639] Fix | Delete
}
[11640] Fix | Delete
[11641] Fix | Delete
return $this->_site->is_trial_utilized();
[11642] Fix | Delete
}
[11643] Fix | Delete
[11644] Fix | Delete
/**
[11645] Fix | Delete
* Get trial plan information (if in trial).
[11646] Fix | Delete
*
[11647] Fix | Delete
* @author Vova Feldman (@svovaf)
[11648] Fix | Delete
* @since 1.0.9
[11649] Fix | Delete
*
[11650] Fix | Delete
* @return bool|FS_Plugin_Plan
[11651] Fix | Delete
*/
[11652] Fix | Delete
function get_trial_plan() {
[11653] Fix | Delete
$this->_logger->entrance();
[11654] Fix | Delete
[11655] Fix | Delete
if ( ! $this->is_trial() ) {
[11656] Fix | Delete
return false;
[11657] Fix | Delete
}
[11658] Fix | Delete
[11659] Fix | Delete
// Try to load plan from local cache.
[11660] Fix | Delete
$trial_plan = $this->_get_plan_by_id( $this->_site->trial_plan_id );
[11661] Fix | Delete
[11662] Fix | Delete
if ( ! is_object( $trial_plan ) ) {
[11663] Fix | Delete
$trial_plan = $this->_fetch_site_plan( $this->_site->trial_plan_id );
[11664] Fix | Delete
[11665] Fix | Delete
/**
[11666] Fix | Delete
* If managed to fetch the plan, add it to the plans collection.
[11667] Fix | Delete
*/
[11668] Fix | Delete
if ( $trial_plan instanceof FS_Plugin_Plan ) {
[11669] Fix | Delete
if ( ! is_array( $this->_plans ) ) {
[11670] Fix | Delete
$this->_plans = array();
[11671] Fix | Delete
}
[11672] Fix | Delete
[11673] Fix | Delete
$this->_plans[] = $trial_plan;
[11674] Fix | Delete
$this->_store_plans();
[11675] Fix | Delete
}
[11676] Fix | Delete
}
[11677] Fix | Delete
[11678] Fix | Delete
if ( $trial_plan instanceof FS_Plugin_Plan ) {
[11679] Fix | Delete
return $trial_plan;
[11680] Fix | Delete
}
[11681] Fix | Delete
[11682] Fix | Delete
/**
[11683] Fix | Delete
* If for some reason failed to get the trial plan, fallback to a dummy name and title.
[11684] Fix | Delete
*/
[11685] Fix | Delete
$trial_plan = new FS_Plugin_Plan();
[11686] Fix | Delete
$trial_plan->id = $this->_site->trial_plan_id;
[11687] Fix | Delete
$trial_plan->name = 'pro';
[11688] Fix | Delete
$trial_plan->title = 'Pro';
[11689] Fix | Delete
[11690] Fix | Delete
return $trial_plan;
[11691] Fix | Delete
}
[11692] Fix | Delete
[11693] Fix | Delete
/**
[11694] Fix | Delete
* Check if the user has an activate, non-expired license on current plugin's install.
[11695] Fix | Delete
*
[11696] Fix | Delete
* @since 1.0.9
[11697] Fix | Delete
*
[11698] Fix | Delete
* @return bool
[11699] Fix | Delete
*/
[11700] Fix | Delete
function is_paying() {
[11701] Fix | Delete
$this->_logger->entrance();
[11702] Fix | Delete
[11703] Fix | Delete
if ( ! $this->is_registered( true ) ) {
[11704] Fix | Delete
return false;
[11705] Fix | Delete
}
[11706] Fix | Delete
[11707] Fix | Delete
if ( ! $this->has_paid_plan() ) {
[11708] Fix | Delete
return false;
[11709] Fix | Delete
}
[11710] Fix | Delete
[11711] Fix | Delete
return (
[11712] Fix | Delete
! $this->is_trial() &&
[11713] Fix | Delete
'free' !== $this->get_plan_name() &&
[11714] Fix | Delete
$this->has_active_valid_license()
[11715] Fix | Delete
);
[11716] Fix | Delete
}
[11717] Fix | Delete
[11718] Fix | Delete
/**
[11719] Fix | Delete
* @author Vova Feldman (@svovaf)
[11720] Fix | Delete
* @since 1.0.4
[11721] Fix | Delete
*
[11722] Fix | Delete
* @return bool
[11723] Fix | Delete
*/
[11724] Fix | Delete
function is_free_plan() {
[11725] Fix | Delete
if ( ! $this->is_registered() ) {
[11726] Fix | Delete
return true;
[11727] Fix | Delete
}
[11728] Fix | Delete
[11729] Fix | Delete
if ( ! $this->has_paid_plan() ) {
[11730] Fix | Delete
return true;
[11731] Fix | Delete
}
[11732] Fix | Delete
[11733] Fix | Delete
return (
[11734] Fix | Delete
'free' === $this->get_plan_name() ||
[11735] Fix | Delete
! $this->has_features_enabled_license()
[11736] Fix | Delete
);
[11737] Fix | Delete
}
[11738] Fix | Delete
[11739] Fix | Delete
/**
[11740] Fix | Delete
* @author Vova Feldman (@svovaf)
[11741] Fix | Delete
* @since 1.0.5
[11742] Fix | Delete
*
[11743] Fix | Delete
* @return bool
[11744] Fix | Delete
*/
[11745] Fix | Delete
function _has_premium_license() {
[11746] Fix | Delete
$this->_logger->entrance();
[11747] Fix | Delete
[11748] Fix | Delete
$premium_license = $this->_get_available_premium_license();
[11749] Fix | Delete
[11750] Fix | Delete
return ( false !== $premium_license );
[11751] Fix | Delete
}
[11752] Fix | Delete
[11753] Fix | Delete
/**
[11754] Fix | Delete
* Check if user has any licenses associated with the plugin (including expired or blocking).
[11755] Fix | Delete
*
[11756] Fix | Delete
* @author Vova Feldman (@svovaf)
[11757] Fix | Delete
* @since 1.1.7.3
[11758] Fix | Delete
*
[11759] Fix | Delete
* @param bool $including_foreign
[11760] Fix | Delete
*
[11761] Fix | Delete
* @return bool
[11762] Fix | Delete
*/
[11763] Fix | Delete
function has_any_license( $including_foreign = true ) {
[11764] Fix | Delete
if ( ! is_array( $this->_licenses ) || 0 === count( $this->_licenses ) ) {
[11765] Fix | Delete
return false;
[11766] Fix | Delete
}
[11767] Fix | Delete
[11768] Fix | Delete
if ( $including_foreign ) {
[11769] Fix | Delete
return true;
[11770] Fix | Delete
}
[11771] Fix | Delete
[11772] Fix | Delete
foreach ( $this->_licenses as $license ) {
[11773] Fix | Delete
if ( $this->_user->id == $license->user_id ) {
[11774] Fix | Delete
return true;
[11775] Fix | Delete
}
[11776] Fix | Delete
}
[11777] Fix | Delete
[11778] Fix | Delete
return false;
[11779] Fix | Delete
}
[11780] Fix | Delete
[11781] Fix | Delete
/**
[11782] Fix | Delete
* @author Vova Feldman (@svovaf)
[11783] Fix | Delete
* @since 1.0.5
[11784] Fix | Delete
*
[11785] Fix | Delete
* @param bool|null $is_localhost
[11786] Fix | Delete
*
[11787] Fix | Delete
* @return FS_Plugin_License|false
[11788] Fix | Delete
*/
[11789] Fix | Delete
function _get_available_premium_license( $is_localhost = null ) {
[11790] Fix | Delete
$this->_logger->entrance();
[11791] Fix | Delete
[11792] Fix | Delete
$licenses = $this->get_available_premium_licenses( $is_localhost );
[11793] Fix | Delete
if ( ! empty( $licenses ) ) {
[11794] Fix | Delete
return $licenses[0];
[11795] Fix | Delete
}
[11796] Fix | Delete
[11797] Fix | Delete
return false;
[11798] Fix | Delete
}
[11799] Fix | Delete
[11800] Fix | Delete
/**
[11801] Fix | Delete
* @author Vova Feldman (@svovaf)
[11802] Fix | Delete
* @since 1.0.5
[11803] Fix | Delete
*
[11804] Fix | Delete
* @param bool|null $is_localhost
[11805] Fix | Delete
*
[11806] Fix | Delete
* @return FS_Plugin_License[]
[11807] Fix | Delete
*/
[11808] Fix | Delete
function get_available_premium_licenses( $is_localhost = null ) {
[11809] Fix | Delete
$this->_logger->entrance();
[11810] Fix | Delete
[11811] Fix | Delete
$licenses = array();
[11812] Fix | Delete
if ( ! $this->has_paid_plan() ) {
[11813] Fix | Delete
return $licenses;
[11814] Fix | Delete
}
[11815] Fix | Delete
[11816] Fix | Delete
if ( is_array( $this->_licenses ) ) {
[11817] Fix | Delete
foreach ( $this->_licenses as $license ) {
[11818] Fix | Delete
if ( ! $license->can_activate( $is_localhost ) ) {
[11819] Fix | Delete
continue;
[11820] Fix | Delete
}
[11821] Fix | Delete
[11822] Fix | Delete
$licenses[] = $license;
[11823] Fix | Delete
}
[11824] Fix | Delete
}
[11825] Fix | Delete
[11826] Fix | Delete
return $licenses;
[11827] Fix | Delete
}
[11828] Fix | Delete
[11829] Fix | Delete
/**
[11830] Fix | Delete
* Sync local plugin plans with remote server.
[11831] Fix | Delete
*
[11832] Fix | Delete
* IMPORTANT: If for some reason a site is associated with deleted plan, we'll preserve the plan's information and append it as the last plan. This means that if plan is deleted, the is_plan() method will ALWAYS return true for any given argument (it becomes the most inclusive plan).
[11833] Fix | Delete
*
[11834] Fix | Delete
* @author Vova Feldman (@svovaf)
[11835] Fix | Delete
* @since 1.0.5
[11836] Fix | Delete
*
[11837] Fix | Delete
* @return FS_Plugin_Plan[]|object
[11838] Fix | Delete
*/
[11839] Fix | Delete
function _sync_plans() {
[11840] Fix | Delete
$plans = $this->_fetch_plugin_plans();
[11841] Fix | Delete
[11842] Fix | Delete
if ( $this->is_array_instanceof( $plans, 'FS_Plugin_Plan' ) ) {
[11843] Fix | Delete
$plans_map = array();
[11844] Fix | Delete
foreach ( $plans as $plan ) {
[11845] Fix | Delete
$plans_map[ $plan->id ] = true;
[11846] Fix | Delete
}
[11847] Fix | Delete
[11848] Fix | Delete
$plans_ids_to_keep = $this->get_plans_ids_associated_with_installs();
[11849] Fix | Delete
[11850] Fix | Delete
foreach ( $plans_ids_to_keep as $plan_id ) {
[11851] Fix | Delete
if ( isset( $plans_map[ $plan_id ] ) ) {
[11852] Fix | Delete
continue;
[11853] Fix | Delete
}
[11854] Fix | Delete
[11855] Fix | Delete
$missing_plan = self::_get_plan_by_id( $plan_id );
[11856] Fix | Delete
[11857] Fix | Delete
if ( is_object( $missing_plan ) ) {
[11858] Fix | Delete
$plans[] = $missing_plan;
[11859] Fix | Delete
}
[11860] Fix | Delete
}
[11861] Fix | Delete
[11862] Fix | Delete
$this->_plans = $plans;
[11863] Fix | Delete
$this->_store_plans();
[11864] Fix | Delete
}
[11865] Fix | Delete
[11866] Fix | Delete
$this->do_action( 'after_plans_sync', $plans );
[11867] Fix | Delete
[11868] Fix | Delete
return $this->_plans;
[11869] Fix | Delete
}
[11870] Fix | Delete
[11871] Fix | Delete
/**
[11872] Fix | Delete
* Check if specified plan exists locally. If not, fetch it and store it.
[11873] Fix | Delete
*
[11874] Fix | Delete
* @author Vova Feldman (@svovaf)
[11875] Fix | Delete
* @since 2.0.0
[11876] Fix | Delete
*
[11877] Fix | Delete
* @param number $plan_id
[11878] Fix | Delete
*
[11879] Fix | Delete
* @return \FS_Plugin_Plan|object The plan entity or the API error object on failure.
[11880] Fix | Delete
*/
[11881] Fix | Delete
private function sync_plan_if_not_exist( $plan_id ) {
[11882] Fix | Delete
$plan = self::_get_plan_by_id( $plan_id );
[11883] Fix | Delete
[11884] Fix | Delete
if ( is_object( $plan ) ) {
[11885] Fix | Delete
// Plan already exists.
[11886] Fix | Delete
return $plan;
[11887] Fix | Delete
}
[11888] Fix | Delete
[11889] Fix | Delete
$plan = $this->fetch_plan_by_id( $plan_id );
[11890] Fix | Delete
[11891] Fix | Delete
if ( $plan instanceof FS_Plugin_Plan ) {
[11892] Fix | Delete
$this->_plans[] = $plan;
[11893] Fix | Delete
$this->_store_plans();
[11894] Fix | Delete
[11895] Fix | Delete
return $plan;
[11896] Fix | Delete
}
[11897] Fix | Delete
[11898] Fix | Delete
return $plan;
[11899] Fix | Delete
}
[11900] Fix | Delete
[11901] Fix | Delete
/**
[11902] Fix | Delete
* Check if specified license exists locally. If not, fetch it and store it.
[11903] Fix | Delete
*
[11904] Fix | Delete
* @author Vova Feldman (@svovaf)
[11905] Fix | Delete
* @since 2.0.0
[11906] Fix | Delete
*
[11907] Fix | Delete
* @param number $license_id
[11908] Fix | Delete
* @param string $license_key
[11909] Fix | Delete
*
[11910] Fix | Delete
* @return \FS_Plugin_Plan|object The plan entity or the API error object on failure.
[11911] Fix | Delete
*/
[11912] Fix | Delete
private function sync_license_if_not_exist( $license_id, $license_key ) {
[11913] Fix | Delete
$license = $this->_get_license_by_id( $license_id );
[11914] Fix | Delete
[11915] Fix | Delete
if ( is_object( $license ) ) {
[11916] Fix | Delete
// License already exists.
[11917] Fix | Delete
return $license;
[11918] Fix | Delete
}
[11919] Fix | Delete
[11920] Fix | Delete
$license = $this->fetch_license_by_key( $license_id, $license_key );
[11921] Fix | Delete
[11922] Fix | Delete
if ( $license instanceof FS_Plugin_License ) {
[11923] Fix | Delete
$this->_licenses[] = $license;
[11924] Fix | Delete
[11925] Fix | Delete
$this->set_license( $license );
[11926] Fix | Delete
[11927] Fix | Delete
$this->_store_licenses();
[11928] Fix | Delete
[11929] Fix | Delete
return $license;
[11930] Fix | Delete
}
[11931] Fix | Delete
[11932] Fix | Delete
return $license;
[11933] Fix | Delete
}
[11934] Fix | Delete
[11935] Fix | Delete
/**
[11936] Fix | Delete
* Get a collection of unique plan IDs that are associated with any installs in the network.
[11937] Fix | Delete
*
[11938] Fix | Delete
* @author Leo Fajardo (@leorw)
[11939] Fix | Delete
* @since 2.0.0
[11940] Fix | Delete
*
[11941] Fix | Delete
* @return number[]
[11942] Fix | Delete
*/
[11943] Fix | Delete
private function get_plans_ids_associated_with_installs() {
[11944] Fix | Delete
if ( ! is_multisite() ) {
[11945] Fix | Delete
if ( ! is_object( $this->_site ) ||
[11946] Fix | Delete
! FS_Plugin_Plan::is_valid_id( $this->_site->plan_id )
[11947] Fix | Delete
) {
[11948] Fix | Delete
return array();
[11949] Fix | Delete
}
[11950] Fix | Delete
[11951] Fix | Delete
return array( $this->_site->plan_id );
[11952] Fix | Delete
}
[11953] Fix | Delete
[11954] Fix | Delete
$plan_ids = array();
[11955] Fix | Delete
$sites = self::get_sites();
[11956] Fix | Delete
foreach ( $sites as $site ) {
[11957] Fix | Delete
$blog_id = self::get_site_blog_id( $site );
[11958] Fix | Delete
$install = $this->get_install_by_blog_id( $blog_id );
[11959] Fix | Delete
[11960] Fix | Delete
if ( ! is_object( $install ) ||
[11961] Fix | Delete
! FS_Plugin_Plan::is_valid_id( $install->plan_id )
[11962] Fix | Delete
) {
[11963] Fix | Delete
continue;
[11964] Fix | Delete
}
[11965] Fix | Delete
[11966] Fix | Delete
$plan_ids[ $install->plan_id ] = true;
[11967] Fix | Delete
}
[11968] Fix | Delete
[11969] Fix | Delete
return array_keys( $plan_ids );
[11970] Fix | Delete
}
[11971] Fix | Delete
[11972] Fix | Delete
/**
[11973] Fix | Delete
* Get a collection of unique license IDs that are associated with any installs in the network.
[11974] Fix | Delete
*
[11975] Fix | Delete
* @author Leo Fajardo (@leorw)
[11976] Fix | Delete
* @since 2.0.0
[11977] Fix | Delete
*
[11978] Fix | Delete
* @return number[]
[11979] Fix | Delete
*/
[11980] Fix | Delete
private function get_license_ids_associated_with_installs() {
[11981] Fix | Delete
if ( ! $this->_is_network_active ) {
[11982] Fix | Delete
if ( ! is_object( $this->_site ) ||
[11983] Fix | Delete
! FS_Plugin_License::is_valid_id( $this->_site->license_id )
[11984] Fix | Delete
) {
[11985] Fix | Delete
return array();
[11986] Fix | Delete
}
[11987] Fix | Delete
[11988] Fix | Delete
return array( $this->_site->license_id );
[11989] Fix | Delete
}
[11990] Fix | Delete
[11991] Fix | Delete
$license_ids = array();
[11992] Fix | Delete
$sites = self::get_sites();
[11993] Fix | Delete
foreach ( $sites as $site ) {
[11994] Fix | Delete
$blog_id = self::get_site_blog_id( $site );
[11995] Fix | Delete
$install = $this->get_install_by_blog_id( $blog_id );
[11996] Fix | Delete
[11997] Fix | Delete
if ( ! is_object( $install ) ||
[11998] Fix | Delete
! FS_Plugin_License::is_valid_id( $install->license_id )
[11999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function