: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
'popup_settings_conditions_' +
if ( data.name === null ) {
'popup_settings[conditions][' +
return PUM_Admin.templates.field( data );
add: function( editor, target, not_operand ) {
var $editor = $( editor ),
index: $editor.find( '.facet-group-wrap' ).length,
not_operand: not_operand || false,
.append( conditions.template.group( data ) );
$editor.addClass( 'has-conditions' );
remove: function( $group ) {
var $editor = $group.parents( '.facet-builder' );
.prev( '.facet-group-wrap' )
.find( '.and .add-facet' )
.removeClass( 'disabled' );
if ( $editor.find( '.facet-group-wrap' ).length === 0 ) {
$editor.removeClass( 'has-conditions' );
$( '#pum-first-condition' )
add: function( $group, target, not_operand ) {
group: $group.data( 'index' ),
index: $group.find( '.facet' ).length,
not_operand: not_operand || false,
.append( conditions.template.facet( data ) );
remove: function( $facet ) {
var $group = $facet.parents( '.facet-group-wrap' );
if ( $group.find( '.facet' ).length === 0 ) {
conditions.groups.remove( $group );
$( '.facet-builder .facet-group-wrap' ).each( function() {
.data( 'index', groupIndex )
.data( 'index', facetIndex )
this.name = this.name.replace(
/popup_settings\[conditions\]\[\d*?\]\[\d*?\]/,
'popup_settings[conditions][' +
this.id = this.id.replace(
/popup_settings_conditions_\d*?_\d*?_/,
'popup_settings_conditions_' +
window.PUM_Admin = window.PUM_Admin || {};
window.PUM_Admin.conditions = conditions;
.on( 'pum_init', function() {
conditions.toggle_not_operand();
'select2:select pumselect2:select',
$editor = $field.parents( '.facet-builder' ).eq( 0 ),
$operand = $editor.find( '#pum-first-facet-operand' ),
not_operand = $operand.is( ':checked' );
conditions.groups.add( $editor, target, not_operand );
$field.val( null ).trigger( 'change' );
.prop( 'checked', false )
.parents( '.facet-target' )
.removeClass( 'not-operand-checked' );
$( document ).trigger( 'pum_init' );
.on( 'click', '.facet-builder .pum-not-operand', function() {
conditions.not_operand_checkbox( $( this ) );
.on( 'change', '.facet-builder .facet-target select', function(
$facet = $this.parents( '.facet' ),
if ( target === '' || target === $facet.data( 'target' ) ) {
.data( 'target', target )
.find( '.facet-settings' )
.html( conditions.template.settings( data ) );
$( document ).trigger( 'pum_init' );
'.facet-builder .facet-group-wrap:last-child .and .add-facet',
.parents( '.facet-builder' )
$( document ).trigger( 'pum_init' );
'.facet-builder .add-or .add-facet:not(.disabled)',
.parents( '.facet-group-wrap' )
$( document ).trigger( 'pum_init' );
.on( 'click', '.facet-builder .remove-facet', function() {
conditions.facets.remove(
$( document ).trigger( 'pum_init' );
( function( $, document, undefined ) {
var I10n = pum_admin_vars.I10n,
get_cookies: function() {
return window.pum_popup_settings_editor.cookies;
get_cookie: function( event ) {
var cookies = this.get_cookies(),
cookies[ event ] !== 'undefined'
typeof cookie === 'object' &&
typeof cookie.fields === 'object' &&
Object.keys( cookie.fields ).length
cookie = this.parseFields( cookie );
getCookieDefaults: function( event ) {
var cookie = cookies.get_cookie( event );
var defaultSettings = {};
for ( var tab in cookie.fields ) {
if ( cookie.fields.hasOwnProperty( tab ) ) {
for ( var setting in cookie.fields[ tab ] ) {
cookie.fields[ tab ].hasOwnProperty( setting )
defaultSettings[ setting ] =
cookie.fields[ tab ][ setting ].std;
defaultSettings.name = 'pum-' + $( '#post_ID' ).val();
parseFields: function( cookie ) {
_.each( cookie.fields, function( fields, tabID ) {
_.each( fields, function( field, fieldID ) {
cookie.fields[ tabID ][ fieldID ].name =
'cookie_settings[' + fieldID + ']';
if ( cookie.fields[ tabID ][ fieldID ].id === '' ) {
cookie.fields[ tabID ][ fieldID ].id =
'cookie_settings_' + fieldID;
parseValues: function( values, type ) {
select_list: function() {
_cookies = PUM_Admin.utils.object_to_array(
for ( i = 0; i < _cookies.length; i++ ) {
options[ _cookies[ i ].id ] = _cookies[ i ].name;
getLabel: function( event ) {
var cookie = cookies.get_cookie( event );
getSettingsDesc: function( event, values ) {
var cookie = cookies.get_cookie( event );
return PUM_Admin.templates.renderInline(
* Refresh all cookie row descriptions.
refreshDescriptions: function() {
$( '.pum-popup-cookie-editor table.list-table tbody tr' ).each(
.find( '.popup_cookies_field_event' )
'.popup_cookies_field_settings:first'
$row.find( 'td.settings-column' ).html(
cookies.getSettingsDesc( event, values )
* Insert a new cookie when needed.
insertCookie: function( $editor, args ) {
var defaultSettings = cookies.getCookieDefaults( args.event );
settings: defaultSettings,
cookies.rows.add( $editor, args );
form: function( event, values, callback ) {
var cookie = cookies.get_cookie( event ),
modalID = 'pum_cookie_settings',
firstTab = Object.keys( cookie.fields )[ 0 ];
values.index = values.index >= 0 ? values.index : null;
// Add hidden index & event fields.
cookie.fields[ firstTab ] = $.extend(
cookie.fields[ firstTab ],
if ( typeof values.key !== 'string' || values.key === '' ) {
delete cookie.fields.advanced.key;
PUM_Admin.templates.modal( {
title: cookie.modal_title || cookie.name,
classes: 'tabbed-content',
values.index !== null ? I10n.update : I10n.add,
content: PUM_Admin.forms.render(
id: 'pum_cookie_settings_form',
fields: cookie.fields || {},
$( '#' + modalID + ' form' ).on(
PUM_Admin.modals.closeAll();
editor: function( args ) {
data.cookies = PUM_Admin.utils.object_to_array(
return PUM_Admin.templates.render(
return PUM_Admin.templates.render( 'pum-cookie-row', data );
selectbox: function( args ) {
options: cookies.select_list(),
if ( data.id === null ) {
'popup_settings_cookies_' + data.index + '_event';
if ( data.name === null ) {
'popup_settings[cookies][' +
return PUM_Admin.templates.field( data );