first commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
=== Advanced Popups ===
|
||||
Tags: popup, advertising, popups, optin, marketing
|
||||
Requires at least: 4.0
|
||||
Tested up to: 6.0
|
||||
Requires PHP: 5.4
|
||||
Stable tag: 1.1.3
|
||||
Contributors: codesupplyco
|
||||
License: GPLv2 or later
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
== Description ==
|
||||
|
||||
Display high-converting newsletter popups, a cookie notice, or a notification with the light-weight yet feature-rich plugin.
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 1.1.3 =
|
||||
* Improved thumbnail size.
|
||||
|
||||
= 1.1.2 =
|
||||
* Improved plugin security.
|
||||
|
||||
= 1.1.1 =
|
||||
* Improved functions for working with cookies.
|
||||
|
||||
= 1.1.0 =
|
||||
* Updated styles for mobile devices.
|
||||
|
||||
= 1.0.9 =
|
||||
* Minor improvements.
|
||||
|
||||
= 1.0.8 =
|
||||
* Added dev filter to classes in popup.
|
||||
|
||||
= 1.0.7 =
|
||||
* Compatibility fixes for WordPress 5.5
|
||||
|
||||
= 1.0.6 =
|
||||
* Minor improvements.
|
||||
|
||||
= 1.0.5 =
|
||||
* Improve thumbnail.
|
||||
|
||||
= 1.0.4 =
|
||||
* Fixed "Limit display сache lifetime (days)".
|
||||
|
||||
= 1.0.3 =
|
||||
* Added css variables to styles.
|
||||
|
||||
= 1.0.2 =
|
||||
* Added compatibility with php 5.6.
|
||||
|
||||
= 1.0.1 =
|
||||
* Add preload for font icons.
|
||||
|
||||
= 1.0 =
|
||||
* Initial release.
|
||||
@@ -0,0 +1,929 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* The admin-specific functionality of the plugin.
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/admin
|
||||
*/
|
||||
|
||||
/**
|
||||
* The admin-specific functionality of the plugin.
|
||||
*
|
||||
* Defines the plugin name, version, and two examples hooks for how to
|
||||
* enqueue the admin-specific stylesheet and JavaScript.
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/admin
|
||||
*/
|
||||
class ADP_Admin {
|
||||
|
||||
/**
|
||||
* The ID of this plugin.
|
||||
|
||||
* @access private
|
||||
* @var string $adp The ID of this plugin.
|
||||
*/
|
||||
private $adp;
|
||||
|
||||
/**
|
||||
* The version of this plugin.
|
||||
|
||||
* @access private
|
||||
* @var string $version The current version of this plugin.
|
||||
*/
|
||||
private $version;
|
||||
|
||||
/**
|
||||
* Initialize the class and set its properties.
|
||||
*
|
||||
* @param string $adp The name of this plugin.
|
||||
* @param string $version The version of this plugin.
|
||||
*/
|
||||
public function __construct( $adp, $version ) {
|
||||
$this->adp = $adp;
|
||||
$this->version = $version;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register post type
|
||||
*/
|
||||
public function register_post_type() {
|
||||
register_post_type( 'adp-popup', array(
|
||||
'labels' => array(
|
||||
'name' => esc_html__( 'Popups', 'coffee-guru' ),
|
||||
'singular_name' => esc_html__( 'Popup', 'coffee-guru' ),
|
||||
'menu_name' => esc_html__( 'Popups', 'coffee-guru' ),
|
||||
'name_admin_bar' => esc_html__( 'Popup', 'coffee-guru' ),
|
||||
'add_new' => esc_html__( 'Add New', 'coffee-guru' ),
|
||||
'add_new_item' => esc_html__( 'Add New Popup', 'coffee-guru' ),
|
||||
'new_item' => esc_html__( 'New Popup', 'coffee-guru' ),
|
||||
'edit_item' => esc_html__( 'Edit Popup', 'coffee-guru' ),
|
||||
'view_item' => esc_html__( 'View Popup', 'coffee-guru' ),
|
||||
'all_items' => esc_html__( 'Popups', 'coffee-guru' ),
|
||||
'search_items' => esc_html__( 'Search Popups', 'coffee-guru' ),
|
||||
'parent_item_colon' => esc_html__( 'Parent Popups:', 'coffee-guru' ),
|
||||
'not_found' => esc_html__( 'No popups found.', 'coffee-guru' ),
|
||||
'not_found_in_trash' => esc_html__( 'No popups found in Trash.', 'coffee-guru' ),
|
||||
),
|
||||
'public' => false,
|
||||
'publicly_queryable' => false,
|
||||
'show_ui' => true,
|
||||
'query_var' => true,
|
||||
'rewrite' => true,
|
||||
'capability_type' => 'post',
|
||||
'has_archive' => false,
|
||||
'hierarchical' => false,
|
||||
'menu_position' => 55,
|
||||
'show_in_menu' => true,
|
||||
'menu_icon' => 'dashicons-editor-expand',
|
||||
'supports' => array( 'title', 'editor', 'author', 'thumbnail' ),
|
||||
'show_in_rest' => true,
|
||||
'show_in_menu' => 'options-general.php',
|
||||
) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Addd new meta box.
|
||||
*/
|
||||
public function metabox_popup_register() {
|
||||
add_meta_box( 'adp_popup_metabox', esc_html__( 'Popup Settings', 'advanced-popups' ), array( $this, 'metabox_popup_callback' ), array( 'adp-popup' ), 'normal', 'high', null );
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for Popup Meta Box.
|
||||
*
|
||||
* @param object $post Object of post.
|
||||
*/
|
||||
public function metabox_popup_callback( $post ) {
|
||||
|
||||
$popup_type = adp_get_post_meta( $post->ID, '_adp_popup_type', true, 'content' );
|
||||
$popup_location = adp_get_post_meta( $post->ID, '_adp_popup_location', true, 'center' );
|
||||
$popup_preview_image = adp_get_post_meta( $post->ID, '_adp_popup_preview_image', true, 'left' );
|
||||
$popup_info_text = adp_get_post_meta( $post->ID, '_adp_popup_info_text', true );
|
||||
$popup_info_buton_label = adp_get_post_meta( $post->ID, '_adp_popup_info_buton_label', true );
|
||||
$popup_info_button_action = adp_get_post_meta( $post->ID, '_adp_popup_info_button_action', true, 'link' );
|
||||
$popup_info_button_link = adp_get_post_meta( $post->ID, '_adp_popup_info_button_link', true );
|
||||
$popup_limit_display = adp_get_post_meta( $post->ID, '_adp_popup_limit_display', true, 1 );
|
||||
$popup_limit_lifetime = adp_get_post_meta( $post->ID, '_adp_popup_limit_lifetime', true, 30 );
|
||||
$popup_show_to = adp_get_post_meta( $post->ID, '_adp_popup_show_to', true, 'both' );
|
||||
$popup_rules_mode = adp_get_post_meta( $post->ID, '_adp_popup_rules_mode', true, 'all' );
|
||||
$popup_rules = adp_get_post_meta( $post->ID, '_adp_popup_rules', true, array() );
|
||||
$popup_open_trigger = adp_get_post_meta( $post->ID, '_adp_popup_open_trigger', true, 'delay' );
|
||||
$popup_open_delay_number = adp_get_post_meta( $post->ID, '_adp_popup_open_delay_number', true, 1 );
|
||||
$popup_open_scroll_position = adp_get_post_meta( $post->ID, '_adp_popup_open_scroll_position', true, 10 );
|
||||
$popup_open_scroll_type = adp_get_post_meta( $post->ID, '_adp_popup_open_scroll_type', true, '%' );
|
||||
$popup_open_manual_selector = adp_get_post_meta( $post->ID, '_adp_popup_open_manual_selector', true );
|
||||
$popup_close_trigger = adp_get_post_meta( $post->ID, '_adp_popup_close_trigger', true, 'none' );
|
||||
$popup_close_delay_number = adp_get_post_meta( $post->ID, '_adp_popup_close_delay_number', true, 30 );
|
||||
$popup_close_scroll_position = adp_get_post_meta( $post->ID, '_adp_popup_close_scroll_position', true, 10 );
|
||||
$popup_close_scroll_type = adp_get_post_meta( $post->ID, '_adp_popup_close_scroll_type', true, '%' );
|
||||
$popup_open_animation = adp_get_post_meta( $post->ID, '_adp_popup_open_animation', true, 'popupOpenFade' );
|
||||
$popup_exit_animation = adp_get_post_meta( $post->ID, '_adp_popup_exit_animation', true, 'popupExitFade' );
|
||||
$popup_content_box_width = adp_get_post_meta( $post->ID, '_adp_popup_content_box_width', true, 500 );
|
||||
$popup_notification_box_width = adp_get_post_meta( $post->ID, '_adp_popup_notification_box_width', true, 400 );
|
||||
$popup_notification_bar_width = adp_get_post_meta( $post->ID, '_adp_popup_notification_bar_width', true, 1024 );
|
||||
$popup_light_close = adp_get_post_meta( $post->ID, '_adp_popup_light_close', true, false );
|
||||
$popup_display_overlay = adp_get_post_meta( $post->ID, '_adp_popup_display_overlay', true, false );
|
||||
$popup_mobile_disable = adp_get_post_meta( $post->ID, '_adp_popup_mobile_disable', true );
|
||||
$popup_body_scroll_disable = adp_get_post_meta( $post->ID, '_adp_popup_body_scroll_disable', true );
|
||||
$popup_overlay_close = adp_get_post_meta( $post->ID, '_adp_popup_overlay_close', true );
|
||||
$popup_esc_close = adp_get_post_meta( $post->ID, '_adp_popup_esc_close', true );
|
||||
$popup_f4_close = adp_get_post_meta( $post->ID, '_adp_popup_f4_close', true );
|
||||
|
||||
// Default location for notification bar.
|
||||
if ( 'notification-bar' === $popup_type ) {
|
||||
if ( 'top' !== $popup_location && 'bottom' !== $popup_location ) {
|
||||
$popup_location = 'bottom';
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="adp-metabox-wrap popup-wrap">
|
||||
<input type="hidden" name="adp_popup_action" value="1">
|
||||
|
||||
<?php wp_nonce_field( 'adp_popup_meta_nonce', 'adp_popup_meta_nonce' ); ?>
|
||||
|
||||
<div class="adp-metabox-tabs">
|
||||
<ul class="adp-metabox-tabs-navigation">
|
||||
<li><a href="#popup-tab-general"><?php esc_html_e( 'General', 'advanced-popups' ); ?></a></li>
|
||||
<li><a href="#popup-tab-display"><?php esc_html_e( 'Display Rules', 'advanced-popups' ); ?></a></li>
|
||||
<li><a href="#popup-tab-triggers"><?php esc_html_e( 'Triggers', 'advanced-popups' ); ?></a></li>
|
||||
<li><a href="#popup-tab-style"><?php esc_html_e( 'Style', 'advanced-popups' ); ?></a></li>
|
||||
<li><a href="#popup-tab-advanced"><?php esc_html_e( 'Advanced', 'advanced-popups' ); ?></a></li>
|
||||
</ul>
|
||||
<div class="adp-metabox-tabs-content">
|
||||
<div id="popup-tab-general">
|
||||
<div class="adp-metabox-field popup-field-type">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_type"><?php esc_html_e( 'Type', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<select id="adp_popup_type" name="adp_popup_type">
|
||||
<option value="content" <?php selected( $popup_type, 'content' ); ?>><?php esc_html_e( 'Content Box', 'advanced-popups' ); ?></option>
|
||||
<option value="notification-box" <?php selected( $popup_type, 'notification-box' ); ?>><?php esc_html_e( 'Notification Box', 'advanced-popups' ); ?></option>
|
||||
<option value="notification-bar" <?php selected( $popup_type, 'notification-bar' ); ?>><?php esc_html_e( 'Notification Bar', 'advanced-popups' ); ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-location">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_location"><?php esc_html_e( 'Location', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<select id="adp_popup_location" name="adp_popup_location">
|
||||
<option value="top" <?php selected( $popup_location, 'top' ); ?>><?php esc_html_e( 'Top', 'advanced-popups' ); ?></option>
|
||||
<option value="top-left" <?php selected( $popup_location, 'top-left' ); ?>><?php esc_html_e( 'Top Left', 'advanced-popups' ); ?></option>
|
||||
<option value="top-right" <?php selected( $popup_location, 'top-right' ); ?>><?php esc_html_e( 'Top Right', 'advanced-popups' ); ?></option>
|
||||
<option value="bottom" <?php selected( $popup_location, 'bottom' ); ?>><?php esc_html_e( 'Bottom', 'advanced-popups' ); ?></option>
|
||||
<option value="bottom-left" <?php selected( $popup_location, 'bottom-left' ); ?>><?php esc_html_e( 'Bottom Left', 'advanced-popups' ); ?></option>
|
||||
<option value="bottom-right" <?php selected( $popup_location, 'bottom-right' ); ?>><?php esc_html_e( 'Bottom Right', 'advanced-popups' ); ?></option>
|
||||
<option value="left" <?php selected( $popup_location, 'left' ); ?>><?php esc_html_e( 'Left', 'advanced-popups' ); ?></option>
|
||||
<option value="right" <?php selected( $popup_location, 'right' ); ?>><?php esc_html_e( 'Right', 'advanced-popups' ); ?></option>
|
||||
<option value="center" <?php selected( $popup_location, 'center' ); ?>><?php esc_html_e( 'Center', 'advanced-popups' ); ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-preview-image">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_preview_image"><?php esc_html_e( 'Preview Image', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<select id="adp_popup_preview_image" name="adp_popup_preview_image">
|
||||
<option value="left" <?php selected( $popup_preview_image, 'left' ); ?>><?php esc_html_e( 'Left', 'advanced-popups' ); ?></option>
|
||||
<option value="right" <?php selected( $popup_preview_image, 'right' ); ?>><?php esc_html_e( 'Right', 'advanced-popups' ); ?></option>
|
||||
<option value="top" <?php selected( $popup_preview_image, 'top' ); ?>><?php esc_html_e( 'Top', 'advanced-popups' ); ?></option>
|
||||
<option value="bottom" <?php selected( $popup_preview_image, 'bottom' ); ?>><?php esc_html_e( 'Bottom', 'advanced-popups' ); ?></option>
|
||||
<option value="none" <?php selected( $popup_preview_image, 'none' ); ?>><?php esc_html_e( 'None', 'advanced-popups' ); ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-info-text">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_info_text"><?php esc_html_e( 'Notification Text', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<textarea type="number" id="adp_popup_info_text" name="adp_popup_info_text" row="4"><?php echo wp_kses_post( $popup_info_text ); ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-info-buton-label">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_info_buton_label"><?php esc_html_e( 'Notification Button Label', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<input type="text" id="adp_popup_info_buton_label" name="adp_popup_info_buton_label" value="<?php echo esc_attr( $popup_info_buton_label ); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-info-buton-action">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_info_button_action"><?php esc_html_e( 'Notification Button Action', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<select id="adp_popup_info_button_action" name="adp_popup_info_button_action">
|
||||
<option value="link" <?php selected( $popup_info_button_action, 'link' ); ?>><?php esc_html_e( 'Link', 'advanced-popups' ); ?></option>
|
||||
<option value="accept" <?php selected( $popup_info_button_action, 'accept' ); ?>><?php esc_html_e( 'Accept', 'advanced-popups' ); ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-info-buton-link">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_info_button_link"><?php esc_html_e( 'Notification Button Link', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<input type="text" id="adp_popup_info_button_link" name="adp_popup_info_button_link" value="<?php echo esc_attr( $popup_info_button_link ); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-limit-display">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_limit_display"><?php esc_html_e( 'Limit display', 'advanced-popups' ); ?></label>
|
||||
<p class="description">
|
||||
<?php esc_html_e( 'Show the popup only [n] times.', 'advanced-popups' ); ?>
|
||||
</p>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<input class="short" type="number" id="adp_popup_limit_display" name="adp_popup_limit_display" value="<?php echo esc_attr( $popup_limit_display ); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-limit-lifetime">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_limit_lifetime"><?php esc_html_e( 'Limit display сache lifetime (days)', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<input class="short" type="number" id="adp_popup_limit_lifetime " name="adp_popup_limit_lifetime" value="<?php echo esc_attr( $popup_limit_lifetime ); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="adp-metabox-field">
|
||||
<div class="adp-metabox-label popup-field-show-to">
|
||||
<label for="adp_popup_show_to"><?php esc_html_e( 'Guests or Logged-in', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<select id="adp_popup_show_to" name="adp_popup_show_to">
|
||||
<option value="both" <?php selected( $popup_show_to, 'both' ); ?>><?php esc_html_e( 'Show to both users and guest visitors' ); ?></option>
|
||||
<option value="guest" <?php selected( $popup_show_to, 'guest' ); ?>><?php esc_html_e( 'Show only to guest visitors' ); ?></option>
|
||||
<option value="user" <?php selected( $popup_show_to, 'user' ); ?>><?php esc_html_e( 'Show only to logged-in users', 'advanced-popups' ); ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="popup-tab-display">
|
||||
<div class="adp-metabox-field popup-field-rules-mode">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_rules_mode"><?php esc_html_e( 'Show Popup', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="radio" id="adp_popup_rules_mode" name="adp_popup_rules_mode" value="all" <?php checked( $popup_rules_mode, 'all' ); ?>> <?php esc_html_e( 'Entire Site', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_rules_mode" name="adp_popup_rules_mode" value="specific" <?php checked( $popup_rules_mode, 'specific' ); ?>> <?php esc_html_e( 'Specific Pages', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-rules">
|
||||
<div class="popup-field-rules-list">
|
||||
<?php
|
||||
if ( is_array( $popup_rules ) && $popup_rules ) {
|
||||
foreach ( $popup_rules as $i => $row ) {
|
||||
?>
|
||||
<div class="row">
|
||||
<?php
|
||||
foreach ( $row as $t => $tools ) {
|
||||
?>
|
||||
<div class="tools">
|
||||
<select class="adp-popup-rules" name="adp_popup_rules[<?php echo esc_attr( $i ); ?>][<?php echo esc_attr( $t ); ?>][rule]">
|
||||
<?php
|
||||
$rules = ADP_Popup_Rules::instance()->get_list();
|
||||
|
||||
foreach ( $rules as $optgroup => $items ) {
|
||||
$label = $optgroup;
|
||||
|
||||
$label = str_replace( 'general', esc_html__( 'General', 'advanced-popups' ), $label );
|
||||
$label = str_replace( 'post_types', esc_html__( 'Posts Types', 'advanced-popups' ), $label );
|
||||
$label = str_replace( 'taxonomies', esc_html__( 'Taxonomies', 'advanced-popups' ), $label );
|
||||
?>
|
||||
<optgroup data-group="<?php echo esc_attr( $optgroup ); ?>"
|
||||
label="<?php echo esc_attr( $label ); ?>">
|
||||
<?php
|
||||
foreach ( $items as $key => $name ) {
|
||||
?>
|
||||
<option value="<?php echo esc_attr( $key ); ?>" <?php selected( $key, $tools['rule'] ); ?>>
|
||||
<?php echo esc_html( $name ); ?>
|
||||
</option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
|
||||
<input type="text" class="adp-popup-url" name="adp_popup_rules[<?php echo esc_attr( $i ); ?>][<?php echo esc_attr( $t ); ?>][url]" value="<?php echo esc_attr( $tools['url'] ); ?>">
|
||||
|
||||
<?php
|
||||
$type = ADP_Popup_Rules::instance()->get_type( $tools['rule'] );
|
||||
?>
|
||||
<select multiple class="adp-popup-objects" name="adp_popup_rules[<?php echo esc_attr( $i ); ?>][<?php echo esc_attr( $t ); ?>][object][]">
|
||||
<?php
|
||||
if ( isset( $tools['object'] ) && is_array( $tools['object'] ) ) {
|
||||
|
||||
foreach ( $tools['object'] as $object ) {
|
||||
$name = (int) $object;
|
||||
if ( 'post' === $type ) {
|
||||
$name = get_the_title( $object );
|
||||
}
|
||||
if ( 'taxonomy' === $type ) {
|
||||
$term = get_term( $object );
|
||||
|
||||
$name = $term->name;
|
||||
|
||||
}
|
||||
?>
|
||||
<option value="<?php echo esc_attr( $object ); ?>" selected="selected"><?php echo esc_html( $name ); ?></option>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
|
||||
<a href="#" class="delete remove-another-rule">
|
||||
<span class="dashicons dashicons-no-alt"></span>
|
||||
</a>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="tools-bar">
|
||||
<div class="button add-another-rule">
|
||||
<?php esc_html_e( 'Add another OR rule', 'advanced-popups' ); ?>
|
||||
</div>
|
||||
|
||||
<a href="#" class="delete remove-rule"><?php esc_html_e( 'Remove', 'advanced-popups' ); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
<div class="button button-primary add-new-rule">
|
||||
<?php esc_html_e( 'Add New Rule ', 'advanced-popups' ); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="popup-tab-triggers">
|
||||
<div class="adp-metabox-field popup-field-open-trigger">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_open_trigger"><?php esc_html_e( 'Trigger Open Popup', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="radio" id="adp_popup_open_trigger" name="adp_popup_open_trigger" value="delay" <?php checked( $popup_open_trigger, 'delay' ); ?>> <?php esc_html_e( 'Time Delay', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_open_trigger" name="adp_popup_open_trigger" value="viewed" <?php checked( $popup_open_trigger, 'viewed' ); ?>> <?php esc_html_e( 'Page Viewed', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_open_trigger" name="adp_popup_open_trigger" value="read" <?php checked( $popup_open_trigger, 'read' ); ?>> <?php esc_html_e( 'Page Read', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_open_trigger" name="adp_popup_open_trigger" value="exit" <?php checked( $popup_open_trigger, 'exit' ); ?>> <?php esc_html_e( 'Exit Intent', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_open_trigger" name="adp_popup_open_trigger" value="scroll" <?php checked( $popup_open_trigger, 'scroll' ); ?>> <?php esc_html_e( 'Scroll Position', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_open_trigger" name="adp_popup_open_trigger" value="accept" <?php checked( $popup_open_trigger, 'accept' ); ?>> <?php esc_html_e( 'Accept Agreement', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_open_trigger" name="adp_popup_open_trigger" value="manual" <?php checked( $popup_open_trigger, 'manual' ); ?>> <?php esc_html_e( 'Manual Launch', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-open-accept-desc">
|
||||
<div class="adp-metabox-label"></div>
|
||||
<div class="adp-metabox-input">
|
||||
<p class="description"><?php esc_html_e( 'It works for "Notification Box" and "Notification Bar". And if "Notification Button Action" is selected as "Accept", then the popup will be displayed until the user accepts the agreement.', 'advanced-popups' ); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-open-delay-number">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_open_delay_number"><?php esc_html_e( 'Time Delay', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input class="short" type="number" id="adp_popup_open_delay_number" name="adp_popup_open_delay_number" value="<?php echo esc_attr( $popup_open_delay_number ); ?>" /> <?php esc_html_e( 'Seconds', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-open-scroll-position">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_open_scroll_position"><?php esc_html_e( 'Scroll Position', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label>
|
||||
<input class="short" type="number" id="adp_popup_open_scroll_position" name="adp_popup_open_scroll_position" value="<?php echo esc_attr( $popup_open_scroll_position ); ?>" />
|
||||
|
||||
<select class="short" id="adp_popup_open_scroll_type" name="adp_popup_open_scroll_type">
|
||||
<option value="px" <?php selected( $popup_open_scroll_type, 'px' ); ?>><?php esc_html_e( 'Px.', 'advanced-popups' ); ?></option>
|
||||
<option value="%" <?php selected( $popup_open_scroll_type, '%' ); ?>><?php esc_html_e( '%', 'advanced-popups' ); ?></option>
|
||||
</select> <?php esc_html_e( 'of screen', 'advanced-popups' ); ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-open-manual-selector">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_open_manual_selector"><?php esc_html_e( 'CSS Selector', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<input type="text" id="adp_popup_open_manual_selector" name="adp_popup_open_manual_selector" value="<?php echo esc_attr( $popup_open_manual_selector ); ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-close-trigger">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_close_trigger"><?php esc_html_e( 'Trigger Close Popup', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="radio" id="adp_popup_close_trigger" name="adp_popup_close_trigger" value="none" <?php checked( $popup_close_trigger, 'none' ); ?>> <?php esc_html_e( 'None', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_close_trigger" name="adp_popup_close_trigger" value="delay" <?php checked( $popup_close_trigger, 'delay' ); ?>> <?php esc_html_e( 'Time Delay', 'advanced-popups' ); ?></label>
|
||||
<label><input type="radio" id="adp_popup_close_trigger" name="adp_popup_close_trigger" value="scroll" <?php checked( $popup_close_trigger, 'scroll' ); ?>> <?php esc_html_e( 'Scroll Position', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-close-delay-number">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_close_delay_number"><?php esc_html_e( 'Time Delay', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input class="short" type="number" id="adp_popup_close_delay_number" name="adp_popup_close_delay_number" value="<?php echo esc_attr( $popup_close_delay_number ); ?>" /> <?php esc_html_e( 'Seconds', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-close-scroll-position">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_close_scroll_position"><?php esc_html_e( 'Offset Scroll Position', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label>
|
||||
<input class="short" type="number" id="adp_popup_close_scroll_position" name="adp_popup_close_scroll_position" value="<?php echo esc_attr( $popup_close_scroll_position ); ?>" />
|
||||
|
||||
<select class="short" id="adp_popup_close_scroll_type" name="adp_popup_close_scroll_type">
|
||||
<option value="px" <?php selected( $popup_close_scroll_type, 'px' ); ?>><?php esc_html_e( 'Px.', 'advanced-popups' ); ?></option>
|
||||
<option value="%" <?php selected( $popup_close_scroll_type, '%' ); ?>><?php esc_html_e( '%', 'advanced-popups' ); ?></option>
|
||||
</select> <?php esc_html_e( 'of screen', 'advanced-popups' ); ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="popup-tab-style">
|
||||
<div class="adp-metabox-field popup-field-open-animation">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_open_animation"><?php esc_html_e( 'Open Animation', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<select id="adp_popup_open_animation" name="adp_popup_open_animation">
|
||||
<option value="popupOpenFade" <?php selected( $popup_open_animation, 'popupOpenFade' ); ?>><?php esc_html_e( 'Fade', 'advanced-popups' ); ?></option>
|
||||
<option value="popupOpenSlide" <?php selected( $popup_open_animation, 'popupOpenSlide' ); ?>><?php esc_html_e( 'Slide', 'advanced-popups' ); ?></option>
|
||||
<option value="popupOpenZoom" <?php selected( $popup_open_animation, 'popupOpenZoom' ); ?>><?php esc_html_e( 'Zoom', 'advanced-popups' ); ?></option>
|
||||
<option value="popupOpenSlideFade" <?php selected( $popup_open_animation, 'popupOpenSlideFade' ); ?>><?php esc_html_e( 'Slide and Fade', 'advanced-popups' ); ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-exit-animation">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_exit_animation"><?php esc_html_e( 'Exit Animation', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<select id="adp_popup_exit_animation" name="adp_popup_exit_animation">
|
||||
<option value="popupExitFade" <?php selected( $popup_exit_animation, 'popupExitFade' ); ?>><?php esc_html_e( 'Fade', 'advanced-popups' ); ?></option>
|
||||
<option value="popupExitSlide" <?php selected( $popup_exit_animation, 'popupExitSlide' ); ?>><?php esc_html_e( 'Slide', 'advanced-popups' ); ?></option>
|
||||
<option value="popupExitZoom" <?php selected( $popup_exit_animation, 'popupExitZoom' ); ?>><?php esc_html_e( 'Zoom', 'advanced-popups' ); ?></option>
|
||||
<option value="popupExitSlideFade" <?php selected( $popup_exit_animation, 'popupExitSlideFade' ); ?>><?php esc_html_e( 'Slide and Fade', 'advanced-popups' ); ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-content-box-width">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_content_box_width"><?php esc_html_e( 'Content Box Width', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label>
|
||||
<input class="short" type="number" id="adp_popup_content_box_width" name="adp_popup_content_box_width" value="<?php echo esc_attr( $popup_content_box_width ); ?>" /> <?php esc_html_e( 'px.', 'advanced-popups' ); ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-notification-box-width">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_notification_box_width"><?php esc_html_e( 'Notification Box Width', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label>
|
||||
<input class="short" type="number" id="adp_popup_notification_box_width" name="adp_popup_notification_box_width" value="<?php echo esc_attr( $popup_notification_box_width ); ?>" /> <?php esc_html_e( 'px.', 'advanced-popups' ); ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-notification-bar-width">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_notification_bar_width"><?php esc_html_e( 'Notification Bar Width', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label>
|
||||
<input class="short" type="number" id="adp_popup_notification_bar_width" name="adp_popup_notification_bar_width" value="<?php echo esc_attr( $popup_notification_bar_width ); ?>" /> <?php esc_html_e( 'px.', 'advanced-popups' ); ?>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-display-overlay">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_light_close"><?php esc_html_e( 'Light Close Button', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<input type="checkbox" id="adp_popup_light_close" name="adp_popup_light_close" value="1" <?php checked( $popup_light_close ); ?>>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-display-overlay">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_display_overlay"><?php esc_html_e( 'Display Overlay', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<input type="checkbox" id="adp_popup_display_overlay" name="adp_popup_display_overlay" value="1" <?php checked( $popup_display_overlay ); ?>>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="popup-tab-advanced">
|
||||
<div class="adp-metabox-field popup-field-mobile-disable">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_mobile_disable"><?php esc_html_e( 'Mobile Disable', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="checkbox" id="adp_popup_mobile_disable" name="adp_popup_mobile_disable" value="1" <?php checked( $popup_mobile_disable ); ?>> <?php esc_html_e( 'Disable popup on mobile', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-body-scroll-disable">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_body_scroll_disable"><?php esc_html_e( 'Disable Scrolling', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="checkbox" id="adp_popup_body_scroll_disable" name="adp_popup_body_scroll_disable" value="1" <?php checked( $popup_body_scroll_disable ); ?>> <?php esc_html_e( 'Disable scrolling on body', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-overlay-close">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_overlay_close"><?php esc_html_e( 'Click Overlay to Close', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="checkbox" id="adp_popup_overlay_close" name="adp_popup_overlay_close" value="1" <?php checked( $popup_overlay_close ); ?>> <?php esc_html_e( 'Checking this will cause popup to close when user clicks on overlay', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-esc-close">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_esc_close"><?php esc_html_e( 'Press ESC to Close', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="checkbox" id="adp_popup_esc_close" name="adp_popup_esc_close" value="1" <?php checked( $popup_esc_close ); ?>> <?php esc_html_e( 'Checking this will cause popup to close when user presses ESC key', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="adp-metabox-field popup-field-f4-close">
|
||||
<div class="adp-metabox-label">
|
||||
<label for="adp_popup_f4_close"><?php esc_html_e( 'Press F4 to Close', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
<div class="adp-metabox-input">
|
||||
<label><input type="checkbox" id="adp_popup_f4_close" name="adp_popup_f4_close" value="1" <?php checked( $popup_f4_close ); ?>> <?php esc_html_e( 'Checking this will cause popup to close when user presses F4 key', 'advanced-popups' ); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
/**
|
||||
* Save meta tags by post
|
||||
*
|
||||
* @param int $post_id Post ID.
|
||||
* @param object $post Post Object.
|
||||
*/
|
||||
public function metabox_popup_save( $post_id, $post ) {
|
||||
|
||||
// Break if doing autosave.
|
||||
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Break if current user can't edit this post.
|
||||
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Break if this post revision.
|
||||
if ( wp_is_post_revision( $post_id ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( ! isset( $_POST['adp_popup_meta_nonce'] ) || ! wp_verify_nonce( $_POST['adp_popup_meta_nonce'], 'adp_popup_meta_nonce' ) ) { // Input var ok; sanitization ok.
|
||||
return;
|
||||
}
|
||||
|
||||
if ( ! isset( $_POST['adp_popup_action'] ) || 1 !== (int) $_POST['adp_popup_action'] ) { // Input var ok; sanitization ok.
|
||||
return;
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_type'] ) ) {
|
||||
$popup_type = sanitize_text_field( $_POST['adp_popup_type'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_type', $popup_type );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_location'] ) ) {
|
||||
$popup_location = sanitize_text_field( $_POST['adp_popup_location'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_location', $popup_location );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_preview_image'] ) ) {
|
||||
$popup_preview_image = sanitize_text_field( $_POST['adp_popup_preview_image'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_preview_image', $popup_preview_image );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_info_text'] ) ) {
|
||||
$popup_info_text = wp_kses_post( $_POST['adp_popup_info_text'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_info_text', $popup_info_text );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_info_buton_label'] ) ) {
|
||||
$popup_info_buton_label = sanitize_text_field( $_POST['adp_popup_info_buton_label'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_info_buton_label', $popup_info_buton_label );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_info_button_action'] ) ) {
|
||||
$popup_info_button_action = sanitize_text_field( $_POST['adp_popup_info_button_action'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_info_button_action', $popup_info_button_action );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_info_button_link'] ) ) {
|
||||
$popup_info_button_link = sanitize_text_field( $_POST['adp_popup_info_button_link'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_info_button_link', $popup_info_button_link );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_limit_display'] ) ) {
|
||||
$popup_limit_display = (int) sanitize_text_field( $_POST['adp_popup_limit_display'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_limit_display', $popup_limit_display );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_limit_lifetime'] ) ) {
|
||||
$popup_limit_lifetime = (int) sanitize_text_field( $_POST['adp_popup_limit_lifetime'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_limit_lifetime', $popup_limit_lifetime );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_show_to'] ) ) {
|
||||
$popup_show_to = sanitize_text_field( $_POST['adp_popup_show_to'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_show_to', $popup_show_to );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_rules_mode'] ) ) {
|
||||
$popup_rules_mode = sanitize_text_field( $_POST['adp_popup_rules_mode'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_rules_mode', $popup_rules_mode );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_rules'] ) ) {
|
||||
$popup_rules = map_deep( $_POST['adp_popup_rules'], 'sanitize_text_field' ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_rules', $popup_rules );
|
||||
} else {
|
||||
delete_post_meta( $post_id, '_adp_popup_rules' );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_open_trigger'] ) ) {
|
||||
$popup_open_trigger = sanitize_text_field( $_POST['adp_popup_open_trigger'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_open_trigger', $popup_open_trigger );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_open_delay_number'] ) ) {
|
||||
$popup_open_delay_number = sanitize_text_field( $_POST['adp_popup_open_delay_number'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_open_delay_number', $popup_open_delay_number );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_open_scroll_position'] ) ) {
|
||||
$popup_open_scroll_position = sanitize_text_field( $_POST['adp_popup_open_scroll_position'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_open_scroll_position', $popup_open_scroll_position );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_open_scroll_type'] ) ) {
|
||||
$popup_open_scroll_type = sanitize_text_field( $_POST['adp_popup_open_scroll_type'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_open_scroll_type', $popup_open_scroll_type );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_open_manual_selector'] ) ) {
|
||||
$popup_open_manual_selector = sanitize_text_field( $_POST['adp_popup_open_manual_selector'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_open_manual_selector', $popup_open_manual_selector );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_close_trigger'] ) ) {
|
||||
$popup_close_trigger = sanitize_text_field( $_POST['adp_popup_close_trigger'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_close_trigger', $popup_close_trigger );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_close_delay_number'] ) ) {
|
||||
$popup_close_delay_number = sanitize_text_field( $_POST['adp_popup_close_delay_number'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_close_delay_number', $popup_close_delay_number );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_close_scroll_position'] ) ) {
|
||||
$popup_close_scroll_position = sanitize_text_field( $_POST['adp_popup_close_scroll_position'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_close_scroll_position', $popup_close_scroll_position );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_close_scroll_type'] ) ) {
|
||||
$popup_close_scroll_type = sanitize_text_field( $_POST['adp_popup_close_scroll_type'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_close_scroll_type', $popup_close_scroll_type );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_open_animation'] ) ) {
|
||||
$popup_open_animation = sanitize_text_field( $_POST['adp_popup_open_animation'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_open_animation', $popup_open_animation );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_exit_animation'] ) ) {
|
||||
$popup_exit_animation = sanitize_text_field( $_POST['adp_popup_exit_animation'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_exit_animation', $popup_exit_animation );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_content_box_width'] ) ) {
|
||||
$popup_content_box_width = (int) sanitize_text_field( $_POST['adp_popup_content_box_width'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_content_box_width', $popup_content_box_width );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_notification_box_width'] ) ) {
|
||||
$popup_notification_box_width = (int) sanitize_text_field( $_POST['adp_popup_notification_box_width'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_notification_box_width', $popup_notification_box_width );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_notification_bar_width'] ) ) {
|
||||
$popup_notification_bar_width = (int) sanitize_text_field( $_POST['adp_popup_notification_bar_width'] ); // Input var ok; sanitization ok.
|
||||
|
||||
update_post_meta( $post_id, '_adp_popup_notification_bar_width', $popup_notification_bar_width );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_light_close'] ) ) { // Input var ok; sanitization ok.
|
||||
update_post_meta( $post_id, '_adp_popup_light_close', 1 );
|
||||
} else {
|
||||
update_post_meta( $post_id, '_adp_popup_light_close', '' );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_display_overlay'] ) ) { // Input var ok; sanitization ok.
|
||||
update_post_meta( $post_id, '_adp_popup_display_overlay', 1 );
|
||||
} else {
|
||||
update_post_meta( $post_id, '_adp_popup_display_overlay', '' );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_mobile_disable'] ) ) { // Input var ok; sanitization ok.
|
||||
update_post_meta( $post_id, '_adp_popup_mobile_disable', 1 );
|
||||
} else {
|
||||
update_post_meta( $post_id, '_adp_popup_mobile_disable', '' );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_body_scroll_disable'] ) ) { // Input var ok; sanitization ok.
|
||||
update_post_meta( $post_id, '_adp_popup_body_scroll_disable', 1 );
|
||||
} else {
|
||||
update_post_meta( $post_id, '_adp_popup_body_scroll_disable', '' );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_overlay_close'] ) ) { // Input var ok; sanitization ok.
|
||||
update_post_meta( $post_id, '_adp_popup_overlay_close', 1 );
|
||||
} else {
|
||||
update_post_meta( $post_id, '_adp_popup_overlay_close', '' );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_esc_close'] ) ) { // Input var ok; sanitization ok.
|
||||
update_post_meta( $post_id, '_adp_popup_esc_close', 1 );
|
||||
} else {
|
||||
update_post_meta( $post_id, '_adp_popup_esc_close', '' );
|
||||
}
|
||||
|
||||
if ( isset( $_POST['adp_popup_f4_close'] ) ) { // Input var ok; sanitization ok.
|
||||
update_post_meta( $post_id, '_adp_popup_f4_close', 1 );
|
||||
} else {
|
||||
update_post_meta( $post_id, '_adp_popup_f4_close', '' );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get objects list in rules.
|
||||
*/
|
||||
public function ajax_rules_objects() {
|
||||
|
||||
check_ajax_referer();
|
||||
|
||||
$search = isset( $_POST['search'] ) ? sanitize_text_field( $_POST['search'] ) : ''; // Input var ok; sanitization ok.
|
||||
$group = isset( $_GET['group'] ) ? sanitize_text_field( $_GET['group'] ) : 'post_types'; // Input var ok; sanitization ok.
|
||||
$rule = isset( $_GET['rule'] ) ? sanitize_text_field( $_GET['rule'] ) : 'none'; // Input var ok; sanitization ok.
|
||||
$page = isset( $_GET['page'] ) ? (int) sanitize_text_field( $_GET['page'] ) : 1; // Input var ok; sanitization ok.
|
||||
|
||||
// Data container.
|
||||
$data = array();
|
||||
|
||||
// Get object.
|
||||
$object = ADP_Popup_Rules::instance()->get_object( $rule );
|
||||
|
||||
// Get posts.
|
||||
if ( 'post_types' === $group ) {
|
||||
|
||||
$args = array(
|
||||
's' => $search,
|
||||
'post_status' => 'publish',
|
||||
'ignore_sticky_posts' => 1,
|
||||
'posts_per_page' => 10,
|
||||
'post_type' => $object,
|
||||
'paged' => $page,
|
||||
);
|
||||
|
||||
$query = new WP_Query( $args );
|
||||
|
||||
if ( $query->have_posts() ) {
|
||||
while ( $query->have_posts() ) {
|
||||
$query->the_post();
|
||||
|
||||
$data['items'][ $query->post->ID ] = $query->post->post_title;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $page < (int) $query->max_num_pages ) {
|
||||
$data['pagination'] = true;
|
||||
} else {
|
||||
$data['pagination'] = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Get terms.
|
||||
if ( 'taxonomies' === $group ) {
|
||||
|
||||
$terms = get_terms( $object, array(
|
||||
'hide_empty' => false,
|
||||
) );
|
||||
|
||||
if ( $terms && ! is_wp_error( $terms ) ) {
|
||||
foreach ( $terms as $term ) {
|
||||
$data['items'][ $term->term_id ] = $term->name;
|
||||
}
|
||||
}
|
||||
|
||||
$data['pagination'] = false;
|
||||
}
|
||||
|
||||
wp_send_json( $data );
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the stylesheets and JavaScript for the admin area.
|
||||
*
|
||||
* @param string $page Current page.
|
||||
*/
|
||||
public function admin_enqueue_scripts( $page ) {
|
||||
|
||||
global $post_type;
|
||||
|
||||
if ( 'adp-popup' !== $post_type ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( in_array( $page, array( 'post.php', 'post-new.php' ), true ) ) {
|
||||
|
||||
// Select2.
|
||||
wp_enqueue_style( 'select2', plugin_dir_url( __FILE__ ) . 'css/select2.min.css' );
|
||||
wp_enqueue_script( 'select2', plugin_dir_url( __FILE__ ) . 'js/select2.full.min.js', array( 'jquery' ) );
|
||||
|
||||
wp_enqueue_script( 'jquery-ui-sortable' );
|
||||
wp_enqueue_script( 'jquery-ui-tabs' );
|
||||
|
||||
// Scripts.
|
||||
wp_enqueue_script( $this->adp, plugin_dir_url( __FILE__ ) . 'js/advanced-popups-admin.js', array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-sortable', 'select2' ), $this->version, false );
|
||||
|
||||
wp_localize_script( $this->adp, 'adp_popup_data', array(
|
||||
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
||||
'nonce' => wp_create_nonce(),
|
||||
'label_general' => esc_html__( 'General', 'advanced-popups' ),
|
||||
'label_post_types' => esc_html__( 'Posts Types', 'advanced-popups' ),
|
||||
'label_taxonomies' => esc_html__( 'Taxonomies', 'advanced-popups' ),
|
||||
'btn_label_another' => esc_html__( 'Add another OR rule', 'advanced-popups' ),
|
||||
'btn_delete' => esc_html__( 'Remove', 'advanced-popups' ),
|
||||
'select2_placeholder' => esc_html__( 'Find items...', 'advanced-popups' ),
|
||||
'select2_errorLoading' => esc_html__( 'The results could not be loaded.', 'advanced-popups' ),
|
||||
'select2_loadingMore' => esc_html__( 'Loading more results...', 'advanced-popups' ),
|
||||
'select2_noResults' => esc_html__( 'Nothing not found', 'advanced-popups' ),
|
||||
'select2_searching' => esc_html__( 'Searching...', 'advanced-popups' ),
|
||||
'select2_removeAllItems' => esc_html__( 'Remove all items', 'advanced-popups' ),
|
||||
'rules_list' => wp_json_encode( ADP_Popup_Rules::instance()->get_list() ),
|
||||
) );
|
||||
|
||||
// Styles.
|
||||
wp_enqueue_style( $this->adp, adp_style( plugin_dir_url( __FILE__ ) . 'css/advanced-popups-admin.css' ), array(), $this->version, 'all' );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,500 @@
|
||||
/**
|
||||
* All of the CSS for your admin-facing functionality should be
|
||||
* included in this file.
|
||||
*/
|
||||
/*--------------------------------------------------------------*/
|
||||
#adp_popup_metabox .inside {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#adp_popup_metabox .hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Basic -------------------------------------------------------------- */
|
||||
.adp-metabox-wrap .adp-metabox-tabs {
|
||||
background: none;
|
||||
border: none;
|
||||
display: flex;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: none;
|
||||
border-left: 1px solid #eee;
|
||||
background: #FAFAFA;
|
||||
flex: 0 0 200px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li {
|
||||
display: block;
|
||||
background: transparent;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li a {
|
||||
border: none;
|
||||
border-bottom: 1px solid #eee;
|
||||
position: relative;
|
||||
display: block;
|
||||
font-size: 0.8125rem;
|
||||
line-height: 1.25rem;
|
||||
padding: 0.625rem;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
color: #0073aa;
|
||||
float: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li a:hover {
|
||||
color: #00a0d2;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li.ui-tabs-active {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li.ui-tabs-active a {
|
||||
background-color: #eee;
|
||||
color: #555;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-content {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-content .ui-tabs-panel {
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.adp-metabox-wrap .adp-metabox-tabs {
|
||||
flex-direction: column;
|
||||
}
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation {
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field {
|
||||
display: flex;
|
||||
position: relative;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-label {
|
||||
position: relative;
|
||||
flex: 0 0 100%;
|
||||
float: none;
|
||||
margin: 0;
|
||||
padding: 1rem 1rem 0.5rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-label label {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
line-height: 1.4em;
|
||||
margin: 0 0 3px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input {
|
||||
position: relative;
|
||||
flex: 0 0 100%;
|
||||
margin: 0;
|
||||
padding: 1rem 1rem 0.5rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="number"],
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="text"],
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input select,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="number"].short,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="text"].short,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input select.short,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input textarea.short {
|
||||
max-width: 100px;
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.adp-metabox-wrap .adp-metabox-field {
|
||||
flex-direction: row;
|
||||
}
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-label {
|
||||
flex: 0 0 20%;
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input {
|
||||
flex: 0 0 80%;
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: -2rem;
|
||||
left: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch {
|
||||
border: 2px solid #555d66;
|
||||
box-sizing: border-box;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
height: 1.75rem;
|
||||
height: 18px;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: 36px;
|
||||
margin-left: 0.5rem;
|
||||
border-radius: 9px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch .adp-metabox-switch-on {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 2px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
z-index: 1;
|
||||
background: #6C7781;
|
||||
border-radius: 50%;
|
||||
transition: all 0s ease 0.25s;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch .adp-metabox-switch-off {
|
||||
border: 2px solid #6c7781;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 3px;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
z-index: 1;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch .adp-metabox-switch-slider {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 2px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
z-index: 1;
|
||||
background: #6C7781;
|
||||
border-radius: 50%;
|
||||
transition: all 0.25s ease;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox:checked + .adp-metabox-switch {
|
||||
border-color: #11A0D2;
|
||||
background: #11A0D2;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox:checked + .adp-metabox-switch .adp-metabox-switch-on {
|
||||
top: 4px;
|
||||
right: 6px;
|
||||
width: 2px;
|
||||
height: 6px;
|
||||
background: #FFFFFF;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox:checked + .adp-metabox-switch .adp-metabox-switch-slider {
|
||||
background: #FFFFFF;
|
||||
top: 2px;
|
||||
right: calc(50% + 4px);
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table {
|
||||
width: 100%;
|
||||
border: none;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr {
|
||||
background: #FFFFFF;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr th {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr th,
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr td {
|
||||
border: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr.ui-sortable-helper {
|
||||
display: table;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr.ui-sortable-placeholder {
|
||||
background: #F9F9F9;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr.ui-state-highlight td {
|
||||
background: #F9F9F9;
|
||||
border: 1px dashed #D8D8D8;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .btn-add-row {
|
||||
margin: 1rem 1.25rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-content input, .adp-metabox-wrap .adp-metabox-repeater .row-content textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-content input[type="number"] {
|
||||
max-width: 100px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-content p {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar {
|
||||
position: relative;
|
||||
border-bottom: 1px solid #EFEFEF;
|
||||
padding: 1rem 1.25rem;
|
||||
zoom: 1;
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .handlediv {
|
||||
display: block !important;
|
||||
background-position: 6px 5px;
|
||||
visibility: hidden;
|
||||
width: 27px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .handlediv:before {
|
||||
content: "\f142";
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font: 400 20px/1 Dashicons;
|
||||
line-height: .5;
|
||||
padding: 8px 10px;
|
||||
position: relative;
|
||||
left: 12px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar.closed .handlediv:before {
|
||||
content: "\f140";
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .delete {
|
||||
color: red;
|
||||
font-weight: 400;
|
||||
line-height: 26px;
|
||||
text-decoration: none;
|
||||
position: relative;
|
||||
visibility: hidden;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .signature {
|
||||
display: inline-block;
|
||||
padding-left: 100px;
|
||||
line-height: 26px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .signature span {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar:hover .handlediv,
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar:hover .delete {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-fields {
|
||||
border-bottom: 1px solid #EFEFEF;
|
||||
background-color: #FDFDFD;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-body {
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
|
||||
/* Popup -------------------------------------------------------------- */
|
||||
.adp-metabox-wrap .popup-field-info-text,
|
||||
.adp-metabox-wrap .popup-field-info-buton-label,
|
||||
.adp-metabox-wrap .popup-field-info-buton-action,
|
||||
.adp-metabox-wrap .popup-field-info-buton-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules input[type="text"],
|
||||
.adp-metabox-wrap .popup-field-rules select {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules .delete {
|
||||
display: inline-block;
|
||||
color: red;
|
||||
font-weight: 400;
|
||||
line-height: 26px;
|
||||
margin-right: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules .add-new-rule {
|
||||
margin-right: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list:not(:empty) {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .row {
|
||||
border-top: 1px dashed #EEEEEE;
|
||||
margin-top: 1.5rem;
|
||||
padding-right: 1.25rem;
|
||||
padding-left: 1.25rem;
|
||||
padding-top: 1.5rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .row:first-child {
|
||||
border-top: none;
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .tools {
|
||||
position: relative;
|
||||
border-right: 2px solid #555D66;
|
||||
background: #FAFAFA;
|
||||
margin-top: 1rem;
|
||||
padding: 1rem;
|
||||
padding-left: 3rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .tools:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .tools-bar {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .remove-another-rule {
|
||||
position: absolute;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
top: 1rem;
|
||||
left: 1rem;
|
||||
margin: 0;
|
||||
font-size: 1rem;
|
||||
color: #555d66;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .remove-another-rule:hover {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list input[type="text"],
|
||||
.adp-metabox-wrap .popup-field-rules-list .select2 {
|
||||
width: 100%;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .select2-selection {
|
||||
border: 1px solid #ddd;
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
|
||||
border-radius: 0;
|
||||
min-height: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .select2-selection__choice {
|
||||
background: #FAFAFA;
|
||||
border-color: #CDCDCD;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-popup-objects.hidden + .select2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.popup-block-easy .editor-post-title {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.popup-block-easy .edit-post-header-toolbar {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.popup-block-easy .editor-post-text-editor,
|
||||
.popup-block-easy .block-editor-block-list__layout {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-text,
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-buton-label,
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-buton-action,
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-buton-link {
|
||||
display: flex;
|
||||
}
|
||||
@@ -0,0 +1,500 @@
|
||||
/**
|
||||
* All of the CSS for your admin-facing functionality should be
|
||||
* included in this file.
|
||||
*/
|
||||
/*--------------------------------------------------------------*/
|
||||
#adp_popup_metabox .inside {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#adp_popup_metabox .hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Basic -------------------------------------------------------------- */
|
||||
.adp-metabox-wrap .adp-metabox-tabs {
|
||||
background: none;
|
||||
border: none;
|
||||
display: flex;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: none;
|
||||
border-right: 1px solid #eee;
|
||||
background: #FAFAFA;
|
||||
flex: 0 0 200px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li {
|
||||
display: block;
|
||||
background: transparent;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li a {
|
||||
border: none;
|
||||
border-bottom: 1px solid #eee;
|
||||
position: relative;
|
||||
display: block;
|
||||
font-size: 0.8125rem;
|
||||
line-height: 1.25rem;
|
||||
padding: 0.625rem;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
color: #0073aa;
|
||||
float: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li a:hover {
|
||||
color: #00a0d2;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li.ui-tabs-active {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation li.ui-tabs-active a {
|
||||
background-color: #eee;
|
||||
color: #555;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-content {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-content .ui-tabs-panel {
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.adp-metabox-wrap .adp-metabox-tabs {
|
||||
flex-direction: column;
|
||||
}
|
||||
.adp-metabox-wrap .adp-metabox-tabs > .adp-metabox-tabs-navigation {
|
||||
flex: 0 0 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field {
|
||||
display: flex;
|
||||
position: relative;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-label {
|
||||
position: relative;
|
||||
flex: 0 0 100%;
|
||||
float: none;
|
||||
margin: 0;
|
||||
padding: 1rem 1rem 0.5rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-label label {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
line-height: 1.4em;
|
||||
margin: 0 0 3px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input {
|
||||
position: relative;
|
||||
flex: 0 0 100%;
|
||||
margin: 0;
|
||||
padding: 1rem 1rem 0.5rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="number"],
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="text"],
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input select,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="number"].short,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input input[type="text"].short,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input select.short,
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input textarea.short {
|
||||
max-width: 100px;
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.adp-metabox-wrap .adp-metabox-field {
|
||||
flex-direction: row;
|
||||
}
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-label {
|
||||
flex: 0 0 20%;
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
.adp-metabox-wrap .adp-metabox-field .adp-metabox-input {
|
||||
flex: 0 0 80%;
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: -2rem;
|
||||
right: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch {
|
||||
border: 2px solid #555d66;
|
||||
box-sizing: border-box;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
height: 1.75rem;
|
||||
height: 18px;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: 36px;
|
||||
margin-right: 0.5rem;
|
||||
border-radius: 9px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch .adp-metabox-switch-on {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
z-index: 1;
|
||||
background: #6C7781;
|
||||
border-radius: 50%;
|
||||
transition: all 0s ease 0.25s;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch .adp-metabox-switch-off {
|
||||
border: 2px solid #6c7781;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
z-index: 1;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-switch .adp-metabox-switch-slider {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
z-index: 1;
|
||||
background: #6C7781;
|
||||
border-radius: 50%;
|
||||
transition: all 0.25s ease;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox:checked + .adp-metabox-switch {
|
||||
border-color: #11A0D2;
|
||||
background: #11A0D2;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox:checked + .adp-metabox-switch .adp-metabox-switch-on {
|
||||
top: 4px;
|
||||
left: 6px;
|
||||
width: 2px;
|
||||
height: 6px;
|
||||
background: #FFFFFF;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-switcher .adp-metabox-checkbox:checked + .adp-metabox-switch .adp-metabox-switch-slider {
|
||||
background: #FFFFFF;
|
||||
top: 2px;
|
||||
left: calc(50% + 4px);
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table {
|
||||
width: 100%;
|
||||
border: none;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr {
|
||||
background: #FFFFFF;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr th,
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr td {
|
||||
border: none;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr.ui-sortable-helper {
|
||||
display: table;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr.ui-sortable-placeholder {
|
||||
background: #F9F9F9;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater > table tr.ui-state-highlight td {
|
||||
background: #F9F9F9;
|
||||
border: 1px dashed #D8D8D8;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .btn-add-row {
|
||||
margin: 1rem 1.25rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-content input, .adp-metabox-wrap .adp-metabox-repeater .row-content textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-content input[type="number"] {
|
||||
max-width: 100px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-content p {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar {
|
||||
position: relative;
|
||||
border-bottom: 1px solid #EFEFEF;
|
||||
padding: 1rem 1.25rem;
|
||||
zoom: 1;
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .handlediv {
|
||||
display: block !important;
|
||||
background-position: 6px 5px;
|
||||
visibility: hidden;
|
||||
width: 27px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .handlediv:before {
|
||||
content: "\f142";
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font: 400 20px/1 Dashicons;
|
||||
line-height: .5;
|
||||
padding: 8px 10px;
|
||||
position: relative;
|
||||
right: 12px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar.closed .handlediv:before {
|
||||
content: "\f140";
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .delete {
|
||||
color: red;
|
||||
font-weight: 400;
|
||||
line-height: 26px;
|
||||
text-decoration: none;
|
||||
position: relative;
|
||||
visibility: hidden;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .signature {
|
||||
display: inline-block;
|
||||
padding-right: 100px;
|
||||
line-height: 26px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar .signature span {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar:hover .handlediv,
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-topbar:hover .delete {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-fields {
|
||||
border-bottom: 1px solid #EFEFEF;
|
||||
background-color: #FDFDFD;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-metabox-repeater .row-body {
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
|
||||
/* Popup -------------------------------------------------------------- */
|
||||
.adp-metabox-wrap .popup-field-info-text,
|
||||
.adp-metabox-wrap .popup-field-info-buton-label,
|
||||
.adp-metabox-wrap .popup-field-info-buton-action,
|
||||
.adp-metabox-wrap .popup-field-info-buton-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules input[type="text"],
|
||||
.adp-metabox-wrap .popup-field-rules select {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules .delete {
|
||||
display: inline-block;
|
||||
color: red;
|
||||
font-weight: 400;
|
||||
line-height: 26px;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules .add-new-rule {
|
||||
margin-left: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list:not(:empty) {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .row {
|
||||
border-top: 1px dashed #EEEEEE;
|
||||
margin-top: 1.5rem;
|
||||
padding-left: 1.25rem;
|
||||
padding-right: 1.25rem;
|
||||
padding-top: 1.5rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .row:first-child {
|
||||
border-top: none;
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .tools {
|
||||
position: relative;
|
||||
border-left: 2px solid #555D66;
|
||||
background: #FAFAFA;
|
||||
margin-top: 1rem;
|
||||
padding: 1rem;
|
||||
padding-right: 3rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .tools:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .tools-bar {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .remove-another-rule {
|
||||
position: absolute;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
top: 1rem;
|
||||
right: 1rem;
|
||||
margin: 0;
|
||||
font-size: 1rem;
|
||||
color: #555d66;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .remove-another-rule:hover {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list input[type="text"],
|
||||
.adp-metabox-wrap .popup-field-rules-list .select2 {
|
||||
width: 100%;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .select2-selection {
|
||||
border: 1px solid #ddd;
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
|
||||
border-radius: 0;
|
||||
min-height: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .popup-field-rules-list .select2-selection__choice {
|
||||
background: #FAFAFA;
|
||||
border-color: #CDCDCD;
|
||||
}
|
||||
|
||||
.adp-metabox-wrap .adp-popup-objects.hidden + .select2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.popup-block-easy .editor-post-title {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.popup-block-easy .edit-post-header-toolbar {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.popup-block-easy .editor-post-text-editor,
|
||||
.popup-block-easy .block-editor-block-list__layout {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-text,
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-buton-label,
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-buton-action,
|
||||
.popup-block-easy .adp-metabox-wrap .popup-field-info-buton-link {
|
||||
display: flex;
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
<?php // Silence is golden
|
||||
@@ -0,0 +1,662 @@
|
||||
"use strict";
|
||||
|
||||
/* Basic -------------------------------------------------------------- */
|
||||
|
||||
(function($) {
|
||||
var adpMetabox = {};
|
||||
|
||||
( function() {
|
||||
var $this;
|
||||
|
||||
adpMetabox = {
|
||||
/*
|
||||
* Initialize
|
||||
*/
|
||||
init: function( e ) {
|
||||
$this = adpMetabox;
|
||||
|
||||
// Variables.
|
||||
$this.wrap = $( '.adp-metabox-wrap' );
|
||||
|
||||
// Init.
|
||||
$this.metaboxInit( e );
|
||||
|
||||
// Init events.
|
||||
$this.events( e );
|
||||
},
|
||||
|
||||
/*
|
||||
* Events
|
||||
*/
|
||||
events: function( e ) {
|
||||
// Custom Events
|
||||
$this.wrap.on( 'click change keyup keydown', '.adp-metabox-repeater .attribute-name', $this.setSignature );
|
||||
$this.wrap.on( 'click', '.adp-metabox-repeater .row-topbar', $this.toggleItems );
|
||||
$this.wrap.on( 'click', '.adp-metabox-repeater .btn-remove-row', $this.removeRepeaterRow );
|
||||
$this.wrap.on( 'click', '.adp-metabox-repeater .btn-add-row', $this.addRepeaterRow );
|
||||
},
|
||||
|
||||
/*
|
||||
* Init metabox elements
|
||||
*/
|
||||
metaboxInit: function( e ) {
|
||||
// Add tabs for Meta Box (UI)
|
||||
$this.wrap.find( '.adp-metabox-tabs' ).tabs();
|
||||
|
||||
// Repeater sortable
|
||||
$this.wrap.find( '.adp-metabox-repeater tbody' ).sortable( {
|
||||
items: 'tr',
|
||||
placeholder: 'ui-state-highlight',
|
||||
handle: '.row-topbar, .row-handle',
|
||||
start: function( e, ui ) {
|
||||
ui.placeholder.height( ui.item.height() );
|
||||
},
|
||||
} );
|
||||
},
|
||||
|
||||
/*
|
||||
* Toggle items
|
||||
*/
|
||||
toggleItems: function() {
|
||||
if ( $( this ).hasClass( 'closed' ) ) {
|
||||
$( this ).removeClass( 'closed' );
|
||||
|
||||
$( this ).siblings( '.row-fields' ).slideDown();
|
||||
} else {
|
||||
$( this ).addClass( 'closed' );
|
||||
|
||||
$( this ).siblings( '.row-fields' ).slideUp();
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Set signature
|
||||
*/
|
||||
setSignature: function() {
|
||||
|
||||
var label = '<span>' + $( this ).data( 'label' ) + '</span>';
|
||||
|
||||
var value = $( this ).val() ? $( this ).val() : label;
|
||||
|
||||
$( this ).parents( '.row-content' ).find( '.signature' ).html( value );
|
||||
},
|
||||
|
||||
/*
|
||||
* Add repeater row
|
||||
*/
|
||||
addRepeaterRow: function() {
|
||||
|
||||
var repeater = $( this ).siblings( '.adp-metabox-repeater-table' )
|
||||
|
||||
// Get html row.
|
||||
var html = repeater.find( 'tbody tr.hidden' ).html();
|
||||
|
||||
// Add new row.
|
||||
repeater.find( 'tbody' ).append( '<tr class="row">' + html + '</tr>' );
|
||||
|
||||
// Visible all input and textarea.
|
||||
repeater.find( 'tr' ).not( '.hidden' ).find( 'input, textarea' ).removeAttr( 'disabled' );
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
/*
|
||||
* Remove repeater row
|
||||
*/
|
||||
removeRepeaterRow: function() {
|
||||
$( this ).parents( '.row' ).remove();
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
} )();
|
||||
|
||||
// Initialize.
|
||||
$( function() {
|
||||
adpMetabox.init();
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/* Popup -------------------------------------------------------------- */
|
||||
|
||||
(function($) {
|
||||
var adpPopup = {};
|
||||
|
||||
( function() {
|
||||
var $this;
|
||||
|
||||
adpPopup = {
|
||||
/*
|
||||
* Initialize
|
||||
*/
|
||||
init: function( e ) {
|
||||
$this = adpPopup;
|
||||
|
||||
// Variables.
|
||||
$this.wrap = $( '.popup-wrap' );
|
||||
|
||||
// Init.
|
||||
$this.popupInit( e );
|
||||
|
||||
// Init events.
|
||||
$this.events( e );
|
||||
},
|
||||
|
||||
/*
|
||||
* Events
|
||||
*/
|
||||
events: function( e ) {
|
||||
// Custom Events
|
||||
$this.wrap.on( 'change', 'select[name="adp_popup_type"]', $this.actionType );
|
||||
$this.wrap.on( 'change', 'select[name="adp_popup_info_button_action"]', $this.actionInfoAct );
|
||||
$this.wrap.on( 'change click', 'input[name="adp_popup_open_trigger"]', $this.actionOpenTrigger );
|
||||
$this.wrap.on( 'change click', 'input[name="adp_popup_close_trigger"]', $this.actionCloseTrigger );
|
||||
$this.wrap.on( 'change click', 'input[name="adp_popup_rules_mode"]', $this.actionRulesMode );
|
||||
$this.wrap.on( 'click', '.add-new-rule', $this.addNewRule );
|
||||
$this.wrap.on( 'click', '.add-another-rule', $this.addAnotherRule );
|
||||
$this.wrap.on( 'click', '.remove-rule', $this.removeRule );
|
||||
$this.wrap.on( 'click', '.remove-another-rule', $this.removeAnotherRule );
|
||||
$this.wrap.on( 'change', '.adp-popup-rules', $this.actionPopupRules );
|
||||
},
|
||||
|
||||
/*
|
||||
* Init popup elements
|
||||
*/
|
||||
popupInit: function( e ) {
|
||||
$this.actionType( 'select[name="adp_popup_type"]' );
|
||||
$this.actionInfoAct( 'select[name="adp_popup_info_button_action"]' );
|
||||
$this.actionOpenTrigger( 'input[name="adp_popup_open_trigger"]:checked' );
|
||||
$this.actionCloseTrigger( 'input[name="adp_popup_close_trigger"]:checked' );
|
||||
$this.actionRulesMode( 'input[name="adp_popup_rules_mode"]:checked' );
|
||||
$this.actionPopupRules( '.adp-popup-rules' );
|
||||
},
|
||||
|
||||
/*
|
||||
* Action popup type
|
||||
*/
|
||||
actionType: function( e ) {
|
||||
let val = $( typeof e === 'string' ? e : this ).val();
|
||||
|
||||
// Set editor easy and hide overlay close.
|
||||
if ( 'content' !== val ) {
|
||||
|
||||
$( '.popup-field-overlay-close' ).addClass( 'hidden' );
|
||||
|
||||
$( '.block-editor' ).addClass( 'popup-block-easy' );
|
||||
|
||||
$( '.editor-post-featured-image' ).parents( '.components-panel__body' ).hide();
|
||||
} else {
|
||||
$( '.popup-field-overlay-close' ).removeClass( 'hidden' );
|
||||
|
||||
$( '.block-editor' ).removeClass( 'popup-block-easy' );
|
||||
|
||||
$( '.editor-post-featured-image' ).parents( '.components-panel__body' ).show();
|
||||
}
|
||||
|
||||
// Hide preview image and content width.
|
||||
if ( 'content' !== val ) {
|
||||
$( '.popup-field-preview-image' ).addClass( 'hidden' );
|
||||
$( '.popup-field-content-box-width' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-preview-image' ).removeClass( 'hidden' );
|
||||
$( '.popup-field-content-box-width' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
// Hide notification box width.
|
||||
if ( 'notification-box' !== val ) {
|
||||
$( '.popup-field-notification-box-width' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-notification-box-width' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
// Hide notification bar width.
|
||||
if ( 'notification-bar' !== val ) {
|
||||
$( '.popup-field-notification-bar-width' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-notification-bar-width' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
// Hide location.
|
||||
if ( 'content' !== val && 'notification-box' !== val ) {
|
||||
$( 'select[name="adp_popup_location"] option[value="top-left"]' ).addClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="top-right"]' ).addClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="bottom-left"]' ).addClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="bottom-right"]' ).addClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="left"]' ).addClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="right"]' ).addClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="center"]' ).addClass( 'hidden' );
|
||||
|
||||
let location = $( 'select[name="adp_popup_location"]' ).val();
|
||||
|
||||
if ( 'top' !== location && 'bottom' !== location ) {
|
||||
$( 'select[name="adp_popup_location"] option[value="bottom"]' ).prop( 'selected', true );
|
||||
}
|
||||
} else {
|
||||
$( 'select[name="adp_popup_location"] option[value="top-left"]' ).removeClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="top-right"]' ).removeClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="bottom-left"]' ).removeClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="bottom-right"]' ).removeClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="left"]' ).removeClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="right"]' ).removeClass( 'hidden' );
|
||||
$( 'select[name="adp_popup_location"] option[value="center"]' ).removeClass( 'hidden' );
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Action info button act.
|
||||
*/
|
||||
actionInfoAct: function( e ) {
|
||||
let val = $( typeof e === 'string' ? e : this ).val();
|
||||
|
||||
if ( 'link' !== val ) {
|
||||
$( '.popup-field-info-buton-link' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-info-buton-link' ).removeClass( 'hidden' );
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Action open trigger.
|
||||
*/
|
||||
actionOpenTrigger: function( e ) {
|
||||
let val = $( typeof e === 'string' ? e : this ).val();
|
||||
|
||||
if ( 'delay' !== val ) {
|
||||
$( '.popup-field-open-delay-number' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-open-delay-number' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
if ( 'scroll' !== val ) {
|
||||
$( '.popup-field-open-scroll-position' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-open-scroll-position' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
if ( 'accept' !== val ) {
|
||||
$( '.popup-field-open-accept-desc' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-open-accept-desc' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
if ( 'manual' !== val ) {
|
||||
$( '.popup-field-open-manual-selector' ).addClass( 'hidden' );
|
||||
$( '.popup-field-limit-display' ).removeClass( 'hidden' );
|
||||
$( '.popup-field-limit-lifetime' ).removeClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-limit-display' ).addClass( 'hidden' );
|
||||
$( '.popup-field-limit-lifetime' ).addClass( 'hidden' );
|
||||
$( '.popup-field-open-manual-selector' ).removeClass( 'hidden' );
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Action close trigger.
|
||||
*/
|
||||
actionCloseTrigger: function( e ) {
|
||||
let val = $( typeof e === 'string' ? e : this ).val();
|
||||
|
||||
if ( 'delay' !== val ) {
|
||||
$( '.popup-field-close-delay-number' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-close-delay-number' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
if ( 'scroll' !== val ) {
|
||||
$( '.popup-field-close-scroll-position' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-close-scroll-position' ).removeClass( 'hidden' );
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Action rules mode.
|
||||
*/
|
||||
actionRulesMode: function( e ) {
|
||||
let val = $( typeof e === 'string' ? e : this ).val();
|
||||
|
||||
if ( 'specific' !== val ) {
|
||||
$( '.popup-field-rules' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( '.popup-field-rules' ).removeClass( 'hidden' );
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Build select rules.
|
||||
*/
|
||||
buildSelectRules: function() {
|
||||
|
||||
var list = JSON.parse( adp_popup_data.rules_list );
|
||||
|
||||
var output = '<select class="adp-popup-rules">';
|
||||
|
||||
for ( var optgroup in list ) {
|
||||
|
||||
let label = optgroup;
|
||||
|
||||
label = label.replace( 'general', adp_popup_data.label_general );
|
||||
label = label.replace( 'post_types', adp_popup_data.label_post_types );
|
||||
label = label.replace( 'taxonomies', adp_popup_data.label_taxonomies );
|
||||
|
||||
output += '<optgroup data-group="' + optgroup + '" label="' + label + '">';
|
||||
|
||||
for ( var event in list[ optgroup ] ) {
|
||||
|
||||
output += '<option value="' + event + '">';
|
||||
|
||||
// Name of option.
|
||||
output += list[ optgroup ][ event ];
|
||||
|
||||
output += '</option>';
|
||||
}
|
||||
|
||||
output += '</optgroup>';
|
||||
}
|
||||
|
||||
output += '</select>';
|
||||
|
||||
return output;
|
||||
},
|
||||
|
||||
/*
|
||||
* Build input url.
|
||||
*/
|
||||
buildInputUrl: function() {
|
||||
var output = '<input type="text" class="adp-popup-url">';
|
||||
|
||||
return output;
|
||||
},
|
||||
|
||||
/*
|
||||
* Build select objects.
|
||||
*/
|
||||
buildSelectObjects: function() {
|
||||
var output = '<select multiple class="adp-popup-objects"></select>';
|
||||
|
||||
return output;
|
||||
},
|
||||
|
||||
/*
|
||||
* Build row rules.
|
||||
*/
|
||||
buildRowRules: function() {
|
||||
var output = '<div class="row">';
|
||||
|
||||
// Add new tools.
|
||||
output += $this.buildToolsRules();
|
||||
|
||||
output += '<div class="tools-bar">';
|
||||
|
||||
// Add button another OR rule.
|
||||
output += '<div class="button add-another-rule">';
|
||||
|
||||
output += adp_popup_data.btn_label_another;
|
||||
|
||||
output += '</div>';
|
||||
|
||||
output += '<a href="#" class="delete remove-rule">';
|
||||
|
||||
output += adp_popup_data.btn_delete;
|
||||
|
||||
output += '</a>';
|
||||
|
||||
output += '</div>';
|
||||
|
||||
// Close.
|
||||
output += '</div>';
|
||||
|
||||
return output;
|
||||
},
|
||||
|
||||
/*
|
||||
* Build tools rules.
|
||||
*/
|
||||
buildToolsRules: function() {
|
||||
var output = '<div class="tools">';
|
||||
|
||||
output += $this.buildSelectRules();
|
||||
|
||||
output += $this.buildInputUrl();
|
||||
|
||||
output += $this.buildSelectObjects();
|
||||
|
||||
output += '<a href="#" class="delete remove-another-rule">';
|
||||
|
||||
output += '<span class="dashicons dashicons-no-alt"></span>'
|
||||
|
||||
output += '</a>';
|
||||
|
||||
output += '</div>';
|
||||
|
||||
return output;
|
||||
},
|
||||
|
||||
/*
|
||||
* Add new rule.
|
||||
*/
|
||||
addNewRule: function() {
|
||||
|
||||
var row = $this.buildRowRules();
|
||||
|
||||
$( row ).appendTo( '.popup-field-rules-list' );
|
||||
|
||||
$this.setIndexRules();
|
||||
|
||||
$this.popupInit();
|
||||
},
|
||||
|
||||
/*
|
||||
* Add anothe rule.
|
||||
*/
|
||||
addAnotherRule: function() {
|
||||
var tools = $this.buildToolsRules();
|
||||
|
||||
$( this ).parents( '.tools-bar' ).before( tools );
|
||||
|
||||
$this.setIndexRules();
|
||||
|
||||
$this.popupInit();
|
||||
},
|
||||
|
||||
/*
|
||||
* Remove new rule.
|
||||
*/
|
||||
removeRule: function() {
|
||||
let list = $( this ).parents( '.popup-field-rules-list' );
|
||||
|
||||
$( this ).parents( '.row' ).remove();
|
||||
|
||||
if ( ! $( list ).find( '.row' ).length ) {
|
||||
$( list ).html('');
|
||||
}
|
||||
|
||||
$this.setIndexRules();
|
||||
},
|
||||
|
||||
/*
|
||||
* Remove anothe rule.
|
||||
*/
|
||||
removeAnotherRule: function() {
|
||||
|
||||
let list = $( this ).parents( '.popup-field-rules-list' );
|
||||
|
||||
let row = $( this ).parents( '.row' );
|
||||
|
||||
if ( $( row ).find('.tools').length <= 1 ) {
|
||||
$( this ).parents( '.row' ).remove();
|
||||
|
||||
if ( ! $( list ).find( '.row' ).length ) {
|
||||
$( list ).html('');
|
||||
}
|
||||
} else {
|
||||
$( this ).parents( '.tools' ).remove();
|
||||
}
|
||||
|
||||
$this.setIndexRules();
|
||||
},
|
||||
|
||||
/*
|
||||
* Set index rules.
|
||||
*/
|
||||
setIndexRules: function() {
|
||||
$( '.popup-field-rules-list .row' ).each(function(i, row) {
|
||||
|
||||
$( row ).find( '.tools' ).each(function(t, tools) {
|
||||
// Select rules.
|
||||
$( tools ).find( '.adp-popup-rules' ).each(function(j, select) {
|
||||
$( select ).attr( 'name', 'adp_popup_rules[' + i + '][' + t + '][rule]' );
|
||||
});
|
||||
|
||||
// Input url.
|
||||
$( tools ).find( '.adp-popup-url' ).each(function(j, input) {
|
||||
$( input ).attr( 'name', 'adp_popup_rules[' + i + '][' + t + '][url]' );
|
||||
});
|
||||
|
||||
// Input objects.
|
||||
$( tools ).find( '.adp-popup-objects' ).each(function(j, select) {
|
||||
$( select ).attr( 'name', 'adp_popup_rules[' + i + '][' + t + '][object][]'.replace( 'index', i ) );
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
/*
|
||||
* Action poopup rules.
|
||||
*/
|
||||
actionPopupRules: function( e ) {
|
||||
let el = $( typeof e === 'string' ? e : this );
|
||||
|
||||
// Action.
|
||||
if ( typeof e !== 'string' ) {
|
||||
let select = $( el ).siblings( '.adp-popup-objects' );
|
||||
|
||||
let group = $( el ).find('option:selected').parents('optgroup').data( 'group' );
|
||||
|
||||
if ( 'general' === group ) {
|
||||
$( el ).siblings( '.adp-popup-objects' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( el ).siblings( '.adp-popup-objects' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
if ( 'url' !== $( el ).val() ) {
|
||||
$( el ).siblings( '.adp-popup-url' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( el ).siblings( '.adp-popup-url' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
// Reset options.
|
||||
$( select ).html( '' );
|
||||
|
||||
// Init Select2.
|
||||
$this.setObjectsSelect2( select );
|
||||
|
||||
// Init.
|
||||
} else {
|
||||
|
||||
$( el ).each(function(i, rule) {
|
||||
let select = $( rule ).siblings( '.adp-popup-objects' );
|
||||
|
||||
let group = $( rule ).find('option:selected').parents('optgroup').data( 'group' );
|
||||
|
||||
if ( 'general' === group ) {
|
||||
$( rule ).siblings( '.adp-popup-objects' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( rule ).siblings( '.adp-popup-objects' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
if ( 'url' !== $( rule ).val() ) {
|
||||
$( rule ).siblings( '.adp-popup-url' ).addClass( 'hidden' );
|
||||
} else {
|
||||
$( rule ).siblings( '.adp-popup-url' ).removeClass( 'hidden' );
|
||||
}
|
||||
|
||||
// Init Select2.
|
||||
$this.setObjectsSelect2( select );
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Set objects Select2.
|
||||
*/
|
||||
setObjectsSelect2: function( el ) {
|
||||
|
||||
var rules = $( el ).siblings('.adp-popup-rules');
|
||||
|
||||
var group = $( rules ).find('option:selected').parents('optgroup').data( 'group' );
|
||||
|
||||
var rule = $( rules ).find('option:selected').val();
|
||||
|
||||
$( el ).select2( {
|
||||
placeholder: adp_popup_data.select2_placeholder,
|
||||
minimumInputLength: 0,
|
||||
language: {
|
||||
errorLoading: function() {
|
||||
return adp_popup_data.select2_errorLoading;
|
||||
},
|
||||
loadingMore: function() {
|
||||
return adp_popup_data.select2_loadingMore;
|
||||
},
|
||||
noResults: function() {
|
||||
return adp_popup_data.select2_noResults;
|
||||
},
|
||||
searching: function() {
|
||||
return adp_popup_data.select2_searching;
|
||||
},
|
||||
removeAllItems: function() {
|
||||
return adp_popup_data.select2_removeAllItems;
|
||||
}
|
||||
},
|
||||
delay: 250,
|
||||
multiple: true,
|
||||
width: '100%',
|
||||
ajax: {
|
||||
url: adp_popup_data.ajaxurl,
|
||||
dataType: 'json',
|
||||
quietMillis: 100,
|
||||
data: function (params) {
|
||||
|
||||
var query = {
|
||||
group: group,
|
||||
rule: rule,
|
||||
search: params.term,
|
||||
page: params.page || 1,
|
||||
_wpnonce: adp_popup_data.nonce,
|
||||
action: 'adp_popup_rules_objects',
|
||||
}
|
||||
|
||||
return query;
|
||||
},
|
||||
processResults: function( data, params, params2 ) {
|
||||
var options = [];
|
||||
|
||||
if ( data && typeof data.items !== 'undefined' ) {
|
||||
$.each( data.items, function( index, text ) {
|
||||
options.push( { id: index, text: text } );
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
results: options,
|
||||
pagination: {
|
||||
more: data.pagination,
|
||||
}
|
||||
};
|
||||
},
|
||||
cache: true
|
||||
},
|
||||
} );
|
||||
}
|
||||
};
|
||||
|
||||
} )();
|
||||
|
||||
// Initialize.
|
||||
$( function() {
|
||||
adpPopup.init();
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* Plugin Name: Advanced Popups
|
||||
* Description: Display high-converting newsletter popups, a cookie notice, or a notification with the light-weight yet feature-rich plugin.
|
||||
* Version: 1.1.3
|
||||
* Author: Code Supply Co.
|
||||
* Author URI: https://codesupply.co
|
||||
* License: GPL-2.0+
|
||||
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
|
||||
* Text Domain: advanced-popups
|
||||
* Domain Path: /languages
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @package ADP
|
||||
*/
|
||||
|
||||
// If this file is called directly, abort.
|
||||
if ( ! defined( 'WPINC' ) ) {
|
||||
die;
|
||||
}
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*/
|
||||
define( 'ADP_URL', plugin_dir_url( __FILE__ ) );
|
||||
define( 'ADP_PATH', plugin_dir_path( __FILE__ ) );
|
||||
|
||||
/**
|
||||
* Plugin Activation.
|
||||
*/
|
||||
function adp_activation() {
|
||||
do_action( 'adp_activation' );
|
||||
}
|
||||
register_activation_hook( __FILE__, 'adp_activation' );
|
||||
|
||||
/**
|
||||
* Plugin Deactivation.
|
||||
*/
|
||||
function adp_deactivation() {
|
||||
do_action( 'adp_deactivation' );
|
||||
}
|
||||
register_deactivation_hook( __FILE__, 'adp_deactivation' );
|
||||
|
||||
/**
|
||||
* The core plugin class that is used to define internationalization,
|
||||
* admin-specific hooks, and public-facing site hooks.
|
||||
*/
|
||||
require plugin_dir_path( __FILE__ ) . 'includes/class-advanced-popups.php';
|
||||
|
||||
/**
|
||||
* Begins execution of the plugin.
|
||||
*
|
||||
* Since everything within the plugin is registered via hooks,
|
||||
* then kicking off the plugin from this point in the file does
|
||||
* not affect the page life cycle.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
function adp_init() {
|
||||
|
||||
$plugin = new ADP();
|
||||
$plugin->run();
|
||||
|
||||
}
|
||||
adp_init();
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by IcoMoon</metadata>
|
||||
<defs>
|
||||
<font id="advanced-popups-icons" horiz-adv-x="1024">
|
||||
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
||||
<missing-glyph horiz-adv-x="1024" />
|
||||
<glyph unicode=" " horiz-adv-x="512" d="" />
|
||||
<glyph unicode="" glyph-name="x" d="M571.733 426.667l226.133 226.133c17.067 17.067 17.067 42.667 0 59.733s-42.667 17.067-59.733 0l-226.133-226.133-226.133 226.133c-17.067 17.067-42.667 17.067-59.733 0s-17.067-42.667 0-59.733l226.133-226.133-226.133-226.133c-17.067-17.067-17.067-42.667 0-59.733 8.533-8.533 17.067-12.8 29.867-12.8s21.333 4.267 29.867 12.8l226.133 226.133 226.133-226.133c8.533-8.533 21.333-12.8 29.867-12.8s21.333 4.267 29.867 12.8c17.067 17.067 17.067 42.667 0 59.733l-226.133 226.133z" />
|
||||
</font></defs></svg>
|
||||
|
After Width: | Height: | Size: 965 B |
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M571.733 512l226.133-226.133c17.067-17.067 17.067-42.667 0-59.733s-42.667-17.067-59.733 0l-226.133 226.133-226.133-226.133c-17.067-17.067-42.667-17.067-59.733 0s-17.067 42.667 0 59.733l226.133 226.133-226.133 226.133c-17.067 17.067-17.067 42.667 0 59.733 8.533 8.533 17.067 12.8 29.867 12.8s21.333-4.267 29.867-12.8l226.133-226.133 226.133 226.133c8.533 8.533 21.333 12.8 29.867 12.8s21.333-4.267 29.867-12.8c17.067-17.067 17.067-42.667 0-59.733l-226.133-226.133z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["x"],"grid":24},"attrs":[{}],"properties":{"order":1,"id":4,"prevSize":24,"code":59667,"name":"x"},"setIdx":0,"setId":1,"iconIdx":0}],"height":1024,"metadata":{"name":"advanced-popups-icons"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"adp-icon-","metadata":{"fontFamily":"advanced-popups-icons","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"ie7":false,"noie8":true,"showSelector":false,"autoHost":true,"showVersion":false,"showMetadata":false,"showMetrics":false,"cssVars":true,"cssVarsFormat":"scss"},"imagePref":{"prefix":"adp-icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".advanced-popups-icon","name":"icomoon"},"historySize":100,"showCodes":true,"gridSize":16,"quickUsageToken":{"UntitledProject":"Y2UyMTZhNmEzZGVlN2Q0M2QxNTk5MmQxMTJhZmI4YzgjMSMxNTI5NDk5NDEyIyMj"}}}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Define the internationalization functionality
|
||||
*
|
||||
* Loads and defines the internationalization files for this plugin
|
||||
* so that it is ready for translation.
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
|
||||
/**
|
||||
* Define the internationalization functionality.
|
||||
*
|
||||
* Loads and defines the internationalization files for this plugin
|
||||
* so that it is ready for translation.
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
class ADP_i18n {
|
||||
|
||||
|
||||
/**
|
||||
* Load the plugin text domain for translation.
|
||||
*/
|
||||
public function load_plugin_textdomain() {
|
||||
|
||||
load_plugin_textdomain( 'advanced-popups', false, dirname( dirname( plugin_basename( __FILE__ ) ) ) . '/languages/' );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Register all actions and filters for the plugin
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
|
||||
/**
|
||||
* Register all actions and filters for the plugin.
|
||||
*
|
||||
* Maintain a list of all hooks that are registered throughout
|
||||
* the plugin, and register them with the WordPress API. Call the
|
||||
* run function to execute the list of actions and filters.
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
class ADP_Loader {
|
||||
|
||||
/**
|
||||
* The array of actions registered with WordPress.
|
||||
*
|
||||
* @access protected
|
||||
* @var array $actions The actions registered with WordPress to fire when the plugin loads.
|
||||
*/
|
||||
protected $actions;
|
||||
|
||||
/**
|
||||
* The array of filters registered with WordPress.
|
||||
*
|
||||
* @access protected
|
||||
* @var array $filters The filters registered with WordPress to fire when the plugin loads.
|
||||
*/
|
||||
protected $filters;
|
||||
|
||||
/**
|
||||
* Initialize the collections used to maintain the actions and filters.
|
||||
*/
|
||||
public function __construct() {
|
||||
|
||||
$this->actions = array();
|
||||
$this->filters = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new action to the collection to be registered with WordPress.
|
||||
|
||||
* @param string $hook The name of the WordPress action that is being registered.
|
||||
* @param object $component A reference to the instance of the object on which the action is defined.
|
||||
* @param string $callback The name of the function definition on the $component.
|
||||
* @param int $priority Optional. The priority at which the function should be fired. Default is 10.
|
||||
* @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1.
|
||||
*/
|
||||
public function add_action( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) {
|
||||
$this->actions = $this->add( $this->actions, $hook, $component, $callback, $priority, $accepted_args );
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new filter to the collection to be registered with WordPress.
|
||||
*
|
||||
* @param string $hook The name of the WordPress filter that is being registered.
|
||||
* @param object $component A reference to the instance of the object on which the filter is defined.
|
||||
* @param string $callback The name of the function definition on the $component.
|
||||
* @param int $priority Optional. The priority at which the function should be fired. Default is 10.
|
||||
* @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1.
|
||||
*/
|
||||
public function add_filter( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) {
|
||||
$this->filters = $this->add( $this->filters, $hook, $component, $callback, $priority, $accepted_args );
|
||||
}
|
||||
|
||||
/**
|
||||
* A utility function that is used to register the actions and hooks into a single
|
||||
* collection.
|
||||
|
||||
* @access private
|
||||
* @param array $hooks The collection of hooks that is being registered (that is, actions or filters).
|
||||
* @param string $hook The name of the WordPress filter that is being registered.
|
||||
* @param object $component A reference to the instance of the object on which the filter is defined.
|
||||
* @param string $callback The name of the function definition on the $component.
|
||||
* @param int $priority The priority at which the function should be fired.
|
||||
* @param int $accepted_args The number of arguments that should be passed to the $callback.
|
||||
* @return array The collection of actions and filters registered with WordPress.
|
||||
*/
|
||||
private function add( $hooks, $hook, $component, $callback, $priority, $accepted_args ) {
|
||||
|
||||
$hooks[] = array(
|
||||
'hook' => $hook,
|
||||
'component' => $component,
|
||||
'callback' => $callback,
|
||||
'priority' => $priority,
|
||||
'accepted_args' => $accepted_args,
|
||||
);
|
||||
|
||||
return $hooks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the filters and actions with WordPress.
|
||||
*/
|
||||
public function run() {
|
||||
|
||||
foreach ( $this->filters as $hook ) {
|
||||
add_filter( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args'] );
|
||||
}
|
||||
|
||||
foreach ( $this->actions as $hook ) {
|
||||
add_action( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,251 @@
|
||||
<?php
|
||||
/**
|
||||
* Class Advanced Popups Rules.
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class Rules
|
||||
*/
|
||||
class ADP_Popup_Rules {
|
||||
|
||||
/**
|
||||
* The instance.
|
||||
*
|
||||
* @var mixed $instance The instance.
|
||||
*/
|
||||
public static $instance;
|
||||
|
||||
/**
|
||||
* The rules.
|
||||
*
|
||||
* @var array $instance The rules.
|
||||
*/
|
||||
public $rules;
|
||||
|
||||
/**
|
||||
* The rule sort order.
|
||||
*
|
||||
* @var array $rule_sort_order The rule sort order.
|
||||
*/
|
||||
public $rule_sort_order = array();
|
||||
|
||||
/**
|
||||
* Init.
|
||||
*/
|
||||
public static function init() {
|
||||
self::instance();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return instance.
|
||||
*/
|
||||
public static function instance() {
|
||||
if ( ! isset( self::$instance ) ) {
|
||||
self::$instance = new self();
|
||||
}
|
||||
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get List rules
|
||||
*/
|
||||
public function get_list() {
|
||||
$list = array(
|
||||
'general' => array(),
|
||||
'post_types' => array(),
|
||||
'taxonomies' => array(),
|
||||
);
|
||||
|
||||
$types = array();
|
||||
|
||||
// General.
|
||||
$list['general'] = array(
|
||||
'none' => esc_html__( 'None', 'advanced-popups' ),
|
||||
'is_front_page' => esc_html__( 'Front Page', 'advanced-popups' ),
|
||||
'is_home' => esc_html__( 'Home Page', 'advanced-popups' ),
|
||||
'is_archive' => esc_html__( 'Archive Page', 'advanced-popups' ),
|
||||
'is_author' => esc_html__( 'Author Page', 'advanced-popups' ),
|
||||
'is_search' => esc_html__( 'Search Result Page', 'advanced-popups' ),
|
||||
'is_404' => esc_html__( '404 Error Page', 'advanced-popups' ),
|
||||
'url' => esc_html__( 'URL (slug)', 'advanced-popups' ),
|
||||
);
|
||||
|
||||
// Post types.
|
||||
$post_types = get_post_types( array(
|
||||
'public' => true,
|
||||
), 'objects' );
|
||||
|
||||
foreach ( $post_types as $name => $post_type ) {
|
||||
|
||||
if ( 'adp-popup' === $name ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( 'attachment' === $name ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$types[] = $name;
|
||||
|
||||
$list['post_types'][ 'post_type_' . $name ] = $post_type->labels->name;
|
||||
}
|
||||
|
||||
// Taxonomies.
|
||||
foreach ( $types as $name ) {
|
||||
|
||||
$post_type = get_post_type_object( $name );
|
||||
|
||||
$taxonomies = get_object_taxonomies( $name, 'object' );
|
||||
|
||||
foreach ( $taxonomies as $tax_name => $taxonomy ) {
|
||||
$list['taxonomies'][ 'taxonomy_' . $tax_name ] = esc_html__( 'Taxonomy of ', 'advanced-popups' ) . $post_type->labels->name . ': ' . $taxonomy->labels->name;
|
||||
}
|
||||
}
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get type from rule value
|
||||
*
|
||||
* @param string $val The value.
|
||||
*/
|
||||
public function get_type( $val ) {
|
||||
|
||||
if ( 'url' === $val ) {
|
||||
return 'url';
|
||||
}
|
||||
|
||||
if ( 0 === strpos( $val, 'is_' ) ) {
|
||||
return 'is';
|
||||
}
|
||||
|
||||
if ( 0 === strpos( $val, 'post_type' ) ) {
|
||||
return 'post';
|
||||
}
|
||||
|
||||
if ( 0 === strpos( $val, 'taxonomy' ) ) {
|
||||
return 'taxonomy';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get object from rule value
|
||||
*
|
||||
* @param string $val The value.
|
||||
*/
|
||||
public function get_object( $val ) {
|
||||
|
||||
$val = str_replace( array( 'post_type', 'taxonomy' ), '', $val );
|
||||
|
||||
return ltrim( $val, '_' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Checking all the rules on the front end
|
||||
*
|
||||
* @param string $rules The rules.
|
||||
*/
|
||||
public function is_check( $rules ) {
|
||||
if ( ! $rules ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$check = array();
|
||||
|
||||
foreach ( $rules as $i => $row ) {
|
||||
|
||||
$check[ $i ] = true;
|
||||
|
||||
foreach ( $row as $t => $tools ) {
|
||||
if ( ! isset( $tools['rule'] ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( 'none' === $tools['rule'] ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$rule = $tools['rule'];
|
||||
|
||||
// Get type from rule value.
|
||||
$type_rule = self::instance()->get_type( $rule );
|
||||
|
||||
// Get type object from rule value.
|
||||
$type_object = self::instance()->get_object( $rule );
|
||||
|
||||
$check_or = true;
|
||||
|
||||
// Check rules.
|
||||
switch ( $type_rule ) {
|
||||
case 'url':
|
||||
if ( isset( $tools['url'] ) && $tools['url'] ) {
|
||||
|
||||
$object_uri = ltrim( rtrim( $tools['url'], '/' ), '/' );
|
||||
$current_uri = ltrim( rtrim( $_SERVER['REQUEST_URI'], '/' ), '/' );
|
||||
|
||||
if ( $object_uri !== $current_uri ) {
|
||||
$check_or = false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'is':
|
||||
if ( ! function_exists( $rule ) || ! call_user_func( $rule ) ) {
|
||||
$check_or = false;
|
||||
}
|
||||
break;
|
||||
case 'post':
|
||||
if ( ! is_singular( $type_object ) ) {
|
||||
$check_or = false;
|
||||
}
|
||||
|
||||
$post_id = get_the_ID();
|
||||
|
||||
if ( isset( $tools['object'] ) && is_array( $tools['object'] ) ) {
|
||||
foreach ( $tools['object'] as $object ) {
|
||||
$check_or = (int) $post_id === (int) $object ? true : false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'taxonomy':
|
||||
if ( ! is_tax( $type_object ) ) {
|
||||
$check_or = false;
|
||||
}
|
||||
|
||||
$term_id = get_queried_object_id();
|
||||
|
||||
if ( isset( $tools['object'] ) && is_array( $tools['object'] ) ) {
|
||||
foreach ( $tools['object'] as $object ) {
|
||||
$check_or = (int) $term_id === (int) $object ? true : false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$check[ $i ] = $check_or;
|
||||
|
||||
if ( $check_or ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$is_check = true;
|
||||
|
||||
foreach ( $check as $item ) {
|
||||
if ( ! $item ) {
|
||||
$is_check = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $is_check;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,210 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* The file that defines the core plugin class
|
||||
*
|
||||
* A class definition that includes attributes and functions used across both the
|
||||
* public-facing side of the site and the admin area.
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
|
||||
/**
|
||||
* The core plugin class.
|
||||
*
|
||||
* This is used to define internationalization, admin-specific hooks, and
|
||||
* public-facing site hooks.
|
||||
*
|
||||
* Also maintains the unique identifier of this plugin as well as the current
|
||||
* version of the plugin.
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
class ADP {
|
||||
|
||||
/**
|
||||
* The loader that's responsible for maintaining and registering all hooks that power
|
||||
* the plugin.
|
||||
*
|
||||
* @access protected
|
||||
* @var ADP_Loader $loader Maintains and registers all hooks for the plugin.
|
||||
*/
|
||||
protected $loader;
|
||||
|
||||
/**
|
||||
* The unique identifier of this plugin.
|
||||
*
|
||||
* @access protected
|
||||
* @var string $adp The string used to uniquely identify this plugin.
|
||||
*/
|
||||
protected $adp;
|
||||
|
||||
/**
|
||||
* The current version of the plugin.
|
||||
*
|
||||
* @access protected
|
||||
* @var string $version The current version of the plugin.
|
||||
*/
|
||||
protected $version;
|
||||
|
||||
/**
|
||||
* Define the core functionality of the plugin.
|
||||
*
|
||||
* Set the plugin name and the plugin version that can be used throughout the plugin.
|
||||
* Load the dependencies, define the locale, and set the hooks for the admin area and
|
||||
* the public-facing side of the site.
|
||||
*/
|
||||
public function __construct() {
|
||||
|
||||
if ( ! function_exists( 'get_plugin_data' ) ) {
|
||||
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
||||
}
|
||||
|
||||
// Get plugin data.
|
||||
$plugin_data = get_plugin_data( ADP_PATH . '/advanced-popups.php' );
|
||||
|
||||
$this->version = $plugin_data['Version'];
|
||||
$this->adp = 'advanced-popups';
|
||||
|
||||
$this->load_dependencies();
|
||||
$this->set_locale();
|
||||
$this->define_admin_hooks();
|
||||
$this->define_public_hooks();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the required dependencies for this plugin.
|
||||
*
|
||||
* Include the following files that make up the plugin:
|
||||
*
|
||||
* - ADP_Loader. Orchestrates the hooks of the plugin.
|
||||
* - ADP_i18n. Defines internationalization functionality.
|
||||
* - ADP_Admin. Defines all hooks for the admin area.
|
||||
* - ADP_Public. Defines all hooks for the public side of the site.
|
||||
*
|
||||
* Create an instance of the loader which will be used to register the hooks
|
||||
* with WordPress.
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
private function load_dependencies() {
|
||||
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/helpers-advanced-popups.php';
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-advanced-popups-rules.php';
|
||||
|
||||
/**
|
||||
* The class responsible for orchestrating the actions and filters of the
|
||||
* core plugin.
|
||||
*/
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-advanced-popups-loader.php';
|
||||
|
||||
/**
|
||||
* The class responsible for defining internationalization functionality
|
||||
* of the plugin.
|
||||
*/
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-advanced-popups-i18n.php';
|
||||
|
||||
/**
|
||||
* The class responsible for defining all actions that occur in the admin area.
|
||||
*/
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-advanced-popups-admin.php';
|
||||
|
||||
/**
|
||||
* The class responsible for defining all actions that occur in the public-facing
|
||||
* side of the site.
|
||||
*/
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/class-advanced-popups-public.php';
|
||||
|
||||
$this->loader = new ADP_Loader();
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the locale for this plugin for internationalization.
|
||||
*
|
||||
* Uses the ADP_i18n class in order to set the domain and to register the hook
|
||||
* with WordPress.
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
private function set_locale() {
|
||||
|
||||
$plugin_i18n = new ADP_i18n();
|
||||
|
||||
$this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Register all of the hooks related to the admin area functionality
|
||||
* of the plugin.
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
private function define_admin_hooks() {
|
||||
|
||||
$plugin_admin = new ADP_Admin( $this->get_adp(), $this->get_version() );
|
||||
|
||||
$this->loader->add_action( 'init', $plugin_admin, 'register_post_type' );
|
||||
$this->loader->add_action( 'add_meta_boxes', $plugin_admin, 'metabox_popup_register' );
|
||||
$this->loader->add_action( 'save_post', $plugin_admin, 'metabox_popup_save', 10, 2 );
|
||||
$this->loader->add_action( 'wp_ajax_nopriv_adp_popup_rules_objects', $plugin_admin, 'ajax_rules_objects' );
|
||||
$this->loader->add_action( 'wp_ajax_adp_popup_rules_objects', $plugin_admin, 'ajax_rules_objects' );
|
||||
$this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'admin_enqueue_scripts' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Register all of the hooks related to the public-facing functionality
|
||||
* of the plugin.
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
private function define_public_hooks() {
|
||||
|
||||
$plugin_public = new ADP_Public( $this->get_adp(), $this->get_version() );
|
||||
|
||||
$this->loader->add_action( 'wp_head', $plugin_public, 'wp_head' );
|
||||
$this->loader->add_action( 'wp_footer', $plugin_public, 'wp_footer' );
|
||||
$this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'wp_enqueue_scripts' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the loader to execute all of the hooks with WordPress.
|
||||
*/
|
||||
public function run() {
|
||||
$this->loader->run();
|
||||
}
|
||||
|
||||
/**
|
||||
* The name of the plugin used to uniquely identify it within the context of
|
||||
* WordPress and to define internationalization functionality.
|
||||
*
|
||||
* @return string The name of the plugin.
|
||||
*/
|
||||
public function get_adp() {
|
||||
return $this->adp;
|
||||
}
|
||||
|
||||
/**
|
||||
* The reference to the class that orchestrates the hooks with the plugin.
|
||||
*
|
||||
* @return ADP_Loader Orchestrates the hooks of the plugin.
|
||||
*/
|
||||
public function get_loader() {
|
||||
return $this->loader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the version number of the plugin.
|
||||
*
|
||||
* @return string The version number of the plugin.
|
||||
*/
|
||||
public function get_version() {
|
||||
return $this->version;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* Helpers Advanced Popups
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/includes
|
||||
*/
|
||||
|
||||
/**
|
||||
* Processing path of style.
|
||||
*
|
||||
* @param string $path URL to the stylesheet.
|
||||
*/
|
||||
function adp_style( $path ) {
|
||||
// Check RTL.
|
||||
if ( is_rtl() ) {
|
||||
return $path;
|
||||
}
|
||||
|
||||
// Check Dev.
|
||||
$dev = ADP_PATH . 'public/css/advanced-popups-public-dev.css';
|
||||
|
||||
if ( file_exists( $dev ) ) {
|
||||
return str_replace( '.css', '-dev.css', $path );
|
||||
}
|
||||
|
||||
return $path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves a post meta field for the given post ID.
|
||||
*
|
||||
* @param int $post_id Post ID.
|
||||
* @param string $key Optional. The meta key to retrieve. By default, returns
|
||||
* data for all keys. Default empty.
|
||||
* @param bool $single Optional. If true, returns only the first value for the specified meta key.
|
||||
* This parameter has no effect if $key is not specified. Default false.
|
||||
* @param mixed $default Default value.
|
||||
* @return mixed Will be an array if $single is false. Will be value of the meta
|
||||
* field if $single is true.
|
||||
*/
|
||||
function adp_get_post_meta( $post_id, $key = '', $single = false, $default = null ) {
|
||||
|
||||
if ( ! metadata_exists( 'post', $post_id, $key ) && $default ) {
|
||||
return $default;
|
||||
}
|
||||
|
||||
return get_metadata( 'post', $post_id, $key, $single );
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether a popup should be displayed or not
|
||||
*
|
||||
* @param int $popup_id The popup Id.
|
||||
*/
|
||||
function adp_is_popup_visible( $popup_id ) {
|
||||
|
||||
$visible = true;
|
||||
|
||||
// Verify rules.
|
||||
$popup_rules_mode = adp_get_post_meta( $popup_id, '_adp_popup_rules_mode', true, 'all' );
|
||||
|
||||
if ( true === $visible && 'specific' === $popup_rules_mode ) {
|
||||
$popup_rules = adp_get_post_meta( $popup_id, '_adp_popup_rules', true, array() );
|
||||
|
||||
$visible = ADP_Popup_Rules::instance()->is_check( $popup_rules );
|
||||
}
|
||||
|
||||
// Has user seen this popup before?
|
||||
$popup_limit_display = adp_get_post_meta( $popup_id, '_adp_popup_limit_display', true, 1 );
|
||||
|
||||
if ( true === $visible && $popup_limit_display && isset( $_COOKIE[ "adp-popup-{$popup_id}" ] ) && $_COOKIE[ "adp-popup-{$popup_id}" ] >= $popup_limit_display ) {
|
||||
$visible = false;
|
||||
}
|
||||
|
||||
// Guests or Logged-in.
|
||||
if ( true === $visible ) {
|
||||
$popup_show_to = adp_get_post_meta( $popup_id, '_adp_popup_show_to', true, 'both' );
|
||||
|
||||
$visible = ! ( ( 'guest' === $popup_show_to && is_user_logged_in() ) || ( 'user' === $popup_show_to && ! is_user_logged_in() ) );
|
||||
}
|
||||
|
||||
// Apply a final filter to determine visibility.
|
||||
$visible = apply_filters( 'advanced_popups_is_popup_visible', $visible, $popup_id );
|
||||
|
||||
return $visible;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<?php // Silence is golden
|
||||
@@ -0,0 +1 @@
|
||||
<?php // Silence is golden
|
||||
@@ -0,0 +1,389 @@
|
||||
# Copyright (C) 2021 advanced-popups
|
||||
# This file is distributed under the same license as the advanced-popups package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: advanced-popups\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language-Team: Code Supply Co. <hello@codesupply.co>\n"
|
||||
"Last-Translator: Code Supply Co. <hello@codesupply.co>\n"
|
||||
"Report-Msgid-Bugs-To: https://codesupply.co/contact/\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:93
|
||||
msgid "Popup Settings"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:151, admin/class-advanced-popups-admin.php:299, admin/class-advanced-popups-admin.php:911
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:152
|
||||
msgid "Display Rules"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:153
|
||||
msgid "Triggers"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:154
|
||||
msgid "Style"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:155
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:161
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:165
|
||||
msgid "Content Box"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:166
|
||||
msgid "Notification Box"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:167
|
||||
msgid "Notification Bar"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:173
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:177, admin/class-advanced-popups-admin.php:197
|
||||
msgid "Top"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:178
|
||||
msgid "Top Left"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:179
|
||||
msgid "Top Right"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:180, admin/class-advanced-popups-admin.php:198
|
||||
msgid "Bottom"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:181
|
||||
msgid "Bottom Left"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:182
|
||||
msgid "Bottom Right"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:183, admin/class-advanced-popups-admin.php:195
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:184, admin/class-advanced-popups-admin.php:196
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:185
|
||||
msgid "Center"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:191
|
||||
msgid "Preview Image"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:199, admin/class-advanced-popups-admin.php:432, includes/class-advanced-popups-rules.php:70
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:205
|
||||
msgid "Notification Text"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:213
|
||||
msgid "Notification Button Label"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:221
|
||||
msgid "Notification Button Action"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:225
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:226
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:232
|
||||
msgid "Notification Button Link"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:240
|
||||
msgid "Limit display"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:242
|
||||
msgid "Show the popup only [n] times."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:251
|
||||
msgid "Limit display сache lifetime (days)"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:260
|
||||
msgid "Guests or Logged-in"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:266
|
||||
msgid "Show only to logged-in users"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:274
|
||||
msgid "Show Popup"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:277
|
||||
msgid "Entire Site"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:278
|
||||
msgid "Specific Pages"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:300, admin/class-advanced-popups-admin.php:912
|
||||
msgid "Posts Types"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:301, admin/class-advanced-popups-admin.php:913
|
||||
msgid "Taxonomies"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:358, admin/class-advanced-popups-admin.php:914
|
||||
msgid "Add another OR rule"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:361, admin/class-advanced-popups-admin.php:915
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:371
|
||||
msgid "Add New Rule "
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:378
|
||||
msgid "Trigger Open Popup"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:381, admin/class-advanced-popups-admin.php:398, admin/class-advanced-popups-admin.php:433, admin/class-advanced-popups-admin.php:439
|
||||
msgid "Time Delay"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:382
|
||||
msgid "Page Viewed"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:383
|
||||
msgid "Page Read"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:384
|
||||
msgid "Exit Intent"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:385, admin/class-advanced-popups-admin.php:406, admin/class-advanced-popups-admin.php:434
|
||||
msgid "Scroll Position"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:386
|
||||
msgid "Accept Agreement"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:387
|
||||
msgid "Manual Launch"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:393
|
||||
msgid "It works for \"Notification Box\" and \"Notification Bar\". And if \"Notification Button Action\" is selected as \"Accept\", then the popup will be displayed until the user accepts the agreement."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:401, admin/class-advanced-popups-admin.php:442
|
||||
msgid "Seconds"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:413, admin/class-advanced-popups-admin.php:454
|
||||
msgid "Px."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:414, admin/class-advanced-popups-admin.php:455
|
||||
msgid "%"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:415, admin/class-advanced-popups-admin.php:456
|
||||
msgid "of screen"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:421
|
||||
msgid "CSS Selector"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:429
|
||||
msgid "Trigger Close Popup"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:447
|
||||
msgid "Offset Scroll Position"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:464
|
||||
msgid "Open Animation"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:468, admin/class-advanced-popups-admin.php:481
|
||||
msgid "Fade"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:469, admin/class-advanced-popups-admin.php:482
|
||||
msgid "Slide"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:470, admin/class-advanced-popups-admin.php:483
|
||||
msgid "Zoom"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:471, admin/class-advanced-popups-admin.php:484
|
||||
msgid "Slide and Fade"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:477
|
||||
msgid "Exit Animation"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:490
|
||||
msgid "Content Box Width"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:494, admin/class-advanced-popups-admin.php:504, admin/class-advanced-popups-admin.php:514
|
||||
msgid "px."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:500
|
||||
msgid "Notification Box Width"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:510
|
||||
msgid "Notification Bar Width"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:520
|
||||
msgid "Light Close Button"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:528
|
||||
msgid "Display Overlay"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:538
|
||||
msgid "Mobile Disable"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:541
|
||||
msgid "Disable popup on mobile"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:546
|
||||
msgid "Disable Scrolling"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:549
|
||||
msgid "Disable scrolling on body"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:554
|
||||
msgid "Click Overlay to Close"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:557
|
||||
msgid "Checking this will cause popup to close when user clicks on overlay"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:562
|
||||
msgid "Press ESC to Close"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:565
|
||||
msgid "Checking this will cause popup to close when user presses ESC key"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:570
|
||||
msgid "Press F4 to Close"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:573
|
||||
msgid "Checking this will cause popup to close when user presses F4 key"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:916
|
||||
msgid "Find items..."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:917
|
||||
msgid "The results could not be loaded."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:918
|
||||
msgid "Loading more results..."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:919
|
||||
msgid "Nothing not found"
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:920
|
||||
msgid "Searching..."
|
||||
msgstr ""
|
||||
|
||||
#: admin/class-advanced-popups-admin.php:921
|
||||
msgid "Remove all items"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:71
|
||||
msgid "Front Page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:72
|
||||
msgid "Home Page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:73
|
||||
msgid "Archive Page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:74
|
||||
msgid "Author Page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:75
|
||||
msgid "Search Result Page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:76
|
||||
msgid "404 Error Page"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:77
|
||||
msgid "URL (slug)"
|
||||
msgstr ""
|
||||
|
||||
#: includes/class-advanced-popups-rules.php:108
|
||||
msgid "Taxonomy of "
|
||||
msgstr ""
|
||||
@@ -0,0 +1,271 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* The public-facing functionality of the plugin.
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/public
|
||||
*/
|
||||
|
||||
/**
|
||||
* The public-facing functionality of the plugin.
|
||||
*
|
||||
* Defines the plugin name, version, and two examples hooks for how to
|
||||
* enqueue the public-facing stylesheet and JavaScript.
|
||||
*
|
||||
* @package ADP
|
||||
* @subpackage ADP/public
|
||||
*/
|
||||
class ADP_Public {
|
||||
|
||||
/**
|
||||
* The ID of this plugin.
|
||||
|
||||
* @access private
|
||||
* @var string $adp The ID of this plugin.
|
||||
*/
|
||||
private $adp;
|
||||
|
||||
/**
|
||||
* The version of this plugin.
|
||||
|
||||
* @access private
|
||||
* @var string $version The current version of this plugin.
|
||||
*/
|
||||
private $version;
|
||||
|
||||
/**
|
||||
* Initialize the class and set its properties.
|
||||
*
|
||||
* @param string $adp The name of the plugin.
|
||||
* @param string $version The version of this plugin.
|
||||
*/
|
||||
public function __construct( $adp, $version ) {
|
||||
|
||||
$this->adp = $adp;
|
||||
$this->version = $version;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize
|
||||
*/
|
||||
public function wp_footer() {
|
||||
$query = new WP_Query();
|
||||
|
||||
// Get all popups.
|
||||
$popups = $query->query( array(
|
||||
'post_status' => 'publish',
|
||||
'post_type' => 'adp-popup',
|
||||
'posts_per_page' => -1,
|
||||
) );
|
||||
|
||||
// Looop popups.
|
||||
foreach ( $popups as $popup ) {
|
||||
$popup_type = adp_get_post_meta( $popup->ID, '_adp_popup_type', true, 'content' );
|
||||
$popup_location = adp_get_post_meta( $popup->ID, '_adp_popup_location', true, 'center' );
|
||||
$popup_preview_image = adp_get_post_meta( $popup->ID, '_adp_popup_preview_image', true, 'left' );
|
||||
$popup_info_text = adp_get_post_meta( $popup->ID, '_adp_popup_info_text', true );
|
||||
$popup_info_buton_label = adp_get_post_meta( $popup->ID, '_adp_popup_info_buton_label', true );
|
||||
$popup_info_button_action = adp_get_post_meta( $popup->ID, '_adp_popup_info_button_action', true, 'link' );
|
||||
$popup_info_button_link = adp_get_post_meta( $popup->ID, '_adp_popup_info_button_link', true );
|
||||
$popup_limit_display = adp_get_post_meta( $popup->ID, '_adp_popup_limit_display', true, 1 );
|
||||
$popup_limit_lifetime = adp_get_post_meta( $popup->ID, '_adp_popup_limit_lifetime', true, 30 );
|
||||
$popup_open_trigger = adp_get_post_meta( $popup->ID, '_adp_popup_open_trigger', true, 'delay' );
|
||||
$popup_open_delay_number = adp_get_post_meta( $popup->ID, '_adp_popup_open_delay_number', true, 1 );
|
||||
$popup_open_scroll_position = adp_get_post_meta( $popup->ID, '_adp_popup_open_scroll_position', true, 10 );
|
||||
$popup_open_scroll_type = adp_get_post_meta( $popup->ID, '_adp_popup_open_scroll_type', true, '%' );
|
||||
$popup_open_manual_selector = adp_get_post_meta( $popup->ID, '_adp_popup_open_manual_selector', true );
|
||||
$popup_close_trigger = adp_get_post_meta( $popup->ID, '_adp_popup_close_trigger', true, 'none' );
|
||||
$popup_close_delay_number = adp_get_post_meta( $popup->ID, '_adp_popup_close_delay_number', true, 30 );
|
||||
$popup_close_scroll_position = adp_get_post_meta( $popup->ID, '_adp_popup_close_scroll_position', true, 10 );
|
||||
$popup_close_scroll_type = adp_get_post_meta( $popup->ID, '_adp_popup_close_scroll_type', true, '%' );
|
||||
$popup_open_animation = adp_get_post_meta( $popup->ID, '_adp_popup_open_animation', true, 'popupOpenFade' );
|
||||
$popup_exit_animation = adp_get_post_meta( $popup->ID, '_adp_popup_exit_animation', true, 'popupExitFade' );
|
||||
$popup_content_box_width = adp_get_post_meta( $popup->ID, '_adp_popup_content_box_width', true, 500 );
|
||||
$popup_notification_box_width = adp_get_post_meta( $popup->ID, '_adp_popup_notification_box_width', true, 400 );
|
||||
$popup_notification_bar_width = adp_get_post_meta( $popup->ID, '_adp_popup_notification_bar_width', true, 1024 );
|
||||
$popup_light_close = adp_get_post_meta( $popup->ID, '_adp_popup_light_close', true, false );
|
||||
$popup_display_overlay = adp_get_post_meta( $popup->ID, '_adp_popup_display_overlay', true, false );
|
||||
$popup_mobile_disable = adp_get_post_meta( $popup->ID, '_adp_popup_mobile_disable', true );
|
||||
$popup_body_scroll_disable = adp_get_post_meta( $popup->ID, '_adp_popup_body_scroll_disable', true );
|
||||
$popup_overlay_close = adp_get_post_meta( $popup->ID, '_adp_popup_overlay_close', true );
|
||||
$popup_esc_close = adp_get_post_meta( $popup->ID, '_adp_popup_esc_close', true );
|
||||
$popup_f4_close = adp_get_post_meta( $popup->ID, '_adp_popup_f4_close', true );
|
||||
|
||||
// Check show popup.
|
||||
if ( ! adp_is_popup_visible( $popup->ID ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$has_post_thumbnail = has_post_thumbnail( $popup->ID ) && 'none' !== $popup_preview_image;
|
||||
|
||||
// Default location for notification bar.
|
||||
if ( 'notification-bar' === $popup_type ) {
|
||||
if ( 'top' !== $popup_location && 'bottom' !== $popup_location ) {
|
||||
$popup_location = 'bottom';
|
||||
}
|
||||
}
|
||||
|
||||
// Set popup width.
|
||||
if ( 'content' === $popup_type ) {
|
||||
|
||||
$popup_width = $popup_content_box_width . 'px';
|
||||
|
||||
if ( $has_post_thumbnail ) {
|
||||
$popup_width = ( $popup_content_box_width * 2 ) . 'px';
|
||||
}
|
||||
} elseif ( 'notification-box' === $popup_type ) {
|
||||
|
||||
$popup_width = $popup_notification_box_width . 'px';
|
||||
|
||||
} else {
|
||||
|
||||
$popup_width = '100%';
|
||||
}
|
||||
|
||||
// Set Popup CSS.
|
||||
$popup_style = sprintf( 'width:%s;', $popup_width );
|
||||
|
||||
// Set Outer CSS.
|
||||
$outer_style = sprintf( 'max-width:%s;', '100%' );
|
||||
|
||||
if ( 'notification-bar' === $popup_type ) {
|
||||
$outer_style = sprintf( 'max-width:%s;', $popup_notification_bar_width . 'px' );
|
||||
}
|
||||
|
||||
// Popup clasess.
|
||||
$class = 'adp-popup';
|
||||
$class .= ' adp-popup-type-' . esc_attr( $popup_type );
|
||||
$class .= ' adp-popup-location-' . esc_attr( $popup_location );
|
||||
$class .= ' adp-preview-image-' . esc_attr( $popup_preview_image );
|
||||
$class .= ' adp-preview-image-' . esc_attr( $has_post_thumbnail ? 'yes' : 'no' );
|
||||
|
||||
// Filter clasess.
|
||||
$class = apply_filters( 'adp_popup_clasess', $class, $popup->ID, $popup_type, $popup_location );
|
||||
?>
|
||||
<div class="<?php echo esc_attr( $class ); ?>"
|
||||
data-limit-display="<?php echo esc_attr( $popup_limit_display ); ?>"
|
||||
data-limit-lifetime="<?php echo esc_attr( $popup_limit_lifetime ); ?>"
|
||||
data-open-trigger="<?php echo esc_attr( $popup_open_trigger ); ?>"
|
||||
data-open-delay-number="<?php echo esc_attr( $popup_open_delay_number ); ?>"
|
||||
data-open-scroll-position="<?php echo esc_attr( $popup_open_scroll_position ); ?>"
|
||||
data-open-scroll-type="<?php echo esc_attr( $popup_open_scroll_type ); ?>"
|
||||
data-open-manual-selector="<?php echo esc_attr( $popup_open_manual_selector ); ?>"
|
||||
data-close-trigger="<?php echo esc_attr( $popup_close_trigger ); ?>"
|
||||
data-close-delay-number="<?php echo esc_attr( $popup_close_delay_number ); ?>"
|
||||
data-close-scroll-position="<?php echo esc_attr( $popup_close_scroll_position ); ?>"
|
||||
data-close-scroll-type="<?php echo esc_attr( $popup_close_scroll_type ); ?>"
|
||||
data-open-animation="<?php echo esc_attr( $popup_open_animation ); ?>"
|
||||
data-exit-animation="<?php echo esc_attr( $popup_exit_animation ); ?>"
|
||||
data-light-close="<?php echo esc_attr( $popup_light_close ? 'true' : 'false' ); ?>"
|
||||
data-overlay="<?php echo esc_attr( $popup_display_overlay ? 'true' : 'false' ); ?>"
|
||||
data-mobile-disable="<?php echo esc_attr( $popup_mobile_disable ? 'true' : 'false' ); ?>"
|
||||
data-body-scroll-disable="<?php echo esc_attr( $popup_body_scroll_disable ? 'true' : 'false' ); ?>"
|
||||
data-overlay-close="<?php echo esc_attr( $popup_overlay_close ? 'true' : 'false' ); ?>"
|
||||
data-esc-close="<?php echo esc_attr( $popup_esc_close ? 'true' : 'false' ); ?>"
|
||||
data-f4-close="<?php echo esc_attr( $popup_f4_close ? 'true' : 'false' ); ?>"
|
||||
data-id="<?php echo esc_attr( $popup->ID ); ?>"
|
||||
style="<?php echo esc_attr( $popup_style ); ?>">
|
||||
|
||||
<div class="adp-popup-wrap">
|
||||
|
||||
<div class="adp-popup-container">
|
||||
|
||||
<!-- Content -->
|
||||
<?php if ( 'content' === $popup_type ) { ?>
|
||||
<div class="adp-popup-outer" style="<?php echo esc_attr( $outer_style ); ?>">
|
||||
<?php if ( $has_post_thumbnail ) { ?>
|
||||
<div class="adp-popup-thumbnail">
|
||||
<?php echo get_the_post_thumbnail( $popup->ID, 'large', array( 'class' => 'adp-lazyload-disabled' ) ); ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<div class="adp-popup-content">
|
||||
<div class="adp-popup-inner">
|
||||
<?php
|
||||
$content = do_blocks( $popup->post_content );
|
||||
|
||||
echo do_shortcode( $content ); // XSS.
|
||||
?>
|
||||
</div>
|
||||
|
||||
<button type="button" class="adp-popup-close"></button>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<!-- Info -->
|
||||
<?php if ( 'notification-box' === $popup_type || 'notification-bar' === $popup_type ) { ?>
|
||||
<div class="adp-popup-outer" style="<?php echo esc_attr( $outer_style ); ?>">
|
||||
<?php if ( $popup_info_text ) { ?>
|
||||
<div class="adp-popup-text">
|
||||
<?php echo wp_kses( $popup_info_text, 'post' ); ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( $popup_info_buton_label ) { ?>
|
||||
<?php if ( 'accept' === $popup_info_button_action ) { ?>
|
||||
<button class="adp-button adp-popup-button adp-popup-accept">
|
||||
<?php echo wp_kses( $popup_info_buton_label, 'post' ); ?>
|
||||
</button>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( 'link' === $popup_info_button_action ) { ?>
|
||||
<a class="adp-button adp-popup-button" target="_blank" href="<?php echo esc_attr( $popup_info_button_link ); ?>">
|
||||
<?php echo wp_kses( $popup_info_buton_label, 'post' ); ?>
|
||||
</a>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
<button type="button" class="adp-popup-close"></button>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ( $popup_display_overlay ) { ?>
|
||||
<div class="adp-popup-overlay"></div>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
// Integration css of powerkit blocks.
|
||||
if ( function_exists( 'cnvs_gutenberg' ) ) {
|
||||
// Parse blocks.
|
||||
$blocks = parse_blocks( $popup->post_content );
|
||||
|
||||
$blocks_css = cnvs_gutenberg()->parse_blocks_css( $blocks );
|
||||
|
||||
if ( $blocks_css ) {
|
||||
echo sprintf( '<style>%s</style>', $blocks_css ); // XSS.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fire the wp_head action.
|
||||
*/
|
||||
public function wp_head() {
|
||||
?>
|
||||
<link rel="preload" href="<?php echo esc_url( ADP_URL . 'fonts/advanced-popups-icons.woff' ); ?>" as="font" type="font/woff" crossorigin>
|
||||
<?php
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the stylesheets for the public-facing side of the site.
|
||||
*/
|
||||
public function wp_enqueue_scripts() {
|
||||
// Scripts.
|
||||
wp_enqueue_script( $this->adp, plugin_dir_url( __FILE__ ) . 'js/advanced-popups-public.js', array( 'jquery' ), $this->version, false );
|
||||
|
||||
// Styles.
|
||||
wp_enqueue_style( $this->adp, adp_style( plugin_dir_url( __FILE__ ) . 'css/advanced-popups-public.css' ), array(), $this->version, 'all' );
|
||||
|
||||
// Add RTL support.
|
||||
wp_style_add_data( $this->adp, 'rtl', 'replace' );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,626 @@
|
||||
/**
|
||||
* All of the CSS for your public-facing functionality should be
|
||||
* included in this file.
|
||||
*/
|
||||
@font-face {
|
||||
font-family: 'advanced-popups-icons';
|
||||
src: url("../../fonts/advanced-popups-icons.woff") format("woff"), url("../../fonts/advanced-popups-icons.ttf") format("truetype"), url("../../fonts/advanced-popups-icons.svg") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
[class^="adp-icon-"],
|
||||
[class*=" adp-icon-"] {
|
||||
font-family: 'advanced-popups-icons' !important;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.adp-icon-x:before {
|
||||
content: "\e913";
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
/*--------------------------------------------------------------*/
|
||||
.adp-popup {
|
||||
--adp-popup-wrap-scrollbar-width: 0.625rem;
|
||||
--adp-popup-wrap-scrollbar-track-background: #f1f1f1;
|
||||
--adp-popup-wrap-scrollbar-thumb-background: #888;
|
||||
--adp-popup-wrap-scrollbar-thumb-hover-background: #555;
|
||||
--adp-popup-wrap-box-shadow: 0 0 40px 0 rgba(0,0,0,.075);
|
||||
--adp-popup-container-background: #FFFFFF;
|
||||
--adp-popup-close-font-size: 1.25rem;
|
||||
--adp-popup-close-color: #000;
|
||||
--adp-popup-close-hover-color: #777;
|
||||
--adp-popup-close-light-color: #FFFF;
|
||||
--adp-popup-close-light-hover-color: rgba(255,255,255,0.75);
|
||||
--adp-popup-type-content-close-font-size: 1.5rem;
|
||||
--adp-popup-type-notification-text-font-size: 90%;
|
||||
--adp-popup-type-notification-text-color: #777777;
|
||||
--adp-popup-type-notification-text-link-color: #000000;
|
||||
--adp-popup-type-notification-button-background: #282828;
|
||||
--adp-popup-type-notification-button-color: #FFF;
|
||||
--adp-popup-type-notification-button-border-radius: 0;
|
||||
}
|
||||
|
||||
.adp-popup-overlay {
|
||||
--adp-popup-overlay-background: rgba(0,0,0,0.25);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
.adp-popup-scroll-hidden {
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-popup-animated {
|
||||
-webkit-animation-duration: 0.5s;
|
||||
animation-duration: 0.5s;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenSlide {
|
||||
from {
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenSlide {
|
||||
from {
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitSlide {
|
||||
from {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitSlide {
|
||||
from {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenZoom {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenZoom {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitZoom {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitZoom {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenSlideFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenSlideFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitSlideFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitSlideFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.popupOpenFade {
|
||||
-webkit-animation-name: popupOpenFade;
|
||||
animation-name: popupOpenFade;
|
||||
}
|
||||
|
||||
.popupExitFade {
|
||||
-webkit-animation-name: popupExitFade;
|
||||
animation-name: popupExitFade;
|
||||
}
|
||||
|
||||
.popupOpenSlide {
|
||||
-webkit-animation-name: popupOpenSlide;
|
||||
animation-name: popupOpenSlide;
|
||||
}
|
||||
|
||||
.popupExitSlide {
|
||||
-webkit-animation-name: popupExitSlide;
|
||||
animation-name: popupExitSlide;
|
||||
}
|
||||
|
||||
.popupOpenZoom {
|
||||
-webkit-animation-name: popupOpenZoom;
|
||||
animation-name: popupOpenZoom;
|
||||
}
|
||||
|
||||
.popupExitZoom {
|
||||
-webkit-animation-name: popupExitZoom;
|
||||
animation-name: popupExitZoom;
|
||||
}
|
||||
|
||||
.popupOpenSlideFade {
|
||||
-webkit-animation-name: popupOpenSlideFade;
|
||||
animation-name: popupOpenSlideFade;
|
||||
}
|
||||
|
||||
.popupExitSlideFade {
|
||||
-webkit-animation-name: popupExitSlideFade;
|
||||
animation-name: popupExitSlideFade;
|
||||
}
|
||||
|
||||
.adp-popup {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
max-width: calc(100vw - 1.5rem);
|
||||
max-height: calc(100vh - 1.5rem);
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
|
||||
@media (min-width: 720px) {
|
||||
.adp-popup {
|
||||
max-width: calc(100vw - 6rem);
|
||||
max-height: calc(100vh - 6rem);
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-top {
|
||||
top: 20px;
|
||||
right: 50%;
|
||||
transform: translate3d(-50%, 0, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-top-left {
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-top-right {
|
||||
top: 20px;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-bottom {
|
||||
bottom: 20px;
|
||||
right: 50%;
|
||||
transform: translate3d(-50%, 0, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-bottom-left {
|
||||
right: 20px;
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-bottom-right {
|
||||
left: 20px;
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-left {
|
||||
top: 50%;
|
||||
right: 20px;
|
||||
transform: translate3d(0, -50%, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-right {
|
||||
top: 50%;
|
||||
left: 20px;
|
||||
transform: translate3d(0, -50%, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-center {
|
||||
top: 50%;
|
||||
right: 50%;
|
||||
transform: translate3d(-50%, -50%, 0);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap {
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
width: 100%;
|
||||
box-shadow: var(--adp-popup-wrap-box-shadow);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar {
|
||||
width: var(--adp-popup-wrap-scrollbar-width);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar-track {
|
||||
background: var(--adp-popup-wrap-scrollbar-track-background);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar-thumb {
|
||||
background: var(--adp-popup-wrap-scrollbar-thumb-background);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar-thumb:hover {
|
||||
background: var(--adp-popup-wrap-scrollbar-thumb-hover-background);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-container {
|
||||
background: var(--adp-popup-container-background);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-outer {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-thumbnail img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-close {
|
||||
position: absolute;
|
||||
background: transparent;
|
||||
color: var(--adp-popup-close-color);
|
||||
padding: 0;
|
||||
line-height: 1;
|
||||
font-size: var(--adp-popup-close-font-size);
|
||||
top: 20px;
|
||||
left: 20px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-close:before {
|
||||
font-family: 'advanced-popups-icons';
|
||||
transition: color 0.25s ease;
|
||||
content: "\e913";
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-hover-color);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-open[data-light-close="true"] .adp-popup-close {
|
||||
color: var(--adp-popup-close-light-color);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-open[data-light-close="true"] .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-light-hover-color);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-open {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.adp-popup.adp-popup-open[data-mobile-disable="true"] {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup-overlay {
|
||||
background: var(--adp-popup-overlay-background);
|
||||
position: fixed;
|
||||
display: none;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999998;
|
||||
}
|
||||
|
||||
.adp-popup-overlay .adp-popup-wrap {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.adp-popup-open + .adp-popup-overlay {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (max-width: 719.98px) {
|
||||
.adp-popup-type-content {
|
||||
max-width: 100vw;
|
||||
max-height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup-type-content .adp-popup-content {
|
||||
padding: 40px;
|
||||
}
|
||||
|
||||
.adp-popup-type-content .adp-popup-close {
|
||||
font-size: var(--adp-popup-type-content-close-font-size);
|
||||
}
|
||||
|
||||
.adp-popup-type-content .wp-block-cover:first-child:last-child {
|
||||
margin: -40px;
|
||||
width: initial;
|
||||
}
|
||||
|
||||
.adp-popup-type-content.adp-preview-image-yes .adp-popup-close {
|
||||
color: var(--adp-popup-close-light-color);
|
||||
}
|
||||
|
||||
.adp-popup-type-content.adp-preview-image-yes .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-light-hover-color);
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.adp-popup-type-content .adp-popup-outer {
|
||||
flex-direction: row;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-left .adp-popup-close, .adp-popup-type-content.adp-preview-image-bottom .adp-popup-close {
|
||||
color: var(--adp-popup-close-color);
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-left .adp-popup-close:hover:before, .adp-popup-type-content.adp-preview-image-bottom .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-hover-color);
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-left .adp-popup-thumbnail {
|
||||
order: 1;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-right .adp-popup-thumbnail {
|
||||
order: 3;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-top .adp-popup-outer {
|
||||
flex-direction: column;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-top .adp-popup-thumbnail img {
|
||||
position: relative;
|
||||
top: initial;
|
||||
bottom: initial;
|
||||
left: initial;
|
||||
right: initial;
|
||||
width: initial;
|
||||
height: initial;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-bottom .adp-popup-outer {
|
||||
flex-direction: column;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-bottom .adp-popup-thumbnail {
|
||||
order: 3;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-bottom .adp-popup-thumbnail img {
|
||||
position: relative;
|
||||
top: initial;
|
||||
bottom: initial;
|
||||
left: initial;
|
||||
right: initial;
|
||||
width: initial;
|
||||
height: initial;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-thumbnail {
|
||||
position: relative;
|
||||
flex: 1 0 50%;
|
||||
order: 1;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-thumbnail img {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-content {
|
||||
padding: 80px;
|
||||
flex: 1 0 50%;
|
||||
order: 2;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-content:first-child:last-child {
|
||||
flex: 1 0 100%;
|
||||
}
|
||||
.adp-popup-type-content .wp-block-cover:first-child:last-child {
|
||||
margin: -80px;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-outer,
|
||||
.adp-popup-type-notification-bar .adp-popup-outer {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-text,
|
||||
.adp-popup-type-notification-bar .adp-popup-text {
|
||||
padding-left: 10px;
|
||||
font-size: var(--adp-popup-type-notification-text-font-size);
|
||||
color: var(--adp-popup-type-notification-text-color);
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-text a,
|
||||
.adp-popup-type-notification-bar .adp-popup-text a {
|
||||
color: var(--adp-popup-type-notification-text-link-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-text a:hover,
|
||||
.adp-popup-type-notification-bar .adp-popup-text a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-button,
|
||||
.adp-popup-type-notification-bar .adp-popup-button {
|
||||
background: var(--adp-popup-type-notification-button-background);
|
||||
margin-top: 1.5rem;
|
||||
width: 100%;
|
||||
color: var(--adp-popup-type-notification-button-color);
|
||||
border-radius: var(--adp-popup-type-notification-button-border-radius);
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-close {
|
||||
top: 15px;
|
||||
left: 15px;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-bar.adp-popup-location-top {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: auto;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-bar.adp-popup-location-bottom {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
top: auto;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-bar .adp-popup-outer {
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
padding-right: 60px;
|
||||
padding-left: 60px;
|
||||
}
|
||||
|
||||
@media (min-width: 720px) {
|
||||
.adp-popup-type-notification-bar .adp-popup-outer {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 auto;
|
||||
padding-right: 40px;
|
||||
padding-left: 40px;
|
||||
}
|
||||
.adp-popup-type-notification-bar .adp-popup-close {
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.adp-popup-type-notification-bar .adp-button {
|
||||
margin-right: 1rem;
|
||||
margin-top: 0;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,626 @@
|
||||
/**
|
||||
* All of the CSS for your public-facing functionality should be
|
||||
* included in this file.
|
||||
*/
|
||||
@font-face {
|
||||
font-family: 'advanced-popups-icons';
|
||||
src: url("../../fonts/advanced-popups-icons.woff") format("woff"), url("../../fonts/advanced-popups-icons.ttf") format("truetype"), url("../../fonts/advanced-popups-icons.svg") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
[class^="adp-icon-"],
|
||||
[class*=" adp-icon-"] {
|
||||
font-family: 'advanced-popups-icons' !important;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.adp-icon-x:before {
|
||||
content: "\e913";
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
/*--------------------------------------------------------------*/
|
||||
.adp-popup {
|
||||
--adp-popup-wrap-scrollbar-width: 0.625rem;
|
||||
--adp-popup-wrap-scrollbar-track-background: #f1f1f1;
|
||||
--adp-popup-wrap-scrollbar-thumb-background: #888;
|
||||
--adp-popup-wrap-scrollbar-thumb-hover-background: #555;
|
||||
--adp-popup-wrap-box-shadow: 0 0 40px 0 rgba(0,0,0,.075);
|
||||
--adp-popup-container-background: #FFFFFF;
|
||||
--adp-popup-close-font-size: 1.25rem;
|
||||
--adp-popup-close-color: #000;
|
||||
--adp-popup-close-hover-color: #777;
|
||||
--adp-popup-close-light-color: #FFFF;
|
||||
--adp-popup-close-light-hover-color: rgba(255,255,255,0.75);
|
||||
--adp-popup-type-content-close-font-size: 1.5rem;
|
||||
--adp-popup-type-notification-text-font-size: 90%;
|
||||
--adp-popup-type-notification-text-color: #777777;
|
||||
--adp-popup-type-notification-text-link-color: #000000;
|
||||
--adp-popup-type-notification-button-background: #282828;
|
||||
--adp-popup-type-notification-button-color: #FFF;
|
||||
--adp-popup-type-notification-button-border-radius: 0;
|
||||
}
|
||||
|
||||
.adp-popup-overlay {
|
||||
--adp-popup-overlay-background: rgba(0,0,0,0.25);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
.adp-popup-scroll-hidden {
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-popup-animated {
|
||||
-webkit-animation-duration: 0.5s;
|
||||
animation-duration: 0.5s;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenSlide {
|
||||
from {
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenSlide {
|
||||
from {
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitSlide {
|
||||
from {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitSlide {
|
||||
from {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 100vh, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenZoom {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenZoom {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitZoom {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitZoom {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupOpenSlideFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupOpenSlideFade {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
visibility: visible;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes popupExitSlideFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popupExitSlideFade {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transform: translate3d(0, 40px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.popupOpenFade {
|
||||
-webkit-animation-name: popupOpenFade;
|
||||
animation-name: popupOpenFade;
|
||||
}
|
||||
|
||||
.popupExitFade {
|
||||
-webkit-animation-name: popupExitFade;
|
||||
animation-name: popupExitFade;
|
||||
}
|
||||
|
||||
.popupOpenSlide {
|
||||
-webkit-animation-name: popupOpenSlide;
|
||||
animation-name: popupOpenSlide;
|
||||
}
|
||||
|
||||
.popupExitSlide {
|
||||
-webkit-animation-name: popupExitSlide;
|
||||
animation-name: popupExitSlide;
|
||||
}
|
||||
|
||||
.popupOpenZoom {
|
||||
-webkit-animation-name: popupOpenZoom;
|
||||
animation-name: popupOpenZoom;
|
||||
}
|
||||
|
||||
.popupExitZoom {
|
||||
-webkit-animation-name: popupExitZoom;
|
||||
animation-name: popupExitZoom;
|
||||
}
|
||||
|
||||
.popupOpenSlideFade {
|
||||
-webkit-animation-name: popupOpenSlideFade;
|
||||
animation-name: popupOpenSlideFade;
|
||||
}
|
||||
|
||||
.popupExitSlideFade {
|
||||
-webkit-animation-name: popupExitSlideFade;
|
||||
animation-name: popupExitSlideFade;
|
||||
}
|
||||
|
||||
.adp-popup {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
max-width: calc(100vw - 1.5rem);
|
||||
max-height: calc(100vh - 1.5rem);
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
|
||||
@media (min-width: 720px) {
|
||||
.adp-popup {
|
||||
max-width: calc(100vw - 6rem);
|
||||
max-height: calc(100vh - 6rem);
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-top {
|
||||
top: 20px;
|
||||
left: 50%;
|
||||
transform: translate3d(-50%, 0, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-top-left {
|
||||
top: 20px;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-top-right {
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-bottom {
|
||||
bottom: 20px;
|
||||
left: 50%;
|
||||
transform: translate3d(-50%, 0, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-bottom-left {
|
||||
left: 20px;
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-bottom-right {
|
||||
right: 20px;
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-left {
|
||||
top: 50%;
|
||||
left: 20px;
|
||||
transform: translate3d(0, -50%, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-right {
|
||||
top: 50%;
|
||||
right: 20px;
|
||||
transform: translate3d(0, -50%, 0);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-location-center {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate3d(-50%, -50%, 0);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap {
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
width: 100%;
|
||||
box-shadow: var(--adp-popup-wrap-box-shadow);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar {
|
||||
width: var(--adp-popup-wrap-scrollbar-width);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar-track {
|
||||
background: var(--adp-popup-wrap-scrollbar-track-background);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar-thumb {
|
||||
background: var(--adp-popup-wrap-scrollbar-thumb-background);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-wrap::-webkit-scrollbar-thumb:hover {
|
||||
background: var(--adp-popup-wrap-scrollbar-thumb-hover-background);
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-container {
|
||||
background: var(--adp-popup-container-background);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-outer {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-thumbnail img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-close {
|
||||
position: absolute;
|
||||
background: transparent;
|
||||
color: var(--adp-popup-close-color);
|
||||
padding: 0;
|
||||
line-height: 1;
|
||||
font-size: var(--adp-popup-close-font-size);
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-close:before {
|
||||
font-family: 'advanced-popups-icons';
|
||||
transition: color 0.25s ease;
|
||||
content: "\e913";
|
||||
}
|
||||
|
||||
.adp-popup .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-hover-color);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-open[data-light-close="true"] .adp-popup-close {
|
||||
color: var(--adp-popup-close-light-color);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-open[data-light-close="true"] .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-light-hover-color);
|
||||
}
|
||||
|
||||
.adp-popup.adp-popup-open {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.adp-popup.adp-popup-open[data-mobile-disable="true"] {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup-overlay {
|
||||
background: var(--adp-popup-overlay-background);
|
||||
position: fixed;
|
||||
display: none;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999998;
|
||||
}
|
||||
|
||||
.adp-popup-overlay .adp-popup-wrap {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.adp-popup-open + .adp-popup-overlay {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (max-width: 719.98px) {
|
||||
.adp-popup-type-content {
|
||||
max-width: 100vw;
|
||||
max-height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup-type-content .adp-popup-content {
|
||||
padding: 40px;
|
||||
}
|
||||
|
||||
.adp-popup-type-content .adp-popup-close {
|
||||
font-size: var(--adp-popup-type-content-close-font-size);
|
||||
}
|
||||
|
||||
.adp-popup-type-content .wp-block-cover:first-child:last-child {
|
||||
margin: -40px;
|
||||
width: initial;
|
||||
}
|
||||
|
||||
.adp-popup-type-content.adp-preview-image-yes .adp-popup-close {
|
||||
color: var(--adp-popup-close-light-color);
|
||||
}
|
||||
|
||||
.adp-popup-type-content.adp-preview-image-yes .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-light-hover-color);
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.adp-popup-type-content .adp-popup-outer {
|
||||
flex-direction: row;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-left .adp-popup-close, .adp-popup-type-content.adp-preview-image-bottom .adp-popup-close {
|
||||
color: var(--adp-popup-close-color);
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-left .adp-popup-close:hover:before, .adp-popup-type-content.adp-preview-image-bottom .adp-popup-close:hover:before {
|
||||
color: var(--adp-popup-close-hover-color);
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-left .adp-popup-thumbnail {
|
||||
order: 1;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-right .adp-popup-thumbnail {
|
||||
order: 3;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-top .adp-popup-outer {
|
||||
flex-direction: column;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-top .adp-popup-thumbnail img {
|
||||
position: relative;
|
||||
top: initial;
|
||||
bottom: initial;
|
||||
right: initial;
|
||||
left: initial;
|
||||
width: initial;
|
||||
height: initial;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-bottom .adp-popup-outer {
|
||||
flex-direction: column;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-bottom .adp-popup-thumbnail {
|
||||
order: 3;
|
||||
}
|
||||
.adp-popup-type-content.adp-preview-image-bottom .adp-popup-thumbnail img {
|
||||
position: relative;
|
||||
top: initial;
|
||||
bottom: initial;
|
||||
right: initial;
|
||||
left: initial;
|
||||
width: initial;
|
||||
height: initial;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-thumbnail {
|
||||
position: relative;
|
||||
flex: 1 0 50%;
|
||||
order: 1;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-thumbnail img {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-content {
|
||||
padding: 80px;
|
||||
flex: 1 0 50%;
|
||||
order: 2;
|
||||
}
|
||||
.adp-popup-type-content .adp-popup-content:first-child:last-child {
|
||||
flex: 1 0 100%;
|
||||
}
|
||||
.adp-popup-type-content .wp-block-cover:first-child:last-child {
|
||||
margin: -80px;
|
||||
}
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-outer,
|
||||
.adp-popup-type-notification-bar .adp-popup-outer {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-text,
|
||||
.adp-popup-type-notification-bar .adp-popup-text {
|
||||
padding-right: 10px;
|
||||
font-size: var(--adp-popup-type-notification-text-font-size);
|
||||
color: var(--adp-popup-type-notification-text-color);
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-text a,
|
||||
.adp-popup-type-notification-bar .adp-popup-text a {
|
||||
color: var(--adp-popup-type-notification-text-link-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-text a:hover,
|
||||
.adp-popup-type-notification-bar .adp-popup-text a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-button,
|
||||
.adp-popup-type-notification-bar .adp-popup-button {
|
||||
background: var(--adp-popup-type-notification-button-background);
|
||||
margin-top: 1.5rem;
|
||||
width: 100%;
|
||||
color: var(--adp-popup-type-notification-button-color);
|
||||
border-radius: var(--adp-popup-type-notification-button-border-radius);
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-box .adp-popup-close {
|
||||
top: 15px;
|
||||
right: 15px;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-bar.adp-popup-location-top {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: auto;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-bar.adp-popup-location-bottom {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
top: auto;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.adp-popup-type-notification-bar .adp-popup-outer {
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
padding-left: 60px;
|
||||
padding-right: 60px;
|
||||
}
|
||||
|
||||
@media (min-width: 720px) {
|
||||
.adp-popup-type-notification-bar .adp-popup-outer {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 auto;
|
||||
padding-left: 40px;
|
||||
padding-right: 40px;
|
||||
}
|
||||
.adp-popup-type-notification-bar .adp-popup-close {
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.adp-popup-type-notification-bar .adp-button {
|
||||
margin-left: 1rem;
|
||||
margin-top: 0;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<?php // Silence is golden
|
||||
@@ -0,0 +1,429 @@
|
||||
"use strict";
|
||||
|
||||
jQuery(document).ready(function($) {
|
||||
|
||||
var adpPopup = {};
|
||||
|
||||
( function() {
|
||||
var $this;
|
||||
|
||||
adpPopup = {
|
||||
sPrevious : window.scrollY,
|
||||
sDirection: 'down',
|
||||
|
||||
/*
|
||||
* Initialize
|
||||
*/
|
||||
init: function( e ) {
|
||||
$this = adpPopup;
|
||||
|
||||
$this.popupInit( e );
|
||||
|
||||
// Init events.
|
||||
$this.events( e );
|
||||
},
|
||||
|
||||
/*
|
||||
* Events
|
||||
*/
|
||||
events: function( e ) {
|
||||
// Custom Events
|
||||
$( document ).on( 'click', '.adp-popup-close', $this.closePopup );
|
||||
$( document ).on( 'click', '.adp-popup-accept', $this.acceptPopup );
|
||||
$( document ).on( 'click', '.adp-popup-accept', $this.closePopup );
|
||||
|
||||
// Checking this will cause popup to close when user presses key.
|
||||
$( document ).keyup(function(e) {
|
||||
// Press ESC to Close.
|
||||
if ( e.key === 'Escape' ) {
|
||||
$( '.adp-popup-open[data-esc-close="true"]' ).each(function(index, popup) {
|
||||
$this.closePopup(popup);
|
||||
});
|
||||
}
|
||||
|
||||
// Press F4 to Close.
|
||||
if ( e.key === 'F4' ) {
|
||||
$( '.adp-popup-open[data-esc-close="true"]' ).each(function(index, popup) {
|
||||
$this.closePopup(popup);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Checking this will cause popup to close when user clicks on overlay.
|
||||
$( document ).on( 'click', '.adp-popup-overlay', function( e ) {
|
||||
$this.closePopup( $( this).prev() );
|
||||
} );
|
||||
},
|
||||
|
||||
/*
|
||||
* Init popup elements
|
||||
*/
|
||||
popupInit: function( e ) {
|
||||
|
||||
// Set scroll direction.
|
||||
$( document ).on( 'scroll', function() {
|
||||
|
||||
let scrollCurrent = window.scrollY;
|
||||
|
||||
// Set scroll temporary vars.
|
||||
if ( scrollCurrent > $this.sPrevious ) {
|
||||
$this.sDirection = 'down';
|
||||
} else {
|
||||
$this.sDirection = 'up';
|
||||
}
|
||||
|
||||
$this.sPrevious = scrollCurrent;
|
||||
});
|
||||
|
||||
// Open popup
|
||||
$( '.adp-popup' ).each(function(index, popup) {
|
||||
// Manual Launch.
|
||||
if ( 'manual' === $( popup ).data( 'open-trigger' ) ) {
|
||||
|
||||
let selector = $( popup ).data( 'open-manual-selector' );
|
||||
|
||||
if ( selector ) {
|
||||
|
||||
$( document ).on( 'click', selector, function( e ) {
|
||||
event.preventDefault();
|
||||
|
||||
$( popup ).removeClass( 'adp-popup-already-opened' );
|
||||
|
||||
$this.openPopup( popup );
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
// Checks whether a popup should be displayed or not.
|
||||
if ( ! $this.isAllowPopup( popup ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this.openTriggerPopup( popup );
|
||||
});
|
||||
},
|
||||
|
||||
/*
|
||||
* Trigger open popup
|
||||
*/
|
||||
openTriggerPopup: function( e ) {
|
||||
let popup = ( e.originalEvent ) ? this : e;
|
||||
|
||||
var trigger = $( popup ).data( 'open-trigger' );
|
||||
|
||||
// Page Viewed.
|
||||
if ( 'viewed' === trigger ) {
|
||||
$this.openPopup( popup );
|
||||
}
|
||||
|
||||
// Time Delay.
|
||||
if ( 'delay' === trigger ) {
|
||||
setTimeout( function() {
|
||||
|
||||
$this.openPopup( popup );
|
||||
|
||||
}, $( popup ).data( 'open-delay-number' ) * 1000 );
|
||||
}
|
||||
|
||||
// Exit Intent.
|
||||
if ( 'exit' === trigger ) {
|
||||
var showExit = true;
|
||||
document.addEventListener( "mousemove", function( e ) {
|
||||
// Get current scroll position
|
||||
var scroll = window.pageYOffset || document.documentElement.scrollTop;
|
||||
if ( ( e.pageY - scroll ) < 7 && showExit ) {
|
||||
$this.openPopup( popup );
|
||||
showExit = false;
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
// Scroll Position.
|
||||
if ( 'read' === trigger || 'scroll' === trigger ) {
|
||||
|
||||
var pointScrollType = $( popup ).data( 'open-scroll-type' );
|
||||
var pointScrollPosition = $( popup ).data( 'open-scroll-position' );
|
||||
|
||||
if ( 'read' === trigger ) {
|
||||
pointScrollType = '%';
|
||||
pointScrollPosition = 100;
|
||||
}
|
||||
|
||||
// Event scroll.
|
||||
$( document ).on( 'scroll', function() {
|
||||
|
||||
// Type px.
|
||||
if ( 'px' === pointScrollType ) {
|
||||
|
||||
if ( window.scrollY >= pointScrollPosition ) {
|
||||
$this.openPopup( popup );
|
||||
}
|
||||
}
|
||||
|
||||
// Type %.
|
||||
if ( '%' === pointScrollType ) {
|
||||
|
||||
if ( $this.getScrollPercent() >= pointScrollPosition ) {
|
||||
$this.openPopup( popup );
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
// Accept Agreement.
|
||||
if ( 'accept' === trigger ) {
|
||||
let accept = $this.getCookie( 'adp-popup-accept-' + $( popup ).data( 'id' ) || 0 );
|
||||
|
||||
if ( ! accept ) {
|
||||
$this.openPopup( popup );
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Trigger close popup
|
||||
*/
|
||||
closeTriggerPopup: function( e ) {
|
||||
let popup = ( e.originalEvent ) ? this : e;
|
||||
|
||||
var trigger = $( popup ).data( 'close-trigger' );
|
||||
|
||||
// Time Delay.
|
||||
if ( 'delay' === trigger ) {
|
||||
setTimeout( function() {
|
||||
|
||||
$this.closePopup(popup);
|
||||
|
||||
}, $( popup ).data( 'close-delay-number' ) * 1000 );
|
||||
}
|
||||
|
||||
// Scroll Position.
|
||||
if ( 'scroll' === trigger ) {
|
||||
|
||||
var pointScrollType = $( popup ).data( 'close-scroll-type' );
|
||||
var pointScrollPosition = $( popup ).data( 'close-scroll-position' );
|
||||
var initScrollPx = $( popup ).data( 'init-scroll-px' );
|
||||
var initScrollPercent = $( popup ).data( 'init-scroll-percent' );
|
||||
|
||||
// Event scroll.
|
||||
$( document ).on( 'scroll', function() {
|
||||
|
||||
// Type px.
|
||||
if ( 'px' === pointScrollType ) {
|
||||
|
||||
if ( 'up' === $this.sDirection && window.scrollY < ( initScrollPx - pointScrollPosition ) ) {
|
||||
$this.closePopup( popup );
|
||||
}
|
||||
|
||||
if ( 'down' === $this.sDirection && window.scrollY >= ( initScrollPx + pointScrollPosition ) ) {
|
||||
$this.closePopup( popup );
|
||||
}
|
||||
}
|
||||
|
||||
// Type %.
|
||||
if ( '%' === pointScrollType ) {
|
||||
|
||||
if ( 'up' === $this.sDirection && $this.getScrollPercent() < ( initScrollPercent - pointScrollPosition ) ) {
|
||||
$this.closePopup(popup);
|
||||
}
|
||||
|
||||
if ( 'down' === $this.sDirection && $this.getScrollPercent() >= ( initScrollPercent + pointScrollPosition ) ) {
|
||||
$this.closePopup(popup);
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Open popup
|
||||
*/
|
||||
openPopup: function( e ) {
|
||||
let popup = ( e.originalEvent ) ? this : e;
|
||||
|
||||
if ( $( popup ).hasClass( 'adp-popup-open' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Check already opened.
|
||||
if ( $( popup ).hasClass( 'adp-popup-already-opened' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Display popup.
|
||||
$( popup ).addClass( 'adp-popup-open' );
|
||||
|
||||
// Set current scroll.
|
||||
$( popup ).data( 'init-scroll-px', window.scrollY );
|
||||
$( popup ).data( 'init-scroll-percent', $this.getScrollPercent() );
|
||||
|
||||
// Hide body scroll.
|
||||
if ( $( popup ).is( '[data-body-scroll-disable="true"]' ) ) {
|
||||
$( 'body' ).addClass( 'adp-popup-scroll-hidden' );
|
||||
}
|
||||
|
||||
// Set Cookie of Limit display.
|
||||
let limit = parseInt( $this.getCookie( 'adp-popup-' + $( popup ).data( 'id' ) ) || 0 ) + 1;
|
||||
|
||||
$this.setCookie( 'adp-popup-' + $( popup ).data( 'id' ), limit, {
|
||||
expires: $( popup ).data( 'limit-lifetime' )
|
||||
} );
|
||||
|
||||
// Open animation.
|
||||
let animation = $( popup ).data( 'open-animation' );
|
||||
|
||||
$this.applyAnimation( popup, animation );
|
||||
|
||||
// Init close trigger.
|
||||
$this.closeTriggerPopup( popup );
|
||||
},
|
||||
|
||||
/*
|
||||
* Accept popup
|
||||
*/
|
||||
acceptPopup: function( e ) {
|
||||
|
||||
let $el = ( e.originalEvent ) ? this : e;
|
||||
|
||||
// Get popup container.
|
||||
let popup = $( $el ).closest( '.adp-popup' );
|
||||
|
||||
// Set Cookie of Accept.
|
||||
$this.setCookie( 'adp-popup-accept-' + $( popup ).data( 'id' ), 1, {
|
||||
expires: 360
|
||||
} );
|
||||
},
|
||||
|
||||
/*
|
||||
* Close popup
|
||||
*/
|
||||
closePopup: function( e ) {
|
||||
|
||||
let $el = ( e.originalEvent ) ? this : e;
|
||||
|
||||
// Get popup container.
|
||||
let popup = $( $el ).closest( '.adp-popup' );
|
||||
|
||||
// Close animation.
|
||||
let animation = $( popup ).data( 'exit-animation' );
|
||||
|
||||
$this.applyAnimation( popup, animation, function() {
|
||||
// Already opened.
|
||||
$( popup ).addClass( 'adp-popup-already-opened' );
|
||||
|
||||
// Hide popup.
|
||||
$( popup ).removeClass( 'adp-popup-open' );
|
||||
|
||||
// Remove classes from body.
|
||||
$( 'body' ).removeClass( 'adp-popup-scroll-hidden' );
|
||||
} );
|
||||
},
|
||||
|
||||
/*
|
||||
* Checks whether a popup should be displayed or not
|
||||
*/
|
||||
isAllowPopup: function( e ) {
|
||||
let popup = ( e.originalEvent ) ? this : e;
|
||||
|
||||
// Has user seen this popup before?
|
||||
let limitDisplay = parseInt( $( popup ).data( 'limit-display' ) || 0 );
|
||||
|
||||
let limitDisplayCookie = parseInt( $this.getCookie( 'adp-popup-' + $( popup ).data( 'id' ) ) );
|
||||
|
||||
if ( limitDisplay && limitDisplayCookie && limitDisplayCookie >= limitDisplay ) {
|
||||
return;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
/*
|
||||
* Apply animation
|
||||
*/
|
||||
applyAnimation: function( el, name, callback ) {
|
||||
var popup = $( el ).closest( '.adp-popup' );
|
||||
|
||||
if ( typeof callback === 'function' ) {
|
||||
var overlayName = 'popupExitFade';
|
||||
} else {
|
||||
var overlayName = 'popupOpenFade';
|
||||
}
|
||||
|
||||
// Overlay Animation.
|
||||
$( popup ).next( '.adp-popup-overlay' ).addClass( 'adp-popup-animated ' + overlayName )
|
||||
.one( 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() {
|
||||
$( this ).removeClass( 'adp-popup-animated ' + overlayName );
|
||||
} );
|
||||
|
||||
// Wrap Animation.
|
||||
$( popup ).find( '.adp-popup-wrap' ).addClass( 'adp-popup-animated ' + name )
|
||||
.one( 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() {
|
||||
// remove the animation classes after animation ends
|
||||
// required in order to apply new animation on close
|
||||
$( this ).removeClass( 'adp-popup-animated ' + name );
|
||||
|
||||
if ( typeof callback === 'function' ) {
|
||||
callback();
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
/*
|
||||
* Set cookie
|
||||
*/
|
||||
getCookie: function( name ) {
|
||||
var matches = document.cookie.match( new RegExp(
|
||||
"(?:^|; )" + name.replace( /([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1' ) + "=([^;]*)"
|
||||
) );
|
||||
return matches ? decodeURIComponent( matches[ 1 ] ) : undefined;
|
||||
},
|
||||
|
||||
/*
|
||||
* Set cookie
|
||||
*/
|
||||
setCookie: function( name, value, options ) {
|
||||
options = options || {};
|
||||
|
||||
options.path = options.hasOwnProperty( 'path' ) ? options.path : '/';
|
||||
|
||||
options.expires = parseInt( options.expires );
|
||||
|
||||
if ( typeof options.expires == "number" && options.expires ) {
|
||||
|
||||
options.expires = new Date().setDate(new Date().getDate() + options.expires );
|
||||
|
||||
options.expires = new Date(options.expires).toUTCString();
|
||||
}
|
||||
|
||||
value = encodeURIComponent( value );
|
||||
|
||||
var updatedCookie = name + "=" + value;
|
||||
|
||||
for ( var propName in options ) {
|
||||
updatedCookie += "; " + propName;
|
||||
var propValue = options[ propName ];
|
||||
if ( propValue !== true ) {
|
||||
updatedCookie += "=" + propValue;
|
||||
}
|
||||
}
|
||||
|
||||
document.cookie = updatedCookie;
|
||||
},
|
||||
|
||||
/*
|
||||
* Get scroll percent
|
||||
*/
|
||||
getScrollPercent: function() {
|
||||
var h = document.documentElement,
|
||||
b = document.body,
|
||||
st = 'scrollTop',
|
||||
sh = 'scrollHeight';
|
||||
return (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight) * 100;
|
||||
}
|
||||
};
|
||||
|
||||
} )();
|
||||
|
||||
// Initialize.
|
||||
adpPopup.init();
|
||||
});
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Fired when the plugin is uninstalled.
|
||||
*
|
||||
* When populating this file, consider the following flow
|
||||
* of control:
|
||||
*
|
||||
* - This method should be static
|
||||
* - Check if the $_REQUEST content actually is the plugin name
|
||||
* - Run an admin referrer check to make sure it goes through authentication
|
||||
* - Verify the output of $_GET makes sense
|
||||
* - Repeat with other user roles. Best directly by using the links/query string parameters.
|
||||
* - Repeat things for multisite. Once for a single site in the network, once sitewide.
|
||||
*
|
||||
* This file may be updated more in future version of the Boilerplate; however, this is the
|
||||
* general skeleton and outline for how the file should work.
|
||||
*
|
||||
* For more information, see the following discussion:
|
||||
* https://github.com/tommcfarlin/WordPress-Plugin-Boilerplate/pull/123#issuecomment-28541913
|
||||
*
|
||||
* @link https://codesupply.co
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @package ADP
|
||||
*/
|
||||
|
||||
// If uninstall not called from WordPress, then exit.
|
||||
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
||||
exit;
|
||||
}
|
||||
Reference in New Issue
Block a user