1/** 2 * QSM - Google Analytics v1.0.0 3 */ 4 5var QSMGoogleAnalytics; 6(function ($) { 7 QSMGoogleAnalytics = { 8 /** 9 * Sends an event to Google Analytics 10 * 11 * @param int quizID The ID of the quiz or survey 12 */ 13 send: function (quizID) { 14 15 // ...then prepare the label... 16 var label = qsm_analytics_settings.label; 17 if ('%QUIZ_NAME%' == label && 'undefined' != typeof (qmn_quiz_data)) { 18 label = qmn_quiz_data[quizID].quiz_name; 19 } 20 21 // If using gtag.js 22 if ('undefined' !== typeof (gtag)) { 23 gtag('event', qsm_analytics_settings.action, { 24 'event_category': qsm_analytics_settings.category, 25 'event_label': label 26 }); 27 return true; 28 } 29 30 // If using analytics.js... 31 // ...and send the event to Google Analytics 32 /*ga( 'send', 'event', qsm_analytics_settings.category, qsm_analytics_settings.action, label );*/ 33 if ('undefined' !== typeof (ga)) { 34 if ("ga" in window) { 35 tracker = ga.getAll()[0]; 36 if (tracker) { 37 tracker.send('event', qsm_analytics_settings.category, qsm_analytics_settings.action, label); 38 return true; 39 } 40 } 41 } 42 return false; 43 } 44 }; 45}(jQuery)); 46 47jQuery(document).on('click', '.qsm-submit-btn', function (event) { 48 event.preventDefault(); 49 var quiz_id = jQuery(this).parents('.qsm-quiz-container').find('#qmn_quiz_id').val(); 50 QSMGoogleAnalytics.send(quiz_id); 51}); 52 53jQuery(function ($) { 54 jQuery( '.qsm_google_analytics_validate_parent' ).on( 'click', '.qsm_google_analytics_validate_button', function ( event ) { 55 event.preventDefault(); 56 var license_message = jQuery('.qsm_google_analytics_validate_message'); 57 jQuery("#qsm-license_message").show(); 58 if( jQuery('.qsm_google_analytics_validate_input').val() != "") { 59 license_message.html(qsm_google_analytics_obj.please_wait); 60 var data = { 61 action: 'qsm_addon_google_analytics_validate_license', 62 input: jQuery('.qsm_google_analytics_validate_input').val(), 63 nonce: qsm_google_analytics_obj.nonce, 64 }; 65 jQuery.post( ajaxurl, data, function ( response ) { 66 response = jQuery.parseJSON(response); 67 license_message.html(response.message); 68 if(response.validate == 1 || response.validate == 2) { 69 response.validate == 1 ? jQuery("#qsm-license_message").css({'color': '#00a32a'}) : ""; 70 setTimeout(function() { 71 location.reload(); 72 }, 2000); 73 } else { 74 license_message.html(qsm_google_analytics_obj.invalid); 75 } 76 }); 77 }else{ 78 license_message.html(qsm_google_analytics_obj.license_msg); 79 jQuery('.qsm_google_analytics_validate_input').focus(); 80 } 81 }); 82 jQuery('.qsm-toggleButton').on("click", function( event ) { 83 event.preventDefault(); 84 if ( parseInt(jQuery(this).attr('data-toggle')) === 0 ) { 85 jQuery(document).find('#qsm-license_entry').show(); 86 jQuery(document).find('.qsm-license-content .qsm-license-info').hide(); 87 } else { 88 jQuery(document).find('.qsm-license-content .qsm-license-info').show(); 89 jQuery(document).find('#qsm-license_entry').hide(); 90 } 91 }); 92 jQuery( '.qsm-google-analytics-license-container' ).on( 'click', '#qsm-validate_btn', function ( event ) { 93 event.preventDefault(); 94 var license_message = jQuery('#qsm-license_entry .qsm-validate-msg'); 95 license_message.html(qsm_license_validate_obj.hold); 96 if( jQuery('.qsm-google-analytics-license-container #qsm-license_entry input[name="license_key"]').val() != "") { 97 var data = { 98 action: 'qsm_addon_google_analytics_validate_license', 99 input: jQuery('.qsm-google-analytics-license-container #qsm-license_entry input[name="license_key"]').val(), 100 update_status: 'yes', 101 nonce: qsm_license_validate_obj.nonce, 102 }; 103 jQuery.post( ajaxurl, data, function ( response ) { 104 response = jQuery.parseJSON(response); 105 if(response.validate == 1 || response.validate == 2) { 106 setTimeout(function() { 107 location.reload(); 108 }, 2000); 109 } else { 110 license_message.html(qsm_license_validate_obj.invalid); 111 } 112 }); 113 } else { 114 license_message.html(qsm_license_validate_obj.empty); 115 jQuery('.qsm-google-analytics-license-container #qsm-license_entry input[name="license_key"]').focus(); 116 } 117 }); 118})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.