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.../includes/modules
File: admin-bar.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Admin-bar modules
[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_Modules_Admin_Bar
[13] Fix | Delete
*
[14] Fix | Delete
* This class adds admin bar menu for Popup Management.
[15] Fix | Delete
*/
[16] Fix | Delete
class PUM_Modules_Admin_Bar {
[17] Fix | Delete
[18] Fix | Delete
/**
[19] Fix | Delete
* Initializes this module.
[20] Fix | Delete
*/
[21] Fix | Delete
public static function init() {
[22] Fix | Delete
add_action( 'admin_bar_menu', [ __CLASS__, 'toolbar_links' ], 999 );
[23] Fix | Delete
add_action( 'wp_enqueue_scripts', [ __CLASS__, 'enqueue_files' ] );
[24] Fix | Delete
add_action( 'init', [ __CLASS__, 'show_debug_bar' ] );
[25] Fix | Delete
}
[26] Fix | Delete
[27] Fix | Delete
/**
[28] Fix | Delete
* Renders the admin debug bar when PUM Debug is enabled.
[29] Fix | Delete
*/
[30] Fix | Delete
public static function show_debug_bar() {
[31] Fix | Delete
if ( self::should_render() && Popup_Maker::debug_mode() ) {
[32] Fix | Delete
show_admin_bar( true );
[33] Fix | Delete
}
[34] Fix | Delete
}
[35] Fix | Delete
[36] Fix | Delete
/**
[37] Fix | Delete
* Returns true only if all of the following are true:
[38] Fix | Delete
* - User is logged in.
[39] Fix | Delete
* - Not in WP Admin.
[40] Fix | Delete
* - The admin bar is showing.
[41] Fix | Delete
* - PUM Admin bar is not disabled.
[42] Fix | Delete
* - Current user can edit others posts or manage options.
[43] Fix | Delete
*
[44] Fix | Delete
* @return bool
[45] Fix | Delete
*/
[46] Fix | Delete
public static function should_render() {
[47] Fix | Delete
$tests = [
[48] Fix | Delete
is_user_logged_in(),
[49] Fix | Delete
! is_admin(),
[50] Fix | Delete
is_admin_bar_showing(),
[51] Fix | Delete
! pum_get_option( 'disabled_admin_bar' ),
[52] Fix | Delete
( current_user_can( 'edit_others_posts' ) || current_user_can( 'manage_options' ) ),
[53] Fix | Delete
];
[54] Fix | Delete
[55] Fix | Delete
return ! in_array( false, $tests );
[56] Fix | Delete
}
[57] Fix | Delete
[58] Fix | Delete
/**
[59] Fix | Delete
* Add additional toolbar menu items to the front end.
[60] Fix | Delete
*
[61] Fix | Delete
* @param WP_Admin_Bar $wp_admin_bar
[62] Fix | Delete
*/
[63] Fix | Delete
public static function toolbar_links( $wp_admin_bar ) {
[64] Fix | Delete
if ( ! self::should_render() ) {
[65] Fix | Delete
return;
[66] Fix | Delete
}
[67] Fix | Delete
[68] Fix | Delete
$popups = self::loaded_popups();
[69] Fix | Delete
[70] Fix | Delete
$count = count( $popups );
[71] Fix | Delete
[72] Fix | Delete
$wp_admin_bar->add_node(
[73] Fix | Delete
[
[74] Fix | Delete
'id' => 'popup-maker',
[75] Fix | Delete
'title' => sprintf( '%s <span class="counter">%d</span>', __( 'Popup Maker', 'popup-maker' ), $count ),
[76] Fix | Delete
'href' => '#popup-maker',
[77] Fix | Delete
'meta' => [ 'class' => 'popup-maker-toolbar' ],
[78] Fix | Delete
'parent' => false,
[79] Fix | Delete
]
[80] Fix | Delete
);
[81] Fix | Delete
[82] Fix | Delete
$wp_admin_bar->add_node(
[83] Fix | Delete
[
[84] Fix | Delete
'id' => 'popups',
[85] Fix | Delete
'title' => sprintf( '%s <span class="counter">%d</span>', __( 'Popups', 'popup-maker' ), $count ),
[86] Fix | Delete
'href' => '#',
[87] Fix | Delete
'parent' => 'popup-maker',
[88] Fix | Delete
]
[89] Fix | Delete
);
[90] Fix | Delete
[91] Fix | Delete
if ( $count ) {
[92] Fix | Delete
foreach ( $popups as $popup ) {
[93] Fix | Delete
/** @var WP_Post $popup */
[94] Fix | Delete
[95] Fix | Delete
$node_id = 'popup-' . $popup->ID;
[96] Fix | Delete
[97] Fix | Delete
$can_edit = current_user_can( 'edit_post', $popup->ID );
[98] Fix | Delete
[99] Fix | Delete
$edit_url = $can_edit ? admin_url( 'post.php?post=' . $popup->ID . '&action=edit' ) : '#';
[100] Fix | Delete
[101] Fix | Delete
// Single Popup Menu Node
[102] Fix | Delete
$wp_admin_bar->add_node(
[103] Fix | Delete
[
[104] Fix | Delete
'id' => $node_id,
[105] Fix | Delete
'title' => esc_html( $popup->post_title ),
[106] Fix | Delete
'href' => $edit_url,
[107] Fix | Delete
'parent' => 'popups',
[108] Fix | Delete
]
[109] Fix | Delete
);
[110] Fix | Delete
[111] Fix | Delete
// Trigger Link
[112] Fix | Delete
$wp_admin_bar->add_node(
[113] Fix | Delete
[
[114] Fix | Delete
'id' => $node_id . '-open',
[115] Fix | Delete
'title' => __( 'Open Popup', 'popup-maker' ),
[116] Fix | Delete
'meta' => [
[117] Fix | Delete
'onclick' => 'PUM.open(' . $popup->ID . '); return false;',
[118] Fix | Delete
],
[119] Fix | Delete
'href' => '#popup-maker-open-popup-' . $popup->ID,
[120] Fix | Delete
'parent' => $node_id,
[121] Fix | Delete
]
[122] Fix | Delete
);
[123] Fix | Delete
[124] Fix | Delete
$wp_admin_bar->add_node(
[125] Fix | Delete
[
[126] Fix | Delete
'id' => $node_id . '-close',
[127] Fix | Delete
'title' => __( 'Close Popup', 'popup-maker' ),
[128] Fix | Delete
'meta' => [
[129] Fix | Delete
'onclick' => 'PUM.close(' . $popup->ID . '); return false;',
[130] Fix | Delete
],
[131] Fix | Delete
'href' => '#popup-maker-close-popup-' . $popup->ID,
[132] Fix | Delete
'parent' => $node_id,
[133] Fix | Delete
]
[134] Fix | Delete
);
[135] Fix | Delete
[136] Fix | Delete
if ( pum_get_popup( $popup->ID )->has_conditions( [ 'js_only' => true ] ) ) {
[137] Fix | Delete
$wp_admin_bar->add_node(
[138] Fix | Delete
[
[139] Fix | Delete
'id' => $node_id . '-conditions',
[140] Fix | Delete
'title' => __( 'Check Conditions', 'popup-maker' ),
[141] Fix | Delete
'meta' => [
[142] Fix | Delete
'onclick' => 'alert(PUM.checkConditions(' . $popup->ID . ') ? "Pass" : "Fail"); return false;',
[143] Fix | Delete
],
[144] Fix | Delete
'href' => '#popup-maker-check-conditions-popup-' . $popup->ID,
[145] Fix | Delete
'parent' => $node_id,
[146] Fix | Delete
]
[147] Fix | Delete
);
[148] Fix | Delete
}
[149] Fix | Delete
[150] Fix | Delete
$wp_admin_bar->add_node(
[151] Fix | Delete
[
[152] Fix | Delete
'id' => $node_id . '-reset-cookies',
[153] Fix | Delete
'title' => __( 'Reset Cookies', 'popup-maker' ),
[154] Fix | Delete
'meta' => [
[155] Fix | Delete
'onclick' => 'PUM.clearCookies(' . $popup->ID . '); alert("' . __( 'Success', 'popup-maker' ) . '"); return false;',
[156] Fix | Delete
],
[157] Fix | Delete
'href' => '#popup-maker-reset-cookies-popup-' . $popup->ID,
[158] Fix | Delete
'parent' => $node_id,
[159] Fix | Delete
]
[160] Fix | Delete
);
[161] Fix | Delete
[162] Fix | Delete
if ( $can_edit ) {
[163] Fix | Delete
// Edit Popup Link
[164] Fix | Delete
$wp_admin_bar->add_node(
[165] Fix | Delete
[
[166] Fix | Delete
'id' => $node_id . '-edit',
[167] Fix | Delete
'title' => __( 'Edit Popup', 'popup-maker' ),
[168] Fix | Delete
'href' => $edit_url,
[169] Fix | Delete
'parent' => $node_id,
[170] Fix | Delete
]
[171] Fix | Delete
);
[172] Fix | Delete
}
[173] Fix | Delete
}
[174] Fix | Delete
} else {
[175] Fix | Delete
$wp_admin_bar->add_node(
[176] Fix | Delete
[
[177] Fix | Delete
'id' => 'no-popups-loaded',
[178] Fix | Delete
'title' => __( 'No Popups Loaded', 'popup-maker' ) . '<strong style="color:#fff; margin-left: 5px;">?</strong>',
[179] Fix | Delete
'href' => 'https://docs.wppopupmaker.com/article/265-my-popup-wont-work-how-can-i-fix-it?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-admin-bar&utm_content=no-popups-loaded',
[180] Fix | Delete
'parent' => 'popups',
[181] Fix | Delete
'meta' => [
[182] Fix | Delete
'target' => '_blank',
[183] Fix | Delete
],
[184] Fix | Delete
[185] Fix | Delete
]
[186] Fix | Delete
);
[187] Fix | Delete
}
[188] Fix | Delete
[189] Fix | Delete
if ( current_user_can( 'edit_posts' ) ) {
[190] Fix | Delete
$wp_admin_bar->add_node(
[191] Fix | Delete
[
[192] Fix | Delete
'id' => 'all-popups',
[193] Fix | Delete
'title' => __( 'All Popups', 'popup-maker' ),
[194] Fix | Delete
'href' => admin_url( 'edit.php?post_type=popup' ),
[195] Fix | Delete
'parent' => 'popup-maker',
[196] Fix | Delete
]
[197] Fix | Delete
);
[198] Fix | Delete
$wp_admin_bar->add_node(
[199] Fix | Delete
[
[200] Fix | Delete
'id' => 'new-popups', // Just `new-popup` moves this to the top of the menu for some reason. Leave the `s` to keep it in the right place.
[201] Fix | Delete
'title' => __( 'Create New Popup', 'popup-maker' ),
[202] Fix | Delete
'href' => admin_url( 'post-new.php?post_type=popup' ),
[203] Fix | Delete
'parent' => 'popup-maker',
[204] Fix | Delete
]
[205] Fix | Delete
);
[206] Fix | Delete
}
[207] Fix | Delete
[208] Fix | Delete
/**
[209] Fix | Delete
* Tools
[210] Fix | Delete
*/
[211] Fix | Delete
$wp_admin_bar->add_node(
[212] Fix | Delete
[
[213] Fix | Delete
'id' => 'pum-tools',
[214] Fix | Delete
'title' => __( 'Tools', 'popup-maker' ),
[215] Fix | Delete
'href' => '#popup-maker-tools',
[216] Fix | Delete
'parent' => 'popup-maker',
[217] Fix | Delete
]
[218] Fix | Delete
);
[219] Fix | Delete
[220] Fix | Delete
$wp_admin_bar->add_node(
[221] Fix | Delete
[
[222] Fix | Delete
'id' => 'flush-popup-cache',
[223] Fix | Delete
'title' => __( 'Flush Popup Cache', 'popup-maker' ),
[224] Fix | Delete
'href' => wp_nonce_url( add_query_arg( 'flush_popup_cache', 'yes' ), 'flush_popup_cache' ),
[225] Fix | Delete
'parent' => 'pum-tools',
[226] Fix | Delete
]
[227] Fix | Delete
);
[228] Fix | Delete
[229] Fix | Delete
/**
[230] Fix | Delete
* Get Selector
[231] Fix | Delete
*/
[232] Fix | Delete
$wp_admin_bar->add_node(
[233] Fix | Delete
[
[234] Fix | Delete
'id' => 'pum-get-selector',
[235] Fix | Delete
'title' => __( 'Get Selector', 'popup-maker' ),
[236] Fix | Delete
'href' => '#popup-maker-get-selector-tool',
[237] Fix | Delete
'parent' => 'pum-tools',
[238] Fix | Delete
]
[239] Fix | Delete
);
[240] Fix | Delete
}
[241] Fix | Delete
[242] Fix | Delete
/**
[243] Fix | Delete
* @return array
[244] Fix | Delete
*/
[245] Fix | Delete
public static function loaded_popups() {
[246] Fix | Delete
static $popups;
[247] Fix | Delete
[248] Fix | Delete
if ( ! isset( $popups ) ) {
[249] Fix | Delete
$loaded = PUM_Site_Popups::get_loaded_popups();
[250] Fix | Delete
$popups = $loaded->posts;
[251] Fix | Delete
}
[252] Fix | Delete
[253] Fix | Delete
return $popups;
[254] Fix | Delete
}
[255] Fix | Delete
[256] Fix | Delete
/**
[257] Fix | Delete
* Enqueues and prepares our styles and scripts for the admin bar
[258] Fix | Delete
*
[259] Fix | Delete
* @since 1.11.0
[260] Fix | Delete
*/
[261] Fix | Delete
public static function enqueue_files() {
[262] Fix | Delete
if ( ! self::should_render() ) {
[263] Fix | Delete
return;
[264] Fix | Delete
}
[265] Fix | Delete
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
[266] Fix | Delete
wp_enqueue_script( 'pum-admin-bar', Popup_Maker::$URL . 'assets/js/admin-bar' . $suffix . '.js', [ 'jquery' ], Popup_Maker::$VER, true );
[267] Fix | Delete
wp_enqueue_style( 'pum-admin-bar-style', Popup_Maker::$URL . 'assets/css/pum-admin-bar' . $suffix . '.css', [], Popup_Maker::$VER );
[268] Fix | Delete
[269] Fix | Delete
$admin_bar_text = [
[270] Fix | Delete
'instructions' => __( 'After clicking ok, click the element you want a selector for.', 'popup-maker' ),
[271] Fix | Delete
'results' => _x( 'Selector', 'JS alert for CSS get selector tool', 'popup-maker' ),
[272] Fix | Delete
];
[273] Fix | Delete
wp_localize_script( 'pum-admin-bar', 'pumAdminBarText', $admin_bar_text );
[274] Fix | Delete
}
[275] Fix | Delete
}
[276] Fix | Delete
[277] Fix | Delete
PUM_Modules_Admin_Bar::init();
[278] Fix | Delete
[279] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function