示例#1
0
            $this->frontend_php = dirname(__FILE__) . '/frontend/popup.php';
            $this->frontend_embedded_php = dirname(__FILE__) . '/frontend/embedded.php';
            $this->css_mapping = array('background-color', 'text-color', 'subscribe-button-color', 'subscribe-button-text-color', 'display-headline', 'display-logo-row', 'display-logo-img', 'display-privacy');
            $this->html_mapping = array('image-url', 'subscribe-button-text', 'sign-up-form-action', 'sign-up-form-name-field', 'sign-up-form-email-field', 'name-placeholder', 'email-placeholder');
            $this->no_escape_html_mapping = array('headline', 'sales-text', 'privacy-text');
            $this->default_values = array('headline' => "Enter your name and email and get the weekly newsletter... it's FREE!", 'sales-text' => 'Introduce yourself and your program', 'subscribe-button-text' => 'Subscribe', 'name-placeholder' => 'Enter your first name here', 'email-placeholder' => 'Enter a valid email here', 'privacy-text' => 'Your information will *never* be shared or sold to a 3rd party.', 'background-color' => '#fefefe', 'text-color' => '#444444', 'subscribe-button-color' => '#00c98d', 'subscribe-button-text-color' => '#ffffff', 'display-headline' => 'block', 'display-logo-row' => 'block', 'display-logo-img' => 'block', 'display-privacy' => 'block', 'image-url' => '/wp-admin/images/w-logo-blue.png');
        }
        public function sanitize_style($setting, $id)
        {
            if ('upload' === $setting['logo-img-action'] && !empty($_FILES['img-file-' . $id]['size'])) {
                $setting['image-url'] = '';
                $file_upload_result = wp_handle_upload($_FILES['img-file-' . $id], array('test_form' => false));
                if (!empty($file_upload_result['url'])) {
                    $image_size_result = @getimagesize($file_upload_result['file']);
                    if (false === $image_size_result) {
                        add_settings_error('popupally_style', 'img-upload-error-' . $id, 'Please upload a valid image filetype for Popup #' . $id, 'error');
                    } else {
                        $setting['image-url'] = $file_upload_result['url'];
                    }
                } else {
                    if (!empty($file_upload_result['error'])) {
                        add_settings_error('popupally_style', 'img-upload-error-' . $id, 'File upload error for Popup #' . $id . ': ' . $file_upload_result['error'], 'error');
                    }
                }
            }
            unset($setting['logo-img-action']);
            return $setting;
        }
    }
    PopupAlly::add_template(new PopupAllyDefaultTemplate());
}
示例#2
0
 private static function initialize_defaults()
 {
     self::$default_popup_display_settings = array('timed' => 'false', 'timed-popup-delay' => -1, 'enable-exit-intent-popup' => 'false', 'enable-embedded' => 'false', 'embedded-location' => 'none', 'show-all' => 'false', 'include' => array(), 'exclude' => array(), 'cookie-duration' => 14, 'thank-you' => array());
     self::$default_popup_style_simple_settings = array('name' => 'Popup {{num}}', 'signup-form' => '', 'sign-up-form-action' => '', 'sign-up-form-name-field' => '', 'sign-up-form-email-field' => '', 'selected-template' => 'bxsjbi', 'popup-selector' => '#popup-box-sxzw-{{num}}', 'popup-class' => 'popupally-opened-sxzw-{{num}}', 'cookie-name' => 'popupally-cookie-{{num}}', 'close-trigger' => '.popup-click-close-trigger-{{num}}');
     foreach (self::$available_templates as $template) {
         self::$default_popup_style_simple_settings = array_merge(self::$default_popup_style_simple_settings, $template->default_values);
     }
     self::$default_display_settings = array(1 => self::$default_popup_display_settings, 2 => self::$default_popup_display_settings);
     self::$default_style_settings = array(1 => self::customize_parameter_array(self::$default_popup_style_simple_settings, 1), 2 => self::customize_parameter_array(self::$default_popup_style_simple_settings, 2));
     self::$default_advanced_settings = array('no-inline' => 'false', 'max-page' => '500', 'max-post' => '500');
 }
示例#3
0
            return $setting;
        }
        public function prepare_for_code_generation($style)
        {
            if ($style['plsbvs-image-url']) {
                $style['plsbvs-background-image'] = 'url(' . $style['plsbvs-image-url'] . ')';
            } else {
                $style['plsbvs-background-image'] = 'none';
            }
            $style['plsbvs-outer-half-width'] = intval($style['plsbvs-width']) / 2;
            $style['plsbvs-outer-half-height'] = intval($style['plsbvs-height']) / 2;
            $style = self::calculate_responsive_width($style, 1000, 768);
            $style = self::calculate_responsive_width($style, 1000, 520);
            return $style;
        }
        private static function calculate_responsive_width($style, $full_page_width, $media_width)
        {
            $prefix = 'responsive-' . $media_width . '-';
            foreach (self::$responsive_width_elements as $elem) {
                $style[$prefix . $elem] = self::get_responsive_width($style[$elem], $full_page_width, $media_width);
            }
            $style[$prefix . 'plsbvs-outer-half-width'] = intval($style[$prefix . 'plsbvs-width']) / 2;
            return $style;
        }
        private static function get_responsive_width($element_width, $full_page_width, $media_width)
        {
            return min(intval($element_width) / $full_page_width, 1.0) * $media_width;
        }
    }
    PopupAlly::add_template(new PopupAllyCleanTemplate());
}