JezK
Edit File: ad-inserter.js
var javascript_version = "2.8.19"; var ignore_key = true; var start = 1; var end = 16; var active_tab = 1; var active_tab_0 = 0; var active_tab_0_general = 0; var tabs_to_configure = new Array(); var debug = false; var debug_title = false; var save_enabled = true; var current_tab = 0; var next_tab = 0; var syntax_highlighting = false; var settings_page = ""; var dateFormat = "yy-mm-dd"; var timeFormat = "H:i:s"; var list_search_reload = false; var website_list_search_reload = false; //var ai_ctrl_pressed = false; //var ai_editor_disabled = false; var AI_DISABLED = 0; var AI_BEFORE_POST = 1; var AI_AFTER_POST = 2; var AI_BEFORE_CONTENT = 3; var AI_AFTER_CONTENT = 4; var AI_BEFORE_PARAGRAPH = 5; var AI_AFTER_PARAGRAPH = 6; var AI_BEFORE_EXCERPT = 7; var AI_AFTER_EXCERPT = 8; var AI_BETWEEN_POSTS = 9; var AI_BEFORE_COMMENTS = 10; var AI_BETWEEN_COMMENTS = 11; var AI_AFTER_COMMENTS = 12; var AI_FOOTER = 13; var AI_ABOVE_HEADER = 14; var AI_BEFORE_HTML_ELEMENT = 15; var AI_AFTER_HTML_ELEMENT = 16; var AI_INSIDE_HTML_ELEMENT = 17; var AI_BEFORE_IMAGE = 18; var AI_AFTER_IMAGE = 19; var AI_ALIGNMENT_DEFAULT = 0; var AI_ALIGNMENT_LEFT = 1; var AI_ALIGNMENT_RIGHT = 2; var AI_ALIGNMENT_CENTER = 3; var AI_ALIGNMENT_FLOAT_LEFT = 4; var AI_ALIGNMENT_FLOAT_RIGHT = 5; var AI_ALIGNMENT_NO_WRAPPING = 6; var AI_ALIGNMENT_CUSTOM_CSS = 7; var AI_ALIGNMENT_STICKY_LEFT = 8; var AI_ALIGNMENT_STICKY_RIGHT = 9; var AI_ALIGNMENT_STICKY_TOP = 10; var AI_ALIGNMENT_STICKY_BOTTOM = 11; var AI_ALIGNMENT_STICKY = 12; var AI_ADB_ACTION_NONE = 0; var AI_ADB_ACTION_MESSAGE = 1; var AI_ADB_ACTION_REDIRECTION = 2; var AI_ADB_BLOCK_ACTION_DO_NOTHING = 0; var AI_ADB_BLOCK_ACTION_REPLACE = 1; var AI_ADB_BLOCK_ACTION_SHOW = 2; var AI_ADB_BLOCK_ACTION_HIDE = 3; var AI_CODE_UNKNOWN = 100; var AI_CODE_BANNER = 0; var AI_CODE_ADSENSE = 1; var AI_CODE_AMAZON = 2; var AI_ADSENSE_STANDARD = 0; var AI_ADSENSE_LINK = 1; var AI_ADSENSE_IN_ARTICLE = 2; var AI_ADSENSE_IN_FEED = 3; var AI_ADSENSE_MATCHED_CONTENT = 4; var AI_ADSENSE_SIZE_FIXED = 0; var AI_ADSENSE_SIZE_RESPONSIVE = 1; var AI_ADSENSE_SIZE_FIXED_BY_VIEWPORT = 2; var AI_HTML_INSERTION_CLIENT_SIDE = 0; //var AI_HTML_INSERTION_CLIENT_SIDE_DOM_READY = 1; var AI_HTML_INSERTION_SEREVR_SIDE = 2; var AI_STICK_TO_THE_LEFT = 0; var AI_STICK_TO_THE_CONTENT_LEFT = 1; var AI_STICK_HORIZONTAL_CENTER = 2; var AI_STICK_TO_THE_CONTENT_RIGHT = 3; var AI_STICK_TO_THE_RIGHT = 4; var AI_STICK_TO_THE_TOP = 0; var AI_STICK_VERTICAL_CENTER = 1; var AI_SCROLL_WITH_THE_CONTENT = 2; var AI_STICK_TO_THE_BOTTOM = 3; var AI_ANIMATION_NONE = 0; var AI_BACKGROUND_REPEAT_DEFAULT = 0; var AI_BACKGROUND_REPEAT_NO = 1; var AI_BACKGROUND_REPEAT_YES = 2; var AI_BACKGROUND_REPEAT_HORIZONTALY = 3; var AI_BACKGROUND_REPEAT_VERTICALLY = 4; var AI_BACKGROUND_REPEAT_SPACE = 5; var AI_BACKGROUND_REPEAT_ROUND = 6; var AI_BACKGROUND_SIZE_DEFAULT = 0; var AI_BACKGROUND_SIZE_COVER = 1; var AI_BACKGROUND_SIZE_CONTAIN = 2; var AI_BACKGROUND_SIZE_FILL = 3; var before_update_selection_from_list = null; /* * jQuery Tooltip plugin 1.3 * * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/ * http://docs.jquery.com/Plugins/Tooltip * * Copyright (c) 2006 - 2008 Jörn Zaefferer * * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $ * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ (function($) { // the tooltip element var helper = {}, // the current tooltipped element current, // the title of the current element, used for restoring title, // timeout id for delayed tooltips tID, // IE 5.5 or 6 // IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent), IE = false, // flag for mouse tracking track = false; $.tooltip = { blocked: false, defaults: { delay: 200, fade: false, showURL: true, extraClass: "", top: 15, left: 15, id: "ai-tooltip" }, block: function() { $.tooltip.blocked = !$.tooltip.blocked; } }; $.fn.extend({ tooltip: function(settings) { settings = $.extend({}, $.tooltip.defaults, settings); createHelper(settings); return this.each(function() { $.data(this, "tooltip", settings); this.tOpacity = helper.parent.css("opacity"); // copy tooltip into its own expando and remove the title this.tooltipText = this.title; $(this).removeAttr("title"); // also remove alt attribute to prevent default tooltip in IE this.alt = ""; }) // .mouseover(save) .on ("mouseover", save) // .mouseout(hide) .on ("mouseout", hide) // .click(hide); .on ("click", hide); }, fixPNG: IE ? function() { return this.each(function() { var image = $(this).css('backgroundImage'); if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) { image = RegExp.$1; $(this).css({ 'backgroundImage': 'none', 'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')" }).each(function() { var position = $(this).css('position'); if (position != 'absolute' && position != 'relative') $(this).css('position', 'relative'); }); } }); } : function() { return this; }, unfixPNG: IE ? function() { return this.each(function() { $(this).css({ 'filter': '', backgroundImage: '' }); }); } : function() { return this; }, hideWhenEmpty: function() { return this.each(function() { $(this)[$(this).html() ? "show" : "hide"](); }); }, url: function() { return this.attr('href') || this.attr('src'); } }); function createHelper(settings) { // there can be only one tooltip helper if (helper.parent) return; // create the helper, h3 for title, div for url helper.parent = $('<div id="' + settings.id + '"><h3></h3><div class="body"></div><div class="url"></div></div>') // add to document .appendTo(document.body) // hide it at first .hide(); // apply bgiframe if available if ($.fn.bgiframe) helper.parent.bgiframe(); // save references to title and url elements helper.title = $('h3', helper.parent); helper.body = $('div.body', helper.parent); helper.url = $('div.url', helper.parent); } function settings(element) { return $.data(element, "tooltip"); } // main event handler to start showing tooltips function handle(event) { // show helper, either with timeout or on instant if (settings(this).delay) tID = setTimeout(show, settings(this).delay); else show(); // if selected, update the helper position when the mouse moves track = !!settings(this).track; // $(document.body).bind('mousemove', update); $(document.body).on ('mousemove', update); // update at least once update(event); } // save elements title before the tooltip is displayed function save() { // if this is the current source, or it has no title (occurs with click event), stop if ($.tooltip.blocked || this == current || (!this.tooltipText && !settings(this).bodyHandler)) return; // save current current = this; title = this.tooltipText; title = title.replace (/\[\[(.+?)\]\]/g, '<span class="tooltip-code">$1</span>'); title = title.replace (/\[BR\]/g, '<br />'); title = title.replace (/\[HR\]/g, '<hr />'); title = title.replace (/(\[ADINSERTER.+\])/g, '<span class="tooltip-code">$1</span>'); title = title.replace (/(\%N)/g, '<span class="tooltip-code">$1</span>'); title = title.replace (/(\[\*\])/g, '<span class="tooltip-icon"><span class="dashicons dashicons-admin-generic" style="width: 11px; height: 11px; font-size: 12px; line-height: unset;"></span></span>'); title = title.replace (/(http[^ ]+)/g, '<span class="tooltip-code">$1</span>'); title = title.replace (/(pub-[0-9]+)/g, '<span class="tooltip-code">$1</span>'); if (settings(this).bodyHandler) { helper.title.hide(); var bodyContent = settings(this).bodyHandler.call(this); if (bodyContent.nodeType || bodyContent.jquery) { helper.body.empty().append(bodyContent) } else { helper.body.html(bodyContent); } helper.body.show(); } else if (settings(this).showBody) { var parts = title.split(settings(this).showBody); if (parts.length == 2) { helper.title.html(parts.shift()).show(); } else { helper.title.hide(); } helper.body.empty(); for (var i = 0, part; (part = parts[i]); i++) { if (i > 0) helper.body.append("<br/>"); helper.body.append(part); } helper.body.hideWhenEmpty(); } else { helper.title.html(title).show(); helper.body.hide(); } // if element has href or src, add and show it, otherwise hide it if (settings(this).showURL && $(this).url()) helper.url.html($(this).url().replace('http://', '')).show(); else helper.url.hide(); // add an optional class for this tip helper.parent.addClass(settings(this).extraClass); // fix PNG background for IE if (settings(this).fixPNG) helper.parent.fixPNG(); handle.apply(this, arguments); } // delete timeout and show helper function show() { tID = null; if ((!IE || !$.fn.bgiframe) && settings(current).fade) { if (helper.parent.is(":animated")) helper.parent.stop().show().fadeTo(settings(current).fade, current.tOpacity); else helper.parent.is(':visible') ? helper.parent.fadeTo(settings(current).fade, current.tOpacity) : helper.parent.fadeIn(settings(current).fade); } else { helper.parent.show(); } update(); } /** * callback for mousemove * updates the helper position * removes itself when no current element */ function update(event) { if ($.tooltip.blocked) return; if (event && event.target.tagName == "OPTION") { return; } // stop updating when tracking is disabled and the tooltip is visible if (!track && helper.parent.is(":visible")) { // $(document.body).unbind('mousemove', update) $(document.body).off ('mousemove', update) } // if no current element is available, remove this listener if (current == null) { // $(document.body).unbind('mousemove', update); $(document.body).off ('mousemove', update); return; } // remove position helper classes helper.parent.removeClass("viewport-right").removeClass("viewport-bottom"); var left = helper.parent[0].offsetLeft; var top = helper.parent[0].offsetTop; if (event) { // position the helper 15 pixel to bottom right, starting from mouse position left = event.pageX + settings(current).left; top = event.pageY + settings(current).top; var right = 'auto'; if (settings(current).positionLeft) { right = $(window).width() - left; left = 'auto'; } helper.parent.css({ left: left, right: right, top: top }); } var v = viewport(), h = helper.parent[0]; // check horizontal position if (v.x + v.cx < h.offsetLeft + h.offsetWidth) { left -= h.offsetWidth + 20 + settings(current).left; helper.parent.css({ left: left + 'px' }).addClass("viewport-right"); } // check vertical position if (v.y + v.cy < h.offsetTop + h.offsetHeight) { top -= h.offsetHeight + 20 + settings(current).top; helper.parent.css({ top: top + 'px' }).addClass("viewport-bottom"); } } function viewport() { return { x: $(window).scrollLeft(), y: $(window).scrollTop(), cx: $(window).width(), cy: $(window).height() }; } // hide helper and restore added classes and the title function hide(event) { if ($.tooltip.blocked) return; // clear timeout if possible if (tID) clearTimeout(tID); // no more current element current = null; var tsettings = settings(this); function complete() { helper.parent.removeClass(tsettings.extraClass).hide().css("opacity", ""); } if ((!IE || !$.fn.bgiframe) && tsettings.fade) { if (helper.parent.is(':animated')) helper.parent.stop().fadeTo(tsettings.fade, 0, complete); else helper.parent.stop().fadeOut(tsettings.fade, complete); } else complete(); if (settings(this).fixPNG) helper.parent.unfixPNG(); } })(jQuery); function b64e (str) { // first we use encodeURIComponent to get percent-encoded UTF-8, // then we convert the percent encodings into raw bytes which // can be fed into btoa. return btoa (encodeURIComponent (str).replace (/%([0-9A-F]{2})/g, function toSolidBytes (match, p1) { return String.fromCharCode ('0x' + p1); })); } function b64d (str) { // Going backwards: from bytestream, to percent-encoding, to original string. return decodeURIComponent (atob (str).split ('').map (function(c) { return '%' + ('00' + c.charCodeAt (0).toString (16)).slice (-2); }).join ('')); } // http://www.myersdaily.org/joseph/javascript/md5.js function md5cycle (x, k) { var a = x[0], b = x[1], c = x[2], d = x[3]; a = ff(a, b, c, d, k[0], 7, -680876936); d = ff(d, a, b, c, k[1], 12, -389564586); c = ff(c, d, a, b, k[2], 17, 606105819); b = ff(b, c, d, a, k[3], 22, -1044525330); a = ff(a, b, c, d, k[4], 7, -176418897); d = ff(d, a, b, c, k[5], 12, 1200080426); c = ff(c, d, a, b, k[6], 17, -1473231341); b = ff(b, c, d, a, k[7], 22, -45705983); a = ff(a, b, c, d, k[8], 7, 1770035416); d = ff(d, a, b, c, k[9], 12, -1958414417); c = ff(c, d, a, b, k[10], 17, -42063); b = ff(b, c, d, a, k[11], 22, -1990404162); a = ff(a, b, c, d, k[12], 7, 1804603682); d = ff(d, a, b, c, k[13], 12, -40341101); c = ff(c, d, a, b, k[14], 17, -1502002290); b = ff(b, c, d, a, k[15], 22, 1236535329); a = gg(a, b, c, d, k[1], 5, -165796510); d = gg(d, a, b, c, k[6], 9, -1069501632); c = gg(c, d, a, b, k[11], 14, 643717713); b = gg(b, c, d, a, k[0], 20, -373897302); a = gg(a, b, c, d, k[5], 5, -701558691); d = gg(d, a, b, c, k[10], 9, 38016083); c = gg(c, d, a, b, k[15], 14, -660478335); b = gg(b, c, d, a, k[4], 20, -405537848); a = gg(a, b, c, d, k[9], 5, 568446438); d = gg(d, a, b, c, k[14], 9, -1019803690); c = gg(c, d, a, b, k[3], 14, -187363961); b = gg(b, c, d, a, k[8], 20, 1163531501); a = gg(a, b, c, d, k[13], 5, -1444681467); d = gg(d, a, b, c, k[2], 9, -51403784); c = gg(c, d, a, b, k[7], 14, 1735328473); b = gg(b, c, d, a, k[12], 20, -1926607734); a = hh(a, b, c, d, k[5], 4, -378558); d = hh(d, a, b, c, k[8], 11, -2022574463); c = hh(c, d, a, b, k[11], 16, 1839030562); b = hh(b, c, d, a, k[14], 23, -35309556); a = hh(a, b, c, d, k[1], 4, -1530992060); d = hh(d, a, b, c, k[4], 11, 1272893353); c = hh(c, d, a, b, k[7], 16, -155497632); b = hh(b, c, d, a, k[10], 23, -1094730640); a = hh(a, b, c, d, k[13], 4, 681279174); d = hh(d, a, b, c, k[0], 11, -358537222); c = hh(c, d, a, b, k[3], 16, -722521979); b = hh(b, c, d, a, k[6], 23, 76029189); a = hh(a, b, c, d, k[9], 4, -640364487); d = hh(d, a, b, c, k[12], 11, -421815835); c = hh(c, d, a, b, k[15], 16, 530742520); b = hh(b, c, d, a, k[2], 23, -995338651); a = ii(a, b, c, d, k[0], 6, -198630844); d = ii(d, a, b, c, k[7], 10, 1126891415); c = ii(c, d, a, b, k[14], 15, -1416354905); b = ii(b, c, d, a, k[5], 21, -57434055); a = ii(a, b, c, d, k[12], 6, 1700485571); d = ii(d, a, b, c, k[3], 10, -1894986606); c = ii(c, d, a, b, k[10], 15, -1051523); b = ii(b, c, d, a, k[1], 21, -2054922799); a = ii(a, b, c, d, k[8], 6, 1873313359); d = ii(d, a, b, c, k[15], 10, -30611744); c = ii(c, d, a, b, k[6], 15, -1560198380); b = ii(b, c, d, a, k[13], 21, 1309151649); a = ii(a, b, c, d, k[4], 6, -145523070); d = ii(d, a, b, c, k[11], 10, -1120210379); c = ii(c, d, a, b, k[2], 15, 718787259); b = ii(b, c, d, a, k[9], 21, -343485551); x[0] = add32(a, x[0]); x[1] = add32(b, x[1]); x[2] = add32(c, x[2]); x[3] = add32(d, x[3]); } function cmn(q, a, b, x, s, t) { a = add32(add32(a, q), add32(x, t)); return add32((a << s) | (a >>> (32 - s)), b); } function ff(a, b, c, d, x, s, t) { return cmn((b & c) | ((~b) & d), a, b, x, s, t); } function gg(a, b, c, d, x, s, t) { return cmn((b & d) | (c & (~d)), a, b, x, s, t); } function hh(a, b, c, d, x, s, t) { return cmn(b ^ c ^ d, a, b, x, s, t); } function ii(a, b, c, d, x, s, t) { return cmn(c ^ (b | (~d)), a, b, x, s, t); } function md51(s) { txt = ''; var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i; for (i = 64; i <= s.length; i += 64) { md5cycle(state, md5blk(s.substring(i - 64, i))); } s = s.substring(i - 64); var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (i = 0; i < s.length; i++) tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3); tail[i >> 2] |= 0x80 << ((i % 4) << 3); if (i > 55) { md5cycle(state, tail); for (i = 0; i < 16; i++) tail[i] = 0; } tail[14] = n * 8; md5cycle(state, tail); return state; } /* there needs to be support for Unicode here, * unless we pretend that we can redefine the MD-5 * algorithm for multi-byte characters (perhaps * by adding every four 16-bit characters and * shortening the sum to 32 bits). Otherwise * I suggest performing MD-5 as if every character * was two bytes--e.g., 0040 0025 = @%--but then * how will an ordinary MD-5 sum be matched? * There is no way to standardize text to something * like UTF-8 before transformation; speed cost is * utterly prohibitive. The JavaScript standard * itself needs to look at this: it should start * providing access to strings as preformed UTF-8 * 8-bit unsigned value arrays. */ function md5blk(s) { /* I figured global was faster. */ var md5blks = [], i; /* Andy King said do it this way. */ for (i = 0; i < 64; i += 4) { md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24); } return md5blks; } var hex_chr = '0123456789abcdef'.split(''); function rhex(n) { var s = '', j = 0; for (; j < 4; j++) s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F]; return s; } function hex(x) { for (var i = 0; i < x.length; i++) x[i] = rhex(x[i]); return x.join(''); } function md5(s) { return hex(md51(s)); } /* this function is much faster, so if possible we use it. Some IEs are the only ones I know of that need the idiotic second function, generated by an if clause. */ function add32(a, b) { return (a + b) & 0xFFFFFFFF; } if (md5('hello') != '5d41402abc4b2a76b9719d911017c592') { function add32(x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF), msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); } } String.prototype.tabIndex = function () { return this.replace (/^\D+/g, '') }; String.prototype.replaceAll = function(search, replacement) { var target = this; return target.split(search).join(replacement); }; var ai_nonce = b64d (jQuery ("#ai-form").attr ('ai-value')); var ai_settings = b64d (jQuery ("#ai-form").attr ('ai-settings')); var ai_read_only = jQuery ("#ai-form").hasClass ('ai-read-only'); var shSettings = { "tab_size":"4", "use_soft_tabs":"1", "word_wrap":"1", "highlight_curr_line":"0", "key_bindings":"default", "full_line_selection":"1", "show_line_numbers":"0"}; function encode_code (block) { // copy code back to textarea and encode block code if (!save_enabled) return false; var textarea = jQuery ('#block-' + block); var textarea_name = textarea.attr ('name'); if (typeof textarea_name !== typeof undefined && textarea_name !== false) { var editor_element = jQuery ("#editor-" + block); // Copy code from editor only if it exists (tab has been configured) if (editor_element.length != 0 && typeof editor_element !== typeof undefined && editor_element !== false) { var editor = ace.edit ("editor-" + block); var session = editor.getSession(); var editor_disabled = true; if (typeof ace != 'undefined') { editor_disabled = jQuery("#simple-editor-" + block).is(":checked"); } if (!editor_disabled) { textarea.val (session.getValue()); } } var default_value = textarea.attr ("default"); var current_value = textarea.val (); var name = textarea.attr ("name"); if (typeof name != 'undefined') { if (typeof default_value != 'undefined') { // console.log (textarea.attr ("name"), ": default_value: ", default_value, ", current_value: ", current_value); if (current_value == default_value) { textarea.removeAttr ("name"); // console.log ("REMOVED: ", name); } } // else console.log ("NO DEFAULT VALUE: ", textarea.attr ("name")); } var copy_id = textarea.attr ('id') + '-copy'; jQuery ('#' + copy_id).remove (); var org_name = textarea.attr ('org-name'); if (typeof org_name !== typeof undefined && org_name !== false) { textarea.attr ("name", org_name); } else textarea.attr ("org-name", textarea_name); var textarea_copy = textarea.clone ().attr ('id', copy_id).hide (); textarea.removeAttr ("name"); textarea_copy.val (':AI:' + b64e (textarea.val ())); textarea.after (textarea_copy); // console.log (':AI:', block); } jQuery("#ai-active-tab").attr ("value", '[' + active_tab + ',' + active_tab_0 + ',' + active_tab_0_general + ']'); var named_parameters = jQuery("#tab-" + block + ' [name]'); var block_parameters = new Array(); named_parameters.each (function() { block_parameters.push (jQuery (this).attr ('name')); }); jQuery("#block-parameters-" + block).attr ('name', 'block-parameters-' + block).attr ('value', b64e (JSON.stringify (block_parameters))); }; function SyntaxHighlight (id, block, settings) { var textarea, editor, form, session, editDiv; settings ['tab_size'] = 2; this.textarea = textarea = jQuery(id); this.settings = settings || {}; if (textarea.length === 0 ) { // Element does not exist this.valid = false; return; } this.valid = true; editDiv = jQuery('<div>', { position: 'absolute', 'class': textarea.attr('class'), 'id': 'editor-' + block }).insertBefore (textarea); textarea.css('display', 'none'); this.editor = editor = ace.edit(editDiv[0]); this.form = form = textarea.closest('form'); this.session = session = editor.getSession(); editor.$blockScrolling = Infinity; session.setValue(textarea.val()); session.setMode ("ace/mode/ai-html"); this.applySettings(); } SyntaxHighlight.prototype.applySettings = function () { var editor = this.editor, session = this.session, settings = this.settings; editor.renderer.setShowGutter(settings['show_line_numbers'] == 1); editor.setHighlightActiveLine(settings['highlight_curr_line'] == 1); editor.setSelectionStyle(settings['full_line_selection'] == 1 ? "line" : "text"); editor.setTheme("ace/theme/" + settings['theme']); session.setUseWrapMode(settings['word_wrap'] == 1); session.setTabSize(settings['tab_size']); session.setUseSoftTabs(settings['use_soft_tabs'] == 1); }; function is_sticky (custom_css) { custom_css = custom_css.replace (/\s+/g, ''); if (custom_css.indexOf ("position:fixed") != - 1 && custom_css.indexOf ("z-index:") != - 1) return true; return false; } function is_background (custom_css) { custom_css = custom_css.replace (/\s+/g, ''); if (custom_css.indexOf ("top:0px;left:0px;width:100%;height:100%;") != - 1) return true; return false; } function change_block_alignment (block) { // jQuery ("select#block-alignment-" + block).change (); jQuery ("select#block-alignment-" + block).trigger ("change"); // jQuery ("select#horizontal-position-" + block).change (); jQuery ("select#horizontal-position-" + block).trigger ("change"); // jQuery ("select#vertical-position-" + block).change (); jQuery ("select#vertical-position-" + block).trigger ("change"); // jQuery ("input#background-" + block).change (); jQuery ("input#background-" + block).trigger ("change"); // jQuery ("input#bkg-color-" + block).colorpicker ('setValue', jQuery ("input#bkg-color-" + block).attr ('value')); jQuery ("input#bkg-color-" + block).colorpicker ('setValue', jQuery ("input#bkg-color-" + block).val ()); // jQuery ("select#bkg-repeat-" + block).change (); jQuery ("select#bkg-repeat-" + block).trigger ("change"); // jQuery ("select#bkg-size-" + block).change (); jQuery ("select#bkg-size-" + block).trigger ("change"); } function change_banner_image (block) { jQuery ("input#banner-image-url-" + block).trigger ("input"); } function ai_css_value_px (css, property) { var found = false; styles = css.split (';'); styles.forEach (function (style, index) { style = style.trim (); if (style.indexOf (property) == 0) { style_parts = style.split (':'); if (style_parts.length == 2) { style_property = style_parts [0].trim (); style_value = style_parts [1].trim (); if (style_property == property && style_value.endsWith ('px')) found = true; } } }); return found; } function ai_change_css (css, property, value) { var replaced = false; styles = css.split (';'); styles.forEach (function (style, index) { org_style = style; style = style.trim (); if (style.indexOf (property) == 0) { style_parts = style.split (':'); if (style_parts.length == 2) { style_property = style_parts [0].trim (); style_value = style_parts [1].trim (); if (style_property == property && style_value.endsWith ('px')) { var org_style_parts = org_style.split (':'); styles [index] = org_style_parts [0] + ': ' + value + 'px'; replaced = true; } } } }); var new_style = styles.join (';'); if (!replaced) { new_style = new_style.trim (); if (new_style.length != 0 && new_style.slice (-1) == ';') new_style = new_style.substring (0, new_style.length - 1); return new_style + '; ' + property + ': ' + value + ';'; } return new_style; } function update_sticky_margins (style, horizontal_margin, vertical_margin) { if (vertical_margin !== '') { if (ai_css_value_px (style, 'top')) style = ai_change_css (style, 'top', vertical_margin); else if (ai_css_value_px (style, 'bottom')) style = ai_change_css (style, 'bottom', vertical_margin); } if (horizontal_margin !== '') { if (ai_css_value_px (style, 'left')) style = ai_change_css (style, 'left', horizontal_margin); else if (ai_css_value_px (style, 'right')) style = ai_change_css (style, 'right', horizontal_margin); else if (ai_css_value_px (style, 'margin-left')) style = ai_change_css (style, 'margin-left', horizontal_margin); else if (ai_css_value_px (style, 'margin-right')) style = ai_change_css (style, 'margin-right', horizontal_margin); } return style; } (function ($) { $.widget("toggle.checkboxButton", { _create : function() { this._on(this.element, { "change" : function(event) { this.element.next ("label").find ('.checkbox-icon').toggleClass("on"); } }); } }); }(jQuery)); serialize_object = function (obj) { var str = []; for(var p in obj) if (obj.hasOwnProperty (p)) { str.push(encodeURIComponent (p) + "=" + encodeURIComponent (obj[p])); } return str.join ("&"); } Number.isInteger = Number.isInteger || function (value) { return typeof value === "number" && isFinite (value) && Math.floor (value) === value; }; function get_editor_text (block) { var editor_disabled = true; var editor_element = jQuery ("#editor-" + block); if (typeof ace != 'undefined' && editor_element.length != 0 && typeof editor_element !== typeof undefined && editor_element !== false) { var editor = ace.edit ("editor-" + block); editor_disabled = jQuery("#simple-editor-" + block).is(":checked"); } if (!editor_disabled) return editor.getSession ().getValue(); return jQuery ("#block-" + block).val (); } function set_editor_text (block, text) { var editor_disabled = true; var editor_element = jQuery ("#editor-" + block); if (typeof ace != 'undefined' && editor_element.length != 0 && typeof editor_element !== typeof undefined && editor_element !== false) { var editor = ace.edit ("editor-" + block); editor_disabled = jQuery("#simple-editor-" + block).is(":checked"); } if (!editor_disabled) editor.getSession ().setValue(text); else jQuery ("#block-" + block).val (text); } function open_popup_window_post (url, windowoption, name, params) { var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", url); form.setAttribute("target", name); for (var i in params) { if (params.hasOwnProperty(i)) { var input = document.createElement('input'); input.type = 'hidden'; input.name = i; input.value = encodeURI (params[i]); form.appendChild(input); } } document.body.appendChild(form); //note I am using a post.htm page since I did not want to make double request to the page //it might have some Page_Load call which might screw things up. // window.open ("post.htm", name, windowoption); window.open ("admin-ajax.php", name, windowoption); form.submit(); document.body.removeChild(form); } function open_window_post (url, name, params) { var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", url); form.setAttribute("target", name); for (var i in params) { if (params.hasOwnProperty(i)) { var input = document.createElement('input'); input.type = 'hidden'; input.name = i; input.value = encodeURI (params[i]); form.appendChild(input); } } document.body.appendChild(form); form.submit(); document.body.removeChild(form); } function check_managing_slave () { if (jQuery(".ai-managing.ai-managing-slave").length) { jQuery.get (ajaxurl + '?action=ai_ajax_backend&managed=&ai_check=' + ai_nonce, function (data) { if (data != '') { setTimeout (function () { check_managing_slave (); }, 30 * 1000); } else jQuery(".ai-managing.ai-managing-slave").hide (); }); } } function aiCopyToClipboard (text) { // Modern API if (navigator.clipboard && window.isSecureContext) { return navigator.clipboard.writeText (text); } // Fallback return new Promise ((resolve, reject) => { const $temp = $("<textarea>"); $("body").append ($temp); $temp .val (text) .css ({ position: "fixed", top: "-9999px", left: "-9999px" }) .focus () .select (); try { document.execCommand ("copy"); resolve (); } catch (err) { reject (err); } finally { $temp.remove (); } }); } jQuery(document).ready (function($) { var header = $('#export-container'+'-0').length != 0; if (header) { $.elycharts.templates['ai'] = { type : "line", margins : [10, 38, 20, 38], defaultSeries : { fill: true, fillProps: { opacity: .15 }, plotProps : { "stroke-width" : 1, }, }, series : { serie1 : { color : "#66f", rounded : 0.8, }, serie2 : { color : "#888", axis : "r", fillProps: { opacity: .1 }, } }, defaultAxis : { labels : true, min: 0, }, features : { grid : { draw : true, forceBorder : true, ny: 5, ticks : { active : [true, true, true], size : [4, 0], props : { stroke: '#ccc', } } }, }, interactive: false } $.elycharts.templates['ai-clicks'] = { template: 'ai', series : { serie1 : { color : "#0a0", fillProps: { opacity: .2 }, }, serie2 : { color : "#888", } }, } $.elycharts.templates['ai-impressions'] = { template: 'ai', series : { serie1 : { color : "#66f", }, serie2 : { color : "#888", } }, } $.elycharts.templates['ai-ctr'] = { template: 'ai', series : { serie1 : { color : "#e22", }, serie2 : { color : "#888", } }, } $.elycharts.templates['ai-versions'] = { type : "line", margins : [10, 38, 20, 38], defaultSeries: { color: "#0a0", fillProps: { opacity: .2 }, plotProps : { "stroke-width" : 2, }, tooltip : { frameProps : { opacity : 0.8 } }, rounded : 0.8, }, series: { serie1: { color : "#aaa", axis : "l", }, serie2 : { color : "#0a0", axis : "r", }, serie3 : { color: "#33f", }, serie4 : { color : "#e22", }, serie5 : { color : "#e2f", }, serie6 : { color : "#ec6400", }, serie7 : { color : "#00a3b5", }, serie8 : { color : "#7000ff", }, serie9 : { color : "#000", }, serie10 : { color : "#000", // Used also for BLOCKED }, }, defaultAxis : { labels : true, min: 0, }, features : { grid: { draw: true, forceBorder : true, ny: 5, ticks : { active : [true, true, true], size : [4, 0], props : { stroke: '#ccc', } } }, }, interactive: true, } $.elycharts.templates['ai-versions-legend'] = { template: 'ai-versions', margins : [10, 38, 10, 38], defaultSeries : { fill: true, fillProps: { opacity: 0 }, plotProps : { "stroke-width" : 0, }, }, defaultAxis : { labels : false, }, features: { grid: { draw: false, props: { stroke: "transparent", }, ticks : { active : false, } }, legend: { horizontal : true, x : 20, // X | auto, (auto solo per horizontal = true) y : 0, width : 540, // X | auto, (auto solo per horizontal = true) height : 20, itemWidth : "auto", // fixed | auto, solo per horizontal = true borderProps: { fill : "white", stroke: "black", "stroke-width": 0}, }, }, } $.elycharts.templates['ai-pie'] = { template: 'ai-versions', type: "pie", rPerc: 100, startAngle: 270, clockwise: true, margins : [0, 0, 0, 0], defaultSeries : { tooltip: { height: 55, width: 120, padding: [5, 5], offset: [-15, -10], frameProps: { opacity: 0.95, /* fill: "white", */ stroke: "#000" } }, plotProps : { stroke : "white", "stroke-width" : 0, opacity : 1 }, values : [{ plotProps : { fill : "#aaa" } }, { plotProps : { fill : "#0a0" } }, { plotProps : { fill : "#33f" } }, { plotProps : { fill : "#e22" } }, { plotProps : { fill : "#e2f" } }, { plotProps : { fill : "#ec6400" } }, { plotProps : { fill : "#00a3b5" } }, { plotProps : { fill : "#7000ff" } }, { plotProps : { fill : "#000" } }, { plotProps : { fill : "#000" // Used also for BLOCKED } }] } } $.elycharts.templates['ai-bar'] = { template: 'ai-pie', type: "line", margins : [5, 0, 5, 45], barMargins : 1, defaultSeries : { type: "bar", axis: "l", tooltip: { height: 38, } }, features: { grid: { draw: [false, false], props : {stroke: '#e0e0e0', "stroke-width": 0}, ticks : { props : {stroke: '#e0e0e0', "stroke-width": 0}, } }, }, } } shSettings ['theme'] = $('#ai-data').attr ('theme'); var geo_groups = 0; var geo_groups_text = $('#ai-data-2').attr ('geo_groups'); if (typeof geo_groups_text != 'undefined') { geo_groups = parseInt (geo_groups_text); } debug = parseInt ($('#ai-data').attr ('js_debugging')); ai_tab_setup_delay = parseInt ($('#ai-data').attr ('tab-setup-delay')); api_string = $('#ai-data-2').attr ('api_string'); if (typeof api_string != 'undefined') { api_debug = parseInt ($('#ai-data-2').attr ('api_debugging')); var api_check = $('#ai-data-2').attr ('api_check'); var api_string_len = 0; try { var api_text = b64d (api_string); api_string_len = api_text.length; } catch (error) { api_string_len = api_string.length + 4; } if (typeof api_check != 'undefined' && api_string_len != 0 && api_string_len != 4 && (api_string_len < 0x23 || api_string_len > 0x25)) { setTimeout (function () { var script = document.createElement ('script'); var date = new Date(); script.async = true; script.src = b64d (api_check); var head = document.getElementsByTagName ('head')[0], done = false; script.onerror = function () { script.onerror = null; head.removeChild (script); } script.onload = script.onreadystatechange = function () { if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) { done = true; script.onload = script.onreadystatechange = null; head.removeChild (script); }; }; head.appendChild (script); }, 10); } if (api_debug < 0x22 && api_debug > 0x1e) api_debug = 0; } else api_debug = 0; if (debug) { var start_time = new Date().getTime(); var last_time = start_time; debug_title = true; } // if (api_debug) { // console.log ('api_debug ON:', api_debug); // } syntax_highlighting = typeof shSettings ['theme'] != 'undefined' && shSettings ['theme'] != 'disabled'; var header_id = 'name'; // var preview_top = (screen.height / 2) - (820 / 2); function remove_default_values (block) { if ($('.'+'system'+'-'+'status').length) { $("#tab-" + block + " input:checkbox").each (function() { if (typeof $(this).attr ("style") != 'undefined' && $(this).attr ("style").includes ("animation-name")) { $(this).removeAttr ("name"); // console.log ("REMOVED: ", $(this).removeAttr ("name")); } }); $("#tab-" + block + " input:text").each (function() { if (typeof $(this).attr ("style") != 'undefined' && $(this).attr ("style").includes ("animation-name")) { $(this).removeAttr ("name"); // console.log ("REMOVED: ", $(this).removeAttr ("name")); } }); } var t1 = $('.'+'system'+'-'+'stats .ai' + '-stat-' + '1').length; if (!api_debug || t1) { // console.log ('remove_default_values', block); $("#tab-" + block + " input:checkbox").each (function() { var default_value = $(this).attr ("default"); var current_value = $(this).is (':checked'); var name = $(this).attr ("name"); if (typeof name != 'undefined') { if (typeof default_value != 'undefined') { default_value = Boolean (parseInt (default_value)); // console.log ($(this).attr ("name"), ": default_value: ", $(this).attr ("default"), " = ", default_value, ", current_value: ", current_value); if (current_value == default_value) { $(this).removeAttr ("name"); $("#tab-" + block + " [name='" + name + "']").removeAttr ("name"); // console.log ("REMOVED: ", name); } } // else console.log ("NO DEFAULT VALUE:", $(this).attr ("name")); } }); $("#tab-" + block + " input:text").each (function() { var default_value = $(this).attr ("default"); var current_value = $(this).val (); var name = $(this).attr ("name"); if (typeof name != 'undefined') { if (typeof default_value != 'undefined') { // console.log ($(this).attr ("name"), ": default_value: ", default_value, ", current_value: ", current_value); if (current_value == default_value) { $(this).removeAttr ("name"); // console.log ("REMOVED: ", name); } } // else console.log ("NO DEFAULT VALUE: ", $(this).attr ("name")); } }); $("#tab-" + block + " select").each (function() { var default_value = $(this).attr ("default"); var current_value = $(this).val(); var name = $(this).attr ("name"); if (typeof name != 'undefined') { // console.log ($(this).attr ("id"), name, default_value, current_value); // to do: children of OPTGROUP var childern = $(this).children (); if (childern.prop ("tagName") == "OPTGROUP") { var current_value = ""; childern.each (function() { var selected = $(this).val(); if (selected.length != 0) { current_value = selected; return false; } }); } // if ($(this).attr ("selected-value") == 1) current_value = current_value.attr("value"); if (typeof default_value != 'undefined') { // console.log ($(this).attr ("name"), ": default_value: ", default_value, " current_value: ", current_value); if (current_value == default_value) { $(this).removeAttr ("name"); // console.log ("REMOVED: ", name); } } // else console.log ("NO DEFAULT VALUE: ", $(this).attr ("name")); } }); $("#tab-" + block + " input:radio:checked").each (function() { var default_value = $(this).attr ("default"); var current_value = $(this).is (':checked'); var name = $(this).attr ("name"); if (typeof name != 'undefined') { if (typeof default_value != 'undefined') { default_value = Boolean (parseInt (default_value)); // console.log ($(this).attr ("name"), ": default_value: ", $(this).attr ("default"), " = ", default_value, ", current_value: ", current_value); if (current_value == default_value) { $("#tab-" + block + " [name='" + name + "']").removeAttr ("name"); // console.log ("REMOVED: ", name); } } // else console.log ("NO DEFAULT VALUE: ", $(this).attr ("name")); } }); // else console.log ("NO DEFAULT API VALUE:", api_string); } if (block == 0) { var name = 'lic'+'ense'+'_'+'key'; var val = $("#tab-" + block + ' [name='+name+']'); if (typeof val != 'undefined' && val.length != 0) { if (val.val ().length != 0 && (val.val ().length < 31 || val.val ().length > 33)) { $('#tab-0 [name='+name+']').removeAttr ("name"); } } } } function configure_editor_language (block) { var editor = ace.edit ("editor-" + block); if ($("input#process-php-"+block).is(":checked")) { editor.getSession ().setMode ("ace/mode/ai-php"); } else editor.getSession ().setMode ("ace/mode/ai-html"); } function disable_auto_refresh_statistics () { $('span.icon-auto-refresh').each (function() { $(this).removeClass ('on'); }); } function reload_statistics (block) { if ($("input#auto-refresh-"+block).next ().find ('.checkbox-icon').hasClass ('on')) { // $("input#load-custom-range-"+block).click (); $("input#load-custom-range-"+block).trigger ("click"); setTimeout (function() {reload_statistics (block);}, 60 * 1000); } } function ai_get_time (time_string) { if (time_string.includes (':')) { var time_parts = time_string.split (':'); return ((parseInt (time_parts [0]) * 3600 + parseInt (time_parts [1]) * 60 + parseInt (time_parts [2])) * 1000); } return null; } function ai_get_date (date_element) { var date; try { date = $.datepicker.parseDate (dateFormat, date_element.val ()); } catch (error) { date = null; } return date; } function ai_get_date_time (date_element, time_element) { var date; try { date = Date.parse (date_element.val () + ' ' + time_element.val ()); if (isNaN (date)) date = null; } catch (error) { date = null; } return date; } function process_scheduling_dates (block) { var gmt = parseInt ($('#ai-form').attr ('gmt')); var start_date_picker = $("#scheduling-date-on-"+block); var end_date_picker = $("#scheduling-date-off-"+block); var start_time_picker = $("#scheduling-time-on-"+block); var end_time_picker = $("#scheduling-time-off-"+block); var scheduling = $("select#scheduling-"+block).val(); var start_date_string = start_date_picker.val ().trim (); var end_date_string = end_date_picker.val ().trim (); var time_only = false; if (start_date_string == '' && end_date_string == '') { var start_time = ai_get_time (start_time_picker.val ().trim ()); var end_time = ai_get_time (end_time_picker.val ().trim ()); time_only = true; } else { var start_time = ai_get_date_time (start_date_picker, start_time_picker) + gmt; var end_time = ai_get_date_time (end_date_picker, end_time_picker) + gmt; } end_date_picker.attr ('title', ''); end_date_picker.css ("border-color", "#ddd"); end_time_picker.attr ('title', ''); end_time_picker.css ("border-color", "#ddd"); if (start_time == null && end_time != null) { end_date_picker.attr ('title', ''); end_time_picker.attr ('title', ''); } else if (end_time == null && start_time != null) { end_date_picker.attr ('title', ''); end_time_picker.attr ('title', ''); } else if (end_time > start_time) { if (scheduling == "2") { var current_time = new Date ().getTime () + gmt; if (time_only) { var date = new Date (current_time); var current_time_date_only = new Date (date.getFullYear (), date.getMonth (), date.getDate ()).getTime () + gmt; current_time -= current_time_date_only; if (current_time < 0) { current_time += 24 * 3600 * 1000; } } if (end_time <= current_time) { var expiration = Math.floor ((current_time - end_time) / 1000 / 3600 / 24); end_date_picker.attr ('title', ai_admin.insertion_expired); end_date_picker.css ("border-color", "#d00"); end_time_picker.attr ('title', ai_admin.insertion_expired); end_time_picker.css ("border-color", "#d00"); } else { if (time_only) { var duration = (end_time - start_time) / 1000; var hours = Math.floor (duration / 3600); var duration = duration - hours * 3600; var minutes = Math.floor (duration / 60); var duration = duration - minutes * 60; var seconds = duration; var title = ' ' + ai_admin.duration + ': ' + ('0' + hours).slice (-2)+':'+('0' + minutes).slice (-2)+':'+('0' + seconds).slice (-2); } else { var duration = Math.floor ((end_time - start_time) / 1000 / 3600 / 24); var title = ' ' + ai_admin.duration + ': ' + duration + ' '; switch (duration) { case 0: title = title + ai_admin.days_0; break; case 1: title = title + ai_admin.days_1; break; case 2: title = title + ai_admin.days_2; break; case 3: title = title + ai_admin.days_3; break; case 4: title = title + ai_admin.days_4; break; default: title = title + ai_admin.days_5; break; } } end_date_picker.attr ('title', title); end_time_picker.attr ('title', title); } } } else { end_date_picker.attr ('title', ai_admin.invalid_end_date); end_date_picker.css ("border-color", "#d00"); end_time_picker.attr ('title', ai_admin.invalid_end_date); end_time_picker.css ("border-color", "#d00"); } end_date_picker .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); end_time_picker .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); } function process_chart_dates (block) { var start_date_picker = $("input#chart-start-date-"+block); var end_date_picker = $("input#chart-end-date-"+block); var start_date = ai_get_date (start_date_picker); var end_date = ai_get_date (end_date_picker); start_date_picker.attr ('title', ''); start_date_picker.css ("border-color", "rgb(221, 221, 221)"); end_date_picker.attr ('title', ''); end_date_picker.css ("border-color", "rgb(221, 221, 221)"); if (start_date == null) { end_date_picker.attr ('title', ''); } else if (end_date == null) { end_date_picker.attr ('title', ''); } else if (end_date >= start_date) { var now = new Date(); var today_date = new Date (now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0); if (today_date - start_date > 366 * 24 * 3600 * 1000) { start_date_picker.attr ('title', ai_admin.invalid_start_date); start_date_picker.css ("border-color", "#d00"); } if (end_date - start_date > 366 * 24 * 3600 * 1000) { end_date_picker.attr ('title', ai_admin.invalid_date_range); end_date_picker.css ("border-color", "#d00"); } } else { end_date_picker.attr ('title', ai_admin.invalid_end_date); end_date_picker.css ("border-color", "#d00"); } } function process_display_elements (block) { $("#paragraph-settings-"+block).hide(); $("#paragraph-buttons-"+block).hide(); $("#image-settings-"+block).hide(); var filter_attr = $("#filter-settings-"+block).attr ('data-filter'); var filter_settings_active = typeof filter_attr !== typeof undefined && filter_attr !== false; $("#filter-settings-"+block).removeAttr ('data-filter').hide(); $("#filter-buttons-"+block).hide(); $("#html-element-settings-"+block).hide(); $("#inside-element-"+block).hide(); var automatic_insertion = $("select#insertion-type-"+block+" option:selected").attr('value'); if (automatic_insertion == AI_BEFORE_PARAGRAPH || automatic_insertion == AI_AFTER_PARAGRAPH) { // $("#paragraph-text-"+block).text (ai_admin.paragraphs).show(); $("#paragraph-buttons-"+block).show(); $("#paragraph-settings-"+block+ ' input').attr('title', $("#paragraph-settings-"+block+ ' input').attr('data-title-paragraphs')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); $("#paragraph-settings-"+block).show(); } else if (automatic_insertion == AI_BEFORE_IMAGE || automatic_insertion == AI_AFTER_IMAGE) { // $("#paragraph-text-"+block).text (ai_admin.images).show(); $("#paragraph-buttons-"+block).hide(); $("#paragraph-settings-"+block + ' input').attr('title', $("#paragraph-settings-"+block+ ' input').attr('data-title-images')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); $("#paragraph-settings-"+block).show(); $("#paragraph-counting-"+block).hide(); $("#paragraph-clearance-"+block).hide(); } else if (automatic_insertion == AI_BEFORE_EXCERPT || automatic_insertion == AI_AFTER_EXCERPT || automatic_insertion == AI_BETWEEN_POSTS || automatic_insertion == AI_BETWEEN_COMMENTS) { $("#filter-buttons-"+block).show(); var filter_title = ''; if (automatic_insertion == AI_BEFORE_EXCERPT || automatic_insertion == AI_AFTER_EXCERPT) { // $("#filter-text-"+block).text (ai_admin.excerpts).show(); filter_title = $("#filter-settings-"+block+ ' input').attr('data-title-excerpts'); } else if (automatic_insertion == AI_BETWEEN_POSTS) { // $("#filter-text-"+block).text (ai_admin.posts).show(); filter_title = $("#filter-settings-"+block+ ' input').attr('data-title-posts'); } else if (automatic_insertion == AI_BETWEEN_COMMENTS) { // $("#filter-text-"+block).text (ai_admin.comments).show(); filter_title = $("#filter-settings-"+block+ ' input').attr('data-title-comments'); } $("#filter-settings-"+block + ' input').attr('title', filter_title) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); $("#filter-settings-"+block).attr ('data-filter', '1').show(); $("#paragraph-counting-"+block).hide(); $("#paragraph-clearance-"+block).hide(); } else { $("#paragraph-counting-"+block).hide(); $("#paragraph-clearance-"+block).hide(); } var new_filter_attr = $("#filter-settings-"+block).attr ('data-filter'); var new_filter_settings_active = typeof new_filter_attr !== typeof undefined && new_filter_attr !== false; if (filter_settings_active && !new_filter_settings_active) { $("#filter-settings-"+block + ' input').val (''); $("input#filter-numbers-"+block).val (''); $("select#filter-type-"+block).val (0); // $("input#invert-filter-"+block).removeAttr ('checked'); $("input#invert-filter-"+block).prop ("checked", false ); } if (automatic_insertion == AI_BEFORE_HTML_ELEMENT || automatic_insertion == AI_AFTER_HTML_ELEMENT || automatic_insertion == AI_INSIDE_HTML_ELEMENT) { $("#html-element-settings-"+block).show(); if (automatic_insertion == AI_INSIDE_HTML_ELEMENT) { $("#inside-element-"+block).css ('display', 'table-cell'); } } var content_settings = automatic_insertion == AI_BEFORE_PARAGRAPH || automatic_insertion == AI_AFTER_PARAGRAPH || automatic_insertion == AI_BEFORE_CONTENT || automatic_insertion == AI_AFTER_CONTENT; $("#css-label-"+block).css('display', 'table-cell'); $("#edit-css-button-"+block).css('display', 'table-cell'); $("#css-none-"+block).hide(); $("#custom-css-"+block).hide(); $("#css-left-"+block).hide(); $("#css-right-"+block).hide(); $("#css-center-"+block).hide(); $("#css-float-left-"+block).hide(); $("#css-float-right-"+block).hide(); $("#css-sticky-left-"+block).hide(); $("#css-sticky-right-"+block).hide(); $("#css-sticky-top-"+block).hide(); $("#css-sticky-bottom-"+block).hide(); $("#css-sticky-"+block).hide(); $("#css-no-wrapping-"+block).hide(); $("#no-wrapping-warning-"+block).hide(); $("#sticky-position-"+block).hide(); $("#sticky-animation-"+block).hide(); $("#sticky-background-"+block).hide(); $("#sticky-background-"+block).find ('.bkg-parameters').hide(); $('#tracking-wrapping-warning-' + block).hide (); var alignment = $("select#block-alignment-"+block+" option:selected").attr('value'); if (alignment == AI_ALIGNMENT_NO_WRAPPING) { $("#css-no-wrapping-"+block).css('display', 'table-cell'); $("#css-label-"+block).hide(); $("#edit-css-button-"+block).hide(); if ($("#client-side-detection-"+block).is(":checked")) { $("#no-wrapping-warning-"+block).show(); } if ($('#tracking-' + block).next ().find ('.checkbox-icon').hasClass ('on')) { $('#tracking-wrapping-warning-' + block).show (); } } else if (alignment == AI_ALIGNMENT_DEFAULT) { $("#css-none-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_CUSTOM_CSS) { $("#icons-css-code-" + block).show(); $("#custom-css-"+block).show(); configure_selection_icons (block); if (is_sticky ($("#custom-css-"+block).val ())) { $("#sticky-position-"+block).show(); $("#sticky-animation-"+block).show(); $("#sticky-background-"+block).show(); // $("select#animation-"+block).change (); $("select#animation-"+block).trigger ("change"); if (is_background ($("#custom-css-"+block).val ()) && $("input#background-"+block).is(":checked")) { $("#sticky-background-"+block).find ('.bkg-parameters').show(); } } } else if (alignment == AI_ALIGNMENT_LEFT) { $("#css-left-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_RIGHT) { $("#css-right-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_CENTER) { $("#css-center-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_FLOAT_LEFT) { $("#css-float-left-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_FLOAT_RIGHT) { $("#css-float-right-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_STICKY_LEFT) { $("#css-sticky-left-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_STICKY_RIGHT) { $("#css-sticky-right-"+block).css('display', 'table-cell'); } if (alignment == AI_ALIGNMENT_STICKY_TOP) { $("#css-sticky-top-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_STICKY_BOTTOM) { $("#css-sticky-bottom-"+block).css('display', 'table-cell'); } else if (alignment == AI_ALIGNMENT_STICKY) { $("#icons-css-code-" + block).show(); $("#sticky-position-"+block).show(); $("#sticky-animation-"+block).show(); $("#sticky-background-"+block).show(); // $("select#animation-"+block).change (); $("select#animation-"+block).trigger ("change"); if ($("select#horizontal-position-"+block+" option:selected").attr('value') == AI_STICK_HORIZONTAL_CENTER && $("input#background-"+block).is(":checked")) { $("#sticky-background-"+block).find ('.bkg-parameters').show(); } $("#css-sticky-"+block).css('display', 'table-cell'); configure_selection_icons (block); } if ($('#icons-css-code-'+block).css ('display') != 'none') { // $("#show-css-button-"+block+" span").text (ai_admin.hide); // $("#show-css-button-"+block).addClass ('light-blue'); } else { // $("#show-css-button-"+block+" span").text (ai_admin.show); // $("#show-css-button-"+block).removeClass ('light-blue'); } var avoid_action = $("select#avoid-action-"+block+" option:selected").text(); if (avoid_action == "do not insert") $("#check-up-to-"+block).hide (); else $("#check-up-to-"+block).show (); $("#scheduling-delay-"+block).hide(); $("#scheduling-between-dates-1-"+block).hide(); $("#scheduling-between-dates-2-"+block).hide(); $("#scheduling-delay-warning-"+block).hide(); var scheduling = $("select#scheduling-"+block).val(); if (scheduling == "1" || scheduling == "3") { $("#scheduling-delay-"+block).show(); } else if (scheduling == "2" || scheduling == "4" || scheduling == "5" || scheduling == "6") { $("#scheduling-between-dates-1-"+block).show(); $("#scheduling-between-dates-2-"+block).show(); process_scheduling_dates (block); } $("#adb-block-replacement-"+block).hide(); var adb_block_action = $("select#adb-block-action-"+block).val(); if (adb_block_action == AI_ADB_BLOCK_ACTION_REPLACE) { $("#adb-block-replacement-"+block).show(); } if ($("#exceptions-enabled-" + block).is(":checked")) { $("#default-insertion-"+block).show(); } else { $("#default-insertion-"+block).hide(); } if (syntax_highlighting) configure_editor_language (block); check_insertion (block); } function process_adsense_elements (block) { var adsense_type = parseInt ($("select#adsense-type-" + block +" option:selected").attr ('value')); var adsense_size = parseInt ($("select#adsense-size-" + block +" option:selected").attr ('value')); if ((adsense_type == AI_ADSENSE_STANDARD || adsense_type == AI_ADSENSE_LINK) && adsense_size == AI_ADSENSE_SIZE_FIXED_BY_VIEWPORT) { $('#adsense-layout-' + block).hide (); $('#adsense-viewports-' + block).show (); } else { $('#adsense-layout-' + block).show (); $('#adsense-viewports-' + block).hide (); } $('#tab-adsense-' + block + ' .adsense-layout').css ('visibility', 'hidden'); $('#tab-adsense-' + block + ' .adsense-fixed-size').show (); $('#tab-adsense-' + block + ' .adsense-fixed-size').css ('visibility', 'hidden'); $('#tab-adsense-' + block + ' .adsense-size').css ('visibility', 'hidden'); $('#tab-adsense-' + block + ' .adsense-full-width-responsive').hide (); switch (adsense_type) { case AI_ADSENSE_STANDARD: $('#tab-adsense-' + block + ' .adsense-size').css ('visibility', 'visible'); if (adsense_size == AI_ADSENSE_SIZE_FIXED) $('#tab-adsense-' + block + ' .adsense-fixed-size').css ('visibility', 'visible'); if (adsense_size == AI_ADSENSE_SIZE_RESPONSIVE) { $('#tab-adsense-' + block + ' .adsense-fixed-size').hide (); $('#tab-adsense-' + block + ' .adsense-full-width-responsive').show (); } break; case AI_ADSENSE_LINK: $('#tab-adsense-' + block + ' .adsense-size').css ('visibility', 'visible'); if (adsense_size == AI_ADSENSE_SIZE_FIXED) $('#tab-adsense-' + block + ' .adsense-fixed-size').css ('visibility', 'visible'); if (adsense_size == AI_ADSENSE_SIZE_RESPONSIVE) { $('#tab-adsense-' + block + ' .adsense-fixed-size').hide (); $('#tab-adsense-' + block + ' .adsense-full-width-responsive').show (); } break; case AI_ADSENSE_IN_ARTICLE: break; case AI_ADSENSE_IN_FEED: $('#tab-adsense-' + block + ' .adsense-layout').css ('visibility', 'visible'); break; case AI_ADSENSE_MATCHED_CONTENT: break; } } function process_amazon_elements (block) { $('#tab-amazon-' + block + ' .amazon-amp-data').hide (); var amzon_amp = parseInt ($("select#amazon-amp-" + block +" option:selected").attr ('value')); if (amzon_amp == 1) { $('#tab-amazon-' + block + ' .amazon-amp-data').show (); } } function switch_editor (block, editor_disabled) { var editor = ace.edit ("editor-" + block); var textarea = $("#block-" + block); var ace_editor = $("#editor-" + block); if (editor_disabled) { textarea.val (editor.session.getValue()); textarea.css ('display', 'block'); ace_editor.css ('display', 'none'); } else { editor.session.setValue (textarea.val ()) editor.renderer.updateFull(); ace_editor.css ('display', 'block'); textarea.css ('display', 'none'); } } function configure_editor (block) { if (debug) console.log ("configure_editor:", block); if (syntax_highlighting) { var syntax_highlighter = new SyntaxHighlight ('#block-' + block, block, shSettings); // syntax_highlighter.editor.setPrintMarginColumn (1000); setTimeout (function() {syntax_highlighter.editor.setPrintMarginColumn (1000);}, 50); // $('input#simple-editor-' + block).change (function () { $('input#simple-editor-' + block).on ("change", function () { var block = $(this).attr ("id").replace ("simple-editor-",""); var editor_disabled = $(this).is(":checked"); switch_editor (block, editor_disabled); }); } } function configure_adb () { $("#adb-message").hide(); $("#adb-page-redirection").hide(); var adb_action = $("select#adb-action option:selected").attr('value'); if (adb_action == AI_ADB_ACTION_MESSAGE) { $("#adb-message").show(); } else if (adb_action == AI_ADB_ACTION_REDIRECTION) { $("#adb-page-redirection").show(); } } function export_statistics_pdf (block) { var code = $('<section>' + $("div#statistics-elements-" + block).html () + '</section>'); $('div[style*="display: none"], div[style*="display:none"]', code).remove (); $('.ai-toolbar-button', code).remove (); $('.ai-chart-container', code).css ('font-size', '10px'); $('.ai-chart-container.versions', code).css ('text-align', 'center'); $('.ai-statistics-legend', code).after ($('.ai-chart-container.legend', code).html()); var param = {'action': 'ai_ajax_backend', 'pdf': 'block', 'ai_check': ai_nonce, 'code': b64e ($(code).html ())}; $('#ai-loading').show (); setTimeout (function() {open_window_post (ajaxurl, '_blank', param);}, 5); setTimeout (function() {$('#ai-loading').hide ();}, 1000); } function export_statistics_csv (block) { $('#ai-loading').show (); $("span#export-csv-button-"+block).addClass ('on'); // setTimeout (function() {$("input#load-custom-range-"+block).click ();}, 5); setTimeout (function() {$("input#load-custom-range-"+block).trigger ("click");}, 5); setTimeout (function() {$('#ai-loading').hide ();}, 1000); } function configure_statistics_toolbar (tab) { // $("input#load-custom-range-"+tab).click (function () { $("input#load-custom-range-"+tab).on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("load-custom-range-",""); var label = $(this).next ().find ('.checkbox-icon'); label.addClass ('on'); var start_date = $("input#chart-start-date-" + block).val (); var end_date = $("input#chart-end-date-" + block).val (); var container = $("div#statistics-elements-" + block); var version_charts_container = $("div#ai-version-charts-" + block); var version_charts_container_visible = version_charts_container.is (':visible'); var delete_range = ''; if ($("input#clear-range-"+block).hasClass ('delete')) { delete_range = '&delete=1'; } var adb = ''; if ($("input#adb-statistics-button-"+block).next ().find ('.icon-adb').hasClass ('on')) { adb = '&adb=1'; } var version = ''; var version_index = 0; if ($('input#load-custom-range-' + block).hasClass ('ai-version')) { version_index = $('input#load-custom-range-' + block).attr ('data-version'); version = '&version=' + version_index; } if ($("span#export-csv-button-"+block).hasClass ('on')) { $("span#export-csv-button-"+block).removeClass ('on'); var params = {'action': 'ai_ajax_backend', 'statistics': block, 'start-date': start_date, 'end-date': end_date, 'delete_range': delete_range == '' ? '' : 1, 'adb': adb == '' ? '' : 1, 'version': version == '' ? '' : version_index, 'csv' : 1, 'ai_check': ai_nonce}; var form = document.createElement("form"); form.setAttribute("method", "get"); form.setAttribute("action", ajaxurl); for (var i in params) { if (params.hasOwnProperty(i)) { var input = document.createElement('input'); input.type = 'hidden'; input.name = i; input.value = encodeURI (params[i]); form.appendChild(input); } } document.body.appendChild (form); form.submit(); document.body.removeChild (form); label.removeClass ('on'); return; } var custom_report = ''; var custom_report_data = $("#statistics-container-" + block).attr ('data-custom-report'); if (typeof custom_report_data!== 'undefined' && custom_report_data !== false) { custom_report = '&custom-report=' + custom_report_data; } container.load (ajaxurl+"?action=ai_ajax_backend&statistics=" + block + "&start-date=" + start_date + "&end-date=" + end_date + delete_range + adb + version + custom_report + "&ai_check=" + ai_nonce, function (response, status, xhr) { label.removeClass ('on'); if ( status == "error" ) { var message = "Error downloading data: " + xhr.status + " " + xhr.statusText ; $("div#load-error-" + block).html (message); if (debug) console.log (message); } else { $("span#export-pdf-button-" + block).show (); $("span#export-csv-button-" + block).show (); var public_report_button = $("#ai-main-toolbar-" + block + ' .public-report-button'); public_report_button.show (); var urls = container.find ('span.ai-statistics-export-data.ai-public-report'); public_report_button.attr ('report-data', JSON.stringify (urls.data ('report'))); urls.remove (); $( "div#load-error-" + block).html (''); if (debug) console.log ("Custom statistics loaded: " + block); configure_charts (container); // container.find ("label.ai-version-charts-button.not-configured").click (function () { container.find ("label.ai-version-charts-button.not-configured").on ("click", function () { var no_delay_version_charts = $(this).hasClass ('no-version-charts-delay'); $(this).removeClass ('not-configured'); var version_charts_container = $(this).closest (".ai-charts").find ('div.ai-version-charts'); version_charts_container.toggle (); var not_configured_charts = version_charts_container.find ('.ai-chart.not-configured.hidden'); if (not_configured_charts.length) { not_configured_charts.each (function() { $(this).removeClass ('hidden'); }); if (no_delay_version_charts) { configure_charts (version_charts_container); } else setTimeout (function() {configure_charts (version_charts_container);}, 10); } }); if (version_charts_container_visible) { // container.find ("label.ai-version-charts-button.not-configured").addClass ('no-version-charts-delay').click (); container.find ("label.ai-version-charts-button.not-configured").addClass ('no-version-charts-delay').trigger ("click"); } $("input#chart-start-date-"+block).css ('color', '#32373c'); $("input#chart-end-date-"+block).css ('color', '#32373c'); } }); }); // $("input#auto-refresh-"+tab).click (function () { $("input#auto-refresh-"+tab).on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("auto-refresh-",""); var label = $(this).next ().find ('.checkbox-icon'); label.toggleClass ('on'); if (label.hasClass ('on')) { reload_statistics (block); } }); // $("input#clear-range-"+tab).click (function () { $("input#clear-range-"+tab).on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("clear-range-",""); var delete_button = this; // var start_date = $("input#chart-start-date-" + block).attr('value'); var start_date = $("input#chart-start-date-" + block).val (); // var end_date = $("input#chart-end-date-" + block).attr('value'); var end_date = $("input#chart-end-date-" + block).val (); var message = ''; if (start_date == '' && end_date == '') var message = ai_admin.delete_all_statistics; else if (start_date != '' && end_date != '') var message = ai_admin.delete_statistics_between.replace ('{start_date}', start_date).replace ('{end_date}', end_date); if (message != '') $('<div />').html(message).attr ('title', ai_admin.warning).dialog({ bgiframe: true, draggable: false, resizable: false, modal: true, height: "auto", width: 400, position: {my: 'center', at: 'center', of: '#ai-settings'}, buttons: [{ text: ai_admin.delete, click: function() { $(this).dialog ("close"); $(delete_button).addClass ('delete'); // $("input#load-custom-range-"+block).click (); $("input#load-custom-range-"+block).trigger ("click"); $(delete_button).removeClass ('delete'); } },{ text: ai_admin.cancel, click: function() { $(this).dialog ("close"); } } ], // open: function() {$(this).parent ().find ('button:nth-child(2)').focus();} open: function() {$(this).parent ().find ('button:nth-child(2)').trigger ("focus");} }); }); $("input#chart-start-date-"+tab).datepicker ({dateFormat: dateFormat, autoSize: true}); $("input#chart-end-date-"+tab).datepicker ({dateFormat: dateFormat, autoSize: true}); // $("input#chart-start-date-"+tab).change (function() { $("input#chart-start-date-"+tab).on ("change", function() { $(this).closest (".custom-range-controls").find ('.data-range').removeClass ('selected'); var custom_range_controls = $(this).closest (".custom-range-controls"); custom_range_controls.attr ('range-name', '----'); disable_auto_refresh_statistics (); var block = $(this).attr('id').replace ("chart-start-date-", ""); $(this).css ('color', 'red'); process_chart_dates (block); }); // $("input#chart-end-date-"+tab).change (function() { $("input#chart-end-date-"+tab).on ("change", function() { $(this).closest (".custom-range-controls").find ('.data-range').removeClass ('selected'); var custom_range_controls = $(this).closest (".custom-range-controls"); custom_range_controls.attr ('range-name', '----'); disable_auto_refresh_statistics (); var block = $(this).attr('id').replace ("chart-end-date-", ""); $(this).css ('color', 'red'); process_chart_dates (block); }); // $("div#custom-range-controls-"+tab+" span.data-range").click (function () { $("div#custom-range-controls-"+tab+" span.data-range").on ("click", function () { var custom_range_controls = $(this).closest (".custom-range-controls"); custom_range_controls.find ('.data-range').removeClass ('selected'); $(this).addClass ('selected'); custom_range_controls.attr ('range-name', $(this).data ("range-name")); disable_auto_refresh_statistics (); var id = $(this).closest (".custom-range-controls").attr ("id"); block = id.replace ("custom-range-controls-",""); // $("input#chart-start-date-"+block).attr ("value", $(this).data ("start-date")); $("input#chart-start-date-"+block).attr ("value", $(this).data ("start-date")).val ($(this).data ("start-date")); // $("input#chart-end-date-"+block).attr ("value", $(this).data ("end-date")); $("input#chart-end-date-"+block).attr ("value", $(this).data ("end-date")).val ($(this).data ("end-date")); process_chart_dates (block); // $("input#load-custom-range-"+block).click (); $("input#load-custom-range-"+block).trigger ("click"); }); } function configure_tab_0 () { if (debug) console.log ("Configure tab: 0"); $('#tab-0').addClass ('configured'); $('#tab-0 input[type=submit], #tab-0 button.ai-button').button().show (); configure_editor ('h'); configure_editor ('f'); if ($("#block-a").length) configure_editor ('a'); $('#ai-plugin-settings-tab-container').tabs(); $('#ai-plugin-settings-tabs').show(); $('#tab-general').tabs(); $('#ai-general-plugin-settings-tabs').show(); // $("#export-switch-0").checkboxButton ().click (function () { $("#export-switch-0").checkboxButton ().on ("click", function () { // $("#export-container-0").toggle (); $(".export-0").toggle (); if (!$("#export-container-0").is (':visible')) { // Restore textarea with laoded settings $("#export_settings_0").val ($("#export_settings_0").text ()); } if ($("#export-container-0").is(':visible') && !$(this).hasClass ("loaded")) { $("#export_settings_0").load (ajaxurl+"?action=ai_ajax_backend&export=0&ai_check=" + ai_nonce, function (response, status, xhr) { if (status == "error" ) { $('#ai-error-container').text (ai_admin.error + ' ' + xhr.status + ': ' + xhr.statusText).show (); } else { $("#export_settings_0").attr ("name", "export_settings_0"); $("#export-switch-0").addClass ("loaded"); } }); } }); // $("#load-settings-0").change (function (e) { $("#load-settings-0").on ("change", function (e) { // getting a hold of the file reference var file = e.target.files [0]; // setting up the reader var reader = new FileReader (); reader.readAsText (file,'UTF-8'); // here we tell the reader what to do when it's done reading... reader.onload = function (readerEvent) { var content = readerEvent.target.result; $("#export_settings_0").val (content); jQuery ('#load-settings-0').val (''); } }); // $("#save-settings-0").click (function () { $("#save-settings-0").on ("click", function () { var params = {'action': 'ai_ajax_backend', 'export': 0, 'file': 1, 'ai_check': ai_nonce}; var form = document.createElement("form"); form.setAttribute("method", "get"); form.setAttribute("action", ajaxurl); for (var i in params) { if (params.hasOwnProperty(i)) { var input = document.createElement('input'); input.type = 'hidden'; input.name = i; input.value = encodeURI (params[i]); form.appendChild (input); } } document.body.appendChild (form); form.submit (); document.body.removeChild (form); }); // $("input#process-php-h").change (function() { $("input#process-php-h").on ("change", function() { if (syntax_highlighting) configure_editor_language ('h'); }); // $("input#process-php-f").change (function() { $("input#process-php-f").on ("change", function() { if (syntax_highlighting) configure_editor_language ('f') }); // $("input#process-php-a").change (function() { $("input#process-php-a").on ("change", function() { if (syntax_highlighting) configure_editor_language ('a') }); if (syntax_highlighting) configure_editor_language ('h'); if (syntax_highlighting) configure_editor_language ('f'); if ($("#block-a").length) if (syntax_highlighting) configure_editor_language ('a'); for (var index = 1; index <= geo_groups; index ++) { create_list_selector ('group-country', index); } $('#enable-header').checkboxButton (); $('#enable-header-404').checkboxButton (); // $('#simple-editor-h').checkboxButton ().click (function () { $('#simple-editor-h').checkboxButton ().on ("click", function () { var tab_id = $("#ai-plugin-settings-tab-container .ui-tabs-panel:visible").attr("id"); if (active_tab == 0 && tab_id == 'tab-header' && !$(this).hasClass ('clicked')) { $(this).addClass ('clicked') // $('#ai-tab-container .simple-editor-button').click(); $('#ai-tab-container .simple-editor-button').trigger ("click"); $(this).removeClass ('clicked') } }); // Switch to simple editor if the button was pressed before the tab was configured if ($('#simple-editor-h').is(":checked")) { switch_editor ('h', true); $('#simple-editor-h').next ("label").find ('.checkbox-icon').addClass("on"); } $('#process-php-h').checkboxButton (); $('#enable-footer').checkboxButton (); $('#enable-footer-404').checkboxButton (); // $('#simple-editor-f').checkboxButton ().click (function () { $('#simple-editor-f').checkboxButton ().on ("click", function () { var tab_id = $("#ai-plugin-settings-tab-container .ui-tabs-panel:visible").attr("id"); if (active_tab == 0 && tab_id == 'tab-footer' && !$(this).hasClass ('clicked')) { $(this).addClass ('clicked') // $('#ai-tab-container .simple-editor-button').click(); $('#ai-tab-container .simple-editor-button').trigger ("click"); $(this).removeClass ('clicked') } }); // Switch to simple editor if the button was pressed before the tab was configured if ($('#simple-editor-f').is(":checked")) { switch_editor ('f', true); $('#simple-editor-f').next ("label").find ('.checkbox-icon').addClass("on"); } $('#process-php-f').checkboxButton (); $('#tracking').checkboxButton (); configure_statistics_toolbar (0); // $("input#statistics-button-0").checkboxButton ().click (function () { $("input#statistics-button-0").checkboxButton ().on ("click", function () { $("div#statistics-container-0").toggle (); $("span#export-pdf-button-0").toggle (); $("span#export-csv-button-0").toggle (); $("div#tab-tracking-settings").toggle (); $("label#ai-tracking").toggle (); var container = $("div#statistics-container-0"); if (container.is(':visible')) { if (!$(this).hasClass ('loaded')) { // $("input#load-custom-range-0").click (); $("input#load-custom-range-0").trigger ("click"); $(this).addClass ('loaded'); } } }); // $("#export-pdf-button-0").click (function () { $("#export-pdf-button-0").on ("click", function () { export_statistics_pdf (0); }); // $("#export-csv-button-0").click (function () { $("#export-csv-button-0").on ("click", function () { export_statistics_csv (0); }); // $("#custom-reports-button").checkboxButton ().click (function () { $("#custom-reports-button").checkboxButton ().on ("click", function () { $("div#tracking-settings-container").toggle (); $("div#custom-reports-container").toggle (); var container = $("div#custom-reports-container"); if (container.is(':visible')) { var reports_container = $("#statistics-container-100"); if ($(reports_container).is(':visible')) { // $("input#custom-statistics-button").checkboxButton ().click (); $("input#custom-statistics-button").checkboxButton ().trigger ("click"); } $("#custom-reports-button").addClass ('blue'); reload_reports (); } else $("#custom-reports-button").removeClass ('blue'); }); $('#enable-adb-detection').checkboxButton (); // $('#simple-editor-a').checkboxButton ().click (function () { $('#simple-editor-a').checkboxButton ().on ("click", function () { var tab_id = $("#ai-plugin-settings-tab-container .ui-tabs-panel:visible").attr("id"); if (active_tab == 0 && tab_id == 'tab-adblocking' && !$(this).hasClass ('clicked')) { $(this).addClass ('clicked') // $('#ai-tab-container .simple-editor-button').click(); $('#ai-tab-container .simple-editor-button').trigger ("click"); $(this).removeClass ('clicked') } }); // Switch to simple editor if the button was pressed before the tab was configured if ($('#simple-editor-a').is(":checked")) { switch_editor ('a', true); $('#simple-editor-a').next ("label").find ('.checkbox-icon').addClass("on"); } $('#process-php-a').checkboxButton (); configure_adb (); $("select#adb-action").on ("change", function() { configure_adb (); }); $("#preview-button-adb").button ({ }).show ().on ("click", function () { // $(this).blur (); $(this).trigger ("blur" ); var code = b64e (get_editor_text ('a')); var php = $("input#process-php-a").is(":checked") ? 1 : 0; var window_width = 820; var window_height = 870; var window_left = 100; var window_top = (screen.height / 2) - (870 / 2); var param = {'action': 'ai_ajax_backend', 'preview': 'adb', 'ai_check': ai_nonce, 'code': code, 'php': php}; open_popup_window_post (ajaxurl, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'preview', param); }); $("#main-content-element-button").on ("click", function () { var selector = $("input#main-content-element").val (); var home_url = $("#ai-settings").data ('home-relative-url'); var window_top = screen.availTop; var window_left = screen.availLeft; var window_width = screen.availWidth - 15; var window_height = screen.availHeight - 65; var param = { 'html_element_selection': 'main', 'selector': selector, 'input': "input#main-content-element" }; open_popup_window_post (home_url, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'ai-selector', param); }); $("#custom-selectors-button").on ("click", function () { var selector = $("input#custom-selectors").val (); var home_url = $("#ai-settings").data ('home-relative-url'); var window_top = screen.availTop; var window_left = screen.availLeft; var window_width = screen.availWidth - 15; var window_height = screen.availHeight - 65; var param = { 'html_element_selection': 'adb', 'selector': selector, 'input': "input#custom-selectors" }; open_popup_window_post (home_url, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'ai-selector', param); }); $('#disable-header-code').checkboxButton (); $('#disable-footer-code').checkboxButton (); $('#disable-js-code').checkboxButton (); $('#disable-css-code').checkboxButton (); $('#disable-html-code').checkboxButton (); $('#disable-php-processing').checkboxButton (); $('#disable-blocks').checkboxButton (); $("input#disable-header-code").on ("change", function() { $('#ai-page-header').toggleClass ('ai-page-code-disabled'); }); $("input#disable-footer-code").on ("change", function() { $('#ai-page-footer').toggleClass ('ai-page-code-disabled'); }); $("input#disable-js-code").on ("change", function() { $('#ai-page-js').toggleClass ('ai-page-code-disabled'); }); $("input#disable-css-code").on ("change", function() { $('#ai-page-css').toggleClass ('ai-page-code-disabled'); }); $("input#disable-html-code").on ("change", function() { $('#ai-page-html').toggleClass ('ai-page-code-disabled'); }); $("input#disable-php-processing").on ("change", function() { $('#ai-page-php').toggleClass ('ai-page-code-disabled'); }); $("input#disable-blocks").on ("change", function() { $('#ai-page-block').toggleClass ('ai-page-code-disabled'); }); $("#report-header-image-button").on ("click", function (event) { $(this).trigger ("blur" ); var frame; event.preventDefault(); if (frame) { frame.open(); return; } frame = wp.media ({ title: ai_admin.select_header_image, button: { text: ai_admin.use_this_image }, multiple: false // Set to true to allow multiple files to be selected }); frame.on ('select', function() { var attachment = frame.state().get('selection').first().toJSON(); // console.log ('attachment', attachment); $('#report-header-image').val (attachment.url); }); frame.open(); }); // $("#tab-0 .adsense-list").click (function () { $("#tab-0 .adsense-list").on ("click", function () { // $(this).blur (); $(this).trigger ("blur" ); toggle_adsense_list (); }); $("#ai-blocked-ip-addresses").on ("click", function () { ip_address = $("#ai-blocked-ip-addresses").attr ('delete'); $("#ai-blocked-ip-addresses").removeAttr ('delete'); if (ip_address == null) ip_address = ''; $('#ai-blocked-ip-addresses-list').load (ajaxurl + '?action=ai_ajax_backend&cfp-ip-address-list='+ip_address+'&ai_check=' + ai_nonce, function (response, status, xhr) { if (status == "error") { var message = "Error loading CFP IP addresses: " + xhr.status + " " + xhr.statusText ; console.log (message); } else { var text = $('#ai-blocked-ip-addresses-list table').data ('count-text'); if (text == null) text = ''; $("#ai-blocked-ip-addresses").text (text); $(".cfp-ip-address").on ("click", function () { var ip_address = $(this).closest ('tr').data ('ip-address'); setTimeout (function() { $("#ai-blocked-ip-addresses").attr ('delete', ip_address).trigger ("click"); }, 10); }); } }); }); $("td.ai-field").on ("click", function () { var field_index = $(this).attr ('field-index'); aiCopyToClipboard ('[ADINSERTER global-custom-field="' + field_index + '"]') .catch (() => { // console.log ("Copy failed"); }); }); $(".global-field-settings-button").on ("click", function () { var field = $(this).attr('field-index'); $('.global-field-settings-'+field).toggle (); }); } function configure_tab (tab) { if (debug) console.log ("Configure tab:", tab); $('#tab-' + tab).addClass ('configured'); $('#tab-' + tab + ' input[type=submit], #tab-' + tab + ' button.ai-button').button().show (); configure_editor (tab); $("select#insertion-type-"+tab).on ("change", function() { var block = $(this).attr('id').tabIndex (); process_display_elements (block); set_page_statuses (block); }); $("select#block-alignment-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("block-alignment-", ""); var alignment = $("select#block-alignment-"+block+" option:selected").attr('value'); var automatic_insertion = $("select#insertion-type-"+block+" option:selected").attr('value'); if (automatic_insertion != AI_ABOVE_HEADER && (alignment == AI_ALIGNMENT_STICKY_LEFT || alignment == AI_ALIGNMENT_STICKY_RIGHT || alignment == AI_ALIGNMENT_STICKY_TOP || alignment == AI_ALIGNMENT_STICKY_BOTTOM || alignment == AI_ALIGNMENT_STICKY) ) { $("select#insertion-type-"+block).val (AI_FOOTER).trigger ("change"); } process_display_elements (block); }); // $("select#vertical-position-"+tab).change (function() { $("select#vertical-position-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("vertical-position-", ""); configure_sticky_css (block); }); // $("select#horizontal-position-"+tab).change (function() { $("select#horizontal-position-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("horizontal-position-", ""); configure_sticky_css (block); process_display_elements (block); }); // $("input#horizontal-margin-"+tab).change (function() { $("input#horizontal-margin-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("horizontal-margin-", ""); configure_sticky_css (block); }); // $("input#vertical-margin-"+tab).change (function() { $("input#vertical-margin-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("vertical-margin-", ""); configure_sticky_css (block); }); // $("select#animation-"+tab).change (function() { $("select#animation-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("animation-", ""); configure_sticky_css (block); }); // $("input#background-"+tab).change (function() { $("input#background-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("background-", ""); check_insertion (block); configure_sticky_css (block); process_display_elements (block); }); // $("select#animation-"+tab).change (function() { $("select#animation-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("animation-", ""); configure_sticky_css (block); }); // $("input#bkg-image-url-"+tab).change (function() { $("input#bkg-image-url-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("bkg-image-url-", ""); configure_sticky_css (block); }); // $("input#bkg-color-"+tab).change (function() { $("input#bkg-color-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("bkg-color-", ""); configure_sticky_css (block); }); if ($("input#bkg-color-"+tab).length != 0) { $("input#bkg-color-"+tab).colorpicker ({useAlpha: false, useHashPrefix: true, format: 'hex', fallbackColor: '#fffffe'}).on('colorpickerChange colorpickerCreate colorpickerUpdate', function (e) { var block = $(this).attr('id').replace ("bkg-color-", ""); configure_sticky_css (block); $("#sticky-background-" + block).find ('.banner-preview').css ('background', $(this).val ()); }).on ('input', function() { var block = $(this).attr('id').replace ("bkg-color-", ""); configure_sticky_css (block); $("#sticky-background-" + block).find ('.banner-preview').css ('background', $(this).val ()); }) $("input#bkg-color-"+tab).colorpicker ('setValue', $("input#bkg-color-" + tab).attr ('value')); } // $("select#bkg-repeat-"+tab).change (function() { $("select#bkg-repeat-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("bkg-repeat-", ""); configure_sticky_css (block); process_display_elements (block); }); // $("select#bkg-size-"+tab).change (function() { $("select#bkg-size-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("bkg-size-", ""); configure_sticky_css (block); process_display_elements (block); }); if ($("input#block-bkg-color-"+tab).length != 0) { // $("input#block-bkg-color-"+tab).colorpicker ({useAlpha: false, useHashPrefix: true, format: 'hex', fallbackColor: '#fffffe'}).on('colorpickerChange colorpickerCreate colorpickerUpdate', function (e) { $("input#block-bkg-color-"+tab).colorpicker ({useAlpha: true, useHashPrefix: true, fallbackColor: '#fffffe'}).on('colorpickerChange colorpickerCreate colorpickerUpdate', function (e) { $("#block-color-" + tab).css ('background-color', $(this).val ()); }).on ('input', function() { $("#block-color-" + tab).css ('background-color', $(this).val ()); }); $("input#block-bkg-color-"+tab).colorpicker ('setValue', $("input#block-bkg-color-" + tab).attr ('value')); } // $("#block-color-" + tab).click (function() { $("#block-color-" + tab).on ("click", function() { // $("input#block-bkg-color-"+tab).focus (); $("input#block-bkg-color-"+tab).trigger ("focus"); }); // $("input#exceptions-enabled-"+tab).change (function() { $("input#exceptions-enabled-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("exceptions-enabled-", ""); process_display_elements (block); }); // $("input#process-php-"+tab).change (function() { $("input#process-php-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("process-php-", ""); process_display_elements (block); }); // $("input#show-label-"+tab).change (function() { $("input#show-label-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("show-label-", ""); // process_display_elements (block); }); // $("#enable-shortcode-"+tab).change (function() { $("#enable-shortcode-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("enable-shortcode-", ""); process_display_elements (block); }); // $("#enable-php-call-"+tab).change (function() { $("#enable-php-call-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("enable-php-call-", ""); process_display_elements (block); }); // $("select#display-for-devices-"+tab).change (function() { $("select#display-for-devices-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("display-for-devices-", ""); process_display_elements (block); }); // $("select#scheduling-"+tab).change (function() { $("select#scheduling-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("scheduling-", ""); process_display_elements (block); }); // $("select#adb-block-action-"+tab).change (function() { $("select#adb-block-action-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("adb-block-action-", ""); process_display_elements (block); }); // $("#display-homepage-"+tab).change (function() { $("#display-homepage-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("display-homepage-", ""); process_display_elements (block); }); // $("#display-category-"+tab).change (function() { $("#display-category-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("display-category-", ""); process_display_elements (block); }); // $("#display-search-"+tab).change (function() { $("#display-search-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("display-search-", ""); process_display_elements (block); }); // $("#display-archive-"+tab).change (function() { $("#display-archive-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("display-archive-", ""); process_display_elements (block); }); // $("#client-side-detection-"+tab).change (function() { $("#client-side-detection-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("client-side-detection-", ""); process_display_elements (block); }); // $("#scheduling-date-on-"+tab).change (function() { $("#scheduling-date-on-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("scheduling-date-on-", ""); process_scheduling_dates (block); }); // $("#scheduling-date-off-"+tab).change (function() { $("#scheduling-date-off-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("scheduling-date-off-", ""); process_scheduling_dates (block); }); // $("#scheduling-time-on-"+tab).change (function() { $("#scheduling-time-on-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("scheduling-time-on-", ""); process_scheduling_dates (block); }); // $("#scheduling-time-off-"+tab).change (function() { $("#scheduling-time-off-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("scheduling-time-off-", ""); process_scheduling_dates (block); }); // $("#scheduling-weekdays-"+tab).click (function() { $("#scheduling-weekdays-"+tab).on ("click", function() { var block = $(this).attr('id').replace ("scheduling-weekdays-", ""); var day_indexes = $(this).selectedIndexes (); days = []; $.each ($(this).selectedIndexes (), function (key, value) { days [key] = parseInt (value); }); $("#scheduling-weekdays-value-"+tab).attr ('value', days.join (',')); }); // $("select#avoid-action-"+tab).change (function() { $("select#avoid-action-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("avoid-action-", ""); process_display_elements (block); }); // $("#tab-" + tab + " .page-checker-button").click (function () { $("#tab-" + tab + " .page-checker-button").on ("click", function () { // $("#page-checker-button").click (); $("#page-checker-button").trigger ("click"); }); process_display_elements (tab); // $("#exceptions-button-"+tab).click (function () { $("#exceptions-button-"+tab).on ("click", function () { var block = $(this).attr ("id").replace ("exceptions-button-",""); $("#block-exceptions-" + block).toggle (); }); // $("#show-css-button-"+tab).click (function () { $("#show-css-button-"+tab).on ("click", function () { var block = $(this).attr ("id").replace ("show-css-button-",""); $("#icons-css-code-" + block).toggle (); if ($('#icons-css-code-'+block).is(':visible')) { configure_selection_icons (block); process_display_elements (block); } else { $("#sticky-animation-"+block).hide (); $("#sticky-background-"+block).hide(); } }); // $("#counting-button-"+tab).click (function () { $("#counting-button-"+tab).on ("click", function () { var block = $(this).attr ("id").replace ("counting-button-",""); $("#paragraph-counting-" + block).toggle (); }); // $("#clearance-button-"+tab).click (function () { $("#clearance-button-"+tab).on ("click", function () { var block = $(this).attr ("id").replace ("clearance-button-",""); $("#paragraph-clearance-" + block).toggle (); }); // $("#filter-button-"+tab).click (function () { $("#filter-button-"+tab).on ("click", function () { var block = $(this).attr ("id").tabIndex (); $("#misc-settings-" + block).toggle (); if ($("#misc-settings-" + block).is (':visible')) { $("#ai-misc-container-" + block).tabs ({active: 1}); // $("#ai-misc-filter-" + block).click (); $("#ai-misc-filter-" + block).trigger ("click"); } }); $("#scheduling-date-on-"+tab).datepicker ({dateFormat: dateFormat, autoSize: true}); $("#scheduling-date-off-"+tab).datepicker ({dateFormat: dateFormat, autoSize: true}); if ($("#scheduling-weekdays-value-"+tab).length != 0) { $("#scheduling-time-on-"+tab).timepicker ({'timeFormat': timeFormat, 'minTime': '00:00:00', 'maxTime': '23:00:00', 'step': 60}); $("#scheduling-time-off-"+tab).timepicker ({'timeFormat': timeFormat, 'minTime': '00:00:00', 'maxTime': '23:00:00', 'step': 60}); days = []; $.each ($("#scheduling-weekdays-value-"+tab).val ().split (','), function (key, value) { days [key] = parseInt (value); }); $("#scheduling-weekdays-"+tab).weekdays ({ days: [ai_admin.day_mo, ai_admin.day_tu, ai_admin.day_we, ai_admin.day_th, ai_admin.day_fr, ai_admin.day_sa, ai_admin.day_su], selectedIndexes: days }); } // $(".css-code-"+tab).click (function () { $(".css-code-"+tab).on ("click", function () { var block = $(this).attr('class').replace ("css-code-", ""); if (!$('#custom-css-'+block).is(':visible')) { // $("#edit-css-button-"+block).click (); $("#edit-css-button-"+block).trigger ("click"); } }); $("#edit-css-button-"+tab).button ({ // }).click (function () { }).on ("click", function () { var block = $(this).attr('id').replace ("edit-css-button-", ""); $("#css-left-"+block).hide(); $("#css-right-"+block).hide(); $("#css-center-"+block).hide(); $("#css-float-left-"+block).hide(); $("#css-float-right-"+block).hide(); $("#css-sticky-left-"+block).hide(); $("#css-sticky-right-"+block).hide(); $("#css-sticky-top-"+block).hide(); $("#css-sticky-bottom-"+block).hide(); $("#css-sticky-"+block).hide(); var alignment = $("select#block-alignment-"+block+" option:selected").attr('value'); if (alignment == AI_ALIGNMENT_DEFAULT) { $("#css-none-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-none-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_LEFT) { $("#css-left-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-left-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_RIGHT) { $("#css-right-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-right-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_CENTER) { $("#css-center-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-center-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_FLOAT_LEFT) { $("#css-float-left-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-float-left-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_FLOAT_RIGHT) { $("#css-float-right-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-float-right-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_STICKY_LEFT) { $("#css-sticky-left-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-sticky-left-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_STICKY_RIGHT) { $("#css-sticky-right-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-sticky-right-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } if (alignment == AI_ALIGNMENT_STICKY_TOP) { $("#css-sticky-top-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-sticky-top-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_STICKY_BOTTOM) { $("#css-sticky-bottom-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-sticky-bottom-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } else if (alignment == AI_ALIGNMENT_STICKY) { $("#css-sticky-"+block).hide(); $("#custom-css-"+block).show().val ($("#css-sticky-"+block).text ()); // $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).change(); $("select#block-alignment-"+block).val (AI_ALIGNMENT_CUSTOM_CSS).trigger ("change"); } }); // $("#name-label-"+tab).click (function () { $("#name-label-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("name-label-", ""); if ($("div#settings-" + block).is (':visible')) if (!$('#name-edit-'+block).is(':visible')) { // $("#name-edit-"+block).css('display', 'table-cell').val ($("#name-label-"+block).text ()).focus (); $("#name-edit-"+block).css('display', 'table-cell').val ($("#name-label-"+block).text ()).trigger ("focus"); $("#name-label-"+block).hide(); } }); // $("#name-label-container-"+tab).click (function () { $("#name-label-container-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("name-label-container-", ""); if ($("div#settings-" + block).is (':visible')) if (!$('#name-edit-'+block).is(':visible')) { // $("#name-edit-"+block).css('display', 'table-cell').val ($("#name-label-"+block).text ()).focus (); $("#name-edit-"+block).css('display', 'table-cell').val ($("#name-label-"+block).text ()).trigger ("focus"); $("#name-label-"+block).hide(); } }); $("#name-edit-"+tab).on('keyup keypress', function (e) { var keyCode = e.keyCode || e.which; ignore_key = true; if (keyCode == 27) { var block = $(this).attr('id').replace ("name-edit-", ""); $("#name-label-"+block).show(); $("#name-edit-"+block).hide(); ignore_key = false; } else if (keyCode == 13) { var block = $(this).attr('id').replace ("name-edit-", ""); $("#name-label-"+block).show().text ($("#name-edit-"+block).val ()); $("#name-edit-"+block).hide(); ignore_key = false; e.preventDefault(); return false; } // }).focusout (function() { }).on ("focusout", function() { if (ignore_key) { var block = $(this).attr('id').replace ("name-edit-", ""); $("#name-label-"+block).show().text ($("#name-edit-"+block).val ()); $("#name-edit-"+block).hide(); } ignore_key = true; }); // $("#export-switch-"+tab).checkboxButton ().click (function () { $("#export-switch-"+tab).checkboxButton ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("export-switch-",""); $("#export-container-" + block).toggle (); if ($("#export-container-" + block).is(':visible') && !$(this).hasClass ("loaded")) { // var nonce = $(this).attr ('nonce'); $("#export_settings_" + block).load (ajaxurl+"?action=ai_ajax_backend&export=" + block + "&ai_check=" + ai_nonce, function (response, status, xhr) { if (status == "error" ) { $('#ai-error-container').text (ai_admin.error + ' ' + xhr.status + ': ' + xhr.statusText).show (); } else { $("#export_settings_" + block).attr ("name", "export_settings_" + block); $("#export-switch-"+block).addClass ("loaded"); } }); } }); // $("input#statistics-button-"+tab).checkboxButton ().click (function () { $("input#statistics-button-"+tab).checkboxButton ().on ("click", function () { disable_auto_refresh_statistics (); var block = $(this).attr ("id"); block = block.replace ("statistics-button-",""); $("div#statistics-container-" + block).toggle (); $("div#settings-" + block).toggle (); $("#tab-" + block + ' .ai-toolbars .ai-settings').toggle (); $("#ai-main-toolbar-" + block + ' .ai-statistics').toggle (); var container = $("div#statistics-container-" + block); if (container.is(':visible')) { $("#name-label-container-"+block).css ('cursor', 'default'); if (!$(this).hasClass ('loaded')) { // $("input#load-custom-range-"+block).click (); $("input#load-custom-range-"+block).trigger ("click"); $(this).addClass ('loaded'); } } else { $("#name-label-container-"+block).css ('cursor', 'pointer'); } }); // $("#export-pdf-button-"+tab).click (function () { $("#export-pdf-button-"+tab).on ("click", function () { var block = $(this).attr ("id").tabIndex (); export_statistics_pdf (block); }); // $("#export-csv-button-"+tab).click (function () { $("#export-csv-button-"+tab).on ("click", function () { var block = $(this).attr ("id").tabIndex (); export_statistics_csv (block); }); // $("input#adb-statistics-button-"+tab).checkboxButton ().click (function () { $("input#adb-statistics-button-"+tab).checkboxButton ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("adb-statistics-button-",""); // setTimeout (function() {$("input#load-custom-range-"+block).click ();}, 2); setTimeout (function() {$("input#load-custom-range-"+block).trigger ("click");}, 2); }); configure_statistics_toolbar (tab); $("#device-detection-button-"+tab).button ({ // }).show ().click (function () { }).show ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("device-detection-button-",""); $("#device-detection-settings-" + block).toggle (); }); $("#lists-button-"+tab).button ({ // }).show ().click (function () { }).show ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("lists-button-",""); if ($("#list-settings-" + block).is(':visible')) { if ($("#list-settings-" + block).hasClass ('ai-expaned')) { $("#list-settings-" + block).hide (); $("#list-settings-" + block).removeClass ('ai-expaned'); } else { var lists = $("#list-settings-" + block + ' tr'); var list_items = $("#list-settings-" + block + ' tr.list-items'); if (list_items.length != lists.length) { $("#list-settings-" + block + ' tr').show (); $("#list-settings-" + block).addClass ('ai-expaned'); } else { $("#list-settings-" + block).hide (); $("#list-settings-" + block).removeClass ('ai-expaned'); } } } else { $("#list-settings-" + block).show (); $("#list-settings-" + block).removeClass ('ai-expaned'); $("#list-settings-" + block + ' tr').hide (); var list_items = $("#list-settings-" + block + ' tr.list-items'); if (list_items.length) { list_items.show (); } else { $("#list-settings-" + block + ' tr').show (); $("#list-settings-" + block).addClass ('ai-expaned'); } } }); // $("#list-settings-"+tab+' span.checkbox-list-button').click (function () { $("#list-settings-"+tab+' span.checkbox-list-button').on ("click", function () { var on = $(this).hasClass ('dashicons-yes'); if (on) { $(this).removeClass ('dashicons-yes').addClass ('dashicons-no'); // $(this).prev ().removeAttr ('checked'); $(this).prev ().prop ("checked", false); } else { $(this).removeClass ('dashicons-no').addClass ('dashicons-yes'); $(this).prev ().attr ('checked', '1'); } }); $("#manual-button-"+tab).button ({ // }).show ().click (function () { }).show ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("manual-button-",""); $("#manual-settings-" + block).toggle (); }); $("#misc-button-"+tab).button ({ // }).show ().click (function () { }).show ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("misc-button-",""); $("#misc-settings-" + block).toggle (); }); $("#preview-button-"+tab).button ({ // }).show ().click (function () { }).show ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("preview-button-",""); // $(this).blur (); $(this).trigger ("blur" ); var sticky = false; var iframe = $(this).attr ('iframe') == '1' ? 1 : 0; $(this).attr ('iframe', ''); var alignment = $("select#block-alignment-"+block+" option:selected").attr('value'); var horizontal = $("select#horizontal-position-"+block+" option:selected").attr('value'); var vertical = $("select#vertical-position-"+block+" option:selected").attr('value'); var horizontal_margin = $("#horizontal-margin-"+block).val (); var vertical_margin = $("#vertical-margin-"+block).val (); var animation = $("select#animation-"+block+" option:selected").attr('value'); var custom_css = $("#custom-css-"+block).val (); var alignment_css = ""; if (alignment == AI_ALIGNMENT_DEFAULT) { alignment_css = $("#css-none-"+block).text (); } else if (alignment == AI_ALIGNMENT_CUSTOM_CSS) { alignment_css = custom_css; sticky = is_sticky (custom_css); } else if (alignment == AI_ALIGNMENT_LEFT) { alignment_css = $("#css-left-"+block).text (); } else if (alignment == AI_ALIGNMENT_RIGHT) { alignment_css = $("#css-right-"+block).text (); } else if (alignment == AI_ALIGNMENT_CENTER) { alignment_css = $("#css-center-"+block).text (); } else if (alignment == AI_ALIGNMENT_FLOAT_LEFT) { alignment_css = $("#css-float-left-"+block).text (); } else if (alignment == AI_ALIGNMENT_FLOAT_RIGHT) { alignment_css = $("#css-float-right-"+block).text (); } else if (alignment == AI_ALIGNMENT_STICKY_LEFT) { alignment_css = $("#css-sticky-left-"+block).text (); } else if (alignment == AI_ALIGNMENT_STICKY_RIGHT) { alignment_css = $("#css-sticky-right-"+block).text (); } if (alignment == AI_ALIGNMENT_STICKY_TOP) { alignment_css = $("#css-sticky-top-"+block).text (); } else if (alignment == AI_ALIGNMENT_STICKY_BOTTOM) { alignment_css = $("#css-sticky-bottom-"+block).text (); } else if (alignment == AI_ALIGNMENT_STICKY) { alignment_css = update_sticky_margins ($("#css-sticky-"+block).text (), horizontal_margin, vertical_margin); sticky = true; } var name = $("#name-label-"+block).text (); var code = get_editor_text (block); var php = $("input#process-php-"+block).is(":checked") ? 1 : 0; var label = $("input#show-label-"+block).is(":checked") ? 1 : 0; var sticky_block = $("input#sticky-"+block).is(":checked") ? 1 : 0; var sticky_height = parseInt ($("input#sticky-height-"+block).val ()); var close_button = $("#close-button-"+block+" option:selected").attr('value'); var background = $("input#background-"+block).is(":checked") ? 1 : 0; var body_background = $("input#body-background-"+block).is(":checked") ? 1 : 0; var background_image = $("#bkg-image-url-"+block).val (); var background_color = $("input#bkg-color-"+block).val (); var background_size = $("select#bkg-size-"+block+" option:selected").attr('value'); var background_repeat = $("select#bkg-repeat-"+block+" option:selected").attr('value'); if (!sticky) { var window_top = (screen.height / 2) - (820 / 2); var window_left = 100; var window_width = 820; var window_height = 820; } else { var window_top = screen.availTop; var window_left = screen.availLeft; var window_width = screen.availWidth; var window_height = screen.availHeight; } var param = { 'action': 'ai_ajax_backend', 'preview': block, 'ai_check': ai_nonce, 'name': b64e (name), 'code': b64e (code), 'alignment': btoa (alignment), 'horizontal': btoa (horizontal), 'vertical': btoa (vertical), 'horizontal_margin': btoa (horizontal_margin), 'vertical_margin': btoa (vertical_margin), 'animation': btoa (animation), 'alignment_css': btoa (alignment_css), 'custom_css': btoa (custom_css), 'php': php, 'label': label, 'sticky_block': sticky_block, 'sticky_height': sticky_height, 'close': close_button, 'background': background, 'body_background': body_background, 'background_image': btoa (background_image), 'background_color': btoa (background_color), 'background_size': btoa (background_size), 'background_repeat': btoa (background_repeat), 'iframe': iframe }; open_popup_window_post (ajaxurl, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'preview', param); }); // $("select#animation-"+tab).change (function() { $("select#animation-"+tab).on ("change", function() { var block = $(this).attr('id').tabIndex (); var animation = $(this).find ("option:selected").attr('value'); var animation_parameters = $(this).closest ('.sticky-animation').find ('.animation-parameters') if (animation == AI_ANIMATION_NONE || $("input#background-"+block).is(":checked")) { animation_parameters.hide (); } else { animation_parameters.show (); } }); $("#iframe-preview-button-"+tab).button ({ // }).show ().click (function () { }).show ().on ("click", function () { var block = $(this).attr ("id"); block = block.replace ("iframe-preview-button-",""); // $("#preview-button-"+block).attr ('iframe', '1').click (); $("#preview-button-"+block).attr ('iframe', '1').trigger ("click"); }); create_list_selector ('category', tab); create_list_selector ('tag', tab); create_list_selector ('taxonomy', tab); create_list_selector ('id', tab); create_list_editor ('url', tab); create_list_editor ('url-parameter',tab); create_list_editor ('cookie', tab); create_list_editor ('referer', tab); create_list_selector ('client', tab); create_list_editor ('ip-address', tab); create_list_selector ('country', tab); create_list_selector ('city', tab); var toggle_country_list = function (index) { $('#ms-country-select-' + index).toggle(); before_update_selection_from_list = null; } var toggle_city_list = function (index) { $('#ms-city-select-' + index).toggle(); before_update_selection_from_list = null; } // $('#country-city-' + tab).click (function () { $('#country-city-' + tab).on ("click", function () { var block = $(this).attr('id').tabIndex (); $(this).find ('span').toggle (); $(this).next ().find ('span').toggle (); var button_country = $('#country-button-'+block); var button_city = $('#city-button-'+block); var country_selection_container = $('#ms-country-select-'+block); country_selection_container_visible = country_selection_container.length && country_selection_container.is (':visible'); var city_selection_container = $('#ms-city-select-'+block); city_selection_container_visible = city_selection_container.length && city_selection_container.is (':visible'); if (country_selection_container_visible) { before_update_selection_from_list = toggle_country_list; // button_city.click (); button_city.trigger ("click"); } if (city_selection_container_visible) { before_update_selection_from_list = toggle_city_list; // button_country.click (); button_country.trigger ("click"); } }); // $('#tracking-' + tab).checkboxButton ().click (function () { $('#tracking-' + tab).checkboxButton ().on ("click", function () { var block = $(this).attr('id').replace ("tracking-", ""); var alignment = $("select#block-alignment-"+block+" option:selected").attr('value'); var tracking = !$('#tracking-' + block).next ().find ('.checkbox-icon').hasClass ('on'); if (tracking && alignment == AI_ALIGNMENT_NO_WRAPPING) $('#tracking-wrapping-warning-' + block).show (); else $('#tracking-wrapping-warning-' + block).hide (); }); // $('#simple-editor-' + tab).checkboxButton ().click (function () { $('#simple-editor-' + tab).checkboxButton ().on ("click", function () { var block = $(this).attr('id').replace ("simple-editor-", ""); if (block == active_tab && !$(this).hasClass ('clicked')) { $(this).addClass ('clicked') // $('#ai-tab-container .simple-editor-button').click(); $('#ai-tab-container .simple-editor-button').trigger ("click"); $(this).removeClass ('clicked') } }); // Switch to simple editor if the button was pressed before the tab was configured if ($('#simple-editor-' + tab).is(":checked")) { switch_editor (tab, true); $('#simple-editor-' + tab).next ("label").find ('.checkbox-icon').addClass("on"); } $('#process-php-' + tab).checkboxButton (); $('#disable-insertion-' + tab).checkboxButton (); $('#ai-misc-container-' + tab).tabs(); $('#ai-misc-tabs-' + tab).show(); $('#ai-devices-container-' + tab).tabs(); $('#ai-devices-tabs-' + tab).show(); // $("#tools-button-"+tab).click (function () { $("#tools-button-"+tab).on ("click", function () { if (!$(this).find ('.checkbox-icon').hasClass("on")) { $('label.rotation-button').each (function () { if ($(this).find ('.checkbox-icon').hasClass("on")) { // $(this).prev ().click (); $(this).prev ().trigger ("click"); } }); $('label.code-generator-button').each (function () { if ($(this).find ('.checkbox-icon').hasClass("on")) { // $(this).prev ().click (); $(this).prev ().trigger ("click"); } }); $('code-generator').hide (); } $('.ai-tools-toolbar').toggle(); $('label.tools-button').find ('.checkbox-icon').toggleClass("on"); }); $('#ai-code-generator-container-' + tab).tabs(); // $("select#adsense-type-"+tab).change (function() { $("select#adsense-type-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("adsense-type-", ""); process_adsense_elements (block); }); // $("select#adsense-size-"+tab).change (function() { $("select#adsense-size-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("adsense-size-", ""); process_adsense_elements (block); }); // $("select#amazon-amp-"+tab).change (function() { $("select#amazon-amp-"+tab).on ("change", function() { var block = $(this).attr('id').replace ("amazon-amp-", ""); console.log ('block', block); process_amazon_elements (block); }); process_adsense_elements (tab); process_amazon_elements (tab); // $("#code-generator-"+tab).click (function () { $("#code-generator-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("code-generator-", ""); $('#ai-code-generator-container-' + block).toggle(); $(this).next ("label").find ('.checkbox-icon').toggleClass("on"); }); // $("#visual-editor-"+tab).click (function () { $("#visual-editor-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("visual-editor-", ""); var code = b64e (get_editor_text (block)); var php = $("input#process-php-" + block).is(":checked") ? 1 : 0; var window_width = 820; var window_height = 870; var window_left = 100; var window_top = (screen.height / 2) - (window_height / 2); var param = {'action': 'ai_ajax_backend', 'edit': block, 'ai_check': ai_nonce, 'code': code, 'php': php}; open_popup_window_post (ajaxurl, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'edit', param); }); // $("#select-image-button-"+tab).click (function (event) { $("#select-image-button-"+tab).on ("click", function (event) { // $(this).blur (); $(this).trigger ("blur" ); var block = $(this).attr('id').replace ("select-image-button-", ""); var frame; event.preventDefault(); if (frame) { frame.open(); return; } frame = wp.media ({ title: ai_admin.select_banner_image, button: { text: ai_admin.use_this_image }, multiple: false // Set to true to allow multiple files to be selected }); // frame.on ('open', function(){ // var selected = $('#banner-image-' + block).attr ('src'); // if (selected) { // var selection = frame.state().get ('selection'); // var id = $('#banner-image-' + block).attr ('data-id'); // selection.add (wp.media.attachment (id)); // } // }); frame.on ('select', function() { var attachment = frame.state().get('selection').first().toJSON(); // console.log ('attachment', attachment); $('#banner-image-' + block).attr ('src', attachment.url); $('#banner-image-url-' + block).val (attachment.url).trigger ("input"); }); frame.open(); }); // $("#select-placeholder-button-"+tab).click (function (event) { $("#select-placeholder-button-"+tab).on ("click", function (event) { // $(this).blur (); $(this).trigger ("blur" ); var block = $(this).attr('id').replace ("select-placeholder-button-", ""); var image_url = $('#banner-image-' + block).attr ('src'); var window_width = 820; var window_height = 870; var window_left = 100; var window_top = (screen.height / 2) - (870 / 2); var param = {'action': 'ai_ajax_backend', 'placeholder': image_url, 'block': block, 'ai_check': ai_nonce}; open_popup_window_post (ajaxurl, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'preview', param); }); $("#banner-image-url-" + tab).on ('input', function() { var block = $(this).attr('id').replace ("banner-image-url-", ""); var image = $('#banner-image-' + block); var new_image_src = $(this).val (); if (new_image_src == '') { // new_image_src = '//:0'; image.hide (); $('div#tab-banner-' + block + ' table.ai-settings-table').css ('position', 'relative'); } // Removed in jQuery 3 // image.attr ('src', new_image_src).load (function () { image.attr ('src', new_image_src).on ("load", function () { image.show (); $('div#tab-banner-' + block + ' table.ai-settings-table').css ('position', 'inherit'); $(this).closest ('.ai-banner').removeClass ('ai-banner-top'); var width = this.naturalWidth; var height = this.naturalHeight; if (width / height > 2 && width > 300) { $(this).closest ('.ai-banner').addClass ('ai-banner-top'); } }) // Removed in jQuery 3 // .error (function() { .on ("error", function() { if (image.is(':visible')) { // image.hide ().attr ('src', '//:0'); image.hide ().attr ('src', ''); $('div#tab-banner-' + block + ' table.ai-settings-table').css ('position', 'relative'); } }); }); $("#banner-url-" + tab).on ('input', function() { var block = $(this).attr('id').replace ("banner-url-", ""); var url = $(this).val ().trim(); if (url == '') $('#banner-link-' + block).removeAttr ('href'); else $('#banner-link-' + block).attr ('href', $(this).val ()); }); // $("#import-code-"+tab).click (function () { $("#import-code-"+tab).on ("click", function () { $(this).next ("label").find ('.checkbox-icon').addClass("on"); var block = $(this).attr('id').replace ("import-code-", ""); $.post (ajaxurl, {'action': 'ai_ajax_backend', 'ai_check': ai_nonce, 'import-code': b64e (get_editor_text (block))} ).done (function (data) { if (data != '') { $('#ai-error-container').hide (); try { var code_data = JSON.parse (data); } catch (error) { console.log ("AI IMPORT CODE ERROR:", data); $('#ai-error-container').text (data).show (); } if (typeof code_data !== "undefined" && typeof code_data ['type'] !== "undefined") { if (debug) console.log ("AI IMPORT CODE:", code_data); var code_type = code_data ['type']; $("#ai-code-generator-container-" + block).tabs ({active: code_type == AI_CODE_UNKNOWN ? AI_CODE_BANNER : code_type}); switch (code_type) { case AI_CODE_BANNER: $("#banner-image-url-" + block).val (code_data ['image']).trigger ('input'); $("#image-alt-text-" + block).val (code_data ['alt']); $("#lazy-load-image-" + block).prop ('checked', code_data ['loading'] == 'lazy'); $("#banner-url-" + block).val (code_data ['link']).trigger ('input'); $("#open-new-tab-" + block).prop ('checked', code_data ['target'] == '_blank'); break; case AI_CODE_ADSENSE: $("#adsense-script-" + block).val (code_data ['adsense-script']); $("#adsense-comment-" + block).val (code_data ['adsense-comment']); $("#adsense-publisher-id-" + block).val (code_data ['adsense-publisher-id']); $("#adsense-ad-slot-id-" + block).val (code_data ['adsense-ad-slot-id']); $("#adsense-type-" + block).val (code_data ['adsense-type']); $("#adsense-size-" + block).val (code_data ['adsense-size']); var ad_size = ''; if (code_data ['adsense-width'] != '' && code_data ['adsense-height'] != '') { ad_size = code_data ['adsense-width'] + 'x' + code_data ['adsense-height']; } $('#tab-adsense-' + block + ' .adsense-ad-size.fixed').parent ().find ('.scombobox-display').val (ad_size); $("#adsense-amp-" + block).val (code_data ['adsense-amp']); $("#adsense-amp-block-on-consent-" + block).prop ('checked', code_data ['adsense-amp-block-on-consent'] != '#'); $("#adsense-layout-" + block).val (code_data ['adsense-layout']); $("#adsense-layout-key-" + block).val (decodeURIComponent (code_data ['adsense-layout-key'])); if (decodeURIComponent (code_data ['adsense-full-width-responsive']) == 'false') { $("#adsense-layout-" + block + ' select.adsense-full-width').val ('disabled'); } else { $("#adsense-layout-" + block + ' select.adsense-full-width').val ('enabled'); } if ($("#adsense-size-" + block).val () == AI_ADSENSE_SIZE_FIXED_BY_VIEWPORT) { $('#tab-adsense-' + block + ' tr.adsense-viewport').each (function (index) { var width = code_data ['adsense-sizes'][index][0]; var height = code_data ['adsense-sizes'][index][1]; var ad_size = ''; if (width != '' && height != '') { ad_size = width + 'x' + height; } $(this).find ('.adsense-ad-size').parent ().find ('.scombobox-display').val (ad_size); }); } process_adsense_elements (block); break; case AI_CODE_AMAZON: $("#amazon-data-" + block).val (code_data ['amazon-data']); $("#amazon-amp-" + block).val (code_data ['amazon-amp']); $("#amazon-width-" + block).val (code_data ['amazon-width']); $("#amazon-height-" + block).val (code_data ['amazon-height']); $("#amazon-amp-block-on-consent-" + block).prop ('checked', code_data ['amazon-amp-block-on-consent'] != '#'); process_amazon_elements (block); break; case AI_CODE_UNKNOWN: break; } } } }).fail (function (xhr, status, error) { console.log ("AI IMPORT CODE ERROR:", xhr.status, xhr.statusText); $('#ai-error-container').text (ai_admin.error + ' ' + xhr.status + ': ' + xhr.statusText).show (); }).always (function() { $("#import-code-"+block).next ("label").find ('.checkbox-icon').removeClass("on"); }); }); // $("#generate-code-"+tab).click (function () { $("#generate-code-"+tab).on ("click", function () { $('#ai-error-container').hide (); $(this).next ("label").find ('.checkbox-icon').addClass("on"); var block = $(this).attr('id').replace ("generate-code-", ""); var code_type = $("#ai-code-generator-container-" + block).tabs('option', 'active'); var code_data = {'action': 'ai_ajax_backend', 'ai_check': ai_nonce, 'generate-code': code_type}; switch (code_type) { case AI_CODE_BANNER: code_data ['image'] = $("#banner-image-url-" + block).val (); code_data ['alt'] = $("#image-alt-text-" + block).val (); if ($("#lazy-load-image-" + block).is(":checked")) code_data ['loading'] = 'lazy'; code_data ['link'] = $("#banner-url-" + block).val (); if ($("#open-new-tab-" + block).is(":checked")) code_data ['target'] = '_blank'; break; case AI_CODE_ADSENSE: code_data ['block'] = block; code_data ['adsense-script'] = $("#adsense-script-" + block).val (); code_data ['adsense-comment'] = $("#adsense-comment-" + block).val (); code_data ['adsense-publisher-id'] = $("#adsense-publisher-id-" + block).val (); code_data ['adsense-ad-slot-id'] = $("#adsense-ad-slot-id-" + block).val (); code_data ['adsense-type'] = parseInt ($("select#adsense-type-" + block +" option:selected").attr ('value')); code_data ['adsense-size'] = parseInt ($("select#adsense-size-" + block +" option:selected").attr ('value')); var ad_size = $('#tab-adsense-' + block + ' .adsense-ad-size.fixed').parent ().find ('.scombobox-display').val ().trim ().toLowerCase ().split ('x'); code_data ['adsense-width'] = ''; code_data ['adsense-height'] = ''; if (ad_size.length == 2) { code_data ['adsense-width'] = parseInt (ad_size [0]); code_data ['adsense-height'] = parseInt (ad_size [1]); } code_data ['adsense-amp'] = parseInt ($("select#adsense-amp-" + block +" option:selected").attr ('value')); code_data ['adsense-amp-block-on-consent'] = $("#adsense-amp-block-on-consent-" + block).is(":checked") ? '' : '#'; code_data ['adsense-layout'] = $("#adsense-layout-" + block).val (); code_data ['adsense-layout-key'] = $("#adsense-layout-key-" + block).val (); code_data ['adsense-full-width-responsive'] = 'true'; if ($("#adsense-layout-" + block + ' select.adsense-full-width').val () == 'disabled') { code_data ['adsense-full-width-responsive'] = 'false'; } if (code_data ['adsense-size'] == AI_ADSENSE_SIZE_FIXED_BY_VIEWPORT) { var viewport_sizes = new Array(); $('#tab-adsense-' + block + ' tr.adsense-viewport').each (function (index) { var ad_size = $(this).find ('.adsense-ad-size').parent ().find ('.scombobox-display').val ().trim ().toLowerCase ().split ('x'); var adsense_size = {'width': '', 'height': ''}; if (ad_size.length == 2) { adsense_size = {'width': parseInt (ad_size [0]), 'height': parseInt (ad_size [1])}; } viewport_sizes.push (adsense_size); }); code_data ['adsense-viewports'] = viewport_sizes; } break; case AI_CODE_AMAZON: code_data ['amazon-data'] = $("#amazon-data-" + block).val (); code_data ['amazon-amp'] = $("select#amazon-amp-" + block +" option:selected").attr ('value'); code_data ['amazon-width'] = $("#amazon-width-" + block).val (); code_data ['amazon-height'] = $("#amazon-height-" + block).val (); code_data ['amazon-amp-block-on-consent'] = $("#amazon-amp-block-on-consent-" + block).is(":checked") ? '' : '#'; break; case AI_CODE_UNKNOWN: // if (debug) console.log ("AI GENERATE CODE:", code_type); break; } if (debug) { console.log ("AI GENERATE CODE:", code_type); console.log (code_data); } $.post (ajaxurl, code_data ).done (function (code_data) { if (code_data != '') { var code = JSON.parse (code_data); if (typeof code !== "undefined") set_editor_text (block, code); } }).fail (function (xhr, status, error) { console.log ("AI GENERATE CODE ERROR:", xhr.status, xhr.statusText); $('#ai-error-container').text (ai_admin.error + ' ' + xhr.status + ': ' + xhr.statusText).show (); }).always (function() { $("#generate-code-"+block).next ("label").find ('.checkbox-icon').removeClass("on"); }); }); // $("#clear-block-"+tab).click (function () { $("#clear-block-"+tab).on ("click", function () { paste_from_clipboard (true, true, true, true); }); // $("#copy-block-"+tab).click (function () { $("#copy-block-"+tab).on ("click", function () { copy_to_clipboard (); }); // $("#paste-name-"+tab).click (function () { $("#paste-name-"+tab).on ("click", function () { paste_from_clipboard (true, false, false, false); }); // $("#paste-code-"+tab).click (function () { $("#paste-code-"+tab).on ("click", function () { paste_from_clipboard (false, true, false, false); }); // $("#paste-settings-"+tab).click (function () { $("#paste-settings-"+tab).on ("click", function () { paste_from_clipboard (false, false, true, false); }); // $("#paste-block-"+tab).click (function () { $("#paste-block-"+tab).on ("click", function () { paste_from_clipboard (true, true, true, false); }); // $("#rotation-"+tab).click (function () { $("#rotation-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("rotation-", ""); var rotation_container = $('#ai-rotation-container-' + block); $(this).next ("label").find ('.checkbox-icon').toggleClass("on"); rotation_container.toggle(); var option_tabs = rotation_container.tabs (); var ul = option_tabs.find ("ul"); if (rotation_container.is(':visible')) { rotation_container.data ('code', b64e (get_editor_text (block))); rotation_container.data ('option', 1); add_rotate_options (block, 1); option_tabs.tabs ("option", "active", 0); $('input[name=ai_save]').css ('color', '#f00'); // $('.ai-rotation-warning').show (); setTimeout (function() {import_rotation_code (block);}, 5); } else { // set_editor_text (block, b64d (rotation_container.data ('code'))); generate_rotatation_code (block); ul.find ("li").remove (); var div = option_tabs.find ("div.ai-rounded").remove (); } }); // $("#add-option-"+tab).click (function () { $("#add-option-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("add-option-", ""); add_rotate_options (block, 1); // $('#ai-rotation-container-' + block).find ("ul").find ("li").slice (- 1).click (); $('#ai-rotation-container-' + block).find ("ul").find ("li").slice (- 1).trigger ("click"); }); // $("#remove-option-"+tab).click (function () { $("#remove-option-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("remove-option-", ""); remove_rotate_option (block, $('#ai-rotation-container-' + block).tabs ("option", "active")); }); // $("#rotation-groups-"+tab).click (function () { $("#rotation-groups-"+tab).on ("click", function () { var block = $(this).attr('id').tabIndex (); var label = $(this).next ().find ('span'); label.toggleClass ('on'); var rotation_container = $('#ai-rotation-container-' + block); if (label.hasClass ('on')) { rotation_container.find ('span.group-name-label').show (); rotation_container.find ('span.option-name-label').hide (); rotation_container.find ('td.option-parameters').hide (); } else { rotation_container.find ('span.group-name-label').hide (); rotation_container.find ('span.option-name-label').show (); rotation_container.find ('td.option-parameters').show (); } }); // $("#tab-" + tab + " .adsense-list").click (function () { $("#tab-" + tab + " .adsense-list").on ("click", function () { // $(this).blur (); $(this).trigger ("blur" ); toggle_adsense_list (); }); // $("select#html-element-insertion-"+tab).change (function() { $("select#html-element-insertion-"+tab).on ("change", function() { var html_element_insertion = $("select#html-element-insertion-"+tab+" option:selected").attr('value'); if (html_element_insertion == AI_HTML_INSERTION_SEREVR_SIDE) $("#server-side-insertion-"+tab).hide (); else $("#server-side-insertion-"+tab).show (); }); $("#tab-" + tab + " .adsense-ad-size").scombobox({ showDropDown: false, invalidAsValue: true, animation: { duration: 50, } }); // $("select#close-button-" + tab).change (function () { $("select#close-button-" + tab).on ("change", function () { var block = $(this).attr('id').replace ("close-button-", ""); $("select#close-button-sticky-"+block+"").val ($("select#close-button-"+block+" option:selected").attr('value')); }); // $("select#close-button-sticky-" + tab).change (function () { $("select#close-button-sticky-" + tab).on ("change", function () { var block = $(this).attr('id').replace ("close-button-sticky-", ""); $("select#close-button-"+block+"").val ($("select#close-button-sticky-"+block+" option:selected").attr('value')); }); // $("input#paragraph-numbers-" + tab).change (function () { // var block = $(this).attr('id').tabIndex (); // $("input#image-numbers-"+block).val ($(this).attr ('value')); // }); // $("input#image-numbers-" + tab).change (function () { // var block = $(this).attr('id').tabIndex (); // $("input#paragraph-numbers-"+block).val ($(this).attr ('value')); // }); $("input#filter-numbers-insertions-" + tab).on ('keyup', function () { var block = $(this).attr('id').tabIndex (); $("input#filter-numbers-"+block).val ($(this).val ()); $("select#filter-type-"+block).val (0); $("input#invert-filter-"+block).prop ("checked", false); }); $("input#filter-numbers-" + tab).on ('keyup', function () { var block = $(this).attr('id').tabIndex (); $("input#filter-numbers-insertions-"+block).val ($(this).val ()); }); $("#html-elements-button-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("html-elements-button-", ""); var selector = $("input#html-elements-" + block).val (); var home_url = $("#ai-settings").data ('home-relative-url'); var window_top = screen.availTop; var window_left = screen.availLeft; var window_width = screen.availWidth - 15; var window_height = screen.availHeight - 65; var param = { 'html_element_selection': block, 'selector': selector, 'input': "input#html-elements-" + block }; open_popup_window_post (home_url, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'ai-selector', param); }); // $("#wait-for-button-"+tab).click (function () { $("#wait-for-button-"+tab).on ("click", function () { var block = $(this).attr('id').replace ("wait-for-button-", ""); var selector = $("input#wait-for-" + block).val (); var home_url = $("#ai-settings").data ('home-relative-url'); var window_top = screen.availTop; var window_left = screen.availLeft; var window_width = screen.availWidth - 15; var window_height = screen.availHeight - 65; var param = { 'html_element_selection': block, 'selector': selector, 'input': "input#wait-for-" + block }; open_popup_window_post (home_url, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'ai-selector', param); }); // $("#select-bkg-image-button-"+tab).click (function (event) { $("#select-bkg-image-button-"+tab).on ("click", function (event) { // $(this).blur (); $(this).trigger ("blur" ); var block = $(this).attr('id').replace ("select-bkg-image-button-", ""); var frame; event.preventDefault(); if (frame) { frame.open(); return; } frame = wp.media ({ title: ai_admin.select_background_image, button: { text: ai_admin.use_this_image }, multiple: false // Set to true to allow multiple files to be selected }); // frame.on ('open', function(){ // var selected = $('#banner-image-' + block).attr ('src'); // if (selected) { // var selection = frame.state().get ('selection'); // var id = $('#banner-image-' + block).attr ('data-id'); // selection.add (wp.media.attachment (id)); // } // }); frame.on ('select', function() { var attachment = frame.state().get('selection').first().toJSON(); // console.log ('attachment', attachment); $('#bkg-image-' + block).attr ('src', attachment.url); $('#bkg-image-url-' + block).val (attachment.url).trigger ("input"); }); frame.open(); }); $("#bkg-image-url-" + tab).on ('input', function() { var block = $(this).attr('id').replace ("bkg-image-url-", ""); var image = $('#bkg-image-' + block); var new_image_src = $(this).val (); if (new_image_src == '') { // new_image_src = '//:0'; image.hide (); $('div#sticky-background-' + block + ' table.ai-settings-table').css ('position', 'relative'); } configure_sticky_css (block); // image.attr ('src', new_image_src).load (function () { image.attr ('src', new_image_src).on ('load', function () { image.show (); $('div#sticky-background-' + block + ' table.ai-settings-table').css ('position', 'inherit'); $(this).closest ('.ai-banner').removeClass ('ai-banner-top'); var width = this.naturalWidth; var height = this.naturalHeight; if (width / height > 2 && width > 300) { $(this).closest ('.ai-banner').addClass ('ai-banner-top'); } }) // .error (function() { .on ('error', function() { if (image.is(':visible')) { // image.hide ().attr ('src', '//:0'); image.hide ().attr ('src', ''); $('div#sticky-background-' + block + ' table.ai-settings-table').css ('position', 'relative'); } }); }); // $('#tab-' + tab + ' .parallax-button').click (function (event) { $('#tab-' + tab + ' .parallax-button').on ("click", function (event) { var button = $(this); // button.blur (); button.trigger ("blur" ); var frame; event.preventDefault(); if (frame) { frame.open(); return; } frame = wp.media ({ title: ai_admin.select_background_image, button: { text: ai_admin.use_this_image }, multiple: false // Set to true to allow multiple files to be selected }); frame.on ('select', function() { var attachment = frame.state().get('selection').first().toJSON(); button.closest ('tr').find ('.parallax-image').val (attachment.url); }); frame.open(); }); } function configure_sticky_css (block) { var horizontal_position = parseInt ($("select#horizontal-position-"+block+" option:selected").attr('value')); var vertical_position = parseInt ($("select#vertical-position-"+block+" option:selected").attr('value')); var horizontal_margin = $("#horizontal-margin-"+block).val ().trim (); var vertical_margin = $("#vertical-margin-"+block).val ().trim (); var animation = parseInt ($("select#animation-"+block + " option:selected").attr('value')); var background = $("input#background-"+block).is(":checked") ? '1' : '0'; var set_body_background = $("input#body-background-"+block).is(":checked") ? '1' : '0'; var background_color = b64e ($("input#bkg-color-"+block).val ().trim ()); var background_image = b64e ($("input#bkg-image-url-"+block).val ().trim ()); var background_size = parseInt ($("select#bkg-size-"+block+" option:selected").attr('value')); var background_repeat = parseInt ($("select#bkg-repeat-"+block+" option:selected").attr('value')); var parameters = '&h_pos=' + horizontal_position + '&v_pos=' + vertical_position + '&h_mar=' + horizontal_margin + '&v_mar=' + vertical_margin + '&anim=' + animation + '&bkg=' + background + '&body_bkg=' + set_body_background + '&bkg_col=' + background_color + '&bkg_img=' + background_image + '&bkg_size=' + background_size + '&bkg_rpt=' + background_repeat; jQuery.get (ajaxurl + '?action=ai_ajax_backend&sticky_css='+block+parameters+'&ai_check=' + ai_nonce, function (data) { if (data != '') { $('#css-sticky-' + block + ' .ai-sticky-css').text (data); } }); if (parseInt (background)) { $("#sticky-position-"+block).addClass ('ai-background'); } else $("#sticky-position-"+block).removeClass ('ai-background'); check_insertion (block); } function configure_sticky_css_2 (block) { var horizontal_position = $("select#horizontal-position-"+block+" option:selected").attr('value'); var selected_horizontal_position = $("select#horizontal-position-"+block+" option:selected"); var vertical_position = $("select#vertical-position-"+block+" option:selected").attr('value'); var selected_vertical_position = $("select#vertical-position-"+block+" option:selected"); var background = $("input#background-"+block).is(":checked"); var body_background = horizontal_position == AI_STICK_HORIZONTAL_CENTER && $("input#body-background-"+block).is(":checked"); if (background) { $("#sticky-position-"+block).addClass ('ai-background'); } else $("#sticky-position-"+block).removeClass ('ai-background'); var custom_vertical_position_css = selected_vertical_position.data ('css-bkg'); if (background && typeof custom_vertical_position_css != 'undefined') { if (body_background) { var vertical_position_css = $("select#vertical-position-"+block).data ('css-body-bkg'); } else var vertical_position_css = custom_vertical_position_css; } else { var custom_vertical_position_css = selected_vertical_position.data ('css-' + horizontal_position); if (typeof custom_vertical_position_css != 'undefined') var vertical_position_css = custom_vertical_position_css; else var vertical_position_css = selected_vertical_position.data ('css'); } var custom_horizontal_position_css = selected_horizontal_position.data ('css-bkg'); if (background && typeof custom_horizontal_position_css != 'undefined') { var horizontal_position_css = custom_horizontal_position_css; } else { var custom_horizontal_position_css = selected_horizontal_position.data ('css-' + vertical_position); if (typeof custom_horizontal_position_css != 'undefined') var horizontal_position_css = custom_horizontal_position_css; else var horizontal_position_css = selected_horizontal_position.data ('css'); } var background_css = ''; if (horizontal_position == AI_STICK_HORIZONTAL_CENTER && background) { // var background_color = $("input#bkg-color-"+block).attr('value').trim (); var background_color = $("input#bkg-color-"+block).val ().trim (); if (background_color != '') { background_css = background_css + ' background-color: ' + background_color + ';'; } // var background_image = $("input#bkg-image-url-"+block).attr('value').trim (); var background_image = $("input#bkg-image-url-"+block).val ().trim (); if (background_image != '') { background_css = background_css + ' background-image: url(' + background_image + ');'; } var background_size = parseInt ($("select#bkg-size-"+block+" option:selected").attr('value')); if (background_size != AI_BACKGROUND_SIZE_DEFAULT) { switch (background_size) { case AI_BACKGROUND_SIZE_COVER: background_css = background_css + ' background-size: cover;'; break; case AI_BACKGROUND_SIZE_CONTAIN: background_css = background_css + ' background-size: contain;'; break; case AI_BACKGROUND_SIZE_FILL: background_css = background_css + ' background-size: 100% 100%;'; break; } } var background_repeat = parseInt ($("select#bkg-repeat-"+block+" option:selected").attr('value')); if (background_repeat != AI_BACKGROUND_REPEAT_DEFAULT) { switch (background_repeat) { case AI_BACKGROUND_REPEAT_NO: background_css = background_css + ' background-repeat: no-repeat;'; break; case AI_BACKGROUND_REPEAT_YES: background_css = background_css + ' background-repeat: repeat;'; break; case AI_BACKGROUND_REPEAT_HORIZONTALY: background_css = background_css + ' background-repeat: repeat-x;'; break; case AI_BACKGROUND_REPEAT_VERTICALLY: background_css = background_css + ' background-repeat: repeat-y;'; break; case AI_BACKGROUND_REPEAT_SPACE: background_css = background_css + ' background-repeat: space;'; break; case AI_BACKGROUND_REPEAT_ROUND: background_css = background_css + ' background-repeat: round;'; break; } } } // $('#css-sticky-' + block + ' .ai-sticky-css').text (vertical_position_css + horizontal_position_css + background_css); check_insertion (block); } function check_insertion (block) { $('#sticky-scroll-warning-' + block).hide (); var automatic_insertion = $("select#insertion-type-"+block+" option:selected").attr('value'); var alignment_style = $("select#block-alignment-"+block+" option:selected").attr('value'); var vertical_position = $("select#vertical-position-"+block+" option:selected").attr('value'); var background = $("input#background-"+block).is(":checked") ? 1 : 0; var body_background = $("input#body-background-"+block).is(":checked") ? 1 : 0; if (alignment_style == AI_ALIGNMENT_STICKY && vertical_position == AI_SCROLL_WITH_THE_CONTENT && automatic_insertion != AI_ABOVE_HEADER && automatic_insertion != AI_DISABLED && !(background && body_background)) { $('#sticky-scroll-warning-' + block).show (); } } function configure_selection_icons (block) { var css_code_container = $('#icons-css-code-'+block); if (!css_code_container.hasClass ('configured')) { var titles = new Array(); $("select#insertion-type-"+block).imagepicker({hide_select: false}).find ('option').each (function (index) { titles.push ($(this).data ('title')); }); $("select#insertion-type-"+block+" + ul").appendTo("#automatic-insertion-"+block).css ('padding-top', '10px').find ('li').each (function (index) { $(this).attr ('title', titles [index]) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); }); var titles = new Array(); $("select#block-alignment-"+block).imagepicker({hide_select: false}).find ('option').each (function (index) { titles.push ($(this).data ('title')); }); $("select#block-alignment-"+block+" + ul").appendTo("#alignment-style-"+block).css ('padding-top', '10px').find ('li').each (function (index) { $(this).attr ('title', titles [index]) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); }); var titles = new Array(); $("select#horizontal-position-"+block).imagepicker({hide_select: false}).find ('option').each (function (index) { titles.push ($(this).data ('title')); }); $("select#horizontal-position-"+block+" + ul").appendTo("#horizontal-positions-"+block).css ('padding-top', '10px').find ('li').each (function (index) { $(this).attr ('title', titles [index]) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); }); var titles = new Array(); $("select#vertical-position-"+block).imagepicker({hide_select: false}).find ('option').each (function (index) { titles.push ($(this).data ('title')); }); $("select#vertical-position-"+block+" + ul").appendTo("#vertical-positions-"+block).css ('padding-top', '10px').find ('li').each (function (index) { $(this).attr ('title', titles [index]) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); }); // var titles = new Array(); // $("select#close-button-"+block).imagepicker({hide_select: false}).find ('option').each (function (index) { // titles.push ($(this).data ('title')); // }); // $("select#close-button-sticky-"+block+" + ul").appendTo("#close-buttons-"+block).css ('padding-top', '10px').find ('li').each (function (index) { // $(this).attr ('title', titles [index]) // .tooltip({ // track: true, // delay: 700, // showURL: false, // showBody: " | ", // fade: 250 // }); // }); css_code_container.addClass ('configured'); } } function import_rotation_code (block) { $("#rotation-"+block).next ("label").find ('.checkbox-icon').addClass("active"); $.post (ajaxurl, {'action': 'ai_ajax_backend', 'ai_check': ai_nonce, 'import-rotation-code': b64e (get_editor_text (block))} ).done (function (data) { if (data != '') { var code_data = JSON.parse (data); if (typeof code_data !== "undefined" && typeof code_data ['options'] !== "undefined") { $('#ai-error-container').hide (); var options = code_data ['options'].length; if (debug) { console.log ("AI IMPORT ROTATION CODE:", options); console.log (" OPTIONS:", code_data ['options']); } var rotation_container = $('#ai-rotation-container-' + block); rotation_container.find ("ul").find ("li").remove (); rotation_container.find ("div.ai-rounded").remove (); var tabs = options; if (tabs < 1) tabs = 1; if (tabs > 17) tabs = 17; add_rotate_options (block, tabs); rotation_container.find ('ul li').each (function (index) { if (index < options) $(this).data ('code', b64e (code_data ['options'][index]['code'])); else $(this).data ('code', b64e ('')); }); rotation_container.tabs ("option", "active", 0); set_editor_text (block, code_data ['options'][0]['code']); rotation_container.find ('input.option-name').each (function (index) { if (index < options) $(this).val (code_data ['options'][index]['name']); }); rotation_container.find ('input.option-share').each (function (index) { if (index < options) $(this).val (code_data ['options'][index]['share']); }); rotation_container.find ('input.option-time').each (function (index) { if (index < options) $(this).val (code_data ['options'][index]['time']); }); rotation_container.find ('input.option-scheduling').each (function (index) { if (index < options) $(this).val (code_data ['options'][index]['scheduling']); }); var group_label = $("#rotation-groups-" + block).next ().find ('span'); if (code_data ['options'][0]['groups']) { group_label.removeClass ('on'); } else { group_label.addClass ('on'); } // $("#rotation-groups-" + block).click (); $("#rotation-groups-" + block).trigger ("click"); } } }).fail (function (xhr, status, error) { console.log ("AI IMPORT ROTATION CODE ERROR:", xhr.status, xhr.statusText); $('#ai-error-container').text (ai_admin.error + ' ' + xhr.status + ': ' + xhr.statusText).show (); var rotation_container = $('#ai-rotation-container-' + block); set_editor_text (block, b64d (rotation_container.data ('code'))); rotation_container.hide(); $("#rotation-" + block).next ("label").find ('.checkbox-icon').removeClass("on"); rotation_container.find ("ul").find ("li").remove (); rotation_container.find ("div.ai-rounded").remove (); }).always (function() { $("#rotation-"+block).next ("label").find ('.checkbox-icon').removeClass("active"); }); } function generate_rotatation_code (block) { $("#rotation-"+block).next ("label").find ('.checkbox-icon').addClass("active"); var rotation_container = $('#ai-rotation-container-' + block); var option = rotation_container.tabs ("option", "active") + 1; $(('#option-' + block + '-' + option)).data ('code', b64e (get_editor_text (block))); var rotation_data = []; rotation_container.find ("div.ai-rounded").each (function (index) { var code_data = $('#option-' + block + '-' + (index + 1)).data ('code'); var code = typeof code_data == 'undefined' ? '' : b64d (code_data); var group_rotation = $("#rotation-groups-" + block).next ().find ('span').hasClass ('on'); var option_data = { 'name': $(this).find ('input.option-name').val (), 'share': $(this).find ('input.option-share').val (), 'scheduling': $(this).find ('input.option-scheduling').val (), 'time': $(this).find ('input.option-time').val (), 'code': code, 'groups': group_rotation }; rotation_data.push (option_data); }); if (debug) console.log ('ROTATION DATA:', rotation_data); $.post (ajaxurl, {'action': 'ai_ajax_backend', 'ai_check': ai_nonce, 'generate-rotation-code': b64e (JSON.stringify (rotation_data))} ).done (function (data) { $('#ai-error-container').hide (); if (data != '') { var rotation_code = JSON.parse (data); if (typeof rotation_code !== "undefined") { if (debug) console.log ('ROTATION CODE:', rotation_code); set_editor_text (block, rotation_code); } } }).fail (function (xhr, status, error) { console.log ("AI GENERATE ROTATION CODE ERROR:", xhr.status, xhr.statusText); $('#ai-error-container').text (ai_admin.error + ' ' + xhr.status + ': ' + xhr.statusText).show (); var rotation_container = $('#ai-rotation-container-' + block); set_editor_text (block, b64d (rotation_container.data ('code'))); rotation_container.hide(); $("#rotation-" + block).next ("label").find ('.checkbox-icon').removeClass("on"); rotation_container.find ("ul").find ("li").remove (); rotation_container.find ("div.ai-rounded").remove (); }).always (function() { $("#rotation-"+block).next ("label").find ('.checkbox-icon').removeClass("active"); $('input[name=ai_save]').css ('color', '#555'); // $('.ai-rotation-warning').hide (); }); } function add_rotate_options (block, new_options) { var rotation_container = $('#ai-rotation-container-' + block); var ul = rotation_container.find ("ul"); var options = rotation_container.find ('ul >li').length; var rotation_tabs = $('#rotation-tabs'); var li = rotation_tabs.find ("li"); var div = rotation_tabs.find ("div.ai-rounded"); var insertion = 0; for (option = options + 1; option <= options + new_options; option ++) { if (option > 17) break; var new_li = li.clone ().show (); new_li.find ("a").attr ('href', '#tab-option-' + block + '-' + option).text (String.fromCharCode (64 + option)); new_li.attr ('id', 'option-' + block + '-' + option).appendTo (ul).data ('code', b64e ('')); // new_li.click (function () { new_li.on ("click", function () { var rotation_container = $(this).closest ('.ai-rotate'); var block = rotation_container.attr('id').replace ("ai-rotation-container-", ""); var old_option = rotation_container.data ('option'); var new_option = $(this).attr('id').replace ("option-" + block + "-", ""); rotation_container.data ('option', new_option); if (debug) console.log ('OPTION CHANGE:', old_option, '=>', new_option); $(('#option-' + block + '-' + old_option)).data ('code', b64e (get_editor_text (block))); set_editor_text (block, b64d ($(this).data ('code'))); }); div.clone ().show ().attr ('id', 'tab-option-' + block + '-' + option).appendTo (rotation_container); rotation_container.tabs ("refresh"); } rotation_container.find ('[data-title]').each (function () { $(this).attr ('title', $(this).data ('title')); }); rotation_container.find ("[title]").tooltip ({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); rotation_container.tabs ("option", "active", option - 2); } function remove_rotate_option (block, option) { var rotation_container = $('#ai-rotation-container-' + block); var options = rotation_container.find ('ul >li').length; if (options == 1) return; var ul = rotation_container.find ("ul"); ul.find ("li").slice (option, option + 1).remove (); var div = rotation_container.find ("div.ai-rounded").slice (option, option + 1).remove (); rotation_container.find ('ul li').each (function (index) { var option = index + 1; $(this).attr ('id', 'option-' + block + '-' + option).find ("a").attr ('href', '#tab-option-' + block + '-' + option).text (String.fromCharCode (64 + option)); }); rotation_container.find ("div.ai-rounded").each (function (index) { var option = index + 1; $(this).attr ('id', 'tab-option-' + block + '-' + option); }); rotation_container.tabs ("refresh"); var new_option = option == 0 ? 0 : option - 1; active_li = $('#option-' + block + '-' + (new_option + 1)); set_editor_text (block, b64d (active_li.data ('code'))); ul.closest ('.ai-rotate').data ('option', new_option + 1); } function create_list_selector (element_name_prefix, index) { var select = $('#'+element_name_prefix+'-select-' + index); if (select.length !== 0) { var button = $('#'+element_name_prefix+'-button-'+index); var list_prefix = button.data ('list'); if (list_prefix == null) list_prefix = element_name_prefix; function update_list (list, element_name_prefix) { if (typeof before_update_selection_from_list == 'function') { before_update_selection_from_list (index); } button.find ('span.ui-button-text').addClass ('ai-button-updating'); setTimeout (function() { update_selection_from_list (list, element_name_prefix); }, 5); } // button.click (function () { button.on ("click", function () { if (!select.hasClass ('multi-select')) { var options = select.find ('option'); if (options.length == 0) { var filter_element = $('#ms-'+element_name_prefix+'-select-' + index).find ('.filter-input'); var filter = filter_element.length ? filter_element.val () : ''; var parameters_data = select.data ('parameters'); var parameters = typeof parameters_data == 'undefined' ? '' : parameters_data; $('#ai-loading').show (); button.find ('span.ui-button-text').addClass ('ai-button-active').show (); $.get (ajaxurl + '?action=ai_ajax_backend&list-options=' + element_name_prefix + '¶meters=' + parameters + '&filter=' + filter + '&ai_check=' + ai_nonce, function (data) { if (data != '') { var message = ''; var options = $('option', '<div>'+data+'</div>'); if (options.length != 0) { if ($(options [0]).attr ('value').length == 0) { message = $(options [0]).text (); // options = options.splice (1); options = Array.from (options).splice (1); } } select.attr ('data-message', message); select.html (options); create_multi_select (select, element_name_prefix, list_prefix, index); $('#ms-'+element_name_prefix+'-select-' + index).find ('.filter-message').text (message); update_list ($('#'+list_prefix+'-list-'+index), element_name_prefix); } }).fail (function (xhr, status, error) { $('input.filter-input', selection_container).remove (); var message = "Error loading " + element_name_prefix + " options: " + xhr.status + " " + xhr.statusText ; console.log (message); }) .always (function () { $('#ai-loading').hide (); button.find ('span.ui-button-text').removeClass ('ai-button-active'); }); } else create_multi_select (select, element_name_prefix, list_prefix, index); } else { update_list ($('#'+list_prefix+'-list-'+index), element_name_prefix); $('#ms-'+element_name_prefix+'-select-'+index).toggle(); } }); // $('#'+list_prefix+'-list-'+index).focusout (function () { $('#'+list_prefix+'-list-'+index).on ("focusout", function () { var selection_container = $('#ms-'+element_name_prefix+'-select-'+index); if (selection_container.length && selection_container.is (':visible')) { update_list ($(this), element_name_prefix); } }); } } function update_list_from_selection (select_element, element_name_prefix, list_prefix) { var ms = select_element.$element; var ms_val = ms.val(); if (ms_val != null) { if (ms_val [0] == '') { ms_val = ms_val.splice (1) } ms_val = ms_val.join (', ').trim (','); } var index = ms.attr ('id').replace (element_name_prefix+'-select-',''); var list = $('#'+list_prefix+'-list-'+index); var custom_data = list.attr ('data-custom'); if (typeof custom_data != 'undefined' && custom_data != '') { if (ms_val != null) { if (ms_val != '') ms_val = ms_val + ', '; ms_val = ms_val + custom_data; } else ms_val = custom_data; } // list.attr ('value', ms_val); list.val (ms_val); select_element.qs1.cache(); // select_element.qs2.cache(); } function update_selection_from_list (list_element, element_name_prefix) { Array.prototype.diff = function (a) { return this.filter(function (i) { return a.indexOf(i) === -1; }); }; var index = list_element.attr ('id').replace (/^\D+/g, ''); var select = $('#'+element_name_prefix+'-select-'+index); var selection_container = $('#ms-'+element_name_prefix+'-select-'+index); if (selection_container.is(':visible')) { // var list_items = list_element.attr ('value').split (',').map (Function.prototype.call, String.prototype.trim); var list_items = list_element.val ().split (',').map (Function.prototype.call, String.prototype.trim); if (list_items [0] == '') { list_items = list_items.splice (1) } if (list_element.hasClass ('ai-list-filter')) for (var i = 0; i < list_items.length; i++) { list_items [i] = list_items [i].replace (/ /g , '-').replace (/[\!\@\#\$%\^&\*\(\)\=\+\{\}\|\[\]\\\;\'\:\"\.\/\?]/g , ''); } if (list_element.hasClass ('ai-list-filter-cat')) for (var i = 0; i < list_items.length; i++) { list_items [i] = list_items [i].replace (/ /g , '-').replace (/[\!\@\#\$%\^&\(\)\=\{\}\|\[\]\\\;\'\:\"\.\/\?]/g , ''); } if (list_element.hasClass ('ai-list-uppercase')) list_items = list_items.map (Function.prototype.call, String.prototype.toUpperCase); else if (list_element.hasClass ('ai-list-lowercase')) list_items = list_items.map (Function.prototype.call, String.prototype.toLowerCase); else if (list_element.hasClass ('ai-list-country-case')) { var list_items = list_items.map (function callback (currentValue) { var data = currentValue.split (':'); if (data [0] != null) data [0] = data [0].toUpperCase (); if (data [1] != null) data [1] = data [1].toUpperCase (); if (data [2] != null) data [2] = data [2].toLowerCase (); return data.join (':'); }); } $('#'+element_name_prefix+'-select-'+index).multiSelect('refresh').multiSelect ('deselect_all').multiSelect ('select', list_items); if (list_element.hasClass ('ai-list-custom')) { var custom_values = list_items; var selected_values = $('#'+element_name_prefix+'-select-'+index).val (); if (selected_values != null) custom_values = list_items.diff (selected_values); if (custom_values != null) custom_values = custom_values.join (', '); list_element.attr ('data-custom', custom_values); select.multiSelect ('deselect_all').multiSelect ('select', list_items); } if (select.hasClass ('ai-list-filter')) { var filter_div = $('#ms-'+element_name_prefix+'-select-'+index).find ('.ai-list-filter-container'); var filter_input = filter_div.find ('.filter-input'); var filter_button = filter_div.find ('.filter-button'); if (!filter_div.hasClass ('configured')) { filter_div.addClass ('configured'); filter_input.on ('keyup keypress', function(e) { var keyCode = e.keyCode || e.which; if (keyCode === 13) { e.preventDefault(); // filter_button.click (); filter_button.trigger ("click"); return false; } }); filter_button.on ('click', function(e) { e.preventDefault(); var filter = filter_input.val (); select.attr ('data-filter', filter); select.empty (); select.removeClass ('multi-select'); // $('#'+element_name_prefix+'-button-'+index).click (); $('#'+element_name_prefix+'-button-'+index).trigger ("click"); return false; }); } filter_div.show (); $('#ms-'+element_name_prefix+'-select-'+index).find ('.search-input').hide (); filter_button.button().show (); filter_input.val (select.attr ('data-filter')); $('#ms-'+element_name_prefix+'-select-' + index).find ('.filter-message').text (select.attr ('data-message')); } } var button = $('#'+element_name_prefix+'-button-'+index); button.find ('span.ui-button-text').removeClass ('ai-button-updating'); } function create_multi_select (select, element_name_prefix, list_prefix, index) { select.addClass ('multi-select'); select.multiSelect ({ selectableHeader: '<div class="ai-list-filter-container">' + '<input type="text" class="filter-input" autocomplete="off" placeholder="' + ai_admin.filter + '" title="' + ai_admin.filter_title + '">' + '<button class="filter-button" style="margin-top: -2px; display: none;">' + ai_admin.button_filter + '</button>' + '<span class="filter-message"></span>' + '</div>' + '<input type="text" class="search-input" autocomplete="off" placeholder="' + ai_admin.search + '">', selectionHeader: '', afterInit: function(ms){ var that = this, $selectableSearch = that.$selectableUl.prev(), $selectionSearch = that.$selectionUl.prev(), selectableSearchString = '#'+that.$container.attr('id')+' .ms-elem-selectable:not(.ms-selected)', selectionSearchString = '#'+that.$container.attr('id')+' .ms-elem-selection.ms-selected'; that.qs1 = $selectableSearch.quicksearch (selectableSearchString) .on('keydown', function(e){ if (e.which === 40){ // that.$selectableUl.focus(); that.$selectableUl.trigger ("focus"); return false; } }); // that.qs2 = $selectionSearch.quicksearch (selectionSearchString) // .on('keydown', function(e){ // if (e.which == 40){ // that.$selectionUl.focus(); // return false; // } // }); }, afterSelect: function(values){ update_list_from_selection (this, element_name_prefix, list_prefix); }, afterDeselect: function(values){ update_list_from_selection (this, element_name_prefix, list_prefix); } }); // $('#ms-'+element_name_prefix+'-select-' + index).hide(); } function create_list_editor (element_name_prefix, index) { var editor = $('#'+element_name_prefix+'-editor-'+index); var list = $('#'+element_name_prefix+'-list-'+index); if (editor.length !== 0) { // $('#'+element_name_prefix+'-button-'+index).click (function () { $('#'+element_name_prefix+'-button-'+index).on ("click", function () { update_editor_from_list (list, element_name_prefix, true); }); // editor.focusout (function () { editor.on ("focusout", function () { update_list_from_editor (editor, element_name_prefix) }); // list.focusout (function () { list.on ("focusout", function () { if (editor.is(':visible')) update_editor_from_list ($(this), element_name_prefix, false); }); } } function clean_url_list (list_element, list_items) { var clean_protocol = list_element.hasClass ('ai-clean-protocol'); var clean_domain = list_element.hasClass ('ai-clean-domain'); var only_domain = list_element.hasClass ('ai-only-domain'); var sort_list = list_element.hasClass ('ai-list-sort'); function onlyUnique (value, index, self) { return self.indexOf (value) === index; } list_items = list_items.filter (onlyUnique); var clean_list_items = []; for (var i = 0; i < list_items.length; i++) { var list_item = list_items [i]; if (clean_protocol && list_item.indexOf ('http') == 0) { list_item = list_item.replace ('http://', ''); list_item = list_item.replace ('https://', ''); var slash = list_item.indexOf ("/"); if (clean_domain) { if (slash > 0) { list_item = list_item.substring (slash); } else list_item = ''; } else if (only_domain) { if (slash > 0) { list_item = list_item.substring (0, slash); } } } if (list_item != '') clean_list_items.push (list_item); } if (sort_list) { clean_list_items.sort(); } return clean_list_items; } function update_editor_from_list (list_element, element_name_prefix, toggle) { var index = list_element.attr ('id').replace (element_name_prefix+'-list-',''); var editor = $('#'+element_name_prefix+'-editor-'+index); if (toggle) editor.toggle(); if (editor.is(':visible')) { var list = list_element.attr ('value'); var list_separator = ','; if (list_element.hasClass ('ai-list-space')) { if (list.indexOf (' ') > - 1 && list.indexOf (',') == - 1) list_separator = ' '; } var list_items = list.split (list_separator).map (Function.prototype.call, String.prototype.trim); clean_list_items = clean_url_list (list_element, list_items); editor.val (clean_list_items.join ("\n")); } else update_list_from_editor (editor, element_name_prefix) } function update_list_from_editor (editor, element_name_prefix) { var list_items = editor.val ().split ("\n").map (Function.prototype.call, String.prototype.trim); var index = editor.attr ('id').replace (element_name_prefix+'-editor-',''); var list_element = $('#'+element_name_prefix+'-list-'+index); clean_list_items = clean_url_list (list_element, list_items); list_element.attr ('value', clean_list_items.join (', ')); } function configure_hidden_tab () { var current_tab; var tab; if (debug) console.log (""); if (debug) { var current_time_start = new Date().getTime(); console.log ("since last time: " + ((current_time_start - last_time) / 1000).toFixed (3)); } if (debug) console.log ("configure_hidden_tab"); if (debug) console.log ("tabs_to_configure: " + tabs_to_configure); do { if (tabs_to_configure.length == 0) { save_enabled = true; if (debug_title) $("#plugin_name").css ("color", "#000"); if (debug) console.log ("configure_hidden_tab: DONE"); return; } current_tab = tabs_to_configure.pop(); tab = $("#tab-" + current_tab); } while (tab.hasClass ('configured')); if (debug) console.log ("Configuring tab: " + current_tab); if (current_tab != 0) configure_tab (current_tab); else configure_tab_0 (); if (debug) { var current_time = new Date().getTime(); console.log ("time: " + ((current_time - current_time_start) / 1000).toFixed (3)); console.log ("TIME: " + ((current_time - start_time) / 1000).toFixed (3)); last_time = current_time; } // if (tabs_to_configure.length != 0) setTimeout (configure_hidden_tab, 10); if (tabs_to_configure.length != 0) { if (ai_tab_setup_delay != 0) { setTimeout (configure_hidden_tab, ai_tab_setup_delay); } } else { save_enabled = true; if (debug_title && ai_tab_setup_delay != 0) $("#plugin_name").css ("color", "#000"); if (debug) console.log ("configure_hidden_tab: DONE"); } } function configure_chart (container) { var ai_adb_flag_blocked = 0x80; if (!$(container).hasClass ('not-configured')) return; var template = $(container).data ('template'); if (typeof template != 'undefined') { var new_colors = []; var color_indexes = $(container).data ('colors'); if (typeof color_indexes != 'undefined') { var colors = $.elycharts.templates['ai-pie'].defaultSeries.values; color_indexes.forEach (function (element) { if (element == ai_adb_flag_blocked ) new_colors.push (colors [9]); else new_colors.push (colors [element]); }); } var values = $(container).data ('values-1'); if (values == null) values = $(container).data ('values-2'); if (values == null) values = $(container).data ('values-3'); if (values == null) values = $(container).data ('values-4'); if (values == null) values = $(container).data ('values-5'); if (values == null) values = $(container).data ('values-6'); if (values == null) values = $(container).data ('values-7'); if (values == null) values = $(container).data ('values-8'); if (values == null) values = $(container).data ('values-9'); var legend = $(container).data ('legend'); if (typeof legend != 'undefined' && typeof legend ['serie' + (ai_adb_flag_blocked + 1)] != 'undefined') { var new_legend = {}; for (var legend_item in legend) { if (legend_item == 'serie' + (ai_adb_flag_blocked + 1)) new_legend ['serie10'] = legend [legend_item]; else new_legend [legend_item] = legend [legend_item]; } legend = new_legend; } $(container).chart({ template: template, labels: $(container).data ('labels'), values: { serie1: values, serie2: $(container).data ('values-2'), serie3: $(container).data ('values-3'), serie4: $(container).data ('values-4'), serie5: $(container).data ('values-5'), serie6: $(container).data ('values-6'), serie7: $(container).data ('values-7'), serie8: $(container).data ('values-8'), serie9: $(container).data ('values-9'), serie10: $(container).data ('values-' + (ai_adb_flag_blocked + 1)), // BLOCKED }, legend: legend, tooltips: {serie1: $(container).data ('tooltips')}, defaultSeries: {values: new_colors, tooltip: {height: $(container).data ('tooltip-height')}}, defaultAxis : { max: $(container).data ('max'), }, features: { grid: { draw: values == null ? true : values.length < 50, } } }); $(container).removeClass ('not-configured'); $(container).parent().find ('div.ai-chart-label').show (); $(container).parent().find ('div.ai-chart-version-label').show (); // $(container).parent().find ('div.ai-chart-version-label').click (function () { $(container).parent().find ('div.ai-chart-version-label').on ("click", function () { // Clear single version display var block = $(this).closest ('.ai-charts').attr ("id").replace ("statistics-elements-",""); if ($('input#load-custom-range-' + block).hasClass ('ai-version')) { $('input#load-custom-range-' + block).removeClass ('ai-version'); $('input#load-custom-range-' + block).removeAttr ('data-version'); // $("input#load-custom-range-" + block).click (); $("input#load-custom-range-" + block).trigger ("click"); return; } }); var legend = $(container).parent ().find ('.ai-chart-legend'); if (legend.length != 0) { legend.find ('div').css ('visibility', 'hidden'); var version_indexes = legend.data ('versions'); var text_index = 0; legend.find ('text').each (function () { $(this).addClass ('ai-label-index'); $(this).attr ('data-label-index', version_indexes [text_index]); text_index ++; }); legend.removeClass ('ai-chart-legend'); } } } function update_rating (parameter) { var rating_bar = $('#ai-rating-bar'); // var nonce = rating_bar.attr ('nonce'); $("#rating-value span").load (ajaxurl+"?action=ai_ajax_backend&rating=" + parameter + "&ai_check=" + ai_nonce, function() { var rating = $("#rating-value span").text (); var rating_value = 0; if (rating != '') var rating_value = parseFloat (rating); $("#rating-value").css ('width', rating_value * 20 + '%'); if ($("#rating-value span").text () == '') { $("#ai-rating-bar").hide (); $('#ai-stars').show (); } }); } function configure_charts (container) { $(container).find ('.ai-chart.not-configured').each (function() { if (!$(this).hasClass ('hidden')) { $(this).attr ('style', ''); configure_chart (this); // $(container).find ('.ai-label-index').click (function () { $(container).find ('.ai-label-index').on ("click", function () { var block = $(this).closest ('.ai-chart').data ('block'); var version_index = $(this).data ('label-index'); $('input#load-custom-range-' + block).addClass ('ai-version').attr ('data-version', version_index); // $("input#load-custom-range-" + block).click (); $("input#load-custom-range-" + block).trigger ("click"); }); } }); } function replace_block_number (element, attribute, old_block, new_block) { var attr_value = element.attr (attribute); var attr_number = attr_value.substr (- old_block.toString().length); if (attr_number == old_block) { element.attr (attribute, attr_value.substr (0, attr_value.length - old_block.toString().length) + new_block); // console.log (attribute, element.attr (attribute)); } } function copy_to_clipboard () { if (debug) console.log ("AI COPY FROM BLOCK", active_tab); var clipboard = $('#ai-clipboard'); clipboard.html ($('#ai-clipboard-template').html ()); $('div#tab-' + active_tab + ' input[name]:checkbox').each (function (index){ var attr = $(this).attr('checked'); var checked = typeof attr !== typeof undefined && attr !== false; if (checked) clipboard.find ('input[name]:checkbox').eq (index).attr ('checked', 'checked').next ("label").find ('.checkbox-icon').addClass("on"); else // clipboard.find ('input[name]:checkbox').eq (index).removeAttr ('checked').next ("label").find ('.checkbox-icon').removeClass("on"); clipboard.find ('input[name]:checkbox').eq (index).prop ("checked", false).next ("label").find ('.checkbox-icon').removeClass("on"); }); $('div#tab-' + active_tab + ' input[name]:radio').each (function (index){ var attr = $(this).attr('checked'); var checked = typeof attr !== typeof undefined && attr !== false; if (checked) clipboard.find ('input[name]:radio').eq (index).attr ('checked', 'checked'); else // clipboard.find ('input[name]:radio').eq (index).removeAttr ('checked'); clipboard.find ('input[name]:radio').eq (index).prop ("checked", false); }); $('div#tab-' + active_tab + ' select[name]').each (function (index){ var value = $(this).find ("option:selected").val (); // clipboard.find ('select[name]').eq (index).find ("option").removeAttr ('selected'); clipboard.find ('select[name]').eq (index).find ("option").prop ("selected", false); clipboard.find ('select[name]').eq (index).find ("option[value = '" + value + "']").attr ("selected", true); }); $('div#tab-' + active_tab + ' input[name]:text').each (function (index){ clipboard.find ('input[name]:text').eq (index).attr ('value', $(this).val ()); }); // Lists if ($('#list-settings-' + active_tab).is(':visible')) { clipboard.find ('#list-settings-999').show (); } else { clipboard.find ('#list-settings-999').hide (); } if ($('#list-settings-' + active_tab).hasClass('ai-expanded')) { clipboard.find ('#list-settings-999').addClass ('ai-expanded'); } else { clipboard.find ('#list-settings-999').removeClass ('ai-expanded'); } $('div#tab-' + active_tab + ' table.ai-lists tr').each (function (index){ if ($(this).is(':visible')) { clipboard.find ('table.ai-lists tr').eq (index).show (); } else { clipboard.find ('table.ai-lists tr').eq (index).hide (); } if ($(this).find ('span.checkbox-list-button').hasClass ('dashicons-no')) { clipboard.find ('table.ai-lists tr').eq (index).find ('span.checkbox-list-button').addClass ('dashicons-no').removeClass ('dashicons-yes'); } else { clipboard.find ('table.ai-lists tr').eq (index).find ('span.checkbox-list-button').removeClass ('dashicons-no').addClass ('dashicons-yes'); } if ($(this).hasClass ('list-items')) { clipboard.find ('table.ai-lists tr').eq (index).addClass ('list-items'); } else { clipboard.find ('table.ai-lists tr').eq (index).removeClass ('list-items'); } }); clipboard.find ('textarea.simple-editor').text (get_editor_text (active_tab)); $("#ai-container .ai-copy").each (function () { $(this).next ("label").find ('.checkbox-icon').addClass("on"); }); } function load_saved_settings_to_clipboard (block, paste) { if (debug) console.log ("AI LOAD BLOCK", block, "FROM DB"); var tools_button = $("#tools-button-" + active_tab); if (!tools_button.next ('label').find ('.checkbox-icon').hasClass ("on")) { // tools_button.click (); tools_button.trigger ("click"); } $('#ai-loading').show (); $.get (ajaxurl + '?action=ai_ajax_backend&settings=' + block + '&single=1&ai_check=' + ai_nonce, function (settings) { if (debug) console.log ("AI BLOCK LOADED"); var clipboard = $('#ai-clipboard'); clipboard.html ($('div#tab-' + block, settings).html ()); clipboard.find ('[id]').each (function () { replace_block_number ($(this), 'id', block, 999); }); clipboard.find ('[for]').each (function () { replace_block_number ($(this), 'for', block, 999); }); clipboard.find ('[href]').each (function () { replace_block_number ($(this), 'href', block, 999); }); clipboard.find ('[name]').each (function () { replace_block_number ($(this), 'name', block, 999); }); clipboard.find ('[class]').each (function () { replace_block_number ($(this), 'class', block, 999); }); clipboard.find ('pre.ai-block-number').each (function () { var text = $(this).text ().replace (block, 999); $(this).text (text); }); $("#ai-container .ai-copy").each (function () { $(this).next ("label").find ('.checkbox-icon').addClass("on"); }); // if (paste) { // var tools_visible = $('#ai-tools-toolbar-' + active_tab).is(':visible'); // paste_from_clipboard (true, true, true, false); // if (tools_visible) { // $('#ai-tools-toolbar-' + active_tab).show (); // $("#tools-button-"+active_tab).next ('label').find ('.checkbox-icon').addClass("on"); // } // } }).fail (function (xhr, status, error) { console.log ("AI LOADING ERROR:", xhr.status, xhr.statusText); $('#ai-error-container').text (ai_admin.error + ' ' + xhr.status + ': ' + xhr.statusText).show (); }) .always (function () { $('#ai-loading').hide (); }); } function paste_from_clipboard (paste_name, paste_code, paste_settings, clear) { if (clear) { var clipboard_template = $('#ai-clipboard-template'); clipboard_template.find ('input#name-edit-999').attr ('value', 'Block ' + active_tab).attr ('default', 'Block ' + active_tab); var clipboard = clipboard_template.html (); } else { var clipboard = $('#ai-clipboard').html (); } if (clipboard != '' && active_tab != 0) { if (debug) console.log ("AI PASTE TO BLOCK", active_tab); var destination_tab = $('div#tab-' + active_tab); var name = destination_tab.find ('input#name-edit-' + active_tab).val (); var code = get_editor_text (active_tab); if (paste_settings) { var simple_editor = $('#simple-editor-' + active_tab).is(":checked"); var tools_visible = $('#ai-tools-toolbar-' + active_tab).is(':visible'); var copy_active = destination_tab.find ('.ai-copy').next ("label").find ('.checkbox-icon').hasClass("on"); if (simple_editor) { // $('#simple-editor-' + active_tab).click (); $('#simple-editor-' + active_tab).trigger ("click"); } var save_button_text = destination_tab.find ('input[name=ai_save]').attr('value'); var exceptions_button = destination_tab.find ('#exceptions-button-container-' + active_tab).html (); var exceptions_container = destination_tab.find ('#block-exceptions-' + active_tab).html (); destination_tab.html (clipboard).find ('input[name=ai_save]').attr('value', save_button_text); if (!paste_name) { destination_tab.find ('input#name-edit-999').val (name); } if (!paste_code) { destination_tab.find ('textarea#block-999').val (code); } destination_tab.find ('span#name-label-999').text (destination_tab.find ('input#name-edit-999').val ()); var block_name = destination_tab.find ('input#name-edit-999').val (); destination_tab.find ('pre.ai-block-name').text ('[adinserter name="' + block_name + '"]'); destination_tab.find ('[id]').each (function () { replace_block_number ($(this), 'id', 999, active_tab); }); destination_tab.find ('[for]').each (function () { replace_block_number ($(this), 'for', 999, active_tab); }); destination_tab.find ('[href]').each (function () { replace_block_number ($(this), 'href', 999, active_tab); }); destination_tab.find ('[name]').each (function () { replace_block_number ($(this), 'name', 999, active_tab); }); destination_tab.find ('[class]').each (function () { replace_block_number ($(this), 'class', 999, active_tab); }); destination_tab.find ('pre.ai-sidebars').text (''); destination_tab.find ('pre.ai-block-number').each (function () { var text = $(this).text ().replace (999, active_tab); $(this).text (text); }); destination_tab.find ('#exceptions-button-container-' + active_tab).html (exceptions_button); destination_tab.find ('#block-exceptions-' + active_tab).html (exceptions_container); // Restore titles for the tooltips $('#ai-tools-toolbar-' + active_tab + ' span.ai-toolbar-button label.checkbox-button').each (function() { $(this).attr ('title', $(this).attr ('data-title')); }); configure_tab (active_tab); $('#ai-tools-toolbar-' + active_tab + ' label.checkbox-button[title]').tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); if (simple_editor) { // $('#simple-editor-' + active_tab).click (); $('#simple-editor-' + active_tab).trigger ("click"); } if (tools_visible) { $('#ai-tools-toolbar-' + active_tab).show (); $("#tools-button-" + active_tab).next ('label').find ('.checkbox-icon').addClass ("on"); } if (copy_active) { destination_tab.find ('.ai-copy').next ("label").find ('.checkbox-icon').addClass("on"); } } else { if (paste_name) { var clipboard_name = $(clipboard).find ('input#name-edit-999').val (); destination_tab.find ('input#name-edit-' + active_tab).val (clipboard_name); destination_tab.find ('span#name-label-' + active_tab).text (clipboard_name); destination_tab.find ('pre.ai-block-name').text ('[adinserter name="' + clipboard_name + '"]'); } if (paste_code) { set_editor_text (active_tab, $(clipboard).find ('textarea#block-999').val ()); } } if (debug) console.log ("AI PASTE END"); } else if (debug) console.log ("AI PASTE FAILED"); } function highlight_active_block () { $('#ai-list-table tr.ai-block-list').removeClass ('ai-block-active'); $('#ai-list-table tr.ai-block-' + active_tab).addClass ('ai-block-active'); } function check_and_configure_active_tab () { highlight_active_block (); if (!$("#tab-" + active_tab).hasClass ('configured')) { if (debug) console.log (""); if (debug) console.log ("Empty tab: " + active_tab); tabs_to_configure.push (active_tab); setTimeout (configure_hidden_tab, 10); if (debug) console.log ("tabs_to_configure: " + tabs_to_configure); } else if (active_tab != 0) { if (syntax_highlighting) { var editor = ace.edit ("editor-" + active_tab); editor.getSession ().highlightLines (10000000); } } } function configure_website_list () { // $("td.ai-website-desc").click (function () { $("td.ai-website-desc").on ("click", function () { var row = $(this).closest ('tr.ai-website-list'); var website = row.data ("website"); var connected = row.find ('.checkbox-icon').hasClass ('on'); if (!connected) { $("#ai-website-list-table td.ai-website-labels").show (); $("#ai-website-list-table td.ai-website-editor").hide (); $("#ai-cancel-websites").show (); $("#ai-save-websites").show (); $("#ai-rearrange-websites").removeClass ('blue'); row.find (".ai-website-editor .ai-website-key").val (row.find (".ai-website-editor .ai-website-key").attr ('data-key')); row.find (".ai-website-editor .ai-website-desc").val (row.find (".ai-website-labels.ai-website-desc").text ()); row.find (".ai-website-editor .ai-website-url").val (row.find (".ai-website-labels.ai-website-url").text ()); row.find (".ai-website-labels").hide (); row.find (".ai-website-editor").show (); row.find (".ai-website-editor .ai-website-desc").trigger ("focus"); } }); $("span.ai-website-key").on ("dblclick", function () { var row = $(this).closest ('tr.ai-website-list'); row.toggleClass ('read-only'); }); $("input.ai-website-key, input.ai-website-desc, input.ai-website-url").on('keyup keypress', function (e) { var keyCode = e.keyCode || e.which; ignore_key = true; var row = $(this).closest('tr.ai-website-list'); var website = row.data ("website"); if (keyCode == 27) { row.find (".ai-website-labels").show (); row.find (".ai-website-editor").hide (); ignore_key = false; } else if (keyCode == 13 && e.type == 'keypress') { $("#ai-save-websites").trigger ("click"); ignore_key = false; e.preventDefault(); return false; } }).on ("focusout", function() { if (ignore_key) { var row = $(this).closest ('tr.ai-website-list'); var website = row.data ("website"); row.find (".ai-website-editor .ai-website-key").attr ('data-key', row.find (".ai-website-editor .ai-website-key").val ()); row.find (".ai-website-labels.ai-website-desc").text (row.find (".ai-website-editor .ai-website-desc").val ()); row.find (".ai-website-labels.ai-website-url").text (row.find (".ai-website-editor .ai-website-url").val ()); } ignore_key = true; }); $("#ai-website-list-table .ai-delete-website").on ("click", function () { var row = $(this).closest ('tr.ai-website-list'); var website = row.data ("website"); var url = row.find (".ai-website-labels.ai-website-url").text (); var desc = row.find (".ai-website-labels.ai-website-desc").text (); var message = ai_admin.delete_website + '<br />' + desc + '<br />' + url; $('<div />').html (message).attr ('title', ai_admin.warning).dialog ({ bgiframe: true, draggable: false, resizable: false, modal: true, height: "auto", width: 400, position: {my: 'center', at: 'center', of: '#ai-manage-websites-container'}, buttons: [{ text: ai_admin.cancel, click: function() { $(this).dialog ("close"); } }, { text: ai_admin.delete_all, click: function() { $(this).dialog ("close"); $("#ai-cancel-websites").hide (); $("#ai-save-websites").hide (); $("#ai-rearrange-websites").removeClass ('blue'); reload_websites ('&delete=all'); } }, { text: ai_admin.delete, click: function() { $(this).dialog ("close"); $("#ai-cancel-websites").hide (); $("#ai-save-websites").hide (); $("#ai-rearrange-websites").removeClass ('blue'); reload_websites ('&delete=' + website); } } ], }); }); $("#ai-website-list-table .ai-connect-website").on ("click", function () { var row = $(this).closest ('tr.ai-website-list'); var website = row.data ("website"); var url_parameters = row.hasClass ('read-only') ? '&read-only=1' : ''; url_parameters = url_parameters + (ai_settings.includes ('ai-settings=1') ? '&ai-settings=1' : ''); url_parameters = url_parameters + (ai_settings.includes ('ai-show-errors=1') ? '&ai-show-errors=1' : ''); var connected = row.find ('.ai-connect-website .checkbox-icon').hasClass ('on'); // if (connected) website = ''; ai_reload_websites_function = function () { if ($('#ai-website-data .ai-ajax-error').length == 0) { window.location.href = ai_settings; } } if ($("#ai-save-websites").is(':visible')) { $("#ai-save-websites").attr ('data-connect', website).trigger ("click"); } else { reload_websites ('&connect=' + website + url_parameters); } }); $("#ai-website-data .ai-ajax-error").on ("dblclick", function () { $('#ai-remote-dbg-error-msg').toggle (); }); $("#ai-website-list-table label[title]").tooltip ({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); } function configure_report_list () { $("#ai-reports-table tr").on ("click", function () { $("#ai-reports-table tr").removeClass ('selected'); $(this).addClass ('selected'); }); $("#ai-reports-table .toggle-report-button").on ("click", function () { if ($(this).hasClass ('on')) { $(this).removeClass ('on'); $(this).addClass ('off'); } else { $(this).addClass ('on'); $(this).removeClass ('off'); } event.stopPropagation (); row = $(this).closest ('tr'); reload_reports ('&toggle=' + row.attr ("data-index")); }); // $("#ai-reports-table tr.report-name").dblclick (function () { $("#ai-reports-table tr.report-name").on ("dblclick", function () { var row = $(this) $("#ai-reports-table td.ai-report-labels").show (); $("#ai-reports-table td.ai-report-editors").hide (); row.find (".ai-report-editors .ai-custom-report-name").val (row.find (".ai-report-labels.ai-custom-report-name").text ()); row.find (".ai-report-labels").hide (); row.find (".ai-report-editors").show (); // row.find (".ai-report-editors .ai-custom-report-name").focus (); row.find (".ai-report-editors .ai-custom-report-name").trigger ("focus"); }); $("#ai-reports-table input.ai-custom-report-name").on('keyup keypress', function (e) { var keyCode = e.keyCode || e.which; ignore_key = true; var row = $(this).closest('tr.report-name'); if (keyCode == 27) { row.find (".ai-report-labels").show (); row.find (".ai-report-editors").hide (); ignore_key = false; } else if (keyCode == 13 && e.type == 'keypress') { var row = $(this).closest ('tr.report-name'); row.find (".ai-report-labels.ai-custom-report-name").text (row.find (".ai-report-editors .ai-custom-report-name").val ()); // row.click (); row.trigger ("click"); ai_save_reports (); ignore_key = false; e.preventDefault(); return false; } // }).focusout (function() { }).on ("focusout", function() { if (ignore_key) { var row = $(this).closest ('tr.report-name'); row.find (".ai-report-labels.ai-custom-report-name").text (row.find (".ai-report-editors .ai-custom-report-name").val ()); // row.click (); row.trigger ("click"); row.find (".ai-report-labels").show (); row.find (".ai-report-editors").hide (); } ignore_key = true; }); configure_statistics_toolbar (100); // $("#custom-range-controls-100 .ai-public-controls").dblclick (function () { $("#custom-range-controls-100 .ai-public-controls").on ("dblclick", function () { $(this).toggleClass ('on'); }); } function configure_list () { var data_container = $("#ai-list-data"); // $(".ai-tab-link").click (function () { $(".ai-tab-link").on ("click", function () { var tab = $(this).data ('tab') - start; $("#ai-tab-container").tabs ({active: tab}); active_tab = parseInt ($(this).data ('tab')); if (debug) console.log ("$('.ai-tab-link').click", active_tab); check_and_configure_active_tab (); if ($("#ai-settings-wrapper").hasClass ('settings-hidden')) { // $('#ai-toggle-settings').click (); $('#ai-toggle-settings').trigger ("click"); } // if (!$("div#statistics-container-" + active_tab).is(':visible')) { // $("input#statistics-button-"+active_tab).click (); // } }); // $(".ai-range-link").click (function (event) { $(".ai-range-link").on ("click", function (event) { if (!$(this).hasClass ('button-clicked')) { $(this).addClass ('button-clicked'); var link = $(this).data ('address'); if ($("#ai-settings-wrapper").hasClass ('settings-hidden')) { // Show settings and load new range $.get (ajaxurl+"?action=ai_ajax_backend&settings-hidden=0&ai_check=" + ai_nonce, function (response, status, xhr) { if (status == "error") { var message = "Error updating hidden settings: " + xhr.status + " " + xhr.statusText; var data_container = $("#ai-list-data"); data_container.html (message); if (debug) console.log (message); } else { if (debug) console.log ('AI hidden settings:', response, 'loading:', link); setTimeout (function() { window.location.href = link; }, 100); } }); } else window.location.href = link; } }); // $("label.ai-copy-block").click (function () { $("label.ai-copy-block").on ("click", function () { var block = $(this).closest ('tr').data ('block'); load_saved_settings_to_clipboard (block, true); }); // $("label.ai-pause-block").click (function () { $("label.ai-pause-block").on ("click", function () { if (ai_read_only) return; var block = $(this).closest ('tr').data ('block'); reload_list ('cmd=pause&cmd-block=' + block); ai_reload_list_function = function () { var block_button = $('#disable-insertion-' + block); var block_button_paused = block_button.parent ().find ('.icon-pause').hasClass ('on'); var new_paused = $('#ai-list-table tr.ai-block-' + block).find ('label.ai-pause-block').hasClass ('ai-paused'); if (new_paused != block_button_paused) { // block_button.click (); block_button.trigger ("click"); } } }); // $("label.ai-preview-block").click (function () { $("label.ai-preview-block").on ("click", function () { var block = $(this).closest ('tr').data ('block'); var window_width = 820; var window_height = 820; var window_left = 100; var window_top = (screen.height / 2) - (820 / 2); var param = {'action': 'ai_ajax_backend', 'preview': block, 'ai_check': ai_nonce, 'read_only': 1}; open_popup_window_post (ajaxurl, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'preview', param); }); highlight_active_block (); data_container.disableSelection(); $("#ai-list-data span label[title], #ai-list-data td[title], #ai-list-data th[title], #ai-list-data span[title]").tooltip ({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); // $("span.add-to-custom-report-button").click (function () { $("span.add-to-custom-report-button").on ("click", function () { if ($('#ai-reports-table').is(':visible')) { var row = $("#ai-report-data tr.selected"); var data_report = $(this).attr ("data-report"); if (typeof data_report !== 'undefined' && data_report !== false) { reload_reports ('&add=' + row.attr ("data-index") + '&report=' + data_report); } } }); } function reload_websites (parameters) { website_list_search_reload = false; var list = encodeURIComponent ($("#ai-website-list-search").val()); var data_container = $("#ai-website-data"); $('#ai-loading').show (); if (typeof parameters == 'undefined') parameters = ''; data_container.load (ajaxurl+"?action=ai_ajax_backend&websites=" + list + parameters + "&ai_check=" + ai_nonce, function (response, status, xhr) { $('#ai-loading').hide (); if (status == "error") { var message = "Error downloading website data: " + xhr.status + " " + xhr.statusText; data_container.html (message); if (debug) console.log (message); } else { configure_website_list (); if (typeof ai_reload_websites_function == 'function') { ai_reload_websites_function (); ai_reload_websites_function = null; } } }); } function reload_reports (parameters, keep_selected = true) { var data_container = $("#ai-report-data"); $('#ai-loading').show (); if (typeof parameters == 'undefined') parameters = ''; data_container.load (ajaxurl+"?action=ai_ajax_backend&reports=" + parameters + "&ai_check=" + ai_nonce, function (response, status, xhr) { $('#ai-loading').hide (); if (status == "error") { var message = "Error downloading report data: " + xhr.status + " " + xhr.statusText; data_container.html (message); if (debug) console.log (message); } else { configure_report_list (); if (typeof ai_reload_reports_function == 'function') { ai_reload_reports_function (); ai_reload_reports_function = null; } } }); } function reload_list (settings) { list_search_reload = false; var list = encodeURIComponent ($("#ai-list-search").val()); var all = + !$("#ai-load-all").hasClass ('light-blue'); var rearrange_controls = $('#list-rearrange-controls'); var rearrange = rearrange_controls.hasClass ('rearrange') rearrange_controls.removeClass ('rearrange').hide (); $("#ai-rearrange").removeClass ('blue'); var rearrange_data = ''; if (rearrange) { var table = $('table#ai-list-table'); var original_blocks = table.data ('blocks'); if (typeof original_blocks == 'undefined') original_blocks = new Array(); var new_blocks = new Array(); table.find ('tbody tr').each (function (index) { new_blocks.push ($(this).data ('block')); }); rearrange_data = "&blocks-org=" + JSON.stringify (original_blocks) + "&blocks-new=" + JSON.stringify (new_blocks); } var data_container = $("#ai-list-data"); var safe_mode = Boolean (parseInt ($('#ai-data').attr ('safe-mode'))); var safe_mode_url = safe_mode ? '&safe-mode' : ''; var settings_data = typeof settings == 'undefined' ? '' : '&' + settings; $('#ai-loading').show (); data_container.load (ajaxurl+"?action=ai_ajax_backend&list=" + list + "&all=" + all + "&start=" + start + "&end=" + end + "&active=" + active_tab + rearrange_data + safe_mode_url + settings_data + "&ai_check=" + ai_nonce, function (response, status, xhr) { $('#ai-loading').hide (); if (status == "error") { var message = "Error downloading list data: " + xhr.status + " " + xhr.statusText; data_container.html (message); if (debug) console.log (message); } else { configure_list (); if (typeof ai_reload_list_function == 'function') { ai_reload_list_function (); ai_reload_list_function = null; } if (rearrange) reload_settings (); } }); } function reload_adsense_list (update_ad_units) { adsense_search_reload = false; var list = encodeURIComponent ($("#adsense-list-search").val()); var all = + !$("#adsense-load-all").parent ().find ('.checkbox-icon').hasClass ('on'); var data_container = $("#adsense-list-data"); data_container.load (ajaxurl+"?action=ai_ajax_backend&adsense-list=" + list + "&all=" + all + "&update_ad_units=" + (update_ad_units ? 1 : 0) + "&ai_check=" + ai_nonce, function (response, status, xhr) { $("#adsense-reload").parent ().find ('.checkbox-icon').removeClass ('on'); if (status == "error") { var message = "Error downloading AdSense data: " + xhr.status + " " + xhr.statusText; data_container.html (message); if (debug) console.log (message); } else { if ($('#adsense-client-id', data_container).length) { $('#adsense-list-controls').hide (); $('button.ai-top-button', data_container).button().show (); // $("#save-client-ids").click (function () { $("#save-client-ids").on ("click", function () { var client_id = $("input#adsense-client-id").val (); var client_secret = $("input#adsense-client-secret").val (); data_container.text (ai_admin.loading); $('#ai-loading').show (); $.get (ajaxurl + '?action=ai_ajax_backend&adsense-client-id=' + btoa (client_id) + '&adsense-client-secret=' + btoa (client_secret) + '&ai_check=' + ai_nonce, function (data) { reload_adsense_list (false); }).fail (function (xhr, status, error) { var message = "Error saving AdSense client IDs: " + xhr.status + " " + xhr.statusText ; console.log (message); }) .always (function () { $('#ai-loading').hide (); }); }); // $(".authorize-adsense", data_container).click (function () { $(".authorize-adsense", data_container).on ("click", function () { $('#adsense-list-controls').show (); data_container.text (ai_admin.loading); authorization_code = ''; update_adsense_authorization (authorization_code); }); return; } else if ($('#adsense-authorization-code', data_container).length) { $('#adsense-list-controls').hide (); $('button.ai-top-button', data_container).button().show (); // $(".authorize-adsense", data_container).click (function () { $(".authorize-adsense", data_container).on ("click", function () { // var authorization_code = $("input#adsense-authorization-code").val (); var authorization_code = ''; $('#adsense-list-controls').show (); data_container.text (ai_admin.loading); if ($(this).hasClass ('clear-adsense')) authorization_code = ''; if ($(this).hasClass ('own-ids')) authorization_code = 'own-ids'; update_adsense_authorization (authorization_code); }); return; } $('#adsense-list-controls').show (); var publisher_id = $('#adsense-data', data_container).data ('publisher-id'); if (typeof publisher_id == 'undefined') publisher_id = ''; $('label#google-adsense-button').attr ('title', ai_admin.google_adsense_homepage + ' ' + publisher_id) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); // $("label.adsense-copy-code").click (function () { $("label.adsense-copy-code").on ("click", function () { var ad_slot_id = $(this).closest ('tr').data ('id'); var ad_name = atob ($(this).closest ('tr').data ('name')); if (debug) console.log ('ADSENSE CODE: ', ad_slot_id); $('#ai-loading').show (); $.get (ajaxurl + '?action=ai_ajax_backend&adsense-code=' + ad_slot_id + '&ai_check=' + ai_nonce, function (data) { var code_data = JSON.parse (data); var error = code_data ['error-message']; if (error == '') { var adsense_code = code_data ['code']; if (debug) console.log (adsense_code); var clipboard_template = $('#ai-clipboard-template'); var clipboard = $('#ai-clipboard'); clipboard.html (clipboard_template.html ()); clipboard.find ('input#name-edit-999').attr ('value', ad_name).attr ('default', ad_name); clipboard.find ('textarea.simple-editor').text (adsense_code); $("#ai-container .ai-copy").each (function () { $(this).next ("label").find ('.checkbox-icon').addClass("on"); }); var tools_button = $("#tools-button-" + active_tab); if (!tools_button.next ('label').find ('.checkbox-icon').hasClass ("on")) { // tools_button.click (); tools_button.trigger ("click"); } } else { console.log ('AdSense API error:', error); } }).fail (function (xhr, status, error) { var message = "Error downloading AdSense code: " + xhr.status + " " + xhr.statusText ; console.log (message); }) .always (function () { $('#ai-loading').hide (); }); }); // $("label.adsense-preview-code").click (function () { $("label.adsense-preview-code").on ("click", function () { var ad_slot_id = $(this).closest ('tr').data ('id'); var ad_name = $(this).closest ('tr').data ('name'); var window_width = 820; var window_height = 820; var window_left = 100; var window_top = (screen.height / 2) - (820 / 2); var param = {'action': 'ai_ajax_backend', 'preview': 'adsense', 'ai_check': ai_nonce, 'read_only': 1, 'slot_id': btoa (ad_slot_id), 'name': ad_name}; open_popup_window_post (ajaxurl, 'width='+window_width+',height='+window_height+',top='+window_top+',left='+window_left+',resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no', 'preview', param); }); // $("label.adsense-get-code").click (function () { $("label.adsense-get-code").on ("click", function () { var ad_slot_id = $(this).closest ('tr').data ('id'); var ad_name = atob ($(this).closest ('tr').data ('name')); if (debug) console.log ('ADSENSE CODE: ', ad_slot_id); $('#ai-loading').show (); $.get (ajaxurl + '?action=ai_ajax_backend&adsense-code=' + ad_slot_id + '&ai_check=' + ai_nonce, function (data) { var code_data = JSON.parse (data); var error = code_data ['error-message']; if (error == '') { var adsense_code = code_data ['code']; if (debug) console.log (adsense_code); set_editor_text (active_tab, adsense_code); // setTimeout (function() {$("#import-code-"+active_tab).click ();}, 10); setTimeout (function() {$("#import-code-"+active_tab).trigger ("click");}, 10); } else { console.log ('AdSense API error:', error); } }).fail (function (xhr, status, error) { var message = "Error downloading AdSense code: " + xhr.status + " " + xhr.statusText ; console.log (message); }) .always (function () { $('#ai-loading').hide (); }); }); data_container.disableSelection(); } }); } function load_ads_txt () { ads_txt_reload = false; var editor_button = $("#ads-txt-editor"); var reload_button = $("#ads-txt-reload"); var virtual_button = $("#ads-txt-virtual"); var virtual = virtual_button.hasClass ('violet') ? '1' : '0'; var view = editor_button.hasClass ('editor') ? 'text' : 'table'; var search = encodeURIComponent ($("#ads-txt-search").val()); var data_container = $("#ads-txt-data"); reload_button.addClass ('red'); data_container.load (ajaxurl+"?action=ai_ajax_backend&ads-txt=" + view + "&virtual=" + virtual + "&search=" + search + "&ai_check=" + ai_nonce, function (response, status, xhr) { reload_button.removeClass ('red'); if (status == "error") { var message = "Error loading ads.txt file: " + xhr.status + " " + xhr.statusText; data_container.html (message); if (debug) console.log (message); } else { if ($('#ads-txt-missing').length != 0) { view = 'text'; editor_button.addClass ('editor'); $('#ads-txt-search').hide (); } switch (view) { case 'text': $('#ads-txt-search').hide (); editor_button.removeClass ('dashicons-edit'); editor_button.addClass ('dashicons-yes-alt'); editor_button.addClass ('green'); editor_button.attr ('title', editor_button.attr ('title-editor')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); reload_button.removeClass ('dashicons-download'); reload_button.addClass ('dashicons-no'); // if ($('#ads-txt-missing').length != 0) { // reload_button.removeClass ('red'); // reload_button.attr ('title', reload_button.attr ('title-table')) // .tooltip({ // track: true, // delay: 700, // showURL: false, // showBody: " | ", // fade: 250 // }); // } else { reload_button.addClass ('red'); reload_button.attr ('title', reload_button.attr ('title-editor')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); // } break; case 'table': editor_button.removeClass ('dashicons-yes-alt'); editor_button.removeClass ('green'); editor_button.addClass ('dashicons-edit'); editor_button.attr ('title', editor_button.attr ('title-table')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); reload_button.removeClass ('dashicons-no'); reload_button.removeClass ('red'); reload_button.addClass ('dashicons-download'); reload_button.attr ('title', reload_button.attr ('title-table')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); break; } $('#ads-txt-controls').show (); } }); } function save_ads_txt (reload) { var data_container = $("#ads-txt-data"); var editor_button = $("#ads-txt-editor"); var reload_button = $("#ads-txt-reload"); var virtual_button = $("#ads-txt-virtual"); var virtual = virtual_button.hasClass ('violet') ? '1' : '0'; var ads_txt_data = {'text': b64e (data_container.find ('textarea#ads-txt-text').val ())}; $('#ads-txt-error').text (''); editor_button.removeClass ('green'); editor_button.addClass ('red'); $.post (ajaxurl+"?action=ai_ajax_backend&ads-txt=save" + "&virtual=" + virtual + "&ai_check=" + ai_nonce, ads_txt_data ).done (function (code_data) { }).fail (function (xhr, status, error) { editor_button.removeClass ('red'); editor_button.addClass ('green'); var message = "Error saving ads.txt file: " + xhr.status + " " + xhr.statusText; $('#ads-txt-error').text (message); if (debug) console.log (message); }).always (function() { editor_button.removeClass ('editor'); editor_button.removeClass ('green'); editor_button.removeClass ('red'); editor_button.removeClass ('dashicons-yes-alt'); editor_button.addClass ('dashicons-edit'); editor_button.attr ('title', editor_button.attr ('title-editor')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); reload_button.addClass ('dashicons-download'); reload_button.removeClass ('dashicons-no'); reload_button.removeClass ('red'); reload_button.attr ('title', reload_button.attr ('title-editor')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); $('#ads-txt-search').show (); if (reload) { setTimeout (function() {load_ads_txt ();}, 100); } }); } function set_page_statuses (block) { var automatic_insertion = parseInt ($("select#insertion-type-"+block+" option:selected").attr('value')); var table = $('#page-types-' + block); switch (automatic_insertion) { case AI_BEFORE_HTML_ELEMENT: case AI_AFTER_HTML_ELEMENT: case AI_INSIDE_HTML_ELEMENT: table.find ('td.ai-page-type').removeClass ('ai-unavailable'); return; } var pages = ['po', 'pa', 'hp', 'cp', 'ap', 'sp']; pages.forEach (function (page, index) { var positions = $('table.check-pages').attr ('data-positions-' + page); if (positions != null) { var available_insertions = JSON.parse (positions); if (available_insertions.indexOf (automatic_insertion) != - 1) { table.find ('td.ai-page-type.ai-' + page).removeClass ('ai-unavailable').find ('input, label').removeAttr ('title') .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); } else { table.find ('td.ai-page-type.ai-' + page).addClass ('ai-unavailable').find ('input, label').attr ('title', ai_admin.position_might_not_available) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); } } }); } function check_page (page, button, last_check) { var container = button.closest ('.ai-check-pages'); var error_message = container.find ('.ai-error-message'); $.get (ajaxurl + '?action=ai_ajax_backend&check-page=' + page + '&ai_check=' + ai_nonce, function (data) { if (data != '') { if (debug) console.log ("AI CHECK PAGES:", data); try { var pages_data = JSON.parse (data); var positions = pages_data ['positions']; var urls = pages_data ['urls']; if (debug) console.log ("AI CHECK PAGES positions:", positions); if (debug) console.log ("AI CHECK PAGES urls:", urls); $('table.check-pages').attr ('data-positions-' + page, JSON.stringify (positions)); $('table.check-pages').attr ('data-urls-' + page, JSON.stringify (urls)); $('table.check-pages td.ai-position.ai-' + page).each (function () { $(this).removeClass ('ai-not-checked'); var insertion = $(this).data ('insertion'); if (positions.indexOf (insertion) == - 1) { $(this).addClass ('ai-no').attr ('title', ai_admin.position_not_available); } else { $(this).addClass ('ai-yes').attr ('title', ai_admin.position_available); } $(this).tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); }); if (urls != null && urls.length != 0) { $('table.check-pages a.ai-' + page).each (function (index, value) { if (typeof urls [index] != 'undefined') { $(this).attr ('href', urls [index]).show (); } }); } } catch (error) { // error_message.find ('.ai-error-message-text').text ('JSON error'); error_message.find ('.ai-error-message-text').text (data); error_message.show (); console.log ("AI CHECK PAGES: JSON error decoding available positions: " + data); } } }).fail (function (xhr, status, error) { error_message.find ('.ai-error-message-text').text (xhr.status + " " + xhr.statusText); error_message.show (); console.log ('AI CHECK PAGES: Error loading positions for', page + ':', xhr.status, xhr.statusText); }) .always (function () { if (last_check) { $('#ai-loading').hide (); $('#ai-loading-2').hide (); button.find ('span.ui-button-text').removeClass ('on'); for (var block = start; block <= end; block ++) { set_page_statuses (block); } } }); } function configure_tabs () { var tabs_array = new Array (); if (ai_tab_setup_delay != 0) { if (active_tab != 0) tabs_array.push (0); for (var tab = end; tab >= start; tab --) { if (tab != active_tab) tabs_array.push (tab); } } // Concatenate existing tabs_to_configure (if tab was clicked before page was loaded) tabs_to_configure = tabs_array.concat (tabs_to_configure); // setTimeout (configure_hidden_tab, 700); if (ai_tab_setup_delay != 0) { setTimeout (configure_hidden_tab, 3 * ai_tab_setup_delay); } var index = 16; if (active_tab != 0) index = active_tab - start; var block_tabs = $("#ai-tab-container").tabs ({active: index}); $("#ai-plugin-settings-tab-container").tabs ({active: active_tab_0}); $("#tab-general").tabs ({active: active_tab_0_general}); // $('#ai-settings').tooltip({ // show: {effect: "blind", // delay: 400, // duration: 100} // }); if (debug_title) $("#plugin_name").css ("color", "#00f"); if (active_tab == 0) configure_tab_0 (); else configure_tab (active_tab); $('#dummy-tabs').hide(); $('#ai-tabs').show(); // $('.ai-tab').click (function () { // var tab_block = $(this).attr ("id"); // tab_block = parseInt (tab_block.replace ("ai-tab","")); // active_tab = tab_block; // highlight_active_block (); // if (debug) console.log ("$('.ai-tab').click", active_tab); // if (!$("#tab-" + tab_block).hasClass ('configured')) { // if (debug) console.log (""); // if (debug) console.log ("Empty tab: " + tab_block); // tabs_to_configure.push (tab_block); // setTimeout (configure_hidden_tab, 10); // if (debug) console.log ("tabs_to_configure: " + tabs_to_configure); // } else if (tab_block != 0) { // if (syntax_highlighting) { // var editor = ace.edit ("editor-" + tab_block); // editor.getSession ().highlightLines (10000000); // } // } // }); $('#ai-tab-container').on ('tabsbeforeactivate', function (event, ui) { var tab_block = ui.newTab.attr ("id"); if (!tab_block.includes ('ai-tab')) return; tab_block = parseInt (tab_block.replace ("ai-tab","")); active_tab = tab_block; if (debug) console.log ("on tabsbeforeactivate", active_tab); check_and_configure_active_tab (); // highlight_active_block (); // if (!$("#tab-" + tab_block).hasClass ('configured')) { // if (debug) console.log (""); // if (debug) console.log ("Empty tab: " + tab_block); // tabs_to_configure.push (tab_block); // setTimeout (configure_hidden_tab, 10); // if (debug) console.log ("tabs_to_configure: " + tabs_to_configure); // } else if (tab_block != 0) { // if (syntax_highlighting) { // var editor = ace.edit ("editor-" + tab_block); // editor.getSession ().highlightLines (10000000); // } // } }); // $('.ai-plugin-tab').click (function () { $('.ai-plugin-tab').on ("click", function () { active_tab_0 = $("#ai-plugin-settings-tab-container").tabs ('option', 'active'); active_tab_0_general = $("#tab-general").tabs ('option', 'active'); if (debug) console.log ("active_tab_0: " + active_tab_0); if (debug) console.log ("active_tab_0_general: " + active_tab_0_general); if (syntax_highlighting) { var tab_block = $(this).attr ("id"); tab_block = tab_block.replace ("ai-",""); if (tab_block == 'h') { var editor = ace.edit ("editor-h"); editor.getSession ().highlightLines (10000000); } else if (tab_block == 'f') { editor = ace.edit ("editor-f"); editor.getSession ().highlightLines (10000000); } else if (tab_block == 'a') { editor = ace.edit ("editor-a"); editor.getSession ().highlightLines (10000000); } } }); $("#check-pages-button").button ({ // }).show ().click (function () { }).show ().on ("click", function () { var button = $(this); var container = $(this).closest ('.ai-check-pages'); var error_message = container.find ('.ai-error-message'); $('#ai-loading').show (); $('#ai-loading-2').show (); error_message.hide (); button.find ('span.ui-button-text').addClass ('on'); $('table.check-pages a').removeAttr ('href').hide (); var pages = ['po', 'pa', 'hp', 'cp', 'ap', 'sp']; pages.forEach (function (page, index) { $('table.check-pages td.ai-position').each (function () { $(this).removeClass ('ai-yes').removeClass ('ai-no').addClass ('ai-not-checked').attr ('title', ai_admin.position_not_checked); $(this).tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); }); $('table.ai-page-types td.ai-page-type').each (function () { $(this).removeClass ('ai-unavailable'); }); setTimeout (function() {check_page (page, button, index == pages.length - 1);}, index * 300 + 10); }); }); } function reload_settings () { if (debug) console.log ('RELOAD SETTINGS'); var settings_container = $("#ai-container"); $('#ai-error-container').hide (); if (debug_title) $("#plugin_name").css ("color", "#f00"); $('#ai-loading').show (); var tools = $('#ai-tools-toolbar-' + active_tab).is (':visible'); var simple_editor = $('#simple-editor-' + active_tab).is(":checked"); var copy = $("#copy-block-" + active_tab).next ("label").find ('.checkbox-icon').hasClass("on"); settings_container.load (ajaxurl+"?action=ai_ajax_backend&settings=" + active_tab + "&ai_check=" + ai_nonce, function (response, status, xhr) { if (status == "error") { $('#ai-loading').hide (); var message = ai_admin.error_reloading_settings + ": " + xhr.status + " " + xhr.statusText; $('#ai-error-container').text (message).show (); if (debug) console.log (message); } else { if (debug) console.log (' Configuring...'); if (debug) { start_time = new Date().getTime(); last_time = start_time; } configure_tabs (); // if (simple_editor) $('#simple-editor-' + active_tab).click (); if (simple_editor) $('#simple-editor-' + active_tab).trigger ("click"); // if (tools) $('#tools-button-' + active_tab).click (); if (tools) $('#tools-button-' + active_tab).trigger ("click"); if (copy) { $("#ai-container .ai-copy").each (function () { $(this).next ("label").find ('.checkbox-icon').addClass("on"); }); } if (debug) console.log (' Configured'); $('#ai-loading').hide (); } }); } function update_adsense_authorization (authorization_code) { $('#ai-loading').show (); $.get (ajaxurl + '?action=ai_ajax_backend&adsense-authorization-code=' + btoa (authorization_code) + '&ai_check=' + ai_nonce, function (data) { reload_adsense_list (false); }).fail (function (xhr, status, error) { var message = "Error saving AdSense authorization: " + xhr.status + " " + xhr.statusText ; console.log (message); }) .always (function () { $('#ai-loading').hide (); }); } function toggle_adsense_list () { var container = $("#adsense-list-container"); container.toggle (); if (container.is(':visible')) { $(".checkbox-icon.icon-adsense").addClass ('on'); reload_adsense_list (false); } else { $(".checkbox-icon.icon-adsense").removeClass ('on'); } } function update_block_code_demo () { var block_class_name = encodeURIComponent ($('#block-class-name').val ()); var block_class = $('#block-class').is(":checked") ? 1 : 0; var block_number_class = $('#block-number-class').is(":checked") ? 1 : 0; var block_name_class = $('#block-name-class').is(":checked") ? 1 : 0; var inline_styles = $('#inline-styles').is(":checked") ? 1 : 0; $.get (ajaxurl + '?action=ai_ajax_backend&update=block-code-demo&block_class_name=' + block_class_name + '&block_class=' + block_class + '&block_number_class=' + block_number_class + '&block_name_class=' + block_name_class + '&inline_styles=' + inline_styles + '&ai_check=' + ai_nonce, function (data) { $('span#ai-block-code-demo').html (data); }).fail (function (xhr, status, error) { var message = "Error updating block code demo: " + xhr.status + " " + xhr.statusText ; console.log (message); }); } if (debug) console.log ("READY"); if (debug_title) $("#plugin_name").css ("color", "#f00"); if (debug) { var current_time_ready = new Date().getTime(); console.log ("TIME: " + ((current_time_ready - start_time) / 1000).toFixed (3)); } $("#blocked-warning").removeClass ('warning-enabled'); $("#blocked-warning").hide (); start = parseInt ($('#ai-form').attr('start')); end = parseInt ($('#ai-form').attr('end')); active_tab = start; active_tab_0 = 0; active_tab_0_general = 0; try { var active_tabs = JSON.parse ($("#ai-active-tab").attr ("value")); if (typeof active_tabs !== "undefined" && active_tabs.constructor === Array && Number.isInteger (active_tabs [0]) && Number.isInteger (active_tabs [1])) { active_tab = parseInt (active_tabs [0]); if (active_tab != 0) if (active_tab < start || active_tab > end) active_tab = start; active_tab_0 = parseInt (active_tabs [1]); active_tab_0_general = parseInt (active_tabs [2]); } } catch (e) {} if (debug) console.log ("active_tabs:", active_tab, active_tab_0, active_tab_0_general); var plugin_version = $('#ai-data').attr ('version').split ('-') [0]; if (javascript_version != plugin_version) { console.log ('AD INSERTER: plugin version: ' + plugin_version + ', loaded JavaScript version: ' + javascript_version); // Check page HTML var javascript_version_parameter = $("script[src*='ad-inserter.js']").attr('src'); if (typeof javascript_version_parameter == 'undefined') $("#javascript-version-parameter-missing").show (); else { javascript_version_parameter_string = javascript_version_parameter.split('=')[1]; if (typeof javascript_version_parameter_string == 'undefined') { $("#javascript-version-parameter-missing").show (); } else if (javascript_version_parameter_string != plugin_version) { console.log ('AD INSERTER: plugin version: ' + plugin_version + ', JavaScript file version: ' + javascript_version_parameter_string); $("#javascript-version-parameter").show (); } } $("#javascript-version").html ("Javascript<br />" + javascript_version); $("#javascript-warning").show (); } var css_version = $('#ai-data').css ('font-family').replace(/[\"\']/g, ''); if (css_version.indexOf ('.') == - 1) $("#blocked-warning").show (); else if (css_version != plugin_version) { console.log ('AD INSERTER: plugin version:', plugin_version + ', loaded CSS version:', css_version); // Check page HTML var css_version_parameter = $("link[href*='ai-settings.css']").attr('href'); if (typeof css_version_parameter == 'undefined') $("#css-version-parameter-missing").show (); else { css_version_parameter_string = css_version_parameter.split('=')[1]; if (typeof css_version_parameter_string == 'undefined') { $("#css-version-parameter-missing").show (); } else if (css_version_parameter_string != plugin_version) { console.log ('AD INSERTER: plugin version:', plugin_version + ', CSS file version:', css_version_parameter_string); $("#css-version-parameter").show (); } } $("#css-version").html ("CSS<br />" + css_version); $("#css-warning").show (); } $('.header button').button().show (); $("#ai-form").on ("submit", function (event) { for (var tab = start; tab <= end; tab ++) { var rotation_button = $('#rotation-' + tab); if (rotation_button.parent ().find ('.icon-rotation').hasClass ('on')) { event.preventDefault(); $("#ai-tab-container").tabs ({active: tab - 1}); var message = '<div class="checkbox-icon icon-rotation on" style="margin: 3px 10px 24px 0px;"></div><div>' + ai_admin.rotation_active + '</div>'; $('<div />').html(message).attr ('title', ai_admin.warning).dialog({ bgiframe: true, draggable: false, resizable: false, modal: true, height: "auto", width: 300, position: {my: 'center', at: 'center', of: '#ai-settings'}, buttons: [{ text: ai_admin.ok, click: function() { $(this).dialog ("close"); } } ], }); return; } } $('#ai-loading').show (); for (var tab = start; tab <= end; tab ++) { remove_default_values (tab); encode_code (tab); } remove_default_values (0); encode_code ('h'); encode_code ('f'); encode_code ('a'); }); $("div#tab-999").attr ('id', 'ai-clipboard-template').insertBefore ("#ai-clipboard"); configure_tabs (); $('.ai-extra-settings input[type=submit], .ai-extra-settings button.ai-button').button().show (); // $('#plugin_name').dblclick (function () { $('#plugin_name').on ("dblclick", function () { $(".system-debugging").toggle(); }); // $('#ai-stars').click (function () { $('#ai-stars').on ("click", function () { if ($("#rating-value span").text () != '') { $("#ai-rating-bar").css ('display', 'inline-block'); $('#ai-stars').hide (); } update_rating ('update', ''); }); // $("#ai-rating-bar").click (function () { $("#ai-rating-bar").on ("click", function () { $("#ai-rating-bar").hide (); $('#ai-stars').show (); }); // $("#adsense-list").click (function () { $("#adsense-list").on ("click", function () { // $(this).blur (); toggle_adsense_list (); }); // $("#ai-ads-txt").click (function () { $("#ai-ads-txt").on ("click", function () { // $(this).blur (); $(this).trigger ("blur" ); var container = $("#ads-txt-container"); container.toggle (); if (container.is(':visible')) { $("#ai-ads-txt .checkbox-icon.icon-ads-txt").addClass ('on'); load_ads_txt (); } else { $("#ai-ads-txt .checkbox-icon.icon-ads-txt").removeClass ('on'); } }); // $("#page-checker-button").click (function () { $("#page-checker-button").on ("click", function () { $("#page-checker-container").toggle (); if ($("#page-checker-container").is(':visible')) { $(".page-checker-button").addClass ('blue'); $("#page-checker-button").addClass ('blue'); } else { $(".page-checker-button").removeClass ('blue'); $("#page-checker-button").removeClass ('blue'); } }); // $("#ai-manage-websites").click (function () { $("#ai-manage-websites").on ("click", function () { $("#ai-manage-websites-container").toggle (); $("#ai-manage-websites").toggleClass ('blue'); $("#ai-cancel-websites").hide (); $("#ai-save-websites").hide (); $("#ai-rearrange-websites").removeClass ('blue'); if ($("#ai-manage-websites-container").is(':visible')) { reload_websites (); } }); // $("#ai-website-list-search").keyup (function (event) { $("#ai-website-list-search").on ("keyup", function (event) { if (!website_list_search_reload) { website_list_search_reload = true; setTimeout (reload_websites, 200); } }); // $("#ai-list").click (function () { $("#ai-list").on ("click", function () { $("#ai-list").toggleClass ('blue'); var container = $("#ai-list-container"); var list_sticky = $("#ai-pin-list").hasClass ('on'); if (!list_sticky && ($("#ai-list").hasClass ('blue') != container.is(':visible'))) { container.toggle (); } if (container.is(':visible')) { reload_list (); } if ($("#ai-list").hasClass ('blue')) { $("#plugin_name").hide (); $("#block-ranges").show (); } else { $("#plugin_name").show (); $("#block-ranges").hide (); } }); // $("#ai-toggle-settings").click (function () { $("#ai-toggle-settings").on ("click", function () { $("#ai-settings-wrapper").toggleClass ('settings-hidden'); var hidden = $(this).hasClass ('on') ? '1' : '0'; $(this).toggleClass ('on'); $.get (ajaxurl+"?action=ai_ajax_backend&settings-hidden=" + hidden + '&ai_check=' + ai_nonce, function (response, status, xhr) { if (status == "error") { var message = "Error updating hidden settings: " + xhr.status + " " + xhr.statusText; var data_container = $("#ai-list-data"); data_container.html (message); if (debug) console.log (message); } else { if (debug) console.log ('AI hidden settings:', response); } }); }); // $("#ai-list-search").keyup (function (event) { $("#ai-list-search").on ("keyup", function (event) { if (!list_search_reload) { list_search_reload = true; setTimeout (reload_list, 200); } }); // $("#ai-load-all").click (function () { $("#ai-load-all").on ("click", function () { $(this).toggleClass ('light-blue'); reload_list (); }); // $("#ai-rearrange").click (function () { $("#ai-rearrange").on ("click", function () { $(this).toggleClass ('blue'); var data_container = $("#ai-list-data"); var rearrange_controls = $('#list-rearrange-controls'); if ($(this).hasClass ('blue')) { $("#ai-rearrange").attr ('title', ai_admin.cancel_rearrangement) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); rearrange_controls.show (); data_container.find ('tbody').sortable ({ start: function (event, ui) {$('#list-save').show ();}, placeholder: "ui-state-highlight" }).css ('cursor', 'move'); } else { data_container.find ('tbody').sortable ("disable"); $("#ai-rearrange").attr ('title', ai_admin.rearrange_block_order) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); $('#list-save').hide (); rearrange_controls.hide (); reload_list (); } }); // $("#ai-save-changes").click (function () { $("#ai-save-changes").on ("click", function () { $('#list-rearrange-controls').addClass ('rearrange') reload_list (); }); // $("#ai-pin-list").click (function () { $("#ai-pin-list").on ("click", function () { $(this).toggleClass ('on'); var sticky = $(this).hasClass ('on') ? '1' : '0'; if (!$("#ai-list").hasClass ('blue')) { $("#ai-list-container").toggle (); } $.get (ajaxurl+"?action=ai_ajax_backend&blocks-sticky=" + sticky + '&ai_check=' + ai_nonce, function (response, status, xhr) { if (status == "error") { var message = "Error updating sticky: " + xhr.status + " " + xhr.statusText; var data_container = $("#ai-list-data"); data_container.html (message); if (debug) console.log (message); } else { if (debug) console.log ('AI blocks sticky:', response); } }); }); if ($("#maxmind-db-status").hasClass ('maxmind-db-missing')) { var page = ajaxurl+"?action=ai_ajax_backend&update=maxmind&ai_check=" + ai_nonce; $("span.maxmind-db-missing").text (ai_admin.downloading); $.get (page, function (update_status) { if (update_status == '') { $("span.maxmind-db-missing").closest ('.notice.notice-error').hide (); $("#maxmind-db-status").text (''); } else { if (debug) console.log (update_status); var status = JSON.parse (update_status); if (debug) console.log (status); if (typeof status !== "undefined") { $(".notice span.maxmind-db-missing").text (status [0]); $("#maxmind-db-status").text (status [1]); } else $("span.maxmind-db-missing").text (ai_admin.update_error); } }).fail (function(jqXHR, status, err) { $("span.maxmind-db-missing").text (ai_admin.download_error); }); } // $("#adsense-load-all").click (function () { $("#adsense-load-all").on ("click", function () { $(this).parent ().find ('.checkbox-icon').toggleClass ('on'); reload_adsense_list (false); }); // $("#adsense-list-search").keyup (function (event) { $("#adsense-list-search").on ("keyup", function (event) { if (!adsense_search_reload) { adsense_search_reload = true; setTimeout (function() {reload_adsense_list (false);}, 200); } }); // $("#adsense-reload").click (function () { $("#adsense-reload").on ("click", function () { $(this).parent ().find ('.checkbox-icon').addClass ('on'); setTimeout (function() {reload_adsense_list (true);}, 200); }); // $("#clear-adsense-authorization").click (function () { $("#clear-adsense-authorization").on ("click", function () { $("#adsense-list-data").text (ai_admin.updating); update_adsense_authorization (''); }); // $('.ai-block-code-demo').change (function () { $('.ai-block-code-demo').on ("change", function () { update_block_code_demo (); }).on('input',function(e){ update_block_code_demo (); }); setTimeout (function() {update_rating ('');}, 1000); // $("#license-key").dblclick (function () { $("#license-key").on ("dblclick", function () { $("#hide-key").toggle (); }); $('input[title], button[title], label[title], h2[title], li[title], td[title], select[title], div[title], span[title]').tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); if (debug) console.log (""); if (debug) console.log ("READY END"); if (debug) { var current_time = new Date().getTime(); console.log ("main time: " + ((current_time - current_time_ready) / 1000).toFixed (3)); } // $("#ads-txt-virtual").click (function () { $("#ads-txt-virtual").on ("click", function () { var editor_button = $("#ads-txt-editor"); function switch_to_physical () { var virtual_button = $("#ads-txt-virtual"); virtual_button.removeClass ('violet'); editor_button.removeClass ('editor'); virtual_button.attr ('title', virtual_button.attr ('title-physical')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); setTimeout (function() {load_ads_txt ();}, 50); } var view = editor_button.hasClass ('editor') ? 'text' : 'table'; var virtual_button = $("#ads-txt-virtual"); if (virtual_button.hasClass ('violet')) { var message = ai_admin.switch_to_physical_ads_txt; // var ads_txt_data = $("#ads-txt-data").find ('textarea#ads-txt-text').val (); // var ads_txt_missing = $('#ads-txt-missing').length != 0; var ads_txt_empty = $('#ads-txt-empty').length != 0; // if (!ads_txt_missing && (view == 'table' || ads_txt_data != '')) { if (!ads_txt_empty) { $('<div />').html(message).attr ('title', ai_admin.warning).dialog({ bgiframe: true, draggable: false, resizable: false, modal: true, height: "auto", width: 400, position: {my: 'center', at: 'center', of: '#ads-txt-container'}, buttons: [{ text: ai_admin.switch, click: function() { $(this).dialog ("close"); switch_to_physical (); } },{ text: ai_admin.cancel, click: function() { $(this).dialog ("close"); } } ], }); } else switch_to_physical (); } else { virtual_button.addClass ('violet'); virtual_button.attr ('title', virtual_button.attr ('title-virtual')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); setTimeout (function() {load_ads_txt ();}, 50); } }); // $("#ads-txt-reload").click (function () { $("#ads-txt-reload").on ("click", function () { var editor_button = $("#ads-txt-editor"); if (editor_button.hasClass ('editor')) { editor_button.removeClass ('editor'); } setTimeout (function() {load_ads_txt ();}, 50); }); // $("#ads-txt-editor").click (function () { $("#ads-txt-editor").on ("click", function () { if ($(this).hasClass ('editor')) { setTimeout (function() {save_ads_txt (true);}, 50); } else { $(this).addClass ('editor'); setTimeout (function() {load_ads_txt ();}, 50); $(this).attr ('title', $(this).attr ('title-table')) .tooltip({ track: true, delay: 700, showURL: false, showBody: " | ", fade: 250 }); } }); // $("#ads-txt-search").keyup (function (event) { $("#ads-txt-search").on ("keyup", function (event) { if (!ads_txt_reload) { ads_txt_reload = true; setTimeout (function() {load_ads_txt ();}, 200); } }); // $(document).keydown (function (event) { // if (event.which == "17") { // ai_ctrl_pressed = true; // var public_report_button = $('.public-report-button'); // public_report_button.addClass ('light-red'); // public_report_button.attr ('title', $('.public-report-button').first ().attr ('title-rw')) // .tooltip({ // track: true, // delay: 700, // showURL: false, // showBody: " | ", // fade: 250 // }); // } // }); // $(document).keyup (function() { // if (ai_ctrl_pressed) { // ai_ctrl_pressed = false; // var public_report_button = $('.public-report-button'); // public_report_button.removeClass ('light-red'); // public_report_button.attr ('title', $('.public-report-button').first ().attr ('title-ro')) // .tooltip({ // track: true, // delay: 700, // showURL: false, // showBody: " | ", // fade: 250 // }); // } // }); // $(".ai-public-controls").dblclick (function () { $(".ai-public-controls").on ("dblclick", function () { $(this).toggleClass ('on'); }); // $(".public-report-button").click (function () { $(".public-report-button").on ("click", function () { var report_data_elements = JSON.parse ($(this).attr ('report-data')); var report_url_prefix = report_data_elements [0] var report_dates_block = report_data_elements [1]; var report_controls = $(this).parent ().parent ().parent ().parent ().find ('.ai-public-controls').hasClass ('on') ? '1' : '0'; var report_range_name = $(this).parent ().parent ().parent ().parent ().find ('.custom-range-controls').attr ('range-name'); var report_adb = report_data_elements [2]; var report_version = report_data_elements [3]; if (report_version == '') report_version = '---'; var report = report_dates_block + report_controls + report_adb + report_range_name + report_version; var report_id = b64e (report).replaceAll ('+', '.').replaceAll ('/', '_').replaceAll ('=', '-'); var url = report_url_prefix + md5 (report).substring (0, 2) + report_id; window.open (url, 'ai-report'); }); if ($("#ai-list-data").hasClass ('ai-sticky')) { configure_list (); } // $("#ai-cancel-websites").click (function () { $("#ai-cancel-websites").on ("click", function () { $("#ai-cancel-websites").hide (); $("#ai-save-websites").hide (); $("#ai-rearrange-websites").removeClass ('blue'); reload_websites (); }); $("#ai-add-website").on ("click", function () { $("#ai-cancel-websites").hide (); $("#ai-save-websites").hide (); $("#ai-rearrange-websites").removeClass ('blue'); ai_reload_websites_function = function () { $('#ai-website-list-table tr.ai-website-list').last ().find (".ai-website-labels.ai-website-desc").trigger ("click"); } reload_websites ('&add='); }); $("#ai-save-websites").on ("click", function () { var connect = $(this).attr ('data-connect'); if (typeof connect !== typeof undefined && connect !== false) { $(this).removeAttr ('data-connect'); connect = '&connect=' + connect; } else connect = ''; $('#ai-website-list-table tr.ai-website-list').each (function () { var row = $(this); if (row.find (".ai-website-editor .ai-website-key").is (':visible')) { row.find (".ai-website-editor .ai-website-key").attr ('data-key', row.find (".ai-website-editor .ai-website-key").val ()); row.find (".ai-website-labels.ai-website-desc").text (row.find (".ai-website-editor .ai-website-desc").val ()); row.find (".ai-website-labels.ai-website-url").text (row.find (".ai-website-editor .ai-website-url").val ()); row.find (".ai-website-labels").show (); row.find (".ai-website-editor").hide (); } }); var websites = Array (); $('#ai-website-list-table tr.ai-website-list').each (function () { var row = $(this); var url = row.find (".ai-website-labels.ai-website-url").text ().trim (); var desc = row.find (".ai-website-labels.ai-website-desc").text ().trim (); var key = row.find (".ai-website-editor .ai-website-key").attr ('data-key').trim (); var enabled = parseInt (row.attr ('data-enabled')); var access = row.attr ('data-access').trim (); if (url != '') { websites.push ({'url': url, 'name': desc, 'key': b64e (key), 'enabled': enabled, 'access': access}); } }); $("#ai-cancel-websites").hide (); $("#ai-save-websites").hide (); $("#ai-rearrange-websites").removeClass ('blue'); reload_websites ('&save=' + b64e (JSON.stringify (websites)) + connect); }); $("#ai-rearrange-websites").on ("click", function () { $(this).toggleClass ('blue'); var data_container = $("#ai-website-data"); if ($(this).hasClass ('blue')) { $('#ai-website-list-table .ai-delete-website').each (function () { var row = $(this).closest ('tr.ai-website-list'); var connected = row.find ('.ai-connect-website .checkbox-icon').hasClass ('on'); if (!connected) { $(this).show (); } }); data_container.find ('tbody').sortable ({ start: function (event, ui) { $("#ai-cancel-websites").show (); $("#ai-save-websites").show (); }, placeholder: "ui-state-highlight" }).css ('cursor', 'move'); } else { data_container.find ('tbody').sortable ("disable"); reload_websites (); } }); if ($(".ai-managing").length) { setTimeout (function () {window.location.href = ai_settings;}, 30 * 60 * 1000); check_managing_slave (); $("#ai-connected").on ("click", function () { $(this).css ('color', '#ababab'); $('#ai-loading').show (); ai_reload_websites_function = function () { if ($('#ai-website-data .ai-ajax-error').length == 0) { window.location.href = ai_settings; } } reload_websites ('&connect='); }); } function ai_save_reports () { var selected = $("#ai-report-data tr.selected").attr ("data-index"); reload_reports ('&rename=' + b64e ($("#ai-report-data tr.selected").find ('td.ai-report-labels').text ()) + '&selected=' + selected); }; $("#ai-add-report").on ("click", function () { ai_reload_reports_function = function () { $('#ai-reports-table tr.report-name.selected').trigger ("dblclick"); $('#ai-reports-table tr.selected input.ai-custom-report-name').select (); } var row = $("#ai-report-data tr.selected"); var data_index = 0; if (row.length != 0) { data_index = row.attr ("data-index").split ('-').shift () } reload_reports ('&add=' + data_index, true); }); $("#ai-delete-report").on ("click", function () { var row = $("#ai-report-data tr.selected"); if (row.hasClass ('report-name')) { var message = ai_admin.delete_report + ' <strong>' + row.text () + '</strong>?'; $('<div />').html (message).attr ('title', ai_admin.warning).dialog ({ bgiframe: true, draggable: false, resizable: false, modal: true, height: "auto", width: 400, position: {my: 'center', at: 'center', of: '#custom-reports-container'}, buttons: [{ text: ai_admin.cancel, click: function() { $(this).dialog ("close"); } }, { text: ai_admin.delete, click: function() { $(this).dialog ("close"); reload_reports ('&delete=' + row.attr ("data-index")); } } ], }); } else { reload_reports ('&delete=' + row.attr ("data-index")); } }); // $("input#custom-statistics-button").checkboxButton ().click (function () { $("input#custom-statistics-button").checkboxButton ().on ("click", function () { if ($('#custom-reports-container').is(":visible")) { var row = $("#ai-report-data tr.selected"); if (row.length == 1) { $(".ai-custom-reports-edit").toggle (); $(".ai-custom-reports-show").toggle (); $("#ai-reports-table").toggle (); var reports_container = $("#statistics-container-100"); reports_container.toggle (); if ($(reports_container).is(':visible')) { var data_index = row.attr ("data-index"); reports_container.attr ('data-custom-report', data_index); reports_container.find ('.ai-chart-container, .ai-custom-report-title').css("visibility", "hidden"); // $("input#load-custom-range-100").click (); $("input#load-custom-range-100").trigger ("click"); } } else $(this).next ('label').find ('.checkbox-icon').toggleClass ('on'); } }); // $("#custom-export-pdf-button").click (function () { $("#custom-export-pdf-button").on ("click", function () { export_statistics_pdf (100); }); // $(".custom-public-report-button").click (function () { $(".custom-public-report-button").on ("click", function () { var report_data_elements = JSON.parse ($(this).attr ('report-data')); var report_url_prefix = report_data_elements [0] var report_dates_block = report_data_elements [1]; var report_controls = $(this).parent ().parent ().parent ().parent ().find ('.ai-public-controls').hasClass ('on') ? '1' : '0'; var report_range_name = $(this).parent ().parent ().parent ().parent ().find ('.custom-range-controls').attr ('range-name'); var report_adb = report_data_elements [2]; var report_version = '---'; var row = $("#ai-report-data tr.selected"); if (row.length == 1) { var custom_report = row.attr ("data-id") + '-----'; custom_report = custom_report.substring (0, 5); var report = report_dates_block + report_controls + report_adb + report_range_name + report_version + custom_report; var report_id = b64e (report).replaceAll ('+', '.').replaceAll ('/', '_').replaceAll ('=', '-'); var url = report_url_prefix + md5 (report).substring (0, 2) + report_id; window.open (url, 'ai-report'); } }); });
Paket Wisata Karimunjawa Terlengkap & Harga Terbaik 2026
https://validator.w3.org/feed/docs/rss2.html
Promo Paket Wisata Karimunjawa
Info Harga dan Paket Liburan ke Karimunjawa
Pulau Karimun Jawa
Paket Mancing Karimunjawa
Paket Trip Karimunjawa
Pelabuhan Karimunjawa
Kuliner Khas Karimunjawa
Pantai Bobby Karimunjawa
Whales: Giants of the Ocean
Whales: Giants of the Ocean
Taka Sendok Karimunjawa
Contact US
Informasi Perjalanan Paket Travel Wisata Karimunjawa
Rental Mobil Karimunjawa
Paket Open Trip Karimunjawa
Paket Snorkeling Karimunjawa
Sama Sama Homestay Karimunjawa
Paket Tour Karimunjawa Jepara
Informasi Biaya Liburan ke Karimunjawa
Paket Wisata Karimunjawa 4 Hari 3 Malam
Oleh Oleh Khas Karimunjawa
Promo Open Trip Karimun Jawa
Tentang Kami
Sunset Karimunjawa
Tiket Kapal Karimunjawa
Informasi Reservasi Hotel Resort Java Paradise Karimunjawa
Taman Nasional Karimunjawa
Informasi Harga Paket Wisata Karimunjawa Murah
Informasi Jadwal Kapal Pelni Semarang ke Karimunjawa
Informasi Jadwal Kapal Karimunjawa Ferry Siginjai
Paket Wisata Karimunjawa Rombongan
Tiket Kapal
Rincian Biaya Wisata Karimunjawa
Paket Wisata Karimunjawa 2 Hari 1 Malam
Booking
Informasi Jadwal Kapal Express Karimunjawa
Paket Diving Karimunjawa
Informasi Harga Paket Wisata Karimunjawa 3 Hari 2 Malam
Harga Paket Travel Karimunjawa
Private Trip Karimunjawa
Paket Wisata Karimunjawa dari Solo
Paket Homestay RGJS Karimunjawa
Cara ke Karimunjawa
Pantai Sunset Beach Karimunjawa
Sitemap
Paket Regular Karimunjawa 3 Hari 2 Malam
Cuaca Karimun Jawa
Karimunjawa Dimana
Narayana Resort Karimunjawa
Pantai Laendra Karimunjawa