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
}
[10500] Fix | Delete
[10501] Fix | Delete
/**
[10502] Fix | Delete
* @author Vova Feldman (@svovaf)
[10503] Fix | Delete
* @since 1.2.1.7
[10504] Fix | Delete
*
[10505] Fix | Delete
* @return string
[10506] Fix | Delete
*/
[10507] Fix | Delete
function get_plugin_title() {
[10508] Fix | Delete
$this->_logger->entrance();
[10509] Fix | Delete
[10510] Fix | Delete
$title = $this->_plugin->title;
[10511] Fix | Delete
[10512] Fix | Delete
return $this->apply_filters( 'plugin_title', $title );
[10513] Fix | Delete
}
[10514] Fix | Delete
[10515] Fix | Delete
/**
[10516] Fix | Delete
* @author Vova Feldman (@svovaf)
[10517] Fix | Delete
* @since 1.2.2.7
[10518] Fix | Delete
*
[10519] Fix | Delete
* @param bool $lowercase
[10520] Fix | Delete
*
[10521] Fix | Delete
* @return string
[10522] Fix | Delete
*/
[10523] Fix | Delete
function get_module_label( $lowercase = false ) {
[10524] Fix | Delete
$label = $this->is_addon() ?
[10525] Fix | Delete
$this->get_text_inline( 'Add-On', 'addon' ) :
[10526] Fix | Delete
( $this->is_plugin() ?
[10527] Fix | Delete
$this->get_text_inline( 'Plugin', 'plugin' ) :
[10528] Fix | Delete
$this->get_text_inline( 'Theme', 'theme' ) );
[10529] Fix | Delete
[10530] Fix | Delete
if ( $lowercase ) {
[10531] Fix | Delete
$label = strtolower( $label );
[10532] Fix | Delete
}
[10533] Fix | Delete
[10534] Fix | Delete
return $label;
[10535] Fix | Delete
}
[10536] Fix | Delete
[10537] Fix | Delete
/**
[10538] Fix | Delete
* @author Vova Feldman (@svovaf)
[10539] Fix | Delete
* @since 1.0.4
[10540] Fix | Delete
*
[10541] Fix | Delete
* @return string
[10542] Fix | Delete
*/
[10543] Fix | Delete
function get_plugin_basename() {
[10544] Fix | Delete
if ( ! isset( $this->_plugin_basename ) ) {
[10545] Fix | Delete
if ( $this->is_plugin() ) {
[10546] Fix | Delete
$this->_plugin_basename = plugin_basename( $this->_plugin_main_file_path );
[10547] Fix | Delete
} else {
[10548] Fix | Delete
$this->_plugin_basename = basename( dirname( $this->_plugin_main_file_path ) );
[10549] Fix | Delete
}
[10550] Fix | Delete
}
[10551] Fix | Delete
[10552] Fix | Delete
return $this->_plugin_basename;
[10553] Fix | Delete
}
[10554] Fix | Delete
[10555] Fix | Delete
function get_plugin_folder_name() {
[10556] Fix | Delete
$this->_logger->entrance();
[10557] Fix | Delete
[10558] Fix | Delete
$plugin_folder = $this->_plugin_basename;
[10559] Fix | Delete
[10560] Fix | Delete
while ( '.' !== dirname( $plugin_folder ) ) {
[10561] Fix | Delete
$plugin_folder = dirname( $plugin_folder );
[10562] Fix | Delete
}
[10563] Fix | Delete
[10564] Fix | Delete
$this->_logger->departure( 'Folder Name = ' . $plugin_folder );
[10565] Fix | Delete
[10566] Fix | Delete
return $plugin_folder;
[10567] Fix | Delete
}
[10568] Fix | Delete
[10569] Fix | Delete
#endregion ------------------------------------------------------------------
[10570] Fix | Delete
[10571] Fix | Delete
/* Account
[10572] Fix | Delete
------------------------------------------------------------------------------------------------------------------*/
[10573] Fix | Delete
[10574] Fix | Delete
/**
[10575] Fix | Delete
* Find plugin's slug by plugin's basename.
[10576] Fix | Delete
*
[10577] Fix | Delete
* @author Vova Feldman (@svovaf)
[10578] Fix | Delete
* @since 1.0.9
[10579] Fix | Delete
*
[10580] Fix | Delete
* @param string $plugin_base_name
[10581] Fix | Delete
*
[10582] Fix | Delete
* @return false|string
[10583] Fix | Delete
*/
[10584] Fix | Delete
private static function find_slug_by_basename( $plugin_base_name ) {
[10585] Fix | Delete
$file_slug_map = self::$_accounts->get_option( 'file_slug_map', array() );
[10586] Fix | Delete
[10587] Fix | Delete
if ( ! array( $file_slug_map ) || ! isset( $file_slug_map[ $plugin_base_name ] ) ) {
[10588] Fix | Delete
return false;
[10589] Fix | Delete
}
[10590] Fix | Delete
[10591] Fix | Delete
return $file_slug_map[ $plugin_base_name ];
[10592] Fix | Delete
}
[10593] Fix | Delete
[10594] Fix | Delete
/**
[10595] Fix | Delete
* Store the map between the plugin's basename to the slug.
[10596] Fix | Delete
*
[10597] Fix | Delete
* @author Vova Feldman (@svovaf)
[10598] Fix | Delete
* @since 1.0.9
[10599] Fix | Delete
*/
[10600] Fix | Delete
private function store_file_slug_map() {
[10601] Fix | Delete
$file_slug_map = self::$_accounts->get_option( 'file_slug_map', array() );
[10602] Fix | Delete
[10603] Fix | Delete
if ( ! array( $file_slug_map ) ) {
[10604] Fix | Delete
$file_slug_map = array();
[10605] Fix | Delete
}
[10606] Fix | Delete
[10607] Fix | Delete
if ( ! isset( $file_slug_map[ $this->_plugin_basename ] ) ||
[10608] Fix | Delete
$file_slug_map[ $this->_plugin_basename ] !== $this->_slug
[10609] Fix | Delete
) {
[10610] Fix | Delete
$file_slug_map[ $this->_plugin_basename ] = $this->_slug;
[10611] Fix | Delete
self::$_accounts->set_option( 'file_slug_map', $file_slug_map, true );
[10612] Fix | Delete
}
[10613] Fix | Delete
}
[10614] Fix | Delete
[10615] Fix | Delete
/**
[10616] Fix | Delete
* @return array[number]FS_User
[10617] Fix | Delete
*/
[10618] Fix | Delete
static function get_all_users() {
[10619] Fix | Delete
$users = self::maybe_get_entities_account_option( 'users', array() );
[10620] Fix | Delete
[10621] Fix | Delete
if ( ! is_array( $users ) ) {
[10622] Fix | Delete
$users = array();
[10623] Fix | Delete
}
[10624] Fix | Delete
[10625] Fix | Delete
return $users;
[10626] Fix | Delete
}
[10627] Fix | Delete
[10628] Fix | Delete
/**
[10629] Fix | Delete
* @param string $module_type
[10630] Fix | Delete
* @param null|int $blog_id Since 2.0.0
[10631] Fix | Delete
*
[10632] Fix | Delete
* @return array[string]FS_Site
[10633] Fix | Delete
*/
[10634] Fix | Delete
private static function get_all_sites(
[10635] Fix | Delete
$module_type = WP_FS__MODULE_TYPE_PLUGIN,
[10636] Fix | Delete
$blog_id = null,
[10637] Fix | Delete
$is_backup = false
[10638] Fix | Delete
) {
[10639] Fix | Delete
$sites = self::get_account_option(
[10640] Fix | Delete
( $is_backup ? 'prev_' : '' ) . 'sites',
[10641] Fix | Delete
$module_type,
[10642] Fix | Delete
$blog_id
[10643] Fix | Delete
);
[10644] Fix | Delete
[10645] Fix | Delete
if ( ! is_array( $sites ) ) {
[10646] Fix | Delete
$sites = array();
[10647] Fix | Delete
}
[10648] Fix | Delete
[10649] Fix | Delete
return $sites;
[10650] Fix | Delete
}
[10651] Fix | Delete
[10652] Fix | Delete
/**
[10653] Fix | Delete
* @author Leo Fajardo (@leorw)
[10654] Fix | Delete
*
[10655] Fix | Delete
* @since 1.2.2
[10656] Fix | Delete
*
[10657] Fix | Delete
* @param string $option_name
[10658] Fix | Delete
* @param string $module_type
[10659] Fix | Delete
* @param null|int $network_level_or_blog_id Since 2.0.0
[10660] Fix | Delete
*
[10661] Fix | Delete
* @return mixed
[10662] Fix | Delete
*/
[10663] Fix | Delete
private static function get_account_option( $option_name, $module_type = null, $network_level_or_blog_id = null ) {
[10664] Fix | Delete
if ( ! is_null( $module_type ) && WP_FS__MODULE_TYPE_PLUGIN !== $module_type ) {
[10665] Fix | Delete
$option_name = $module_type . '_' . $option_name;
[10666] Fix | Delete
}
[10667] Fix | Delete
[10668] Fix | Delete
return self::maybe_get_entities_account_option( $option_name, array(), $network_level_or_blog_id );
[10669] Fix | Delete
}
[10670] Fix | Delete
[10671] Fix | Delete
/**
[10672] Fix | Delete
* @author Leo Fajardo (@leorw)
[10673] Fix | Delete
*
[10674] Fix | Delete
* @since 1.2.2
[10675] Fix | Delete
*
[10676] Fix | Delete
* @param string $option_name
[10677] Fix | Delete
* @param mixed $option_value
[10678] Fix | Delete
* @param bool $store
[10679] Fix | Delete
* @param null|int $network_level_or_blog_id Since 2.0.0
[10680] Fix | Delete
*/
[10681] Fix | Delete
private function set_account_option( $option_name, $option_value, $store, $network_level_or_blog_id = null ) {
[10682] Fix | Delete
self::set_account_option_by_module(
[10683] Fix | Delete
$this->_module_type,
[10684] Fix | Delete
$option_name,
[10685] Fix | Delete
$option_value,
[10686] Fix | Delete
$store,
[10687] Fix | Delete
$network_level_or_blog_id
[10688] Fix | Delete
);
[10689] Fix | Delete
}
[10690] Fix | Delete
[10691] Fix | Delete
/**
[10692] Fix | Delete
* @author Vova Feldman (@svovaf)
[10693] Fix | Delete
*
[10694] Fix | Delete
* @since 1.2.2.7
[10695] Fix | Delete
*
[10696] Fix | Delete
* @param string $module_type
[10697] Fix | Delete
* @param string $option_name
[10698] Fix | Delete
* @param mixed $option_value
[10699] Fix | Delete
* @param bool $store
[10700] Fix | Delete
* @param null|int $network_level_or_blog_id Since 2.0.0
[10701] Fix | Delete
*/
[10702] Fix | Delete
private static function set_account_option_by_module(
[10703] Fix | Delete
$module_type,
[10704] Fix | Delete
$option_name,
[10705] Fix | Delete
$option_value,
[10706] Fix | Delete
$store,
[10707] Fix | Delete
$network_level_or_blog_id = null
[10708] Fix | Delete
) {
[10709] Fix | Delete
if ( WP_FS__MODULE_TYPE_PLUGIN != $module_type ) {
[10710] Fix | Delete
$option_name = $module_type . '_' . $option_name;
[10711] Fix | Delete
}
[10712] Fix | Delete
[10713] Fix | Delete
self::$_accounts->set_option( $option_name, $option_value, $store, $network_level_or_blog_id );
[10714] Fix | Delete
}
[10715] Fix | Delete
[10716] Fix | Delete
/**
[10717] Fix | Delete
* This method can also return non-entity or non-entities collection option like the `user_id_license_ids_map` option.
[10718] Fix | Delete
*
[10719] Fix | Delete
* @author Leo Fajardo (@leorw)
[10720] Fix | Delete
* @since 2.3.1
[10721] Fix | Delete
*
[10722] Fix | Delete
* @param string $option_name
[10723] Fix | Delete
* @param mixed $default
[10724] Fix | Delete
* @param null|bool|int $network_level_or_blog_id When an integer, use the given blog storage. When `true` use the multisite storage (if there's a network). When `false`, use the current context blog storage. When `null`, the decision which storage to use (MS vs. Current S) will be handled internally and determined based on the $option (based on self::$_SITE_LEVEL_PARAMS).
[10725] Fix | Delete
*
[10726] Fix | Delete
* @return mixed|FS_Plugin[]|FS_User[]|FS_Site[]|FS_Plugin_License[]|FS_Plugin_Plan[]|FS_Plugin_Tag[]
[10727] Fix | Delete
*/
[10728] Fix | Delete
private static function maybe_get_entities_account_option( $option_name, $default = null, $network_level_or_blog_id = null ) {
[10729] Fix | Delete
$option = self::$_accounts->get_option( $option_name, $default, $network_level_or_blog_id );
[10730] Fix | Delete
[10731] Fix | Delete
$class_name = '';
[10732] Fix | Delete
[10733] Fix | Delete
if ( fs_starts_with( $option_name, WP_FS__MODULE_TYPE_THEME . '_' ) ) {
[10734] Fix | Delete
$option_name = str_replace( WP_FS__MODULE_TYPE_THEME . '_', '', $option_name );
[10735] Fix | Delete
}
[10736] Fix | Delete
[10737] Fix | Delete
switch ( $option_name ) {
[10738] Fix | Delete
case 'plugins':
[10739] Fix | Delete
case 'themes':
[10740] Fix | Delete
case 'addons':
[10741] Fix | Delete
$class_name = FS_Plugin::get_class_name();
[10742] Fix | Delete
break;
[10743] Fix | Delete
case 'users':
[10744] Fix | Delete
$class_name = FS_User::get_class_name();
[10745] Fix | Delete
break;
[10746] Fix | Delete
case 'sites':
[10747] Fix | Delete
$class_name = FS_Site::get_class_name();
[10748] Fix | Delete
break;
[10749] Fix | Delete
case 'licenses':
[10750] Fix | Delete
case 'all_licenses':
[10751] Fix | Delete
$class_name = FS_Plugin_License::get_class_name();
[10752] Fix | Delete
break;
[10753] Fix | Delete
case 'plans':
[10754] Fix | Delete
$class_name = FS_Plugin_Plan::get_class_name();
[10755] Fix | Delete
break;
[10756] Fix | Delete
case 'updates':
[10757] Fix | Delete
$class_name = FS_Plugin_Tag::get_class_name();
[10758] Fix | Delete
break;
[10759] Fix | Delete
}
[10760] Fix | Delete
[10761] Fix | Delete
if ( empty( $class_name ) ) {
[10762] Fix | Delete
return $option;
[10763] Fix | Delete
}
[10764] Fix | Delete
[10765] Fix | Delete
return fs_get_entities( $option, $class_name );
[10766] Fix | Delete
}
[10767] Fix | Delete
[10768] Fix | Delete
/**
[10769] Fix | Delete
* @author Vova Feldman (@svovaf)
[10770] Fix | Delete
* @since 1.0.6
[10771] Fix | Delete
*
[10772] Fix | Delete
* @param number|null $module_id
[10773] Fix | Delete
*
[10774] Fix | Delete
* @return FS_Plugin_License[]
[10775] Fix | Delete
*/
[10776] Fix | Delete
private static function get_all_licenses( $module_id = null ) {
[10777] Fix | Delete
$licenses = self::get_account_option( 'all_licenses' );
[10778] Fix | Delete
[10779] Fix | Delete
if ( ! is_array( $licenses ) ) {
[10780] Fix | Delete
$licenses = array();
[10781] Fix | Delete
}
[10782] Fix | Delete
[10783] Fix | Delete
if ( is_null( $module_id ) ) {
[10784] Fix | Delete
return $licenses;
[10785] Fix | Delete
}
[10786] Fix | Delete
[10787] Fix | Delete
$licenses = isset( $licenses[ $module_id ] ) ?
[10788] Fix | Delete
$licenses[ $module_id ] :
[10789] Fix | Delete
array();
[10790] Fix | Delete
[10791] Fix | Delete
return $licenses;
[10792] Fix | Delete
}
[10793] Fix | Delete
[10794] Fix | Delete
/**
[10795] Fix | Delete
* @author Leo Fajardo (@leorw)
[10796] Fix | Delete
* @since 2.0.0
[10797] Fix | Delete
*
[10798] Fix | Delete
* @return array
[10799] Fix | Delete
*/
[10800] Fix | Delete
private static function get_all_licenses_by_module_type() {
[10801] Fix | Delete
$licenses = self::get_account_option( 'all_licenses' );
[10802] Fix | Delete
[10803] Fix | Delete
$licenses_by_module_type = array(
[10804] Fix | Delete
WP_FS__MODULE_TYPE_PLUGIN => array(),
[10805] Fix | Delete
WP_FS__MODULE_TYPE_THEME => array()
[10806] Fix | Delete
);
[10807] Fix | Delete
[10808] Fix | Delete
if ( ! is_array( $licenses ) ) {
[10809] Fix | Delete
return $licenses_by_module_type;
[10810] Fix | Delete
}
[10811] Fix | Delete
[10812] Fix | Delete
foreach ( $licenses as $module_id => $module_licenses ) {
[10813] Fix | Delete
$fs = self::get_instance_by_id( $module_id );
[10814] Fix | Delete
if ( false === $fs ) {
[10815] Fix | Delete
continue;
[10816] Fix | Delete
}
[10817] Fix | Delete
[10818] Fix | Delete
$licenses_by_module_type[ $fs->_module_type ] = array_merge( $licenses_by_module_type[ $fs->_module_type ], $module_licenses );
[10819] Fix | Delete
}
[10820] Fix | Delete
[10821] Fix | Delete
return $licenses_by_module_type;
[10822] Fix | Delete
}
[10823] Fix | Delete
[10824] Fix | Delete
/**
[10825] Fix | Delete
* @author Leo Fajardo (@leorw)
[10826] Fix | Delete
* @since 2.0.0
[10827] Fix | Delete
*
[10828] Fix | Delete
* @param number $module_id
[10829] Fix | Delete
* @param number|null $user_id
[10830] Fix | Delete
*
[10831] Fix | Delete
* @return array
[10832] Fix | Delete
*/
[10833] Fix | Delete
private static function get_user_id_license_ids_map( $module_id, $user_id = null ) {
[10834] Fix | Delete
$all_modules_user_id_license_ids_map = self::get_account_option( 'user_id_license_ids_map' );
[10835] Fix | Delete
[10836] Fix | Delete
if ( ! is_array( $all_modules_user_id_license_ids_map ) ) {
[10837] Fix | Delete
$all_modules_user_id_license_ids_map = array();
[10838] Fix | Delete
}
[10839] Fix | Delete
[10840] Fix | Delete
$user_id_license_ids_map = isset( $all_modules_user_id_license_ids_map[ $module_id ] ) ?
[10841] Fix | Delete
$all_modules_user_id_license_ids_map[ $module_id ] :
[10842] Fix | Delete
array();
[10843] Fix | Delete
[10844] Fix | Delete
if ( FS_User::is_valid_id( $user_id ) ) {
[10845] Fix | Delete
$user_id_license_ids_map = isset( $user_id_license_ids_map[ $user_id ] ) ?
[10846] Fix | Delete
$user_id_license_ids_map[ $user_id ] :
[10847] Fix | Delete
array();
[10848] Fix | Delete
}
[10849] Fix | Delete
[10850] Fix | Delete
return $user_id_license_ids_map;
[10851] Fix | Delete
}
[10852] Fix | Delete
[10853] Fix | Delete
/**
[10854] Fix | Delete
* @author Leo Fajardo (@leorw)
[10855] Fix | Delete
* @since 2.0.0
[10856] Fix | Delete
*
[10857] Fix | Delete
* @param array $new_user_id_license_ids_map
[10858] Fix | Delete
* @param number $module_id
[10859] Fix | Delete
* @param number|null $user_id
[10860] Fix | Delete
*/
[10861] Fix | Delete
private static function store_user_id_license_ids_map( $new_user_id_license_ids_map, $module_id, $user_id = null ) {
[10862] Fix | Delete
$all_modules_user_id_license_ids_map = self::get_account_option( 'user_id_license_ids_map' );
[10863] Fix | Delete
if ( ! is_array( $all_modules_user_id_license_ids_map ) ) {
[10864] Fix | Delete
$all_modules_user_id_license_ids_map = array();
[10865] Fix | Delete
}
[10866] Fix | Delete
[10867] Fix | Delete
if ( ! isset( $all_modules_user_id_license_ids_map[ $module_id ] ) ) {
[10868] Fix | Delete
$all_modules_user_id_license_ids_map[ $module_id ] = array();
[10869] Fix | Delete
}
[10870] Fix | Delete
[10871] Fix | Delete
if ( FS_User::is_valid_id( $user_id ) ) {
[10872] Fix | Delete
$all_modules_user_id_license_ids_map[ $module_id ][ $user_id ] = $new_user_id_license_ids_map;
[10873] Fix | Delete
} else {
[10874] Fix | Delete
$all_modules_user_id_license_ids_map[ $module_id ] = $new_user_id_license_ids_map;
[10875] Fix | Delete
}
[10876] Fix | Delete
[10877] Fix | Delete
self::$_accounts->set_option( 'user_id_license_ids_map', $all_modules_user_id_license_ids_map, true );
[10878] Fix | Delete
}
[10879] Fix | Delete
[10880] Fix | Delete
/**
[10881] Fix | Delete
* Get a collection of the user's linked license IDs.
[10882] Fix | Delete
*
[10883] Fix | Delete
* @author Vova Feldman (@svovaf)
[10884] Fix | Delete
* @since 2.0.0
[10885] Fix | Delete
*
[10886] Fix | Delete
* @param number $user_id
[10887] Fix | Delete
*
[10888] Fix | Delete
* @return number[]
[10889] Fix | Delete
*/
[10890] Fix | Delete
private function get_user_linked_license_ids( $user_id ) {
[10891] Fix | Delete
return self::get_user_id_license_ids_map( $this->_module_id, $user_id );
[10892] Fix | Delete
}
[10893] Fix | Delete
[10894] Fix | Delete
/**
[10895] Fix | Delete
* Override the user's linked license IDs with a new IDs collection.
[10896] Fix | Delete
*
[10897] Fix | Delete
* @author Vova Feldman (@svovaf)
[10898] Fix | Delete
* @since 2.0.0
[10899] Fix | Delete
*
[10900] Fix | Delete
* @param number $user_id
[10901] Fix | Delete
* @param number[] $license_ids
[10902] Fix | Delete
*/
[10903] Fix | Delete
private function set_user_linked_license_ids( $user_id, array $license_ids ) {
[10904] Fix | Delete
self::store_user_id_license_ids_map( $license_ids, $this->_module_id, $user_id );
[10905] Fix | Delete
}
[10906] Fix | Delete
[10907] Fix | Delete
/**
[10908] Fix | Delete
* Link a specified license ID to a given user.
[10909] Fix | Delete
*
[10910] Fix | Delete
* @author Vova Feldman (@svovaf)
[10911] Fix | Delete
* @since 2.0.0
[10912] Fix | Delete
*
[10913] Fix | Delete
* @param number $license_id
[10914] Fix | Delete
* @param number $user_id
[10915] Fix | Delete
*/
[10916] Fix | Delete
private function link_license_2_user( $license_id, $user_id ) {
[10917] Fix | Delete
$license_ids = $this->get_user_linked_license_ids( $user_id );
[10918] Fix | Delete
[10919] Fix | Delete
if ( in_array( $license_id, $license_ids ) ) {
[10920] Fix | Delete
// License already linked.
[10921] Fix | Delete
return;
[10922] Fix | Delete
}
[10923] Fix | Delete
[10924] Fix | Delete
$license_ids[] = $license_id;
[10925] Fix | Delete
[10926] Fix | Delete
$this->set_user_linked_license_ids( $user_id, $license_ids );
[10927] Fix | Delete
}
[10928] Fix | Delete
[10929] Fix | Delete
/**
[10930] Fix | Delete
* @param string|bool $module_type
[10931] Fix | Delete
*
[10932] Fix | Delete
* @return FS_Plugin_Plan[]
[10933] Fix | Delete
*/
[10934] Fix | Delete
private static function get_all_plans( $module_type = false ) {
[10935] Fix | Delete
$plans = self::get_account_option( 'plans', $module_type );
[10936] Fix | Delete
[10937] Fix | Delete
if ( ! is_array( $plans ) ) {
[10938] Fix | Delete
$plans = array();
[10939] Fix | Delete
}
[10940] Fix | Delete
[10941] Fix | Delete
return $plans;
[10942] Fix | Delete
}
[10943] Fix | Delete
[10944] Fix | Delete
/**
[10945] Fix | Delete
* @author Vova Feldman (@svovaf)
[10946] Fix | Delete
* @since 1.0.4
[10947] Fix | Delete
*
[10948] Fix | Delete
* @return FS_Plugin_Tag[]
[10949] Fix | Delete
*/
[10950] Fix | Delete
private static function get_all_updates() {
[10951] Fix | Delete
$updates = self::maybe_get_entities_account_option( 'updates', array() );
[10952] Fix | Delete
[10953] Fix | Delete
if ( ! is_array( $updates ) ) {
[10954] Fix | Delete
$updates = array();
[10955] Fix | Delete
}
[10956] Fix | Delete
[10957] Fix | Delete
return $updates;
[10958] Fix | Delete
}
[10959] Fix | Delete
[10960] Fix | Delete
/**
[10961] Fix | Delete
* @author Vova Feldman (@svovaf)
[10962] Fix | Delete
* @since 1.0.6
[10963] Fix | Delete
*
[10964] Fix | Delete
* @return array<number,FS_Plugin[]>|false
[10965] Fix | Delete
*/
[10966] Fix | Delete
private static function get_all_addons() {
[10967] Fix | Delete
$addons = self::maybe_get_entities_account_option( 'addons', array() );
[10968] Fix | Delete
[10969] Fix | Delete
if ( ! is_array( $addons ) ) {
[10970] Fix | Delete
$addons = array();
[10971] Fix | Delete
}
[10972] Fix | Delete
[10973] Fix | Delete
return $addons;
[10974] Fix | Delete
}
[10975] Fix | Delete
[10976] Fix | Delete
/**
[10977] Fix | Delete
* @author Vova Feldman (@svovaf)
[10978] Fix | Delete
* @since 1.0.6
[10979] Fix | Delete
*
[10980] Fix | Delete
* @return number[]|false
[10981] Fix | Delete
*/
[10982] Fix | Delete
private static function get_all_account_addons() {
[10983] Fix | Delete
$addons = self::$_accounts->get_option( 'account_addons', array() );
[10984] Fix | Delete
[10985] Fix | Delete
if ( ! is_array( $addons ) ) {
[10986] Fix | Delete
$addons = array();
[10987] Fix | Delete
}
[10988] Fix | Delete
[10989] Fix | Delete
return $addons;
[10990] Fix | Delete
}
[10991] Fix | Delete
[10992] Fix | Delete
/**
[10993] Fix | Delete
* Check if user has connected his account (opted-in).
[10994] Fix | Delete
*
[10995] Fix | Delete
* Note:
[10996] Fix | Delete
* If the user opted-in and opted-out on a later stage,
[10997] Fix | Delete
* this will still return true. If you want to check if the
[10998] Fix | Delete
* user is currently opted-in, use:
[10999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function