PATH:
home
/
letacommog
/
www
/
wp-content
/
plugins
/
popup-maker
/
includes
<?php /** * Popup Theme Functions * * @package POPMAKE * @subpackage Functions * @copyright Copyright (c) 2014, Daniel Iser * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License * @since 1.0 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } function popmake_get_default_popup_theme() { static $default_theme = null; if ( $default_theme === null ) { $default_theme = get_option( 'popmake_default_theme' ); } if ( ! $default_theme ) { if ( ! function_exists( 'popmake_install_default_theme' ) ) { include_once POPMAKE_DIR . 'includes/install.php'; } popmake_install_default_theme(); $default_theme = get_option( 'popmake_default_theme' ); pum_force_theme_css_refresh(); } return $default_theme; } function popmake_get_all_popup_themes() { static $themes; if ( ! $themes ) { $query = new WP_Query( array( 'post_type' => 'popup_theme', 'post_status' => 'publish', 'posts_per_page' => - 1, // Performance Optimization. 'update_post_term_cache' => false, 'no_found_rows' => true, ) ); $themes = $query->posts; } return $themes; } function popmake_get_popup_theme_meta( $group, $popup_theme_id = null, $key = null, $default = null ) { if ( ! $popup_theme_id ) { $popup_theme_id = get_the_ID(); } $values = get_post_meta( $popup_theme_id, "popup_theme_{$group}", true ); if ( ! $values ) { $defaults = apply_filters( "popmake_popup_theme_{$group}_defaults", array() ); $values = array_merge( $defaults, popmake_get_popup_theme_meta_group( $group, $popup_theme_id ) ); } else { $values = array_merge( popmake_get_popup_theme_meta_group( $group, $popup_theme_id ), $values ); } if ( $key ) { // Check for dot notation key value. $test = uniqid(); $value = popmake_resolve( $values, $key, $test ); if ( $value == $test ) { $key = str_replace( '.', '_', $key ); if ( ! isset( $values[ $key ] ) ) { $value = $default; } else { $value = $values[ $key ]; } } return apply_filters( "popmake_get_popup_theme_{$group}_$key", $value, $popup_theme_id ); } else { return apply_filters( "popmake_get_popup_theme_{$group}", $values, $popup_theme_id ); } } /** * Returns the meta group of a theme or value if key is set. * * @since 1.0 * * @param int $popup_theme_id ID number of the popup to retrieve a overlay meta for * * @return mixed array|string of the popup overlay meta */ function popmake_get_popup_theme_meta_group( $group, $popup_theme_id = null, $key = null, $default = null ) { if ( ! $popup_theme_id ) { $popup_theme_id = get_the_ID(); } $post_meta = get_post_custom( $popup_theme_id ); if ( ! is_array( $post_meta ) ) { $post_meta = array(); } $default_check_key = 'popup_theme_defaults_set'; if ( ! in_array( $group, array( 'overlay', 'close', 'display', 'targeting_condition' ) ) ) { $default_check_key = "popup_{$group}_defaults_set"; } $group_values = array_key_exists( $default_check_key, $post_meta ) ? array() : apply_filters( "popmake_popup_theme_{$group}_defaults", array() ); foreach ( $post_meta as $meta_key => $value ) { if ( strpos( $meta_key, "popup_theme_{$group}_" ) !== false ) { $new_key = str_replace( "popup_theme_{$group}_", '', $meta_key ); if ( count( $value ) == 1 ) { $group_values[ $new_key ] = $value[0]; } else { $group_values[ $new_key ] = $value; } } } if ( $key ) { $key = str_replace( '.', '_', $key ); if ( ! isset( $group_values[ $key ] ) ) { $value = $default; } else { $value = $group_values[ $key ]; } return apply_filters( "popmake_get_popup_theme_{$group}_$key", $value, $popup_theme_id ); } else { return apply_filters( "popmake_get_popup_theme_{$group}", $group_values, $popup_theme_id ); } } /** * Returns the overlay meta of a theme. * * @since 1.0 * * @param int $popup_theme_id ID number of the popup to retrieve a overlay meta for * * @return mixed array|string of the popup overlay meta */ function popmake_get_popup_theme_overlay( $popup_theme_id = null, $key = null, $default = null ) { return popmake_get_popup_theme_meta( 'overlay', $popup_theme_id, $key, $default ); } /** * Returns the container meta of a theme. * * @since 1.0 * * @param int $popup_theme_id ID number of the popup to retrieve a container meta for * * @return mixed array|string of the popup container meta */ function popmake_get_popup_theme_container( $popup_theme_id = null, $key = null, $default = null ) { return popmake_get_popup_theme_meta( 'container', $popup_theme_id, $key, $default ); } /** * Returns the title meta of a theme. * * @since 1.0 * * @param int $popup_theme_id ID number of the popup to retrieve a title meta for * * @return mixed array|string of the popup title meta */ function popmake_get_popup_theme_title( $popup_theme_id = null, $key = null, $default = null ) { return popmake_get_popup_theme_meta( 'title', $popup_theme_id, $key, $default ); } /** * Returns the content meta of a theme. * * @since 1.0 * * @param int $popup_theme_id ID number of the popup to retrieve a content meta for * * @return mixed array|string of the popup content meta */ function popmake_get_popup_theme_content( $popup_theme_id = null, $key = null, $default = null ) { return popmake_get_popup_theme_meta( 'content', $popup_theme_id, $key, $default ); } /** * Returns the close meta of a theme. * * @since 1.0 * * @param int $popup_theme_id ID number of the popup to retrieve a close meta for * * @return mixed array|string of the popup close meta */ function popmake_get_popup_theme_close( $popup_theme_id = null, $key = null, $default = null ) { return popmake_get_popup_theme_meta( 'close', $popup_theme_id, $key, $default ); } function popmake_get_popup_theme_data_attr( $popup_theme_id = 0 ) { $data_attr = array( 'overlay' => popmake_get_popup_theme_overlay( $popup_theme_id ), 'container' => popmake_get_popup_theme_container( $popup_theme_id ), 'title' => popmake_get_popup_theme_title( $popup_theme_id ), 'content' => popmake_get_popup_theme_content( $popup_theme_id ), 'close' => popmake_get_popup_theme_close( $popup_theme_id ), ); return apply_filters( 'popmake_get_popup_theme_data_attr', $data_attr, $popup_theme_id ); } function popmake_get_popup_theme_default_meta() { $default_meta = array(); $defaults = popmake_get_popup_theme_data_attr( 0 ); foreach ( $defaults as $group => $fields ) { $prefix = 'popup_theme_' . $group . '_'; foreach ( $fields as $field => $value ) { $default_meta[ $prefix . $field ] = $value; } } return $default_meta; } function popmake_get_popup_themes_data() { $themes = popmake_get_all_popup_themes(); $popmake_themes = array(); foreach ( $themes as $theme ) { $popmake_themes[ $theme->ID ] = popmake_get_popup_theme_data_attr( $theme->ID ); } wp_reset_postdata(); return apply_filters( 'popmake_get_popup_themes_data', $popmake_themes ); }
[+]
..
[-] pum-deprecated-v1.7.php
[edit]
[-] pum-template-hooks.php
[edit]
[-] input-options.php
[edit]
[-] general-functions.php
[edit]
[-] migrations.php
[edit]
[-] actions.php
[edit]
[+]
libs
[-] popup-functions.php
[edit]
[-] class-popmake-popup-theme-fields.php
[edit]
[-] pum-general-functions.php
[edit]
[-] google-fonts.php
[edit]
[+]
functions
[-] extension-list.json
[edit]
[-] defaults.php
[edit]
[-] pum-deprecated.php
[edit]
[-] theme-functions.php
[edit]
[-] pum-install-functions.php
[edit]
[+]
pum-sdk
[-] class-pum-fields.php
[edit]
[-] extensions-functions.php
[edit]
[-] license-handler.php
[edit]
[-] class-pum.php
[edit]
[+]
importer
[+]
deprecated
[-] plugin-updater.php
[edit]
[-] pum-popup-functions.php
[edit]
[-] ajax-calls.php
[edit]
[+]
admin
[-] install.php
[edit]
[+]
modules
[-] google-fonts.json
[edit]
[-] class-pum-form.php
[edit]
[-] pum-template-functions.php
[edit]
[-] compat.php
[edit]
[+]
batch
[-] class-popmake-popup-fields.php
[edit]
[-] misc-functions.php
[edit]
[-] pum-misc-functions.php
[edit]
[-] css-functions.php
[edit]
[-] class-popmake-fields.php
[edit]
[-] class-popmake-cron.php
[edit]
[-] templates.php
[edit]
[-] pum-deprecated-v1.4.php
[edit]
[-] class-pum-popup-query.php
[edit]
[+]
compatibility
[-] load-popups.php
[edit]
[+]
integrations