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
$this->is_activation_mode() &&
[24500] Fix | Delete
$this->is_premium() &&
[24501] Fix | Delete
! $this->is_registered()
[24502] Fix | Delete
) {
[24503] Fix | Delete
// If not yet registered and running the premium code base, a license activation link will already be shown.
[24504] Fix | Delete
return;
[24505] Fix | Delete
}
[24506] Fix | Delete
[24507] Fix | Delete
if ( $this->is_registered() && $this->is_tracking_allowed() ) {
[24508] Fix | Delete
if ( ! $this->is_premium() && ! $this->is_enable_anonymous() ) {
[24509] Fix | Delete
// If opted in and tracking is allowed, don't allow to opt out if not premium and anonymous mode is disabled.
[24510] Fix | Delete
return;
[24511] Fix | Delete
}
[24512] Fix | Delete
}
[24513] Fix | Delete
[24514] Fix | Delete
if ( $this->add_ajax_action( 'toggle_permission_tracking', array( &$this, '_toggle_permission_tracking_callback' ) ) ) {
[24515] Fix | Delete
return;
[24516] Fix | Delete
}
[24517] Fix | Delete
[24518] Fix | Delete
$link_text_id = '';
[24519] Fix | Delete
$url = '#';
[24520] Fix | Delete
[24521] Fix | Delete
if ( $this->is_registered( true ) ) {
[24522] Fix | Delete
if ( $this->is_registered() && $this->is_tracking_allowed() ) {
[24523] Fix | Delete
$link_text_id = $this->get_text_inline( 'Opt Out', 'opt-out' );
[24524] Fix | Delete
} else {
[24525] Fix | Delete
$link_text_id = $this->get_text_inline( 'Opt In', 'opt-in' );
[24526] Fix | Delete
}
[24527] Fix | Delete
} else if ( $this->is_anonymous() || $this->is_activation_mode() ) {
[24528] Fix | Delete
/**
[24529] Fix | Delete
* Show opt-in link only if skipped or in activation mode.
[24530] Fix | Delete
*/
[24531] Fix | Delete
$link_text_id = $this->get_text_inline( 'Opt In', 'opt-in' );
[24532] Fix | Delete
[24533] Fix | Delete
$params = ! $this->is_anonymous() ?
[24534] Fix | Delete
array() :
[24535] Fix | Delete
array(
[24536] Fix | Delete
'nonce' => wp_create_nonce( $this->get_unique_affix() . '_reconnect' ),
[24537] Fix | Delete
'fs_action' => ( $this->get_unique_affix() . '_reconnect' ),
[24538] Fix | Delete
);
[24539] Fix | Delete
[24540] Fix | Delete
$url = $this->get_activation_url( $params );
[24541] Fix | Delete
}
[24542] Fix | Delete
[24543] Fix | Delete
add_action( 'admin_footer', array( &$this, '_add_optout_dialog' ) );
[24544] Fix | Delete
[24545] Fix | Delete
if ( ! empty( $link_text_id ) && $this->is_plugin() && self::is_plugins_page() ) {
[24546] Fix | Delete
$this->add_plugin_action_link(
[24547] Fix | Delete
$link_text_id,
[24548] Fix | Delete
$url,
[24549] Fix | Delete
false,
[24550] Fix | Delete
13,
[24551] Fix | Delete
"opt-in-or-opt-out {$this->_slug}"
[24552] Fix | Delete
);
[24553] Fix | Delete
}
[24554] Fix | Delete
}
[24555] Fix | Delete
[24556] Fix | Delete
/**
[24557] Fix | Delete
* Get the URL of the page that should be loaded right after the plugin activation.
[24558] Fix | Delete
*
[24559] Fix | Delete
* @author Vova Feldman (@svovaf)
[24560] Fix | Delete
* @since 1.1.7.4
[24561] Fix | Delete
*
[24562] Fix | Delete
* @return string
[24563] Fix | Delete
*/
[24564] Fix | Delete
function get_after_plugin_activation_redirect_url() {
[24565] Fix | Delete
$url = false;
[24566] Fix | Delete
[24567] Fix | Delete
if ( ! $this->is_addon() || ! $this->has_free_plan() ) {
[24568] Fix | Delete
$first_time_path = $this->_menu->get_first_time_path(
[24569] Fix | Delete
fs_is_network_admin() && $this->_is_network_active
[24570] Fix | Delete
);
[24571] Fix | Delete
[24572] Fix | Delete
if ( $this->is_activation_mode() ) {
[24573] Fix | Delete
$url = $this->get_activation_url();
[24574] Fix | Delete
} else if ( ! empty( $first_time_path ) ) {
[24575] Fix | Delete
$url = $first_time_path;
[24576] Fix | Delete
} else {
[24577] Fix | Delete
$page = '';
[24578] Fix | Delete
if ( ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
[24579] Fix | Delete
if ( $this->is_network_registered() ) {
[24580] Fix | Delete
$page = 'account';
[24581] Fix | Delete
} else if ( $this->is_pending_activation() || $this->is_network_anonymous() ) {
[24582] Fix | Delete
$this->maybe_set_slug_and_network_menu_exists_flag();
[24583] Fix | Delete
}
[24584] Fix | Delete
}
[24585] Fix | Delete
[24586] Fix | Delete
$url = $this->_get_admin_page_url( $page );
[24587] Fix | Delete
}
[24588] Fix | Delete
} else {
[24589] Fix | Delete
$plugin_fs = false;
[24590] Fix | Delete
[24591] Fix | Delete
if ( $this->is_parent_plugin_installed() ) {
[24592] Fix | Delete
$plugin_fs = self::get_parent_instance();
[24593] Fix | Delete
}
[24594] Fix | Delete
[24595] Fix | Delete
if ( is_object( $plugin_fs ) ) {
[24596] Fix | Delete
if ( ! $plugin_fs->is_registered() ) {
[24597] Fix | Delete
// Forward to parent plugin connect when parent not registered.
[24598] Fix | Delete
$url = $plugin_fs->get_activation_url();
[24599] Fix | Delete
} else {
[24600] Fix | Delete
// Forward to account page.
[24601] Fix | Delete
$url = $plugin_fs->_get_admin_page_url( 'account' );
[24602] Fix | Delete
}
[24603] Fix | Delete
}
[24604] Fix | Delete
}
[24605] Fix | Delete
[24606] Fix | Delete
return $url;
[24607] Fix | Delete
}
[24608] Fix | Delete
[24609] Fix | Delete
/**
[24610] Fix | Delete
* Forward page to activation page.
[24611] Fix | Delete
*
[24612] Fix | Delete
* @author Vova Feldman (@svovaf)
[24613] Fix | Delete
* @since 1.0.3
[24614] Fix | Delete
*/
[24615] Fix | Delete
function _redirect_on_activation_hook() {
[24616] Fix | Delete
if ( $this->apply_filters( 'redirect_on_activation', true ) ) {
[24617] Fix | Delete
$url = $this->get_after_plugin_activation_redirect_url();
[24618] Fix | Delete
[24619] Fix | Delete
if ( is_string( $url ) ) {
[24620] Fix | Delete
fs_redirect( $url );
[24621] Fix | Delete
}
[24622] Fix | Delete
}
[24623] Fix | Delete
}
[24624] Fix | Delete
[24625] Fix | Delete
/**
[24626] Fix | Delete
* Modify plugin's page action links collection.
[24627] Fix | Delete
*
[24628] Fix | Delete
* @author Vova Feldman (@svovaf)
[24629] Fix | Delete
* @since 1.0.0
[24630] Fix | Delete
*
[24631] Fix | Delete
* @param array $links
[24632] Fix | Delete
* @param $file
[24633] Fix | Delete
*
[24634] Fix | Delete
* @return array
[24635] Fix | Delete
*/
[24636] Fix | Delete
function _modify_plugin_action_links_hook( $links, $file ) {
[24637] Fix | Delete
$this->_logger->entrance();
[24638] Fix | Delete
[24639] Fix | Delete
$passed_deactivate = false;
[24640] Fix | Delete
$deactivate_link = '';
[24641] Fix | Delete
$before_deactivate = array();
[24642] Fix | Delete
$after_deactivate = array();
[24643] Fix | Delete
foreach ( $links as $key => $link ) {
[24644] Fix | Delete
if ( 'deactivate' === $key ) {
[24645] Fix | Delete
$deactivate_link = $link;
[24646] Fix | Delete
$passed_deactivate = true;
[24647] Fix | Delete
continue;
[24648] Fix | Delete
}
[24649] Fix | Delete
[24650] Fix | Delete
if ( ! $passed_deactivate ) {
[24651] Fix | Delete
$before_deactivate[ $key ] = $link;
[24652] Fix | Delete
} else {
[24653] Fix | Delete
$after_deactivate[ $key ] = $link;
[24654] Fix | Delete
}
[24655] Fix | Delete
}
[24656] Fix | Delete
[24657] Fix | Delete
ksort( $this->_action_links );
[24658] Fix | Delete
[24659] Fix | Delete
foreach ( $this->_action_links as $new_links ) {
[24660] Fix | Delete
foreach ( $new_links as $link ) {
[24661] Fix | Delete
$before_deactivate[ $link['key'] ] = '<a href="' . $link['href'] . '"' . ( $link['external'] ? ' target="_blank" rel="noopener"' : '' ) . '>' . $link['label'] . '</a>';
[24662] Fix | Delete
}
[24663] Fix | Delete
}
[24664] Fix | Delete
[24665] Fix | Delete
if ( ! empty( $deactivate_link ) ) {
[24666] Fix | Delete
/**
[24667] Fix | Delete
* This HTML element is used to identify the correct plugin when attaching an event to its Deactivate link.
[24668] Fix | Delete
*
[24669] Fix | Delete
* @since 1.2.1.6 Always show the deactivation feedback form since we added automatic free version deactivation upon premium code activation.
[24670] Fix | Delete
*/
[24671] Fix | Delete
$deactivate_link .= '<i class="fs-module-id" data-module-id="' . $this->_module_id . '"></i>';
[24672] Fix | Delete
[24673] Fix | Delete
// Append deactivation link.
[24674] Fix | Delete
$before_deactivate['deactivate'] = $deactivate_link;
[24675] Fix | Delete
}
[24676] Fix | Delete
[24677] Fix | Delete
return array_merge( $before_deactivate, $after_deactivate );
[24678] Fix | Delete
}
[24679] Fix | Delete
[24680] Fix | Delete
/**
[24681] Fix | Delete
* Adds admin message.
[24682] Fix | Delete
*
[24683] Fix | Delete
* @author Vova Feldman (@svovaf)
[24684] Fix | Delete
* @since 1.0.4
[24685] Fix | Delete
*
[24686] Fix | Delete
* @param string $message
[24687] Fix | Delete
* @param string $title
[24688] Fix | Delete
* @param string $type
[24689] Fix | Delete
*/
[24690] Fix | Delete
function add_admin_message( $message, $title = '', $type = 'success' ) {
[24691] Fix | Delete
$this->_admin_notices->add( $message, $title, $type );
[24692] Fix | Delete
}
[24693] Fix | Delete
[24694] Fix | Delete
/**
[24695] Fix | Delete
* Adds sticky admin message.
[24696] Fix | Delete
*
[24697] Fix | Delete
* @author Vova Feldman (@svovaf)
[24698] Fix | Delete
* @since 1.1.0
[24699] Fix | Delete
*
[24700] Fix | Delete
* @param string $message
[24701] Fix | Delete
* @param string $id
[24702] Fix | Delete
* @param string $title
[24703] Fix | Delete
* @param string $type
[24704] Fix | Delete
*/
[24705] Fix | Delete
function add_sticky_admin_message( $message, $id, $title = '', $type = 'success' ) {
[24706] Fix | Delete
$this->_admin_notices->add_sticky( $message, $id, $title, $type );
[24707] Fix | Delete
}
[24708] Fix | Delete
[24709] Fix | Delete
/**
[24710] Fix | Delete
* Check if the paid version of the module is installed.
[24711] Fix | Delete
*
[24712] Fix | Delete
* @author Vova Feldman (@svovaf)
[24713] Fix | Delete
* @since 2.2.0
[24714] Fix | Delete
*
[24715] Fix | Delete
* @return bool
[24716] Fix | Delete
*/
[24717] Fix | Delete
private function is_premium_version_installed() {
[24718] Fix | Delete
$premium_plugin_basename = $this->premium_plugin_basename();
[24719] Fix | Delete
[24720] Fix | Delete
if ( $this->is_theme() ) {
[24721] Fix | Delete
return $this->can_activate_theme( $this->get_premium_slug() );
[24722] Fix | Delete
}
[24723] Fix | Delete
[24724] Fix | Delete
return file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $premium_plugin_basename ) );
[24725] Fix | Delete
}
[24726] Fix | Delete
[24727] Fix | Delete
/**
[24728] Fix | Delete
* Helper function that returns the final steps for the upgrade completion.
[24729] Fix | Delete
*
[24730] Fix | Delete
* If the module is already running the premium code, returns an empty string.
[24731] Fix | Delete
*
[24732] Fix | Delete
* @author Vova Feldman (@svovaf)
[24733] Fix | Delete
* @since 1.2.1
[24734] Fix | Delete
*
[24735] Fix | Delete
* @param string $plan_title
[24736] Fix | Delete
*
[24737] Fix | Delete
* @return string
[24738] Fix | Delete
*/
[24739] Fix | Delete
private function get_complete_upgrade_instructions( $plan_title = '' ) {
[24740] Fix | Delete
$this->_logger->entrance();
[24741] Fix | Delete
[24742] Fix | Delete
$activate_license_string = $this->get_license_network_activation_notice();
[24743] Fix | Delete
[24744] Fix | Delete
if ( ! $this->has_premium_version() || $this->is_premium() ) {
[24745] Fix | Delete
return '' . $activate_license_string;
[24746] Fix | Delete
}
[24747] Fix | Delete
[24748] Fix | Delete
if ( empty( $plan_title ) ) {
[24749] Fix | Delete
$plan_title = $this->get_plan_title();
[24750] Fix | Delete
}
[24751] Fix | Delete
[24752] Fix | Delete
if ( $this->is_premium_version_installed() ) {
[24753] Fix | Delete
/**
[24754] Fix | Delete
* If the premium version is already installed, instead of showing the installation instructions,
[24755] Fix | Delete
* tell the current user to activate it.
[24756] Fix | Delete
*
[24757] Fix | Delete
* @author Leo Fajardo (@leorw)
[24758] Fix | Delete
* @since 2.2.1
[24759] Fix | Delete
*/
[24760] Fix | Delete
$premium_theme_slug_or_plugin_basename = $this->is_theme() ?
[24761] Fix | Delete
$this->get_premium_slug() :
[24762] Fix | Delete
$this->premium_plugin_basename();
[24763] Fix | Delete
[24764] Fix | Delete
return sprintf(
[24765] Fix | Delete
/* translators: %1$s: Product title; %2$s: Plan title */
[24766] Fix | Delete
$this->get_text_inline( ' The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s', 'activate-premium-version' ),
[24767] Fix | Delete
sprintf( '<em>%s</em>', esc_html( $this->get_plugin_title() ) ),
[24768] Fix | Delete
$plan_title,
[24769] Fix | Delete
sprintf(
[24770] Fix | Delete
'<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s</button></a>',
[24771] Fix | Delete
( $this->is_theme() ?
[24772] Fix | Delete
wp_nonce_url( 'themes.php?action=activate&amp;stylesheet=' . $premium_theme_slug_or_plugin_basename, 'switch-theme_' . $premium_theme_slug_or_plugin_basename ) :
[24773] Fix | Delete
wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $premium_theme_slug_or_plugin_basename, 'activate-plugin_' . $premium_theme_slug_or_plugin_basename ) ),
[24774] Fix | Delete
esc_html( sprintf(
[24775] Fix | Delete
/* translators: %s: Plan title */
[24776] Fix | Delete
$this->get_text_inline( 'Activate %s features', 'activate-x-features' ),
[24777] Fix | Delete
$plan_title
[24778] Fix | Delete
) )
[24779] Fix | Delete
)
[24780] Fix | Delete
);
[24781] Fix | Delete
} else {
[24782] Fix | Delete
// @since 1.2.1.5 The free version is auto deactivated.
[24783] Fix | Delete
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
[24784] Fix | Delete
( '<li>' . $this->esc_html_inline( 'Deactivate the free version', 'deactivate-free-version' ) . '.</li>' ) :
[24785] Fix | Delete
'';
[24786] Fix | Delete
[24787] Fix | Delete
return sprintf(
[24788] Fix | Delete
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank" rel="noopener">%s</a>).</li></ol>',
[24789] Fix | Delete
$this->get_text_inline( 'Please follow these steps to complete the upgrade', 'follow-steps-to-complete-upgrade' ),
[24790] Fix | Delete
( empty( $activate_license_string ) ? '' : $activate_license_string . '</li><li>' ) .
[24791] Fix | Delete
$this->get_latest_download_link( sprintf(
[24792] Fix | Delete
/* translators: %s: Plan title */
[24793] Fix | Delete
$this->get_text_inline( 'Download the latest %s version', 'download-latest-x-version' ),
[24794] Fix | Delete
$plan_title
[24795] Fix | Delete
) ),
[24796] Fix | Delete
$deactivation_step,
[24797] Fix | Delete
$this->get_text_inline( 'Upload and activate the downloaded version', 'upload-and-activate' ),
[24798] Fix | Delete
$this->apply_filters( 'upload_and_install_video_url', '//bit.ly/wp-' . $this->_module_type . '-upload' ),
[24799] Fix | Delete
$this->get_text_inline( 'How to upload and activate?', 'howto-upload-activate' )
[24800] Fix | Delete
);
[24801] Fix | Delete
}
[24802] Fix | Delete
}
[24803] Fix | Delete
[24804] Fix | Delete
/**
[24805] Fix | Delete
* @author Leo Fajardo (@leorw)
[24806] Fix | Delete
* @since 2.5.3
[24807] Fix | Delete
*
[24808] Fix | Delete
* @param string $message_before_the_instructions
[24809] Fix | Delete
* @param string $message_id
[24810] Fix | Delete
* @param string $plan_title
[24811] Fix | Delete
*/
[24812] Fix | Delete
private function add_complete_upgrade_instructions_notice(
[24813] Fix | Delete
$message_before_the_instructions,
[24814] Fix | Delete
$message_id,
[24815] Fix | Delete
$plan_title = ''
[24816] Fix | Delete
) {
[24817] Fix | Delete
$this->_admin_notices->add_sticky(
[24818] Fix | Delete
$message_before_the_instructions .
[24819] Fix | Delete
$this->get_complete_upgrade_instructions( $plan_title ),
[24820] Fix | Delete
$message_id,
[24821] Fix | Delete
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
[24822] Fix | Delete
);
[24823] Fix | Delete
}
[24824] Fix | Delete
[24825] Fix | Delete
/**
[24826] Fix | Delete
* @author Leo Fajardo (@leorw)
[24827] Fix | Delete
* @since 2.5.3
[24828] Fix | Delete
*
[24829] Fix | Delete
* @param bool $is_upgrade
[24830] Fix | Delete
*/
[24831] Fix | Delete
private function add_after_plan_activation_or_upgrade_instructions_notice( $is_upgrade = true ) {
[24832] Fix | Delete
$this->add_complete_upgrade_instructions_notice(
[24833] Fix | Delete
$is_upgrade ?
[24834] Fix | Delete
$this->get_text_inline( 'Your plan was successfully upgraded.', 'plan-upgraded-message' ) :
[24835] Fix | Delete
$this->get_text_inline( 'Your plan was successfully activated.', 'plan-activated-message' ),
[24836] Fix | Delete
'plan_upgraded'
[24837] Fix | Delete
);
[24838] Fix | Delete
}
[24839] Fix | Delete
[24840] Fix | Delete
/**
[24841] Fix | Delete
* @author Leo Fajardo (@leorw)
[24842] Fix | Delete
* @since 2.1.0
[24843] Fix | Delete
*
[24844] Fix | Delete
* @param string $url
[24845] Fix | Delete
* @param array $request
[24846] Fix | Delete
*/
[24847] Fix | Delete
private static function enrich_request_for_debug( &$url, &$request ) {
[24848] Fix | Delete
if ( WP_FS__DEBUG_SDK || isset( $_COOKIE['XDEBUG_SESSION'] ) ) {
[24849] Fix | Delete
$url = add_query_arg( 'XDEBUG_SESSION_START', rand( 0, 9999999 ), $url );
[24850] Fix | Delete
$url = add_query_arg( 'XDEBUG_SESSION', 'PHPSTORM', $url );
[24851] Fix | Delete
[24852] Fix | Delete
$request['cookies'] = array(
[24853] Fix | Delete
new WP_Http_Cookie( array(
[24854] Fix | Delete
'name' => 'XDEBUG_SESSION',
[24855] Fix | Delete
'value' => 'PHPSTORM',
[24856] Fix | Delete
) )
[24857] Fix | Delete
);
[24858] Fix | Delete
}
[24859] Fix | Delete
}
[24860] Fix | Delete
[24861] Fix | Delete
/**
[24862] Fix | Delete
* @author Leo Fajardo (@leorw)
[24863] Fix | Delete
* @since 2.1.0
[24864] Fix | Delete
*
[24865] Fix | Delete
* @param string $url
[24866] Fix | Delete
* @param array $request
[24867] Fix | Delete
* @param int $success_cache_expiration
[24868] Fix | Delete
* @param int $failure_cache_expiration
[24869] Fix | Delete
* @param bool $maybe_enrich_request_for_debug
[24870] Fix | Delete
*
[24871] Fix | Delete
* @return WP_Error|array
[24872] Fix | Delete
*/
[24873] Fix | Delete
static function safe_remote_post(
[24874] Fix | Delete
&$url,
[24875] Fix | Delete
$request,
[24876] Fix | Delete
$success_cache_expiration = 0,
[24877] Fix | Delete
$failure_cache_expiration = 0,
[24878] Fix | Delete
$maybe_enrich_request_for_debug = true
[24879] Fix | Delete
) {
[24880] Fix | Delete
$should_cache = ($success_cache_expiration + $failure_cache_expiration > 0);
[24881] Fix | Delete
[24882] Fix | Delete
$cache_key = $should_cache ? md5( fs_strip_url_protocol($url) . json_encode( $request ) ) : false;
[24883] Fix | Delete
[24884] Fix | Delete
$response = (!WP_FS__DEBUG_SDK && ( false !== $cache_key )) ?
[24885] Fix | Delete
get_transient( $cache_key ) :
[24886] Fix | Delete
false;
[24887] Fix | Delete
[24888] Fix | Delete
if ( false === $response ) {
[24889] Fix | Delete
if ( $maybe_enrich_request_for_debug ) {
[24890] Fix | Delete
self::enrich_request_for_debug( $url, $request );
[24891] Fix | Delete
}
[24892] Fix | Delete
[24893] Fix | Delete
if ( ! isset( $request['method'] ) ) {
[24894] Fix | Delete
$request['method'] = 'POST';
[24895] Fix | Delete
}
[24896] Fix | Delete
[24897] Fix | Delete
$response = FS_Api::remote_request( $url, $request );
[24898] Fix | Delete
[24899] Fix | Delete
if (
[24900] Fix | Delete
'https://' === substr( $url, 0, 8 ) &&
[24901] Fix | Delete
FS_Api::is_ssl_error_response( $response )
[24902] Fix | Delete
) {
[24903] Fix | Delete
// Failed due to old version of cURL or Open SSL (SSLv3 is not supported by CloudFlare).
[24904] Fix | Delete
$url = 'http://' . substr( $url, 8 );
[24905] Fix | Delete
[24906] Fix | Delete
$request['timeout'] = 15;
[24907] Fix | Delete
$response = FS_Api::remote_request( $url, $request );
[24908] Fix | Delete
}
[24909] Fix | Delete
[24910] Fix | Delete
if ( false !== $cache_key ) {
[24911] Fix | Delete
set_transient(
[24912] Fix | Delete
$cache_key,
[24913] Fix | Delete
$response,
[24914] Fix | Delete
( ( $response instanceof WP_Error ) ?
[24915] Fix | Delete
$failure_cache_expiration :
[24916] Fix | Delete
$success_cache_expiration )
[24917] Fix | Delete
);
[24918] Fix | Delete
}
[24919] Fix | Delete
}
[24920] Fix | Delete
[24921] Fix | Delete
return $response;
[24922] Fix | Delete
}
[24923] Fix | Delete
[24924] Fix | Delete
/**
[24925] Fix | Delete
* This method is used to enrich the after upgrade notice instructions when the upgraded
[24926] Fix | Delete
* license cannot be activated network wide (license quota isn't large enough).
[24927] Fix | Delete
*
[24928] Fix | Delete
* @author Vova Feldman (@svovaf)
[24929] Fix | Delete
* @since 2.0.0
[24930] Fix | Delete
*
[24931] Fix | Delete
* @return string
[24932] Fix | Delete
*/
[24933] Fix | Delete
private function get_license_network_activation_notice() {
[24934] Fix | Delete
if ( ! $this->_is_network_active ) {
[24935] Fix | Delete
// Module isn't network level activated.
[24936] Fix | Delete
return '';
[24937] Fix | Delete
}
[24938] Fix | Delete
[24939] Fix | Delete
if ( ! fs_is_network_admin() ) {
[24940] Fix | Delete
// Not network level admin.
[24941] Fix | Delete
return '';
[24942] Fix | Delete
}
[24943] Fix | Delete
[24944] Fix | Delete
if ( get_blog_count() == 1 ) {
[24945] Fix | Delete
// There's only a single site in the network so if there's a context license it was already activated.
[24946] Fix | Delete
return '';
[24947] Fix | Delete
}
[24948] Fix | Delete
[24949] Fix | Delete
if ( ! is_object( $this->_license ) ) {
[24950] Fix | Delete
// No context license.
[24951] Fix | Delete
return '';
[24952] Fix | Delete
}
[24953] Fix | Delete
[24954] Fix | Delete
if ( $this->_license->is_single_site() && 0 < $this->_license->activated ) {
[24955] Fix | Delete
// License was already utilized (this is not 100% the case if all the network is localhost sites and the license can be utilized on unlimited localhost sites).
[24956] Fix | Delete
return '';
[24957] Fix | Delete
}
[24958] Fix | Delete
[24959] Fix | Delete
if ( $this->can_activate_license_on_network( $this->_license ) ) {
[24960] Fix | Delete
// License can be activated on all the network, so probably, the license is already activate on all the network (that's how the after upgrade sync works).
[24961] Fix | Delete
return '';
[24962] Fix | Delete
}
[24963] Fix | Delete
[24964] Fix | Delete
return sprintf(
[24965] Fix | Delete
$this->get_text_inline( '%sClick here%s to choose the sites where you\'d like to activate the license on.', 'network-choose-sites-for-license' ),
[24966] Fix | Delete
'<a href="' . $this->get_account_url( false, array( 'activate_license' => 'true' ) ) . '">',
[24967] Fix | Delete
'</a>'
[24968] Fix | Delete
);
[24969] Fix | Delete
}
[24970] Fix | Delete
[24971] Fix | Delete
/**
[24972] Fix | Delete
* @author Vova Feldman (@svovaf)
[24973] Fix | Delete
* @since 1.2.1.7
[24974] Fix | Delete
*
[24975] Fix | Delete
* @param string $key
[24976] Fix | Delete
*
[24977] Fix | Delete
* @return string
[24978] Fix | Delete
*/
[24979] Fix | Delete
function get_text( $key ) {
[24980] Fix | Delete
return fs_text( $key, $this->_slug );
[24981] Fix | Delete
}
[24982] Fix | Delete
[24983] Fix | Delete
/**
[24984] Fix | Delete
* @author Vova Feldman (@svovaf)
[24985] Fix | Delete
* @since 1.2.3
[24986] Fix | Delete
*
[24987] Fix | Delete
* @param string $text Translatable string.
[24988] Fix | Delete
* @param string $key String key for overrides.
[24989] Fix | Delete
*
[24990] Fix | Delete
* @return string
[24991] Fix | Delete
*/
[24992] Fix | Delete
function get_text_inline( $text, $key = '' ) {
[24993] Fix | Delete
return _fs_text_inline( $text, $key, $this->_slug );
[24994] Fix | Delete
}
[24995] Fix | Delete
[24996] Fix | Delete
/**
[24997] Fix | Delete
* @author Vova Feldman (@svovaf)
[24998] Fix | Delete
* @since 1.2.3
[24999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function