Plugin Directory

Changeset 3170554


Ignore:
Timestamp:
10/17/2024 08:26:16 AM (14 months ago)
Author:
advancedads
Message:

Update to version 1.55.0 from GitHub

Location:
advanced-ads
Files:
26 edited
1 copied

Legend:

Unmodified
Added
Removed
  • advanced-ads/tags/1.55.0/admin/includes/class-meta-box.php

    r3145275 r3170554  
    609609
    610610        ?>
    611         <p><a href="https://wpadvancedads.com/category/tutorials/?utm_source=advanced-ads&utm_medium=link&utm_campaign=dashboard" target="_blank"><?php esc_html_e( 'Visit our blog for more articles about ad optimization', 'advanced-ads' ); ?></a></p>
    612611        <?php
    613612
     
    653652     */
    654653    public static function dashboard_widget_function_output() {
    655 
     654        $adsense_num = 0;
     655        $currency    = '';
     656        $adsense_obj = Advanced_Ads_AdSense_Report_Data::get_data_from_options( 'domain' );
     657
     658        if ( $adsense_obj->get_currency() !== '' ) {
     659            $adsense_num = $adsense_obj->get_sums()['28days'] ?? 0;
     660            $currency    = $adsense_obj->get_currency() ?? '';
     661        }
     662
     663        $currencies  = [ 'EUR', 'USD' ];
     664        $feed_url    = 'https://wpadvancedads.com/category/tutorials/feed/';
     665        $campaign    = 'dashboard';
     666        if ( $adsense_num > 1000 && in_array( $currency, $currencies ) ) {
     667            $feed_url = 'https://wpadvancedads.com/category/adsense-motors/feed/';
     668            $campaign = 'dashboard-adsense-motors';
     669        } elseif ( $adsense_num > 100 && in_array( $currency, $currencies ) ) {
     670            $feed_url = 'https://wpadvancedads.com/category/adsense/feed/';
     671            $campaign = 'dashboard-adsense';
     672        }
    656673        check_ajax_referer( 'advanced-ads-admin-ajax-nonce', 'nonce' );
    657674
     
    661678            [
    662679                'link'         => 'https://wpadvancedads.com/',
    663                 'url'          => 'https://wpadvancedads.com/category/tutorials/feed/',
     680                'url'          => $feed_url,
    664681                'title'        => sprintf(
    665                     // translators: %s is our URL.
     682                // translators: %s is our URL.
    666683                    __( 'Latest posts on wpadvancedads.com', 'advanced-ads' ),
    667684                    'https://wpadvancedads.com/'
     
    682699            wp_widget_rss_output( $_feed['url'], $_feed );
    683700            echo '</div>';
     701            echo '<p><a href="https://wpadvancedads.com/category/tutorials/?utm_source=advanced-ads&utm_medium=link&utm_campaign=' . $campaign . '" target="_blank">' . esc_html( 'Visit our blog for more articles about ad optimization', 'advanced-ads' ) . '</a></p>';
    684702        }
    685703
  • advanced-ads/tags/1.55.0/admin/views/settings/general/link-target.php

    r2888911 r3170554  
    99    <input name="<?php echo esc_attr( ADVADS_SLUG ); ?>[target-blank]" type="checkbox" value="1" <?php checked( 1, $target ); ?> />
    1010    <?php echo wp_kses( __( 'Open programmatically created links in a new window (use <code>target="_blank"</code>)', 'advanced-ads' ), [ 'code' => [] ] ); ?>
     11    <a href="https://wpadvancedads.com/open-ad-in-new-window/?utm_source=advanced-ads&utm_medium=link&utm_campaign=open-new-window" target="_blank" class="advads-manual-link">
     12        <?php esc_html_e( 'Manual', 'advanced-ads' ); ?>
     13    </a>
    1114</label>
  • advanced-ads/tags/1.55.0/advanced-ads.php

    r3145895 r3170554  
    1313 * Plugin URI:        https://wpadvancedads.com
    1414 * Description:       Manage and optimize your ads in WordPress
    15  * Version:           1.54.1
     15 * Version:           1.55.0
    1616 * Author:            Advanced Ads
    1717 * Author URI:        https://wpadvancedads.com
     
    3434
    3535define( 'ADVADS_FILE', __FILE__ );
    36 define( 'ADVADS_VERSION', '1.54.1' );
     36define( 'ADVADS_VERSION', '1.55.0' );
    3737
    3838// Load the autoloader.
  • advanced-ads/tags/1.55.0/assets/css/app.css

    r3145275 r3170554  
    1 .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.\!mr-2{margin-right:.5rem!important}.\!mt-1{margin-top:.25rem!important}.mb-6{margin-bottom:1.5rem}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.items-center{align-items:center}.gap-x-4{column-gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.text-base{font-size:1rem;line-height:1.5rem}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lds-ripple{display:none;height:40px;position:relative;width:40px}.lds-ripple.show{display:inline-block}.lds-ripple div{animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;border:4px solid #ccc;border-radius:50%;opacity:1;position:absolute}.lds-ripple div:nth-child(2){animation-delay:-.5s}@keyframes lds-ripple{0%{height:0;left:20px;opacity:0;top:20px;width:0}4.9%{height:0;left:20px;opacity:0;top:20px;width:0}5%{height:0;left:20px;opacity:1;top:20px;width:0}to{height:40px;left:0;opacity:0;top:0;width:40px}}.advads-ui-switch{align-items:center;cursor:pointer;display:inline-flex;position:relative}.advads-ui-switch-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.advads-ui-switch input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.advads-ui-switch input:checked~div{--tw-bg-opacity:1;background-color:rgb(4 116 162/var(--tw-bg-opacity))}.advads-ui-switch input:checked~div:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity));content:var(--tw-content);left:auto;right:2px}.advads-ui-switch input:disabled~div:after{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity));border-color:rgb(229 231 235/var(--tw-border-opacity));content:var(--tw-content)}.advads-ui-switch div{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));border-radius:9999px;border-width:1px;height:1.5rem;position:relative;width:2.75rem}.advads-ui-switch div:after{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-content:"";background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:9999px;border-width:1px;content:var(--tw-content);height:1.25rem;left:2px;position:absolute;top:.125rem;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.advads-ui-switch span{font-size:.875rem;font-weight:500;line-height:1.25rem;margin-left:.75rem}#advads-m2-connect{display:none}#advads-m2-connect a{--tw-text-opacity:1;color:rgb(4 116 162/var(--tw-text-opacity))}
     1.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.\!mr-2{margin-right:.5rem!important}.\!mt-1{margin-top:.25rem!important}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mr-4{margin-right:1rem}.mt-4{margin-top:1rem}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.items-center{align-items:center}.gap-x-4{column-gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.rounded{border-radius:.25rem}.border{border-width:1px}.border-solid{border-style:solid}.bg-\[\#f2fcff\]{--tw-bg-opacity:1;background-color:rgb(242 252 255/var(--tw-bg-opacity))}.px-4{padding-left:1rem;padding-right:1rem}.text-base{font-size:1rem;line-height:1.5rem}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lds-ripple{display:none;height:40px;position:relative;width:40px}.lds-ripple.show{display:inline-block}.lds-ripple div{animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;border:4px solid #ccc;border-radius:50%;opacity:1;position:absolute}.lds-ripple div:nth-child(2){animation-delay:-.5s}@keyframes lds-ripple{0%{height:0;left:20px;opacity:0;top:20px;width:0}4.9%{height:0;left:20px;opacity:0;top:20px;width:0}5%{height:0;left:20px;opacity:1;top:20px;width:0}to{height:40px;left:0;opacity:0;top:0;width:40px}}.advads-ui-switch{align-items:center;cursor:pointer;display:inline-flex;position:relative}.advads-ui-switch-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.advads-ui-switch input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.advads-ui-switch input:checked~div{--tw-bg-opacity:1;background-color:rgb(4 116 162/var(--tw-bg-opacity))}.advads-ui-switch input:checked~div:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity));content:var(--tw-content);left:auto;right:2px}.advads-ui-switch input:disabled~div:after{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity));border-color:rgb(229 231 235/var(--tw-border-opacity));content:var(--tw-content)}.advads-ui-switch div{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));border-radius:9999px;border-width:1px;height:1.5rem;position:relative;width:2.75rem}.advads-ui-switch div:after{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-content:"";background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:9999px;border-width:1px;content:var(--tw-content);height:1.25rem;left:2px;position:absolute;top:.125rem;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.advads-ui-switch span{font-size:.875rem;font-weight:500;line-height:1.25rem;margin-left:.75rem}#advads-m2-connect{display:none}#advads-m2-connect a{--tw-text-opacity:1;color:rgb(4 116 162/var(--tw-text-opacity))}
  • advanced-ads/tags/1.55.0/assets/js/app.js

    r3145275 r3170554  
    1 (()=>{"use strict";var e,t={612:(e,t,a)=>{const n=jQuery;var o=a.n(n);function s(e,t){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=o()('<div class="notice notice-'.concat(t,' is-dismissible" />'));n.html("<p>"+e+'</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button>'),o()("#pubguru-notices").append(n),a&&setTimeout((function(){n.fadeOut(500,(function(){n.remove()}))}),3e3)}function c(){var e,t,a,n,c,i,u,d,r,l;e=o()(".js-pubguru-connect"),t=o()(".js-pubguru-disconnect"),a=o()("#advads-m2-connect"),n=o()(".js-pubguru-connecting"),c=n.next(".aa-spinner"),i=o()(".pubguru-connected"),u=o()(".pubguru-not-connected"),e.on("click",".button",(function(e){e.preventDefault(),a.show()})),o()("#m2-connect-consent").on("change",(function(){var e=o()(this);n.prop("disabled",!e.is(":checked"))})),n.on("click",(function(a){a.preventDefault(),c.addClass("show"),o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_connect",nonce:advadsglobal.ajax_nonce},dataType:"json"}).done((function(a){a.success&&(u.addClass("hidden"),e.addClass("hidden"),i.removeClass("hidden"),t.removeClass("hidden"),o()(".pg-tc-trail").toggle(!a.data.hasTrafficCop),o()(".pg-tc-install").toggle(a.data.hasTrafficCop),s(a.data.message,"success",!0))})).fail((function(e){s(e.responseJSON.data,"error")})).complete((function(){return c.removeClass("show")}))})),t.on("click",".button",(function(n){n.preventDefault(),a.hide(),u.removeClass("hidden"),e.removeClass("hidden"),i.addClass("hidden"),t.addClass("hidden"),o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_disconnect",nonce:advadsglobal.ajax_nonce},dataType:"json"}).done((function(e){e.success&&s(e.data.message,"success",!0)}))})),d=o()("#pubguru-modules"),r=o()("#pubguru-notices"),l=o()("#pubguru-header-bidding-at-body").closest("div"),d.on("input","input:checkbox",(function(){var e=o()(this),t=e.attr("name"),a=e.is(":checked");"header_bidding"===t&&l.toggle(a),o().ajax({url:d.attr("action"),method:"POST",data:{action:"pubguru_module_change",security:d.data("security"),module:t,status:a}}).done((function(e){var t=e.data.notice,a=void 0===t?"":t;r.html(""),""!==a&&r.html(a)}))})),o()(document).on("click",".js-btn-backup-adstxt",(function(){var e=o()(this),t=e.closest(".notice");e.prop("disabled",!0),e.html(e.data("loading")),o().ajax({url:d.attr("action"),method:"POST",data:{action:"pubguru_backup_ads_txt",security:e.data("security")}}).always((function(){e.prop("disabled",!1),e.html(e.data("text"))})).done((function(e){if(e.success){var a=o()(e.data);r.html(a),t.after(a),t.remove(),setTimeout((function(){a.fadeOut("slow",(function(){a.html("")}))}),4e3)}else r.html(e.data),t.after(e.data)}))})),o()("#advads-overview").on("click",".notice-dismiss",(function(e){e.preventDefault();var t=o()(this).parent();t.fadeOut(500,(function(){t.remove()}))}))}o()((function(){c()}))},576:()=>{}},a={};function n(e){var o=a[e];if(void 0!==o)return o.exports;var s=a[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.m=t,e=[],n.O=(t,a,o,s)=>{if(!a){var c=1/0;for(r=0;r<e.length;r++){for(var[a,o,s]=e[r],i=!0,u=0;u<a.length;u++)(!1&s||c>=s)&&Object.keys(n.O).every((e=>n.O[e](a[u])))?a.splice(u--,1):(i=!1,s<c&&(c=s));if(i){e.splice(r--,1);var d=o();void 0!==d&&(t=d)}}return t}s=s||0;for(var r=e.length;r>0&&e[r-1][2]>s;r--)e[r]=e[r-1];e[r]=[a,o,s]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={845:0,196:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var o,s,[c,i,u]=a,d=0;if(c.some((t=>0!==e[t]))){for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(u)var r=u(n)}for(t&&t(a);d<c.length;d++)s=c[d],n.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return n.O(r)},a=globalThis.webpackChunkadvanced_ads=globalThis.webpackChunkadvanced_ads||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})(),n.O(void 0,[196],(()=>n(612)));var o=n.O(void 0,[196],(()=>n(576)));o=n.O(o)})();
     1(()=>{"use strict";var e,t={612:(e,t,n)=>{const a=jQuery;var o=n.n(a);function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=o()('<div class="notice notice-'.concat(t,' is-dismissible" />'));a.html("<p>"+e+'</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button>'),o()("#pubguru-notices").append(a),n&&setTimeout((function(){a.fadeOut(500,(function(){a.remove()}))}),3e3)}function c(){var e,t,n,a,c,i,u,d,r,l,p,v,f;e=o()(".js-pubguru-connect"),t=o()(".js-pubguru-disconnect"),n=o()("#advads-m2-connect"),a=o()(".js-pubguru-connecting"),c=o()(".js-pubguru-continue"),i=a.next(".aa-spinner"),u=o()(".pubguru-connected"),d=o()(".pubguru-not-connected"),r=o()("#pubguru-warning"),l=o()(".js-pubguru-cancel"),e.on("click",".button",(function(e){e.preventDefault(),n.show()})),o()("#m2-connect-consent").on("change",(function(){var e=o()(this);c.prop("disabled",!e.is(":checked"))})),l.on("click",(function(e){e.preventDefault(),c.show(),r.addClass("hidden")})),c.on("click",(function(e){e.preventDefault(),c.hide(),r.removeClass("hidden")})),a.on("click",(function(n){n.preventDefault(),i.addClass("show");var a=o()("#m2-oci-test-domain");a=a.length?a.val():"",o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_connect",nonce:advadsglobal.ajax_nonce,testDomain:a},dataType:"json"}).done((function(n){n.success&&(d.addClass("hidden"),e.addClass("hidden"),u.removeClass("hidden"),t.removeClass("hidden"),o()(".pg-tc-trail").toggle(!n.data.hasTrafficCop),o()(".pg-tc-install").toggle(n.data.hasTrafficCop),s(n.data.message,"success"))})).fail((function(e){s(e.responseJSON.data,"error")})).complete((function(){return i.removeClass("show")}))})),t.on("click",".button",(function(a){a.preventDefault(),n.hide(),d.removeClass("hidden"),e.removeClass("hidden"),u.addClass("hidden"),t.addClass("hidden"),o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_disconnect",nonce:advadsglobal.ajax_nonce},dataType:"json"}).done((function(e){e.success&&s(e.data.message,"success")}))})),p=o()("#pubguru-modules"),v=o()("#pubguru-notices"),f=o()("#pubguru-header-bidding-at-body").closest("div"),p.on("input","input:checkbox",(function(){var e=o()(this),t=e.attr("name"),n=e.is(":checked");"header_bidding"===t&&f.toggle(n),o().ajax({url:p.attr("action"),method:"POST",data:{action:"pubguru_module_change",security:p.data("security"),module:t,status:n}}).done((function(e){var t=e.data.notice,n=void 0===t?"":t;v.html(""),""!==n&&v.html(n)}))})),o()(document).on("click",".js-btn-backup-adstxt",(function(){var e=o()(this),t=e.closest(".notice");e.prop("disabled",!0),e.html(e.data("loading")),o().ajax({url:p.attr("action"),method:"POST",data:{action:"pubguru_backup_ads_txt",security:e.data("security")}}).always((function(){e.prop("disabled",!1),e.html(e.data("text"))})).done((function(e){if(e.success){var n=o()(e.data);v.html(n),t.after(n),t.remove(),setTimeout((function(){n.fadeOut("slow",(function(){n.html("")}))}),4e3)}else v.html(e.data),t.after(e.data)}))})),o()("#advads-overview").on("click",".notice-dismiss",(function(e){e.preventDefault();var t=o()(this).parent();t.fadeOut(500,(function(){t.remove()}))}))}o()((function(){c()}))},576:()=>{}},n={};function a(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,a),s.exports}a.m=t,e=[],a.O=(t,n,o,s)=>{if(!n){var c=1/0;for(r=0;r<e.length;r++){for(var[n,o,s]=e[r],i=!0,u=0;u<n.length;u++)(!1&s||c>=s)&&Object.keys(a.O).every((e=>a.O[e](n[u])))?n.splice(u--,1):(i=!1,s<c&&(c=s));if(i){e.splice(r--,1);var d=o();void 0!==d&&(t=d)}}return t}s=s||0;for(var r=e.length;r>0&&e[r-1][2]>s;r--)e[r]=e[r-1];e[r]=[n,o,s]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={845:0,196:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var o,s,[c,i,u]=n,d=0;if(c.some((t=>0!==e[t]))){for(o in i)a.o(i,o)&&(a.m[o]=i[o]);if(u)var r=u(a)}for(t&&t(n);d<c.length;d++)s=c[d],a.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return a.O(r)},n=globalThis.webpackChunkadvanced_ads=globalThis.webpackChunkadvanced_ads||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.O(void 0,[196],(()=>a(612)));var o=a.O(void 0,[196],(()=>a(576)));o=a.O(o)})();
  • advanced-ads/tags/1.55.0/assets/src/modules/oneclick/connect-button.js

    r3145275 r3170554  
    2828    const metabox = jQuery('#advads-m2-connect');
    2929    const connectButton = jQuery('.js-pubguru-connecting');
     30    const continueButton = jQuery('.js-pubguru-continue');
    3031    const spinner = connectButton.next('.aa-spinner');
    3132    const contentConnected = jQuery('.pubguru-connected');
    3233    const contentNotConnected = jQuery('.pubguru-not-connected');
     34    const warningBox = jQuery('#pubguru-warning');
     35    const cancelButton = jQuery('.js-pubguru-cancel');
    3336
    3437    // Show consent box.
     
    4043    jQuery('#m2-connect-consent').on('change', function () {
    4144        const checkbox = jQuery(this);
    42         connectButton.prop('disabled', !checkbox.is(':checked'));
     45        continueButton.prop('disabled', !checkbox.is(':checked'));
     46    });
     47
     48    cancelButton.on('click', function (event) {
     49        event.preventDefault();
     50        continueButton.show();
     51        warningBox.addClass('hidden');
     52    });
     53
     54    continueButton.on('click', function (event) {
     55        event.preventDefault();
     56        continueButton.hide();
     57        warningBox.removeClass('hidden');
    4358    });
    4459
     
    4762
    4863        spinner.addClass('show');
     64
     65        let testDomain = jQuery('#m2-oci-test-domain');
     66        testDomain = testDomain.length ? testDomain.val() : '';
     67
    4968        jQuery
    5069            .ajax({
     
    5473                    action: 'pubguru_connect',
    5574                    nonce: advadsglobal.ajax_nonce,
     75                    testDomain,
    5676                },
    5777                dataType: 'json',
     
    102122                }
    103123
    104                 createNotice(response.data.message, 'success', true);
     124                createNotice(response.data.message, 'success');
    105125            });
    106126    });
  • advanced-ads/tags/1.55.0/classes/in-content-injector.php

    r3145275 r3170554  
    472472
    473473        // Add tags before/after which ad placehoders were injected.
     474        $alts = [];
    474475        foreach ( $ads_for_placeholders as $ad_content ) {
    475             $alts = [];
    476             $tag  = $ad_content['tag'];
     476            $tag = $ad_content['tag'];
    477477
    478478            switch ( $ad_content['position'] ) {
  • advanced-ads/tags/1.55.0/includes/importers/class-api-ads.php

    r3145275 r3170554  
    205205        $type = strtolower( str_replace( ' ', '_', $type ) );
    206206        $hash = [
    207             'leaderboard'  => 'post_bottom',
     207            'leaderboard'  => 'post_top',
    208208            'in_content_1' => 'post_content',
    209209            'in_content_2' => 'post_content',
     
    354354    private function normalize_ads( $ads ): array {
    355355        $normalized = [];
     356        $in_content = [
     357            'in-content1' => [
     358                'count'    => 3,
     359                'position' => 'after',
     360                'repeat'   => false,
     361            ],
     362            'in-content2' => [
     363                'count'    => 5,
     364                'position' => 'after',
     365                'repeat'   => false,
     366            ],
     367            'in-content3' => [
     368                'count'    => 7,
     369                'position' => 'after',
     370                'repeat'   => true,
     371            ],
     372        ];
    356373
    357374        foreach ( $ads as $ad ) {
     
    361378            }
    362379
    363             if ( empty( $ad['in_content_position'] ) ) {
    364                 $ad['in_content_position'] = Str::contains( 'in_content_2', $ad['slot'] ) ? 'After' : 'Before';
    365             }
    366 
    367             if ( empty( $ad['in_content_count'] ) ) {
    368                 $ad['in_content_count'] = Str::contains( 'in_content_2', $ad['slot'] ) ? 3 : 1;
    369             }
    370 
    371             if ( empty( $ad['in_content_repeat'] ) ) {
    372                 $ad['in_content_repeat'] = Str::contains( 'in_content_2', $ad['slot'] ) ? true : false;
     380            foreach ( $in_content as $key => $value ) {
     381                $matches = [];
     382                preg_match( '/.*in[-_]?content[_-]?(\d+).*/', $ad['slot'], $matches );
     383                if ( ! empty( $matches ) && ( 'in-content' . $matches[1] ) === $key ) {
     384                    if ( empty( $ad['in_content_count'] ) ) {
     385                        $ad['in_content_count'] = $value['count'];
     386                    }
     387
     388                    if ( empty( $ad['in_content_position'] ) ) {
     389                        $ad['in_content_position'] = $value['position'];
     390                    }
     391
     392                    if ( empty( $ad['in_content_repeat'] ) ) {
     393                        $ad['in_content_repeat'] = $value['repeat'];
     394                    }
     395                    break;
     396                }
    373397            }
    374398
     
    378402                'placement'            => $this->map_placement_type( $ad['slot'] ),
    379403                'placement_conditions' => $this->parse_display_conditions( $data['placement_conditions'] ?? 'all' ),
    380                 'in_content_position'  => $ad['in_content_position'],
    381                 'in_content_count'     => $ad['in_content_count'],
     404                'in_content_position'  => $ad['in_content_position'] ?? 'before',
     405                'in_content_count'     => $ad['in_content_count'] ?? 1,
    382406                'in_content_element'   => $ad['in_content_element'] ?? 'p',
    383407                'in_content_repeat'    => $ad['in_content_repeat'] ?? false,
  • advanced-ads/tags/1.55.0/languages/advanced-ads.pot

    r3145895 r3170554  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Advanced Ads 1.54.0\n"
     5"Project-Id-Version: Advanced Ads 1.54.1\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/advanced-ads/\n"
    77"Last-Translator: Thomas Maier <[email protected]>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2024-09-03T11:24:20+00:00\n"
     12"POT-Creation-Date: 2024-10-16T11:58:57+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.6.0\n"
     
    489489#: admin/views/settings/general/custom-label.php:10
    490490#: admin/views/settings/general/disable-notices.php:14
     491#: admin/views/settings/general/link-target.php:12
    491492#: classes/ad_type_plain.php:255
    492493#: classes/display-conditions.php:887
     
    543544msgstr ""
    544545
    545 #: admin/includes/class-meta-box.php:611
    546 msgid "Visit our blog for more articles about ad optimization"
    547 msgstr ""
    548 
    549546#. translators: %s is our URL.
    550 #: admin/includes/class-meta-box.php:666
     547#: admin/includes/class-meta-box.php:683
    551548msgid "Latest posts on wpadvancedads.com"
    552549msgstr ""
     
    13341331#: admin/views/modal.php:26
    13351332#: admin/views/modal.php:40
     1333#: views/admin/metabox-pubguru-connect.php:51
    13361334msgid "Cancel"
    13371335msgstr ""
     
    41804178msgstr ""
    41814179
    4182 #: modules/one-click/admin/class-ajax.php:78
     4180#: modules/one-click/admin/class-ajax.php:81
    41834181msgid "We have successfully migrated your MonetizeMore Pubguru Ad Units to your WordPress site. The existing placements and ads have been paused."
    41844182msgstr ""
    41854183
    4186 #: modules/one-click/admin/class-ajax.php:96
     4184#: modules/one-click/admin/class-ajax.php:99
    41874185msgid "Pubguru successfully disconnected."
    41884186msgstr ""
    41894187
    4190 #: modules/one-click/admin/class-ajax.php:132
    4191 #: modules/one-click/admin/class-ajax.php:167
     4188#: modules/one-click/admin/class-ajax.php:135
     4189#: modules/one-click/admin/class-ajax.php:170
    41924190msgid "An error has occurred please try again."
    41934191msgstr ""
    41944192
    4195 #: modules/one-click/admin/class-ajax.php:139
     4193#: modules/one-click/admin/class-ajax.php:142
    41964194msgid "File successfully backed up."
    41974195msgstr ""
     
    43884386
    43894387#. translators: %s link to privacy policy
    4390 #: views/admin/metabox-pubguru-connect.php:23
     4388#: views/admin/metabox-pubguru-connect.php:24
    43914389msgid "This form is designed exclusively for MonetizeMore customers who wish to integrate Advanced Ads with the PubGuru Dashboard. By selecting \"Connect PGHB,\" you agree to share your domain name to facilitate the connection with your PubGuru account, in alignment with our <a href=\"%s\">Privacy Policy</a>. Rest assured, no additional information is exchanged, and Advanced Ads does not engage in any tracking activities."
    43924390msgstr ""
    43934391
    4394 #: views/admin/metabox-pubguru-connect.php:32
     4392#: views/admin/metabox-pubguru-connect.php:42
    43954393msgid "Connect PGHB"
    43964394msgstr ""
    43974395
    4398 #: views/admin/metabox-pubguru-connect.php:43
     4396#: views/admin/metabox-pubguru-connect.php:48
     4397msgid "When you connect to PubGuru, your existing ads and placements will be drafted, and PubGuru ad units will be imported automatically. If needed, you can easily rollback these changes at any time."
     4398msgstr ""
     4399
     4400#: views/admin/metabox-pubguru-connect.php:52
     4401msgid "Continue"
     4402msgstr ""
     4403
     4404#: views/admin/metabox-pubguru-connect.php:64
    43994405msgid "To activate any of the settings with your PubGuru account, please select from the options below. Should you have any inquiries, feel free to <a href=\"https://www.monetizemore.com/contact/\">click here<a/> to reach out to us or send an email to <a href=\"mailto:[email protected]\">[email protected]</a>"
    44004406msgstr ""
    44014407
    4402 #: views/admin/metabox-pubguru-connect.php:53
     4408#: views/admin/metabox-pubguru-connect.php:74
    44034409msgid "Install PubGuru Header Bidding"
    44044410msgstr ""
    44054411
    4406 #: views/admin/metabox-pubguru-connect.php:63
     4412#: views/admin/metabox-pubguru-connect.php:84
    44074413msgid "Move the PubGuru Header Bidding script to the footer. Keep this option disabled to maximize revenue. Only enable it if PageSpeed is your priority."
    44084414msgstr ""
    44094415
    4410 #: views/admin/metabox-pubguru-connect.php:75
     4416#: views/admin/metabox-pubguru-connect.php:96
    44114417msgid "Enable ads.txt settings from the <a href=\"https://app.pubguru.com/ads-txt\" target=\"_blank\">PubGuru platform</a>"
    44124418msgstr ""
    44134419
    4414 #: views/admin/metabox-pubguru-connect.php:94
     4420#: views/admin/metabox-pubguru-connect.php:115
    44154421msgid "Install Traffic Cop. 7 days free trial"
    44164422msgstr ""
    44174423
    4418 #: views/admin/metabox-pubguru-connect.php:97
     4424#: views/admin/metabox-pubguru-connect.php:118
    44194425msgid "Install Traffic Cop."
    44204426msgstr ""
    44214427
    4422 #: views/admin/metabox-pubguru-connect.php:107
     4428#: views/admin/metabox-pubguru-connect.php:128
    44234429msgid "Activate Tag Conversion"
    44244430msgstr ""
    44254431
    4426 #: views/admin/metabox-pubguru-connect.php:132
     4432#: views/admin/metabox-pubguru-connect.php:153
    44274433msgid "Rollback"
    44284434msgstr ""
    44294435
    4430 #: views/admin/metabox-pubguru-connect.php:133
     4436#: views/admin/metabox-pubguru-connect.php:154
    44314437msgid "Rollback the api changes back to previous state."
    44324438msgstr ""
  • advanced-ads/tags/1.55.0/modules/one-click/admin/class-ajax.php

    r3145275 r3170554  
    7373            );
    7474        }
     75
     76        // Default module enabled.
     77        Options::module( 'header_bidding', true );
    7578
    7679        wp_send_json_success(
     
    151154     */
    152155    private function pubguru_api_connect() {
    153         $domain   = WordPress::get_site_domain();
     156        $domain   = Params::post( 'testDomain' ) ? Params::post( 'testDomain' ) : WordPress::get_site_domain();
    154157        $domain   = str_replace( 'www.', '', $domain );
    155158        $response = wp_remote_get(
  • advanced-ads/tags/1.55.0/modules/one-click/class-helpers.php

    r3145275 r3170554  
    4848     *
    4949     * Cases
    50      *  1. For mobile prefix => pg.mobile
    51      *  2. For desktop prefix => pg.desktop
    52      *  3. If none of the prefix is found than go with the first one
     50     *  1. For auto_created
     51     *  2. For mobile prefix
     52     *  3. For desktop prefix
     53     *  4. If none of the prefix is found than go with the first one
     54     *  5. No configuration found => pg.{domain}.js
    5355     *
    5456     * @return bool|string
     
    6466        $configs             = Options::pubguru_config();
    6567
     68        // 1. For auto_created  => pg.{domain}_auto_created.js
     69        foreach ( $configs['configs'] as $config ) {
     70            if ( isset( $config['auto_created'] ) && $config['auto_created'] ) {
     71                $pubguru_config_name = $config['name'];
     72                return $pubguru_config_name;
     73            }
     74        }
     75
     76        // 5. No configuration found => pg.{domain}.js
    6677        if ( ! isset( $configs['configs'] ) || empty( $configs['configs'] ) ) {
    6778            $domain = WordPress::get_site_domain( 'name' );
     
    6980        }
    7081
    71         $pubguru_config_name = wp_is_mobile() ? self::config_contains( 'mobile' ) : self::config_contains( 'desktop' );
    72         $pubguru_config_name = false !== $pubguru_config_name ? $pubguru_config_name : $configs['configs'][0]['name'];
     82        $pubguru_config_name = wp_is_mobile()
     83            // 2. For mobile prefix
     84            ? self::config_contains( 'mobile' )
     85            // 3. For desktop prefix
     86            : self::config_contains( 'desktop' );
     87        $pubguru_config_name = false !== $pubguru_config_name
     88            ? $pubguru_config_name
     89            // 4. If none of the prefix is found than go with the first one
     90            : $configs['configs'][0]['name'];
    7391
    7492        return $pubguru_config_name;
     
    110128     * Get ads from saved config.
    111129     *
     130     * In this order
     131     *   1. Get ads from auto_created = true
     132     *   2. Get ads from first config
     133     *   3. Get ads from default config
     134     *
    112135     * @return bool|array
    113136     */
     
    122145        $pubguru_config_ads = false;
    123146
     147        // 1. Get ads from auto_created = true
     148        foreach ( $config['configs'] as $config ) {
     149            if ( isset( $config['auto_created'] ) && $config['auto_created'] ) {
     150                $pubguru_config_ads = $config['ad_units'];
     151                return $pubguru_config_ads;
     152            }
     153        }
     154
     155        // 2. Get ads from first config
    124156        if ( isset( $config['configs'][0]['ad_units'] ) && ! empty( $config['configs'][0]['ad_units'] ) ) {
    125             $pubguru_config_ads = [];
    126 
    127             foreach ( $config['configs'] as $config ) {
    128                 foreach ( $config['ad_units'] as $ad_id => $ad ) {
    129                     $pubguru_config_ads[ $ad_id ] = $ad;
    130                 }
    131             }
     157            $pubguru_config_ads = $config['configs'][0]['ad_units'];
    132158        } else {
     159            // 3. Get ads from default config
    133160            $domain             = WordPress::get_site_domain();
    134161            $pubguru_config_ads = [
  • advanced-ads/tags/1.55.0/readme.txt

    r3145895 r3170554  
    55Tested up to: 6.5
    66Requires PHP: 7.2
    7 Stable tag: 1.54.1
     7Stable tag: 1.55.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    357357== Changelog ==
    358358
    359 = 1.54.1 (September 3, 2024) =
    360 
    361 - Fix: resolve a JavaScript issue on Google AdSense and Ad Manager pages
    362 
    363 = 1.54.0 (September 2, 2024) =
    364 
     359= 1.55.0 (October 16, 2024) =
     360
     361- Improvement: add manual links to some settings
    365362- Improvement: enhance PubGuru one click integration
    366 - Fix: prevent PHP warning when using ad debug
    367 - Fix: readd drafted ads to group statistics on the statistic page
    368 - Fix: resolve issue with ad blocker detection
     363- Fix: correct an issue with repeating ads before a heading
  • advanced-ads/tags/1.55.0/views/admin/metabox-pubguru-connect.php

    r3145275 r3170554  
    77 */
    88
     9use AdvancedAds\Framework\Utilities\Params;
    910use AdvancedAds\Modules\OneClick\Options;
    1011
     
    1213?>
    1314<div class="pubguru-not-connected space-y-4<?php echo false === $pubguru_config ? '' : ' hidden'; ?>">
    14     <label for="m2-connect-consent" class="flex items-center w-full">
     15    <label for="m2-connect-consent" class="flex items-center w-full mt-4">
    1516        <span class="self-start">
    1617            <input type="checkbox" class="!mt-1 !mr-2" id="m2-connect-consent">
     
    2930    </label>
    3031
     32    <?php if ( 'domain' === Params::get( 'aa-oci' ) ) : ?>
     33    <label for="test-domain" class="flex items-center w-full">
     34        <strong class="mr-4">Test Domain:</strong>
     35        <span>
     36            <input type="text" id="m2-oci-test-domain">
     37        </span>
     38    </label>
     39    <?php endif; ?>
     40
    3141    <div class="flex items-center gap-x-4">
    32         <button class="button button-primary js-pubguru-connecting" disabled type="button"><?php esc_html_e( 'Connect PGHB', 'advanced-ads' ); ?></button>
     42        <button class="button button-primary js-pubguru-continue" disabled type="button"><?php esc_html_e( 'Connect PGHB', 'advanced-ads' ); ?></button>
    3343        <div class="lds-ripple aa-spinner"><div></div><div></div></div>
     44    </div>
     45
     46    <div id="pubguru-warning" class="hidden">
     47        <div class="flex items-center bg-[#f2fcff] border border-solid border-advads px-4 rounded mb-4">
     48            <p><?php esc_html_e( 'When you connect to PubGuru, your existing ads and placements will be drafted, and PubGuru ad units will be imported automatically. If needed, you can easily rollback these changes at any time.', 'advanced-ads' ); ?></p>
     49        </div>
     50        <div class="flex items-center gap-x-4">
     51            <button class="button button-secondary js-pubguru-cancel" type="button"><?php esc_html_e( 'Cancel', 'advanced-ads' ); ?></button>
     52            <button class="button button-primary js-pubguru-connecting" type="button"><?php esc_html_e( 'Continue', 'advanced-ads' ); ?></button>
     53            <div class="lds-ripple aa-spinner"><div></div><div></div></div>
     54        </div>
    3455    </div>
    3556</div>
  • advanced-ads/trunk/admin/includes/class-meta-box.php

    r3145275 r3170554  
    609609
    610610        ?>
    611         <p><a href="https://wpadvancedads.com/category/tutorials/?utm_source=advanced-ads&utm_medium=link&utm_campaign=dashboard" target="_blank"><?php esc_html_e( 'Visit our blog for more articles about ad optimization', 'advanced-ads' ); ?></a></p>
    612611        <?php
    613612
     
    653652     */
    654653    public static function dashboard_widget_function_output() {
    655 
     654        $adsense_num = 0;
     655        $currency    = '';
     656        $adsense_obj = Advanced_Ads_AdSense_Report_Data::get_data_from_options( 'domain' );
     657
     658        if ( $adsense_obj->get_currency() !== '' ) {
     659            $adsense_num = $adsense_obj->get_sums()['28days'] ?? 0;
     660            $currency    = $adsense_obj->get_currency() ?? '';
     661        }
     662
     663        $currencies  = [ 'EUR', 'USD' ];
     664        $feed_url    = 'https://wpadvancedads.com/category/tutorials/feed/';
     665        $campaign    = 'dashboard';
     666        if ( $adsense_num > 1000 && in_array( $currency, $currencies ) ) {
     667            $feed_url = 'https://wpadvancedads.com/category/adsense-motors/feed/';
     668            $campaign = 'dashboard-adsense-motors';
     669        } elseif ( $adsense_num > 100 && in_array( $currency, $currencies ) ) {
     670            $feed_url = 'https://wpadvancedads.com/category/adsense/feed/';
     671            $campaign = 'dashboard-adsense';
     672        }
    656673        check_ajax_referer( 'advanced-ads-admin-ajax-nonce', 'nonce' );
    657674
     
    661678            [
    662679                'link'         => 'https://wpadvancedads.com/',
    663                 'url'          => 'https://wpadvancedads.com/category/tutorials/feed/',
     680                'url'          => $feed_url,
    664681                'title'        => sprintf(
    665                     // translators: %s is our URL.
     682                // translators: %s is our URL.
    666683                    __( 'Latest posts on wpadvancedads.com', 'advanced-ads' ),
    667684                    'https://wpadvancedads.com/'
     
    682699            wp_widget_rss_output( $_feed['url'], $_feed );
    683700            echo '</div>';
     701            echo '<p><a href="https://wpadvancedads.com/category/tutorials/?utm_source=advanced-ads&utm_medium=link&utm_campaign=' . $campaign . '" target="_blank">' . esc_html( 'Visit our blog for more articles about ad optimization', 'advanced-ads' ) . '</a></p>';
    684702        }
    685703
  • advanced-ads/trunk/admin/views/settings/general/link-target.php

    r2888911 r3170554  
    99    <input name="<?php echo esc_attr( ADVADS_SLUG ); ?>[target-blank]" type="checkbox" value="1" <?php checked( 1, $target ); ?> />
    1010    <?php echo wp_kses( __( 'Open programmatically created links in a new window (use <code>target="_blank"</code>)', 'advanced-ads' ), [ 'code' => [] ] ); ?>
     11    <a href="https://wpadvancedads.com/open-ad-in-new-window/?utm_source=advanced-ads&utm_medium=link&utm_campaign=open-new-window" target="_blank" class="advads-manual-link">
     12        <?php esc_html_e( 'Manual', 'advanced-ads' ); ?>
     13    </a>
    1114</label>
  • advanced-ads/trunk/advanced-ads.php

    r3145895 r3170554  
    1313 * Plugin URI:        https://wpadvancedads.com
    1414 * Description:       Manage and optimize your ads in WordPress
    15  * Version:           1.54.1
     15 * Version:           1.55.0
    1616 * Author:            Advanced Ads
    1717 * Author URI:        https://wpadvancedads.com
     
    3434
    3535define( 'ADVADS_FILE', __FILE__ );
    36 define( 'ADVADS_VERSION', '1.54.1' );
     36define( 'ADVADS_VERSION', '1.55.0' );
    3737
    3838// Load the autoloader.
  • advanced-ads/trunk/assets/css/app.css

    r3145275 r3170554  
    1 .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.\!mr-2{margin-right:.5rem!important}.\!mt-1{margin-top:.25rem!important}.mb-6{margin-bottom:1.5rem}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.items-center{align-items:center}.gap-x-4{column-gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.text-base{font-size:1rem;line-height:1.5rem}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lds-ripple{display:none;height:40px;position:relative;width:40px}.lds-ripple.show{display:inline-block}.lds-ripple div{animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;border:4px solid #ccc;border-radius:50%;opacity:1;position:absolute}.lds-ripple div:nth-child(2){animation-delay:-.5s}@keyframes lds-ripple{0%{height:0;left:20px;opacity:0;top:20px;width:0}4.9%{height:0;left:20px;opacity:0;top:20px;width:0}5%{height:0;left:20px;opacity:1;top:20px;width:0}to{height:40px;left:0;opacity:0;top:0;width:40px}}.advads-ui-switch{align-items:center;cursor:pointer;display:inline-flex;position:relative}.advads-ui-switch-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.advads-ui-switch input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.advads-ui-switch input:checked~div{--tw-bg-opacity:1;background-color:rgb(4 116 162/var(--tw-bg-opacity))}.advads-ui-switch input:checked~div:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity));content:var(--tw-content);left:auto;right:2px}.advads-ui-switch input:disabled~div:after{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity));border-color:rgb(229 231 235/var(--tw-border-opacity));content:var(--tw-content)}.advads-ui-switch div{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));border-radius:9999px;border-width:1px;height:1.5rem;position:relative;width:2.75rem}.advads-ui-switch div:after{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-content:"";background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:9999px;border-width:1px;content:var(--tw-content);height:1.25rem;left:2px;position:absolute;top:.125rem;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.advads-ui-switch span{font-size:.875rem;font-weight:500;line-height:1.25rem;margin-left:.75rem}#advads-m2-connect{display:none}#advads-m2-connect a{--tw-text-opacity:1;color:rgb(4 116 162/var(--tw-text-opacity))}
     1.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.\!mr-2{margin-right:.5rem!important}.\!mt-1{margin-top:.25rem!important}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mr-4{margin-right:1rem}.mt-4{margin-top:1rem}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.items-center{align-items:center}.gap-x-4{column-gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.rounded{border-radius:.25rem}.border{border-width:1px}.border-solid{border-style:solid}.bg-\[\#f2fcff\]{--tw-bg-opacity:1;background-color:rgb(242 252 255/var(--tw-bg-opacity))}.px-4{padding-left:1rem;padding-right:1rem}.text-base{font-size:1rem;line-height:1.5rem}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lds-ripple{display:none;height:40px;position:relative;width:40px}.lds-ripple.show{display:inline-block}.lds-ripple div{animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;border:4px solid #ccc;border-radius:50%;opacity:1;position:absolute}.lds-ripple div:nth-child(2){animation-delay:-.5s}@keyframes lds-ripple{0%{height:0;left:20px;opacity:0;top:20px;width:0}4.9%{height:0;left:20px;opacity:0;top:20px;width:0}5%{height:0;left:20px;opacity:1;top:20px;width:0}to{height:40px;left:0;opacity:0;top:0;width:40px}}.advads-ui-switch{align-items:center;cursor:pointer;display:inline-flex;position:relative}.advads-ui-switch-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.advads-ui-switch input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.advads-ui-switch input:checked~div{--tw-bg-opacity:1;background-color:rgb(4 116 162/var(--tw-bg-opacity))}.advads-ui-switch input:checked~div:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity));content:var(--tw-content);left:auto;right:2px}.advads-ui-switch input:disabled~div:after{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity));border-color:rgb(229 231 235/var(--tw-border-opacity));content:var(--tw-content)}.advads-ui-switch div{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));border-radius:9999px;border-width:1px;height:1.5rem;position:relative;width:2.75rem}.advads-ui-switch div:after{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-content:"";background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:9999px;border-width:1px;content:var(--tw-content);height:1.25rem;left:2px;position:absolute;top:.125rem;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1.25rem}.advads-ui-switch span{font-size:.875rem;font-weight:500;line-height:1.25rem;margin-left:.75rem}#advads-m2-connect{display:none}#advads-m2-connect a{--tw-text-opacity:1;color:rgb(4 116 162/var(--tw-text-opacity))}
  • advanced-ads/trunk/assets/js/app.js

    r3145275 r3170554  
    1 (()=>{"use strict";var e,t={612:(e,t,a)=>{const n=jQuery;var o=a.n(n);function s(e,t){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=o()('<div class="notice notice-'.concat(t,' is-dismissible" />'));n.html("<p>"+e+'</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button>'),o()("#pubguru-notices").append(n),a&&setTimeout((function(){n.fadeOut(500,(function(){n.remove()}))}),3e3)}function c(){var e,t,a,n,c,i,u,d,r,l;e=o()(".js-pubguru-connect"),t=o()(".js-pubguru-disconnect"),a=o()("#advads-m2-connect"),n=o()(".js-pubguru-connecting"),c=n.next(".aa-spinner"),i=o()(".pubguru-connected"),u=o()(".pubguru-not-connected"),e.on("click",".button",(function(e){e.preventDefault(),a.show()})),o()("#m2-connect-consent").on("change",(function(){var e=o()(this);n.prop("disabled",!e.is(":checked"))})),n.on("click",(function(a){a.preventDefault(),c.addClass("show"),o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_connect",nonce:advadsglobal.ajax_nonce},dataType:"json"}).done((function(a){a.success&&(u.addClass("hidden"),e.addClass("hidden"),i.removeClass("hidden"),t.removeClass("hidden"),o()(".pg-tc-trail").toggle(!a.data.hasTrafficCop),o()(".pg-tc-install").toggle(a.data.hasTrafficCop),s(a.data.message,"success",!0))})).fail((function(e){s(e.responseJSON.data,"error")})).complete((function(){return c.removeClass("show")}))})),t.on("click",".button",(function(n){n.preventDefault(),a.hide(),u.removeClass("hidden"),e.removeClass("hidden"),i.addClass("hidden"),t.addClass("hidden"),o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_disconnect",nonce:advadsglobal.ajax_nonce},dataType:"json"}).done((function(e){e.success&&s(e.data.message,"success",!0)}))})),d=o()("#pubguru-modules"),r=o()("#pubguru-notices"),l=o()("#pubguru-header-bidding-at-body").closest("div"),d.on("input","input:checkbox",(function(){var e=o()(this),t=e.attr("name"),a=e.is(":checked");"header_bidding"===t&&l.toggle(a),o().ajax({url:d.attr("action"),method:"POST",data:{action:"pubguru_module_change",security:d.data("security"),module:t,status:a}}).done((function(e){var t=e.data.notice,a=void 0===t?"":t;r.html(""),""!==a&&r.html(a)}))})),o()(document).on("click",".js-btn-backup-adstxt",(function(){var e=o()(this),t=e.closest(".notice");e.prop("disabled",!0),e.html(e.data("loading")),o().ajax({url:d.attr("action"),method:"POST",data:{action:"pubguru_backup_ads_txt",security:e.data("security")}}).always((function(){e.prop("disabled",!1),e.html(e.data("text"))})).done((function(e){if(e.success){var a=o()(e.data);r.html(a),t.after(a),t.remove(),setTimeout((function(){a.fadeOut("slow",(function(){a.html("")}))}),4e3)}else r.html(e.data),t.after(e.data)}))})),o()("#advads-overview").on("click",".notice-dismiss",(function(e){e.preventDefault();var t=o()(this).parent();t.fadeOut(500,(function(){t.remove()}))}))}o()((function(){c()}))},576:()=>{}},a={};function n(e){var o=a[e];if(void 0!==o)return o.exports;var s=a[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.m=t,e=[],n.O=(t,a,o,s)=>{if(!a){var c=1/0;for(r=0;r<e.length;r++){for(var[a,o,s]=e[r],i=!0,u=0;u<a.length;u++)(!1&s||c>=s)&&Object.keys(n.O).every((e=>n.O[e](a[u])))?a.splice(u--,1):(i=!1,s<c&&(c=s));if(i){e.splice(r--,1);var d=o();void 0!==d&&(t=d)}}return t}s=s||0;for(var r=e.length;r>0&&e[r-1][2]>s;r--)e[r]=e[r-1];e[r]=[a,o,s]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={845:0,196:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var o,s,[c,i,u]=a,d=0;if(c.some((t=>0!==e[t]))){for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(u)var r=u(n)}for(t&&t(a);d<c.length;d++)s=c[d],n.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return n.O(r)},a=globalThis.webpackChunkadvanced_ads=globalThis.webpackChunkadvanced_ads||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})(),n.O(void 0,[196],(()=>n(612)));var o=n.O(void 0,[196],(()=>n(576)));o=n.O(o)})();
     1(()=>{"use strict";var e,t={612:(e,t,n)=>{const a=jQuery;var o=n.n(a);function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=o()('<div class="notice notice-'.concat(t,' is-dismissible" />'));a.html("<p>"+e+'</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button>'),o()("#pubguru-notices").append(a),n&&setTimeout((function(){a.fadeOut(500,(function(){a.remove()}))}),3e3)}function c(){var e,t,n,a,c,i,u,d,r,l,p,v,f;e=o()(".js-pubguru-connect"),t=o()(".js-pubguru-disconnect"),n=o()("#advads-m2-connect"),a=o()(".js-pubguru-connecting"),c=o()(".js-pubguru-continue"),i=a.next(".aa-spinner"),u=o()(".pubguru-connected"),d=o()(".pubguru-not-connected"),r=o()("#pubguru-warning"),l=o()(".js-pubguru-cancel"),e.on("click",".button",(function(e){e.preventDefault(),n.show()})),o()("#m2-connect-consent").on("change",(function(){var e=o()(this);c.prop("disabled",!e.is(":checked"))})),l.on("click",(function(e){e.preventDefault(),c.show(),r.addClass("hidden")})),c.on("click",(function(e){e.preventDefault(),c.hide(),r.removeClass("hidden")})),a.on("click",(function(n){n.preventDefault(),i.addClass("show");var a=o()("#m2-oci-test-domain");a=a.length?a.val():"",o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_connect",nonce:advadsglobal.ajax_nonce,testDomain:a},dataType:"json"}).done((function(n){n.success&&(d.addClass("hidden"),e.addClass("hidden"),u.removeClass("hidden"),t.removeClass("hidden"),o()(".pg-tc-trail").toggle(!n.data.hasTrafficCop),o()(".pg-tc-install").toggle(n.data.hasTrafficCop),s(n.data.message,"success"))})).fail((function(e){s(e.responseJSON.data,"error")})).complete((function(){return i.removeClass("show")}))})),t.on("click",".button",(function(a){a.preventDefault(),n.hide(),d.removeClass("hidden"),e.removeClass("hidden"),u.addClass("hidden"),t.addClass("hidden"),o().ajax({type:"POST",url:ajaxurl,data:{action:"pubguru_disconnect",nonce:advadsglobal.ajax_nonce},dataType:"json"}).done((function(e){e.success&&s(e.data.message,"success")}))})),p=o()("#pubguru-modules"),v=o()("#pubguru-notices"),f=o()("#pubguru-header-bidding-at-body").closest("div"),p.on("input","input:checkbox",(function(){var e=o()(this),t=e.attr("name"),n=e.is(":checked");"header_bidding"===t&&f.toggle(n),o().ajax({url:p.attr("action"),method:"POST",data:{action:"pubguru_module_change",security:p.data("security"),module:t,status:n}}).done((function(e){var t=e.data.notice,n=void 0===t?"":t;v.html(""),""!==n&&v.html(n)}))})),o()(document).on("click",".js-btn-backup-adstxt",(function(){var e=o()(this),t=e.closest(".notice");e.prop("disabled",!0),e.html(e.data("loading")),o().ajax({url:p.attr("action"),method:"POST",data:{action:"pubguru_backup_ads_txt",security:e.data("security")}}).always((function(){e.prop("disabled",!1),e.html(e.data("text"))})).done((function(e){if(e.success){var n=o()(e.data);v.html(n),t.after(n),t.remove(),setTimeout((function(){n.fadeOut("slow",(function(){n.html("")}))}),4e3)}else v.html(e.data),t.after(e.data)}))})),o()("#advads-overview").on("click",".notice-dismiss",(function(e){e.preventDefault();var t=o()(this).parent();t.fadeOut(500,(function(){t.remove()}))}))}o()((function(){c()}))},576:()=>{}},n={};function a(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,a),s.exports}a.m=t,e=[],a.O=(t,n,o,s)=>{if(!n){var c=1/0;for(r=0;r<e.length;r++){for(var[n,o,s]=e[r],i=!0,u=0;u<n.length;u++)(!1&s||c>=s)&&Object.keys(a.O).every((e=>a.O[e](n[u])))?n.splice(u--,1):(i=!1,s<c&&(c=s));if(i){e.splice(r--,1);var d=o();void 0!==d&&(t=d)}}return t}s=s||0;for(var r=e.length;r>0&&e[r-1][2]>s;r--)e[r]=e[r-1];e[r]=[n,o,s]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={845:0,196:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var o,s,[c,i,u]=n,d=0;if(c.some((t=>0!==e[t]))){for(o in i)a.o(i,o)&&(a.m[o]=i[o]);if(u)var r=u(a)}for(t&&t(n);d<c.length;d++)s=c[d],a.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return a.O(r)},n=globalThis.webpackChunkadvanced_ads=globalThis.webpackChunkadvanced_ads||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.O(void 0,[196],(()=>a(612)));var o=a.O(void 0,[196],(()=>a(576)));o=a.O(o)})();
  • advanced-ads/trunk/assets/src/modules/oneclick/connect-button.js

    r3145275 r3170554  
    2828    const metabox = jQuery('#advads-m2-connect');
    2929    const connectButton = jQuery('.js-pubguru-connecting');
     30    const continueButton = jQuery('.js-pubguru-continue');
    3031    const spinner = connectButton.next('.aa-spinner');
    3132    const contentConnected = jQuery('.pubguru-connected');
    3233    const contentNotConnected = jQuery('.pubguru-not-connected');
     34    const warningBox = jQuery('#pubguru-warning');
     35    const cancelButton = jQuery('.js-pubguru-cancel');
    3336
    3437    // Show consent box.
     
    4043    jQuery('#m2-connect-consent').on('change', function () {
    4144        const checkbox = jQuery(this);
    42         connectButton.prop('disabled', !checkbox.is(':checked'));
     45        continueButton.prop('disabled', !checkbox.is(':checked'));
     46    });
     47
     48    cancelButton.on('click', function (event) {
     49        event.preventDefault();
     50        continueButton.show();
     51        warningBox.addClass('hidden');
     52    });
     53
     54    continueButton.on('click', function (event) {
     55        event.preventDefault();
     56        continueButton.hide();
     57        warningBox.removeClass('hidden');
    4358    });
    4459
     
    4762
    4863        spinner.addClass('show');
     64
     65        let testDomain = jQuery('#m2-oci-test-domain');
     66        testDomain = testDomain.length ? testDomain.val() : '';
     67
    4968        jQuery
    5069            .ajax({
     
    5473                    action: 'pubguru_connect',
    5574                    nonce: advadsglobal.ajax_nonce,
     75                    testDomain,
    5676                },
    5777                dataType: 'json',
     
    102122                }
    103123
    104                 createNotice(response.data.message, 'success', true);
     124                createNotice(response.data.message, 'success');
    105125            });
    106126    });
  • advanced-ads/trunk/classes/in-content-injector.php

    r3145275 r3170554  
    472472
    473473        // Add tags before/after which ad placehoders were injected.
     474        $alts = [];
    474475        foreach ( $ads_for_placeholders as $ad_content ) {
    475             $alts = [];
    476             $tag  = $ad_content['tag'];
     476            $tag = $ad_content['tag'];
    477477
    478478            switch ( $ad_content['position'] ) {
  • advanced-ads/trunk/includes/importers/class-api-ads.php

    r3145275 r3170554  
    205205        $type = strtolower( str_replace( ' ', '_', $type ) );
    206206        $hash = [
    207             'leaderboard'  => 'post_bottom',
     207            'leaderboard'  => 'post_top',
    208208            'in_content_1' => 'post_content',
    209209            'in_content_2' => 'post_content',
     
    354354    private function normalize_ads( $ads ): array {
    355355        $normalized = [];
     356        $in_content = [
     357            'in-content1' => [
     358                'count'    => 3,
     359                'position' => 'after',
     360                'repeat'   => false,
     361            ],
     362            'in-content2' => [
     363                'count'    => 5,
     364                'position' => 'after',
     365                'repeat'   => false,
     366            ],
     367            'in-content3' => [
     368                'count'    => 7,
     369                'position' => 'after',
     370                'repeat'   => true,
     371            ],
     372        ];
    356373
    357374        foreach ( $ads as $ad ) {
     
    361378            }
    362379
    363             if ( empty( $ad['in_content_position'] ) ) {
    364                 $ad['in_content_position'] = Str::contains( 'in_content_2', $ad['slot'] ) ? 'After' : 'Before';
    365             }
    366 
    367             if ( empty( $ad['in_content_count'] ) ) {
    368                 $ad['in_content_count'] = Str::contains( 'in_content_2', $ad['slot'] ) ? 3 : 1;
    369             }
    370 
    371             if ( empty( $ad['in_content_repeat'] ) ) {
    372                 $ad['in_content_repeat'] = Str::contains( 'in_content_2', $ad['slot'] ) ? true : false;
     380            foreach ( $in_content as $key => $value ) {
     381                $matches = [];
     382                preg_match( '/.*in[-_]?content[_-]?(\d+).*/', $ad['slot'], $matches );
     383                if ( ! empty( $matches ) && ( 'in-content' . $matches[1] ) === $key ) {
     384                    if ( empty( $ad['in_content_count'] ) ) {
     385                        $ad['in_content_count'] = $value['count'];
     386                    }
     387
     388                    if ( empty( $ad['in_content_position'] ) ) {
     389                        $ad['in_content_position'] = $value['position'];
     390                    }
     391
     392                    if ( empty( $ad['in_content_repeat'] ) ) {
     393                        $ad['in_content_repeat'] = $value['repeat'];
     394                    }
     395                    break;
     396                }
    373397            }
    374398
     
    378402                'placement'            => $this->map_placement_type( $ad['slot'] ),
    379403                'placement_conditions' => $this->parse_display_conditions( $data['placement_conditions'] ?? 'all' ),
    380                 'in_content_position'  => $ad['in_content_position'],
    381                 'in_content_count'     => $ad['in_content_count'],
     404                'in_content_position'  => $ad['in_content_position'] ?? 'before',
     405                'in_content_count'     => $ad['in_content_count'] ?? 1,
    382406                'in_content_element'   => $ad['in_content_element'] ?? 'p',
    383407                'in_content_repeat'    => $ad['in_content_repeat'] ?? false,
  • advanced-ads/trunk/languages/advanced-ads.pot

    r3145895 r3170554  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Advanced Ads 1.54.0\n"
     5"Project-Id-Version: Advanced Ads 1.54.1\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/advanced-ads/\n"
    77"Last-Translator: Thomas Maier <[email protected]>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2024-09-03T11:24:20+00:00\n"
     12"POT-Creation-Date: 2024-10-16T11:58:57+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.6.0\n"
     
    489489#: admin/views/settings/general/custom-label.php:10
    490490#: admin/views/settings/general/disable-notices.php:14
     491#: admin/views/settings/general/link-target.php:12
    491492#: classes/ad_type_plain.php:255
    492493#: classes/display-conditions.php:887
     
    543544msgstr ""
    544545
    545 #: admin/includes/class-meta-box.php:611
    546 msgid "Visit our blog for more articles about ad optimization"
    547 msgstr ""
    548 
    549546#. translators: %s is our URL.
    550 #: admin/includes/class-meta-box.php:666
     547#: admin/includes/class-meta-box.php:683
    551548msgid "Latest posts on wpadvancedads.com"
    552549msgstr ""
     
    13341331#: admin/views/modal.php:26
    13351332#: admin/views/modal.php:40
     1333#: views/admin/metabox-pubguru-connect.php:51
    13361334msgid "Cancel"
    13371335msgstr ""
     
    41804178msgstr ""
    41814179
    4182 #: modules/one-click/admin/class-ajax.php:78
     4180#: modules/one-click/admin/class-ajax.php:81
    41834181msgid "We have successfully migrated your MonetizeMore Pubguru Ad Units to your WordPress site. The existing placements and ads have been paused."
    41844182msgstr ""
    41854183
    4186 #: modules/one-click/admin/class-ajax.php:96
     4184#: modules/one-click/admin/class-ajax.php:99
    41874185msgid "Pubguru successfully disconnected."
    41884186msgstr ""
    41894187
    4190 #: modules/one-click/admin/class-ajax.php:132
    4191 #: modules/one-click/admin/class-ajax.php:167
     4188#: modules/one-click/admin/class-ajax.php:135
     4189#: modules/one-click/admin/class-ajax.php:170
    41924190msgid "An error has occurred please try again."
    41934191msgstr ""
    41944192
    4195 #: modules/one-click/admin/class-ajax.php:139
     4193#: modules/one-click/admin/class-ajax.php:142
    41964194msgid "File successfully backed up."
    41974195msgstr ""
     
    43884386
    43894387#. translators: %s link to privacy policy
    4390 #: views/admin/metabox-pubguru-connect.php:23
     4388#: views/admin/metabox-pubguru-connect.php:24
    43914389msgid "This form is designed exclusively for MonetizeMore customers who wish to integrate Advanced Ads with the PubGuru Dashboard. By selecting \"Connect PGHB,\" you agree to share your domain name to facilitate the connection with your PubGuru account, in alignment with our <a href=\"%s\">Privacy Policy</a>. Rest assured, no additional information is exchanged, and Advanced Ads does not engage in any tracking activities."
    43924390msgstr ""
    43934391
    4394 #: views/admin/metabox-pubguru-connect.php:32
     4392#: views/admin/metabox-pubguru-connect.php:42
    43954393msgid "Connect PGHB"
    43964394msgstr ""
    43974395
    4398 #: views/admin/metabox-pubguru-connect.php:43
     4396#: views/admin/metabox-pubguru-connect.php:48
     4397msgid "When you connect to PubGuru, your existing ads and placements will be drafted, and PubGuru ad units will be imported automatically. If needed, you can easily rollback these changes at any time."
     4398msgstr ""
     4399
     4400#: views/admin/metabox-pubguru-connect.php:52
     4401msgid "Continue"
     4402msgstr ""
     4403
     4404#: views/admin/metabox-pubguru-connect.php:64
    43994405msgid "To activate any of the settings with your PubGuru account, please select from the options below. Should you have any inquiries, feel free to <a href=\"https://www.monetizemore.com/contact/\">click here<a/> to reach out to us or send an email to <a href=\"mailto:[email protected]\">[email protected]</a>"
    44004406msgstr ""
    44014407
    4402 #: views/admin/metabox-pubguru-connect.php:53
     4408#: views/admin/metabox-pubguru-connect.php:74
    44034409msgid "Install PubGuru Header Bidding"
    44044410msgstr ""
    44054411
    4406 #: views/admin/metabox-pubguru-connect.php:63
     4412#: views/admin/metabox-pubguru-connect.php:84
    44074413msgid "Move the PubGuru Header Bidding script to the footer. Keep this option disabled to maximize revenue. Only enable it if PageSpeed is your priority."
    44084414msgstr ""
    44094415
    4410 #: views/admin/metabox-pubguru-connect.php:75
     4416#: views/admin/metabox-pubguru-connect.php:96
    44114417msgid "Enable ads.txt settings from the <a href=\"https://app.pubguru.com/ads-txt\" target=\"_blank\">PubGuru platform</a>"
    44124418msgstr ""
    44134419
    4414 #: views/admin/metabox-pubguru-connect.php:94
     4420#: views/admin/metabox-pubguru-connect.php:115
    44154421msgid "Install Traffic Cop. 7 days free trial"
    44164422msgstr ""
    44174423
    4418 #: views/admin/metabox-pubguru-connect.php:97
     4424#: views/admin/metabox-pubguru-connect.php:118
    44194425msgid "Install Traffic Cop."
    44204426msgstr ""
    44214427
    4422 #: views/admin/metabox-pubguru-connect.php:107
     4428#: views/admin/metabox-pubguru-connect.php:128
    44234429msgid "Activate Tag Conversion"
    44244430msgstr ""
    44254431
    4426 #: views/admin/metabox-pubguru-connect.php:132
     4432#: views/admin/metabox-pubguru-connect.php:153
    44274433msgid "Rollback"
    44284434msgstr ""
    44294435
    4430 #: views/admin/metabox-pubguru-connect.php:133
     4436#: views/admin/metabox-pubguru-connect.php:154
    44314437msgid "Rollback the api changes back to previous state."
    44324438msgstr ""
  • advanced-ads/trunk/modules/one-click/admin/class-ajax.php

    r3145275 r3170554  
    7373            );
    7474        }
     75
     76        // Default module enabled.
     77        Options::module( 'header_bidding', true );
    7578
    7679        wp_send_json_success(
     
    151154     */
    152155    private function pubguru_api_connect() {
    153         $domain   = WordPress::get_site_domain();
     156        $domain   = Params::post( 'testDomain' ) ? Params::post( 'testDomain' ) : WordPress::get_site_domain();
    154157        $domain   = str_replace( 'www.', '', $domain );
    155158        $response = wp_remote_get(
  • advanced-ads/trunk/modules/one-click/class-helpers.php

    r3145275 r3170554  
    4848     *
    4949     * Cases
    50      *  1. For mobile prefix => pg.mobile
    51      *  2. For desktop prefix => pg.desktop
    52      *  3. If none of the prefix is found than go with the first one
     50     *  1. For auto_created
     51     *  2. For mobile prefix
     52     *  3. For desktop prefix
     53     *  4. If none of the prefix is found than go with the first one
     54     *  5. No configuration found => pg.{domain}.js
    5355     *
    5456     * @return bool|string
     
    6466        $configs             = Options::pubguru_config();
    6567
     68        // 1. For auto_created  => pg.{domain}_auto_created.js
     69        foreach ( $configs['configs'] as $config ) {
     70            if ( isset( $config['auto_created'] ) && $config['auto_created'] ) {
     71                $pubguru_config_name = $config['name'];
     72                return $pubguru_config_name;
     73            }
     74        }
     75
     76        // 5. No configuration found => pg.{domain}.js
    6677        if ( ! isset( $configs['configs'] ) || empty( $configs['configs'] ) ) {
    6778            $domain = WordPress::get_site_domain( 'name' );
     
    6980        }
    7081
    71         $pubguru_config_name = wp_is_mobile() ? self::config_contains( 'mobile' ) : self::config_contains( 'desktop' );
    72         $pubguru_config_name = false !== $pubguru_config_name ? $pubguru_config_name : $configs['configs'][0]['name'];
     82        $pubguru_config_name = wp_is_mobile()
     83            // 2. For mobile prefix
     84            ? self::config_contains( 'mobile' )
     85            // 3. For desktop prefix
     86            : self::config_contains( 'desktop' );
     87        $pubguru_config_name = false !== $pubguru_config_name
     88            ? $pubguru_config_name
     89            // 4. If none of the prefix is found than go with the first one
     90            : $configs['configs'][0]['name'];
    7391
    7492        return $pubguru_config_name;
     
    110128     * Get ads from saved config.
    111129     *
     130     * In this order
     131     *   1. Get ads from auto_created = true
     132     *   2. Get ads from first config
     133     *   3. Get ads from default config
     134     *
    112135     * @return bool|array
    113136     */
     
    122145        $pubguru_config_ads = false;
    123146
     147        // 1. Get ads from auto_created = true
     148        foreach ( $config['configs'] as $config ) {
     149            if ( isset( $config['auto_created'] ) && $config['auto_created'] ) {
     150                $pubguru_config_ads = $config['ad_units'];
     151                return $pubguru_config_ads;
     152            }
     153        }
     154
     155        // 2. Get ads from first config
    124156        if ( isset( $config['configs'][0]['ad_units'] ) && ! empty( $config['configs'][0]['ad_units'] ) ) {
    125             $pubguru_config_ads = [];
    126 
    127             foreach ( $config['configs'] as $config ) {
    128                 foreach ( $config['ad_units'] as $ad_id => $ad ) {
    129                     $pubguru_config_ads[ $ad_id ] = $ad;
    130                 }
    131             }
     157            $pubguru_config_ads = $config['configs'][0]['ad_units'];
    132158        } else {
     159            // 3. Get ads from default config
    133160            $domain             = WordPress::get_site_domain();
    134161            $pubguru_config_ads = [
  • advanced-ads/trunk/readme.txt

    r3145895 r3170554  
    55Tested up to: 6.5
    66Requires PHP: 7.2
    7 Stable tag: 1.54.1
     7Stable tag: 1.55.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    357357== Changelog ==
    358358
    359 = 1.54.1 (September 3, 2024) =
    360 
    361 - Fix: resolve a JavaScript issue on Google AdSense and Ad Manager pages
    362 
    363 = 1.54.0 (September 2, 2024) =
    364 
     359= 1.55.0 (October 16, 2024) =
     360
     361- Improvement: add manual links to some settings
    365362- Improvement: enhance PubGuru one click integration
    366 - Fix: prevent PHP warning when using ad debug
    367 - Fix: readd drafted ads to group statistics on the statistic page
    368 - Fix: resolve issue with ad blocker detection
     363- Fix: correct an issue with repeating ads before a heading
  • advanced-ads/trunk/views/admin/metabox-pubguru-connect.php

    r3145275 r3170554  
    77 */
    88
     9use AdvancedAds\Framework\Utilities\Params;
    910use AdvancedAds\Modules\OneClick\Options;
    1011
     
    1213?>
    1314<div class="pubguru-not-connected space-y-4<?php echo false === $pubguru_config ? '' : ' hidden'; ?>">
    14     <label for="m2-connect-consent" class="flex items-center w-full">
     15    <label for="m2-connect-consent" class="flex items-center w-full mt-4">
    1516        <span class="self-start">
    1617            <input type="checkbox" class="!mt-1 !mr-2" id="m2-connect-consent">
     
    2930    </label>
    3031
     32    <?php if ( 'domain' === Params::get( 'aa-oci' ) ) : ?>
     33    <label for="test-domain" class="flex items-center w-full">
     34        <strong class="mr-4">Test Domain:</strong>
     35        <span>
     36            <input type="text" id="m2-oci-test-domain">
     37        </span>
     38    </label>
     39    <?php endif; ?>
     40
    3141    <div class="flex items-center gap-x-4">
    32         <button class="button button-primary js-pubguru-connecting" disabled type="button"><?php esc_html_e( 'Connect PGHB', 'advanced-ads' ); ?></button>
     42        <button class="button button-primary js-pubguru-continue" disabled type="button"><?php esc_html_e( 'Connect PGHB', 'advanced-ads' ); ?></button>
    3343        <div class="lds-ripple aa-spinner"><div></div><div></div></div>
     44    </div>
     45
     46    <div id="pubguru-warning" class="hidden">
     47        <div class="flex items-center bg-[#f2fcff] border border-solid border-advads px-4 rounded mb-4">
     48            <p><?php esc_html_e( 'When you connect to PubGuru, your existing ads and placements will be drafted, and PubGuru ad units will be imported automatically. If needed, you can easily rollback these changes at any time.', 'advanced-ads' ); ?></p>
     49        </div>
     50        <div class="flex items-center gap-x-4">
     51            <button class="button button-secondary js-pubguru-cancel" type="button"><?php esc_html_e( 'Cancel', 'advanced-ads' ); ?></button>
     52            <button class="button button-primary js-pubguru-connecting" type="button"><?php esc_html_e( 'Continue', 'advanced-ads' ); ?></button>
     53            <div class="lds-ripple aa-spinner"><div></div><div></div></div>
     54        </div>
    3455    </div>
    3556</div>
Note: See TracChangeset for help on using the changeset viewer.