<?php use Elementor\Controls_Manager; use WprAddons\Classes\Utilities; if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly class Wpr_Popup_Pro extends Wpr_Popup { public function add_control_popup_trigger() { $this->add_control( 'popup_trigger', [ 'label' => esc_html__( 'Open Popup', 'wpr-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'load', 'options' => [ 'load' => esc_html__( 'On Page Load', 'wpr-addons' ), 'scroll' => esc_html__( 'On Page Scroll', 'wpr-addons' ), 'element-scroll' => esc_html__( 'On Scroll to Element', 'wpr-addons' ), 'date' => esc_html__( 'After Specific Date', 'wpr-addons' ), 'inactivity' => esc_html__( 'After User Inactivity', 'wpr-addons' ), 'exit' => esc_html__( 'After User Exit Intent', 'wpr-addons' ), 'custom' => esc_html__( 'Custom Trigger (Button Click)', 'wpr-addons' ), ], ] ); } public function add_control_popup_show_again_delay() { $this->add_control( 'popup_show_again_delay', [ 'label' => esc_html__( 'Show Again Delay', 'wpr-addons' ), 'type' => Controls_Manager::SELECT, 'default' => '0', 'options' => [ '0' => esc_html__( 'No Delay', 'wpr-addons' ), '60000' => esc_html__( '1 Minute', 'wpr-addons' ), '180000' => esc_html__( '3 Minute', 'wpr-addons' ), '300000' => esc_html__( '5 Minute', 'wpr-addons' ), '600000' => esc_html__( '10 Minute', 'wpr-addons' ), '1800000' => esc_html__( '30 Minute', 'wpr-addons' ), '3600000' => esc_html__( '1 Hour', 'wpr-addons' ), '10800000' => esc_html__( '3 Hour', 'wpr-addons' ), '21600000' => esc_html__( '6 Hour', 'wpr-addons' ), '43200000' => esc_html__( '12 Hour', 'wpr-addons' ), '86400000' => esc_html__( '1 Day', 'wpr-addons' ), '259200000' => esc_html__( '3 Days', 'wpr-addons' ), '432000000' => esc_html__( '5 Days', 'wpr-addons' ), '604800000' => esc_html__( '7 Days', 'wpr-addons' ), '864000000' => esc_html__( '10 Days', 'wpr-addons' ), '1296000000' => esc_html__( '15 Days', 'wpr-addons' ), '1728000000' => esc_html__( '20 Days', 'wpr-addons' ), '2628000000' => esc_html__( '1 Month', 'wpr-addons' ), ], 'description' => esc_html__( 'This option determines when to show popup again to a visitor after it is closed.', 'wpr-addons' ), 'separator' => 'before' ] ); } public function add_controls_group_popup_settings() { $this->add_control( 'popup_stop_after_date', [ 'label' => esc_html__( 'Stop Showing After Date', 'wpr-addons' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before' ] ); $this->add_control( 'popup_stop_after_date_select', [ 'label' => esc_html__( 'Select Date', 'wpr-addons' ), 'label_block' => false, 'type' => Controls_Manager::DATE_TIME, 'default' => date( 'Y-m-d H:i', strtotime( '+1 day' ) + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) ), 'description' => sprintf( __( 'Set according to your WordPress timezone: %s.', 'wpr-addons' ), Elementor\Utils::get_timezone_string() ), 'condition' => [ 'popup_stop_after_date!' => '', ], ] ); $this->add_control( 'popup_automatic_close_switch', [ 'label' => esc_html__( 'Automatic Closing Delay', 'wpr-addons' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before' ] ); $this->add_control( 'popup_automatic_close_delay', [ 'label' => esc_html__( 'Set Closing Delay (sec)', 'wpr-addons' ), 'type' => Controls_Manager::NUMBER, 'default' => 10, 'condition' => [ 'popup_automatic_close_switch!' => '', ], ] ); $this->add_control( 'popup_disable_esc_key', [ 'label' => esc_html__( 'Prevent Closing on "ESC" Key', 'wpr-addons' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before' ] ); $this->add_control( 'popup_show_for_roles', [ 'label' => esc_html__( 'Show For Roles', 'wpr-addons' ), 'type' => Controls_Manager::SELECT2, 'options' => Utilities::get_user_roles(), 'multiple' => 'true', 'separator' => 'before' ] ); $this->add_control( 'popup_show_via_referral', [ 'label' => esc_html__( 'Show according to URL Keyword', 'wpr-addons' ), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before' ] ); $this->add_control( 'popup_referral_keyword', [ 'label' => esc_html__( 'Enter Keyword', 'wpr-addons' ), 'type' => Controls_Manager::TEXT, 'default' => '', 'description' => 'Popup will show up if the URL contains this Keyword.', 'condition' => [ 'popup_show_via_referral' => 'yes', ] ] ); $this->add_responsive_control( 'popup_show_on_device', [ 'label' => esc_html__( 'Show on this Device', 'wpr-addons' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'widescreen_default' => 'yes', 'laptop_default' => 'yes', 'tablet_extra_default' => 'yes', 'tablet_default' => 'yes', 'mobile_extra_default' => 'yes', 'mobile_default' => 'yes', 'separator' => 'before' ] ); } }