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
/home/sportsfe.../httpdocs/wp-conte.../plugins/popup-ma.../trunk/classes
File: Upsell.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Class for Upsell
[2] Fix | Delete
*
[3] Fix | Delete
* @package PUM
[4] Fix | Delete
* @copyright Copyright (c) 2023, Code Atlantic LLC
[5] Fix | Delete
*/
[6] Fix | Delete
[7] Fix | Delete
/**
[8] Fix | Delete
* Handles displaying promotional text throughout plugin UI
[9] Fix | Delete
*/
[10] Fix | Delete
class PUM_Upsell {
[11] Fix | Delete
[12] Fix | Delete
/**
[13] Fix | Delete
* Hooks any needed methods
[14] Fix | Delete
*/
[15] Fix | Delete
public static function init() {
[16] Fix | Delete
add_filter( 'views_edit-popup', [ __CLASS__, 'addon_tabs' ], 10, 1 );
[17] Fix | Delete
add_filter( 'views_edit-popup_theme', [ __CLASS__, 'addon_tabs' ], 10, 1 );
[18] Fix | Delete
add_filter( 'pum_popup_settings_fields', [ __CLASS__, 'popup_promotional_fields' ] );
[19] Fix | Delete
add_filter( 'pum_theme_settings_fields', [ __CLASS__, 'theme_promotional_fields' ] );
[20] Fix | Delete
add_action( 'in_admin_header', [ __CLASS__, 'notice_bar_display' ] );
[21] Fix | Delete
}
[22] Fix | Delete
[23] Fix | Delete
/**
[24] Fix | Delete
* Adds a small notice bar in PM admin areas when not using any extensions
[25] Fix | Delete
*
[26] Fix | Delete
* @since 1.14.0
[27] Fix | Delete
*/
[28] Fix | Delete
public static function notice_bar_display() {
[29] Fix | Delete
if ( pum_is_all_popups_page() && 0 === count( pum_enabled_extensions() ) ) {
[30] Fix | Delete
$message = sprintf(
[31] Fix | Delete
/* translators: %s - Wraps ending in link to pricing page. */
[32] Fix | Delete
esc_html__( 'You are using the free version of Popup Maker. To get even more value, consider %1$supgrading to our premium plans%2$s.', 'popup-maker' ),
[33] Fix | Delete
'<a href="https://wppopupmaker.com/pricing/?utm_source=upsell-notice-bar&utm_medium=text-link&utm_campaign=upsell" target="_blank" rel="noopener noreferrer">',
[34] Fix | Delete
'</a>'
[35] Fix | Delete
);
[36] Fix | Delete
?>
[37] Fix | Delete
<div class="pum-notice-bar-wrapper">
[38] Fix | Delete
<div class="pum-notice-bar">
[39] Fix | Delete
<span class="pum-notice-bar-message">
[40] Fix | Delete
<?php
[41] Fix | Delete
echo wp_kses(
[42] Fix | Delete
$message,
[43] Fix | Delete
[
[44] Fix | Delete
'a' => [
[45] Fix | Delete
'href' => [],
[46] Fix | Delete
'rel' => [],
[47] Fix | Delete
'target' => [],
[48] Fix | Delete
],
[49] Fix | Delete
]
[50] Fix | Delete
);
[51] Fix | Delete
?>
[52] Fix | Delete
</span>
[53] Fix | Delete
</div>
[54] Fix | Delete
</div>
[55] Fix | Delete
<?php
[56] Fix | Delete
}
[57] Fix | Delete
}
[58] Fix | Delete
[59] Fix | Delete
/**
[60] Fix | Delete
* Adds messages throughout Popup Settings UI
[61] Fix | Delete
*
[62] Fix | Delete
* @param array $tabs The tabs/fields for popup settings.
[63] Fix | Delete
* @return array
[64] Fix | Delete
*/
[65] Fix | Delete
public static function popup_promotional_fields( $tabs = [] ) {
[66] Fix | Delete
if ( ! pum_extension_enabled( 'forced-interaction' ) ) {
[67] Fix | Delete
/* translators: %s url to product page. */
[68] Fix | Delete
$message = sprintf( __( 'Want to disable the close button? Check out <a href="%s" target="_blank">Forced Interaction</a>!', 'popup-maker' ), 'https://wppopupmaker.com/extensions/forced-interaction/?utm_source=plugin-theme-editor&utm_medium=text-link&utm_campaign=upsell&utm_content=close-button-settings' );
[69] Fix | Delete
[70] Fix | Delete
$tabs['close']['button']['fi_promotion'] = $tabs['close']['forms']['fi_promotion'] = $tabs['close']['alternate_methods']['fi_promotion'] = [
[71] Fix | Delete
'type' => 'html',
[72] Fix | Delete
'content' => '<img src="' . pum_asset_url( 'images/upsell-icon-forced-interaction.png' ) . '" />' . $message,
[73] Fix | Delete
'priority' => 999,
[74] Fix | Delete
'class' => 'pum-upgrade-tip',
[75] Fix | Delete
];
[76] Fix | Delete
}
[77] Fix | Delete
[78] Fix | Delete
if ( ! pum_extension_enabled( 'advanced-targeting-conditions' ) ) {
[79] Fix | Delete
/* translators: %s url to product page. */
[80] Fix | Delete
$message = sprintf( __( 'Need more <a href="%s" target="_blank">advanced targeting</a> options?', 'popup-maker' ), 'https://wppopupmaker.com/extensions/advanced-targeting-conditions/?utm_campaign=upsell&utm_source=plugin-popup-editor&utm_medium=text-link&utm_content=conditions-editor' );
[81] Fix | Delete
[82] Fix | Delete
$tabs['targeting']['main']['atc_promotion'] = [
[83] Fix | Delete
'type' => 'html',
[84] Fix | Delete
'content' => '<img src="' . pum_asset_url( 'images/logo.png' ) . '" height="28" />' . $message,
[85] Fix | Delete
'priority' => 999,
[86] Fix | Delete
'class' => 'pum-upgrade-tip',
[87] Fix | Delete
];
[88] Fix | Delete
}
[89] Fix | Delete
[90] Fix | Delete
return $tabs;
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
/**
[94] Fix | Delete
* Adds messages throughout Popup Theme UI
[95] Fix | Delete
*
[96] Fix | Delete
* @param array $tabs The tabs/fields for popup theme.
[97] Fix | Delete
* @return array
[98] Fix | Delete
*/
[99] Fix | Delete
public static function theme_promotional_fields( $tabs = [] ) {
[100] Fix | Delete
[101] Fix | Delete
if ( ! pum_extension_enabled( 'advanced-theme-builder' ) && ! class_exists( 'PUM_ATB' ) ) {
[102] Fix | Delete
foreach ( [ 'overlay', 'container', 'close' ] as $tab ) {
[103] Fix | Delete
/* translators: %s url to product page. */
[104] Fix | Delete
$message = __( 'Want to use <a href="%s" target="_blank">background images</a>?', 'popup-maker' );
[105] Fix | Delete
[106] Fix | Delete
$tabs[ $tab ]['background']['atc_promotion'] = [
[107] Fix | Delete
'type' => 'html',
[108] Fix | Delete
'content' => '<img src="' . pum_asset_url( 'images/upsell-icon-advanted-theme-builder.png' ) . '" height="28" />' . sprintf( $message, 'https://wppopupmaker.com/extensions/advanced-theme-builder/?utm_campaign=upsell&utm_source=plugin-theme-editor&utm_medium=text-link&utm_content=' . $tab . '-settings' ),
[109] Fix | Delete
'priority' => 999,
[110] Fix | Delete
'class' => 'pum-upgrade-tip',
[111] Fix | Delete
];
[112] Fix | Delete
}
[113] Fix | Delete
}
[114] Fix | Delete
[115] Fix | Delete
return $tabs;
[116] Fix | Delete
}
[117] Fix | Delete
[118] Fix | Delete
/**
[119] Fix | Delete
* When the Popup or Popup Theme list table loads, call the function to view our tabs.
[120] Fix | Delete
*
[121] Fix | Delete
* @since 1.8.0
[122] Fix | Delete
* @param array $views An array of available list table views.
[123] Fix | Delete
* @return mixed
[124] Fix | Delete
*/
[125] Fix | Delete
public static function addon_tabs( $views ) {
[126] Fix | Delete
self::display_addon_tabs();
[127] Fix | Delete
[128] Fix | Delete
return $views;
[129] Fix | Delete
}
[130] Fix | Delete
[131] Fix | Delete
/**
[132] Fix | Delete
* Displays the tabs for 'Popups', 'Popup Themes' and 'Extensions and Integrations'
[133] Fix | Delete
*
[134] Fix | Delete
* @since 1.8.0
[135] Fix | Delete
*/
[136] Fix | Delete
public static function display_addon_tabs() {
[137] Fix | Delete
[138] Fix | Delete
$popup_labels = PUM_Types::post_type_labels( __( 'Popup', 'popup-maker' ), __( 'Popups', 'popup-maker' ) );
[139] Fix | Delete
$theme_labels = PUM_Types::post_type_labels( __( 'Popup Theme', 'popup-maker' ), __( 'Popup Themes', 'popup-maker' ) );
[140] Fix | Delete
[141] Fix | Delete
?>
[142] Fix | Delete
<style>
[143] Fix | Delete
.wrap h1.wp-heading-inline + a.page-title-action {
[144] Fix | Delete
display: none;
[145] Fix | Delete
}
[146] Fix | Delete
[147] Fix | Delete
.edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action, .edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action, .popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action {
[148] Fix | Delete
top: 7px;
[149] Fix | Delete
margin-left: 5px
[150] Fix | Delete
}
[151] Fix | Delete
[152] Fix | Delete
@media only screen and (min-width: 0px) and (max-width: 783px) {
[153] Fix | Delete
.edit-php.post-type-popup .wrap .nav-tab-wrapper .page-title-action, .edit-php.post-type-popup_theme .wrap .nav-tab-wrapper .page-title-action, .popup_page_pum-extensions .wrap .nav-tab-wrapper .page-title-action {
[154] Fix | Delete
display: none !important
[155] Fix | Delete
}
[156] Fix | Delete
}
[157] Fix | Delete
</style>
[158] Fix | Delete
<nav class="nav-tab-wrapper">
[159] Fix | Delete
<?php
[160] Fix | Delete
$tabs = [
[161] Fix | Delete
'popups' => [
[162] Fix | Delete
'name' => esc_html( $popup_labels['name'] ),
[163] Fix | Delete
'url' => admin_url( 'edit.php?post_type=popup' ),
[164] Fix | Delete
],
[165] Fix | Delete
'themes' => [
[166] Fix | Delete
'name' => esc_html( $theme_labels['name'] ),
[167] Fix | Delete
'url' => admin_url( 'edit.php?post_type=popup_theme' ),
[168] Fix | Delete
],
[169] Fix | Delete
'integrations' => [
[170] Fix | Delete
'name' => esc_html__( 'Upgrade', 'popup-maker' ),
[171] Fix | Delete
'url' => admin_url( 'edit.php?post_type=popup&page=pum-extensions&view=integrations' ),
[172] Fix | Delete
],
[173] Fix | Delete
];
[174] Fix | Delete
[175] Fix | Delete
$tabs = apply_filters( 'pum_add_ons_tabs', $tabs );
[176] Fix | Delete
[177] Fix | Delete
$active_tab = false;
[178] Fix | Delete
[179] Fix | Delete
// Calculate which tab is currently active.
[180] Fix | Delete
if ( isset( $_GET['page'] ) && 'pum-extensions' === $_GET['page'] ) {
[181] Fix | Delete
$active_tab = 'integrations';
[182] Fix | Delete
} elseif ( ! isset( $_GET['page'] ) && isset( $_GET['post_type'] ) ) {
[183] Fix | Delete
switch ( $_GET['post_type'] ) {
[184] Fix | Delete
case 'popup':
[185] Fix | Delete
$active_tab = 'popups';
[186] Fix | Delete
break;
[187] Fix | Delete
case 'popup_theme':
[188] Fix | Delete
$active_tab = 'themes';
[189] Fix | Delete
break;
[190] Fix | Delete
}
[191] Fix | Delete
}
[192] Fix | Delete
[193] Fix | Delete
// Add each tab, marking the current one as active.
[194] Fix | Delete
foreach ( $tabs as $tab_id => $tab ) {
[195] Fix | Delete
$active = $active_tab === $tab_id ? ' nav-tab-active' : '';
[196] Fix | Delete
?>
[197] Fix | Delete
<a href="<?php echo esc_url( $tab['url'] ); ?>" class="nav-tab<?php echo esc_attr( $active ); ?>">
[198] Fix | Delete
<?php echo $tab['name']; ?>
[199] Fix | Delete
</a>
[200] Fix | Delete
<?php
[201] Fix | Delete
}
[202] Fix | Delete
?>
[203] Fix | Delete
[204] Fix | Delete
<a href="<?php echo esc_url( admin_url( 'post-new.php?post_type=popup' ) ); ?>" class="page-title-action">
[205] Fix | Delete
<?php echo esc_html( $popup_labels['add_new_item'] ); ?>
[206] Fix | Delete
</a>
[207] Fix | Delete
[208] Fix | Delete
<a href="<?php echo esc_url( admin_url( 'post-new.php?post_type=popup_theme' ) ); ?>" class="page-title-action">
[209] Fix | Delete
<?php echo esc_html( $theme_labels['add_new_item'] ); ?>
[210] Fix | Delete
</a>
[211] Fix | Delete
</nav>
[212] Fix | Delete
<?php
[213] Fix | Delete
}
[214] Fix | Delete
[215] Fix | Delete
}
[216] Fix | Delete
[217] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function