Plugin Directory

Changeset 2273492


Ignore:
Timestamp:
04/02/2020 02:22:21 AM (6 years ago)
Author:
tomdude
Message:

rolling release/5.4.5

Location:
ga-in/trunk
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • ga-in/trunk/admin/settings.php

    r1904917 r2273492  
    341341                                <tr>
    342342                                    <td class="gainwp-settings-title">
    343                                         <label for="ga_author_dimindex"><?php _e("Authors:", 'ga-in' ); ?>
     343                                        <label for="ga_author_dimindex"><?php _e("Authors (display name):", 'ga-in' ); ?>
    344344                                        </label>
    345345                                    </td>
     
    354354                                <tr>
    355355                                    <td class="gainwp-settings-title">
     356                                        <label for="ga_author_dimindex"><?php _e("Authors (user login):", 'ga-in' ); ?>
     357                                        </label>
     358                                    </td>
     359                                    <td>
     360                                        <select id="ga_author_dimindex" name="options[ga_author_login_dimindex]">
     361                                        <?php for ($i=0;$i<21;$i++) : ?>
     362                                            <option value="<?php echo $i;?>" <?php selected( $options['ga_author_login_dimindex'], $i ); ?>><?php echo 0 == $i ?'Disabled':'dimension '.$i; ?></option>
     363                                        <?php endfor; ?>
     364                                        </select>
     365                                    </td>
     366                                </tr>
     367                                <tr>
     368                                    <td class="gainwp-settings-title">
    356369                                        <label for="ga_pubyear_dimindex"><?php _e("Publication Year:", 'ga-in' ); ?>
    357370                                        </label>
     
    426439                                <tr>
    427440                                    <td class="gainwp-settings-title">
    428                                         <label for="tm_author_var"><?php _e("Authors:", 'ga-in' ); ?>
     441                                        <label for="tm_author_var"><?php _e("Authors (display name):", 'ga-in' ); ?>
    429442                                        </label>
    430443                                    </td>
     
    433446                                            <option value="1" <?php selected( $options['tm_author_var'], 1 ); ?>>gainwpAuthor</option>
    434447                                            <option value="0" <?php selected( $options['tm_author_var'], 0 ); ?>><?php _e( "Disabled", 'ga-in' ); ?></option>
     448                                        </select>
     449                                    </td>
     450                                </tr>
     451                                <tr>
     452                                    <td class="gainwp-settings-title">
     453                                        <label for="tm_author_var"><?php _e("Authors (user login):", 'ga-in' ); ?>
     454                                        </label>
     455                                    </td>
     456                                    <td>
     457                                        <select id="tm_author_var" name="options[tm_author_login_var]">
     458                                            <option value="1" <?php selected( $options['tm_author_login_var'], 1 ); ?>>gainwpAuthor</option>
     459                                            <option value="0" <?php selected( $options['tm_author_login_var'], 0 ); ?>><?php _e( "Disabled", 'ga-in' ); ?></option>
    435460                                        </select>
    436461                                    </td>
  • ga-in/trunk/config.php

    r1893129 r2273492  
    6363        private function validate_data( $options ) {
    6464            /* @formatter:off */
    65             $numerics = array(  'ga_realtime_pages',
    66                                 'ga_enhanced_links',
    67                                 'ga_crossdomain_tracking',
    68                                 'ga_author_dimindex',
    69                                 'ga_category_dimindex',
    70                                 'ga_tag_dimindex',
    71                                 'ga_user_dimindex',
    72                                 'ga_pubyear_dimindex',
    73                                 'ga_pubyearmonth_dimindex',
    74                                 'tm_author_var',
    75                                 'tm_category_var',
    76                                 'tm_tag_var',
    77                                 'tm_user_var',
    78                                 'tm_pubyear_var',
    79                                 'tm_pubyearmonth_var',
    80                                 'ga_aff_tracking',
    81                                 'amp_tracking_analytics',
    82                                 'amp_tracking_clientidapi',
    83                                 'amp_tracking_tagmanager',
    84                                 'optimize_tracking',
    85                                 'optimize_pagehiding',
    86                                 'trackingcode_infooter',
    87                                 'trackingevents_infooter',
    88                                 'ga_formsubmit_tracking',
    89                                 'superadmin_tracking',
    90                                 'ga_pagescrolldepth_tracking',
    91                                 'tm_pagescrolldepth_tracking',
    92                                 'ga_speed_samplerate',
    93                                 'ga_user_samplerate',
    94                                 'ga_event_precision',
    95                                 'with_endpoint',
    96                                 'backend_realtime_report',
    97                                 'ga_optout',
    98                                 'ga_dnt_optout',
    99                                 'tm_optout',
    100                                 'tm_dnt_optout',
    101                                 'ga_with_gtag',
     65            $numerics = array(
     66              'ga_realtime_pages',
     67        'ga_enhanced_links',
     68        'ga_crossdomain_tracking',
     69        'ga_author_dimindex',
     70        'ga_author_login_dimindex',
     71        'ga_category_dimindex',
     72        'ga_tag_dimindex',
     73        'ga_user_dimindex',
     74        'ga_pubyear_dimindex',
     75        'ga_pubyearmonth_dimindex',
     76        'tm_author_var',
     77        'tm_author_login_var',
     78        'tm_category_var',
     79        'tm_tag_var',
     80        'tm_user_var',
     81        'tm_pubyear_var',
     82        'tm_pubyearmonth_var',
     83        'ga_aff_tracking',
     84        'amp_tracking_analytics',
     85        'amp_tracking_clientidapi',
     86        'amp_tracking_tagmanager',
     87        'optimize_tracking',
     88        'optimize_pagehiding',
     89        'trackingcode_infooter',
     90        'trackingevents_infooter',
     91        'ga_formsubmit_tracking',
     92        'superadmin_tracking',
     93        'ga_pagescrolldepth_tracking',
     94        'tm_pagescrolldepth_tracking',
     95        'ga_speed_samplerate',
     96        'ga_user_samplerate',
     97        'ga_event_precision',
     98        'with_endpoint',
     99        'backend_realtime_report',
     100        'ga_optout',
     101        'ga_dnt_optout',
     102        'tm_optout',
     103        'tm_dnt_optout',
     104        'ga_with_gtag',
    102105            );
    103106            foreach ( $numerics as $key ) {
     
    256259            /* @formatter:off */
    257260            $zeros = array(     'ga_enhanced_links',
    258                                 'network_mode',
    259                                 'ga_enhanced_excludesa',
    260                                 'ga_remarketing',
    261                                 'ga_event_bouncerate',
    262                                 'ga_author_dimindex',
    263                                 'ga_tag_dimindex',
    264                                 'ga_category_dimindex',
    265                                 'ga_user_dimindex',
    266                                 'ga_pubyear_dimindex',
    267                                 'ga_pubyearmonth_dimindex',
    268                                 'tm_author_var', // v5.0
    269                                 'tm_category_var', // v5.0
    270                                 'tm_tag_var', // v5.0
    271                                 'tm_user_var', // v5.0
    272                                 'tm_pubyear_var', // v5.0
    273                                 'tm_pubyearmonth_var', // v5.0
    274                                 'ga_crossdomain_tracking',
    275                                 'api_backoff',  // v4.8.1.3
    276                                 'ga_aff_tracking',
    277                                 'ga_hash_tracking',
    278                                 'switch_profile', // V4.7
    279                                 'amp_tracking_analytics', //v5.0
    280                                 'amp_tracking_clientidapi', //v5.1.2
    281                                 'optimize_tracking', //v5.0
    282                                 'optimize_pagehiding', //v5.0
    283                                 'amp_tracking_tagmanager', //v5.0
    284                                 'trackingcode_infooter', //v5.0
    285                                 'trackingevents_infooter', //v5.0
    286                                 'ga_formsubmit_tracking', //v5.0
    287                                 'superadmin_tracking', //v5.0
    288                                 'ga_pagescrolldepth_tracking', //v5.0
    289                                 'tm_pagescrolldepth_tracking', //v5.0
    290                                 'ga_event_precision', //v5.1.1.1
    291                                 'ga_force_ssl', //v5.1.2
    292                                 'with_endpoint', //v5.2
    293                                 'backend_realtime_report', //v5.2
    294                                 'ga_optout', //v5.2.3
    295                                 'ga_dnt_optout', //v5.2.3
    296                                 'ga_with_gtag', //v5.3
    297                                 'frontend_item_reports',
    298                                 'tm_optout', //v5.3.1.2
    299                                 'tm_dnt_optout', //v5.3.1.2
     261        'network_mode',
     262        'ga_enhanced_excludesa',
     263        'ga_remarketing',
     264        'ga_event_bouncerate',
     265        'ga_author_dimindex',
     266        'ga_author_login_dimindex',
     267        'ga_tag_dimindex',
     268        'ga_category_dimindex',
     269        'ga_user_dimindex',
     270        'ga_pubyear_dimindex',
     271        'ga_pubyearmonth_dimindex',
     272        'tm_author_var', // v5.0
     273        'tm_author_login_var', // v5.4.5
     274        'tm_category_var', // v5.0
     275        'tm_tag_var', // v5.0
     276        'tm_user_var', // v5.0
     277        'tm_pubyear_var', // v5.0
     278        'tm_pubyearmonth_var', // v5.0
     279        'ga_crossdomain_tracking',
     280        'api_backoff',  // v4.8.1.3
     281        'ga_aff_tracking',
     282        'ga_hash_tracking',
     283        'switch_profile', // V4.7
     284        'amp_tracking_analytics', //v5.0
     285        'amp_tracking_clientidapi', //v5.1.2
     286        'optimize_tracking', //v5.0
     287        'optimize_pagehiding', //v5.0
     288        'amp_tracking_tagmanager', //v5.0
     289        'trackingcode_infooter', //v5.0
     290        'trackingevents_infooter', //v5.0
     291        'ga_formsubmit_tracking', //v5.0
     292        'superadmin_tracking', //v5.0
     293        'ga_pagescrolldepth_tracking', //v5.0
     294        'tm_pagescrolldepth_tracking', //v5.0
     295        'ga_event_precision', //v5.1.1.1
     296        'ga_force_ssl', //v5.1.2
     297        'with_endpoint', //v5.2
     298        'backend_realtime_report', //v5.2
     299        'ga_optout', //v5.2.3
     300        'ga_dnt_optout', //v5.2.3
     301        'ga_with_gtag', //v5.3
     302        'frontend_item_reports',
     303        'tm_optout', //v5.3.1.2
     304        'tm_dnt_optout', //v5.3.1.2
    300305            );
    301306            foreach ( $zeros as $key ) {
  • ga-in/trunk/front/js/tracking-analytics-events.js

    r1893129 r2273492  
    1 "use strict";var gainwpRedirectLink;var gainwpRedirectCalled=false;var gainwpDefaultPrevented=false;function gainwpRedirect(){if(gainwpRedirectCalled){return}gainwpRedirectCalled=true;if(gainwpDefaultPrevented==false){document.location.href=gainwpRedirectLink}else{gainwpDefaultPrevented=false}}function gainwp_send_event(c,d,a,b){if(gainwpUAEventsData.options.ga_with_gtag){if(b){if(gainwpUAEventsData.options.event_bouncerate){gtag("event",d,{event_category:c,event_label:a,non_interaction:1,event_callback:gainwpRedirect})}else{gtag("event",d,{event_category:c,event_label:a,event_callback:gainwpRedirect})}}else{if(gainwpUAEventsData.options.event_bouncerate){gtag("event",d,{event_category:c,event_label:a,non_interaction:1})}else{gtag("event",d,{event_category:c,event_label:a})}}}else{if(b){if(gainwpUAEventsData.options.event_bouncerate){ga("send","event",c,d,a,{nonInteraction:1,hitCallback:gainwpRedirect})}else{ga("send","event",c,d,a,{hitCallback:gainwpRedirect})}}else{if(gainwpUAEventsData.options.event_bouncerate){ga("send","event",c,d,a,{nonInteraction:1})}else{ga("send","event",c,d,a)}}}}jQuery(window).on("load",function(){if(gainwpUAEventsData.options.event_tracking){jQuery("a").filter(function(){if(typeof this.href==="string"){var a=new RegExp(".*\\.("+gainwpUAEventsData.options.event_downloads+")(\\?.*)?$");return this.href.match(a)}}).click(function(d){var b=this.getAttribute("data-vars-ga-category")||"download";var c=this.getAttribute("data-vars-ga-action")||"click";var a=this.getAttribute("data-vars-ga-label")||this.href;gainwp_send_event(b,c,a,false)});jQuery('a[href^="mailto"]').click(function(d){var b=this.getAttribute("data-vars-ga-category")||"email";var c=this.getAttribute("data-vars-ga-action")||"send";var a=this.getAttribute("data-vars-ga-label")||this.href;gainwp_send_event(b,c,a,false)});jQuery('a[href^="tel"]').click(function(d){var b=this.getAttribute("data-vars-ga-category")||"telephone";var c=this.getAttribute("data-vars-ga-action")||"call";var a=this.getAttribute("data-vars-ga-label")||this.href;gainwp_send_event(b,c,a,false)});if(gainwpUAEventsData.options.root_domain){jQuery('a[href^="http"]').filter(function(){if(typeof this.href==="string"){var a=new RegExp(".*\\.("+gainwpUAEventsData.options.event_downloads+")(\\?.*)?$")}if(a&&!this.href.match(a)){if(this.href.indexOf(gainwpUAEventsData.options.root_domain)==-1&&this.href.indexOf("://")>-1){return this.href}}}).click(function(d){gainwpRedirectCalled=false;gainwpRedirectLink=this.href;var b=this.getAttribute("data-vars-ga-category")||"outbound";var c=this.getAttribute("data-vars-ga-action")||"click";var a=this.getAttribute("data-vars-ga-label")||this.href;if(this.target!="_blank"&&gainwpUAEventsData.options.event_precision){if(d.isDefaultPrevented()){gainwpDefaultPrevented=true;gainwpRedirectCalled=false}}else{gainwpRedirectCalled=true;gainwpDefaultPrevented=false}if(this.target!="_blank"&&gainwpUAEventsData.options.event_precision){gainwp_send_event(b,c,a,true);setTimeout(gainwpRedirect,gainwpUAEventsData.options.event_timeout);return false}else{gainwp_send_event(b,c,a,false)}})}}if(gainwpUAEventsData.options.event_affiliates&&gainwpUAEventsData.options.aff_tracking){jQuery("a").filter(function(){if(gainwpUAEventsData.options.event_affiliates!=""){if(typeof this.href==="string"){var a=new RegExp("("+gainwpUAEventsData.options.event_affiliates.replace(/\//g,"/")+")");return this.href.match(a)}}}).click(function(d){gainwpRedirectCalled=false;gainwpRedirectLink=this.href;var b=this.getAttribute("data-vars-ga-category")||"affiliates";var c=this.getAttribute("data-vars-ga-action")||"click";var a=this.getAttribute("data-vars-ga-label")||this.href;if(this.target!="_blank"&&gainwpUAEventsData.options.event_precision){if(d.isDefaultPrevented()){gainwpDefaultPrevented=true;gainwpRedirectCalled=false}}else{gainwpRedirectCalled=true;gainwpDefaultPrevented=false}if(this.target!="_blank"&&gainwpUAEventsData.options.event_precision){gainwp_send_event(b,c,a,true);setTimeout(gainwpRedirect,gainwpUAEventsData.options.event_timeout);return false}else{gainwp_send_event(b,c,a,false)}})}if(gainwpUAEventsData.options.root_domain&&gainwpUAEventsData.options.hash_tracking){jQuery("a").filter(function(){if(this.href.indexOf(gainwpUAEventsData.options.root_domain)!=-1||this.href.indexOf("://")==-1){return this.hash}}).click(function(d){var b=this.getAttribute("data-vars-ga-category")||"hashmark";var c=this.getAttribute("data-vars-ga-action")||"click";var a=this.getAttribute("data-vars-ga-label")||this.href;gainwp_send_event(b,c,a,false)})}if(gainwpUAEventsData.options.event_formsubmit){jQuery('input[type="submit"], button[type="submit"]').click(function(f){var d=this;var b=d.getAttribute("data-vars-ga-category")||"form";var c=d.getAttribute("data-vars-ga-action")||"submit";var a=d.getAttribute("data-vars-ga-label")||d.name||d.value;gainwp_send_event(b,c,a,false)})}if(gainwpUAEventsData.options.ga_pagescrolldepth_tracking){jQuery.scrollDepth({percentage:true,userTiming:false,pixelDepth:false,gtmOverride:true,nonInteraction:true})}});
     1"use strict";
     2var gainwpRedirectLink;
     3var gainwpRedirectCalled = false;
     4var gainwpDefaultPrevented = false;
     5
     6function gainwpRedirect() {
     7  if (gainwpRedirectCalled) {
     8    return
     9  }
     10  gainwpRedirectCalled = true;
     11  if (gainwpDefaultPrevented == false) {
     12    document.location.href = gainwpRedirectLink
     13  } else {
     14    gainwpDefaultPrevented = false
     15  }
     16}
     17
     18function gainwp_send_event(c, d, a, b) {
     19  if (window.gtag && gainwpUAEventsData.options.ga_with_gtag) {
     20    if (b) {
     21      if (gainwpUAEventsData.options.event_bouncerate) {
     22        gtag("event", d, {
     23          event_category: c,
     24          event_label: a,
     25          non_interaction: 1,
     26          event_callback: gainwpRedirect
     27        })
     28      } else {
     29        gtag("event", d, {
     30          event_category: c,
     31          event_label: a,
     32          event_callback: gainwpRedirect
     33        })
     34      }
     35    } else {
     36      if (gainwpUAEventsData.options.event_bouncerate) {
     37        gtag("event", d, {
     38          event_category: c,
     39          event_label: a,
     40          non_interaction: 1
     41        })
     42      } else {
     43        gtag("event", d, {
     44          event_category: c,
     45          event_label: a
     46        })
     47      }
     48    }
     49  } else if (window.ga) {
     50    if (b) {
     51      if (gainwpUAEventsData.options.event_bouncerate) {
     52        ga("send", "event", c, d, a, {
     53          nonInteraction: 1,
     54          hitCallback: gainwpRedirect
     55        })
     56      } else {
     57        ga("send", "event", c, d, a, {
     58          hitCallback: gainwpRedirect
     59        })
     60      }
     61    } else {
     62      if (gainwpUAEventsData.options.event_bouncerate) {
     63        ga("send", "event", c, d, a, {
     64          nonInteraction: 1
     65        })
     66      } else {
     67        ga("send", "event", c, d, a)
     68      }
     69    }
     70  }
     71}
     72jQuery(window).on("load", function() {
     73  if (gainwpUAEventsData.options.event_tracking) {
     74    jQuery("a").filter(function() {
     75      if (typeof this.href === "string") {
     76        var a = new RegExp(".*\\.(" + gainwpUAEventsData.options.event_downloads + ")(\\?.*)?$");
     77        return this.href.match(a)
     78      }
     79    }).click(function(d) {
     80      var b = this.getAttribute("data-vars-ga-category") || "download";
     81      var c = this.getAttribute("data-vars-ga-action") || "click";
     82      var a = this.getAttribute("data-vars-ga-label") || this.href;
     83      gainwp_send_event(b, c, a, false)
     84    });
     85    jQuery('a[href^="mailto"]').click(function(d) {
     86      var b = this.getAttribute("data-vars-ga-category") || "email";
     87      var c = this.getAttribute("data-vars-ga-action") || "send";
     88      var a = this.getAttribute("data-vars-ga-label") || this.href;
     89      gainwp_send_event(b, c, a, false)
     90    });
     91    jQuery('a[href^="tel"]').click(function(d) {
     92      var b = this.getAttribute("data-vars-ga-category") || "telephone";
     93      var c = this.getAttribute("data-vars-ga-action") || "call";
     94      var a = this.getAttribute("data-vars-ga-label") || this.href;
     95      gainwp_send_event(b, c, a, false)
     96    });
     97    if (gainwpUAEventsData.options.root_domain) {
     98      jQuery('a[href^="http"]').filter(function() {
     99        if (typeof this.href === "string") {
     100          var a = new RegExp(".*\\.(" + gainwpUAEventsData.options.event_downloads + ")(\\?.*)?$")
     101        }
     102        if (a && !this.href.match(a)) {
     103          if (this.href.indexOf(gainwpUAEventsData.options.root_domain) == -1 && this.href.indexOf("://") > -1) {
     104            return this.href
     105          }
     106        }
     107      }).click(function(d) {
     108        gainwpRedirectCalled = false;
     109        gainwpRedirectLink = this.href;
     110        var b = this.getAttribute("data-vars-ga-category") || "outbound";
     111        var c = this.getAttribute("data-vars-ga-action") || "click";
     112        var a = this.getAttribute("data-vars-ga-label") || this.href;
     113        if (this.target != "_blank" && gainwpUAEventsData.options.event_precision) {
     114          if (d.isDefaultPrevented()) {
     115            gainwpDefaultPrevented = true;
     116            gainwpRedirectCalled = false
     117          }
     118        } else {
     119          gainwpRedirectCalled = true;
     120          gainwpDefaultPrevented = false
     121        }
     122        if (this.target != "_blank" && gainwpUAEventsData.options.event_precision) {
     123          gainwp_send_event(b, c, a, true);
     124          setTimeout(gainwpRedirect, gainwpUAEventsData.options.event_timeout);
     125          return false
     126        } else {
     127          gainwp_send_event(b, c, a, false)
     128        }
     129      })
     130    }
     131  }
     132  if (gainwpUAEventsData.options.event_affiliates && gainwpUAEventsData.options.aff_tracking) {
     133    jQuery("a").filter(function() {
     134      if (gainwpUAEventsData.options.event_affiliates != "") {
     135        if (typeof this.href === "string") {
     136          var a = new RegExp("(" + gainwpUAEventsData.options.event_affiliates.replace(/\//g, "/") + ")");
     137          return this.href.match(a)
     138        }
     139      }
     140    }).click(function(d) {
     141      gainwpRedirectCalled = false;
     142      gainwpRedirectLink = this.href;
     143      var b = this.getAttribute("data-vars-ga-category") || "affiliates";
     144      var c = this.getAttribute("data-vars-ga-action") || "click";
     145      var a = this.getAttribute("data-vars-ga-label") || this.href;
     146      if (this.target != "_blank" && gainwpUAEventsData.options.event_precision) {
     147        if (d.isDefaultPrevented()) {
     148          gainwpDefaultPrevented = true;
     149          gainwpRedirectCalled = false
     150        }
     151      } else {
     152        gainwpRedirectCalled = true;
     153        gainwpDefaultPrevented = false
     154      }
     155      if (this.target != "_blank" && gainwpUAEventsData.options.event_precision) {
     156        gainwp_send_event(b, c, a, true);
     157        setTimeout(gainwpRedirect, gainwpUAEventsData.options.event_timeout);
     158        return false
     159      } else {
     160        gainwp_send_event(b, c, a, false)
     161      }
     162    })
     163  }
     164  if (gainwpUAEventsData.options.root_domain && gainwpUAEventsData.options.hash_tracking) {
     165    jQuery("a").filter(function() {
     166      if (this.href.indexOf(gainwpUAEventsData.options.root_domain) != -1 || this.href.indexOf("://") == -1) {
     167        return this.hash
     168      }
     169    }).click(function(d) {
     170      var b = this.getAttribute("data-vars-ga-category") || "hashmark";
     171      var c = this.getAttribute("data-vars-ga-action") || "click";
     172      var a = this.getAttribute("data-vars-ga-label") || this.href;
     173      gainwp_send_event(b, c, a, false)
     174    })
     175  }
     176  if (gainwpUAEventsData.options.event_formsubmit) {
     177    jQuery('input[type="submit"], button[type="submit"]').click(function(f) {
     178      var d = this;
     179      var b = d.getAttribute("data-vars-ga-category") || "form";
     180      var c = d.getAttribute("data-vars-ga-action") || "submit";
     181      var a = d.getAttribute("data-vars-ga-label") || d.name || d.value;
     182      gainwp_send_event(b, c, a, false)
     183    })
     184  }
     185  if (gainwpUAEventsData.options.ga_pagescrolldepth_tracking) {
     186    jQuery.scrollDepth({
     187      percentage: true,
     188      userTiming: false,
     189      pixelDepth: false,
     190      gtmOverride: true,
     191      nonInteraction: true
     192    })
     193  }
     194});
  • ga-in/trunk/front/js/tracking-scrolldepth.js

    r1893129 r2273492  
    1 (function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof module==="object"&&module.exports){module.exports=a(require("jquery"))}else{a(jQuery)}}}(function(g){var f={minHeight:0,elements:[],percentage:true,userTiming:true,pixelDepth:true,nonInteraction:true,gaGlobal:false,gtmOverride:false,trackerName:false,dataLayer:"dataLayer"};var b=g(window),a=[],h=false,d=0,c,j,e,k,i;g.scrollDepth=function(u){var m=+new Date;u=g.extend({},f,u);if(g(document).height()<u.minHeight){return}if(u.gaGlobal){c=true;e=u.gaGlobal}else{if(typeof gtag==="function"){k=true;e="gtag"}else{if(typeof ga==="function"){c=true;e="ga"}else{if(typeof __gaTracker==="function"){c=true;e="__gaTracker"}}}}if(typeof _gaq!=="undefined"&&typeof _gaq.push==="function"){j=true}if(typeof u.eventHandler==="function"){i=u.eventHandler}else{if(typeof window[u.dataLayer]!=="undefined"&&typeof window[u.dataLayer].push==="function"&&!u.gtmOverride){i=function(v){window[u.dataLayer].push(v)}}}function s(y,w,v,x){var z=u.trackerName?(u.trackerName+".send"):"send";if(i){i({event:"ScrollDistance",eventCategory:"Scroll Depth",eventAction:y,eventLabel:w,eventValue:1,eventNonInteraction:u.nonInteraction});if(u.pixelDepth&&arguments.length>2&&v>d){d=v;i({event:"ScrollDistance",eventCategory:"Scroll Depth",eventAction:"Pixel Depth",eventLabel:n(v),eventValue:1,eventNonInteraction:u.nonInteraction})}if(u.userTiming&&arguments.length>3){i({event:"ScrollTiming",eventCategory:"Scroll Depth",eventAction:y,eventLabel:w,eventTiming:x})}}else{if(k){window[e]("event",y,{event_category:"Scroll Depth",event_label:w,non_interaction:u.nonInteraction})}if(c){window[e](z,"event","Scroll Depth",y,w,1,{nonInteraction:u.nonInteraction});if(u.pixelDepth&&arguments.length>2&&v>d){d=v;window[e](z,"event","Scroll Depth","Pixel Depth",n(v),1,{nonInteraction:u.nonInteraction})}if(u.userTiming&&arguments.length>3){window[e](z,"timing","Scroll Depth",y,x,w)}}if(j){_gaq.push(["_trackEvent","Scroll Depth",y,w,1,u.nonInteraction]);if(u.pixelDepth&&arguments.length>2&&v>d){d=v;_gaq.push(["_trackEvent","Scroll Depth","Pixel Depth",n(v),1,u.nonInteraction])}if(u.userTiming&&arguments.length>3){_gaq.push(["_trackTiming","Scroll Depth",y,x,w,100])}}}}function r(v){return{"25%":parseInt(v*0.25,10),"50%":parseInt(v*0.5,10),"75%":parseInt(v*0.75,10),"100%":v-5}}function p(w,v,x){g.each(w,function(y,z){if(g.inArray(y,a)===-1&&v>=z){s("Percentage",y,v,x);a.push(y)}})}function o(x,v,w){g.each(x,function(y,z){if(g.inArray(z,a)===-1&&g(z).length){if(v>=g(z).offset().top){s("Elements",z,v,w);a.push(z)}}})}function n(v){return(Math.floor(v/250)*250).toString()}function t(){l()}g.scrollDepth.reset=function(){a=[];d=0;b.off("scroll.scrollDepth");l()};g.scrollDepth.addElements=function(v){if(typeof v=="undefined"||!g.isArray(v)){return}g.merge(u.elements,v);if(!h){l()}};g.scrollDepth.removeElements=function(v){if(typeof v=="undefined"||!g.isArray(v)){return}g.each(v,function(x,z){var w=g.inArray(z,u.elements);var y=g.inArray(z,a);if(w!=-1){u.elements.splice(w,1)}if(y!=-1){a.splice(y,1)}})};function q(A,C){var y,x,v;var B=null;var z=0;var w=function(){z=new Date;B=null;v=A.apply(y,x)};return function(){var D=new Date;if(!z){z=D}var E=C-(D-z);y=this;x=arguments;if(E<=0){clearTimeout(B);B=null;z=D;v=A.apply(y,x)}else{if(!B){B=setTimeout(w,E)}}return v}}function l(){h=true;b.on("scroll.scrollDepth",q(function(){var x=g(document).height(),w=window.innerHeight?window.innerHeight:b.height(),v=b.scrollTop()+w,y=r(x),z=+new Date-m;if(a.length>=u.elements.length+(u.percentage?4:0)){b.off("scroll.scrollDepth");h=false;return}if(u.elements){o(u.elements,v,z)}if(u.percentage){p(y,v,z)}},500))}t()};return g.scrollDepth}));
     1(function(a) {
     2  if (typeof define === "function" && define.amd) {
     3    define(["jquery"], a)
     4  } else {
     5    if (typeof module === "object" && module.exports) {
     6      module.exports = a(require("jquery"))
     7    } else {
     8      a(jQuery)
     9    }
     10  }
     11}(function(g) {
     12  var f = {
     13    minHeight: 0,
     14    elements: [],
     15    percentage: true,
     16    userTiming: true,
     17    pixelDepth: true,
     18    nonInteraction: true,
     19    gaGlobal: false,
     20    gtmOverride: false,
     21    trackerName: false,
     22    dataLayer: "dataLayer"
     23  };
     24  var b = g(window),
     25      a = [],
     26      h = false,
     27      d = 0,
     28      c, j, e, k, i;
     29  g.scrollDepth = function(u) {
     30    var m = +new Date;
     31    u = g.extend({}, f, u);
     32    if (g(document).height() < u.minHeight) {
     33      return
     34    }
     35    if (u.gaGlobal) {
     36      c = true;
     37      e = u.gaGlobal
     38    } else {
     39      if (typeof gtag === "function") {
     40        k = true;
     41        e = "gtag"
     42      } else {
     43        if (typeof ga === "function") {
     44          c = true;
     45          e = "ga"
     46        } else {
     47          if (typeof __gaTracker === "function") {
     48            c = true;
     49            e = "__gaTracker"
     50          }
     51        }
     52      }
     53    }
     54    if (typeof _gaq !== "undefined" && typeof _gaq.push === "function") {
     55      j = true
     56    }
     57    if (typeof u.eventHandler === "function") {
     58      i = u.eventHandler
     59    } else {
     60      if (typeof window[u.dataLayer] !== "undefined" && typeof window[u.dataLayer].push === "function" && !u.gtmOverride) {
     61        i = function(v) {
     62          window[u.dataLayer].push(v)
     63        }
     64      }
     65    }
     66
     67    function s(y, w, v, x) {
     68      var z = u.trackerName ? (u.trackerName + ".send") : "send";
     69      if (i) {
     70        i({
     71          event: "ScrollDistance",
     72          eventCategory: "Scroll Depth",
     73          eventAction: y,
     74          eventLabel: w,
     75          eventValue: 1,
     76          eventNonInteraction: u.nonInteraction
     77        });
     78        if (u.pixelDepth && arguments.length > 2 && v > d) {
     79          d = v;
     80          i({
     81            event: "ScrollDistance",
     82            eventCategory: "Scroll Depth",
     83            eventAction: "Pixel Depth",
     84            eventLabel: n(v),
     85            eventValue: 1,
     86            eventNonInteraction: u.nonInteraction
     87          })
     88        }
     89        if (u.userTiming && arguments.length > 3) {
     90          i({
     91            event: "ScrollTiming",
     92            eventCategory: "Scroll Depth",
     93            eventAction: y,
     94            eventLabel: w,
     95            eventTiming: x
     96          })
     97        }
     98      } else {
     99        if (k) {
     100          window[e]("event", y, {
     101            event_category: "Scroll Depth",
     102            event_label: w,
     103            non_interaction: u.nonInteraction
     104          })
     105        }
     106        if (c) {
     107          window[e](z, "event", "Scroll Depth", y, w, 1, {
     108            nonInteraction: u.nonInteraction
     109          });
     110          if (u.pixelDepth && arguments.length > 2 && v > d) {
     111            d = v;
     112            window[e](z, "event", "Scroll Depth", "Pixel Depth", n(v), 1, {
     113              nonInteraction: u.nonInteraction
     114            })
     115          }
     116          if (u.userTiming && arguments.length > 3) {
     117            window[e](z, "timing", "Scroll Depth", y, x, w)
     118          }
     119        }
     120        if (j) {
     121          _gaq.push(["_trackEvent", "Scroll Depth", y, w, 1, u.nonInteraction]);
     122          if (u.pixelDepth && arguments.length > 2 && v > d) {
     123            d = v;
     124            _gaq.push(["_trackEvent", "Scroll Depth", "Pixel Depth", n(v), 1, u.nonInteraction])
     125          }
     126          if (u.userTiming && arguments.length > 3) {
     127            _gaq.push(["_trackTiming", "Scroll Depth", y, x, w, 100])
     128          }
     129        }
     130      }
     131    }
     132
     133    function r(v) {
     134      return {
     135        "25%": parseInt(v * 0.25, 10),
     136        "50%": parseInt(v * 0.5, 10),
     137        "75%": parseInt(v * 0.75, 10),
     138        "100%": v - 5
     139      }
     140    }
     141
     142    function p(w, v, x) {
     143      g.each(w, function(y, z) {
     144        if (g.inArray(y, a) === -1 && v >= z) {
     145          s("Percentage", y, v, x);
     146          a.push(y)
     147        }
     148      })
     149    }
     150
     151    function o(x, v, w) {
     152      g.each(x, function(y, z) {
     153        if (g.inArray(z, a) === -1 && g(z).length) {
     154          if (v >= g(z).offset().top) {
     155            s("Elements", z, v, w);
     156            a.push(z)
     157          }
     158        }
     159      })
     160    }
     161
     162    function n(v) {
     163      return (Math.floor(v / 250) * 250).toString()
     164    }
     165
     166    function t() {
     167      l()
     168    }
     169    g.scrollDepth.reset = function() {
     170      a = [];
     171      d = 0;
     172      b.off("scroll.scrollDepth");
     173      l()
     174    };
     175    g.scrollDepth.addElements = function(v) {
     176      if (typeof v == "undefined" || !g.isArray(v)) {
     177        return
     178      }
     179      g.merge(u.elements, v);
     180      if (!h) {
     181        l()
     182      }
     183    };
     184    g.scrollDepth.removeElements = function(v) {
     185      if (typeof v == "undefined" || !g.isArray(v)) {
     186        return
     187      }
     188      g.each(v, function(x, z) {
     189        var w = g.inArray(z, u.elements);
     190        var y = g.inArray(z, a);
     191        if (w != -1) {
     192          u.elements.splice(w, 1)
     193        }
     194        if (y != -1) {
     195          a.splice(y, 1)
     196        }
     197      })
     198    };
     199
     200    function q(A, C) {
     201      var y, x, v;
     202      var B = null;
     203      var z = 0;
     204      var w = function() {
     205        z = new Date;
     206        B = null;
     207        v = A.apply(y, x)
     208      };
     209      return function() {
     210        var D = new Date;
     211        if (!z) {
     212          z = D
     213        }
     214        var E = C - (D - z);
     215        y = this;
     216        x = arguments;
     217        if (E <= 0) {
     218          clearTimeout(B);
     219          B = null;
     220          z = D;
     221          v = A.apply(y, x)
     222        } else {
     223          if (!B) {
     224            B = setTimeout(w, E)
     225          }
     226        }
     227        return v
     228      }
     229    }
     230
     231    function l() {
     232      h = true;
     233      b.on("scroll.scrollDepth", q(function() {
     234        var x = g(document).height(),
     235            w = window.innerHeight ? window.innerHeight : b.height(),
     236            v = b.scrollTop() + w,
     237            y = r(x),
     238            z = +new Date - m;
     239        if (a.length >= u.elements.length + (u.percentage ? 4 : 0)) {
     240          b.off("scroll.scrollDepth");
     241          h = false;
     242          return
     243        }
     244        if (u.elements) {
     245          o(u.elements, v, z)
     246        }
     247        if (u.percentage) {
     248          p(y, v, z)
     249        }
     250      }, 500))
     251    }
     252    t()
     253  };
     254  return g.scrollDepth
     255}));
  • ga-in/trunk/front/tracking-analytics.php

    r1893129 r2273492  
    4545                $custom_dimensions[$index] = esc_attr( $author_name );
    4646            }
     47
     48      if ( $this->gainwp->config->options['ga_author_login_dimindex'] && ( is_single() || is_page() ) ) {
     49        global $post;
     50        $author_id = $post->post_author;
     51        $author_name = get_the_author_meta( 'user_login', $author_id );
     52        $index = (int) $this->gainwp->config->options['ga_author_login_dimindex'];
     53        $custom_dimensions[$index] = esc_attr( $author_name );
     54      }
    4755
    4856            if ( $this->gainwp->config->options['ga_pubyear_dimindex'] && is_single() ) {
     
    139147                $root_domain = GAINWP_Tools::get_root_domain();
    140148
    141                 wp_enqueue_script( 'gainwp-tracking-analytics-events', GAINWP_URL . 'front/js/tracking-analytics-events.js', array( 'jquery' ), GAINWP_CURRENT_VERSION, $this->gainwp->config->options['trackingevents_infooter'] );
     149                if (GAINWP_DEBUG_JS) {
     150          wp_enqueue_script( 'gainwp-tracking-analytics-events', GAINWP_URL . 'front/js/tracking-analytics-events.js', array( 'jquery' ), GAINWP_CURRENT_VERSION, $this->gainwp->config->options['trackingevents_infooter'] );
     151        }
     152                else {
     153          wp_enqueue_script( 'gainwp-tracking-analytics-events', GAINWP_URL . 'front/js/tracking-analytics-events.min.js', array( 'jquery' ), GAINWP_CURRENT_VERSION, $this->gainwp->config->options['trackingevents_infooter'] );
     154        }
    142155
    143156                if ( $this->gainwp->config->options['ga_pagescrolldepth_tracking'] ) {
    144                     wp_enqueue_script( 'gainwp-pagescrolldepth-tracking', GAINWP_URL . 'front/js/tracking-scrolldepth.js', array( 'jquery' ), GAINWP_CURRENT_VERSION, $this->gainwp->config->options['trackingevents_infooter'] );
     157                  if (GAINWP_DEBUG_JS) {
     158            wp_enqueue_script( 'gainwp-pagescrolldepth-tracking', GAINWP_URL . 'front/js/tracking-scrolldepth.js', array( 'jquery' ), GAINWP_CURRENT_VERSION, $this->gainwp->config->options['trackingevents_infooter'] );
     159          }
     160                  else {
     161            wp_enqueue_script( 'gainwp-pagescrolldepth-tracking', GAINWP_URL . 'front/js/tracking-scrolldepth.min.js', array( 'jquery' ), GAINWP_CURRENT_VERSION, $this->gainwp->config->options['trackingevents_infooter'] );
     162          }
     163
    145164                }
    146165
  • ga-in/trunk/front/tracking-tagmanager.php

    r1893129 r2273492  
    7575                $this->add_var( 'gainwpAuthor', esc_attr( $author_name ) );
    7676            }
     77      else if ( $this->gainwp->config->options['tm_author_login_var'] && ( is_single() || is_page() ) ) {
     78        global $post;
     79        $author_id = $post->post_author;
     80        $author_name = get_the_author_meta( 'user_login', $author_id );
     81        $this->add_var( 'gainwpAuthor', esc_attr( $author_name ) );
     82      }
    7783
    7884            if ( $this->gainwp->config->options['tm_pubyear_var'] && is_single() ) {
  • ga-in/trunk/gainwp.php

    r2244884 r2273492  
    55 * Description: Automatically adds Google Analytics tracking to your site and displays Google Analytics reports and real-time statistics in your dashboard.
    66 * Author: IntelligenceWP
    7  * Version: 5.4.4
     7 * Version: 5.4.5
    88 * Author URI: https://intelligencewp.com
    99 * Text Domain: ga-in
     
    1919// Plugin Version
    2020if ( ! defined( 'GAINWP_CURRENT_VERSION' ) ) {
    21     define( 'GAINWP_CURRENT_VERSION', '5.4.4' );
     21    define( 'GAINWP_CURRENT_VERSION', '5.4.5' );
    2222}
    2323
     
    2525    define( 'GAINWP_ENDPOINT_URL', '' );
    2626}
     27
     28define('GAINWP_DEBUG_JS', 0);
    2729
    2830
  • ga-in/trunk/install/install.php

    r1893129 r2273492  
    4343            $options['ga_crossdomain_list'] = '';
    4444            $options['ga_author_dimindex'] = 0;
     45      $options['ga_author_login_dimindex'] = 0;
    4546            $options['ga_category_dimindex'] = 0;
    4647            $options['ga_tag_dimindex'] = 0;
     
    6263            $options['maps_api_key'] = '';
    6364            $options['tm_author_var'] = 0;
     65      $options['tm_author_login_var'] = 0;
    6466            $options['tm_category_var'] = 0;
    6567            $options['tm_tag_var'] = 0;
     
    117119            $options['ga_crossdomain_list'] = '';
    118120            $options['ga_author_dimindex'] = 0;
     121      $options['ga_author_login_dimindex'] = 0;
    119122            $options['ga_category_dimindex'] = 0;
    120123            $options['ga_tag_dimindex'] = 0;
     
    135138            $options['maps_api_key'] = '';
    136139            $options['tm_author_var'] = 0;
     140      $options['tm_author_login_var'] = 0;
    137141            $options['tm_category_var'] = 0;
    138142            $options['tm_tag_var'] = 0;
  • ga-in/trunk/readme.txt

    r2249439 r2273492  
    33Tags: analytics,google analytics,google analytics code,google analytics dashboard,google analytics plugin,google analytics tracking code,google analytics widget,gtag
    44Requires at least: 3.5
    5 Tested up to: 5.3
    6 Stable tag: 5.4.4
     5Tested up to: 5.4
     6Stable tag: 5.4.5
    77Requires PHP: 5.2.4
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
    1010
    11 Enable Google Analytics tracking and reporting dashboards in your WordPress site in just seconds. 
     11Enable Google Analytics tracking and reporting dashboards in your WordPress site in just seconds.
    1212
    1313== Description ==
     
    204204== Changelog ==
    205205
     206= 5.4.5 =
     207* Verified support for WP 5.4
     208* Bug Fixes:
     209    * fix js events calling non existent ga object after diabled user login
     210* Enhancements:
     211    * Added Authors (user login) custom dimension
     212
    206213= 5.4.3 =
    207214* Verified support for WP 5.2
Note: See TracChangeset for help on using the changeset viewer.