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/clone/wp-conte.../plugins/popup-ma.../trunk/classes/Admin
File: Popups.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Class for Admin Popups
[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
if ( ! defined( 'ABSPATH' ) ) {
[8] Fix | Delete
exit;
[9] Fix | Delete
}
[10] Fix | Delete
[11] Fix | Delete
/**
[12] Fix | Delete
* Class PUM_Admin_Popups
[13] Fix | Delete
*
[14] Fix | Delete
* @since 1.7.0
[15] Fix | Delete
*/
[16] Fix | Delete
class PUM_Admin_Popups {
[17] Fix | Delete
[18] Fix | Delete
/**
[19] Fix | Delete
* Hook the initialize method to the WP init action.
[20] Fix | Delete
*/
[21] Fix | Delete
public static function init() {
[22] Fix | Delete
[23] Fix | Delete
// Adds ID to top of popup editor.
[24] Fix | Delete
add_action( 'edit_form_top', [ __CLASS__, 'add_popup_id' ] );
[25] Fix | Delete
[26] Fix | Delete
// Change title to popup name.
[27] Fix | Delete
add_filter( 'enter_title_here', [ __CLASS__, '_default_title' ] );
[28] Fix | Delete
[29] Fix | Delete
// Add popup title field.
[30] Fix | Delete
add_action( 'edit_form_advanced', [ __CLASS__, 'title_meta_field' ] );
[31] Fix | Delete
[32] Fix | Delete
// Add Contextual help to post_name field.
[33] Fix | Delete
add_action( 'edit_form_before_permalink', [ __CLASS__, 'popup_post_title_contextual_message' ] );
[34] Fix | Delete
[35] Fix | Delete
// Register Metaboxes.
[36] Fix | Delete
add_action( 'add_meta_boxes', [ __CLASS__, 'meta_box' ] );
[37] Fix | Delete
[38] Fix | Delete
// Process meta saving.
[39] Fix | Delete
add_action( 'save_post', [ __CLASS__, 'save' ], 10, 2 );
[40] Fix | Delete
[41] Fix | Delete
// Set the slug properly on save.
[42] Fix | Delete
add_filter( 'wp_insert_post_data', [ __CLASS__, 'set_slug' ], 99, 2 );
[43] Fix | Delete
[44] Fix | Delete
// Dashboard columns & filters.
[45] Fix | Delete
add_filter( 'manage_edit-popup_columns', [ __CLASS__, 'dashboard_columns' ] );
[46] Fix | Delete
add_action( 'manage_posts_custom_column', [ __CLASS__, 'render_columns' ], 10, 2 );
[47] Fix | Delete
add_filter( 'manage_edit-popup_sortable_columns', [ __CLASS__, 'sortable_columns' ] );
[48] Fix | Delete
add_filter( 'default_hidden_columns', [ __CLASS__, 'hide_columns' ], 10, 2 );
[49] Fix | Delete
add_action( 'load-edit.php', [ __CLASS__, 'load' ], 9999 );
[50] Fix | Delete
add_action( 'restrict_manage_posts', [ __CLASS__, 'add_popup_filters' ], 100 );
[51] Fix | Delete
add_filter( 'post_row_actions', [ __CLASS__, 'add_id_row_actions' ], 2, 100 );
[52] Fix | Delete
[53] Fix | Delete
add_action( 'post_submitbox_misc_actions', [ __CLASS__, 'add_enabled_toggle_editor' ], 10, 1 );
[54] Fix | Delete
}
[55] Fix | Delete
[56] Fix | Delete
/**
[57] Fix | Delete
* Adds our enabled state toggle to the "Publish" meta box.
[58] Fix | Delete
*
[59] Fix | Delete
* @since 1.12
[60] Fix | Delete
* @param WP_POST $post The current post (i.e. the popup).
[61] Fix | Delete
*/
[62] Fix | Delete
public static function add_enabled_toggle_editor( $post ) {
[63] Fix | Delete
if ( 'publish' !== $post->post_status || 'popup' !== $post->post_type ) {
[64] Fix | Delete
return;
[65] Fix | Delete
}
[66] Fix | Delete
$popup = pum_get_popup( $post->ID );
[67] Fix | Delete
$enabled = $popup->is_enabled();
[68] Fix | Delete
$nonce = wp_create_nonce( "pum_save_enabled_state_{$popup->ID}" );
[69] Fix | Delete
?>
[70] Fix | Delete
<div class="misc-pub-section" style="display:flex;">
[71] Fix | Delete
<span style="font-weight: bold; margin-right: 10px;">Popup Enabled </span>
[72] Fix | Delete
<div class="pum-toggle-button">
[73] Fix | Delete
<input id="pum-enabled-toggle-<?php echo esc_attr( $popup->ID ); ?>" type="checkbox" <?php checked( true, $enabled ); ?> class="pum-enabled-toggle-button" data-nonce="<?php echo esc_attr( $nonce ); ?>" data-popup-id="<?php echo esc_attr( $popup->ID ); ?>">
[74] Fix | Delete
<label for="pum-enabled-toggle-<?php echo esc_attr( $popup->ID ); ?>" aria-label="Switch to enable popup"></label>
[75] Fix | Delete
</div>
[76] Fix | Delete
</div>
[77] Fix | Delete
[78] Fix | Delete
<?php
[79] Fix | Delete
}
[80] Fix | Delete
[81] Fix | Delete
/**
[82] Fix | Delete
* Adds the Popup ID right under the "Edit Popup" heading
[83] Fix | Delete
*
[84] Fix | Delete
* @param WP_Post $post Post object.
[85] Fix | Delete
* @since 1.12.0
[86] Fix | Delete
*/
[87] Fix | Delete
public static function add_popup_id( $post ) {
[88] Fix | Delete
if ( 'popup' === $post->post_type ) {
[89] Fix | Delete
?>
[90] Fix | Delete
<p style="margin:0;font-size:12px;">ID: <span id="popup-id" data-popup-id="<?php echo esc_attr( $post->ID ); ?>"><?php echo esc_html( $post->ID ); ?></span></p>
[91] Fix | Delete
<?php
[92] Fix | Delete
}
[93] Fix | Delete
}
[94] Fix | Delete
[95] Fix | Delete
/**
[96] Fix | Delete
* Change default "Enter title here" input
[97] Fix | Delete
*
[98] Fix | Delete
* @param string $title Default title placeholder text.
[99] Fix | Delete
* @return string $title New placeholder text
[100] Fix | Delete
*/
[101] Fix | Delete
public static function _default_title( $title ) {
[102] Fix | Delete
[103] Fix | Delete
if ( ! is_admin() ) {
[104] Fix | Delete
return $title;
[105] Fix | Delete
}
[106] Fix | Delete
[107] Fix | Delete
$screen = get_current_screen();
[108] Fix | Delete
[109] Fix | Delete
if ( 'popup_theme' === $screen->post_type ) {
[110] Fix | Delete
$label = 'popup' === $screen->post_type ? __( 'Popup', 'popup-maker' ) : __( 'Popup Theme', 'popup-maker' );
[111] Fix | Delete
$title = sprintf( '%s Name', $label );
[112] Fix | Delete
}
[113] Fix | Delete
[114] Fix | Delete
if ( 'popup' === $screen->post_type ) {
[115] Fix | Delete
$title = __( 'Popup Name', 'popup-maker' );
[116] Fix | Delete
}
[117] Fix | Delete
[118] Fix | Delete
return $title;
[119] Fix | Delete
}
[120] Fix | Delete
[121] Fix | Delete
/**
[122] Fix | Delete
* Renders the popup title meta field.
[123] Fix | Delete
*/
[124] Fix | Delete
public static function title_meta_field() {
[125] Fix | Delete
global $post, $pagenow, $typenow;
[126] Fix | Delete
[127] Fix | Delete
if ( has_blocks( $post ) || ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( $post ) ) ) {
[128] Fix | Delete
return;
[129] Fix | Delete
}
[130] Fix | Delete
[131] Fix | Delete
if ( ! is_admin() ) {
[132] Fix | Delete
return;
[133] Fix | Delete
}
[134] Fix | Delete
[135] Fix | Delete
if ( 'popup' === $typenow && in_array( $pagenow, [ 'post-new.php', 'post.php' ] ) ) {
[136] Fix | Delete
?>
[137] Fix | Delete
[138] Fix | Delete
<div id="popup-titlediv" class="pum-form">
[139] Fix | Delete
<div id="popup-titlewrap">
[140] Fix | Delete
<label class="screen-reader-text" id="popup-title-prompt-text" for="popup-title">
[141] Fix | Delete
<?php esc_html_e( 'Popup Title', 'popup-maker' ); ?>
[142] Fix | Delete
</label>
[143] Fix | Delete
<input tabindex="2" name="popup_title" size="30" value="<?php echo esc_attr( get_post_meta( $post->ID, 'popup_title', true ) ); ?>" id="popup-title" autocomplete="off" placeholder="<?php esc_html_e( 'Popup Title', 'popup-maker' ); ?>" />
[144] Fix | Delete
<p class="pum-desc"><?php echo '(' . esc_html__( 'Optional', 'popup-maker' ) . ') ' . esc_html__( 'Shown as headline inside the popup. Can be left blank.', 'popup-maker' ); ?></p>
[145] Fix | Delete
</div>
[146] Fix | Delete
<div class="inside"></div>
[147] Fix | Delete
</div>
[148] Fix | Delete
<script>jQuery('#popup-titlediv').insertAfter('#titlediv');</script>
[149] Fix | Delete
<?php
[150] Fix | Delete
}
[151] Fix | Delete
}
[152] Fix | Delete
[153] Fix | Delete
/**
[154] Fix | Delete
* Renders contextual help for title.
[155] Fix | Delete
*/
[156] Fix | Delete
public static function popup_post_title_contextual_message() {
[157] Fix | Delete
global $post, $pagenow, $typenow;
[158] Fix | Delete
[159] Fix | Delete
if ( has_blocks( $post ) || ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( $post ) ) ) {
[160] Fix | Delete
return;
[161] Fix | Delete
}
[162] Fix | Delete
[163] Fix | Delete
if ( ! is_admin() ) {
[164] Fix | Delete
return;
[165] Fix | Delete
}
[166] Fix | Delete
[167] Fix | Delete
if ( 'popup' === $typenow && in_array( $pagenow, [ 'post-new.php', 'post.php' ] ) ) {
[168] Fix | Delete
?>
[169] Fix | Delete
<p class="pum-desc"><?php echo '(' . esc_html__( 'Required', 'popup-maker' ) . ') ' . esc_html__( 'Enter a name to help you remember what this popup is about. Only you will see this.', 'popup-maker' ); ?></p>
[170] Fix | Delete
<?php
[171] Fix | Delete
}
[172] Fix | Delete
}
[173] Fix | Delete
[174] Fix | Delete
/**
[175] Fix | Delete
* Registers popup metaboxes.
[176] Fix | Delete
*/
[177] Fix | Delete
public static function meta_box() {
[178] Fix | Delete
add_meta_box( 'pum_popup_settings', __( 'Popup Settings', 'popup-maker' ), [ __CLASS__, 'render_settings_meta_box' ], 'popup', 'normal', 'high' );
[179] Fix | Delete
add_meta_box( 'pum_popup_analytics', __( 'Analytics', 'popup-maker' ), [ __CLASS__, 'render_analytics_meta_box' ], 'popup', 'side', 'high' );
[180] Fix | Delete
}
[181] Fix | Delete
[182] Fix | Delete
/**
[183] Fix | Delete
* Ensures integrity of values.
[184] Fix | Delete
*
[185] Fix | Delete
* @param array $values Array of settings.
[186] Fix | Delete
* @return array
[187] Fix | Delete
*/
[188] Fix | Delete
public static function parse_values( $values = [] ) {
[189] Fix | Delete
$defaults = self::defaults();
[190] Fix | Delete
[191] Fix | Delete
if ( empty( $values ) ) {
[192] Fix | Delete
return $defaults;
[193] Fix | Delete
}
[194] Fix | Delete
[195] Fix | Delete
$values = self::fill_missing_defaults( $values );
[196] Fix | Delete
[197] Fix | Delete
return $values;
[198] Fix | Delete
}
[199] Fix | Delete
[200] Fix | Delete
/**
[201] Fix | Delete
* Render the settings meta box wrapper and JS vars.
[202] Fix | Delete
*/
[203] Fix | Delete
public static function render_settings_meta_box() {
[204] Fix | Delete
global $post;
[205] Fix | Delete
[206] Fix | Delete
$popup = pum_get_popup( $post->ID );
[207] Fix | Delete
[208] Fix | Delete
// Get the meta directly rather than from cached object.
[209] Fix | Delete
$settings = self::parse_values( $popup->get_settings() );
[210] Fix | Delete
[211] Fix | Delete
wp_nonce_field( basename( __FILE__ ), 'pum_popup_settings_nonce' );
[212] Fix | Delete
wp_enqueue_script( 'popup-maker-admin' );
[213] Fix | Delete
?>
[214] Fix | Delete
<script type="text/javascript">
[215] Fix | Delete
window.pum_popup_settings_editor =
[216] Fix | Delete
<?php
[217] Fix | Delete
echo PUM_Utils_Array::safe_json_encode(
[218] Fix | Delete
apply_filters(
[219] Fix | Delete
'pum_popup_settings_editor_var',
[220] Fix | Delete
[
[221] Fix | Delete
'form_args' => [
[222] Fix | Delete
'id' => 'pum-popup-settings',
[223] Fix | Delete
'tabs' => self::tabs(),
[224] Fix | Delete
'sections' => self::sections(),
[225] Fix | Delete
'fields' => self::fields(),
[226] Fix | Delete
],
[227] Fix | Delete
'conditions' => PUM_Conditions::instance()->get_conditions(),
[228] Fix | Delete
'conditions_selectlist' => PUM_Conditions::instance()->dropdown_list(),
[229] Fix | Delete
'triggers' => PUM_Triggers::instance()->get_triggers(),
[230] Fix | Delete
'cookies' => PUM_Cookies::instance()->get_cookies(),
[231] Fix | Delete
'current_values' => self::render_form_values( $settings ),
[232] Fix | Delete
'preview_nonce' => wp_create_nonce( 'popup-preview' ),
[233] Fix | Delete
]
[234] Fix | Delete
)
[235] Fix | Delete
);
[236] Fix | Delete
?>
[237] Fix | Delete
;
[238] Fix | Delete
</script>
[239] Fix | Delete
[240] Fix | Delete
<div id="pum-popup-settings-container" class="pum-popup-settings-container">
[241] Fix | Delete
<div class="pum-no-js" style="padding: 0 12px;">
[242] Fix | Delete
<p><?php printf( esc_html__( 'If you are seeing this, the page is still loading or there are Javascript errors on this page. %1$sView troubleshooting guide%2$s', 'popup-maker' ), '<a href="https://docs.wppopupmaker.com/article/373-checking-for-javascript-errors" target="_blank">', '</a>' ); ?></p>
[243] Fix | Delete
</div>
[244] Fix | Delete
</div>
[245] Fix | Delete
<?php
[246] Fix | Delete
}
[247] Fix | Delete
[248] Fix | Delete
/**
[249] Fix | Delete
* Used to get deprecated fields for metabox saving of old extensions.
[250] Fix | Delete
*
[251] Fix | Delete
* @deprecated 1.7.0
[252] Fix | Delete
*
[253] Fix | Delete
* @return mixed
[254] Fix | Delete
*/
[255] Fix | Delete
public static function deprecated_meta_fields() {
[256] Fix | Delete
$fields = [];
[257] Fix | Delete
foreach ( self::deprecated_meta_field_groups() as $group ) {
[258] Fix | Delete
foreach ( apply_filters( 'popmake_popup_meta_field_group_' . $group, [] ) as $field ) {
[259] Fix | Delete
$fields[] = 'popup_' . $group . '_' . $field;
[260] Fix | Delete
}
[261] Fix | Delete
}
[262] Fix | Delete
[263] Fix | Delete
return apply_filters( 'popmake_popup_meta_fields', $fields );
[264] Fix | Delete
}
[265] Fix | Delete
[266] Fix | Delete
/**
[267] Fix | Delete
* Used to get field groups from extensions.
[268] Fix | Delete
*
[269] Fix | Delete
* @deprecated 1.7.0
[270] Fix | Delete
*
[271] Fix | Delete
* @return mixed
[272] Fix | Delete
*/
[273] Fix | Delete
public static function deprecated_meta_field_groups() {
[274] Fix | Delete
return apply_filters( 'popmake_popup_meta_field_groups', [ 'display', 'close' ] );
[275] Fix | Delete
}
[276] Fix | Delete
[277] Fix | Delete
/**
[278] Fix | Delete
* @param $post_id
[279] Fix | Delete
* @param $post
[280] Fix | Delete
*/
[281] Fix | Delete
public static function save( $post_id, $post ) {
[282] Fix | Delete
[283] Fix | Delete
if ( isset( $post->post_type ) && 'popup' !== $post->post_type ) {
[284] Fix | Delete
return;
[285] Fix | Delete
}
[286] Fix | Delete
[287] Fix | Delete
if ( ! isset( $_POST['pum_popup_settings_nonce'] ) || ! wp_verify_nonce( $_POST['pum_popup_settings_nonce'], basename( __FILE__ ) ) ) {
[288] Fix | Delete
return;
[289] Fix | Delete
}
[290] Fix | Delete
[291] Fix | Delete
if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
[292] Fix | Delete
return;
[293] Fix | Delete
}
[294] Fix | Delete
[295] Fix | Delete
if ( isset( $post->post_type ) && 'revision' === $post->post_type ) {
[296] Fix | Delete
return;
[297] Fix | Delete
}
[298] Fix | Delete
[299] Fix | Delete
if ( ! current_user_can( 'edit_post', $post_id ) ) {
[300] Fix | Delete
return;
[301] Fix | Delete
}
[302] Fix | Delete
[303] Fix | Delete
$popup = pum_get_popup( $post_id );
[304] Fix | Delete
[305] Fix | Delete
if ( isset( $_POST['popup_reset_counts'] ) ) {
[306] Fix | Delete
/**
[307] Fix | Delete
* Reset popup open count, per user request.
[308] Fix | Delete
*/
[309] Fix | Delete
$popup->reset_counts();
[310] Fix | Delete
}
[311] Fix | Delete
[312] Fix | Delete
$title = ! empty( $_POST['popup_title'] ) ? trim( sanitize_text_field( $_POST['popup_title'] ) ) : '';
[313] Fix | Delete
$popup->update_meta( 'popup_title', $title );
[314] Fix | Delete
[315] Fix | Delete
$settings = ! empty( $_POST['popup_settings'] ) ? $_POST['popup_settings'] : [];
[316] Fix | Delete
[317] Fix | Delete
// Sanitize JSON values.
[318] Fix | Delete
$settings['conditions'] = isset( $settings['conditions'] ) ? self::sanitize_meta( $settings['conditions'] ) : [];
[319] Fix | Delete
$settings['triggers'] = isset( $settings['triggers'] ) ? self::sanitize_meta( $settings['triggers'] ) : [];
[320] Fix | Delete
$settings['cookies'] = isset( $settings['cookies'] ) ? self::sanitize_meta( $settings['cookies'] ) : [];
[321] Fix | Delete
[322] Fix | Delete
$settings = apply_filters( 'pum_popup_setting_pre_save', $settings, $post->ID );
[323] Fix | Delete
[324] Fix | Delete
$settings = self::sanitize_settings( $settings );
[325] Fix | Delete
$settings = self::parse_values( $settings );
[326] Fix | Delete
[327] Fix | Delete
$popup->update_settings( $settings, false );
[328] Fix | Delete
[329] Fix | Delete
// TODO Remove this and all other code here. This should be clean and all code more compartmentalized.
[330] Fix | Delete
foreach ( self::deprecated_meta_fields() as $field ) {
[331] Fix | Delete
if ( isset( $_POST[ $field ] ) ) {
[332] Fix | Delete
$new = apply_filters( 'popmake_metabox_save_' . $field, $_POST[ $field ] );
[333] Fix | Delete
update_post_meta( $post_id, $field, $new );
[334] Fix | Delete
} else {
[335] Fix | Delete
delete_post_meta( $post_id, $field );
[336] Fix | Delete
}
[337] Fix | Delete
}
[338] Fix | Delete
[339] Fix | Delete
do_action( 'pum_save_popup', $post_id, $post );
[340] Fix | Delete
}
[341] Fix | Delete
[342] Fix | Delete
/**
[343] Fix | Delete
* Parse & prepare values for form rendering.
[344] Fix | Delete
*
[345] Fix | Delete
* Add additional data for license_key fields, split the measure fields etc.
[346] Fix | Delete
*
[347] Fix | Delete
* @param $settings
[348] Fix | Delete
*
[349] Fix | Delete
* @return mixed
[350] Fix | Delete
*/
[351] Fix | Delete
public static function render_form_values( $settings ) {
[352] Fix | Delete
foreach ( $settings as $key => $value ) {
[353] Fix | Delete
$field = self::get_field( $key );
[354] Fix | Delete
[355] Fix | Delete
if ( $field ) {
[356] Fix | Delete
switch ( $field['type'] ) {
[357] Fix | Delete
case 'measure':
[358] Fix | Delete
break;
[359] Fix | Delete
}
[360] Fix | Delete
}
[361] Fix | Delete
}
[362] Fix | Delete
[363] Fix | Delete
return $settings;
[364] Fix | Delete
}
[365] Fix | Delete
[366] Fix | Delete
/**
[367] Fix | Delete
* List of tabs & labels for the settings panel.
[368] Fix | Delete
*
[369] Fix | Delete
* @return array
[370] Fix | Delete
*/
[371] Fix | Delete
public static function tabs() {
[372] Fix | Delete
return apply_filters(
[373] Fix | Delete
'pum_popup_settings_tabs',
[374] Fix | Delete
[
[375] Fix | Delete
'general' => __( 'General', 'popup-maker' ),
[376] Fix | Delete
'display' => __( 'Display', 'popup-maker' ),
[377] Fix | Delete
'close' => __( 'Close', 'popup-maker' ),
[378] Fix | Delete
'triggers' => __( 'Triggers', 'popup-maker' ),
[379] Fix | Delete
'targeting' => __( 'Targeting', 'popup-maker' ),
[380] Fix | Delete
'advanced' => __( 'Advanced', 'popup-maker' ),
[381] Fix | Delete
]
[382] Fix | Delete
);
[383] Fix | Delete
}
[384] Fix | Delete
[385] Fix | Delete
/**
[386] Fix | Delete
* List of tabs & labels for the settings panel.
[387] Fix | Delete
*
[388] Fix | Delete
* @return array
[389] Fix | Delete
*/
[390] Fix | Delete
public static function sections() {
[391] Fix | Delete
return apply_filters(
[392] Fix | Delete
'pum_popup_settings_sections',
[393] Fix | Delete
[
[394] Fix | Delete
'general' => [
[395] Fix | Delete
'main' => __( 'General Settings', 'popup-maker' ),
[396] Fix | Delete
],
[397] Fix | Delete
'triggers' => [
[398] Fix | Delete
'main' => __( 'Triggers & Cookies', 'popup-maker' ),
[399] Fix | Delete
],
[400] Fix | Delete
'targeting' => [
[401] Fix | Delete
'main' => __( 'Conditions', 'popup-maker' ),
[402] Fix | Delete
],
[403] Fix | Delete
'display' => [
[404] Fix | Delete
'preset' => __( 'Display Presets', 'popup-maker' ),
[405] Fix | Delete
'main' => __( 'Appearance', 'popup-maker' ),
[406] Fix | Delete
'size' => __( 'Size', 'popup-maker' ),
[407] Fix | Delete
'animation' => __( 'Animation', 'popup-maker' ),
[408] Fix | Delete
'sound' => __( 'Sounds', 'popup-maker' ),
[409] Fix | Delete
'position' => __( 'Position', 'popup-maker' ),
[410] Fix | Delete
'advanced' => __( 'Advanced', 'popup-maker' ),
[411] Fix | Delete
],
[412] Fix | Delete
'close' => [
[413] Fix | Delete
'button' => __( 'Button', 'popup-maker' ),
[414] Fix | Delete
'forms' => __( 'Form Submission', 'popup-maker' ),
[415] Fix | Delete
'alternate_methods' => __( 'Alternate Methods', 'popup-maker' ),
[416] Fix | Delete
],
[417] Fix | Delete
'advanced' => [
[418] Fix | Delete
'main' => __( 'Advanced', 'popup-maker' ),
[419] Fix | Delete
],
[420] Fix | Delete
]
[421] Fix | Delete
);
[422] Fix | Delete
}
[423] Fix | Delete
[424] Fix | Delete
/**
[425] Fix | Delete
* Returns array of popup settings fields.
[426] Fix | Delete
*
[427] Fix | Delete
* @return mixed
[428] Fix | Delete
*/
[429] Fix | Delete
public static function fields() {
[430] Fix | Delete
[431] Fix | Delete
static $tabs;
[432] Fix | Delete
[433] Fix | Delete
if ( ! isset( $tabs ) ) {
[434] Fix | Delete
$tabs = apply_filters(
[435] Fix | Delete
'pum_popup_settings_fields',
[436] Fix | Delete
[
[437] Fix | Delete
'general' => apply_filters(
[438] Fix | Delete
'pum_popup_general_settings_fields',
[439] Fix | Delete
[
[440] Fix | Delete
'main' => [],
[441] Fix | Delete
]
[442] Fix | Delete
),
[443] Fix | Delete
'triggers' => apply_filters(
[444] Fix | Delete
'pum_popup_triggers_settings_fields',
[445] Fix | Delete
[
[446] Fix | Delete
'main' => [
[447] Fix | Delete
'triggers' => [
[448] Fix | Delete
'type' => 'triggers',
[449] Fix | Delete
'std' => [],
[450] Fix | Delete
'priority' => 10,
[451] Fix | Delete
],
[452] Fix | Delete
'separator1' => [
[453] Fix | Delete
'type' => 'separator',
[454] Fix | Delete
'private' => true,
[455] Fix | Delete
],
[456] Fix | Delete
'cookies' => [
[457] Fix | Delete
'type' => 'cookies',
[458] Fix | Delete
'std' => [],
[459] Fix | Delete
'priority' => 20,
[460] Fix | Delete
],
[461] Fix | Delete
],
[462] Fix | Delete
]
[463] Fix | Delete
),
[464] Fix | Delete
'targeting' => apply_filters(
[465] Fix | Delete
'pum_popup_targeting_settings_fields',
[466] Fix | Delete
[
[467] Fix | Delete
'main' => [
[468] Fix | Delete
'conditions' => [
[469] Fix | Delete
'type' => 'conditions',
[470] Fix | Delete
'std' => [],
[471] Fix | Delete
'priority' => 10,
[472] Fix | Delete
'private' => true,
[473] Fix | Delete
],
[474] Fix | Delete
'disable_on_mobile' => [
[475] Fix | Delete
'label' => __( 'Disable this popup on mobile devices.', 'popup-maker' ),
[476] Fix | Delete
'type' => 'checkbox',
[477] Fix | Delete
'priority' => 20,
[478] Fix | Delete
],
[479] Fix | Delete
'disable_on_tablet' => [
[480] Fix | Delete
'label' => __( 'Disable this popup on tablet devices.', 'popup-maker' ),
[481] Fix | Delete
'type' => 'checkbox',
[482] Fix | Delete
'priority' => 20,
[483] Fix | Delete
],
[484] Fix | Delete
],
[485] Fix | Delete
]
[486] Fix | Delete
),
[487] Fix | Delete
'display' => apply_filters(
[488] Fix | Delete
'pum_popup_display_settings_fields',
[489] Fix | Delete
[
[490] Fix | Delete
'preset' => [
[491] Fix | Delete
'explain' => [
[492] Fix | Delete
'type' => 'html',
[493] Fix | Delete
'content' => '<p>Select one of the types below to get started! Once selected, you can adjust the display settings using the tabs above.</p>',
[494] Fix | Delete
],
[495] Fix | Delete
'type_section' => [
[496] Fix | Delete
'type' => 'section',
[497] Fix | Delete
'classes' => 'popup-types',
[498] Fix | Delete
'fields' => [
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function