: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* The class is responsible for adding widget in the WordPress admin area.
* @author Advanced Ads <info@wpadvancedads.com>
namespace AdvancedAds\Modules\OneClick\Admin;
use AdvancedAds\Assets_Registry;
use AdvancedAds\Utilities\Conditional;
use AdvancedAds\Modules\OneClick\Helpers;
use AdvancedAds\Modules\OneClick\Options;
use AdvancedAds\Framework\Interfaces\Integration_Interface;
defined( 'ABSPATH' ) || exit;
class Admin implements Integration_Interface {
public function hooks(): void {
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue' ] );
add_action( 'advanced-ads-overview-add-ons', [ $this, 'add_addon_row' ] );
add_action( 'advanced-ads-overview-widgets-after', [ $this, 'add_metabox' ] );
public function enqueue(): void {
if ( ! Conditional::is_screen_advanced_ads() ) {
Assets_Registry::enqueue_style( 'app' );
Assets_Registry::enqueue_script( 'app' );
* Add row in addon widget
* @param array $addons Hold addons.
public function add_addon_row( $addons ): array {
$is_connected = false !== Options::pubguru_config();
'title' => __( 'MonetizeMore & PubGuru Integration', 'advanced-ads' ),
'desc' => __( 'Enables MonetizeMore users to link their settings with the PubGuru insights & analytics dashboard.', 'advanced-ads' ),
$addons['monetizemore-connect'] = $defaults + [
'class' => 'js-m2-show-consent',
'link_title' => __( 'Connect now', 'advanced-ads' ),
$addons['monetizemore-disconnect'] = $defaults + [
'class' => 'js-pubguru-disconnect',
'link_title' => __( 'Disconnect now', 'advanced-ads' ),
$addons['monetizemore-connect']['class'] .= ' hidden';
$addons['monetizemore-disconnect']['class'] .= ' hidden';
public function add_metabox(): void {
$id = 'advads-m2-connect';
$config = Options::pubguru_config();
$style = false === $config ? 'style="display:none;"' : 'style="display:block;"';
<div id="<?php echo esc_attr( $id ); ?>" class="postbox position-full" <?php echo $style; // phpcs:ignore ?>>
if ( false === $config ) :
esc_html_e( 'PubGuru OneClick Consent & Privacy Policy', 'advanced-ads' );
esc_html_e( 'Connecting Your With Your PubGuru Account Settings', 'advanced-ads' );
<?php $this->display_metabox(); ?>
<?php do_action( 'advanced-ads-overview-widget-content-' . $id, $id ); ?>
public function display_metabox(): void {
$pubguru_config = Options::pubguru_config();
$has_traffic_cop = Helpers::has_traffic_cop();
include ADVADS_ABSPATH . 'views/admin/metabox-pubguru-connect.php';
* Is current page is PubGuru page
public static function is_pubguru_page(): bool {
return null !== $hook_suffix && false !== strpos( $hook_suffix, 'advanced-ads' );