AlkantarClanX12
Your IP : 216.73.217.24
<?php
/**
* Class for Admin Templates
*
* @package PopupMaker
* @copyright Copyright (c) 2024, Code Atlantic LLC
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Class PUM_Admin_Templates
*
* @since 1.7.0
*/
class PUM_Admin_Templates {
/**
*
*/
public static function init() {
if ( did_action( 'admin_footer' ) || doing_action( 'admin_footer' ) ) {
self::render();
} else {
add_action( 'admin_footer', [ __CLASS__, 'render' ] );
}
}
/**
*
*/
public static function render() {
self::general_fields();
self::html5_fields();
self::custom_fields();
self::misc_fields();
self::helpers();
self::conditions_editor();
self::triggers_editor();
self::cookies_editor();
if ( class_exists( 'PUM_MCI' ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ) ) {
?>
<script type="text/html" id="tmpl-pum-field-mc_api_key">
<?php // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
<# var valid = data.value !== '' && <?php echo PUM_Utils_Array::safe_json_encode( pum_get_option( 'mci_api_key_is_valid', false ) ); ?>; #>
<input type="{{valid ? 'password' : 'text'}}" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
<button type="button" class="pum-mci-check-api-key">
<?php esc_html_e( 'Check', 'popup-maker' ); ?>
<i class="dashicons dashicons-{{valid ? 'yes' : 'no'}}" style="display: {{valid ? 'inline-block' : 'none'}};"></i>
</button>
<?php wp_nonce_field( 'pum-mci-check-api-key', null ); ?>
</script>
<?php
}
}
/**
*
*/
public static function general_fields() {
?>
<script type="text/html" id="tmpl-pum-field-text">
<input type="text" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-password">
<input type="password" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-select">
<select id="{{data.id}}" name="{{data.name}}" data-allow-clear="true" {{{data.meta}}}>
<# _.each(data.options, function(option, key) {
if (option.options !== undefined && option.options.length) { #>
<optgroup label="{{option.label}}">
<# _.each(option.options, function(option, key) { #>
<option value="{{option.value}}" {{{option.meta}}}>{{option.label}}</option>
<# }); #>
</optgroup>
<# } else { #>
<option value="{{option.value}}" {{{option.meta}}}>{{option.label}}</option>
<# }
}); #>
</select>
</script>
<script type="text/html" id="tmpl-pum-field-radio">
<ul class="pum-field-radio-list">
<# _.each(data.options, function(option, key) { #>
<li
<# print(option.value === data.value ? 'class="pum-selected"' : ''); #>>
<input type="radio" id="{{data.id}}_{{key}}" name="{{data.name}}" value="{{option.value}}" {{{option.meta}}}/>
<label for="{{data.id}}_{{key}}">{{option.label}}</label>
</li>
<# }); #>
</ul>
</script>
<script type="text/html" id="tmpl-pum-field-checkbox">
<input type="checkbox" id="{{data.id}}" name="{{data.name}}" value="1" {{{data.meta}}} {{data.disabled ? 'disabled' : ''}} {{data.checked ? 'checked' : ''}} />
</script>
<script type="text/html" id="tmpl-pum-field-multicheck">
<ul class="pum-field-mulitcheck-list">
<# _.each(data.options, function(option, key) { #>
<li>
<input type="checkbox" id="{{data.id}}_{{key}}" name="{{data.name}}[{{option.value}}]" value="{{option.value}}" {{{option.meta}}}/>
<label for="{{data.id}}_{{key}}">{{{option.label}}}</label>
</li>
<# }); #>
</ul>
</script>
<script type="text/html" id="tmpl-pum-field-textarea">
<textarea name="{{data.name}}" id="{{data.id}}" class="{{data.size}}-text" {{{data.meta}}}>{{data.value}}</textarea>
</script>
<script type="text/html" id="tmpl-pum-field-hidden">
<input type="hidden" class="{{data.classes}}" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<?php
}
/**
*
*/
public static function html5_fields() {
?>
<script type="text/html" id="tmpl-pum-field-range">
<input type="range" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-search">
<input type="search" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-number">
<input type="number" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-email">
<input type="email" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-url">
<input type="url" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-tel">
<input type="tel" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<?php
}
/**
*
*/
public static function custom_fields() {
?>
<script type="text/html" id="tmpl-pum-field-editor">
<textarea name="{{data.name}}" id="{{data.id}}" class="pum-wpeditor {{data.size}}-text" {{{data.meta}}}>{{data.value}}</textarea>
</script>
<script type="text/html" id="tmpl-pum-field-link">
<button type="button" class="dashicons dashicons-admin-generic button"></button>
<input type="text" placeholder="{{data.placeholder}}" class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-rangeslider">
<input type="text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" class="pum-range-manual" {{{data.meta}}}/>
<span class="pum-range-value-unit regular-text">{{data.unit}}</span>
</script>
<script type="text/html" id="tmpl-pum-field-color">
<input type="text" class="pum-color-picker color-picker" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" data-default-color="{{data.std}}" {{{data.meta}}}/>
</script>
<script type="text/html" id="tmpl-pum-field-measure">
<input type="number" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" size="5" {{{data.meta}}}/>
<select id="{{data.id}}_unit" name="<# print(data.name.replace(data.id, data.id + '_unit')); #>">
<# _.each(data.units, function(option, key) { #>
<option value="{{option.value}}" {{{option.meta}}}>{{option.label}}</option>
<# }); #>
</select>
</script>
<script type="text/html" id="tmpl-pum-field-license_key">
<#
var isActive = data.value.status === 'valid';
var shouldMask = isActive && data.value.key && data.value.key.length > 6;
var usingProLicense = data.value.using_pro_license || false;
var proLicenseTier = data.value.pro_license_tier || '';
var shouldDisable = isActive || data.value.auto_activated || usingProLicense;
var displayValue = shouldMask ? data.value.key.substring(0,3) + '*'.repeat(data.value.key.length - 6) + data.value.key.slice(-3) : data.value.key;
#>
<# if (usingProLicense) { #>
<!-- Using Pro license: no input field, just notice -->
<p class="description" style="color: #0073aa; font-weight: 500; margin: 0;">
<# if (proLicenseTier === 'pro_plus') { #>
<?php esc_html_e( 'This extension is covered by your Pro+ license. No separate activation needed!', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'This extension is covered by your Pro license. No separate activation needed!', 'popup-maker' ); ?>
<# } #>
</p>
<# } else if (data.value.auto_activated) { #>
<!-- Auto-activated license: readonly field with notice -->
<input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{displayValue}}" autocomplete="off" readonly style="background: #f1f1f1;" {{{data.meta}}}/>
<p class="description" style="color: #0073aa; font-weight: 500;">
<?php esc_html_e( 'This license is automatically activated.', 'popup-maker' ); ?>
</p>
<# } else { #>
<!-- Regular license field: mask and disable when active -->
<input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{displayValue}}" autocomplete="off" <# if (shouldDisable) { #>disabled<# } #> {{{data.meta}}}/>
<# if (isActive && shouldMask) { #>
<p class="description" style="color: #666; font-style: italic; margin: 5px 0;">
<?php esc_html_e( 'License key is masked for security. Deactivate to make changes.', 'popup-maker' ); ?>
</p>
<# } #>
<# } #>
<# if (data.value.key !== '' && !usingProLicense) { #>
<?php wp_nonce_field( 'pum_license_activation', 'pum_license_activation_nonce' ); ?>
<# if (data.value.status === 'valid') { #>
<span class="pum-license-status"><?php esc_html_e( 'Active', 'popup-maker' ); ?></span>
<input type="submit" class="button-secondary pum-license-deactivate" id="{{data.id}}_deactivate" name="pum_license_deactivate[{{data.id}}]" value="<?php esc_attr_e( 'Deactivate License', 'popup-maker' ); ?>"/>
<# } else { #>
<span class="pum-license-status"><?php esc_html_e( 'Inactive', 'popup-maker' ); ?></span>
<input type="submit" class="button-secondary pum-license-activate" id="{{data.id}}_activate" name="pum_license_activate[{{data.id}}]" value="<?php esc_attr_e( 'Activate License', 'popup-maker' ); ?>"/>
<# } #>
<# } #>
<# if (data.value.messages && data.value.messages.length && !usingProLicense) { #>
<div class="pum-license-messages">
<# for(var i=0; i < data.value.messages.length; i++) { #>
<p>{{{data.value.messages[i]}}}</p>
<# } #>
</div>
<# } #>
</script>
<?php
$license_service = \PopupMaker\plugin( 'license' );
$is_auto_activated = $license_service->is_auto_activated();
?>
<script type="text/html" id="tmpl-pum-field-pro_license">
<#
var hasKey = data.value && data.value.key && data.value.key.length > 0;
var shouldMask = hasKey && data.value.key.length > 6;
var displayValue = shouldMask ? data.value.key.substring(0,3) + '*'.repeat(data.value.key.length - 6) + data.value.key.slice(-3) : (data.value && data.value.key ? data.value.key : '');
var safeValue = data.value || {};
var isAutoActivated = <?php echo $is_auto_activated ? 'true' : 'false'; ?>;
// Use comprehensive status system instead of binary logic
var status = (data.value && data.value.status) ? data.value.status : 'empty';
var statusClasses = (data.value && data.value.classes) ? data.value.classes : 'pum-license-empty';
var isActive = status === 'valid';
var isDeactivated = status === 'deactivated';
var isInactive = !isActive && !isDeactivated && hasKey;
// Get license tier (pro or pro_plus).
var licenseTier = (data.value && data.value.license_tier) ? data.value.license_tier : 'pro';
var isProPlus = licenseTier === 'pro_plus';
// Get Pro installation status.
var isProInstalled = (data.value && data.value.is_pro_installed) ? data.value.is_pro_installed : false;
var isProActive = (data.value && data.value.is_pro_active) ? data.value.is_pro_active : false;
// Add status class to parent field wrapper after render
setTimeout(function() {
var fieldWrapper = document.querySelector('.pum-field-pro_license');
if (fieldWrapper) {
// Remove any existing license status classes
fieldWrapper.className = fieldWrapper.className.replace(/pum-license-\w+-notice/g, '');
// Remove any existing tier classes
fieldWrapper.className = fieldWrapper.className.replace(/pum-license-tier-\w+/g, '');
// Add license tier class
fieldWrapper.classList.add('pum-license-tier-' + licenseTier.replace('_', '-'));
// Add new status class for field-level styling
if (status === 'deactivated') {
fieldWrapper.classList.add('pum-license-deactivated-notice');
} else if (status === 'valid') {
fieldWrapper.classList.add('pum-license-valid-notice');
} else if (status === 'expired') {
fieldWrapper.classList.add('pum-license-expired-notice');
} else if (status === 'error') {
fieldWrapper.classList.add('pum-license-error-notice');
}
}
}, 10);
#>
<!-- Main Content Container (like Content Control) -->
<div class="pum-pro-license-content <# if (hasKey && isProPlus) { #>pum-license-tier-pro-plus<# } else if (hasKey) { #>pum-license-tier-pro<# } #>">
<!-- Pro Licensing Header (like Content Control) -->
<div class="pum-pro-license-header <# if (isProPlus) { #>pro-plus<# } #>">
<img class="pum-license-logo" src="<?php echo esc_url( POPMAKE_URL . '/assets/images/mark.svg' ); ?>" alt="<?php esc_attr_e( 'Popup Maker', 'popup-maker' ); ?>" />
<div class="pum-license-header-text">
<h3 class="pum-license-heading">
<# if (isProPlus) { #>
<?php esc_html_e( 'Pro+', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'Pro', 'popup-maker' ); ?>
<# } #>
<?php esc_html_e( 'Licensing', 'popup-maker' ); ?>
</h3>
<# if (isProPlus) { #>
<span class="pum-license-subtitle"><?php esc_html_e( 'Premium Ecommerce Edition', 'popup-maker' ); ?></span>
<# } #>
</div>
<# if (hasKey) { #>
<span class="pum-license-status-badge <# if (isActive) { #>active<# } else if (isDeactivated) { #>deactivated<# } else if (status === 'expired') { #>expired<# } else { #>error<# } #> <# if (isProPlus) { #>pro-plus<# } #>">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="crown-icon"><path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"></path><path d="M5 21h14"></path></svg>
<# if (isActive) { #>
<# if (isProPlus) { #>
<?php esc_html_e( 'Pro+', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'Pro', 'popup-maker' ); ?>
<# } #>
<?php esc_html_e( 'Activated', 'popup-maker' ); ?>
<# } else if (isDeactivated) { #>
<# if (isProPlus) { #>
<?php esc_html_e( 'Pro+', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'Pro', 'popup-maker' ); ?>
<# } #>
<?php esc_html_e( 'Deactivated', 'popup-maker' ); ?>
<# } else if (status === 'expired') { #>
<?php esc_html_e( 'Expired', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'Invalid', 'popup-maker' ); ?>
<# } #>
<# if (isActive) { #>
<# if (isProPlus) { #>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lightning-icon"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg>
<# } else { #>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>
<# } #>
<# } #>
</span>
<# } #>
</div>
<div class="pum-pro-license-content-inner pum-flex pum-flex--column pum-flex--gap-l">
<div class="pum-flex pum-flex--column pum-flex--gap-m">
<div class="pum-flex pum-flex--column pum-flex--gap-s">
<h3 class="pum-license-heading">
<?php esc_html_e( 'Enter your Popup Maker Pro License Key', 'popup-maker' ); ?>
</h3>
<p class="pum-license-description">
<# if (isActive) { #>
<# if (isProPlus) { #>
<?php esc_html_e( 'Your Pro+ license key is active.', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'Your Pro license key is active.', 'popup-maker' ); ?>
<# } #>
<# } else if (isDeactivated) { #>
<?php esc_html_e( 'Your Pro license is valid but deactivated on this site.', 'popup-maker' ); ?>
<# } else if (data.value && data.value.has_extensions) { #>
<?php esc_html_e( 'You are currently using Popup Maker with extensions — keep enjoying the enhanced features!', 'popup-maker' ); ?> 🚀
<# } else { #>
<?php esc_html_e( 'You are currently using Popup Maker Free — no license key required. Enjoy!', 'popup-maker' ); ?> 😄
<# } #>
</p>
</div>
<# if (!isAutoActivated) { #>
<div class="pum-flex pum-flex--column pum-flex--gap-xs">
<span class="pum-license-input-label">
<?php esc_html_e( 'Enter your license key below to activate', 'popup-maker' ); ?> <strong><# if (isProPlus) { #><?php esc_html_e( 'Popup Maker Pro+', 'popup-maker' ); ?><# } else { #><?php esc_html_e( 'Popup Maker Pro', 'popup-maker' ); ?><# } #></strong><?php esc_html_e( '!', 'popup-maker' ); ?>
</span>
<div class="pum-license-input-wrapper">
<div class="pum-license-input-group">
<input type="text" placeholder="<?php esc_attr_e( 'Paste or enter your license key here.', 'popup-maker' ); ?>" class="{{data.size}}-text pum-license-key-input" id="{{data.id}}" name="{{data.name}}" value="{{displayValue}}" autocomplete="off" <# if (isActive) { #>disabled<# } #> {{{data.meta}}}/>
<div class="pum-license-buttons">
<?php wp_nonce_field( 'pum_license_operation_nonce', 'pum_license_operation_nonce' ); ?>
<# if (!hasKey) { #>
<input type="submit" class="button button-primary pum-license-activate" id="{{data.id}}_activate" name="pum_license_operation[activate]" value="<?php esc_attr_e( 'Activate', 'popup-maker' ); ?>" disabled/>
<# } else if (isActive && !isAutoActivated) { #>
<span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Active', 'popup-maker' ); ?></span>
<input type="submit" class="button button-secondary pum-license-deactivate" id="{{data.id}}_deactivate" name="pum_license_operation[deactivate]" value="<?php esc_attr_e( 'Deactivate', 'popup-maker' ); ?>"/>
<input type="submit" class="button pum-license-delete" id="{{data.id}}_delete" name="pum_license_operation[delete]" value="<?php esc_attr_e( 'Delete', 'popup-maker' ); ?>" onclick="return confirm('<?php esc_attr_e( 'Are you sure you want to delete this license key? This action cannot be undone.', 'popup-maker' ); ?>')"/>
<# } else if (isDeactivated && !isAutoActivated) { #>
<span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Deactivated', 'popup-maker' ); ?></span>
<input type="submit" class="button button-primary pum-license-activate" id="{{data.id}}_activate" name="pum_license_operation[activate]" value="<?php esc_attr_e( 'Activate', 'popup-maker' ); ?>"/>
<input type="submit" class="button pum-license-delete" id="{{data.id}}_delete" name="pum_license_operation[delete]" value="<?php esc_attr_e( 'Delete', 'popup-maker' ); ?>" onclick="return confirm('<?php esc_attr_e( 'Are you sure you want to delete this license key? This action cannot be undone.', 'popup-maker' ); ?>')"/>
<# } else if (hasKey && !isActive && !isDeactivated && !isAutoActivated) { #>
<span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Inactive', 'popup-maker' ); ?></span>
<input type="submit" class="button button-primary pum-license-activate" id="{{data.id}}_activate" name="pum_license_operation[activate]" value="<?php esc_attr_e( 'Activate', 'popup-maker' ); ?>"/>
<input type="submit" class="button pum-license-delete" id="{{data.id}}_delete" name="pum_license_operation[delete]" value="<?php esc_attr_e( 'Delete', 'popup-maker' ); ?>" onclick="return confirm('<?php esc_attr_e( 'Are you sure you want to delete this license key? This action cannot be undone.', 'popup-maker' ); ?>')"/>
<# } else if (isActive && isAutoActivated) { #>
<span class="pum-license-status {{statusClasses}}"><?php esc_html_e( 'Active', 'popup-maker' ); ?></span>
<span class="description" style="color: #0073aa; font-style: italic;"><?php esc_html_e( '(Auto-activated)', 'popup-maker' ); ?></span>
<# } #>
<!-- Install Pro Button - when Pro is not installed -->
<# if (isActive && !isProInstalled) { #>
<button type="button" class="button pum-install-pro-button pum-license-connect-trigger <# if (isProPlus) { #>pum-install-pro-plus<# } #>" data-source="settings-page" data-product="popup-maker-pro">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="download-icon"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7,10 12,15 17,10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
<?php esc_html_e( 'INSTALL PRO!', 'popup-maker' ); ?>
</button>
<!-- Activate Pro Button - when Pro is installed but not active -->
<# } else if (isActive && isProInstalled && !isProActive) { #>
<button type="button" class="button pum-install-pro-button pum-license-connect-trigger <# if (isProPlus) { #>pum-install-pro-plus<# } #>" data-source="settings-page" data-product="popup-maker-pro">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="power-icon"><circle cx="12" cy="12" r="10"></circle><path d="m12 6-4 6 7 0-4 6"></path></svg>
<?php esc_html_e( 'ACTIVATE PRO NOW!', 'popup-maker' ); ?>
</button>
<# } #>
</div>
</div>
</div>
</div>
<# if (!isActive && !isDeactivated) { #>
<div class="pum-flex pum-flex--column pum-flex--gap-xs">
<div class="pum-license-upgrade-text">
<?php esc_html_e( 'Enter your license key to activate. If you do not have a license key, you can', 'popup-maker' ); ?>
<a href="https://wppopupmaker.com/pricing/?utm_source=plugin-settings&utm_medium=pro-license-field&utm_campaign=upgrade" target="_blank"><?php esc_html_e( 'purchase one here', 'popup-maker' ); ?></a>
</div>
</div>
<# } else { #>
<# if (isActive) { #>
<# if (isProPlus) { #>
<!-- Pro installed and Pro+ license -->
<div class="pum-license-callout pum-license-callout--activated">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>
<?php esc_html_e( 'Your Pro+ license key is active.', 'popup-maker' ); ?>
<?php esc_html_e( 'Thank you for supporting Popup Maker!', 'popup-maker' ); ?> 😊
</div>
<# } else { #>
<!-- Pro installed and regular Pro license -->
<div class="pum-license-callout pum-license-callout--activated">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>
<?php esc_html_e( 'Your Pro license key is active.', 'popup-maker' ); ?>
<?php esc_html_e( 'Thank you for supporting Popup Maker!', 'popup-maker' ); ?> 😊
</div>
<# } #>
<# } else if (isDeactivated) { #>
<div class="pum-license-callout pum-license-callout--deactivated">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="info-icon"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
<span><?php esc_html_e( 'Your Pro license is valid but deactivated on this site.', 'popup-maker' ); ?> <?php esc_html_e( 'Activate it to enable Pro features!', 'popup-maker' ); ?> 🔑</span>
</div>
<# } #>
<# } #>
<# } else { #>
<div class="pum-license-callout pum-license-callout--activated">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="star-icon"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>
<# if (isProPlus) { #>
<?php esc_html_e( 'Your Pro+ license is automatically activated.', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'Your Pro license is automatically activated.', 'popup-maker' ); ?>
<# } #>
<?php esc_html_e( 'Thank you for supporting Popup Maker!', 'popup-maker' ); ?> 😊
</div>
<# } #>
</div>
<# if (safeValue.messages && safeValue.messages.length) { #>
<div class="pum-license-messages">
<# for(var i=0; i < safeValue.messages.length; i++) { #>
<p class="error">{{{safeValue.messages[i]}}}</p>
<# } #>
</div>
<# } #>
<# if (! isAutoActivated && (isActive || isDeactivated)) { #>
<div class="pum-license-details <# if (isActive) { #>pum-license-details--active<# } #> <# if (isProPlus) { #>pum-license-details--pro-plus<# } #>">
<div class="pum-license-details-header">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg>
<h4><?php esc_html_e( 'License Details', 'popup-maker' ); ?></h4>
</div>
<table class="pum-license-details-table">
<tr>
<th><?php esc_html_e( 'Status:', 'popup-maker' ); ?></th>
<td class="pum-license-status <# if (isActive) { #>pum-license-status--active<# } else if (isDeactivated) { #>pum-license-status--deactivated<# } #>"><?php esc_html_e( 'Active', 'popup-maker' ); ?></td>
</tr>
<tr>
<th><?php esc_html_e( 'License Key:', 'popup-maker' ); ?></th>
<td>{{displayValue}}</td>
</tr>
<tr>
<th><?php esc_html_e( 'Pro Plugin:', 'popup-maker' ); ?></th>
<td class="pum-pro-status <# if (isProActive) { #>pum-pro-status--active<# } else if (isProInstalled) { #>pum-pro-status--installed<# } else { #>pum-pro-status--not-installed<# } #>">
<# if (isProActive) { #>
<?php esc_html_e( 'Active', 'popup-maker' ); ?><# if (safeValue.pro_version) { #> (v{{safeValue.pro_version}})<# } #>
<# } else if (isProInstalled) { #>
<?php esc_html_e( 'Installed', 'popup-maker' ); ?><# if (safeValue.pro_version) { #> (v{{safeValue.pro_version}})<# } #>
<# } else { #>
<?php esc_html_e( 'Not Installed', 'popup-maker' ); ?>
<# } #>
</td>
</tr>
<# if (safeValue.expires && safeValue.expires !== 'lifetime') { #>
<tr>
<th><?php esc_html_e( 'Expires:', 'popup-maker' ); ?></th>
<td>{{safeValue.expires}}</td>
</tr>
<# } else if (safeValue.expires === 'lifetime') { #>
<tr>
<th><?php esc_html_e( 'License Type:', 'popup-maker' ); ?></th>
<td>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="crown-icon"><path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"></path><path d="M5 21h14"></path></svg>
<# if (isProPlus) { #>
<?php esc_html_e( 'Pro+', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'Pro', 'popup-maker' ); ?>
<# } #>
<?php esc_html_e( 'Lifetime License', 'popup-maker' ); ?>
</td>
</tr>
<# } #>
</table>
</div>
<# } #>
<hr class="pum-license-separator" />
<div class="pum-pro-features">
<div class="pum-features-heading">
<# if (isActive && isProPlus) { #>
<?php esc_html_e( '🎉 You have access to these powerful Pro+ features:', 'popup-maker' ); ?>
<span><?php esc_html_e( 'Plus exclusive Pro+ ecommerce tracking capabilities!', 'popup-maker' ); ?></span>
<# } else if (isActive) { #>
<?php esc_html_e( '🎉 You have access to these powerful Pro features:', 'popup-maker' ); ?>
<# } else if (isDeactivated) { #>
<?php esc_html_e( 'Activate your Pro license above to unlock these powerful features:', 'popup-maker' ); ?>
<# } else { #>
<?php esc_html_e( 'To unlock these game-changing features,', 'popup-maker' ); ?>
<a href="https://wppopupmaker.com/pricing/?utm_source=plugin-settings&utm_medium=pro-license-field&utm_campaign=upgrade" target="_blank"><?php esc_html_e( 'upgrade to Pro', 'popup-maker' ); ?></a>
<?php esc_html_e( ' and enter your license key above.', 'popup-maker' ); ?>
<# } #>
</div>
<div class="pum-features-grid">
<div class="pum-feature-column">
<h4 class="pum-feature-heading"><?php esc_html_e( 'Smart Targeting & Automation', 'popup-maker' ); ?></h4>
<ul>
<li class="pro-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'FluentCRM Integration', 'popup-maker' ); ?></strong>
<?php esc_html_e( ' Seamlessly add tags, trigger automation sequences, and create smart links. Perfect for lead nurturing and customer journey automation.', 'popup-maker' ); ?>
</div>
</li>
<li class="pro-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'Advanced Targeting & Behavioral Triggers', 'popup-maker' ); ?></strong>
<?php esc_html_e( ' Target by user role, comment history, device, and custom behaviors. Show the right message to the right person at the perfect time.', 'popup-maker' ); ?>
</div>
</li>
<li class="pro-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'Professional CTA Management', 'popup-maker' ); ?></strong>
<?php esc_html_e( ' One-click export/import for CTAs. Create shareable vanity URLs. Bulk operations for enterprise-scale management.', 'popup-maker' ); ?>
</div>
</li>
<li class="pro-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'Time-Based Campaign Scheduling', 'popup-maker' ); ?></strong>
<?php esc_html_e( ' Smart campaign scheduling with timezone support and recurring campaigns. Perfect timing for seasonal promotions and global audiences.', 'popup-maker' ); ?>
</div>
</li>
</ul>
</div>
<div class="pum-feature-column">
<h4 class="pum-feature-heading"><?php esc_html_e( 'Monetize & Track Every Conversion', 'popup-maker' ); ?></h4>
<ul>
<li class="pro-feature pro-plus-enhanced-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'Revenue Attribution & Analytics', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Enhanced with Pro+', 'popup-maker' ); ?></span></strong>
<?php esc_html_e( ' Track every dollar earned through your popups. Prove ROI with complete conversion tracking and detailed revenue reports.', 'popup-maker' ); ?>
</div>
</li>
<li class="pro-feature pro-plus-enhanced-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'Real-Time Analytics & Insights', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Enhanced with Pro+', 'popup-maker' ); ?></span></strong>
<?php esc_html_e( ' Live performance tracking with detailed conversion metrics. Monitor popup effectiveness in real-time and make data-driven optimization decisions instantly.', 'popup-maker' ); ?>
</div>
</li>
<li class="pro-plus-exclusive-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'WooCommerce Integration', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <?php esc_html_e( 'Exclusive', 'popup-maker' ); ?></span></strong>
<?php esc_html_e( ' Add products to cart, apply discounts, and recover abandoned carts with complete revenue attribution. Proven to increase sales by 15-40%.', 'popup-maker' ); ?>
</div>
</li>
<li class="pro-plus-exclusive-feature">
<span class="feature-icon dashicons dashicons-yes-alt"></span>
<div>
<strong><?php esc_html_e( 'Easy Digital Downloads Integration', 'popup-maker' ); ?><span class="pum-pro-plus-badge"><?php esc_html_e( 'Pro+', 'popup-maker' ); ?> <?php esc_html_e( 'Exclusive', 'popup-maker' ); ?></span></strong>
<?php esc_html_e( ' Perfect for software and digital product sales with license management. Seamlessly integrate checkout flows and boost digital sales conversion rates.', 'popup-maker' ); ?>
</div>
</li>
</ul>
</div>
</div>
<!-- Backup features for A/B testing -->
<!--
Alternative high-value features for randomization:
- A/B Testing & Optimization: Test popup variations automatically to maximize conversion rates
- Time-Based Scheduling: Smart campaign scheduling with timezone support and recurring campaigns
- User Role Targeting: Show different content to different user types (Admin, Subscriber, etc.)
- LifterLMS Integration: Automate student enrollment and rewards for course creators
- Easy Digital Downloads: Perfect for software and digital product sales with license management
- Advanced Shortcodes: Developer-friendly trigger customization and complex display logic
-->
</div>
</div>
</div>
</script>
<script type="text/html" id="tmpl-pum-field-datetime">
<div class="pum-datetime">
<input placeholder="{{data.placeholder}}" data-input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
<a class="input-button" data-toggle><i class="dashicons dashicons-calendar-alt"></i></a>
</div>
</script>
<script type="text/html" id="tmpl-pum-field-datetimerange">
<div class="pum-datetime-range">
<input placeholder="{{data.placeholder}}" data-input class="{{data.size}}-text" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
<a class="input-button" data-toggle><i class="dashicons dashicons-calendar-alt"></i></a>
</div>
</script>
<script type="text/html" id="tmpl-pum-field-ga_event_labels">
<# data.value = _.extend({
category:'',
action: '',
label: '',
value: 0,
}, data.value); #>
<table>
<tbody>
<tr>
<td>
<label for="{{data.id}}_category" style="padding-left: 3px;"><?php esc_html_e( 'Category', 'popup-maker' ); ?></label>
<input type="text" style="width:100%;" id="{{data.id}}_category" name="{{data.name}}[category]" value="{{data.value.category}}"/>
</td>
<td>
<label for="{{data.id}}_action" style="padding-left: 3px;"><?php esc_html_e( 'Action', 'popup-maker' ); ?></label>
<input type="text" style="width:100%;" id="{{data.id}}_action" name="{{data.name}}[action]" value="{{data.value.action}}"/>
</td>
<td>
<label for="{{data.id}}_label" style="padding-left: 3px;"><?php esc_html_e( 'Label', 'popup-maker' ); ?></label>
<input type="text" style="width:100%;" id="{{data.id}}_label" name="{{data.name}}[label]" value="{{data.value.label}}"/>
</td>
<td>
<label for="{{data.id}}_value" style="padding-left: 3px;"><?php esc_html_e( 'Value', 'popup-maker' ); ?></label>
<input type="number" style="width:100%;height: auto;" id="{{data.id}}_value" name="{{data.name}}[value]" value="{{data.value.value}}" step="0.01" max="999999" min="0"/>
</td>
</tr>
</tbody>
</table>
<hr/>
</script>
<?php
}
/**
*
*/
public static function misc_fields() {
?>
<script type="text/html" id="tmpl-pum-field-section">
<div class="pum-field-section {{data.classes}}">
<# _.each(data.fields, function(field) { #>
{{{field}}}
<# }); #>
</div>
</script>
<script type="text/html" id="tmpl-pum-field-wrapper">
<div class="pum-field pum-field-{{data.type}} {{data.id}}-wrapper {{data.classes}}"
data-id="{{data.id}}" <# print( data.dependencies !== '' ? "data-pum-dependencies='" + data.dependencies + "'" : ''); #> <# print( data.dynamic_desc !== '' ? "data-pum-dynamic-desc='" + data.dynamic_desc + "'" : ''); #>>
<# if (typeof data.label === 'string' && data.label.length > 0) { #>
<label for="{{data.id}}">
{{data.label}}
<# if (typeof data.doclink === 'string' && data.doclink !== '') { #>
<a href="{{data.doclink}}" title="<?php esc_attr_e( 'Documentation', 'popup-maker' ); ?>: {{data.label}}" target="_blank" class="pum-doclink dashicons dashicons-editor-help"></a>
<# } #>
</label>
<# } else { #>
<# if (typeof data.doclink === 'string' && data.doclink !== '') { #>
<a href="{{data.doclink}}" title="<?php esc_attr_e( 'Documentation', 'popup-maker' ); ?>: {{data.label}}" target="_blank" class="pum-doclink dashicons dashicons-editor-help"></a>
<# } #>
<# } #>
{{{data.field}}}
<# if (typeof data.desc === 'string' && data.desc.length > 0) { #>
<span class="pum-desc desc">{{{data.desc}}}</span>
<# } #>
</div>
</script>
<script type="text/html" id="tmpl-pum-field-html">
{{{data.content}}}
</script>
<script type="text/html" id="tmpl-pum-field-heading">
<h3 class="pum-field-heading">{{data.desc}}</h3>
</script>
<script type="text/html" id="tmpl-pum-field-separator">
<# if (typeof data.desc === 'string' && data.desc.length > 0 && data.desc_position === 'top') { #>
<h3 class="pum-field-heading">{{data.desc}}</h3>
<# } #>
<hr {{{data.meta}}}/>
<# if (typeof data.desc === 'string' && data.desc.length > 0 && data.desc_position === 'bottom') { #>
<h3 class="pum-field-heading">{{data.desc}}</h3>
<# } #>
</script>
<?php
}
/**
*
*/
public static function helpers() {
?>
<script type="text/html" id="tmpl-pum-modal">
<div id="{{data.id}}" class="pum-modal-background {{data.classes}}" role="dialog" aria-modal="false" aria-labelledby="{{data.id}}-title" aria-describedby="{{data.id}}-description" {{{data.meta}}}>
<div class="pum-modal-wrap">
<form class="pum-form">
<div class="pum-modal-header">
<# if (data.title.length) { #>
<span id="{{data.id}}-title" class="pum-modal-title">{{data.title}}</span>
<# } #>
<button type="button" class="pum-modal-close" aria-label="<?php esc_attr_e( 'Close', 'popup-maker' ); ?>"></button>
</div>
<# if (data.description.length) { #>
<span id="{{data.id}}-description" class="screen-reader-text">{{data.description}}</span>
<# } #>
<div class="pum-modal-content">
{{{data.content}}}
</div>
<# if (data.save_button || data.cancel_button) { #>
<div class="pum-modal-footer submitbox">
<# if (data.cancel_button) { #>
<div class="cancel">
<button type="button" class="submitdelete no-button" href="#">{{data.cancel_button}}</button>
</div>
<# } #>
<# if (data.save_button) { #>
<div class="pum-submit">
<span class="spinner"></span>
<button class="button button-primary">{{data.save_button}}</button>
</div>
<# } #>
</div>
<# } #>
</form>
</div>
</div>
</script>
<script type="text/html" id="tmpl-pum-tabs">
<div class="pum-tabs-container {{data.classes}}" {{{data.meta}}}>
<ul class="tabs">
<# _.each(data.tabs, function(tab, key) { #>
<li class="tab">
<a href="#{{data.id + '_' + key}}">{{tab.label}}</a>
</li>
<# }); #>
</ul>
<# _.each(data.tabs, function(tab, key) { #>
<div id="{{data.id + '_' + key}}" class="tab-content">
{{{tab.content}}}
</div>
<# }); #>
</div>
</script>
<script type="text/html" id="tmpl-pum-shortcode">
[{{{data.tag}}} {{{data.meta}}}]
</script>
<script type="text/html" id="tmpl-pum-shortcode-w-content">
[{{{data.tag}}} {{{data.meta}}}]{{{data.content}}}[/{{{data.tag}}}]
</script>
<?php
}
/**
*
*/
public static function triggers_editor() {
?>
<script type="text/html" id="tmpl-pum-field-triggers">
<# print(PUM_Admin.triggers.template.editor({triggers: data.value, name: data.name})); #>
</script>
<script type="text/html" id="tmpl-pum-trigger-editor">
<div class="pum-popup-trigger-editor <# if (data.triggers && data.triggers.length) { print('has-list-items'); } #>" data-field_name="{{data.name}}">
<button type="button" class="button button-primary pum-add-new no-button"><?php esc_html_e( 'Add New Trigger', 'popup-maker' ); ?></button>
<p>
<strong>
<?php
$learn_more_text = sprintf(
/* translators: 1. contextual help link text. */
__( 'Learn more about %s', 'popup-maker' ),
__( 'Triggers', 'popup-maker' )
);
?>
<?php esc_html_e( 'Triggers cause a popup to open.', 'popup-maker' ); ?>
<a href="<?php echo esc_url( 'https://wppopupmaker.com/docs/getting-started/triggers/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=triggers-option-settings' ); ?>" target="_blank"
class="pum-doclink dashicons dashicons-editor-help" title="<?php echo esc_attr( $learn_more_text ); ?>"></a>
</strong>
</p>
<table class="list-table form-table">
<thead>
<tr>
<th><?php esc_html_e( 'Type', 'popup-maker' ); ?></th>
<th><?php esc_html_e( 'Cookie', 'popup-maker' ); ?></th>
<th><?php esc_html_e( 'Settings', 'popup-maker' ); ?></th>
<th><?php esc_html_e( 'Actions', 'popup-maker' ); ?></th>
</tr>
</thead>
<tbody>
<#
_.each(data.triggers, function (trigger, index) {
print(PUM_Admin.triggers.template.row({
index: index,
type: trigger.type,
name: data.name,
settings: trigger.settings || {}
}));
});
#>
</tbody>
</table>
<!-- <div class="no-triggers no-list-items">-->
<!-- <div class="pum-field pum-field-select pum-field-select2">-->
<!-- <label for="pum-first-trigger">--><?php // _e( 'Choose a type of trigger to get started.', 'popup-maker' ); ?><!--</label>-->
<!-- <# print(PUM_Admin.triggers.template.selectbox({id: 'pum-first-trigger', name: "", placeholder: "--><?php // _e( 'Select a trigger type.', 'popup-maker' ); ?><!--"})); #>-->
<!-- </div>-->
<!-- </div>-->
</div>
</script>
<script type="text/html" id="tmpl-pum-trigger-row">
<tr data-index="{{data.index}}">
<td class="type-column">
<button type="button" class="edit no-button link-button" aria-label="<?php esc_attr_e( 'Edit this trigger', 'popup-maker' ); ?>">{{PUM_Admin.triggers.getLabel(data.type)}}</button>
<input class="popup_triggers_field_type" type="hidden" name="{{data.name}}[{{data.index}}][type]" value="{{data.type}}"/>
<input class="popup_triggers_field_settings" type="hidden" name="{{data.name}}[{{data.index}}][settings]" value="{{JSON.stringify(data.settings)}}"/>
</td>
<td class="cookie-column">
<code>{{PUM_Admin.triggers.cookie_column_value(data.settings.cookie_name)}}</code>
</td>
<td class="settings-column">{{{PUM_Admin.triggers.getSettingsDesc(data.type, data.settings)}}}</td>
<td class="list-item-actions">
<button type="button" class="edit dashicons dashicons-edit no-button" aria-label="<?php esc_attr_e( 'Edit this trigger', 'popup-maker' ); ?>"></button>
<button type="button" class="remove dashicons dashicons-no no-button" aria-label="<?php esc_attr_e( 'Delete this trigger', 'popup-maker' ); ?>"></button>
</td>
</tr>
</script>
<?php
$presets = apply_filters(
'pum_click_selector_presets',
[
'a[href="exact_url"]' => __( 'Link: Exact Match', 'popup-maker' ),
'a[href*="contains"]' => __( 'Link: Containing', 'popup-maker' ),
'a[href^="begins_with"]' => __( 'Link: Begins With', 'popup-maker' ),
'a[href$="ends_with"]' => __( 'Link: Ends With', 'popup-maker' ),
]
);
?>
<script type="text/html" id="tmpl-pum-click-selector-presets">
<div class="pum-click-selector-presets">
<span class="dashicons dashicons-arrow-left" title="<?php esc_attr_e( 'Insert Preset', 'popup-maker' ); ?>"></span>
<ul>
<?php foreach ( $presets as $preset => $label ) : ?>
<li data-preset='<?php echo esc_attr( $preset ); ?>'>
<span><?php echo esc_html( $label ); ?></span>
</li>
<?php endforeach; ?>
</ul>
</div>
</script>
<script type="text/html" id="tmpl-pum-trigger-add-type">
<#
var form_args =
<?php
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo PUM_Utils_Array::safe_json_encode(
[
'id' => 'pum-add-trigger',
'fields' => [
'popup_trigger_add_type' => [
'id' => 'popup_trigger_add_type',
'name' => '',
'label' => esc_html__( 'What kind of trigger do you want?', 'popup-maker' ),
'type' => 'select',
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'options' => PUM_Triggers::instance()->dropdown_list(),
],
'popup_trigger_add_cookie' => [
'id' => 'popup_trigger_add_cookie',
'name' => '',
'type' => 'checkbox',
'std' => true,
'label' => esc_html__( 'Prevent popup from showing to visitor again using a cookie?', 'popup-maker' ),
'meta' => [ 'checked' => 'checked' ],
],
'popup_trigger_add_cookie_event' => [
'id' => 'popup_trigger_add_cookie_event',
'name' => '',
'type' => 'select',
'label' => esc_html__( 'Stop showing popup once visitor takes this action', 'popup-maker' ),
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'options' => PUM_Cookies::instance()->dropdown_list(),
'dependencies' => [
'popup_trigger_add_cookie' => true,
],
],
'popup_trigger_add_cookie_info' => [
'id' => 'popup_trigger_add_cookie_info',
'type' => 'html',
'content' => '<p>Learn more about <a href="https://wppopupmaker.com/docs/controlling-popups/popup-settings-box-cookies-option-settings/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=new-trigger-cookie-info">how Popup Maker cookies work</a>.</p>',
],
],
]
);
?>
,
content = PUM_Admin.forms.render(form_args, {});
print(PUM_Admin.templates.modal({
id: 'pum_trigger_add_type_modal',
title: '<?php esc_attr_e( 'New Trigger', 'popup-maker' ); ?>',
content: content,
save_button: pum_admin_vars.I10n.add || '<?php esc_attr_e( 'Add', 'popup-maker' ); ?>'
}));
#>
</script>
<?php
}
/**
*
*/
public static function conditions_editor() {
?>
<script type="text/html" id="tmpl-pum-field-conditions">
<# print(PUM_Admin.conditions.template.editor({groups: data.value})); #>
</script>
<script type="text/html" id="tmpl-pum-condition-editor">
<div class="facet-builder <# if (data.groups && data.groups.length) { print('has-conditions'); } #>">
<p>
<strong>
<?php esc_html_e( 'Conditions allow you to show your popup to a targeted segment of your sites users.', 'popup-maker' ); ?>
<?php
printf(
'%2$s<i class="dashicons dashicons-editor-help" title="%1$s"></i>%3$s',
sprintf(
/* translators: 1. contextual help link text. */
esc_html__( 'Learn more about %s', 'popup-maker' ),
esc_html__( 'Targeting Conditions', 'popup-maker' )
),
'<a href="https://wppopupmaker.com/docs/controlling-popups/popup-settings-box-targeting-option-settings/?utm_medium=inline-doclink&utm_campaign=contextual-help&utm_source=plugin-popup-editor&utm_content=targeting-option-settings" target="_blank">',
'</a>'
);
?>
</strong>
</p>
<ul class="ul-disc">
<li><?php esc_html_e( 'By default, this popup will be loaded on every page of your site for all users.', 'popup-maker' ); ?></li>
<li><?php esc_html_e( 'Target the popup to a specific segment by adding conditions below.', 'popup-maker' ); ?></li>
<li>
<?php
printf(
/* translators: 1. button text. 2. warning icon. */
esc_html__( 'Click the %1$s button for any condition to check the opposite of the chosen condition. The button will turn red %2$s when active.', 'popup-maker' ),
'<i style="font-size: 1em; width: 1em; height: 1em; line-height:1.5em;" class="dashicons dashicons-warning"></i>',
'<i style="width: 1em; height: 1em; font-size: 1em; line-height:1.5em; color:#a00;" class="dashicons dashicons-warning"></i>'
);
?>
</li>
</ul>
<section class="pum-alert-box" style="display:none"></section>
<div class="facet-groups condition-groups">
<#
_.each(data.groups, function (group, group_ID) {
print(PUM_Admin.conditions.template.group({
index: group_ID,
facets: group
}));
});
#>
</div>
<div class="no-facet-groups">
<label for="pum-first-condition"><?php esc_html_e( 'Choose a condition to target your popup to specific content or various other segments.', 'popup-maker' ); ?></label>
<div class="facet-target">
<button type="button" class="pum-not-operand dashicons-before dashicons-warning no-button" aria-label="<?php esc_attr_e( 'Enable the Not Operand', 'popup-maker' ); ?>">
<input type="checkbox" id="pum-first-facet-operand" value="1"/>
</button>
<# print(PUM_Admin.conditions.template.selectbox({id: 'pum-first-condition', name: "", placeholder: "<?php esc_attr_e( 'Choose a condition', 'popup-maker' ); ?>"})); #>
</div>
</div>
</div>
</script>
<script type="text/html" id="tmpl-pum-condition-group">
<div class="facet-group-wrap" data-index="{{data.index}}">
<section class="facet-group">
<div class="facet-list">
<# _.each(data.facets, function (facet) {
print(PUM_Admin.conditions.template.facet(facet));
}); #>
</div>
<div class="add-or">
<button type="button" class="add add-facet no-button" aria-label="<?php echo esc_attr_x( 'Add another OR condition', 'aria-label for add new OR condition button', 'popup-maker' ); ?>"><?php esc_html_e( 'or', 'popup-maker' ); ?></button>
</div>
</section>
<p class="and">
<button type="button" class="add-facet no-button" aria-label="<?php echo esc_attr_x( 'Add another AND condition group', 'aria-label for add new AND condition button', 'popup-maker' ); ?>"><?php esc_html_e( 'and', 'popup-maker' ); ?></button>
</p>
</div>
</script>
<script type="text/html" id="tmpl-pum-condition-facet">
<div class="facet" data-index="{{data.index}}" data-target="{{data.target}}">
<i class="or"><?php esc_html_e( 'or', 'popup-maker' ); ?></i>
<div class="facet-col facet-target <# if (typeof data.not_operand !== 'undefined' && data.not_operand == '1') print('not-operand-checked'); #>">
<button type="button" class="pum-not-operand dashicons-before dashicons-warning no-button" aria-label="<?php esc_attr_e( 'Enable the Not Operand', 'popup-maker' ); ?>">
<input type="checkbox" name="popup_settings[conditions][{{data.group}}][{{data.index}}][not_operand]" value="1"
<# if (typeof data.not_operand !== 'undefined') print(PUM_Admin.utils.checked(data.not_operand, true, true)); #> />
</button>
<# print(PUM_Admin.conditions.template.selectbox({index: data.index, group: data.group, value: data.target, placeholder: "<?php esc_attr_e( 'Choose a condition', 'popup-maker' ); ?>"})); #>
</div>
<div class="facet-settings facet-col">
<# print(PUM_Admin.conditions.template.settings(data, data.settings)); #>
</div>
<div class="facet-actions">
<button type="button" class="remove remove-facet dashicons dashicons-dismiss no-button" aria-label="<?php esc_attr_e( 'Remove Condition', 'popup-maker' ); ?>"></button>
</div>
</div>
</script>
<?php
}
/**
*
*/
public static function cookies_editor() {
?>
<script type="text/html" id="tmpl-pum-field-cookies">
<# print(PUM_Admin.cookies.template.editor({cookies: data.value, name: data.name})); #>
</script>
<script type="text/html" id="tmpl-pum-cookie-editor">
<div class="pum-popup-cookie-editor <# if (data.cookies && data.cookies.length) { print('has-list-items'); } #>" data-field_name="{{data.name}}">
<button type="button" class="button button-primary pum-add-new no-button"><?php esc_html_e( 'Add New Cookie', 'popup-maker' ); ?></button>
<p>
<strong>
<?php
$title_text = sprintf(
/* translators: 1. contextual help link text. */
__( 'Learn more about %s', 'popup-maker' ),
__( 'Cookies', 'popup-maker' )
);
?>
<?php esc_html_e( 'Cookies control the repeat display of a popup.', 'popup-maker' ); ?>
<a href="<?php echo esc_url( 'https://wppopupmaker.com/docs/controlling-popups/popup-settings-box-cookies-option-settings/?utm_campaign=contextual-help&utm_medium=inline-doclink&utm_source=plugin-popup-editor&utm_content=cookies-option-settings' ); ?>"
target="_blank" class="pum-doclink dashicons dashicons-editor-help" title="<?php echo esc_attr( $title_text ); ?>"></a>
</strong>
</p>
<table class="list-table form-table">
<thead>
<tr>
<th><?php esc_html_e( 'Event', 'popup-maker' ); ?></th>
<th><?php esc_html_e( 'Name', 'popup-maker' ); ?></th>
<th><?php esc_html_e( 'Settings', 'popup-maker' ); ?></th>
<th><?php esc_html_e( 'Actions', 'popup-maker' ); ?></th>
</tr>
</thead>
<tbody>
<#
_.each(data.cookies, function (cookie, index) {
print(PUM_Admin.cookies.template.row({
index: index,
event: cookie.event,
name: data.name,
settings: cookie.settings || {}
}));
});
#>
</tbody>
</table>
<!-- <div class="no-cookies no-list-items">-->
<!-- <div class="pum-field pum-field-select pum-field-select2">-->
<!-- <label for="pum-first-cookie">--><?php // _e( 'Choose when you want to set a cookie to get started.', 'popup-maker' ); ?><!--</label>-->
<!-- <# print(PUM_Admin.cookies.template.selectbox({id: 'pum-first-cookie', name: "", placeholder: "--><?php // _e( 'Select an event.', 'popup-maker' ); ?><!--"})); #>-->
<!-- </div>-->
<!-- </div>-->
</div>
</script>
<script type="text/html" id="tmpl-pum-cookie-row">
<tr data-index="{{data.index}}">
<td class="event-column">
<button type="button" class="edit no-button link-button" aria-label="<?php esc_attr_e( 'Edit this cookie', 'popup-maker' ); ?>">{{PUM_Admin.cookies.getLabel(data.event)}}</button>
<input class="popup_cookies_field_event" type="hidden" name="{{data.name}}[{{data.index}}][event]" value="{{data.event}}"/>
<input class="popup_cookies_field_settings" type="hidden" name="{{data.name}}[{{data.index}}][settings]" value="{{JSON.stringify(data.settings)}}"/>
</td>
<td class="name-column">
<code>{{data.settings.name}}</code>
</td>
<td class="settings-column">{{{PUM_Admin.cookies.getSettingsDesc(data.event, data.settings)}}}</td>
<td class="list-item-actions">
<button type="button" class="edit dashicons dashicons-edit no-button" aria-label="<?php esc_attr_e( 'Edit this cookie', 'popup-maker' ); ?>"></button>
<button type="button" class="remove dashicons dashicons-no no-button" aria-label="<?php esc_attr_e( 'Delete this cookie', 'popup-maker' ); ?>"></button>
</td>
</tr>
</script>
<script type="text/html" id="tmpl-pum-cookie-add-event">
<#
print(PUM_Admin.templates.modal({
id: 'pum_cookie_add_event_modal',
title: '<?php esc_attr_e( 'When should your cookie be created?', 'popup-maker' ); ?>',
content: PUM_Admin.cookies.template.selectbox({id: 'popup_cookie_add_event', name: "", placeholder: "<?php esc_attr_e( 'Select a cookie type.', 'popup-maker' ); ?>"}),
save_button: pum_admin_vars.I10n.add || '<?php __( 'Add', 'popup-maker' ); ?>'
}));
#>
</script>
<script type="text/html" id="tmpl-pum-field-cookie_key">
<div class="cookie-key">
<button type="button" class="reset dashicons-before dashicons-image-rotate" title="<?php esc_attr_e( 'Reset Cookie Key', 'popup-maker' ); ?>"></button>
<input type="text" placeholder="{{data.placeholder}}" class="{{data.size}}-text dashicons-before dashicons-image-rotate" id="{{data.id}}" name="{{data.name}}" value="{{data.value}}" {{{data.meta}}}/>
</div>
</script>
<?php
}
}
Home - Capital GMC Buick Regina
Skip to content
{{ $t(category) }}
Error
{{vehicle.modelData.year}} {{vehicle.modelData.make}} {{vehicle.modelData.model}}
Starting from {{vehicle.modelData.startingPrice | moneyFormat(lang)}}
Welcome to Capital GMC BUICK – REGINA
Thank you for choosing Capital GMC Buick | Regina, your premier certified Buick and GMC dealership proudly serving drivers in Regina and the surrounding communities. Whether you’re searching for a brand-new Buick or GMC vehicle or a meticulously inspected pre-owned model, we have a diverse selection to match your needs and lifestyle.
Beyond our impressive inventory, we offer a seamless and stress-free financing experience through our well-connected finance centre, where our team of experts is dedicated to securing the best loan or lease options for you, quickly, transparently, and hassle-free.
But our commitment to you doesn’t stop at the sale. Our state-of-the-art service centre is staffed with skilled Buick and GMC technicians who use the latest equipment and genuine OEM parts to keep your vehicle running at its best. From routine maintenance to complex repairs, we’ve got you covered.
Experience top-tier customer service, quality vehicles, and expert care, all in one place. Visit Capital GMC Buick | Regina today or call us at 306-205-8072 with any questions. We’re here to help!
Ask a Question
Capital GMC Buick – Regina
Contact Us
Have a question or need assistance? Fill out the form and we will reach out to you as soon as possible.
Notice: JavaScript is required for this content.
CLOSE
Schedule a Visit
Let us know when you are coming and how we can assist you. We can ensure someone will be on hand to help you out at the desired date and time.
Notice: JavaScript is required for this content.
CLOSE
Find a Career
Have a look at our list of available positions and apply online today to join our team!
×
Opportunities to Grow
The auto industry is constantly changing and we want to continue to grow. We offer growth, leadership & mentorship programs to allow our staff to grow with us.
×
Competitive Salary
We have a significant earning potential with incentive-based pay in most roles. We also offer an employee referral bonus with paid bonuses.
×
Health & Dental
We offer a comprehensive benefits package including extended health, dental, and vision care. We also include paramedical, life insurance, paid sick leave, short & long-term disability coverages.
×
Vacation
We value our employees and want everyone to take their vacation time. We offer a minimum of 2 weeks vacation each year.
×
Training & Development
We have many opportunities for paid education and training in-house as well as training from the Manufacturer.
×
$10,000 Cash Giveaway – Terms & Conditions
All October long, stop by Capital GMC Buick Cadillac, to enter for your chance to win $10,000 cash. No purchase is required, but entries must be made in-store.
The contest is open to residents of Saskatchewan who are 18+. Dealership employees and their households are not eligible. Entries will be accepted from October 1 to October 31, 2025. A random draw will take place on November 1, 2025.
The prize is one $10,000 award, paid by cheque, and must be accepted as awarded. Winner will be contacted by phone or email and must respond within 7 days or another entry may be drawn. Odds of winning depend on the number of entries received.By entering, you agree that Capital Automotive Group may use your name and photo for winner announcements. The contest is governed by the laws of Saskatchewan.
Notice: JavaScript is required for this content.
CLOSE