Plugin Directory

Changeset 2515969


Ignore:
Timestamp:
04/15/2021 11:00:50 PM (5 years ago)
Author:
marcshowpass
Message:

New functionality for distribution partners and other fixes

Location:
showpass/trunk
Files:
3 added
9 edited

Legend:

Unmodified
Added
Removed
  • showpass/trunk/build-blocks/index.asset.php

    r2457209 r2515969  
    1 <?php return array('dependencies' => array('wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-element', 'wp-polyfill'), 'version' => '3ed428d1b7cf3cb156d5615ed272f1d2');
     1<?php return array('dependencies' => array('wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-element', 'wp-polyfill'), 'version' => '1b19d6cbfca3299e77ec8b2d5cde46b0');
  • showpass/trunk/build-blocks/index.js

    r2457209 r2515969  
    1 (window.SHOWPASS_BLOCK_BUILD=window.SHOWPASS_BLOCK_BUILD||[]).push([[1],{13:function(t,e,n){}}]),function(t){function e(e){for(var r,i,u=e[0],s=e[1],a=e[2],f=0,p=[];f<u.length;f++)i=u[f],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&p.push(o[i][0]),o[i]=0;for(r in s)Object.prototype.hasOwnProperty.call(s,r)&&(t[r]=s[r]);for(l&&l(e);p.length;)p.shift()();return c.push.apply(c,a||[]),n()}function n(){for(var t,e=0;e<c.length;e++){for(var n=c[e],r=!0,u=1;u<n.length;u++){var s=n[u];0!==o[s]&&(r=!1)}r&&(c.splice(e--,1),t=i(i.s=n[0]))}return t}var r={},o={0:0},c=[];function i(e){if(r[e])return r[e].exports;var n=r[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=t,i.c=r,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="";var u=window.SHOWPASS_BLOCK_BUILD=window.SHOWPASS_BLOCK_BUILD||[],s=u.push.bind(u);u.push=e,u=u.slice();for(var a=0;a<u.length;a++)e(u[a]);var l=s;c.push([9,1]),n()}([function(t,e){!function(){t.exports=this.wp.element}()},function(t,e){!function(){t.exports=this.wp.components}()},function(t,e){function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(e)}t.exports=n},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e){function n(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}t.exports=function(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}},function(t,e,n){var r=n(10);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&r(t,e)}},function(t,e,n){var r=n(11),o=n(12);t.exports=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?o(t):e}},function(t,e){!function(){t.exports=this.wp.apiFetch}()},function(t,e){!function(){t.exports=this.wp.blocks}()},function(t,e,n){"use strict";n.r(e);var r=n(3),o=n.n(r),c=n(4),i=n.n(c),u=n(5),s=n.n(u),a=n(6),l=n.n(a),f=n(2),p=n.n(f),b=n(0),y=n(7),h=n.n(y),d=n(8),g=n(1);n(13),n(14);function v(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=p()(t);if(e){var o=p()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return l()(this,n)}}var O=function(t){s()(n,t);var e=v(n);function n(t){var r;return o()(this,n),(r=e.call(this,t)).state={loading:!1,errorMessage:""},r}return i()(n,[{key:"render",value:function(){var t=this,e=this.props,n=e.attributes,r=n.ticketLink,o=n.buttonLabel,c=n.dataError,i=e.setAttributes,u=function(t){if(t)return h()({path:"showpass/v1/process-url/?url="+encodeURI(t),method:"GET"})};return Object(b.createElement)("div",{class:"wp-showpass-block-container"},Object(b.createElement)("span",{class:"dashicons dashicons-tickets-alt"}),Object(b.createElement)("h4",null,"Buy Now Button"),Object(b.createElement)(g.TextControl,{label:"Button Label",value:o,onChange:function(t){i({buttonLabel:t})},key:"ticketLink",default:"Get Tickets"}),Object(b.createElement)(g.TextControl,{label:"Enter in the full URL",value:r,onChange:function(t){i({ticketLink:t})},key:"ticketLink",help:"Example: https://showpass.com/event-slug/"}),Object(b.createElement)("div",{class:"control-container"},Object(b.createElement)(g.Button,{isSecondary:!0,isBusy:this.state.loading,disabled:this.state.loading,onClick:function(){i({dataError:null}),t.setState({loading:!0,errorMessage:""}),u(r).then((function(e){t.setState({loading:!1}),e&&(i({slug:e}),i({dataError:!1}))})).catch((function(e){t.setState({loading:!1,errorMessage:e.data}),console.log(e),i({dataError:!0})}))}},"Add Button!"),this.state.loading&&Object(b.createElement)(g.Spinner,null),null!==c&&Object(b.createElement)(g.Dashicon,{className:"validate",icon:c?"no":"yes"}),this.state.errorMessage&&Object(b.createElement)("p",{class:"error-message"},this.state.errorMessage)))}}]),n}(b.Component);Object(d.registerBlockType)("create-block/showpass-button-block",{title:"Buy Now Button",category:"showpass-blocks",icon:"tickets-alt",supports:{},attributes:{ticketLink:{type:"string"},buttonLabel:{type:"string",default:"Get Tickets"},slug:{type:"string"},dataError:{type:"boolean",default:null}},edit:O,save:function(t){var e=t.attributes;return!e.dataError&&e.slug&&'[showpass_widget slug="'+e.slug+'" label="'+e.buttonLabel+'"]'}})},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},n(e,r)}t.exports=n},function(t,e){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(e)}t.exports=n},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},,function(t,e,n){}]);
     1(window.SHOWPASS_BLOCK_BUILD=window.SHOWPASS_BLOCK_BUILD||[]).push([[1],{13:function(t,e,n){}}]),function(t){function e(e){for(var r,i,u=e[0],a=e[1],s=e[2],f=0,p=[];f<u.length;f++)i=u[f],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&p.push(o[i][0]),o[i]=0;for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(t[r]=a[r]);for(l&&l(e);p.length;)p.shift()();return c.push.apply(c,s||[]),n()}function n(){for(var t,e=0;e<c.length;e++){for(var n=c[e],r=!0,u=1;u<n.length;u++){var a=n[u];0!==o[a]&&(r=!1)}r&&(c.splice(e--,1),t=i(i.s=n[0]))}return t}var r={},o={0:0},c=[];function i(e){if(r[e])return r[e].exports;var n=r[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=t,i.c=r,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="";var u=window.SHOWPASS_BLOCK_BUILD=window.SHOWPASS_BLOCK_BUILD||[],a=u.push.bind(u);u.push=e,u=u.slice();for(var s=0;s<u.length;s++)e(u[s]);var l=a;c.push([9,1]),n()}([function(t,e){!function(){t.exports=this.wp.element}()},function(t,e){!function(){t.exports=this.wp.components}()},function(t,e){function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},n(e)}t.exports=n},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e){function n(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}t.exports=function(t,e,r){return e&&n(t.prototype,e),r&&n(t,r),t}},function(t,e,n){var r=n(10);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&r(t,e)}},function(t,e,n){var r=n(11),o=n(12);t.exports=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?o(t):e}},function(t,e){!function(){t.exports=this.wp.apiFetch}()},function(t,e){!function(){t.exports=this.wp.blocks}()},function(t,e,n){"use strict";n.r(e);var r=n(3),o=n.n(r),c=n(4),i=n.n(c),u=n(5),a=n.n(u),s=n(6),l=n.n(s),f=n(2),p=n.n(f),b=n(0),h=n(7),y=n.n(h),d=n(8),g=n(1);n(13),n(14);function v(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=p()(t);if(e){var o=p()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return l()(this,n)}}var O=function(t){a()(n,t);var e=v(n);function n(t){var r;return o()(this,n),(r=e.call(this,t)).state={loading:!1,errorMessage:""},r}return i()(n,[{key:"render",value:function(){var t=this,e=this.props,n=e.attributes,r=n.ticketLink,o=n.buttonLabel,c=n.dataError,i=e.setAttributes,u=function(t){if(t)return y()({path:"showpass/v1/process-url/?url="+encodeURI(t),method:"GET"})};return Object(b.createElement)("div",{class:"wp-showpass-block-container"},Object(b.createElement)("span",{class:"dashicons dashicons-tickets-alt"}),Object(b.createElement)("h4",null,"Buy Now Button"),Object(b.createElement)(g.TextControl,{label:"Button Label",value:o,onChange:function(t){i({buttonLabel:t})},key:"ticketLink",default:"Get Tickets"}),Object(b.createElement)(g.TextControl,{label:"Enter in the full URL",value:r,onChange:function(t){i({ticketLink:t})},key:"ticketLink",help:"Example: https://showpass.com/event-slug/"}),Object(b.createElement)("div",{class:"control-container"},Object(b.createElement)(g.Button,{isSecondary:!0,isBusy:this.state.loading,disabled:this.state.loading,onClick:function(){i({dataError:null}),t.setState({loading:!0,errorMessage:""}),u(r).then((function(e){t.setState({loading:!1}),e&&(i({shortcode:e.data.shortcode}),i({dataError:!1}))})).catch((function(e){t.setState({loading:!1,errorMessage:e.data}),console.log(e),i({dataError:!0})}))}},"Add Button!"),this.state.loading&&Object(b.createElement)(g.Spinner,null),null!==c&&Object(b.createElement)(g.Dashicon,{className:"validate",icon:c?"no":"yes"}),this.state.errorMessage&&Object(b.createElement)("p",{class:"error-message"},this.state.errorMessage)))}}]),n}(b.Component);Object(d.registerBlockType)("create-block/showpass-button-block",{title:"Buy Now Button",category:"showpass-blocks",icon:"tickets-alt",supports:{},attributes:{ticketLink:{type:"string"},buttonLabel:{type:"string",default:"Get Tickets"},slug:{type:"string"},dataError:{type:"boolean",default:null}},edit:O,save:function(t){var e=t.attributes;return!e.dataError&&e.shortcode}})},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},n(e,r)}t.exports=n},function(t,e){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(e)}t.exports=n},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},,function(t,e,n){}]);
  • showpass/trunk/css/showpass-style.css

    r2440100 r2515969  
    293293
    294294/* ================
    295    COMPONENT STYLES 
     295   COMPONENT STYLES
    296296   ================ */
    297297.badge {
     
    321321}
    322322
    323 
     323.showpass-event-title {
     324    text-align: left;
     325}
    324326
    325327.showpass-event-title h3 {
  • showpass/trunk/js/showpass-calendar.js

    r2505326 r2515969  
    412412            let only_parents = $('#only-parents').val();
    413413            let hide_children = $('#hide-children').val();
     414            let show_all = $('#show-all').val();
    414415
    415416            let firstDay = new Date(year, month - 1, 1); //  number + 1 = current
     
    437438                if(only_parents) {
    438439                    url = url + "&only_parents=" + only_parents;
     440                }
     441
     442                if(show_all) {
     443                    url = url + "&show=" + show_all;
    439444                }
    440445
  • showpass/trunk/js/showpass-custom.js

    r2483999 r2515969  
    1 (function($) {
    2     $(window).on('load', function() {
     1(function ($, window, document) {
     2
     3    const getParams = (element) => {
     4        return {
     5            'theme-primary': $(element).attr('data-color') || $('#option_widget_color').val() || '',
     6            'keep-shopping': $(element).attr('data-shopping') || $('#option_keep_shopping').val() || 'true',
     7            'theme-dark': $(element).attr('data-theme') || $('#option_theme_dark').val() || '',
     8            'show-description': $(element).attr('data-show-description') || $('#option_show_widget_description').val() || 'false',
     9            'distribution-tracking': $(element).attr('data-distribution-tracking') || $('#option_showpass_distribution_tracking').val() || ''
     10        }
     11    }
     12
     13    $(window).on('load', function () {
    314
    415        showpass.tickets.addCartCountListener(function(count) {
    5             var html = '';
     16            let html = '';
    617            if (count > 0) {
    718                html = 'Shopping Cart (' + count + ')';
     
    1324                $('.showpass-cart-button span').html(html);
    1425            }
    15         });
     26        });
     27
    1628        // GET QUERY STING
    1729        function getQueryStrings() {
    18             var assoc = {};
    19             var decode = function(s) {
     30            let assoc = {};
     31            let decode = function(s) {
    2032                return decodeURIComponent(s.replace(/\+/g, " "));
    2133            };
    22             var queryString = location.search.substring(1);
     34            let queryString = location.search.substring(1);
    2335            var keyValues = queryString.split('&');
    2436
     
    3042            }
    3143            return assoc;
    32         }
     44        }
     45
    3346        var qs = getQueryStrings();
    3447        // SET AFFILIATE COOKIE
     
    7083        if (qs.auto) {
    7184            var slug = qs.auto;
    72             var params = {
    73                 'theme-primary': $('#option_widget_color').val() || '',
    74                 'keep-shopping': $('#option_keep_shopping').val() || 'true',
    75                 'theme-dark': $('#option_theme_dark').val() || '',
    76                 'show-description': $('#option_show_widget_description').val() || 'false'
    77             };
    7885            setTimeout(function() {
    7986                Cookies.remove('auto');
     
    8592            e.preventDefault();
    8693
    87             var id = $(this).attr('data-org-id');
    88             var params = {
     94            let id = $(this).attr('data-org-id');
     95            let params = {
    8996                'theme-primary': $(this).attr('data-color') || $('#option_widget_color').val(),
    9097                'keep-shopping': false
     
    97104            e.preventDefault();
    98105
    99             var id = $(this).attr('id');
    100             var params = {
    101                 'theme-primary': $(this).attr('data-color') || $('#option_widget_color').val(),
    102                 'keep-shopping': $(this).attr('data-shopping') || $('#option_keep_shopping').val(),
    103                 'theme-dark': $(this).attr('data-theme') || $('#option_theme_dark').val(),
    104                 'show-description': $(this).attr('data-show-description') || $('#option_show_widget_description').val()
    105             };
     106            let id = $(this).attr('id');
     107            let params = getParams(this);
    106108
    107109            if ($(this).attr('data-tracking')) {
     
    115117
    116118            showpass.tickets.productPurchaseWidget(id, params);
    117         });
    118 
    119         $('body').on('click', '#force-showpass-widget a[href*="showpass.com"]', function(e) {
    120             e.preventDefault();
    121             slug = $(this).attr('href').split('.com/')[1];
    122 
    123             var params = {
    124                 'theme-primary': $('#option_widget_color').val(),
    125                 'keep-shopping':$('#option_keep_shopping').val() || true,
    126                 'theme-dark': $('#option_theme_dark').val(),
    127                 'show-description': $('#option_show_widget_description').val() || 'false'
    128             };
    129 
    130             // Overwrite tracking-id if set in URL
    131             if (Cookies.get('affiliate')) {
    132                 params['tracking-id'] = Cookies.get('affiliate');
    133             }
    134 
    135             showpass.tickets.eventPurchaseWidget(slug, params);
    136         });
    137 
    138         $('body').on('click', '.open-ticket-widget', function (e) {
    139             e.preventDefault();
    140 
    141             let slug = $(this).attr('id');
    142 
    143             const openWidget = () => {
    144                 let params = {
    145                     'theme-primary': $(this).attr('data-color') || $('#option_widget_color').val(),
    146                     'keep-shopping': $(this).attr('data-shopping') || $('#option_keep_shopping').val() || true,
    147                     'theme-dark': $(this).attr('data-theme') || $('#option_theme_dark').val(),
    148                     'show-description': $(this).attr('data-show-description') || $('#option_show_widget_description').val() || 'false'
    149                 };
    150 
    151                 if ($(this).attr('data-tracking')) {
    152                     params['tracking-id'] = $(this).attr('data-tracking');
    153                 }
    154 
    155                 if ($(this).attr('data-eyereturn')) {
    156                     params['show-eyereturn'] = $(this).attr('data-eyereturn');
    157                 }
    158 
    159                 /**
    160                  * Add query parameters if distribution tracking is enabled
    161                  */
    162                 if ($(this).attr('data-distribution-tracking')) {
    163                     params['distribution-tracking'] = $(this).attr('data-distribution-tracking');
    164                 }
    165 
    166                 // Overwrite tracking-id if set in URL
    167                 if (Cookies.get('affiliate')) {
    168                     params['tracking-id'] = Cookies.get('affiliate');
    169                 }
    170 
     119        });
     120
     121        const openShowpassWidget = (slug, params) => {
     122            const openWidget = () => {
    171123                showpass.tickets.eventPurchaseWidget(slug, params);
    172124            }
     
    175127             * Handle the redirect if distribution partner with an external link
    176128             */
    177             if ($(this).attr('data-distribution') === 'true') {
     129            if (params['data-distribution'] !== '') {
    178130                const checkEvent = async () => {
    179131                    try {
     
    199151                openWidget();
    200152            }
     153        }
     154
     155        $('body').on('click', 'a[href*="showpass.com"].force-showpass-widget', function (e) {
     156            console.log('test');
     157            e.preventDefault();
     158            slug = $(this).attr('href').split('.com/')[1];
     159
     160            let params = getParams(this);
     161
     162            if ($(this).attr('data-tracking')) {
     163                params['tracking-id'] = $(this).attr('data-tracking');
     164            }
     165
     166            /**
     167             * Add query parameters if distribution tracking is enabled
     168             */
     169
     170            // Overwrite tracking-id if set in URL
     171            if (Cookies.get('affiliate')) {
     172                params['tracking-id'] = Cookies.get('affiliate');
     173            }
     174
     175            openShowpassWidget(slug, params);
     176        });
     177
     178        $('body').on('click', '.open-ticket-widget', function (e) {
     179            e.preventDefault();
     180
     181            let slug = $(this).attr('id');
     182            let params = getParams(this);
     183
     184            if ($(this).attr('data-tracking')) {
     185                params['tracking-id'] = $(this).attr('data-tracking');
     186            }
     187
     188            /**
     189             * Add query parameters if distribution tracking is enabled
     190             */
     191
     192            // Overwrite tracking-id if set in URL
     193            if (Cookies.get('affiliate')) {
     194                params['tracking-id'] = Cookies.get('affiliate');
     195            }
     196
     197            openShowpassWidget(slug, params);
    201198
    202199        });
    203200
    204201        $('.showpass-cart-button').on('click', function(e) {
    205             e.preventDefault();
    206             showpass.tickets.checkoutWidget({
    207                 'theme-primary': $('#option_widget_color').val() || '',
    208                 'keep-shopping': $('#option_keep_shopping').val() || 'true',
    209                 'theme-dark': $('#option_theme_dark').val() || '',
    210                 'show-description': $('#option_show_widget_description').val() || 'false'
    211             });
    212         });
    213 
    214         if ($(this).attr('data-eyereturn')) {
    215             params['show-eyereturn'] = $(this).attr('data-eyereturn');
    216         }
     202            e.preventDefault();
     203            let params = getParams(this);
     204            showpass.tickets.checkoutWidget(params);
     205        });
    217206
    218207        if (Cookies.get('cart')) {
     
    244233            var slug = $(this).val();
    245234            if (slug != '') {
    246                 var params = {
    247                     'theme-primary': $(this).attr('data-color') || $('#option_widget_color').val(),
    248                     'keep-shopping': $(this).attr('data-shopping') || $('#option_keep_shopping').val() || true,
    249                     'theme-dark': $(this).attr('data-theme') || $('#option_theme_dark').val(),
    250                     'show-description': $(this).attr('data-show-description') || $('#option_show_widget_description').val() || 'false'
    251                 };
     235                let params = getParams(this);
    252236
    253237                if (Cookies.get('affiliate')) {
     
    281265    mutationObserver.observe(document.documentElement, { attributes: true });
    282266
    283 })(jQuery);
     267})(jQuery, window, document);
  • showpass/trunk/showpass-wordpress-custom-api.php

    r2440100 r2515969  
    99if (! defined('ABSPATH')) {
    1010    exit;
     11}
     12
     13function create_showpass_api_success_response ($slug) {
     14    $response = [
     15        'slug' => $slug,
     16        'shortcode' => generate_showpass_buy_now_button_shortcode($slug)
     17    ];
     18    return $response;
    1119}
    1220
     
    5967        'venue'         => 5511,
    6068        'location'      => 12903,
    61         'starts_on'     => '2021-07-01T18:00:00Z',
    62         'ends_on'       => '2021-07-01T20:00:00Z',
     69        'starts_on'     => '2022-07-01T18:00:00Z',
     70        'ends_on'       => '2022-07-01T20:00:00Z',
    6371        'timezone'      => 'Canada/Mountain',
    6472        'visibility'    => 2,
     
    7785        'body'          => $body,
    7886        'data_format'   => 'body'
    79   ));
     87    ));
    8088
    81   $response_code = wp_remote_retrieve_response_code( $request );
     89    $response_code = wp_remote_retrieve_response_code( $request );
    8290
    8391    if ( $response_code !== 201 ) {
     
    8593    } else {
    8694        $data = json_decode($request['body']);
    87         return rest_ensure_response( $data->slug );
     95        $response = create_showpass_api_success_response($data->slug);
     96        return wp_send_json_success( $response, $status_code = 200 );
    8897    }
    8998}
     
    97106    $isShowpassEvent = strpos($validURL, 'showpass.com') !== false;
    98107
    99 
    100108    if ($validURL && $isShowpassEvent) {
    101     // If the url is valid and showpass return slug
     109        // If the url is valid and showpass return slug
    102110        $splitURL = explode('/', $url);
    103111        $slug = $splitURL[3];
    104         return rest_ensure_response($slug);
     112        $attr['slug'] = $slug;
     113        $response = create_showpass_api_success_response($slug);
     114        return wp_send_json_success( $response, $status_code = 200 );
    105115    } else if ($validURL && !$isShowpassEvent) {
    106     // If the url is valid and NOT showpass create event
     116        // If the url is valid and NOT showpass create event
    107117        return create_showpass_event($url);
    108118    } else {
    109119        return rest_ensure_response(wp_send_json_error('Error: Invalid URL provided, please enter a valid URL', $status_code = 400));
    110120  }
    111 
    112121}
  • showpass/trunk/showpass-wordpress-plugin-admin-page.php

    r2441919 r2515969  
    3232        <input type="text" placeholder="g:iA" name="format_time"
    3333            value="<?php echo esc_attr( get_option('format_time') ); ?>" /><br /><br />
    34         */ ?>
    3534
    3635        <input type="checkbox" name="option_theme_dark" value="true"
    3736            <?php checked('true', get_option('option_theme_dark'), true); ?> />
    3837        <label for="main_api_url">Enable Dark Theme</label><br /><br />
     38        */ ?>
     39
     40        <label for="option_showpass_default_button_class">Default Button Class</label><br />
     41        <input type="text" placeholder="" name="option_showpass_default_button_class"
     42            value="<?php echo esc_attr( get_option('option_showpass_default_button_class') ); ?>" /><br />
     43        <small>If your theme has custom button classes, add them here. Example: btn btn-success</small>
     44        <br /><br />
    3945
    4046        <input type="checkbox" name="option_keep_shopping" value="false"
  • showpass/trunk/showpass-wordpress-plugin-shortcode.php

    r2510285 r2515969  
    99define('SHOWPASS_API_PUBLIC_EVENTS', SHOWPASS_API_URL . '/public/events');
    1010define('SHOWPASS_API_PUBLIC_PRODUCTS', SHOWPASS_API_URL . '/public/products');
     11define('DEFAULT_BUTTON_VERBIAGE', 'Get Tickets');
    1112
    1213/* making connection and taking the data from API */
     
    2728    return wp_remote_retrieve_body($response);
    2829  }
     30}
     31
     32function generate_showpass_buy_now_button_shortcode ($slug) {
     33    if (get_option('option_showpass_default_button_class')) {
     34        $classes = sprintf('class="%s"', get_option('option_showpass_default_button_class'));
     35    } else {
     36        $classes = "";
     37    }
     38    $shortcode = sprintf('[showpass_widget slug="%s" label="%s" %s]', $slug, DEFAULT_BUTTON_VERBIAGE, $classes);
     39    return $shortcode;
    2940}
    3041
     
    631642
    632643  // white arrows
     644  if (isset($atts['show'])) {
     645    $show_all = $atts["show"];
     646  } else {
     647    $show_all = false;
     648  }
     649
     650  // white arrows
    633651  if (isset($atts['hide_view_select'])) {
    634652    $hide_view_select = $atts["hide_view_select"] === 'true' ? true : false;
     
    706724  $html .= "<input type='hidden' id='only-parents' value='" . $only_parents . "' />";
    707725  $html .= "<input type='hidden' id='hide-children' value='" . $hide_children . "' />";
     726  $html .= "<input type='hidden' id='show-all' value='" . $show_all . "' />";
    708727
    709728  if (isset($month_enable)) {
     
    767786            $label = $atts['label'];
    768787        } else {
    769             $label = 'Get Tickets';
     788            $label = DEFAULT_BUTTON_VERBIAGE;
    770789        }
    771790
     
    778797        $style = '';
    779798
    780         if (isset($atts['class'])) {
     799        if (isset($atts['class']) && isset($atts['class']) != "") {
    781800            $class = $atts['class'];
     801            $include_icon = false;
     802        } else if (get_option('option_showpass_default_button_class')) {
     803            $class = get_option('option_showpass_default_button_class');
     804            $include_icon = false;
    782805        } else {
    783806            if ($widget_color) {
     
    785808            }
    786809            $class = 'showpass-button';
     810            $include_icon = true;
    787811        }
    788812
     
    822846                .'<a '
    823847                .sprintf('id="%s" ', $slug)
    824                 .sprintf('class="open-ticket-widget %s" ', $class)
    825                 .sprintf('data-color="%s" ', $widget_color)
    826                 .sprintf('data-shopping="%s" ', $keep_shopping)
    827                 .sprintf('data-theme="%s" ', $theme_dark)
    828                 .sprintf('data-distribution="%s" ', $distribution_partner)
    829                 .sprintf('data-show-description="%s" ', $show_description);
     848                .sprintf('class="open-ticket-widget %s" ', $class);
    830849
    831850        if ($tracking) {
     
    833852        }
    834853
    835         if (get_option('option_showpass_distribution_tracking')) {
    836             $distribution_tracking = get_option('option_showpass_distribution_tracking');
    837             $button .= sprintf('data-distribution-tracking="%s" ', $distribution_tracking);
    838         }
    839 
    840         if (!isset($atts['label']) || !isset($atts['class'])) {
    841             $button .='"><i class="fa fa-ticket" style="margin-right: 10px;"></i>';
    842         } else {
    843             $button .='">';
     854        if ($include_icon) {
     855            $button .='><i class="fa fa-ticket" style="margin-right: 10px;"></i>';
     856        } else {
     857            $button .='>';
    844858        }
    845859
     
    969983  echo '<input type="hidden" id="option_theme_dark" value="'.get_option('option_theme_dark').'">';
    970984  echo '<input type="hidden" id="option_widget_color" value="'.get_option('option_widget_color').'">';
     985  echo '<input type="hidden" id="option_showpass_distribution_tracking" value="'.get_option('option_showpass_distribution_tracking').'">';
    971986}
    972987
  • showpass/trunk/showpass-wordpress-plugin.php

    r2510285 r2515969  
    55     Description: List events, display event details and products. Use the Showpass purchase widget for on site ticket & product purchases all with easy to use shortcodes. See our git repo here for full documentation. https://github.com/showpass/showpass-wordpress-plugin
    66     Author: Showpass / Up In Code Inc.
    7      Version: 3.5.8
     7     Version: 3.6.0
    88     Author URI: https://www.showpass.com
    99     */
     
    2626    add_shortcode( 'showpass_events', 'showpass_get_event_data' );
    2727    add_shortcode( 'showpass_products', 'showpass_get_product_data' );
    28     add_shortcode('showpass_calendar','showpass_display_calendar');
    29     add_shortcode('showpass_widget', 'showpass_widget_expand');
     28    add_shortcode( 'showpass_calendar','showpass_display_calendar');
     29    add_shortcode( 'showpass_widget', 'showpass_widget_expand');
    3030    add_shortcode( 'showpass_pricing_table', 'wpshp_get_pricing_table' );
    3131});
     
    5050    register_setting('wpshp-settings-group', 'option_showpass_access_token');
    5151    register_setting('wpshp-settings-group', 'option_showpass_distribution_tracking');
     52    register_setting('wpshp-settings-group', 'option_showpass_default_button_class');
    5253}
    5354
     
    6364@include('showpass-wordpress-plugin-blocks.php');
    6465@include('showpass-wordpress-custom-api.php');
     66@include('showpass-wordpress-edit-section.php');
Note: See TracChangeset for help on using the changeset viewer.