* @since 1.48.2 */ namespace AdvancedAds\Compatibility; use AdvancedAds\Framework\Interfaces\Integration_Interface; defined( 'ABSPATH' ) || exit; /** * Peepso. * * phpcs:disable WordPress.WP.I18n.TextDomainMismatch * phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped */ class Peepso implements Integration_Interface { /** * Object. * * @var object */ private $object = null; /** * Hook into WordPress. * * @return void */ public function hooks(): void { add_filter( 'advanced-ads-ad-types', [ $this, 'ad_type' ], 100 ); add_filter( 'advanced-ads-placement-types', [ $this, 'placement_type' ], 25 ); } /** * Add Peepso placement type to Advanced Ads. * * @param array $types placement types. * * @return array */ public function placement_type( $types ): array { if ( class_exists( 'PeepSoAdvancedAdsPlugin' ) ) { $types['peepso_stream'] = [ 'title' => __( 'PeepSo Stream', 'peepso-advanced-ads' ), 'description' => __( 'Display this ad in PeepSo Stream', 'advanced-ads' ), 'image' => ADVADS_BASE_URL . 'assets/img/placement-types/peepso-stream-placement.png', 'is_premium' => false, ]; } return $types; } /** * Add Peepso ad type to Advanced Ads. * * @param array $types ad types. * * @return array */ public function ad_type( $types ): array { if ( class_exists( 'PeepSoAdvancedAdsPlugin' ) && isset( $types['peepso'] ) && 'Advanced_Ads_Ad_Type_Abstract' === get_parent_class( $types['peepso'] ) ) { $this->object = $types['peepso']; unset( $types['peepso'] ); $types['peepso'] = [ 'id' => 'peepso', 'title' => $this->object->title, 'description' => $this->object->description, 'is_upgrade' => false, 'classname' => Peepso_Ad::class, 'render_parameters' => [ $this, 'render_parameters' ], ]; } return $types; } /** * Render Peepso parameters. * * @param AD $ad Ad object. * * @return void */ public function render_parameters( $ad ) { $content = $ad->get_content(); $title_override = $ad->get_prop( 'title_override' ) ?? ''; $image_id = $ad->get_prop( 'image_id' ) ?? ''; $avatar_id = $ad->get_prop( 'avatar_id' ) ?? ''; $url = $ad->get_url() ?? '#'; ?>