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/wp-conte.../plugins/content-.../inc/freemius/includes
File: class-freemius.php
$oops_text,
[22000] Fix | Delete
'error'
[22001] Fix | Delete
);
[22002] Fix | Delete
[22003] Fix | Delete
return false;
[22004] Fix | Delete
}
[22005] Fix | Delete
[22006] Fix | Delete
if ( false !== $plan_name ) {
[22007] Fix | Delete
$plan = $this->get_plan_by_name( $plan_name );
[22008] Fix | Delete
[22009] Fix | Delete
if ( false === $plan ) {
[22010] Fix | Delete
// Plan doesn't exist.
[22011] Fix | Delete
$this->_admin_notices->add(
[22012] Fix | Delete
sprintf( $this->get_text_inline( 'Plan %s do not exist, therefore, can\'t start a trial.', 'trial-plan-x-not-exist' ), $plan_name ),
[22013] Fix | Delete
$oops_text,
[22014] Fix | Delete
'error'
[22015] Fix | Delete
);
[22016] Fix | Delete
[22017] Fix | Delete
return false;
[22018] Fix | Delete
}
[22019] Fix | Delete
[22020] Fix | Delete
if ( ! $plan->has_trial() ) {
[22021] Fix | Delete
// Plan doesn't exist.
[22022] Fix | Delete
$this->_admin_notices->add(
[22023] Fix | Delete
sprintf( $this->get_text_inline( 'Plan %s does not support a trial period.', 'plan-x-no-trial' ), $plan_name ),
[22024] Fix | Delete
$oops_text,
[22025] Fix | Delete
'error'
[22026] Fix | Delete
);
[22027] Fix | Delete
[22028] Fix | Delete
return false;
[22029] Fix | Delete
}
[22030] Fix | Delete
} else {
[22031] Fix | Delete
if ( ! $this->has_trial_plan() ) {
[22032] Fix | Delete
// None of the plans have a trial.
[22033] Fix | Delete
$this->_admin_notices->add(
[22034] Fix | Delete
sprintf( $this->get_text_inline( 'None of the %s\'s plans supports a trial period.', 'no-trials' ), $this->_module_type ),
[22035] Fix | Delete
$oops_text,
[22036] Fix | Delete
'error'
[22037] Fix | Delete
);
[22038] Fix | Delete
[22039] Fix | Delete
return false;
[22040] Fix | Delete
}
[22041] Fix | Delete
[22042] Fix | Delete
$plans_with_trial = FS_Plan_Manager::instance()->get_trial_plans( $this->_plans );
[22043] Fix | Delete
[22044] Fix | Delete
$plan = $plans_with_trial[0];
[22045] Fix | Delete
}
[22046] Fix | Delete
[22047] Fix | Delete
$api = $this->get_api_site_scope();
[22048] Fix | Delete
$plan = $api->call( "plans/{$plan->id}/trials.json", 'post' );
[22049] Fix | Delete
[22050] Fix | Delete
if ( ! $this->is_api_result_entity( $plan ) ) {
[22051] Fix | Delete
// Some API error while trying to start the trial.
[22052] Fix | Delete
$this->_admin_notices->add(
[22053] Fix | Delete
$this->get_api_error_message( $plan ),
[22054] Fix | Delete
$oops_text,
[22055] Fix | Delete
'error'
[22056] Fix | Delete
);
[22057] Fix | Delete
[22058] Fix | Delete
return false;
[22059] Fix | Delete
}
[22060] Fix | Delete
[22061] Fix | Delete
// Sync license.
[22062] Fix | Delete
$this->_sync_license();
[22063] Fix | Delete
[22064] Fix | Delete
return $this->is_trial();
[22065] Fix | Delete
}
[22066] Fix | Delete
[22067] Fix | Delete
/**
[22068] Fix | Delete
* Cancel site trial.
[22069] Fix | Delete
*
[22070] Fix | Delete
* @author Vova Feldman (@svovaf)
[22071] Fix | Delete
* @since 1.0.9
[22072] Fix | Delete
*
[22073] Fix | Delete
* @return object
[22074] Fix | Delete
*
[22075] Fix | Delete
* @uses FS_Api
[22076] Fix | Delete
*/
[22077] Fix | Delete
private function _cancel_trial() {
[22078] Fix | Delete
$this->_logger->entrance();
[22079] Fix | Delete
[22080] Fix | Delete
if ( ! $this->is_trial() ) {
[22081] Fix | Delete
return (object) array(
[22082] Fix | Delete
'error' => (object) array(
[22083] Fix | Delete
'message' => $this->get_text_inline( 'It looks like you are not in trial mode anymore so there\'s nothing to cancel :)', 'trial-cancel-no-trial-message' )
[22084] Fix | Delete
)
[22085] Fix | Delete
);
[22086] Fix | Delete
}
[22087] Fix | Delete
[22088] Fix | Delete
$trial_plan = $this->get_trial_plan();
[22089] Fix | Delete
[22090] Fix | Delete
$api = $this->get_api_site_scope();
[22091] Fix | Delete
$site = $api->call( 'trials.json', 'delete' );
[22092] Fix | Delete
[22093] Fix | Delete
$trial_cancelled = false;
[22094] Fix | Delete
[22095] Fix | Delete
if ( $this->is_api_result_entity( $site ) ) {
[22096] Fix | Delete
$prev_trial_ends = $this->_site->trial_ends;
[22097] Fix | Delete
[22098] Fix | Delete
if ( $this->is_paid_trial() ) {
[22099] Fix | Delete
$this->_license->expiration = $site->trial_ends;
[22100] Fix | Delete
$this->_license->is_cancelled = true;
[22101] Fix | Delete
$this->_update_site_license( $this->_license );
[22102] Fix | Delete
$this->_store_licenses();
[22103] Fix | Delete
[22104] Fix | Delete
// Clear subscription reference.
[22105] Fix | Delete
$this->_sync_site_subscription( null );
[22106] Fix | Delete
}
[22107] Fix | Delete
[22108] Fix | Delete
// Update site info.
[22109] Fix | Delete
$this->_site = new FS_Site( $site );
[22110] Fix | Delete
[22111] Fix | Delete
$trial_cancelled = ( $prev_trial_ends != $site->trial_ends );
[22112] Fix | Delete
} else {
[22113] Fix | Delete
// @todo handle different error cases.
[22114] Fix | Delete
}
[22115] Fix | Delete
[22116] Fix | Delete
if ( ! $trial_cancelled ) {
[22117] Fix | Delete
return (object) array(
[22118] Fix | Delete
'error' => (object) array(
[22119] Fix | Delete
'message' => $this->get_text_inline( 'Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes.', 'trial-cancel-failure-message' )
[22120] Fix | Delete
)
[22121] Fix | Delete
);
[22122] Fix | Delete
}
[22123] Fix | Delete
[22124] Fix | Delete
// Remove previous sticky messages about upgrade or trial (if exist).
[22125] Fix | Delete
$this->_admin_notices->remove_sticky( array(
[22126] Fix | Delete
'trial_started',
[22127] Fix | Delete
'trial_promotion',
[22128] Fix | Delete
'plan_upgraded',
[22129] Fix | Delete
) );
[22130] Fix | Delete
[22131] Fix | Delete
// Store site updates.
[22132] Fix | Delete
$this->_store_site();
[22133] Fix | Delete
[22134] Fix | Delete
if ( ! $this->is_addon() ||
[22135] Fix | Delete
! $this->deactivate_premium_only_addon_without_license( true )
[22136] Fix | Delete
) {
[22137] Fix | Delete
$this->_admin_notices->add(
[22138] Fix | Delete
sprintf( $this->get_text_inline( 'Your %s free trial was successfully cancelled.', 'trial-cancel-message' ), $trial_plan->title )
[22139] Fix | Delete
);
[22140] Fix | Delete
}
[22141] Fix | Delete
[22142] Fix | Delete
return $site;
[22143] Fix | Delete
}
[22144] Fix | Delete
[22145] Fix | Delete
/**
[22146] Fix | Delete
* @author Vova Feldman (@svovaf)
[22147] Fix | Delete
* @since 1.0.6
[22148] Fix | Delete
*
[22149] Fix | Delete
* @param bool|number $plugin_id
[22150] Fix | Delete
*
[22151] Fix | Delete
* @return bool
[22152] Fix | Delete
*/
[22153] Fix | Delete
private function _is_addon_id( $plugin_id ) {
[22154] Fix | Delete
return is_numeric( $plugin_id ) && ( $this->get_id() != $plugin_id );
[22155] Fix | Delete
}
[22156] Fix | Delete
[22157] Fix | Delete
/**
[22158] Fix | Delete
* Check if user eligible to download premium version updates.
[22159] Fix | Delete
*
[22160] Fix | Delete
* @author Vova Feldman (@svovaf)
[22161] Fix | Delete
* @since 1.0.6
[22162] Fix | Delete
*
[22163] Fix | Delete
* @return bool
[22164] Fix | Delete
*/
[22165] Fix | Delete
private function _can_download_premium() {
[22166] Fix | Delete
return $this->has_any_active_valid_license() ||
[22167] Fix | Delete
( $this->is_trial() && ! $this->get_trial_plan()->is_free() );
[22168] Fix | Delete
}
[22169] Fix | Delete
[22170] Fix | Delete
/**
[22171] Fix | Delete
*
[22172] Fix | Delete
* @author Vova Feldman (@svovaf)
[22173] Fix | Delete
* @since 1.0.6
[22174] Fix | Delete
*
[22175] Fix | Delete
* @param bool|number $addon_id
[22176] Fix | Delete
* @param string $type "json" or "zip"
[22177] Fix | Delete
*
[22178] Fix | Delete
* @return string
[22179] Fix | Delete
*/
[22180] Fix | Delete
private function _get_latest_version_endpoint( $addon_id = false, $type = 'json' ) {
[22181] Fix | Delete
[22182] Fix | Delete
$is_addon = $this->_is_addon_id( $addon_id );
[22183] Fix | Delete
[22184] Fix | Delete
$is_premium = null;
[22185] Fix | Delete
if ( ! $is_addon ) {
[22186] Fix | Delete
$is_premium = ( $this->is_premium() || $this->_can_download_premium() );
[22187] Fix | Delete
} else if ( $this->is_addon_activated( $addon_id ) ) {
[22188] Fix | Delete
$fs_addon = self::get_instance_by_id( $addon_id );
[22189] Fix | Delete
$is_premium = ( $fs_addon->is_premium() || $fs_addon->_can_download_premium() );
[22190] Fix | Delete
}
[22191] Fix | Delete
[22192] Fix | Delete
// If add-on, then append add-on ID.
[22193] Fix | Delete
$endpoint = ( $is_addon ? "/addons/$addon_id" : '' ) .
[22194] Fix | Delete
'/updates/latest.' . $type;
[22195] Fix | Delete
[22196] Fix | Delete
// If add-on and not yet activated, try to fetch based on server licensing.
[22197] Fix | Delete
if ( is_bool( $is_premium ) ) {
[22198] Fix | Delete
$endpoint = add_query_arg( 'is_premium', json_encode( $is_premium ), $endpoint );
[22199] Fix | Delete
}
[22200] Fix | Delete
[22201] Fix | Delete
if ( $this->has_secret_key() ) {
[22202] Fix | Delete
$endpoint = add_query_arg( 'type', 'all', $endpoint );
[22203] Fix | Delete
} else if ( is_object( $this->_site ) && $this->_site->is_beta() ) {
[22204] Fix | Delete
$endpoint = add_query_arg( 'type', 'beta', $endpoint );
[22205] Fix | Delete
}
[22206] Fix | Delete
[22207] Fix | Delete
return $endpoint;
[22208] Fix | Delete
}
[22209] Fix | Delete
[22210] Fix | Delete
/**
[22211] Fix | Delete
* @author Vova Feldman (@svovaf)
[22212] Fix | Delete
* @since 1.0.4
[22213] Fix | Delete
*
[22214] Fix | Delete
* @param bool|number $addon_id
[22215] Fix | Delete
* @param bool $flush Since 1.1.7.3
[22216] Fix | Delete
* @param int $expiration Since 1.2.2.7
[22217] Fix | Delete
* @param bool|string $newer_than Since 2.2.1
[22218] Fix | Delete
* @param bool|string $fetch_readme Since 2.2.1
[22219] Fix | Delete
*
[22220] Fix | Delete
* @return object|false Plugin latest tag info.
[22221] Fix | Delete
*/
[22222] Fix | Delete
function _fetch_latest_version(
[22223] Fix | Delete
$addon_id = false,
[22224] Fix | Delete
$flush = true,
[22225] Fix | Delete
$expiration = WP_FS__TIME_24_HOURS_IN_SEC,
[22226] Fix | Delete
$newer_than = false,
[22227] Fix | Delete
$fetch_readme = true
[22228] Fix | Delete
) {
[22229] Fix | Delete
$this->_logger->entrance();
[22230] Fix | Delete
[22231] Fix | Delete
if ( $this->is_unresolved_clone( true ) ) {
[22232] Fix | Delete
return false;
[22233] Fix | Delete
}
[22234] Fix | Delete
[22235] Fix | Delete
$switch_to_blog_id = null;
[22236] Fix | Delete
[22237] Fix | Delete
/**
[22238] Fix | Delete
* @since 1.1.7.3 Check for plugin updates from Freemius only if opted-in.
[22239] Fix | Delete
* @since 1.1.7.4 Also check updates for add-ons.
[22240] Fix | Delete
*/
[22241] Fix | Delete
if (
[22242] Fix | Delete
( ! $this->is_registered() || ! FS_Permission_Manager::instance( $this )->is_essentials_tracking_allowed() ) &&
[22243] Fix | Delete
! $this->_is_addon_id( $addon_id )
[22244] Fix | Delete
) {
[22245] Fix | Delete
if ( ! is_multisite() ) {
[22246] Fix | Delete
return false;
[22247] Fix | Delete
}
[22248] Fix | Delete
[22249] Fix | Delete
$installs_map = $this->get_blog_install_map();
[22250] Fix | Delete
[22251] Fix | Delete
foreach ( $installs_map as $blog_id => $install ) {
[22252] Fix | Delete
if ( ! FS_Permission_Manager::instance( $this )->is_essentials_tracking_allowed( $blog_id ) ) {
[22253] Fix | Delete
continue;
[22254] Fix | Delete
}
[22255] Fix | Delete
[22256] Fix | Delete
/**
[22257] Fix | Delete
* @var FS_Site $install
[22258] Fix | Delete
*/
[22259] Fix | Delete
if ( $install->is_trial() ) {
[22260] Fix | Delete
$switch_to_blog_id = $blog_id;
[22261] Fix | Delete
break;
[22262] Fix | Delete
}
[22263] Fix | Delete
[22264] Fix | Delete
if ( FS_Plugin_License::is_valid_id( $install->license_id ) ) {
[22265] Fix | Delete
$license = $this->get_license_by_id( $install->license_id );
[22266] Fix | Delete
[22267] Fix | Delete
if ( is_object( $license ) && $license->is_features_enabled() ) {
[22268] Fix | Delete
$switch_to_blog_id = $blog_id;
[22269] Fix | Delete
break;
[22270] Fix | Delete
}
[22271] Fix | Delete
}
[22272] Fix | Delete
}
[22273] Fix | Delete
[22274] Fix | Delete
if ( is_null( $switch_to_blog_id ) ) {
[22275] Fix | Delete
return false;
[22276] Fix | Delete
}
[22277] Fix | Delete
}
[22278] Fix | Delete
[22279] Fix | Delete
$current_blog_id = is_numeric( $switch_to_blog_id ) ?
[22280] Fix | Delete
get_current_blog_id() :
[22281] Fix | Delete
0;
[22282] Fix | Delete
[22283] Fix | Delete
if ( is_numeric( $switch_to_blog_id ) ) {
[22284] Fix | Delete
$this->switch_to_blog( $switch_to_blog_id );
[22285] Fix | Delete
}
[22286] Fix | Delete
[22287] Fix | Delete
$latest_version_endpoint = $this->_get_latest_version_endpoint( $addon_id, 'json' );
[22288] Fix | Delete
[22289] Fix | Delete
if ( ! empty( $newer_than ) ) {
[22290] Fix | Delete
$latest_version_endpoint = add_query_arg( 'newer_than', $newer_than, $latest_version_endpoint );
[22291] Fix | Delete
}
[22292] Fix | Delete
[22293] Fix | Delete
if ( true === $fetch_readme ) {
[22294] Fix | Delete
$latest_version_endpoint = add_query_arg( 'readme', 'true', $latest_version_endpoint );
[22295] Fix | Delete
}
[22296] Fix | Delete
[22297] Fix | Delete
$tag = $this->get_api_site_or_plugin_scope()->get(
[22298] Fix | Delete
$latest_version_endpoint,
[22299] Fix | Delete
$flush,
[22300] Fix | Delete
$expiration
[22301] Fix | Delete
);
[22302] Fix | Delete
[22303] Fix | Delete
if ( is_numeric( $switch_to_blog_id ) ) {
[22304] Fix | Delete
$this->switch_to_blog( $current_blog_id );
[22305] Fix | Delete
}
[22306] Fix | Delete
[22307] Fix | Delete
$latest_version = ( is_object( $tag ) && isset( $tag->version ) ) ? $tag->version : 'couldn\'t get';
[22308] Fix | Delete
[22309] Fix | Delete
$this->_logger->departure( 'Latest version ' . $latest_version );
[22310] Fix | Delete
[22311] Fix | Delete
return ( is_object( $tag ) && isset( $tag->version ) ) ? $tag : false;
[22312] Fix | Delete
}
[22313] Fix | Delete
[22314] Fix | Delete
#----------------------------------------------------------------------------------
[22315] Fix | Delete
#region Download Plugin
[22316] Fix | Delete
#----------------------------------------------------------------------------------
[22317] Fix | Delete
[22318] Fix | Delete
/**
[22319] Fix | Delete
* Download latest plugin version, based on plan.
[22320] Fix | Delete
*
[22321] Fix | Delete
* Not like _download_latest(), this will redirect the page
[22322] Fix | Delete
* to secure download url to prevent dual download (from FS to WP server,
[22323] Fix | Delete
* and then from WP server to the client / browser).
[22324] Fix | Delete
*
[22325] Fix | Delete
* @author Vova Feldman (@svovaf)
[22326] Fix | Delete
* @since 1.0.9
[22327] Fix | Delete
*
[22328] Fix | Delete
* @param bool|number $plugin_id
[22329] Fix | Delete
*
[22330] Fix | Delete
* @uses FS_Api
[22331] Fix | Delete
* @uses wp_redirect()
[22332] Fix | Delete
*/
[22333] Fix | Delete
private function download_latest_directly( $plugin_id = false ) {
[22334] Fix | Delete
$this->_logger->entrance();
[22335] Fix | Delete
[22336] Fix | Delete
wp_redirect( $this->get_latest_download_api_url( $plugin_id ) );
[22337] Fix | Delete
}
[22338] Fix | Delete
[22339] Fix | Delete
/**
[22340] Fix | Delete
* Get latest plugin FS API download URL.
[22341] Fix | Delete
*
[22342] Fix | Delete
* @author Vova Feldman (@svovaf)
[22343] Fix | Delete
* @since 1.0.9
[22344] Fix | Delete
*
[22345] Fix | Delete
* @param bool|number $plugin_id
[22346] Fix | Delete
*
[22347] Fix | Delete
* @return string
[22348] Fix | Delete
*/
[22349] Fix | Delete
private function get_latest_download_api_url( $plugin_id = false ) {
[22350] Fix | Delete
$this->_logger->entrance();
[22351] Fix | Delete
[22352] Fix | Delete
$download_api_url = $this->get_api_site_scope()->get_signed_url(
[22353] Fix | Delete
$this->_get_latest_version_endpoint( $plugin_id, 'zip' )
[22354] Fix | Delete
);
[22355] Fix | Delete
[22356] Fix | Delete
return str_replace( 'http:', 'https:', $download_api_url );
[22357] Fix | Delete
}
[22358] Fix | Delete
[22359] Fix | Delete
/**
[22360] Fix | Delete
* Get payment invoice URL.
[22361] Fix | Delete
*
[22362] Fix | Delete
* @author Vova Feldman (@svovaf)
[22363] Fix | Delete
* @since 1.2.0
[22364] Fix | Delete
*
[22365] Fix | Delete
* @param bool|number $payment_id
[22366] Fix | Delete
*
[22367] Fix | Delete
* @return string
[22368] Fix | Delete
*/
[22369] Fix | Delete
function _get_invoice_api_url( $payment_id = false ) {
[22370] Fix | Delete
$this->_logger->entrance();
[22371] Fix | Delete
[22372] Fix | Delete
$url = $this->get_api_user_scope()->get_signed_url(
[22373] Fix | Delete
"/payments/{$payment_id}/invoice.pdf"
[22374] Fix | Delete
);
[22375] Fix | Delete
[22376] Fix | Delete
if ( ! fs_starts_with( $url, 'https://' ) ) {
[22377] Fix | Delete
// Always use HTTPS for invoices.
[22378] Fix | Delete
$url = 'https' . substr( $url, 4 );
[22379] Fix | Delete
}
[22380] Fix | Delete
[22381] Fix | Delete
return $url;
[22382] Fix | Delete
}
[22383] Fix | Delete
[22384] Fix | Delete
/**
[22385] Fix | Delete
* Get latest plugin download link.
[22386] Fix | Delete
*
[22387] Fix | Delete
* @author Vova Feldman (@svovaf)
[22388] Fix | Delete
* @since 1.0.9
[22389] Fix | Delete
*
[22390] Fix | Delete
* @param string $label
[22391] Fix | Delete
* @param bool|number $plugin_id
[22392] Fix | Delete
*
[22393] Fix | Delete
* @return string
[22394] Fix | Delete
*/
[22395] Fix | Delete
private function get_latest_download_link( $label, $plugin_id = false ) {
[22396] Fix | Delete
return sprintf(
[22397] Fix | Delete
'<a target="_blank" rel="noopener" href="%s">%s</a>',
[22398] Fix | Delete
$this->_get_latest_download_local_url( $plugin_id ),
[22399] Fix | Delete
$label
[22400] Fix | Delete
);
[22401] Fix | Delete
}
[22402] Fix | Delete
[22403] Fix | Delete
/**
[22404] Fix | Delete
* Get latest plugin download local URL.
[22405] Fix | Delete
*
[22406] Fix | Delete
* @author Vova Feldman (@svovaf)
[22407] Fix | Delete
* @since 1.0.9
[22408] Fix | Delete
*
[22409] Fix | Delete
* @param bool|number $plugin_id
[22410] Fix | Delete
*
[22411] Fix | Delete
* @return string
[22412] Fix | Delete
*/
[22413] Fix | Delete
function _get_latest_download_local_url( $plugin_id = false ) {
[22414] Fix | Delete
// Add timestamp to protect from caching.
[22415] Fix | Delete
$params = array( 'ts' => WP_FS__SCRIPT_START_TIME );
[22416] Fix | Delete
[22417] Fix | Delete
if ( ! empty( $plugin_id ) ) {
[22418] Fix | Delete
$params['plugin_id'] = $plugin_id;
[22419] Fix | Delete
} else if ( $this->is_addon() ) {
[22420] Fix | Delete
$params['plugin_id'] = $this->get_id();
[22421] Fix | Delete
}
[22422] Fix | Delete
[22423] Fix | Delete
$fs = $this->is_addon() ?
[22424] Fix | Delete
$this->get_parent_instance() :
[22425] Fix | Delete
$this;
[22426] Fix | Delete
[22427] Fix | Delete
return $this->apply_filters( 'download_latest_url', $fs->get_account_url( 'download_latest', $params ) );
[22428] Fix | Delete
}
[22429] Fix | Delete
[22430] Fix | Delete
#endregion Download Plugin ------------------------------------------------------------------
[22431] Fix | Delete
[22432] Fix | Delete
/**
[22433] Fix | Delete
* @author Vova Feldman (@svovaf)
[22434] Fix | Delete
* @since 1.0.4
[22435] Fix | Delete
*
[22436] Fix | Delete
* @uses FS_Api
[22437] Fix | Delete
*
[22438] Fix | Delete
* @param bool $background Hints the method if it's a background updates check. If false, it means that
[22439] Fix | Delete
* was initiated by the admin.
[22440] Fix | Delete
* @param bool|number $plugin_id
[22441] Fix | Delete
* @param bool $flush Since 1.1.7.3
[22442] Fix | Delete
* @param int $expiration Since 1.2.2.7
[22443] Fix | Delete
* @param bool|string $newer_than Since 2.2.1
[22444] Fix | Delete
*/
[22445] Fix | Delete
private function check_updates(
[22446] Fix | Delete
$background = false,
[22447] Fix | Delete
$plugin_id = false,
[22448] Fix | Delete
$flush = true,
[22449] Fix | Delete
$expiration = WP_FS__TIME_24_HOURS_IN_SEC,
[22450] Fix | Delete
$newer_than = false
[22451] Fix | Delete
) {
[22452] Fix | Delete
$this->_logger->entrance();
[22453] Fix | Delete
[22454] Fix | Delete
// Check if there's a newer version for download.
[22455] Fix | Delete
$new_version = $this->_fetch_newer_version( $plugin_id, $flush, $expiration, $newer_than );
[22456] Fix | Delete
[22457] Fix | Delete
$update = null;
[22458] Fix | Delete
if ( is_object( $new_version ) ) {
[22459] Fix | Delete
$update = new FS_Plugin_Tag( $new_version );
[22460] Fix | Delete
[22461] Fix | Delete
if ( ! $background ) {
[22462] Fix | Delete
$this->_admin_notices->add(
[22463] Fix | Delete
sprintf(
[22464] Fix | Delete
/* translators: %s: Numeric version number (e.g. '2.1.9' */
[22465] Fix | Delete
$this->get_text_inline( 'Version %s was released.', 'version-x-released' ) . ' ' . $this->get_text_inline( 'Please download %s.', 'please-download-x' ),
[22466] Fix | Delete
$update->version,
[22467] Fix | Delete
sprintf(
[22468] Fix | Delete
'<a href="%s" target="_blank" rel="noopener">%s</a>',
[22469] Fix | Delete
$this->get_account_url( 'download_latest' ),
[22470] Fix | Delete
sprintf(
[22471] Fix | Delete
/* translators: %s: plan name (e.g. latest "Professional" version) */
[22472] Fix | Delete
$this->get_text_inline( 'the latest %s version here', 'latest-x-version' ),
[22473] Fix | Delete
$this->get_plan_title()
[22474] Fix | Delete
)
[22475] Fix | Delete
)
[22476] Fix | Delete
),
[22477] Fix | Delete
$this->get_text_inline( 'New', 'new' ) . '!'
[22478] Fix | Delete
);
[22479] Fix | Delete
}
[22480] Fix | Delete
} else if ( false === $new_version && ! $background ) {
[22481] Fix | Delete
$this->_admin_notices->add(
[22482] Fix | Delete
$this->get_text_inline( 'Seems like you got the latest release.', 'you-have-latest' ),
[22483] Fix | Delete
$this->get_text_inline( 'You are all good!', 'you-are-good' )
[22484] Fix | Delete
);
[22485] Fix | Delete
}
[22486] Fix | Delete
[22487] Fix | Delete
$this->_store_update( $update, true, $plugin_id );
[22488] Fix | Delete
}
[22489] Fix | Delete
[22490] Fix | Delete
/**
[22491] Fix | Delete
* @author Vova Feldman (@svovaf)
[22492] Fix | Delete
* @since 1.0.4
[22493] Fix | Delete
*
[22494] Fix | Delete
* @param bool $flush Since 1.1.7.3 add 24 hour cache by default.
[22495] Fix | Delete
*
[22496] Fix | Delete
* @return FS_Plugin[]
[22497] Fix | Delete
*
[22498] Fix | Delete
* @uses FS_Api
[22499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function