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
// No submenu items or action links for add-ons.
[19000] Fix | Delete
return false;
[19001] Fix | Delete
}
[19002] Fix | Delete
[19003] Fix | Delete
if ( $this->show_opt_in_on_themes_page() ) {
[19004] Fix | Delete
if ( ! fs_is_network_admin() ) {
[19005] Fix | Delete
// Also add action links or submenu items when running in a free .org theme so the tabs will be visible.
[19006] Fix | Delete
return true;
[19007] Fix | Delete
}
[19008] Fix | Delete
} else if ( $is_activation_mode ) {
[19009] Fix | Delete
// Don't show submenu-items/tabs in activation mode, unless it's a wp.org theme.
[19010] Fix | Delete
return false;
[19011] Fix | Delete
}
[19012] Fix | Delete
[19013] Fix | Delete
if ( fs_is_network_admin() ) {
[19014] Fix | Delete
/**
[19015] Fix | Delete
* Add submenu items or action links to network level when plugin was network activated and the super
[19016] Fix | Delete
* admin did NOT delegate the connection of all sites to site admins.
[19017] Fix | Delete
*/
[19018] Fix | Delete
return (
[19019] Fix | Delete
$this->_is_network_active &&
[19020] Fix | Delete
( WP_FS__SHOW_NETWORK_EVEN_WHEN_DELEGATED ||
[19021] Fix | Delete
! $this->is_network_delegated_connection() )
[19022] Fix | Delete
);
[19023] Fix | Delete
}
[19024] Fix | Delete
[19025] Fix | Delete
return ( ! $this->_is_network_active || $this->is_delegated_connection() );
[19026] Fix | Delete
}
[19027] Fix | Delete
[19028] Fix | Delete
/**
[19029] Fix | Delete
* Add default Freemius menu items.
[19030] Fix | Delete
*
[19031] Fix | Delete
* @author Vova Feldman (@svovaf)
[19032] Fix | Delete
* @since 1.0.0
[19033] Fix | Delete
* @since 1.2.2.7 Also add submenu items when running in a free .org theme so the tabs will be visible.
[19034] Fix | Delete
*/
[19035] Fix | Delete
private function add_submenu_items() {
[19036] Fix | Delete
$this->_logger->entrance();
[19037] Fix | Delete
[19038] Fix | Delete
$is_activation_mode = $this->is_activation_mode();
[19039] Fix | Delete
[19040] Fix | Delete
$add_submenu_items = $this->should_add_submenu_or_action_links( $is_activation_mode );
[19041] Fix | Delete
[19042] Fix | Delete
if ( $add_submenu_items ) {
[19043] Fix | Delete
if ( $this->has_affiliate_program() ) {
[19044] Fix | Delete
// Add affiliation page.
[19045] Fix | Delete
$this->add_submenu_item(
[19046] Fix | Delete
$this->get_text_inline( 'Affiliation', 'affiliation' ),
[19047] Fix | Delete
array( &$this, '_affiliation_page_render' ),
[19048] Fix | Delete
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Affiliation', 'affiliation' ),
[19049] Fix | Delete
'manage_options',
[19050] Fix | Delete
'affiliation',
[19051] Fix | Delete
'Freemius::_clean_admin_content_section',
[19052] Fix | Delete
WP_FS__DEFAULT_PRIORITY,
[19053] Fix | Delete
$this->is_submenu_item_visible( 'affiliation' )
[19054] Fix | Delete
);
[19055] Fix | Delete
}
[19056] Fix | Delete
}
[19057] Fix | Delete
[19058] Fix | Delete
if ( $add_submenu_items ||
[19059] Fix | Delete
( $is_activation_mode &&
[19060] Fix | Delete
$this->is_only_premium() &&
[19061] Fix | Delete
$this->is_admin_page( 'account' ) &&
[19062] Fix | Delete
fs_request_is_action( $this->get_unique_affix() . '_sync_license' )
[19063] Fix | Delete
)
[19064] Fix | Delete
) {
[19065] Fix | Delete
if ( ! WP_FS__DEMO_MODE && $this->is_registered() ) {
[19066] Fix | Delete
$show_account = (
[19067] Fix | Delete
$this->is_submenu_item_visible( 'account' ) &&
[19068] Fix | Delete
/**
[19069] Fix | Delete
* @since 1.2.2.7 Don't show the Account for free WP.org themes without any paid plans.
[19070] Fix | Delete
*/
[19071] Fix | Delete
( ! $this->is_free_wp_org_theme() || $this->has_paid_plan() )
[19072] Fix | Delete
);
[19073] Fix | Delete
[19074] Fix | Delete
// Add user account page.
[19075] Fix | Delete
$this->add_submenu_item(
[19076] Fix | Delete
$this->get_text_inline( 'Account', 'account' ),
[19077] Fix | Delete
array( &$this, '_account_page_render' ),
[19078] Fix | Delete
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Account', 'account' ),
[19079] Fix | Delete
'manage_options',
[19080] Fix | Delete
'account',
[19081] Fix | Delete
array( &$this, '_account_page_load' ),
[19082] Fix | Delete
WP_FS__DEFAULT_PRIORITY,
[19083] Fix | Delete
( $add_submenu_items && $show_account )
[19084] Fix | Delete
);
[19085] Fix | Delete
}
[19086] Fix | Delete
}
[19087] Fix | Delete
[19088] Fix | Delete
if ( $add_submenu_items ) {
[19089] Fix | Delete
if (! WP_FS__DEMO_MODE && ! $this->is_whitelabeled() ) {
[19090] Fix | Delete
// Add contact page.
[19091] Fix | Delete
$this->add_submenu_item(
[19092] Fix | Delete
$this->get_text_inline( 'Contact Us', 'contact-us' ),
[19093] Fix | Delete
array( &$this, '_contact_page_render' ),
[19094] Fix | Delete
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Contact Us', 'contact-us' ),
[19095] Fix | Delete
'manage_options',
[19096] Fix | Delete
'contact',
[19097] Fix | Delete
'Freemius::_clean_admin_content_section',
[19098] Fix | Delete
WP_FS__DEFAULT_PRIORITY,
[19099] Fix | Delete
$this->is_submenu_item_visible( 'contact' )
[19100] Fix | Delete
);
[19101] Fix | Delete
}
[19102] Fix | Delete
[19103] Fix | Delete
if ( $this->has_addons() ) {
[19104] Fix | Delete
$this->add_submenu_item(
[19105] Fix | Delete
$this->get_text_inline( 'Add-Ons', 'add-ons' ),
[19106] Fix | Delete
array( &$this, '_addons_page_render' ),
[19107] Fix | Delete
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Add-Ons', 'add-ons' ),
[19108] Fix | Delete
'manage_options',
[19109] Fix | Delete
'addons',
[19110] Fix | Delete
array( &$this, '_addons_page_load' ),
[19111] Fix | Delete
WP_FS__LOWEST_PRIORITY - 1,
[19112] Fix | Delete
$this->is_submenu_item_visible( 'addons' )
[19113] Fix | Delete
);
[19114] Fix | Delete
}
[19115] Fix | Delete
}
[19116] Fix | Delete
[19117] Fix | Delete
if ( $add_submenu_items ||
[19118] Fix | Delete
( $is_activation_mode && $this->is_only_premium() && $this->is_admin_page( 'pricing' ) )
[19119] Fix | Delete
) {
[19120] Fix | Delete
if (! WP_FS__DEMO_MODE && ! $this->is_whitelabeled() ) {
[19121] Fix | Delete
$show_pricing = (
[19122] Fix | Delete
$this->is_submenu_item_visible( 'pricing' ) &&
[19123] Fix | Delete
$this->is_pricing_page_visible()
[19124] Fix | Delete
);
[19125] Fix | Delete
[19126] Fix | Delete
$pricing_cta_text = $this->get_pricing_cta_label();
[19127] Fix | Delete
$pricing_class = 'upgrade-mode';
[19128] Fix | Delete
if ( $show_pricing ) {
[19129] Fix | Delete
if ( $this->is_in_trial_promotion() &&
[19130] Fix | Delete
! $this->is_paying_or_trial()
[19131] Fix | Delete
) {
[19132] Fix | Delete
// If running a trial promotion, modify the pricing to load the trial.
[19133] Fix | Delete
$pricing_class = 'trial-mode';
[19134] Fix | Delete
} else if ( $this->is_paying() ) {
[19135] Fix | Delete
$pricing_class = '';
[19136] Fix | Delete
}
[19137] Fix | Delete
}
[19138] Fix | Delete
[19139] Fix | Delete
// Add upgrade/pricing page.
[19140] Fix | Delete
$this->add_submenu_item(
[19141] Fix | Delete
$pricing_cta_text . '  ' . ( is_rtl() ? $this->get_text_x_inline( '←', 'ASCII arrow left icon', 'symbol_arrow-left' ) : $this->get_text_x_inline( '➤', 'ASCII arrow right icon', 'symbol_arrow-right' ) ),
[19142] Fix | Delete
array( &$this, '_pricing_page_render' ),
[19143] Fix | Delete
$this->get_plugin_name() . ' – ' . $this->get_text_x_inline( 'Pricing', 'noun', 'pricing' ),
[19144] Fix | Delete
'manage_options',
[19145] Fix | Delete
'pricing',
[19146] Fix | Delete
'Freemius::_clean_admin_content_section',
[19147] Fix | Delete
WP_FS__LOWEST_PRIORITY,
[19148] Fix | Delete
( $add_submenu_items && $show_pricing ),
[19149] Fix | Delete
$pricing_class
[19150] Fix | Delete
);
[19151] Fix | Delete
}
[19152] Fix | Delete
}
[19153] Fix | Delete
[19154] Fix | Delete
if ( ! $is_activation_mode || ( true !== $this->_storage->require_license_activation ) ) {
[19155] Fix | Delete
/**
[19156] Fix | Delete
* Add the other menu items if there are any when not in activation mode or license activation is not
[19157] Fix | Delete
* required (license activation is required for registered or anonymous users after activating the
[19158] Fix | Delete
* premium version when the site is not in trial mode or there's no active valid license).
[19159] Fix | Delete
*
[19160] Fix | Delete
* @author Leo Fajardo (@leorw)
[19161] Fix | Delete
* @since 2.2.1
[19162] Fix | Delete
*/
[19163] Fix | Delete
if ( 0 < count( $this->_menu_items ) ) {
[19164] Fix | Delete
if ( ! $this->_menu->is_top_level() ) {
[19165] Fix | Delete
fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
[19166] Fix | Delete
[19167] Fix | Delete
// Append submenu items right after the plugin's submenu item.
[19168] Fix | Delete
$this->order_sub_submenu_items();
[19169] Fix | Delete
} else {
[19170] Fix | Delete
// Append submenu items.
[19171] Fix | Delete
$this->embed_submenu_items();
[19172] Fix | Delete
}
[19173] Fix | Delete
}
[19174] Fix | Delete
}
[19175] Fix | Delete
}
[19176] Fix | Delete
[19177] Fix | Delete
/**
[19178] Fix | Delete
* Moved the actual submenu item additions to a separated function,
[19179] Fix | Delete
* in order to support sub-submenu items when the plugin's settings
[19180] Fix | Delete
* only have a submenu and not top-level menu item.
[19181] Fix | Delete
*
[19182] Fix | Delete
* @author Vova Feldman (@svovaf)
[19183] Fix | Delete
* @since 1.1.4
[19184] Fix | Delete
*/
[19185] Fix | Delete
private function embed_submenu_items() {
[19186] Fix | Delete
$item_template = $this->_menu->is_top_level() ?
[19187] Fix | Delete
'<span class="fs-submenu-item %s %s %s">%s</span>' :
[19188] Fix | Delete
'<span class="fs-submenu-item fs-sub %s %s %s">%s</span>';
[19189] Fix | Delete
[19190] Fix | Delete
$top_level_menu_capability = $this->get_top_level_menu_capability();
[19191] Fix | Delete
[19192] Fix | Delete
ksort( $this->_menu_items );
[19193] Fix | Delete
[19194] Fix | Delete
$is_first_submenu_item = true;
[19195] Fix | Delete
[19196] Fix | Delete
foreach ( $this->_menu_items as $priority => $items ) {
[19197] Fix | Delete
foreach ( $items as $item ) {
[19198] Fix | Delete
$capability = ( ! empty( $item['capability'] ) ? $item['capability'] : $top_level_menu_capability );
[19199] Fix | Delete
[19200] Fix | Delete
$menu_item = sprintf(
[19201] Fix | Delete
$item_template,
[19202] Fix | Delete
$this->get_unique_affix(),
[19203] Fix | Delete
$item['menu_slug'],
[19204] Fix | Delete
! empty( $item['class'] ) ? $item['class'] : '',
[19205] Fix | Delete
$item['menu_title']
[19206] Fix | Delete
);
[19207] Fix | Delete
[19208] Fix | Delete
$top_level_menu_slug = $this->get_top_level_menu_slug();
[19209] Fix | Delete
$menu_slug = $this->_menu->get_slug( $item['menu_slug'] );
[19210] Fix | Delete
[19211] Fix | Delete
if ( ! isset( $item['url'] ) ) {
[19212] Fix | Delete
$hook = FS_Admin_Menu_Manager::add_subpage(
[19213] Fix | Delete
$item['show_submenu'] ?
[19214] Fix | Delete
$top_level_menu_slug :
[19215] Fix | Delete
'',
[19216] Fix | Delete
$item['page_title'],
[19217] Fix | Delete
$menu_item,
[19218] Fix | Delete
$capability,
[19219] Fix | Delete
$menu_slug,
[19220] Fix | Delete
$item['render_function']
[19221] Fix | Delete
);
[19222] Fix | Delete
[19223] Fix | Delete
if ( false !== $item['before_render_function'] ) {
[19224] Fix | Delete
add_action( "load-$hook", $item['before_render_function'] );
[19225] Fix | Delete
}
[19226] Fix | Delete
} else {
[19227] Fix | Delete
FS_Admin_Menu_Manager::add_subpage(
[19228] Fix | Delete
$item['show_submenu'] ?
[19229] Fix | Delete
$top_level_menu_slug :
[19230] Fix | Delete
'',
[19231] Fix | Delete
$item['page_title'],
[19232] Fix | Delete
$menu_item,
[19233] Fix | Delete
$capability,
[19234] Fix | Delete
$menu_slug,
[19235] Fix | Delete
array( $this, '' )
[19236] Fix | Delete
);
[19237] Fix | Delete
}
[19238] Fix | Delete
[19239] Fix | Delete
if ( $item['show_submenu'] && $is_first_submenu_item ) {
[19240] Fix | Delete
if ( $this->_is_network_active && ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
[19241] Fix | Delete
/**
[19242] Fix | Delete
* If the top-level menu has been dynamically created, remove the first submenu item that
[19243] Fix | Delete
* WordPress automatically creates when there's no submenu item whose slug matches the
[19244] Fix | Delete
* parent's. In the following example, the `Awesome Plugin` submenu item will be removed.
[19245] Fix | Delete
*
[19246] Fix | Delete
* Awesome Plugin
[19247] Fix | Delete
* - Awesome Plugin <-- we want to remove this since there's no real setting page for the top-level
[19248] Fix | Delete
*
[19249] Fix | Delete
* @author Leo Fajardo (@leorw)
[19250] Fix | Delete
*/
[19251] Fix | Delete
remove_submenu_page( $top_level_menu_slug, $top_level_menu_slug );
[19252] Fix | Delete
}
[19253] Fix | Delete
[19254] Fix | Delete
$is_first_submenu_item = false;
[19255] Fix | Delete
}
[19256] Fix | Delete
}
[19257] Fix | Delete
}
[19258] Fix | Delete
}
[19259] Fix | Delete
[19260] Fix | Delete
/**
[19261] Fix | Delete
* Re-order the submenu items so all Freemius added new submenu items
[19262] Fix | Delete
* are added right after the plugin's settings submenu item.
[19263] Fix | Delete
*
[19264] Fix | Delete
* @author Vova Feldman (@svovaf)
[19265] Fix | Delete
* @since 1.1.4
[19266] Fix | Delete
*/
[19267] Fix | Delete
private function order_sub_submenu_items() {
[19268] Fix | Delete
global $submenu;
[19269] Fix | Delete
[19270] Fix | Delete
$menu_slug = $this->_menu->get_top_level_menu_slug();
[19271] Fix | Delete
[19272] Fix | Delete
/**
[19273] Fix | Delete
* Before "admin_menu" fires, WordPress will loop over the default submenus and remove pages for which the user
[19274] Fix | Delete
* does not have permissions. So in case a plugin does not have top-level menu but does have submenus under any
[19275] Fix | Delete
* of the default menus, only users that have the right role can access its sub-submenus (Account, Contact Us,
[19276] Fix | Delete
* Support Forum, etc.) since $submenu[ $menu_slug ] will be empty if the user doesn't have permission.
[19277] Fix | Delete
*
[19278] Fix | Delete
* In case a plugin does not have submenus under any of the default menus but does have submenus under the menu
[19279] Fix | Delete
* of another plugin, only users that have the right role can access its sub-submenus since we will use the
[19280] Fix | Delete
* capability needed to access the parent menu as the capability for the submenus that we will add.
[19281] Fix | Delete
*/
[19282] Fix | Delete
if ( empty( $submenu[ $menu_slug ] ) ) {
[19283] Fix | Delete
return;
[19284] Fix | Delete
}
[19285] Fix | Delete
[19286] Fix | Delete
$top_level_menu = &$submenu[ $menu_slug ];
[19287] Fix | Delete
[19288] Fix | Delete
$all_submenu_items_after = array();
[19289] Fix | Delete
[19290] Fix | Delete
$found_submenu_item = false;
[19291] Fix | Delete
[19292] Fix | Delete
foreach ( $top_level_menu as $submenu_id => $meta ) {
[19293] Fix | Delete
if ( $found_submenu_item ) {
[19294] Fix | Delete
// Remove all submenu items after the plugin's submenu item.
[19295] Fix | Delete
$all_submenu_items_after[] = $meta;
[19296] Fix | Delete
unset( $top_level_menu[ $submenu_id ] );
[19297] Fix | Delete
}
[19298] Fix | Delete
[19299] Fix | Delete
if ( $this->_menu->get_raw_slug() === $meta[2] ) {
[19300] Fix | Delete
// Found the submenu item, put all below.
[19301] Fix | Delete
$found_submenu_item = true;
[19302] Fix | Delete
continue;
[19303] Fix | Delete
}
[19304] Fix | Delete
}
[19305] Fix | Delete
[19306] Fix | Delete
// Embed all plugin's new submenu items.
[19307] Fix | Delete
$this->embed_submenu_items();
[19308] Fix | Delete
[19309] Fix | Delete
// Start with specially high number to make sure it's appended.
[19310] Fix | Delete
$i = max( 10000, max( array_keys( $top_level_menu ) ) + 1 );
[19311] Fix | Delete
foreach ( $all_submenu_items_after as $meta ) {
[19312] Fix | Delete
$top_level_menu[ $i ] = $meta;
[19313] Fix | Delete
$i ++;
[19314] Fix | Delete
}
[19315] Fix | Delete
[19316] Fix | Delete
// Sort submenu items.
[19317] Fix | Delete
ksort( $top_level_menu );
[19318] Fix | Delete
}
[19319] Fix | Delete
[19320] Fix | Delete
/**
[19321] Fix | Delete
* Helper method to return the module's support forum URL.
[19322] Fix | Delete
*
[19323] Fix | Delete
* @author Vova Feldman (@svovaf)
[19324] Fix | Delete
* @since 1.2.2.7
[19325] Fix | Delete
*
[19326] Fix | Delete
* @return string
[19327] Fix | Delete
*/
[19328] Fix | Delete
function get_support_forum_url() {
[19329] Fix | Delete
return $this->apply_filters( 'support_forum_url', "https://wordpress.org/support/{$this->_module_type}/{$this->_slug}" );
[19330] Fix | Delete
}
[19331] Fix | Delete
[19332] Fix | Delete
/**
[19333] Fix | Delete
* Displays the Support Forum link when enabled.
[19334] Fix | Delete
*
[19335] Fix | Delete
* Can be filtered like so:
[19336] Fix | Delete
*
[19337] Fix | Delete
* function _fs_show_support_menu( $is_visible, $menu_id ) {
[19338] Fix | Delete
* if ( 'support' === $menu_id ) {
[19339] Fix | Delete
* return _fs->is_registered();
[19340] Fix | Delete
* }
[19341] Fix | Delete
* return $is_visible;
[19342] Fix | Delete
* }
[19343] Fix | Delete
* _fs()->add_filter('is_submenu_visible', '_fs_show_support_menu', 10, 2);
[19344] Fix | Delete
*
[19345] Fix | Delete
*/
[19346] Fix | Delete
function _add_default_submenu_items() {
[19347] Fix | Delete
if ( ! $this->is_on() ) {
[19348] Fix | Delete
return;
[19349] Fix | Delete
}
[19350] Fix | Delete
[19351] Fix | Delete
if ( ! $this->is_activation_mode() &&
[19352] Fix | Delete
( ( $this->_is_network_active && fs_is_network_admin() ) ||
[19353] Fix | Delete
( ! $this->_is_network_active && is_admin() ) )
[19354] Fix | Delete
) {
[19355] Fix | Delete
$this->add_submenu_link_item(
[19356] Fix | Delete
$this->apply_filters( 'support_forum_submenu', $this->get_text_inline( 'Support Forum', 'support-forum' ) ),
[19357] Fix | Delete
$this->get_support_forum_url(),
[19358] Fix | Delete
'wp-support-forum',
[19359] Fix | Delete
null,
[19360] Fix | Delete
50,
[19361] Fix | Delete
$this->is_submenu_item_visible( 'support' )
[19362] Fix | Delete
);
[19363] Fix | Delete
}
[19364] Fix | Delete
}
[19365] Fix | Delete
[19366] Fix | Delete
/**
[19367] Fix | Delete
* @author Vova Feldman (@svovaf)
[19368] Fix | Delete
* @since 1.0.1
[19369] Fix | Delete
*
[19370] Fix | Delete
* @param string $menu_title
[19371] Fix | Delete
* @param callable $render_function
[19372] Fix | Delete
* @param bool|string $page_title
[19373] Fix | Delete
* @param string $capability
[19374] Fix | Delete
* @param bool|string $menu_slug
[19375] Fix | Delete
* @param bool|callable $before_render_function
[19376] Fix | Delete
* @param int $priority
[19377] Fix | Delete
* @param bool $show_submenu
[19378] Fix | Delete
* @param string $class Since 1.2.1.5 can add custom classes to menu items.
[19379] Fix | Delete
*/
[19380] Fix | Delete
function add_submenu_item(
[19381] Fix | Delete
$menu_title,
[19382] Fix | Delete
$render_function,
[19383] Fix | Delete
$page_title = false,
[19384] Fix | Delete
$capability = 'manage_options',
[19385] Fix | Delete
$menu_slug = false,
[19386] Fix | Delete
$before_render_function = false,
[19387] Fix | Delete
$priority = WP_FS__DEFAULT_PRIORITY,
[19388] Fix | Delete
$show_submenu = true,
[19389] Fix | Delete
$class = ''
[19390] Fix | Delete
) {
[19391] Fix | Delete
$this->_logger->entrance( 'Title = ' . $menu_title );
[19392] Fix | Delete
[19393] Fix | Delete
if ( $this->is_addon() ) {
[19394] Fix | Delete
$parent_fs = $this->get_parent_instance();
[19395] Fix | Delete
[19396] Fix | Delete
if ( is_object( $parent_fs ) ) {
[19397] Fix | Delete
$parent_fs->add_submenu_item(
[19398] Fix | Delete
$menu_title,
[19399] Fix | Delete
$render_function,
[19400] Fix | Delete
$page_title,
[19401] Fix | Delete
$capability,
[19402] Fix | Delete
$menu_slug,
[19403] Fix | Delete
$before_render_function,
[19404] Fix | Delete
$priority,
[19405] Fix | Delete
$show_submenu,
[19406] Fix | Delete
$class
[19407] Fix | Delete
);
[19408] Fix | Delete
[19409] Fix | Delete
return;
[19410] Fix | Delete
}
[19411] Fix | Delete
}
[19412] Fix | Delete
[19413] Fix | Delete
if ( ! isset( $this->_menu_items[ $priority ] ) ) {
[19414] Fix | Delete
$this->_menu_items[ $priority ] = array();
[19415] Fix | Delete
}
[19416] Fix | Delete
[19417] Fix | Delete
$this->_menu_items[ $priority ][] = array(
[19418] Fix | Delete
'page_title' => is_string( $page_title ) ? $page_title : $menu_title,
[19419] Fix | Delete
'menu_title' => $menu_title,
[19420] Fix | Delete
'capability' => $capability,
[19421] Fix | Delete
'menu_slug' => is_string( $menu_slug ) ? $menu_slug : strtolower( $menu_title ),
[19422] Fix | Delete
'render_function' => $render_function,
[19423] Fix | Delete
'before_render_function' => $before_render_function,
[19424] Fix | Delete
'show_submenu' => $show_submenu,
[19425] Fix | Delete
'class' => $class,
[19426] Fix | Delete
);
[19427] Fix | Delete
}
[19428] Fix | Delete
[19429] Fix | Delete
/**
[19430] Fix | Delete
* @author Vova Feldman (@svovaf)
[19431] Fix | Delete
* @since 1.0.1
[19432] Fix | Delete
*
[19433] Fix | Delete
* @param string $menu_title
[19434] Fix | Delete
* @param string $url
[19435] Fix | Delete
* @param bool $menu_slug
[19436] Fix | Delete
* @param string $capability
[19437] Fix | Delete
* @param int $priority
[19438] Fix | Delete
* @param bool $show_submenu
[19439] Fix | Delete
*/
[19440] Fix | Delete
function add_submenu_link_item(
[19441] Fix | Delete
$menu_title,
[19442] Fix | Delete
$url,
[19443] Fix | Delete
$menu_slug = false,
[19444] Fix | Delete
$capability = 'read',
[19445] Fix | Delete
$priority = WP_FS__DEFAULT_PRIORITY,
[19446] Fix | Delete
$show_submenu = true
[19447] Fix | Delete
) {
[19448] Fix | Delete
$this->_logger->entrance( 'Title = ' . $menu_title . '; Url = ' . $url );
[19449] Fix | Delete
[19450] Fix | Delete
if ( $this->is_addon() ) {
[19451] Fix | Delete
$parent_fs = $this->get_parent_instance();
[19452] Fix | Delete
[19453] Fix | Delete
if ( is_object( $parent_fs ) ) {
[19454] Fix | Delete
$parent_fs->add_submenu_link_item(
[19455] Fix | Delete
$menu_title,
[19456] Fix | Delete
$url,
[19457] Fix | Delete
$menu_slug,
[19458] Fix | Delete
$capability,
[19459] Fix | Delete
$priority,
[19460] Fix | Delete
$show_submenu
[19461] Fix | Delete
);
[19462] Fix | Delete
[19463] Fix | Delete
return;
[19464] Fix | Delete
}
[19465] Fix | Delete
}
[19466] Fix | Delete
[19467] Fix | Delete
if ( ! isset( $this->_menu_items[ $priority ] ) ) {
[19468] Fix | Delete
$this->_menu_items[ $priority ] = array();
[19469] Fix | Delete
}
[19470] Fix | Delete
[19471] Fix | Delete
$this->_menu_items[ $priority ][] = array(
[19472] Fix | Delete
'menu_title' => $menu_title,
[19473] Fix | Delete
'capability' => $capability,
[19474] Fix | Delete
'menu_slug' => is_string( $menu_slug ) ? $menu_slug : strtolower( $menu_title ),
[19475] Fix | Delete
'url' => $url,
[19476] Fix | Delete
'page_title' => $menu_title,
[19477] Fix | Delete
'render_function' => 'fs_dummy',
[19478] Fix | Delete
'before_render_function' => '',
[19479] Fix | Delete
'show_submenu' => $show_submenu,
[19480] Fix | Delete
);
[19481] Fix | Delete
}
[19482] Fix | Delete
[19483] Fix | Delete
#endregion ------------------------------------------------------------------
[19484] Fix | Delete
[19485] Fix | Delete
#--------------------------------------------------------------------------------
[19486] Fix | Delete
#region Admin Notices
[19487] Fix | Delete
#--------------------------------------------------------------------------------
[19488] Fix | Delete
[19489] Fix | Delete
/**
[19490] Fix | Delete
* @author Vova Feldman (@svovaf)
[19491] Fix | Delete
* @since 2.3.1
[19492] Fix | Delete
*
[19493] Fix | Delete
* @param string|string[] $ids
[19494] Fix | Delete
* @param int|null $network_level_or_blog_id
[19495] Fix | Delete
*
[19496] Fix | Delete
* @uses FS_Admin_Notices::remove_sticky()
[19497] Fix | Delete
*/
[19498] Fix | Delete
function remove_sticky( $ids, $network_level_or_blog_id = null ) {
[19499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function